• 汉语语义消歧之 -- 句子相似度


    这里隆重推出介绍一种词义消歧的(简单)方法:句子相似度

    虽然第一反应一定是介个,但是总不能说他们的相似度就是单词出现的重复次数吧= =||,怎么看都觉得不科学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|),于是余弦相似度就求了出来。

    也许有人会问。。。词频向量相等,并不代表句意相等啊;再说两句话要是句子用词差别大,也不代表两句句子不相关啊。是的说,所以说还是有很大的改进空间的啦:比如我们可以选取特征词所在的段落中的关键词来判断余弦相似性什么的。还是可以进行改动的嘛、、、

    By Xs酱~ 转载请说明 博客地址:http://www.cnblogs.com/rausen
  • 相关阅读:
    C#防止窗口重复打开
    c#image与byte数组的转换
    物理网卡地址
    C#[WinForm]实现自动更新
    js计算散点图方程式
    js遮罩效果
    js实现四舍六入 奇进偶舍
    ajax加载表格数据
    C#创建和调用WebService详细教程
    .NET中的CTS、CLS和CLR
  • 原文地址:https://www.cnblogs.com/rausen/p/4143590.html
Copyright © 2020-2023  润新知