Извлечь разные POS-слова для данного слова в Python NLTK - PullRequest
0 голосов
/ 11 ноября 2010

Есть ли в python nltk какой-либо пакет, который может производить все различные части речевых слов для данного слова.Например, если я дам add (глагол), тогда он должен произвести сложение (существительное), добавление (прилагательное) и так далее.Кто-нибудь может дать мне знать?

Ответы [ 3 ]

2 голосов
/ 11 ноября 2010

Есть два варианта, которые я могу придумать:

Первый вариант - перебирать образец POS-помеченных корпусов и просто создавать это отображение самостоятельно.Это дает вам POS-теги, которые связаны с определенным словом в корпусе.

Второй вариант - создать скрытый маркер POS-модели марков на корпусе, а затем проверить значения модели.Это дает вам POS-теги, которые связаны с определенным словом в корпусе, а также их априорные вероятности, а также некоторые другие статистические данные.

В зависимости от вашего варианта использования, один может быть лучше другого.Я бы начал с первого варианта, так как это быстро и просто.

0 голосов
/ 12 сентября 2012

Это может быть то, что вы ищете:

from nltk.corpus import wordnet

add = wordnet.synsets('add', 'v')

add
>>> 
[Synset('add.v.01'),
 Synset('add.v.02'),
 Synset('lend.v.01'),
 Synset('add.v.04'),
 Synset('total.v.02'),
 Synset('add.v.06')]

lemma = add[0].lemmas[0]

lemma
>>> Lemma('add.v.01.add')
lemma.derivationally_related_forms()
>>> [Lemma('addition.n.02.addition'), Lemma('linear.a.01.additive')]
0 голосов
/ 11 ноября 2010

В NLTK скрыто множество умных вещей, поэтому может быть прямой способ сделать это.Однако я думаю, что вам, возможно, придется написать собственный код для работы с базой данных WordNet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...