2016-11-30 3 views
0

В следующем коде почему nltk считает, что «select» - это прилагательное, а не глагол?POS-тегирование - NLTK считает, что существительное - это глагол

>>> import nltk 
>>> t = nltk.tokenize.word_tokenize("select icon from icon") 
>>> nltk.tag.pos_tag(t) 
[('select', 'JJ'), ('icon', 'NN'), ('from', 'IN'), ('icon', 'NN')] 
+0

Ну, это неоднозначно. – Max

ответ

1

Я думаю, что нет простого ответа, потому что Таггер обучаются с помощью статистической модели (я нашел его обучаясь с развинчиванием триграммы моделью Маркова на Penn Treebank here).

Я мог бы представить, что «выбрать значок из значка» является очень редким явлением в учебном корпусе (если это вообще произошло), поэтому, глядя на первое слово, не имея более контекстной информации, кроме, может быть, для начала нового предложение, он назначил JJ как наиболее вероятный тег.

Если это огромная проблема для вас, вы можете рассмотреть возможность обучения собственного теггера на корпусе, где происходит большее количество подобных предложений или обогащается старым, используя что-то вроде this.