首页 > 代码库 > 汉语语义消歧之 -- 句子相似度
汉语语义消歧之 -- 句子相似度
这里隆重推出介绍一种词义消歧的(简单)方法:句子相似度
虽然第一反应一定是介个,但是总不能说他们的相似度就是单词出现的重复次数吧= =||,怎么看都觉得不科学233
于是,我们想到了最简单却又好用的相似度判断方式,就是"余弦相似性"(cosine similiarity)了啦:
我们现在有两句话s1和s2,那么他们的余弦相似度怎么求呢?
现在令s1、s2词频向量为v1、v2(注意,是向量!),则我们"想象一下":
如果v1和v2方向相同,大致等价于s1、s2句子构成成分相同,也就是说,句子意思也是基本相同的;如果v1和v2方向相反,也可以说明两句句子的意思基本也是反过来的;而如果v1和v2成90°,意思就是s1和s2之间没有明显的联系。
因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。
而向量夹角的Θ是在[0, π]中的,其余弦值cosΘ是减函数,故只需要比较其余弦值即可。
由向量的基本性质容易推出cosΘ = (v1 · v2) / (|v1| * |v2|),于是余弦相似度就求了出来。
也许有人会问。。。词频向量相等,并不代表句意相等啊;再说两句话要是句子用词差别大,也不代表两句句子不相关啊。是的说,所以说还是有很大的改进空间的啦:比如我们可以选取特征词所在的段落中的关键词来判断余弦相似性什么的。还是可以进行改动的嘛、、、
汉语语义消歧之 -- 句子相似度
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。