一种短文本相似度计算系统及其训练方法技术方案

技术编号:24331252 阅读:29 留言:0更新日期:2020-05-29 19:40
本申请公布了一种短文本相似度计算系统及其训练方法,所述系统包含以下模块:文本切分模块、文本编码器、文本相似度计算神经网络模块。本申请的短文本相似度计算系统,对需要计算相似度的两个短文本编码使用相同的编码器,再使用注意力机制得到第一个文本对第二个文本的注意力,归一化注意力得到相似度的值。本申请的神经网络有效利用了文本中词语在上下文的语义编码以及文本整体的语义编码,使用注意力来表征相似度,缓解了文本级语义编码的信息损失,避免了词语级语义编码孤立于上下文的问题。

A short text similarity computing system and its training method

【技术实现步骤摘要】
一种短文本相似度计算系统及其训练方法
本申请涉及文本挖掘和深度学习
,尤其涉及一种短文本相似度计算系统及其训练方法。
技术介绍
短文本相似度计算广泛应用于问答系统、文本分类、文本聚类。常见的文本相似度计算方法有:以词为文本的基本单元计算Levenshtein编辑距离、把文本当作字词的集合并基于词义或词向量来计算文本的相似度、使用深度神经网络得到文本整体的编码并基于文本级编码向量来计算相似度。上述基于字词的方法忽视了字词在不同上下文的多义性,而基于文本级编码的方法存在语义信息损失的问题。
技术实现思路
本申请的目的是提供一种短文本相似度计算系统,对需要计算相似度的两个文本的词语序列以及文本整体进行编码,使用注意力机制计算第一文本词语序列编码对第二文本整体编码的注意力,归一化注意力得到相似度的值。为实现上述目的,本申请采取以下技术方案:根据本申请的第一个方面,提供了一种短文本相似度计算系统,包含以下模块:文本切分模块;文本编码器;文本相似度计算神经网络模块。以上模块的详细描述如下:文本切分模块:将文本切分为token的序列,token既可以是字也可以是词,本申请中的token是字;在序列的开头处拼接上[BOS]标记、结尾处拼接上[EOS]标记,其中[BOS]表示文本开头,[EOS]表示文本结尾。文本编码器:用于将文本编码为token序列的向量表示。目前流行的文本编码器有ALBERT、ELMo、LSTM等,本申请使用ALBERT,也支持其他能对字词序列编码的序列模型。对于得到的token序列的编码,取[BOS]对应的向量为文本整体的编码向量。文本相似度计算神经网络模块:对于给定的两个文本,将这两个文本的相似度表示为S(text1,text2),将第一文本编码对第二文本编码的注意力表示为attention(text1,text2),其中text1表示第一文本,text2表示第二文本。相似度计算方法如下:S(text1,text2)=attention(text1,text2)第一文本编码对第二文本编码的注意力为第一文本中所有token对第二文本的注意力的平均。计算方法如下:attention(text1,text2)=sum(sigmoid(attention(token,text2)))/length(text1)其中attention(token,text2)为第一文本经编码得到与上下文语境相关的token向量对第二文本整体编码向量的注意力,length(text1)为第一文本中token的个数。所述文本相似度计算神经网络模块包括:第一两层前馈网络,将第一文本token的向量矩阵变换为注意力机制的query,其中第一层神经元使用relu作为激活函数,第二层不使用激活函数;第二两层前馈网络,将第二文本的向量矩阵变换为注意力机制的key,所述key与第一两层前馈网络得到的query具有相同的维度,所述第二两层前馈网络的第一层神经元使用relu作为激活函数,第二层神经元不使用激活函数。根据本申请的第二个方面,提供了一种短文本相似度计算系统的训练方法,其特征在于,包含以下步骤:S1、接收训练数据,包括给定的第一文本text1和第二文本text2,以及是否相似的二分类标签0或1,其中0为不相似,1为相似;S2、以50%的概率随机交换第一文本和第二文本;S3、使用所述文本切分模块将第一文本text1切分为token序列;并在序列的开头处拼接上[BOS]标记、结尾处拼接上[EOS]标记,其中[BOS]表示文本开头,[EOS]表示文本结尾;S4、使用所述文本切分模块将第二文本text2切分为token序列;并在序列的开头处拼接上[BOS]标记、结尾处拼接上[EOS]标记,其中[BOS]表示文本开头,[EOS]表示文本结尾;S5、使用文本编码器对text1编码得到第一文本每个token在上下文中的编码;S6、使用第一两层前馈网络变换token的编码为注意力机制的query;S7、使用文本编码器对text2编码并取[BOS]对应的编码作为第二文本的编码;S8、使用第二两层前馈网络变换第二文本的编码为注意力机制的key;S9、使用矩阵乘法计算第一文本每个token对第二文本的注意力,使用sigmoid将注意力归一化;S10、将第一文本所有token对第二文本的注意力求平均得到第一文本对每二文本的注意力作为相似度;S11、根据真实的相似分类标签和预测的相似度计算交叉熵损失;S12、使用adam优化器通过降低分类交叉熵损失来优化神经网络的参数。根据本申请的第三个方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现如第一方面所述的方法。根据本申请的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的方法。本申请由于采取以上技术方案,其具有以下优点:有效利用了文本中词语在上下文的语义编码以及文本整体的语义编码,使用注意力来表征相似度,缓解了文本级语义编码的信息损失,避免了词语级语义编码孤立于上下文的问题。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本申请的神经网络系统结构图;图2是本申请的模型训练流程图。图3示出了本申请一实施例所提供的一种电子设备的结构示意图;图4示出了本申请一实施例所提供的一种计算机介质的示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本申请公布了一种短文本相似度计算系统及其训练方法,使用相同的编码器对需要计算相似度的两个短文本编码,再使用注意力机制得到第一个文本对第二个文本的注意力,归一化注意力得到相似度的值。请参阅图1,如图1所示,文本相似度计算神经网络的具体说明如下:文本编码器101将第一文本和第二文本编码为词例(token)序列的向量矩阵,将第二文本[BOS]标记对应的向量作为第二文本整体的编码。两层前馈网络102将第一文本token的向量矩阵变换为注意力机制的查询(query),其中第一层神经元使用relu作为激活函数,第二层不使用激活函数。两层前馈网络103将第二文本整体的编码向量变本文档来自技高网...

【技术保护点】
1.一种短文本相似度计算系统,其特征在于,包含以下模块:文本切分模块、文本编码器、文本相似度计算神经网络模块。/n

【技术特征摘要】
1.一种短文本相似度计算系统,其特征在于,包含以下模块:文本切分模块、文本编码器、文本相似度计算神经网络模块。


2.根据权利要求1所述的系统,其特征在于,
所述文本切分模块,用于将文本切分为token的序列;并在序列的开头处拼接上[BOS]标记、结尾处拼接上[EOS]标记,其中[BOS]表示文本开头,[EOS]表示文本结尾。


3.根据权利要求1或2所述的系统,其特征在于,
所述文本编码器,用于将文本编码为token序列的向量表示。


4.根据权利要求3所述的系统,其特征在于,
所述文本相似度计算神经网络模块,通过计算第一文本编码对第二文本编码的注意力,将注意力归一化得到两个文本的相似度。


5.根据权利要求4所述的系统,其特征在于,
所述相似度的计算方法如下:
S(text1,text2)=attention(text1,text2)
其中S(text1,text2)表示两个文本的相似度,attention(text1,text2)表示第一文本编码对第二文本编码的注意力,text1表示第一文本,text2表示第二文本。


6.根据权利要求4或5所述的系统,其特征在于,
所述第一文本编码对第二文本编码的注意力为第一文本中所有token对第二文本的注意力归一化后的平均:
attention(text1,text2)=sum(sigmoid(attention(token,text2)))/length(text1)
其中attention(token,text2)为第一文本经编码得到与上下文语境相关的token向量对第二文本向量的注意力,length(text1)为第一文本中token的个数。


7.根据权利要求4或5所述的系统,其特征在于,
所述文本相似度计算神经网络模块包括:
第一两层前馈网络,将第一文本token的向量矩阵变换为注意力机制的query,其中第一层神经元使用relu作为激活函数,第二层不使用激活函数;
第二两层前馈网络,将第二文本的向量矩阵变换为注意力机制...

【专利技术属性】
技术研发人员:王丙栋游世学
申请(专利权)人:铜陵中科汇联科技有限公司
类型:发明
国别省市:安徽;34

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

1