首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用哪些NLP工具来匹配具有相似含义或语义的短语

使用哪些NLP工具来匹配具有相似含义或语义的短语
EN

Stack Overflow用户
提问于 2012-08-03 23:09:14
回答 3查看 13.9K关注 0票数 16

我正在从事一个项目,这需要我匹配一个短语或关键字与一组相似的关键字。我需要对此进行语义分析。

举个例子:

相关QT

便宜的健康保险

负担得起的医疗保险

低成本医疗保险

更少的健康计划

廉价的医疗保险

常识

低成本健康保险

在这里,通常意义栏下的单词应该与相关QT栏下的匹配。我看了一堆工具和技术来做同样的事情。S-Match看起来很有前途,但我必须使用Python,而不是Java。此外,潜在语义分析看起来很好,但我认为它更适合于基于关键字而不是关键字匹配的文档分类。我对NLTK比较熟悉。有人能提供一些关于我应该继续前进的方向以及我应该使用什么工具的见解吗?

EN

回答 3

Stack Overflow用户

发布于 2014-12-25 05:54:33

如果你有一个大的语料库,这些单词出现的地方,你可以训练一个模型来将每个单词表示为向量。例如,您可以通过word2vec的"skip-gram和CBOW模型“使用深度学习,它们是在gensim software package中实现的

在word2vec模型中,每个单词都由一个向量表示,然后可以通过测量表示这个单词的向量的余弦来衡量两个单词之间的语义相似度。语义相似的词应该有很高的余弦相似度,例如:

代码语言:javascript
复制
model.similarity('cheap','inexpensive') = 0.8

(该值是虚构的,仅用于说明。)

此外,根据我的实验,对相对较少的单词(即最多3或4个单词)求和可以保留语义,例如:

代码语言:javascript
复制
vector1 = model['cheap']+model['health']+model['insurance']
vector2 = model['low']+model['cost']+model['medical']+model['insurance']

similarity(vector1,vector2) = 0.7

(再说一次,只是为了说明一下。)

您可以使用单词之间的语义相似性度量作为生成聚类的度量。

票数 6
EN

Stack Overflow用户

发布于 2014-12-28 02:54:35

当潜在语义分析指的是“文档”时,它基本上是指长度大于1的任何一组词。您可以使用它来计算文档与另一个文档之间、一个词与另一个词之间或一个词与一个文档之间的相似度。所以你当然可以在你选择的应用程序中使用它。

其他可能有用的算法包括:

  • 随机索引( https://www.sics.se/~mange/papers/RI_intro.pdf )很容易实现,没有太多困难。https://code.google.com/p/airhead-research/内部也有一个实现,但它使用的是Java语言,而不是Python语言。
  • 主题建模( http://psiexp.ss.uci.edu/research/papers/SteyversGriffithsLSABookFormatted.pdf )-在http://radimrehurek.com/gensim/tutorial.html
  • DISSECT的Python语言实现( http://clic.cimec.unitn.it/composes/toolkit/introduction.html )-在http://clic.cimec.unitn.it/composes/toolkit/installation.html
  • BEAGLE的Python语言实现( http://www.indiana.edu/~clcl/BEAGLE/Jones_Mewhort_PR.pdf )-在https://github.com/mike-lawrence/wikiBEAGLE

的Python语言实现

票数 6
EN

Stack Overflow用户

发布于 2013-01-06 22:01:22

我将从Wordnet.开始,它将为您提供成百上千个术语的真正同义词和其他单词关系。由于您标记了nltk:它为Wordnet提供了绑定,您可以将其用作特定于域的解决方案的基础。

还在NLTK中,请查看“NLTK的introduction”一书中关于similar()方法的讨论,以及它所基于的类nltk.text.ContextIndex。(这一切仍然很简单,但这可能就是您真正需要的)。

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

https://stackoverflow.com/questions/11798389

复制
相关文章

相似问题

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