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

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

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

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

时间: 2024-11-13 14:43:13

汉语语义消歧之 -- 句子相似度的相关文章

汉语语义消歧之 -- 词义消歧简介

词义消歧,亦称语义消歧,是计算语言学领域的基础性关键研究课题. 对于许多词语(特别是汉语词语和一部分专有名词),一个词有许多种意思. 例如专有名词"卡特",我们可以找到非常出名的两种含义: 1.  文斯·卡特(Vince Carter),美国职业篮球运动员 2.  詹姆斯·厄尔·卡特,1977年任美国第39任总统. 以及非常多的其他含义,包括:考古学家,斯诺克选手,记者,公司以及...LOL人物(汗) 如果查询的是"詹姆斯"之类的专有名词,则含义会变得更多,而且纷繁

中文句子相似度之計算與應用

原文:http://www.aclweb.org/anthology/O05-1008 中文句子相似度之计算与应用 郑守益 梁婷国立交通大学信息科学系 摘要 近年來受惠于国内外各项语料库资源的建置及网际网路上的大量中文语料,使计算机语文辅助教材的涵盖层面日趋广泛.因此如何产生大量且具高质量之辅助教材日益受到许多自然语言处理研究者的重视.有鉴于此,本論文提出以中文句子相似度为基础的研究与应用.相似度的计算乃考虑句子的组合及聚合性.我们实作此一应用,并提出解决未知词的语意计算问题的方法.实验结果显示

词义消歧

词义消歧:在自然语言中,一词多义现象普遍存在,如何区分不同上下文中的词汇语义,就是词汇歧义消解问题,或称词义消歧(word sense disambiguation,WSD) 基本思路:每个词表达不同含义时,其上下文(语境)往往不同,因此可以根据上下文信息区分词义 基本上下文信息包括:词.词性.位置等:如对于打字:他/P 很/D 会/V 与/C 人/N 打/V 交道/N ./PU 方法1:基于贝叶斯分类器 假设某个多义词w的上下文为C,如果w的多个语义记为si,那么可以通过计算argmaxsi

命名实体如何进行概念消歧?

1 引言 ???????命名实体概念消歧是命名实体消歧(英语:Named Entity Disambiguation)的一个重要研究子领域(命名实体概念可见本文3.1章).什么叫概念消歧了?在这里举一个简单例子进行说明,一个命名实体"天龙八部",它有许多个不同的含义,其中有电视剧类的含义,电视剧含义有好几个,如"1997黄日华版电视剧"."1982年TVB版本电视剧"."2003年内地胡军版电视剧".""2

LSTM 句子相似度分析

使用句子中出现单词的Vector加权平均进行文本相似度分析虽然简单,但也有比较明显的缺点:没有考虑词序且词向量区别不明确.如下面两个句子: "北京的首都是中国"与"中国的首都是北京"的相似度为1. "学习容易"和"学习困难"的相似度很容易也非常高. 为解决这类问题,需要用其他方法对句子进行表示,LSTM是常用的一种方式,本文简单使用单层LSTM对句子重新表示,并通过若干全连接层对句子相似度进行衡量. 数据准备 训练和测试数据包

nlp自然语言处理中句子相似度计算

在做自然语言处理的过程中,现在智能对话比较火,例如智能客服,智能家电,智能音箱等,我们需要获取用户说话的意图,方便做出正确的回答,这里面就涉及到句子相似度计算的问题,那么本节就来了解一下怎么样来用 Python 实现句子相似度的计算. 句子相似度常用的几种方法: 1.编辑距离 2.杰卡德系数计算 3.Word2Vec 计算 编辑距离,英文叫做 Edit Distance,又称 Levenshtein 距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数, 如果它们的距离越大,说明它们越

使用 TF-IDF 加权的空间向量模型实现句子相似度计算

使用 TF-IDF 加权的空间向量模型实现句子相似度计算 字符匹配层次计算句子相似度 计算两个句子相似度的算法有很多种,但是对于从未了解过这方面算法的人来说,可能最容易想到的就是使用字符串匹配相关的算法,来检查两个句子所对应的字符串的字符相似程度.比如单纯的进行子串匹配,搜索 A 串中能与 B 串匹配的最大子串作为得分,亦或者用比较常见的最长公共子序列算法来衡量两个串的相似程度,使用编辑距离算法来衡量等. 上述基于字符匹配层次的算法一定程度上都可以计算出两个句子的相似度,不过他们只是单纯的从字符

原创:Siamese LSTM解决句子相似度(理论篇)

nlp中语义理解一直是业内的难题.汉语不同于英语,同样一个意思,可以有很多种说法,比如你是谁的问题,就可以有如下几种:①你是谁?②你叫什么名字?③您贵姓?④介绍一下你自己 等等.这些句子在语义上是十分接近的,如果做一个智能音响,对音响说出上述任何一句,其结果不应该因为句子形式的不同而不同,也就是说训练出的模型不能对同义语句太敏感.在神经概率语言模型产生之前,解决这个问题(或者nlp领域里比较流行的特征抽取),基本上都是依赖比较传统的TF-IDF算法来构造出一个句子的向量,然后计算向量的相似度.这

计算句子相似度的方法

方法1:无监督,不使用额外的标注数据 average word vectors:简单的对句子中的所有词向量取平均,是一种简单有效的方法, 缺点:没有考虑到单词的顺序,只对15个字以内的短句子比较有效,丢掉了词与词间的相关意思,无法更精细的表达句子与句子之间的关系. tfidf-weighting word vectors:指对句子中的所有词向量根据tfidf权重加权求和,是常用的一种计算sentence embedding的方法,在某些问题上表现很好,相比于简单的对所有词向量求平均,考虑到了tf