一种字词多粒度混合的中文语言模型预训练方法技术

技术编号:36335235 阅读:12 留言:0更新日期:2023-01-14 17:47
本发明专利技术提供一种字词多粒度混合的中文语言模型预训练方法,包括以下步骤:对输入的文本text进行字粒度切分和词粒度切分,分别得到字序列和词序列;对词序列中的某个词进行屏蔽,对字序列中对应字进行屏蔽;经向量化和编码后,采用四种预训练任务,计算总损失函数。本发明专利技术结合字和词两种粒度,提出包含字和词的新的中文语言模型预训练任务,通过将二者融合提升预训练模型效果。升预训练模型效果。升预训练模型效果。

【技术实现步骤摘要】
一种字词多粒度混合的中文语言模型预训练方法


[0001]本专利技术属于计算机自然语言处理
,具体涉及一种字词多粒度混合的中文语言模型预训练方法。

技术介绍

[0002]中文领域的预训练模型大多是基于字粒度构建词表,故而常用的预训练任务是基于字粒度构建,常见的模型包括:自回归语言模型(LM)、掩码语言模型(Maskedlanguagemodel,MLM)、Seq2SeqMLM(序列到序列模型)、排列语言模型(PLM)、NextSentencePrediction(下一句预测模型,NSP)、SentenceOrderPrediction(句子顺序预测模型,SOP)等。以上各种预训练任务更多的是从英文模型构建中直接继承过来,因此,通常是基于字级别进行的。基于字的预训练任务的缺点主要有:
[0003]一,使用字的预训练任务,无法有效引入词信息,而汉语中词信息往往比单字表意更加丰富;
[0004]二,使用单字会增加序列长度,而bert等预训练模型的计算复杂度为O(N^2),其中的N就是序列长度,受计算时间的限制无法有效处理过长的序列,导致长序列性能出现瓶颈。另外,由于使用单字时的序列较长,导致模型计算时间增加,降低预训练任务的效率。

技术实现思路

[0005]针对现有技术存在的缺陷,本专利技术提供一种字词多粒度混合的中文语言模型预训练方法,可有效解决上述问题。
[0006]本专利技术采用的技术方案如下:
[0007]本专利技术提供一种字词多粒度混合的中文语言模型预训练方法,包括以下步骤:
[0008]步骤1,对输入的文本text进行字粒度切分,得到字序列seq_char_1;其中,字序列seq_char_1包括n个按序排列的字,分别表示为:字char1,字char2,

,字char
n

[0009]对输入的文本text进行词粒度切分,得到词序列seq_word_1;其中,词序列seq_word_1包括m个按序排列的词,分别表示为:词word1,词word2,

,词word
m

[0010]步骤2,在词序列seq_word_1中,随机选择词word
i
进行屏蔽,其中,i=1,2,

,m,得到屏蔽后的词序列,表示为:词序列seq_word_2;
[0011]假设词word
i
一共包括k个字;
[0012]在字序列seq_char_1中,将词word
i
分字后对应的k个字进行屏蔽,得到屏蔽后的字序列,表示为:字序列seq_char_2;
[0013]步骤3,将字序列seq_char_2中每个字进行向量化,得到字向量Embbeding_char;字序列seq_char_2中各个字的字向量Embbeding_char,组成字序列seq_char_2的字向量组合;
[0014]将词序列seq_word_2中每个词进行向量化,得到词向量Embbeding_word;词序列seq_word_2中各个词的词向量Embbeding_word,组成词序列seq_word_2的词向量组合;
[0015]步骤4,采用编码器,对字向量组合的每个字向量Embbeding_char进行编码,得到字编码向量v
char
;字向量组合的所有字编码向量v
char
,组成字编码向量矩阵 V
char

[0016]采用编码器,对词向量组合的每个词向量Embbeding_word进行编码,得到词编码向量v
word
;词向量组合的所有词编码向量v
word
,组成词编码向量矩阵V
word

[0017]步骤5,将字编码向量矩阵V
char
和词编码向量矩阵V
word
输入到预训练任务层,采用以下方法,计算得到总损失函数Loss


[0018]步骤5.1,预训练任务层包括字级别任务、词级别任务、字序列向量预测被屏蔽的词任务和词序列向量预测被屏蔽的字任务;
[0019]步骤5.2,通过字级别任务,采用以下公式,得到第一损失函数Loss1(x,θ):
[0020][0021]其中:
[0022]P(x
a
|V
char
)含义为:在字编码向量矩阵V
char
中,读出某个被预测的屏蔽字x
a
的向量,使读出的屏蔽字x
a
的向量与字典矩阵作乘法,得到概率矩阵;在该概率矩阵中,得到概率值最大值,即为P(x
a
|V
char
);其中,字典矩阵为字典中每个字的字向量Emb_Char形成的矩阵;
[0023]‑
log P(x
a
|V
char
):代表交叉熵计算,即:使用标准的交叉熵对P(x
a
|V
char
)进行计算,得到屏蔽字x
a
的损失值;
[0024]E():代表求平均计算;
[0025]具体含义为:对于k个屏蔽字,每个屏蔽字预测得到一个损失值;然后,对 k个屏蔽字的损失值求和,再除以k,得到平均损失值;
[0026]步骤5.3,通过词级别任务,采用以下公式,得到第二损失函数Loss2(x,θ):
[0027][0028]其中:
[0029]P(x
b
|V
word
)含义为:在词编码向量矩阵V
word
中,读出某个被预测的屏蔽词x
b
的向量,使读出的屏蔽词x
b
的向量与词典矩阵作乘法,得到概率矩阵;在该概率矩阵中,得到概率值最大值,即为P(x
b
|V
word
);其中,词典矩阵为词典中每个词的向量Emb_word形成的矩阵;g为词序列中被屏蔽的词的数量;
[0030]‑
log P(x
b
|V
word
):代表交叉熵计算,即:使用标准的交叉熵对P(x
b
|V
word
) 进行计算,得到屏蔽词x
b
的损失值;
[0031]步骤5.4,通过字序列向量预测被屏蔽的词任务,采用以下公式,得到第三损失函数Loss3(x,θ):
[0032][0033]其含义为:
[0034]在词序列中具有g个屏蔽词;对于每个被预测的屏蔽词x
b
,采用以下方法,得到其
上下文向量:
[0035]假设屏蔽词x
b
包括r个屏蔽字;
[0036]在字编码向量矩阵V char
中,定位到连续的屏蔽词x
...

【技术保护点】

【技术特征摘要】
1.一种字词多粒度混合的中文语言模型预训练方法,其特征在于,包括以下步骤:步骤1,对输入的文本text进行字粒度切分,得到字序列seq_char_1;其中,字序列seq_char_1包括n个按序排列的字,分别表示为:字char1,字char2,

,字char
n
;对输入的文本text进行词粒度切分,得到词序列seq_word_1;其中,词序列seq_word_1包括m个按序排列的词,分别表示为:词word1,词word2,

,词word
m
;步骤2,在词序列seq_word_1中,随机选择词word
i
进行屏蔽,其中,i=1,2,

,m,得到屏蔽后的词序列,表示为:词序列seq_word_2;假设词word
i
一共包括k个字;在字序列seq_char_1中,将词word
i
分字后对应的k个字进行屏蔽,得到屏蔽后的字序列,表示为:字序列seq_char_2;步骤3,将字序列seq_char_2中每个字进行向量化,得到字向量Embbeding_char;字序列seq_char_2中各个字的字向量Embbeding_char,组成字序列seq_char_2的字向量组合;将词序列seq_word_2中每个词进行向量化,得到词向量Embbeding_word;词序列seq_word_2中各个词的词向量Embbeding_word,组成词序列seq_word_2的词向量组合;步骤4,采用编码器,对字向量组合的每个字向量Embbeding_char进行编码,得到字编码向量v
char
;字向量组合的所有字编码向量v
char
,组成字编码向量矩阵V
char
;采用编码器,对词向量组合的每个词向量Embbeding_word进行编码,得到词编码向量v
word
;词向量组合的所有词编码向量v
word
,组成词编码向量矩阵V
word
;步骤5,将字编码向量矩阵V
char
和词编码向量矩阵V
word
输入到预训练任务层,采用以下方法,计算得到总损失函数Loss

:步骤5.1,预训练任务层包括字级别任务、词级别任务、字序列向量预测被屏蔽的词任务和词序列向量预测被屏蔽的字任务;步骤5.2,通过字级别任务,采用以下公式,得到第一损失函数Loss1(x,θ):其中:P(x
a
|V
char
)含义为:在字编码向量矩阵V
char
中,读出某个被预测的屏蔽字x
a
的向量,使读出的屏蔽字x
a
的向量与字典矩阵作乘法,得到概率矩阵;在该概率矩阵中,得到概率值最大值,即为P(x
a
|V
char
);其中,字典矩阵为字典中每个字的字向量Emb_Char形成的矩阵;

log P(x
a
|V
char
):代表交叉熵计算,即:使用标准的交叉熵对P(x
a
|V
char
)进行计算,得到屏蔽字x
a
的损失值;E():代表求平均计算;具体含义为:对于k个屏蔽字,每个屏蔽字预测得到一个损失值;然后,对k个屏蔽字的损失值求和,再除以k,得到平均损失值;步骤5.3,通过词级别任务,采用以下公式,得到第二损失函数Loss2(x,θ):其中:
P(x
b
|V
word
)含义为:在词编码向量矩阵V
word
中,读出某个被预测的屏蔽词x
b
的向量,使读出的屏蔽词x
b
的向量与词典矩阵作乘法,得到概率矩阵;在该概率矩阵中,得到概率值最大值,即为P(x
b
|V
word
);其中,词典矩阵为词典中每个词的向量Emb_word形成的矩阵;g为词序列中被屏蔽的词的数量;

log P(x
b
|V
word
):代表交叉熵计算,即:使用标准的交叉熵对P(x
b
|V
word
)进行计算,得到屏蔽词x
b
的损失值;步骤5.4,通过字序列向量预测被屏蔽的词任务,采用以下公式,得到第三损失函数Loss3(x,θ):其含义为:在词序列中具有g个屏蔽词;对于每个被预测的屏蔽词x
b
,采用以下方法,得到其上下文向量:假设屏蔽词x
b
包括r个屏蔽字;在字编码向量矩阵V
char
中...

【专利技术属性】
技术研发人员:庞帅战科宇曹延森王华英王礼鑫张欢
申请(专利权)人:中国搜索信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1