【问题标题】:which similarity function of nltk.corpus.wordnet is Appropriate for find similarity of two words?nltk.corpus.wordnet 的哪个相似度函数适合查找两个单词的相似度?
【发布时间】:2011-09-13 10:42:56
【问题描述】:

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

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

我想使用 word clusteringyarowsky 算法的函数在大文本中查找相似的 collocation

【问题讨论】:

    标签: python nlp nltk wordnet corpus


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-01
        • 2021-10-12
        相关资源
        最近更新 更多