POS-теги в НЛП - PullRequest
1 голос
/ 12 мая 2019

Я делаю курс в NLTK Python, который имеет практическую проблему (на Katacoda) в "Text Corpora", и он не принимает мое решение, упомянутое ниже.Застрял в этой проблеме с давних пор.Необходимо выполнить это практическое задание, чтобы продолжить предисловие в курсе.

Определение проблемы

  1. Импорт текста в коричневом цвете.
  2. Извлечь список с тегамислова из корпуса коричневого цвета.Сохраните результат в brown_tagged_words

  3. Создайте триграммы brown_tagged_words и сохраните результат в brown_tagged_trigrams.

4. Для каждой триграммы brown_tagged_trigrams определитетеги, связанные с каждым словом.В результате получается список кортежей, где каждый кортеж содержит pos-теги из 3 последовательных слов, встречающихся в тексте.Сохраните результат в brown_trigram_pos_tags.

5. Определите частотное распределение brown_trigram_pos_tags и сохраните результат в brown_trigram_pos_tags_freq.6.Печать числа вхождений триграммы («JJ», «NN», «IN»)

Для этого я попробовал следующее решение:
import nltk
from nltk.corpus import brown
brown_tagged_words = [w for w in brown.tagged_words()]
brown_tagged_trigrams = nltk.trigrams(brown_tagged_words)
brown_trigram_pos_tags = [(w1[1],w2[1],w2[1]) for w1,w2,w3 in brown_tagged_trigrams]
brown_trigram_pos_tags_freq = nltk.FreqDist(brown_trigram_pos_tags)
print(brown_trigram_pos_tags_freq[('JJ', 'NN', 'IN')])

1 Ответ

0 голосов
/ 13 мая 2019

Попробуйте это: -

('IN', 'AT', 'AT')

Вы получите результат: 43271

вы получаете 0, потому что нет (JJ, NN, IN).

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