NLP中基于K-best算法和N-gram模型的BERT模型强化方法技术

技术编号:36529630 阅读:16 留言:0更新日期:2023-02-01 16:11
一种NLP中基于K

【技术实现步骤摘要】
NLP中基于K

best算法和N

gram模型的BERT模型强化方法


[0001]本专利技术涉及自然语言处理领域,具体涉及一种自然语言处理中基于K

best和N

gram的BERT模型强化方法。

技术介绍

[0002]随着自然语言处理NLP领域的不断发展,人们从传统的机器学习方法不断地在向深度学习方法探索。
[0003]近期谷歌提出的BERT(Bidirectional Encoder Representation from Transformers)预训练模型更是在自然语言处理领域的11个任务上大幅刷新了准确率的精度,成为了自然语言处理领域里程碑式的模型。
[0004]BERT模型的预训练通常将文本作为与小文本单元相对应的标记序列来处理,例如英文单词和中文字符。但是,它忽略了较大的文本粒度所携带的信息,因此编码器无法轻松适应某些字符组合。这会导致重要语义信息的丢失,这对于中文尤其成问题,因为中文没有明确的单词边界。
[0005]有内学者提出了一种多粒度BERT模型(On Sample Based Explanation Methods for NLP:Efficiency,Faithfulness,and Semantic Evaluation),以无监督的方式学习有效的多字符语言单元的表示形式,并且还通过对N

gram模型(N元模型)进行预训练作为对自我注意矩阵的隐式正则化,显示出了强大的可解释能力。尽管有效,但是这种多粒度BERT模型存在两个问题:1)它依赖于N

gram模型的枚举,这对于数量较大的枚举数量,可能消耗资源较多;2)它没有利用知识一词。
[0006]所以,BERT模型对单词的学习和理解能力还有不足,需要对BERT模型进行强化。

技术实现思路

[0007]针对现有技术所存在的上述缺点,本专利技术提供了一种NLP中基于K

best算法和N

gram模型的BERT模型强化方法。
[0008]本方法针对待匹配相似度的数据集:通过数据清洗预处理,去除标题、无关符号、空白行等,提升了数据的有效程度;采用三元语法输入代替字符输入,提升语句评估的合理性;采用pkuseg分词工具,提升了分词的准确率;同时,在分词中采用K

bset维特比算法,在提升分词有效率的基础上,使BERT模型对于有意义的分词结果赋予更多的注意力,从而加强模型对正确分词的理解能力,具有广泛的应用前景。
[0009]为实现本专利技术的目的,本专利技术提供了如下技术方案:
[0010]一种NLP中基于K

best算法和N

gram模型的BERT模型强化方法,其特征是包括以下步骤:
[0011]步骤1)获取语料库中的文本用于训练BERT模型,对文本行预处理,得到新文本;
[0012]步骤2)把步骤1)得到的新文本按照单字、双字、三字输入拼接得到三元语法输入;
[0013]步骤3)用分词工具,基于K

best维特比算法获取k个分词序列,进行mask掩码微
调;最终得到微调后的N

gram;
[0014]步骤4)将微调后的N

gram输入BERT模型中,进行文本相似度匹配;
[0015]所述步骤1)的步骤包括:
[0016]步骤101)对语料进行清洗;
[0017]步骤102)把语料的原始文本段落拆分,再分别将相邻两个句子拼接成一个句子组,最终得到新文本;同一句子组中,在第一个句子之前添加开始标识符“[CLS]”;分别在每个句子之后添加结束符“[SEP]”;
[0018]步骤103)将新文本切分成一个字符串input1;
[0019]所述步骤2)中,创建三元语法输入,步骤包括:
[0020]步骤201)对原字符串中的字符都左移一个单元,删除开始标识符[CLS],且末尾添加0,得到新的字符串,记为方法一;
[0021]按照方法一,对步骤103)所得字符串input1处理,得到字符串input2;定义字符串input1为uni

gram;
[0022]步骤202)将字符串input1和字符串input2相应位置字符进行拼接,第二个新字符串bi

gram;相应位置是指两个字符串中顺序相同的字符;
[0023]步骤203)对字符串input2按照方法一进行处理,得到字符串input3;
[0024]将字符串input1、input2和input3中的相应位置字符进行拼接,得到第三个新字符串tri

gram;相应位置是指三个字符串中顺序相同的字符;
[0025]步骤204)将字符串uni

gram、bi

gram和tri

gram从前到后,依次拼接得到三元语法输入;
[0026]所述步骤3)中,通过分词工具和K

best维特比算法进行微调,步骤包括:
[0027]步骤301)使用pkuseg分词工具,采用k最佳顺序解码即K

best维特比算法来扩展pkuseg:前向传递计算并存储维特比前向分数,这是从开始到当前节点的最佳分数,表示为其中d
t
是直到位置t的序列前缀的分数,前向传递计算并存储维特比前向分数,这是从开始到当前节点的最佳分数;j表示t

1位置的最优节点,dt

1(j,l)表示到t

1位置最优路线,e(i,j)表示t

1位置到目前的t位置最短路径。
[0028]步骤302)对步骤102)中生成的句子组,使用扩展的pkuseg分词工具进行分词,方法为:
[0029][0030]其中,node
t
(i,k)表示在位置t

1存储最佳的前k个节点,rank
t
(i,k)表示存储在到t

1的第k条路的序列;回溯时,两个变量node
t
(i,k)和rank
t
(i,k)一起回溯,一旦具有最佳k个节点,传递结束,即得到k个最佳分词序列,在该最佳分词序列中的词即为有效词;
[0031]步骤303)按照步骤302)得到的最佳分词序列,对步骤204)中的三元语法输入中的单词进行比较,用不同向量分别作为有效词和无效词的掩码;
[0032]将无效的三元语法输入嵌入归零,同时保留有效的三元语法输入;
[0033]步骤304)将各个单词进行编码,得到各个单词对应的向量,将各个单词对应的向量乘以对应的掩码,最终得到微调后的N

...

【技术保护点】

【技术特征摘要】
1.一种NLP中基于K

best算法和N

gram模型的BERT模型强化方法,其特征是包括以下步骤:步骤1)获取语料库中的文本用于训练BERT模型,对文本行预处理,得到新文本;步骤2)把步骤1)得到的新文本按照单字、双字、三字输入拼接得到三元语法输入;步骤3)用分词工具,基于K

best维特比算法获取k个分词序列,进行mask掩码微调;最终得到微调后的N

gram;步骤4)将微调后的N

gram输入BERT模型中,进行文本相似度匹配;所述步骤1)的步骤包括:步骤101)对语料进行清洗;步骤102)把语料的原始文本段落拆分,再分别将相邻两个句子拼接成一个句子组,最终得到新文本;同一句子组中,在第一个句子之前添加开始标识符“[CLS]”;分别在每个句子之后添加结束符“[SEP]”;步骤103)将新文本切分成一个字符串input1;所述步骤2)中,创建三元语法输入,步骤包括:步骤201)对原字符串中的字符都左移一个单元,删除开始标识符[CLS],且末尾添加0,得到新的字符串,记为方法一;按照方法一,对步骤103)所得字符串input1处理,得到字符串input2;定义字符串input1为uni

gram;步骤202)将字符串input1和字符串input2相应位置字符进行拼接,第二个新字符串bi

gram;相应位置是指两个字符串中顺序相同的字符;步骤203)对字符串input2按照方法一进行处理,得到字符串input3;将字符串input1、input2和input3中的相应位置字符进行拼接,得到第三个新字符串tri

gram;相应位置是指三个字符串中顺序相同的字符;步骤204)将字符串uni

gram、bi

gram和tri

gram从前到后,依次拼接得到三元语法输入;所述步骤3)中,通过分词工具和K

best维特比算法进行微调,步骤包括...

【专利技术属性】
技术研发人员:徐嘉昊张帆
申请(专利权)人:绍兴兰红智能科技有限公司
类型:发明
国别省市:

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

1