Номинализация прилагательных в Python NLTK

Есть ли способ получить номиналы прилагательных Wordnet с помощью NLTK? Например, для «счастливого» желаемым результатом будет «счастье».

Я пытался копаться, но ничего не нашел.

Спасибо!


person abhgh    schedule 14.05.2010    source источник


Ответы (2)


Быстрый и грязный ответ заключается в том, что wordnet уже делает это:

  • ‹adj.all> S: (adj) счастливый (наслаждающийся или демонстрирующий или отмеченный радостью или удовольствием) «счастливая улыбка»; 'провел много счастливых дней на пляже'; "счастливый брак"

    • attribute
      • <noun.state>S: (n) happiness, felicity (state of well-being characterized by emotions ranging from contentment to intense joy)
      • ‹существительное.чувство>S: (сущ.) счастье (эмоции, испытываемые в состоянии благополучия)
    • derivationally related form
      • <noun.state> W: (n) happiness [Related to: happy] (state of well-being characterized by emotions ranging from contentment to intense joy)
      • ‹существительное.чувство> W: (сущ.) счастье [Связано с: счастливым] (эмоции, испытываемые в состоянии благополучия)

Остается вопрос, как это сделать программно (без веб-скрейпинга).

Добавлен:

Инструмент-оболочка библиотеки 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, что довольно небрежно, либо использовать средства wordnet, уже встроенные в NLTK.

В Ubuntu (и, предположительно, в Debian) библиотеки и инструменты wordnet удобно доступны:

sudo apt-get install wordnet wordnet-dev

Увы:

$ wn pythonic
No information available for pythonic
person msw    schedule 15.05.2010

Или вы можете просто задать тот же вопрос на nltk-пользователях.

person msw    schedule 16.05.2010
comment
Похоже, вы нашли мою ветку на nltk-users :) Спасибо за ответ - да, деривационные формы - это то, что мне было нужно. - person abhgh; 16.05.2010
comment
И мне было полезно узнать, что wordnet уже встроен в nltk (в Python), спасибо за это. - person msw; 16.05.2010