一种基于词序加权的句子相似度计算方法技术

技术编号:18894507 阅读:39 留言:0更新日期:2018-09-08 10:58
本发明专利技术提供了一种基于词序加权的句子相似度计算方法。包括:获取形式为

A sentence similarity computing method based on word order weighting

The invention provides a sentence similarity calculation method based on word order weighting. Including: acquisition form

【技术实现步骤摘要】
一种基于词序加权的句子相似度计算方法
本专利技术涉及计算机
下的自然语言处理
尤其涉及一种文本中时间信息识别与理解的方法。
技术介绍
句子相似度计算是自然语言处理领域中非常重要的基本问题,在自然语言处理领域的很多方面都有着广泛的应用。例如,在基于机器翻译中,使用文本相似度衡量文本中的词语的替换程度;在问答系统(FAQ)中,使用相似度进行问句检索,计算问题用户问题与知识库中知识的匹配程度。在相关领域中,相似度计算一直都是研究者们关注的重要课题。在对统计语言模型进行研究的背景下,Google公司在2013年开放了Word2vec这一款用于训练词向量的软件工具。Word2vec可以根据给定的语料库,通过优化后的训练模型快速有效地将一个词语表达成向量形式,为自然语言处理领域的应用研究提供了新的工具。
技术实现思路
本专利技术的目的旨在克服现有技术存在的问题,从而提供了一种基于词序加权的句子相似度的计算方法。为实现上述目的,本专利技术提供了。该方法包括以下步骤:1)利用网络爬虫获取语料集A,根据语义对语料集A中的所有语句添加分类标签,得到型如<Label1i,Sen1i>语料,其中Sen1i为语料集A中的单句语句,Label1i为Sen1i对应的类别标签,然后利用Word2Vec算法,训练得出语料A中所有词语的词向量模型;2)利用步骤1)中获取的语料集A,构建测试语料集B,测试语料集B中形式为<Label2j,Sen2j>,其中Label2j为语料集A中的一类别,Sen2j属于Label2j类别且与Label2j类别在语料集A中所对应的语句语义相似,然后结合步骤1)中获取的词向量模型采用增量训练方式,利用Word2Vec算法获得语料集B中所有词语的词向量模型;3)从步骤1)中语料集A中取得一对<Label11,Sen11>,对Sen11进行分词处理,并利用步骤2)中所获取的词向量模型取得每个对应分词结果的词向量V1k,k表示词语位于语句Sen11中的位置;4)根据步骤3)中获取的语句Sen11中每个词语对应的词向量V1k,以及每个词语位于Sen11中的位置,计算每个词语的词序权重值weight,并根据词向量V1k和对应的词序权重值weight获取新的带权重的词向量V1k’;5)根据步骤4)中获得的带权重的词向量V1k’获取语句Sen11的句向量SenVec11;6)重复步骤3)至5),计算语料集A中所有句子的句向量SenVec1i;7)重复步骤3)至5),计算语料集B中所有句子的句向量SenVec2j;8)根据步骤6)和步骤7)获取的句向量,依次选取测试语料集B中的语句Sen2j及其对应的句向量SenVec2j,分别计算其与语料集A中每个语句Sen1i的相似度,选取相似度排序最高的语句Sen1i对应的Label1i与Label2j比较,若一致则表示正确,否则则将结果以<Sen1i,Sen2j>存储至训练语料集C;9)将步骤8)中获得的训练语料集C按照SemEval-2017的相似度标注,然后采用LSTM回归模型训练获取新的词向量,利用新训练的词向量更新步骤2)中的词向量模型,然后执行步骤3),进行下一次语句的相似度计算。优选地,所述步骤1)中在添加分类标签前还包括:采用正则匹配方式进行语料集A中多余的标点及网页标签去除,只保留单句语句。优选地,所述步骤3)中采用HanLp开源的分词器对Sen11进行分词处理。优选地,所述步骤4)中词序权重值weight通过下列公式计算获得:其中k表示词语位于语句中的位置;Loc表示加权起始位置,λ为常量,其数值范围为1-3。优选地,所述步骤5)通过下列公式计算获得:其中,n表示语句中词语的总数,V′ik表示第i个语句中第k个词语加权后的词向量。优选地,所述步骤6)中的相似度通过如下公式计算而得:其中,SenVec1i表示语句Sen1i的句向量,SenVec2j表示语句Sen2j的句向量。本专利技术提供的基于词序加权的句子相似度的计算方法,利用词序加权的方式,提高了计算句子相似度任务的准确率;同时,利用有监督的方式,增量训练词向量,对句子相似度任务的准确率进一步增高。附图说明图1为本专利技术实施例提供了基于词序加权的句子相似度计算方法方法流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面将结合专利技术实施例中的附图,对专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是专利技术一部分实施例,而非全部的实施例。基于专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于专利技术保护的范围。目前,语句的相似度计算的方法中,采用句向量的加权方式较为复杂,效果参差不齐,本专利技术提出一种基于词序加权的句子相似度的计算方法,能够有效地提高语句间的相似度计算任务的准确率。图1为本专利技术实施例提供了基于词序加权的句子相似度计算方法的流程图。在步骤101中,通过网络爬虫获取规模为8000的语料集A,采用正则匹配方式进行语料集A中多余的标点及网页标签去除,只保留单句语句。然后对8000单句语句进行分类,得到如下表所示的语料集A:Label1i单句语句Sen1i退还运费如何申请退运费退款申请如何申请退款退款申请我要退款换货申请如何申请换货......利用Word2Vec算法,训练得到语料集A中所有词语的词向量模型。在步骤102中,构建规模为30000的语料集B,其中语料集B中语料形式为<Label2j,Sen2j>,其中Label2j来源于语料集A中包涵的类别,Sen2j属于Label2j类别且与Label2j类别在语料集A中所对应的语句语义相似。结合步骤101中获取的词向量模型采用增量训练方式,利用Word2Vec算法得到语料集B中所有词语的词向量模型。语料集B中的语句型如下表所示:Label2jSen2j退还运费怎么退运费退款申请衣服不合适,可以退了吗换货申请这件衣服麻烦帮我换了吧......通过训练可以得到格式为:词语W词向量VWord1v11,v12...v1d......Wordnvn1,vn2...vnd其中n表示词语总数,d表示词向量总维度。在步骤103中,选取语料集A中的一对语句<Label11,Sen11>,如本实施例中一对语句<退还运费,如何申请退运费>,对语句Sen11“如何申请退运费”进行分词,分词结果为(如何,申请,退,运费),从步骤102中训练的词向量模型中获取对应的词向量,在本实施例中的词向量模型的维度为200,部分结果如下表:词语W词向量V1k如何-0.15166749,0.10850359...-0.097950申请0.099820456,0.11322714...0.06855157退0.04588356,0.08467035...-0.15038626运费-0.010142227,-0.02377942...-0.09789387在步骤104中,根据每个词语的位置,利用如下公式计算每个词语的词序权重值wei本文档来自技高网...

【技术保护点】
1.一种基于词序加权的句子相似度计算方法,其特征在于,包括以下步骤:1)利用网络爬虫获取语料集A,根据语义对语料集A中的所有语句添加分类标签,得到型如

【技术特征摘要】
1.一种基于词序加权的句子相似度计算方法,其特征在于,包括以下步骤:1)利用网络爬虫获取语料集A,根据语义对语料集A中的所有语句添加分类标签,得到型如<Label1i,Sen1i>语料,其中Sen1i为语料集A中的单句语句,Label1i为Sen1i对应的类别标签,然后利用Word2Vec算法,训练得出语料A中所有词语的词向量模型;2)利用步骤1)中获取的语料集A,构建测试语料集B,测试语料集B中形式为<Label2j,Sen2j>,其中Label2j为语料集A中的一类别,Sen2j属于Label2j类别且与Label2j类别在语料集A中所对应的语句语义相似,然后结合步骤1)中获取的词向量模型采用增量训练方式,利用Word2Vec算法获得语料集B中所有词语的词向量模型;3)从步骤1)中语料集A中取得一对<Label11,Sen11>,对Sen11进行分词处理,并利用步骤2)中所获取的词向量模型取得每个对应分词结果的词向量V1k,k表示词语位于语句Sen11中的位置;4)根据步骤3)中获取的语句Sen11中每个词语对应的词向量V1k,以及每个词语位于Sen11中的位置,计算每个词语的词序权重值weight,并根据词向量V1k和对应的词序权重值weight获取新的带权重的词向量V1k’;5)根据步骤4)中获得的带权重的词向量V1k’获取语句Sen11的句向量SenVec11;6)重复步骤3)至5),计算语料集A中所有句子的句向量SenVec1i;7)重复步骤3)至5),计算语料集B中所有句子的句向量SenVec2j;8)根据步骤6)和步骤7)获取的句向量,...

【专利技术属性】
技术研发人员:王清琛沈盛宇
申请(专利权)人:南京云问网络技术有限公司
类型:发明
国别省市:江苏,32

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

1