当前位置: 首页 > 专利查询>西藏大学专利>正文

一种基于神经网络的汉语语句相似度计算方法技术

技术编号:25480550 阅读:55 留言:0更新日期:2020-09-01 23:01
本发明专利技术提供的一种基于神经网络的汉语语句相似度计算方法,通过构建基于混合语义的编码器,使编码器的收敛速度加快,降低系统对训练语料数量的需求,进而降低系统发生数据过拟合的可能性;再构建语句相似度计算与分类模型实现汉语语句相似度的计算,计算结果准确率高,有效的缓解了现有的基于神经网络的文本相似度方案存在多领域中计算精度不一致的问题。

【技术实现步骤摘要】
一种基于神经网络的汉语语句相似度计算方法
本专利技术涉及面向自然语言处理
,更具体的,涉及一种基于神经网络的汉语语句相似度计算方法。
技术介绍
目前,计算单词或者语句的文本相似度方法可以分为四类[1]Y.Li,D.McLean,Z.A.Bandar,J.D.O'SheaandK.Crockett,"Sentencesimilaritybasedonsemanticnetsandcorpusstatistics,"inIEEETransactionsonKnowledgeandDataEngineering,vol.18,no.8,pp.1138-1150,Aug.2006.doi:10.1109/TKDE.2006.130,分别是基于单词共现计算文本相似度的方法、基于知识库数据计算文本相似度的方法、基于网络引擎计算文本相似度的方法和基于神经网络计算文本相似度的方法。基于单词共现计算相似度的方法[2]C.T.Meadow,B.R.Boyce,andD.H.Kraft,TextInformationRetrievalSystems,seconded.AcademicPress,2000是将查询文本作为集合,集合中的元素为字符或者单词,以集合元素的重合程度量化查询文本间的相似度,该类方法计算简洁,但由于无法计算查询文本间的语义相似度,导致该类方法的计算精度低。基于知识库的计算相似度的方法[3]P.W.Foltz,W.Kintsch,andT.K.Landauer,“TheMeasurementofTextualCoherencewithLatentSemanticAnalysis,”DiscourseProcesses,vol.25,nos.2-3,pp.285-307,1998将单词放于树状知识库中,利用单词子概念之间的最短路径长度,公共节点深度,概念密度等特征量化单词的相似度。知识库的规模、布局及更新速度直接影响该类方法的性能,由于本体知识库的搭建和更新需要语言领域专家的参与,所以知识库存在更新速度慢的缺点,导致该类方法的性能随着时间的推移而逐渐下降。同时,该类方法是基于文本的基础语义计算文本相似度,因此,相同的文本在不同的语句中计算的文本相似度相同,无法基于文本的具体语义计算文本的语义相关性,导致该类方法的计算精度在整体上不足以满足精细的NLP任务的要求。基于网络引擎的计算相似度的方法[4]CilibrasiRL,VitanyiPMB.TheGoogleSimilarityDistance[J].IEEETransactionsonKnowledgeandDataEngineering主要分为基于文本搜索共现页面和基于文本搜索共现窗口两种,不同的搜索引擎会导致不同的单词相似度结果,而且即使查询文本出现在一个页面中共同出现,也无法确定两个文本之间的相干关系,所以这种方法的计算精度难以满足用户的需求。基于神经网络计算相似度的方法利用文本的上下文特征计算文本在具体语句中的具体语义相关性,该类方法计算精度高,但是神经网络模型存在在多领域中计算精度不一致的问题,且当查询文本为字或单词时,由于查询文本缺少上下文信息特征,神经网络模型无法判断文本的具体语义,该类方法性能下降。综上所述,基于知识库的方法和基于神经网络的方法分别具有多领域计算精度一致和计算精度高的优点。但由于基于知识库的方案计算精度低和本体知识库更新速度慢的缺陷。目前,基于神经网络的文本相似度方案仍存在多领域中计算精度不一致的问题。
技术实现思路
本专利技术为克服现有的基于神经网络的文本相似度方案存在多领域中计算精度不一致的技术缺陷,提供一种基于神经网络的汉语语句相似度计算方法。为解决上述技术问题,本专利技术的技术方案如下:一种基于神经网络的汉语语句相似度计算方法,包括以下步骤:S1:将待处理的输入语句分别表示为第一语句预向量、第二语句预向量;S2:获取训练集数据,构建并训练基于混合语义的编码器;S3:将第一语句预向量、第二语句预向量分别输入两个相同的编码器中,处理得到对应的第一语句编码向量、第二语句编码向量;S4:构建语句相似度计算与分类模型;S5:将第一语句编码向量、第二语句编码向量输入语句相似度计算与分类模型中进行拼接、映射和归一化处理,得到类别概率向量;S6:取类别概率向量中的最大值的类别作为语句的分类结果并取类别概率向量的第二个值作为两个输入语句的相似度,完成汉语语句相似度的计算。其中,所述步骤S1具体为:根据《通用规范汉字表》的一级字表中3500个常用中文字构建语句预向量空间;对输入语句以标点符号作为分割符将语句进行分割,同时为了降低语句的噪音,删除语句中的特殊字符与乱码字符;将3500个汉字以《通用规范汉字表》中顺序编号,输入语句都可以表示为语句预向量空间中的一个向量S;S的表达式为S=(idtoken1,idtoken2,...,idtokeni,...idtoken3500),表达式中idtokeni表示输入语句是的第i个字的编号,当向量长度大于输入语句长度,超出的部分令id=0;因此得到第一语句预向量、第二语句预向量。其中,在所述步骤S2中,所述训练集数据包括中文版的维基百科的汉语条目释义和大型中文问题匹配数据集LCQMC中的训练集和验证集。其中,在所述步骤S2中,构建并训练基于混合语义的编码器过程具体为:构建BERT预训练编码器模型;使用中文版的维基百科的汉语条目释义对BERT预训练编码器模型进行训练,在BERT预训练编码器模型的基础上进一步构建基于基础语义的预训练编码模型,使预训练编码模型学习文本的基础语义特征,即文本进行编码得到的向量表征中蕴含文本的基础语义;接着使用LCQMC数据集中的训练集与验证集和LCQMC数据集数据增强后的数据集中的训练集与验证集的数据,对得到的预训练编码模型拼接为下游任务模型后进行训练;目的在于提取文本的上下文信息特征,令文本进行编码得到的向量表征中蕴含文本的不同语句中的具体语义特征,对预训练编码模型进行微调,使下游任务模型更适应下游任务,得到的下游任务模型即为基于混合语义的编码器,即BERT编码器。其中,所述步骤S3具体为:由于BERT编码器的最大输入长度为1*512维的向量,因此截取第一语句预向量或第二语句预向量的前512维向量,即得到输入语句向量S*,表达为:S*=(idtoken1,idtoken2,...idtoken512);由于处理的是文本语句,所以截取前512维的语句预向量不会造成语句的语义丢失;同时,将输入语句向量长度固定为512,输入语句向量在BERT编码器中会自动增添句首与句末的标志符,输入语句向量会转化成S*=([CLS],idtoken1,idtoken2,...idtoken512,[SEP]);接着令BERT编码器输出每一个字的编码,即令下游任务模型的输入转化为512*768维的文本语义向量矩阵,令语句的语义表达更加本文档来自技高网
...

【技术保护点】
1.一种基于神经网络的汉语语句相似度计算方法,其特征在于,包括以下步骤:/nS1:将待处理的输入语句分别表示为第一语句预向量、第二语句预向量;/nS2:获取训练集数据,构建并训练基于混合语义的编码器;/nS3:将第一语句预向量、第二语句预向量分别输入两个相同的编码器中,处理得到对应的第一语句编码向量、第二语句编码向量;/nS4:构建语句相似度计算与分类模型;/nS5:将第一语句编码向量、第二语句编码向量输入语句相似度计算与分类模型中进行拼接、映射和归一化处理,得到类别概率向量;/nS6:取类别概率向量中的最大值的类别作为语句的分类结果并取类别概率向量的第二个值作为两个输入语句的相似度,完成汉语语句相似度的计算。/n

【技术特征摘要】
1.一种基于神经网络的汉语语句相似度计算方法,其特征在于,包括以下步骤:
S1:将待处理的输入语句分别表示为第一语句预向量、第二语句预向量;
S2:获取训练集数据,构建并训练基于混合语义的编码器;
S3:将第一语句预向量、第二语句预向量分别输入两个相同的编码器中,处理得到对应的第一语句编码向量、第二语句编码向量;
S4:构建语句相似度计算与分类模型;
S5:将第一语句编码向量、第二语句编码向量输入语句相似度计算与分类模型中进行拼接、映射和归一化处理,得到类别概率向量;
S6:取类别概率向量中的最大值的类别作为语句的分类结果并取类别概率向量的第二个值作为两个输入语句的相似度,完成汉语语句相似度的计算。


2.根据权利要求1所述的一种基于神经网络的汉语语句相似度计算方法,其特征在于,所述步骤S1具体为:
根据《通用规范汉字表》的一级字表中3500个常用中文字构建语句预向量空间;对输入语句以标点符号作为分割符将语句进行分割,同时为了降低语句的噪音,删除语句中的特殊字符与乱码字符;将3500个汉字以《通用规范汉字表》中顺序编号,输入语句都可以表示为语句预向量空间中的一个向量S;S的表达式为S=(idtoken1,idtoken2,...,idtokeni,...idtoken3500),表达式中idtokeni表示输入语句是的第i个字的编号,当向量长度大于输入语句长度,超出的部分令id=0;因此得到第一语句预向量、第二语句预向量。


3.根据权利要求2所述的一种基于神经网络的汉语语句相似度计算方法,其特征在于,在所述步骤S2中,所述训练集数据包括中文版的维基百科的汉语条目释义和大型中文问题匹配数据集LCQMC中的训练集和验证集。


4.根据权利要求3所述的一种基于神经网络的汉语语句相似度计算方法,其特征在于,在所述步骤S2中,构建并训练基于混合语义的编码器过程具体为:
构建BERT预训练编码器模型;
使用中文版的维基百科的汉语条目释义对BERT预训练编码器模型进行训练,在BERT预训练编码器模型的基础上进一步构建基于基础语义的预训练编码模型,使预训练编码模型学习文本的基础语义特征,即文本进行编码得到的向量表征中蕴含文本的基础语义;
接着使用LCQMC数据集中的训练集与验证集和LCQMC数据集数据增强后的数据集中的训练集与验证集的数据,对得到的预训练编码模型拼接为下游任务模型后进行训练;目的在于提取文本的上下文信息特征,令文本进行编码得到的向量表征中蕴含文本的不同语句中的具体语义特征,对预训练编码模型进行微调,使下游任务模型更适应下游任务,得到的下游任务模型即为基于混合语义的编码器,即BERT编码器。


5.根据权利要求4所述的一种基于神经网络的汉语语句相似度计算方法,其特征在于,所述步骤S3具体为:
由于BERT编码器的最大输入长度为1*512维的向量,因此截取第一语句预向量或第二语句预向量的前512维向量,即得到输入语句向量S*,表达为:S*=(idtoken1,idtoken2,...idtoken512);
由于处理的是文本语句,所以截取前512维的语句预向量不会造成语句的语义丢失;同时,将输入语句向量长度固定为512,输入语句向量在BERT编码器中会自动增添句首与句末的标志符,输入语句向量会转化成S*=([CLS],idtoken1,idtoken2,...idtoken512,[SEP]);
接着令BERT编码器输出每一个字的编码,即令下游任务模型的输入转化为512*768维的文本语义向量矩阵,令语句的语义表达更加精细;因此,BERT编码器首先将第一语句预向量、第二语句预向量截取为第一输入语句向量和第二输入语句向量,再将第一输入语句向量和第二输入语句向量的每一个汉字的编码结果顺序,即第一语句编码向量、第二语句编码向量输出至步骤S4构建的语句相似度计算与分类模型中,对超出输入语句长度的编码部分进行补零处理。


6.根据权利要求5所述的一种基于神经网络的汉语语句相似度计算方法,其特征在于,在所述步骤S4中,所述语句相似度计算与分类模型包括两个LS...

【专利技术属性】
技术研发人员:叶家豪兰萍杨丹李文勇吴志强
申请(专利权)人:西藏大学
类型:发明
国别省市:西藏;54

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

1