搜索
您的当前位置:首页正文

一种基于深度学习BERT算法的短文本相似匹配的方法[发明专利]

来源:汇意旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 110287494 A(43)申请公布日 2019.09.27

(21)申请号 201910583223.8(22)申请日 2019.07.01

(71)申请人 济南浪潮高新科技投资发展有限公

地址 250100 山东省济南市高新区孙村镇

科航路2877号研发楼一楼(72)发明人 尹青山 李锐 于治楼 (74)专利代理机构 济南信达专利事务所有限公

司 37100

代理人 陈婷婷(51)Int.Cl.

G06F 17/27(2006.01)G06N 3/04(2006.01)G06N 3/08(2006.01)G06K 9/62(2006.01)

权利要求书1页 说明书4页 附图1页

(54)发明名称

一种基于深度学习BERT算法的短文本相似匹配的方法(57)摘要

本发明公开了一种基于深度学习BERT算法的短文本相似匹配的方法,属于人工智能技术领域,该方法的实现过程如下:1)、使用公共数据集和短文本进行BERT训练,得到训练好的BERT模型;2)、对待匹配短文本进行分词处理;3)、将步骤2)得到的分词处理后的短文本输入到步骤1)得到的BERT模型中,获取到短文本的特征向量;4)、使用余弦相似度算法得到相似匹配短文本。本发明使用预训练的BERT模型来进行短文本相似匹配,较之前的文本相似匹配方法具有更好的表现。CN 110287494 ACN 110287494 A

权 利 要 求 书

1/1页

1.一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于该方法的实现过程如下:

1)、使用公共数据集和短文本进行BERT训练,得到训练好的BERT模型;2)、对待匹配短文本进行分词处理;3)、将步骤2)得到的分词处理后的短文本输入到步骤1)得到的BERT模型中,获取到短文本的特征向量;

4)、使用余弦相似度算法得到相似匹配短文本。

2.根据权利要求1所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于所述使用公共数据集和短文本进行BERT训练包括句子中词之间的关系训练和句子之间的关系训练。

3.根据权利要求2所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于所述句子中词之间的关系训练方式为:

随机遮住部分单词作为训练样本,其中80%用masked token来代替、10%用随机的一个词来替换、10%保持这个词不变。

4.根据权利要求3所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于所述部分单词为15%。

5.根据权利要求2或3或4所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于句子之间的关系训练方式为:

预训练一个二分类模型,正样本和负样本比例是1:1,正样本为给定句子A和B,B是A的实际语境下一句;负样本为在语料库中随机选择的句子作为B。

6.根据权利要求1所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于对待匹配短文本进行分词处理包括去除文本停顿词和去除链接。

7.根据权利要求6所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于用分词工具对短文本进行分词化处理,利用基于统计的分词方法,使用分词词典来对短文本进行字符串匹配分词的同时,使用隐马尔科夫模型识别一些新词,对短文本进行分割。

8.根据权利要求1所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于将分词处理后的短文本输入到训练好的BERT模型中,BERT模型通过查询字向量表将短本中的每个字转换为一维向量,作为模型输入;模型输出则是输入各字对应的融合全文语义信息后的向量表示。

9.根据权利要求8所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于模型输入还包含文本向量和位置向量,

文本向量:该向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合;

位置向量:由于出现在文本不同位置的字/词所携带的语义信息存在差异,因此,BERT模型对不同位置的字/词分别附加一个不同的向量以作区分。

10.根据权利要求1所述的一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于使用余弦相似度算法得到相似匹配短文本,对目标短文本与其他短文本分布进行余弦相似度计算,取相似度最高的文本作为目标文本的相似匹配文本。

2

CN 110287494 A

说 明 书

1/4页

一种基于深度学习BERT算法的短文本相似匹配的方法

技术领域

[0001]本发明涉及人工智能技术领域,具体地说是一种基于深度学习BERT算法的短文本相似匹配的方法。

背景技术

[0002]在自然语言处理过程中,经常会涉及到如何度量两个短文本之间的相似性,文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性。如果能得到文本之间相似性的度量方式,我们便可以利用划分法的K-means、基于密度的DBSCAN或者是基于模型的概率方法进行文本之间的聚类分析;另一方面,我们也可以利用文本之间的相似性对大规模语料进行去重预处理,或者找寻某一实体名称的相关名称(模糊匹配)。而衡量两个字符串的相似性有很多种方法,如最直接的利用hashcode,以及经典的主题模型或者利用词向量将文本抽象为向量表示,再通过特征向量之间的欧式距离或者皮尔森距离进行度量。随着人工智能的快速发展,现不断踊现出了新的算法和模型,以更好、更高效的实现深度学习的计算,短文本相似匹配对于文本分析和语料处理起着重要的作用,如何在快速更新的计算环境下,提升短文本相似匹配的效率,具有重要的意义。发明内容

[0003]本发明的技术任务是针对以上不足之处,提供一种基于深度学习BERT算法的短文本相似匹配的方法,使用预训练的模型来进行短文本的相似匹配,具有更好的应用效果。[0004]本发明解决其技术问题所采用的技术方案是:

[0005]一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于该方法的实现过程如下:[0006]1)、使用公共数据集和短文本进行BERT训练,得到训练好的BERT模型;[0007]2)、对待匹配短文本进行分词处理;[0008]3)、将步骤2)得到的分词处理后的短文本输入到步骤1)得到的BERT模型中,获取到短文本的特征向量;[0009]4)、使用余弦相似度算法得到相似匹配短文本。[0010]BERT是一种预训练语言表示的方法,在大量文本语料(维基百科)上训练了一个通用的“语言理解”模型,然后用这个模型去执行想做的NLP任务。BERT比之前的方法表现更出色,因为它是第一个用在预训练NLP上的无监督的、深度双向系统。我们使用预训练的BERT模型来进行短文本相似匹配具有更好的表现。[0011]BERT将随机的mask输入序列的词,目标就是利用上下文信息(相对于传统自左向右的语言模型,mask model可以同时使用masked词左右上下文进行预测)预测被mask的词。同时利用masked左右的上下文信息是通过Transformer的双向encoder来实现。这样既可以解决“语言模型是单向的”限制。此外,BERT模型引入“预测是否为下一句”的任务,来共同学习pre-trained representations。

3

CN 110287494 A[0012]

说 明 书

2/4页

具体的,所述使用公共数据集和短文本进行BERT训练包括句子中词之间的关系训

练和句子之间的关系训练。[0013]其中,所述句子中词之间的关系训练方式为:[0014]随机遮住部分单词作为训练样本,其中80%用masked token来代替、10%用随机的一个词来替换、10%保持这个词不变。[0015]优选的,所述部分单词为15%,即随机遮住15%单词作为训练样本,而模型需要较多的训练步骤进行收敛。[0016]进一步的,句子之间的关系训练方式为:[0017]预训练一个二分类模型,正样本和负样本比例是1:1,正样本为给定句子A和B,B是A的实际语境下一句;负样本为在语料库中随机选择的句子作为B。[0018]优选的,对待匹配短文本进行分词处理包括去除文本停顿词和去除链接。[0019]具体的,对待匹配短文本进行分词处理,用分词工具对短文本进行分词化处理,利用基于统计的粉刺方法,使用分词词典来对短文本进行字符串匹配分词的同时,使用隐马尔科夫模型识别一些新词,对短文本进行分割。[0020]具体的,将分词处理后的短文本输入到训练好的BERT模型中,BERT模型通过查询字向量表将短本中的每个字转换为一维向量,作为模型输入;模型输出则是输入各字对应的融合全文语义信息后的向量表示。[0021]进一步的,模型输入还包含文本向量和位置向量,[0022]文本向量:该向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合;[0023]位置向量:由于出现在文本不同位置的字/词所携带的语义信息存在差异,因此,BERT模型对不同位置的字/词分别附加一个不同的向量以作区分。[0024]BERT模型将字向量、文本向量和位置向量的加和作为模型输入,模型输出由字/词向量转换而来的文本向量能够包含更为准确的语义信息。[0025]优选的,使用余弦相似度算法得到相似匹配短文本,对目标短文本与其他短文本分布进行余弦相似度计算,取相似度最高的文本作为目标文本的相似匹配文本。

[0026]本发明的一种基于深度学习BERT算法的短文本相似匹配的方法与现有技术相比,具有以下有益效果:

[0027]使用BERT模型进行衡量两个字符串的相似性较之前的直接利用hashcode、经典的主题模型或利用词向量将文本抽象为向量表示,再通过特征向量之间的欧氏距离或皮尔森距离度量的方式相比,BERT方法表现更加出色,它是第一个用在预训练NLP上的无监督的、深度双向系统,所以使用预训练的BERT模型来进行短文本相似匹配具有更好的表现,可以很大的提升匹配准确度,提高短文本相似匹配的效率,更好的实现自然语言处理中的文本分析和语料处理。

附图说明

[0028]图1是本发明的基于深度学习BERT算法的短文本相似匹配的方法的流程示意图;[0029]图2是实施例中BERT算法的次关系训练示例图。

4

CN 110287494 A

说 明 书

3/4页

具体实施方式

[0030]下面结合具体实施例对本发明作进一步说明。

[0031]一种基于深度学习BERT算法的短文本相似匹配的方法,其特征在于该方法的实现过程如下:[0032]1)、使用公共数据集和短文本进行BERT训练,得到训练好的BERT模型;[0033]2)、对待匹配短文本进行分词处理;[0034]3)、将步骤2)得到的分词处理后的短文本输入到步骤1)得到的BERT模型中,获取到短文本的特征向量;[0035]4)、使用余弦相似度算法得到相似匹配短文本。[0036]BERT是一种预训练语言表示的方法,在大量文本语料(维基百科)上训练了一个通用的“语言理解”模型,然后用这个模型去执行想做的NLP任务。BERT比之前的方法表现更出色,因为它是第一个用在预训练NLP上的无监督的、深度双向系统。我们使用预训练的BERT模型来进行短文本相似匹配具有更好的表现。[0037]BERT将随机的mask输入序列的词,目标就是利用上下文信息(相对于传统自左向右的语言模型,mask model可以同时使用masked词左右上下文进行预测)预测被mask的词。同时利用masked左右的上下文信息是通过Transformer的双向encoder来实现。这样既可以解决“语言模型是单向的”限制。此外,BERT模型引入“预测是否为下一句”的任务,来共同学习pre-trained representations。[0038]其中,所述使用公共数据集和短文本进行BERT训练包括句子中词之间的关系训练和句子之间的关系训练。[0039]句子中词之间的关系训练方式为:[0040]随机遮住15%单词作为训练样本,其中80%用masked token来代替、10%用随机的一个词来替换、10%保持这个词不变。[0041]以“武则天是中国的第一个女皇帝。”这句话为例,如图2所示,[0042]选中“则”的位置,遮住“则”作为训练样本;[0043]对于被遮住的“则”,其中80%用masked token来代替:[0044]“武[mask]天是中国的第一个女皇帝。”;[0045]其中10%保持这个词不变:

[0046]“武则天是中国的第一个女皇帝。”;[0047]其中10%用随机的一个词来替换:[0048]“武宗天是中国的第一个女皇帝。”;[0049]预测“则”的位置:[0050]则則王正周应宗常承当[0051]0.999 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0[0052]被遮住的部分选择80%用masked token来代替,以避免100%用[mask]代替选中的词而导致的fine tuning时模型可能会出现一些没见过的词,故其中10%保持这个词不变;其中10%用随机的一个词来替换意在Transformer要保持对每个输入token分布式的表征,否则Transformer很可能会记住这个[MASK]就是\"则\"。[0053](其余部分的训练同上,可通过多次训练进行模型的收敛。)

5

CN 110287494 A[0054]

说 明 书

4/4页

句子之间的关系训练方式为:

[0055]预训练一个二分类模型,正样本和负样本比例是1:1,正样本为给定句子A和B,B是A的实际语境下一句;负样本为在语料库中随机选择的句子作为B。[0056]很多重要的下游任务基于对两个文本句子之间关系的理解,如问答(QA)和自然语言推断(NLI),这种关系并非通过语言建模直接获得。为了训练一个理解句子关系的模型,预训练了一个二值化下一句预测任务,该任务可以从任意单语语料库中轻松生成。具体来说,选择句子A和B作为预训练样本:B有50%的可能是A的下一句,也有50%的可能是来自语料库的随机句子。[0057]其中,对待匹配短文本进行分词处理包括去除文本停顿词和去除链接。[0058]对待匹配短文本进行分词处理,用分词工具对短文本进行分词化处理,利用基于统计的分词,使用分词词典来对短文本进行字符串匹配分词的同时,使用隐马尔科夫模型识别一些新词,对短文本进行分割。[0059]例如:文本库格式为两两对应的两篇文本(格式为“id”、“text-a”、“text-b”),其中,text-a是类似“什么是私人健康保险?”、“私人健康保险是什么?”等之类近似的短文本,而text-b则是相对应的文本,在上例text-a中,text-b则是告诉用户私人健康保险是什么的文本。利用“jieba”分词,对文本库中的每一个样本进行分词。分词过程中,需要先将诸如标点符号以及无用词等没有具体意义的停用词去除,保证分词效果和速度,其次按照用户词典进行分词,确保能提取出专有的名词。上例中,可以把“私人健康保险”看做一个专有名词,而非将其分成“私人、健康、保险”三个词。针对于“什么是私人健康保险?”,则会被转为“什么”“是”“私人健康保险”。

[0060]将分词处理后的短文本输入到训练好的BERT模型中,获取到短文本的特征向量:[0061]将分词处理后的短文本输入到训练好的BERT模型中,BERT模型通过查询字向量表将短本中的每个字转换为一维向量,作为模型输入;模型输出则是输入各字对应的融合全文语义信息后的向量表示;[0062]此外,模型输入除了字向量,还包含另外两个部分:1、文本向量:该向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合;2、位置向量:由于出现在文本不同位置的字/词所携带的语义信息存在差异(比如:“我爱你”和“你爱我”),因此,BERT模型对不同位置的字/词分别附加一个不同的向量以作区分;

[0063]BERT模型将字向量、文本向量和位置向量的加和作为模型输入,因此模型输出由字/词向量转换而来的文本向量能够包含更为准确的语义信息。[0064]使用余弦相似度算法得到相似匹配短文本,对目标短文本与其他短文本分布进行余弦相似度计算,取相似度最高的文本作为目标文本的相似匹配文本。[0065]通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。[0066]除说明书所述的技术特征外,均为本专业技术人员的已知技术。

6

CN 110287494 A

说 明 书 附 图

1/1页

图1

图2

7

因篇幅问题不能全部显示,请点此查看更多更全内容

Top