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

文档序号:9375576阅读:337来源:国知局
句子相似度计算方法及装置的制造方法
【技术领域】
[0001] 本发明涉及自然语言处理技术领域,尤其涉及一种句子相似度计算方法及装置。
【背景技术】
[0002] 句子相似度计算是自然语言处理的一项重要研究内容,近年来在信息检索、机器 翻译、问答系统、自动文摘等应用领域中的作用越来越重要。
[0003] 传统方法多通过余弦相似性(cosine simiIiarity)来衡量两个句子的相似程度。 具体过程为:先将需要比较相似度的两个句子分别转换为句向量表示,然后计算两个句向 量的夹角的余弦值,。计算结果数值是〇到1之间,数值越大说明两个句子越相似。更多详 情可以参考维基百科 https: //en. wikipedia. org/wiki/Cosine similarity〇 该方法简便 易行,但是不够准确。
[0004] 例如:需要比较"是高清吧"和"这是高清的吗"这两个句子的相似度。切词后的两 个句子分别是"是/高清/吧"和"这是/高清/的/吗"。假设词的权重值都是1,各词对 应的向量维度下标为:是_>维度下标1,高清_>维度下标2,吧_>维度下标3,这是_>维度 下标4,的-> 维度下标5,吗-> 维度下标6,则两个句子分别对应的句向量是[1,1,1,0, 0, 0] 和[0, 1,0, 1,1,1]。计算这两个句向量的夹角的余弦值:
[0005]
[0006] 上述方法计算出来的余弦值很小、句子相似度不高,然而人工判断两个句子实际 上非常相似,由此可见上述方法存在准确度低的缺陷。

【发明内容】

[0007] 有鉴于此,本发明旨在克服现有技术的准确度低的缺陷,提供一种准确度高的句 子相似度计算方法及装置。
[0008] 为实现上述目的,根据本发明的一个方面,提供了一种句子相似度计算方法,包 括:步骤Sl :针对第一句子和第二句子确定重复词、第一孤存词和第二孤存词,其中,所述 重复词既属于所述第一句子又属于所述第二句子,所述第一孤存词仅属于所述第一句子, 所述第二孤存词仅属于所述第二句子;步骤S2 :根据所有第一孤存词和所有第二孤存词, 计算孤存词相似度总贡献值G,&,其中,G,&彡0,并且所有所述第一孤存词与所有所怵笛一.孤 存词之间的相似程度越高,所述G,&数值越大;步骤S3 :根据公式 计 算S頂(A,B),其中S頂(A,B)表示所述第一句子和第二句子的句子相似度,灵表示所述第一 句子对应的第一句向量,百表示所述第二句子对应的第二句向量。
[0009] 可选地,所述步骤S2包括:
[0010] 步骤S21 :将所有所述第一孤存词在所有所述第二孤存词进行语义匹配,以得到 匹配孤存词对以及所述匹配孤存词对的相似度贡献值G ;
[0011] 步骤S22 :将所有的所述匹配孤存词对的相似度贡献值G求和,得到所述孤存词相 似度总贡献值G,&。
[0012] 可选地,所述为步骤S21包括:步骤S211 :确定当前所有所述第一孤存词 和所有第二孤存词的并集集合中的词权重最大词X ;步骤S 212 :根据公式G (X)= max {WxXWYiX similarity (X,Yi) I Yi e 集合 U}计算 G(X),其中 G(X)表示针对词语 X 进行 语义配对得到的匹配孤存词对的相似度贡献值,所述集合U在所述X是第一孤存词的情况 下表示当前所有所述第二孤存词构成的集合,所述集合U在所述X是第二孤存词的情况下 表示当前所有所述第一孤存词构成的集合,Yi表示所述集合U中的元素,1 :!表示词语X的 词权重,Wyi表示词语Yi的词权重,similarity (X,Yi)表示X与Yi的词义相似度且取值范 围为[0, 1];步骤S213 :判断G (X)是否大于0,如果G(X) >0,则确认X和所述G (X)对应的 Yi两个词成功地匹配为孤存词对,记录该孤存词对相似度贡献度G = G (X),并且将该孤存 词对从所述并集集合中删除,如果G(X) = 0,将所述X从所述并集集合中删除;步骤S214 : 判断所述并集集合是否为空集,如果否,跳至步骤S211。
[0013] 可选地,所述词权重采用词频-逆文档频率。
[0014] 为实现上述目的,根据本发明的一个方面,提供了一种句子相似度计算装置,包 括:确定模块,用于针对第一句子和第二句子确定重复词、第一孤存词和第二孤存词,其中, 所述重复词既属于所述第一句子又属于所述第二句子,所述第一孤存词仅属于所述第一句 子,所述第二孤存词仅属于所述第二句子;第一计算模块,根据所有第一孤存词和所有第 二孤存词,计算孤存词相似度总贡献值G, &,其中,G,&多0,并且所有所述第一孤存词与所 有所述第二孤存词之间的相似程度越高,所述G, &数值越大;第二计算模块,用于根据公式
=计算S頂(A,B),其中S頂(A,B)表示所述第一句子和第二句子的句 子相似度,1表示所述第一句子对应的第一句向量,g表示所述第二句子对应的第二句向 量。
[0015] 可选地,所述第一计算模块还用于:将所有所述第一孤存词在所有所述第二孤存 词进行语义匹配,以得到匹配孤存词对以及该匹配孤存词对的相似度贡献值G ;将所有的 所述匹配孤存词对的相似度贡献值G求和,得到所述孤存词相似度总贡献值G,&。
[0016] 可选地,所述第一计算模块还用于:确定当前所有所述第一孤存 词和所有第二孤存词的并集集合中的词权重最大词X ;根据公式G(X)= max {WxXWYiX similarity (X,Yi) I Yi e 集合 U}计算 G(X),其中 G(X)表示针对词语 X 进行 语义配对得到的匹配孤存词对的相似度贡献值,所述集合U在所述X是第一孤存词的情况 下表示当前所有所述第二孤存词构成的集合,所述集合U在所述X是第二孤存词的情况下 表示当前所有所述第一孤存词构成的集合,Yi表示所述集合U中的元素,1 :!表示词语X的 词权重,Wyi表示词语Yi的词权重,similarity (X,Yi)表示X与Yi的词义相似度且取值范 围为[0,1];判断G (X)是否大于0,如果G(X) >0,则确认X和所述G (X)对应的Yi两个词 成功地匹配为孤存词对,记录该孤存词对相似度贡献度G = G (X),并且将该孤存词对从所 述并集集合中删除,如果G (X) = 0,将所述X从所述并集集合中删除;判断所述并集集合是 否为空集,如果否,重复执行以上处理。
[0017] 可选地,所述词权重采用词频-逆文档频率。
[0018] 根据本发明的技术方案,在计算过程中考虑字面不相同、词义近似的词对句子相 似度的贡献,这样计算得到的相似度会更加准确可靠。
【附图说明】
[0019] 附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0020] 图1是根据本发明实施例的句子相似度计算方法的主要步骤的示意图。
[0021] 图2是根据本发明实施例的句子相似度计算装置的主要部件的示意图。
【具体实施方式】
[0022] 以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种 细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识 到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同 样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0023] 在传统的余弦相似度计算句子相似度的技术方案中,"是高清吧"和"这是高清的 吗"只有一个词"高清"相同,其他词都不相同。但是从语义角度来看"是"和"这是"、"吧" 和"吗"意义比较接近,应该在计算句子相似度时用上却没有用。针对于此,本发明旨在提 出一种计算句子相似度的方法及装置,在计算过程中考虑字面不相同、词义近似的词对句 子相似度的贡献,这样计算得到的相似度会更加准确可靠。
[0024] 图1是根据本发明实施例的句子相似度计算方法的主要步骤的示意图。如图1所 示,该句子相似度计算方法,包括以下步骤Sl至步骤S3。
[0025] 步骤Sl :针对第一句子和第二句子确定重复词、第一孤存词和第二孤存词。其中, 重复词既属于第一句子又属于第二句子,第一孤存词仅属于第一句子,第二孤存词仅属于 第二句子。
[0026] 需要说明的是,第一句子和第二句子中不一定同时包含重复词、第一孤存词和第 二孤存词这三者。重复词的集合、第一孤存词的集合以及第二孤存词的集合都有可能是空 集。
[0027] 步骤S2 :根据所有第一孤存词和所有第二孤存词,计算孤存词相似度总贡献值G ,其中,0,并且所有第一孤存词与所有第二孤存词之间的相似程度越高,G,&数值越 大。
[0028] 可选地,步骤Sl可以具体包括如下的步骤S21和步骤S22(图1中未示出)。
[0029] 步骤S21 :将所有第一孤存词在所有第二孤存词进行语义匹配,以得到匹配孤存 词对以及该匹配孤存词对的相似度贡献值G。需要说明的是,通过进行匹配,最终有可能得 到一个或
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1