【问题标题】:Compare two phrases using WordNet?使用 WordNet 比较两个短语?
【发布时间】:2014-06-23 18:39:01
【问题描述】:

我正在尝试比较两个短语的语义。 在 Python 中,我使用 nltk 和 difflib。 首先,我从短语中删除停用词,然后使用 WordNetLemmatizer 和 PorterStemmer 对单词进行规范化,然后将其余部分与 difflib 的 SequenceMatcher 进行比较。 我仍然认为有比使用 difflib 更好的方法。 有什么建议或提议吗? 在短语之间的比较中是否有任何使用 Wordnet 的库? 我做的步骤是否正确?

【问题讨论】:

    标签: python string nltk semantic-analysis difflib


    【解决方案1】:

    简而言之,不,你不能用 NLTK 做这种语义。而且使用 Wordnet 根本行不通,因为大多数句子都包含不在数据库中的单词。当前逼近句子语义的方法涉及分布技术(词空间模型)。

    如果您是 Python 程序员,scikit-learn 和 Gensim 通过潜在语义分析 (LSA、LSI) 和潜在狄利克雷分配 (LDA) 为您提供所需的功能。请参阅this previous question 的答案。在 Java 中,我建议您尝试出色的 S-Space package

    但是,大多数模型都会为您提供严格基于单词的表示。将单词的语义组合成更大的结构要困难得多,除非您假设短语和句子是词袋(因此,错过了例如 Mary love KateKate爱玛丽

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多