5

哪个相似度函数nltk.corpus.wordnet适合查找两个单词的相似度?

 path_similarity()?
    lch_similarity()?
    wup_similarity()?
    res_similarity()?
    jcn_similarity()?
    lin_similarity()?

我想使用一个函数 forword clusteringyarowskyalgorightmcollocation在大文本中查找类似内容。

4

2 回答 2

7

这些度量实际上是针对词义(或概念)而不是词。这种区别可能很重要。换句话说,“火车”这个词可以表示“机车”或“被教导做某事”。要使用这些措施,您需要知道意在使用哪种意义。

如果你想做词聚类,这些措施可能不是你想要的……

于 2011-09-13T17:50:31.203 回答
3

为了尝试以某种自动方式匹配一些文本,我自己一直在玩 NLTK/wordnet。正如 Ted Pedersen 的回答所指出的那样,很快就会清楚,相似度函数nltk.corpus.wordnet只会为具有可靠 IS-A 谱系的密切相关术语产生非零相似度。

我最终做的是在我的文本中获取词汇,然后使用 lemma->synset->lemmas 和 lemma->similar_tos 来增长我自己的单词链接图(graph_tool这太棒了),然后计算所需的最小跳数链接 2 个单词以获得它们之间的某种(不)相似性度量(将这些打印出来非常有趣;就像观看一个非常奇怪的单词关联游戏)。即使没有任何尝试考虑 POS/sense,这对于我的目的来说确实足够好。

于 2011-09-22T20:38:11.920 回答