2010-03-14 52 views
19

我不知道是否StackOverflow覆盖NLP,所以我会给这个镜头。 我很想找到来自特定领域的两个词的语义相关性,即“图像质量”和“噪音”。我正在做一些研究,以确定相机的评论对于相机的特定属性是正面的还是负面的。 (如每个评论中的图像质量)。NLP:找到单词之间的语义相似性的任何简单而好的方法?

然而,并不是每个人都使用完全相同的措辞“影像质量”的帖子,让我出去看看是否有办法为我建立类似的东西:

“图像质量”,其中包括(“噪音”,“颜色”,“清晰度”等) 所以我可以把所有的一切都包装在一个大伞里。

我这样做是为了另一种语言,所以Wordnet不一定有帮助。不,我不为Google或Microsoft工作,因此我没有将人们点击行为的数据作为输入数据。

不过,我确实有大量的文字,POS标记,分段等

+0

如果您可以详细说明您正在使用的数据以及您想要执行的确切任务,那将会非常有用。您是否试图将个别评论的内容分类为正面或负面?或者,您是否认为评论已被标记为正面或负面,并且您正在试图弄清楚相机的哪些属性会导致用户对产品的感受(例如,产品是由5颗星中的1颗给出的,用户在评论中提到'图像质量',所以你推断图像质量很差)? – dmcer 2010-03-14 06:46:56

+0

糟糕。混淆NLP /自然语言处理与NLP /神经语言编程。我的错。 – 2010-03-14 07:48:46

+0

1)我想找到术语的伞分类: 就像多个属性实际上属于同一类别(我想这是分类呢?)我只通过机器学习方法处理分类,我非常怀疑可以适用于NLP 2)我基本上想告诉我两个概念术语之间的相似性:“焦点”与“细节”应该高于“相机重量”与“闪光灯” – sadawd 2010-03-14 07:53:07

回答

5

退房谷歌类似距离 - http://arxiv.org/abs/cs.CL/0412098 如。如果很多网页都包含它们,它们可能是相关的。

演示程序在http://mechanicalcinderella.com

除此之外,你可以试着翻译像共发现一个项目((谷歌翻译能帮助),或启动协作的本体。

+0

在该演示中,(编程,动物)的连接强于(编程,html)) http://www.mechanicalcinderella.com/index.php?inset%5B%5D=animal&inset%5B%5D=html &插图%5B%5D =&插图%5B%5D =&插图%5B%5D =&inatr%5B%5D =编程&inatr%5B%5D =&inatr%5B%5D =&inatr%5B%5D =&inatr%5B%5D =&DOMENA = #results – Mher 2014-07-03 10:35:55

+0

http://mechanicalcinderella.com现在破碎 – 2018-01-07 06:57:04

4

为了找到之间的语义相似文字,word space model应该做的伎俩。这样的模型可以很容易和相当有效地实现。很可能,你会想要实现某种降维。最简单的我可以想到的是Random Indexing,它已被广泛使用in NLP。

一旦你有了你的词空间模型,你就可以计算距离(例如,余弦距离)。在这样的模型中,您应该得到前面提到的结果()“焦点”和“细节”之间的距离应该高于“相机重量”和“闪光”)。

希望这会有所帮助!

+0

这两个链接现在破碎 – snoram 2018-01-16 09:16:51

2

几周前我在HackerNews上看到了word2vec,看起来非常接近你想要的。

1

字空间绝对是这里的一种方式。如果LSA对您的应用程序来说太慢了,并且随机索引中的语义太浅,您应该考虑api.cortical.io。 该REST API可以为您提供任何单词的语义指纹表示。该语义指纹包含单词所属的所有不同上下文。你可以用任何一个叫“器官”返回的单词来消除歧义(肌肉,钢琴,教堂,会员......) 对于每一种情况你都可以得到上下文相关的术语:“钢琴”会给(器官,单簧管,小提琴,长笛,大提琴,作曲,大键琴,管弦乐) 关于你的最后一个方面,这些语义指纹是完全独立于语言的。目前cortical.io API涵盖:英文,西班牙文,法文,德文,丹麦文,阿拉伯文,俄文,中文。更多语言正在发布到2014年底。

相关问题