Рассчитать количество отфильтрованных биграмм - PullRequest
0 голосов
/ 22 сентября 2019

Работая над руками над проблемами в НЛП и застряв в задании, приведенном ниже.

Ниже приведены инструкции, которые должны выполняться последовательно.

Я выполнил следующие шаги, ноплатформа фрески не принимает решение.

Пожалуйста, дайте мне знать, что я сделал не так в приведенном ниже коде и действиях

ЗАДАЧА

1.Импортный текст корпус коричневый

Извлечение списка слов, связанных с текстовыми коллекциями, относящимися к жанру news .Сохраните результат в переменной news_words .

Преобразуйте каждое слово списка news_words в нижний регистр и сохраните результат в lc_news_words .

Вычислить биграммы списка lc_news_words и сохранить его в переменной lc_news_bigrams .

С lc_news_bigrams , фильтровать биграммы, где оба слова содержат только буквы алфавита.Сохраните результат в lc_news_alpha_bigrams .

Извлеките список слов, связанных со стоп-словами корпуса.Сохраните результат в stop_words .

Конвертируйте каждое слово списка stop_words в нижний регистр и сохраните результат в lc_stop_words.

Фильтровать только биграммы из lc_news_alpha_bigrams , где слова не являются частью lc_stop_words .Сохраните результат в lc_news_alpha_nonstop_bigrams .

Распечатайте общее количество отфильтрованных биграмм.

Ниже приведен код, который ясделали до сих пор.Но платформа фрески не принимает вывод.

import nltk

import nltk.corpus

from nltk.corpus import brown

from nltk.util import bigrams

from nltk.corpus import stopwords

news_words = brown.words(categories='news')

lc_news_words  = [w.lower() for w in news_words]

lc_news_bigrams = list(nltk.bigrams(lc_news_words))

lc_news_alpha_bigrams = [(word1, word2) for word1, word2 in lc_news_bigrams if (word1.isalpha() and word2.isalpha()) ]

stop_words = stopwords.words('english')

lc_stop_words = [w.lower() for w in stop_words ]

lc_news_alpha_nonstop_bigrams = [ (w1, w2) for w1, w2 in lc_news_alpha_bigrams if (w1.lower() not in lc_stop_words and w2.lower() not in lc_stop_words) ] 

len((lc_news_alpha_nonstop_bigrams))

1 Ответ

0 голосов
/ 23 сентября 2019

Вы все сделали правильно, просто уберите аргумент 'english' из

stop_words = stopwords.words('english')

stop_words = stopwords.words()

, будет работать

...