пропущенные стоп-слова из spacy en_core_web_lg - PullRequest
0 голосов
/ 30 сентября 2018

Я скачал en_core_web_lg (en_core_web_lg-2.0.0), но когда я загружал его и использовал его на просторах.Но кажется, что пропущено множество основных общих стоп-слов, таких как «be», «a» и т. Д. Я пропустил правильную версию?

import nltk
n = nltk.corpus.stopwords.words('english')
"be" in n

O / P: True

import spacy
nlp = spacy.load("en_core_web_lg")
nlp.vocab["be"].is_stop

O / P: False

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Возможно, вы столкнулись с этой ошибкой:

https://github.com/explosion/spaCy/issues/1574

Стоп-слова отсутствуют для моделей en_core_web_md и en_core_web_lg, но ваш код будет работать, как и ожидалось, с en_core_web_sm.

0 голосов
/ 30 сентября 2018

Английские стоп-слова определены в этом файле и, как вы можете видеть, принадлежат им.

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

from spacy.lang.en import STOP_WORDS
import spacy
nlp = spacy.load('en')
doc = nlp("be amazing")
for token in doc:
    if (token.text in STOP_WORDS):
        print(token.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...