我下载了en_core_web_lg(en_core_web_lg-2.0.0),但是当我加载它并将其用于spacy时。但这似乎错过了许多基本的常用停用词,例如“ be”,“ a”等。我是否缺少正确的版本?
import nltk
n = nltk.corpus.stopwords.words('english')
"be" in n
O / P:是
import spacy
nlp = spacy.load("en_core_web_lg")
nlp.vocab["be"].is_stop
O / P:错误
答案 0 :(得分:2)
您可能已经遇到了这个错误:
https://github.com/explosion/spaCy/issues/1574
en_core_web_md和en_core_web_lg模型缺少停止词,但是您的代码将与en_core_web_sm一起正常工作。
答案 1 :(得分:0)
英语停用词在this文件中定义,您可以看到它们属于它们。
您可以导入英语停用词集,然后检查您的词是否属于它。 可能有更简单的方法,但是以下代码可以确保实现您所需要的:
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)