5

有没有办法使用 NLTK 获得 Wordnet 形容词名词化?例如,对于happy所需的输出将是happiness.

我试图四处寻找,但什么也找不到。

4

1 回答 1

4

快速而肮脏的答案是 wordnet已经这样做了

  • <adj.all>S:(adj)快乐(享受或展示或以喜悦或愉悦为标志)“快乐的微笑”;“在海滩上度过了许多快乐的日子”;《幸福的婚姻》

    • 属性
      • <noun.state>S: (n) 幸福,幸福(以从满足到强烈喜悦的情绪为特征的幸福状态)
      • <noun.feeling>S:(n)幸福(处于幸福状态时所经历的情绪)
    • 派生相关形式
      • <noun.state> W: (n) 幸福 [相关于:快乐](以从满足到强烈喜悦的情绪为特征的幸福状态)
      • <noun.feeling> W:(n)幸福[相关:快乐](处于幸福状态时所经历的情绪)

剩下的问题是如何以编程方式执行此操作(无需网络抓取)。

添加:

wordnet 库包装工具非常强大,它展示了 C 库接口的广度:

$ wn happy
No information available for noun happy
No information available for verb happy
Information available for adj happy
    -antsa      Antonyms
    -synsa      Synonyms (ordered by estimated frequency)
    -attra      Attributes
    -deria      Derived Forms
    -famla      Familiarity & Polysemy Count
    -grepa      List of Compound Words
    -over       Overview of Senses
$ wn happy -deria -n1
Derived Forms of adj happy
Sense 1
happy (vs. unhappy)
       RELATED TO->(noun) happiness#1
           => happiness, felicity
       RELATED TO->(noun) happiness#2
           => happiness

因此,从 Python 上讲,您可以使用subprocess有点草率的 wn 命令,也可以使用 NLTK 中已经内置的 wordnet 工具。

在 ubuntu(可能是 debian)上,wordnet 库和工具可通过以下方式方便地获得:

sudo apt-get install wordnet wordnet-dev

唉:

$ wn pythonic
No information available for pythonic
于 2010-05-15T15:34:33.620 回答