首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测量两个短语之间的语义相似度

测量两个短语之间的语义相似度
EN

Stack Overflow用户
提问于 2013-04-25 09:38:08
回答 2查看 17.1K关注 0票数 20

我想衡量两个短语/句子之间的语义相似度。有没有什么框架可以让我直接可靠地使用?

我已经检查过this question了,但是它太旧了,我在那里找不到真正有用的答案。有one link,但我发现这不可靠。

例如:

我有一句话:感觉被压垮了

我有几个选择:用力向内,粉碎,情感毁灭,重塑等等。

我想找到与第一个词/短语相似度最高的词/短语。

这里的答案是:情感上的毁灭。

更大的图景是:我想根据动词在句子中的用法来识别FrameNet中的哪个帧与给定的动词匹配。

更新:我发现this library在衡量两个单词之间的相似性方面非常有用。此外,ConceptNet的相似性机制也非常好。

以及用于度量句子之间语义相似度的this library

如果任何人有任何见解,请分享。

EN

回答 2

Stack Overflow用户

发布于 2013-04-25 17:04:48

这是一个非常复杂的问题。

我能想到的主要技术(在进入更复杂的NLP过程之前)是对每一对短语应用余弦(或任何其他度量)相似度。显然,由于不匹配问题,这种解决方案目前效率非常低:句子可能会用不同的单词引用相同的概念。

要解决这个问题,您应该将每个短语的初始表示形式转换为更具“概念性”的含义。一种选择是使用其同义词来扩展每个单词(即使用WordNet,另一种选择是应用诸如分布语义DS (http://liawww.epfl.ch/Publications/Archive/Besanconetal2001.pdf)之类的度量,该度量使用更可能与其一起出现的单词来扩展每个术语的表示。

例如:文档的表示:{"car","race"}将被转换为具有同义词的{"car",“car”,"race"}。然而,对于DS,它将类似于:{“汽车”,“车轮”,“道路”,“飞行员”,...}

显然,这种转换不会是二进制的。每一项都会有一些相关的权重。

我希望这能帮到你。

票数 9
EN

Stack Overflow用户

发布于 2014-11-06 23:25:17

也许cortical.io应用程序接口可以帮助您解决问题。这里的方法是将每个单词转换为具有16K语义特征的语义指纹,以表征其含义。短语、句子或更长的文本通过将单词指纹ORing在一起来转换为指纹。在此转换为(数字)二进制向量表示后,可以使用欧几里得距离或余弦相似度等距离度量轻松计算语义距离。api提供了所有必要的转换和比较功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16205020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档