句子相似度计算方法及装置的制造方法_2

文档序号:9375576阅读:来源:国知局
多个匹配孤存词对,也有可能未能得到任何孤存词对。
[0030] 步骤S22 :将所有的匹配孤存词对的相似度贡献值G求和,得到孤存词相似度总贡 献值G总。
[0031] 步骤S3:根据公式
H十算S頂(A,B),其中S頂(A,B)表示第 一句子和第二句子的句子相似度,奚表示第一句子对应的第一句向量,§表示第二句子对 应的第二句向量。
[0032] 需要说明的是,将第一句子和第二句子分别表示为第一句向量表和第二句向量 百,改过程与【背景技术】中提到的"余弦相似度"技术中相同,故此处不赘述。
[0033] 由于步骤S2中已经阐明,所有第一孤存词与所有第二孤存词之间的相似程度越 高,6, &数值越大,因此计算得到的第一句子和第二句子的句子相似度S頂(A,B)越大。
[0034] 由上可知,根据本发明实施例的句子相似度计算方法,考虑了重复词之外的孤存 词之间的语义相似性质对句子相似度的贡献,因此具有考虑全面周到,计算结果准确度高 的优点。
[0035] 在本发明的实施方式中,步骤S21的具体过程可以包括步骤S211至步骤S214 (图 1中未示出)。
[0036] 步骤S211 :确定当前所有第一孤存词和所有第二孤存词的并集集合中的词权重 最大词X。
[0037] 要说明的是,某个词语的词权重越大,说明该词语在句子中的意义越重要,越优先 进行匹配。例如实词的词权重通常大于虚词(例如"的")的词权重。词权重可以通过查询 语料数据库获得,它是一个确定的数值,不因为所在的句子不同而不同。例如:"明天是星期 一"和"会议安排在明天"两个句子中,"明天"一词的词权重是相同的。通常地,词权重可 以米用词频 -逆文档频率(term frequency-inverse document frequency,TF-IDF),该 TF-IDF是一个正数。
[0038] 步骤 S212 :根据公式 G(X) = max {ffxXWYiX similarity (X,Yi) I Yi e 集合 U}计算 G(X)。其中:G(X)表示针对词语X进行语义配对得到的匹配孤存词对的相似度贡献值。集 合U在X是第一孤存词的情况下表示当前所有第二孤存词构成的集合,集合U在X是第二 孤存词的情况下表示当前所有第一孤存词构成的集合。Yi表示集合U中的元素。W x表示 词语X的词权重,WYi表示词语Yi的词权重,similarity (X,Yi)表示X与Yi的词义相似度 且取值范围为[0,1]。
[0039] 需要说明的是,步骤S212可以理解为,如果词语X是第一孤存词,在当前所有第二 孤存词中选出最匹配者与该第一孤存词X进行匹配;如果词语X是第二孤存词,在当前所有 第一孤存词中选出最匹配者与该第二孤存词X进行匹配。
[0040] 还需要说明的是,Wx、WyJp similarity (X,Yi)均可以通过查找语料数据库得到或 者预先计算得到,是已知的参数。由于WjPW Yl为正数,并且similarity (X,Yi)为非负数, 因此G(X)也为非负数。
[0041] 步骤S212 :判断G(X)是否大于0。如果G(X) > 0,则确认X和所述G(X)对应的 Yi两个词成功地匹配为孤存词对,记录该孤存词对相似度贡献度G = G (X),并且将该孤存 词对从所述并集集合中删除。如果G(X) =0,将所述X从所述并集集合中删除。
[0042] 换言之,如果成功匹配得到了孤存词对,那么将参与配对的两个孤存词从并集集 合中删除。如果匹配失败,则将X从并集集合中删除。无论是上述两种情况中的哪种情况, 并集集合中的元素是逐渐减少的。
[0043] 步骤S214 :判断所述并集集合是否为空集,如果否,跳至步骤S211。即,重复执行 步骤S211至步骤S213,直至并集集合变为空集。
[0044] 为使本领域技术人员更好地理解,下面用本发明的计算句子相似度的方法来计算 句子①"这可以无理由退吗"和句子②"能退货么这个"的相似度。
[0045] (1)对句子①和句子②分词,得到"这个I可以I包邮I帝都I吗"和"北京I上 海I免运费I么I这个"。两个句子的分词结果中,"这个"一词雷同,其余八词不雷同,因此 两个句子中共有九个词。对这九个词编排向量维度下标,并且从语料数据库查找各个词的 TF-IDF值作为该词的词权重(记为W),如表1所示。
[0046] 表1句子分词结果所对应的向量维度下标以及词权重
[00471
[0048] 因此,将句子①和句子②分别写成向量形式如下:
[0049]
[0050]
[0051] (2)剔除雷同词"这个"一词之后,剩下八个孤存词。将八个孤存词根据词权重进 行排序,得到有序集合{包邮,免运费,帝都,上海,北京,么,可以,吗}。假设查询语料库数 据可以知道词和词之间的相似度(similarity)如表2所示:
[0052] 表2词与词之间的相似度数据表
[0053]
[0054] 首先为句子①中的"包邮"一词在句子②中剩下的"北京"、"上海"、"免运费"和 "么"四个词中进行匹配。计算:
[0055] W包邮 XW北京 X similarity (包邮,北京)= 7X4. 3X0 = 0
[0056] W包邮 XW上海 X similarity (包邮,上海)= 7X4. 8X0 = 0
[0057] W包邮 XW免运费 X similarity (包邮,免运费)=7X6X1 = 42
[0058] W包邮 XW么 X similarity (包邮,么)= 7X1X0 = 0
[0059] G(包由= max{W包邮XW北京XsimiIarity (包由β,北京),W包邮XW上 海Xsimilarity(包邮,上海),W包邮XW免运费Xsimilarity(包邮,免运费),W包邮XW 么X similarity (包邮,么)}= W包邮X W免运费X similarity (包邮,免运费)=42 > 0
[0060] 由上可知,"包邮"和"免运费"最匹配,成功地组成孤存词对且该孤存词对的相似 度贡献值为42。删掉"包邮"和"免运费"两词。
[0061] 然后为句子①中的"帝都"一词在句子②中剩下的"北京"、"上海"和"么"三个词 中寻找匹配词。计算:
[0062] W帝都 XW北京 X similarity (帝都,北京)=5X4. 3X1 = 21.5
[0063] W帝都 XW上海 X similarity (帝都,上海)=5X4. 8X0. 2 = 0· 018
[0064] W帝都 XW么 X similarity (帝都,么)= 5X1X0 = 0
[0065] G (帝都)=W帝都 X W北京 X similarity (帝都,北京)=21. 5 > 0
[0066] 由上可知,"帝都"和"北京"最匹配,成功地组成孤存词对且该孤存词对的相似度 贡献值为21. 5。删掉"帝都"和"北京"两词。
[0067] 然后为句子②中的"上海"在句子①中剩下的"可以"、"吗"寻找匹配词。计算:
[0068] W上海 XW可以 X similarity (上海,可以)=4. 8X0. 6X0 = 0
[0069] W上海 XW吗 X similarity (上海,吗)=4. 8X0. 3X0 = 0
[0070] G (上海)=0
[0071] 由上可知,"上海"在句子②中没有近似的匹配词。删掉"上海"一词。
[0072] 然后为句子②中的"么"在句子①中剩下的"可以"、"吗"寻找匹配词。
[0073] W么 XW可以 X similarity (么,可以)=1X0. 6X0 = 0
[0074] W么 XW吗 Xsimilarity(么,吗)=1X0. 3X0. 7 = 0· 21
[0075] 6(么)=¥么><¥吗\8;[111;[1已1';^7(么,吗)=0.21>0
[0076] 由上可知,"么"和"吗"最匹配,成功地组成孤存词对且该孤存词对的相似度贡献 值为0.21。删掉"么"和"吗"两词。
[0077] 然后,并集集合中剩下唯一的第一孤存词"可以",句子②中无剩余词与"可以"匹 配。删去"可以"。
[0078] 最后,并集集合为空集,匹配过程结束。
[0079] 至此,完成了句子①和句子②中所有不相同的词语的匹配工作。计算:
[0080] Ga= 42+21. 5+0. 21 = 63. 71
[0081] 按照本发明的方法最后一步骤计算句子相似度S頂(A,B):
[0082]
[0083] 说明句子①和句子②相似程度较高。
[0084] 而按照传统方法计算结果为
'认为句子①和句子② 的相似程度很低。由此可见,本发明与传统方法相比,本发明的计算结果更符合实际情况, 准确度更
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1