1.一种句子相似度计算方法,其特征在于,包括以下步骤:
步骤(1)、获取句子相似度计算的测试集和训练集,并通过词向量模型获取测试集和训练集中的各词语对应的语义向量;
步骤(2)、基于词语权重的句向量,分别计算测试集中某一测试句子与训练集中每个训练句子的余弦相似度;
步骤(3)、基于词序的句向量,分别计算上述测试句子和由步骤(2)的结果筛选出的相似度前10的训练句子的相似度;
步骤(4)、基于步骤(2)和步骤(3)得到的两种句子向量计算的句子相似度,并采用MRR平均排序倒数参数确定方法来调节优化系数β,得出与训练集中句子相似度最大的句子。
2.根据权利要求1所述的一种句子相似度计算方法,其特征在于,所述步骤(1)获取句子相似度计算的测试集和训练集,并通过词向量模型获取测试集和训练集中的各词语对应的语义向量,具体包括:对自然语言语料通过词向量工具进行训练,以获取各词语对应的向量;
将选取的测试句子和训练集中的句子进行分词后,训练得到词向量模型,所述词向量模型包含词向量,每个词语用一个向量来表示,随机选取测试集中第i句子Xi,句子Xi经过分词后得到关于Xi的词语集合为xi={x1,x2,…,xn},n为构成句子Xi的词语个数,将每个词语与对应的语义向量一一匹配,得到句子Xi中每个词语形成的语义向量集合为Vx={vx1,vx2,…vxn},其中vxn表示词语xn对应的语义向量。
3.根据权利要求2所述的一种句子相似度计算方法,其特征在于,所述步骤(2)基于词语权重的句向量,分别计算测试集中某一测试句子与训练集中每个训练句子的余弦相似度,具体包括:(11)根据词语在语料库中出现的频率赋予相应的权重,计算句子Xi每个词语的权重ωn,计算公式如下:其中f(xn)为每个词在语料库中的词频,a为常数,取a=0.0001;
(12)计算句子Xi的词语权重的句向量Vsxi,计算公式如下:
Vsxi=(1-uuT)V′sxi
其中,V′sxi为去主成分前的句子向量,u为V′sxi的最大主成分向量;
(13)基于词语权重的句向量,计算句子Xi和测试集中每一个句子的余弦相似度,其中,句子Xi和Yj的词语权重的句向量的余弦相似度计算公式如下:其中,Yj为训练集中的第j个句子,Vsyj为句子Yj的词语权重的句向量Vsyj(14)将上述计算的句子相似度值由大到小排序,选取训练集中相似度前10的句子,进入下一步基于词序的句子相似度计算。
4.根据权利要求3所述的一种句子相似度计算方法,其特征在于,所述的步骤(3)基于词序的句向量,分别计算上述测试句子和由步骤(2)的结果筛选出的相似度前10的训练句子的相似度,具体包括:设上述句子Yj在这10个句子中,具体公式为:
(21)将句子Xi和Yj进行分词、去停用词和同义词替换后,根据测试句子Xi和Yj中词语在句子中的词序,形成基于词序的句向量,分别得到按照词语顺序的词序集合为xi、yj;
(22)当词语集合xi与词语集合yj的词语个数相同时,以句子Xi或Yj为基准,若xi和yj中没有相匹配的词语则为0,计算这两个句子的词序向量相似度Order_Sim(Xi,Yj);
当词语集合xi与词语集合yj的词语个数不相同时,以词语数量多的句子为基准,xi和yj中没有相匹配的词语则为0,计算这两个句子的词序向量相似度Order_Sim(Xi,Yj);
若以词语集合xi为基准,则Order_Sim(Xi,Yj)的计算公式如下:其中,Mxi表示句子Xi的词序向量,M′xi表示句子Yj按照句子Xi为基准的词序向量,D(Mxi,M′xi)为向量Mxi,M′xi对应每个维度上距离的和,maxD为D(Mxi,M′xi)的最大值,即M′xi相对于Mxi为完全逆序时D(Mxi,M′xi)取得最大值。
5.根据权利要求4所述的一种句子相似度计算方法,其特征在于,所述步骤(4)基于步骤(2)和步骤(3)得到的两种句子向量计算的句子相似度,并采用MRR平均排序倒数参数确定方法来调节优化系数β,对这两种相似度赋予权重,得出与训练集中句子相似度最大的句子,具体包括:计算句子Xi与选取的训练集中相似度值前10的句子的权重和词序的融合相似度值,其中,句子Xi和Yj的融合相似度计算公式如下:Final_Sim(Xi,Yj)=max(β×Weight_Sim(Xi,Yj)+(1-β)×Order_Sim(Xi,Yj))其中,β为常数,β∈[0,1]。
6.根据权利要求5所述的一种句子相似度计算方法,其特征在于,所述β接近0.85时,基于权重和词序向量的融合句子相似度的值最为理想。