Spacy 自动将单词添加到 vocab?
Spacy adds words automatically to vocab?
我加载了常规的 spacy 语言,并尝试了以下代码:
import spacy
nlp = spacy.load("en_core_web_md")
text = "xxasdfdsfsdzz is the first U.S. public company"
if 'xxasdfdsfsdzz' in nlp.vocab:
print("in")
else:
print("not")
if 'Apple' in nlp.vocab:
print("in")
else:
print("not")
# Process the text
doc = nlp(text)
if 'xxasdfdsfsdzz' in nlp.vocab:
print("in")
else:
print("not")
if 'Apple' in nlp.vocab:
print("in")
else:
print("not")
他们打电话分析后,好像是spacy loaded words - nlp(text)
有人可以解释输出吗?我怎样才能避免它?为什么词汇中不存在“Apple
”?为什么存在“xxasdfdsfsdzz
”?
输出:
not
not
in
not
spaCy Vocab 主要是一个内部实现细节,用于与 memory-efficient 存储字符串的方法交互。它绝对不是“真实单词”列表或您可能会发现有用的任何其他内容。
默认情况下 Vocab 存储的主要内容是内部使用的字符串,例如 POS 和依存关系标签。在带有向量的管道中,向量中的词也被包括在内。您可以阅读更多关于实施细节 here.
nlp
对象看到的所有单词都需要存储其字符串,因此将出现在 Vocab 中。这就是您在上面的示例中看到的无意义字符串。
我加载了常规的 spacy 语言,并尝试了以下代码:
import spacy
nlp = spacy.load("en_core_web_md")
text = "xxasdfdsfsdzz is the first U.S. public company"
if 'xxasdfdsfsdzz' in nlp.vocab:
print("in")
else:
print("not")
if 'Apple' in nlp.vocab:
print("in")
else:
print("not")
# Process the text
doc = nlp(text)
if 'xxasdfdsfsdzz' in nlp.vocab:
print("in")
else:
print("not")
if 'Apple' in nlp.vocab:
print("in")
else:
print("not")
他们打电话分析后,好像是spacy loaded words - nlp(text)
有人可以解释输出吗?我怎样才能避免它?为什么词汇中不存在“Apple
”?为什么存在“xxasdfdsfsdzz
”?
输出:
not
not
in
not
spaCy Vocab 主要是一个内部实现细节,用于与 memory-efficient 存储字符串的方法交互。它绝对不是“真实单词”列表或您可能会发现有用的任何其他内容。
默认情况下 Vocab 存储的主要内容是内部使用的字符串,例如 POS 和依存关系标签。在带有向量的管道中,向量中的词也被包括在内。您可以阅读更多关于实施细节 here.
nlp
对象看到的所有单词都需要存储其字符串,因此将出现在 Vocab 中。这就是您在上面的示例中看到的无意义字符串。