tokens = [The, wage, productivity, nexus, the, process, of, development,....]
我正在尝试使用SpaCy的Lemmatizer将令牌列表转换为它们的词形还原形式。 这里 是我正在使用的文档。
我的代码:
from spacy.lemmatizer import Lemmatizer
from spacy.lookups import Lookups
lookups = Lookups()
lookups.add_table("lemma_rules")
lemmatizer = Lemmatizer(lookups)
lemmas = []
for tokens in filtered_tokens:
lemmas.append(lemmatizer(tokens))
错误信息
TypeError Traceback (most recent call last)
in
7 lemmas = []
8 for tokens in filtered_tokens:
----> 9 lemmas.append(lemmatizer(tokens))
TypeError: __call__() missing 1 required positional argument: 'univ_pos'
我了解了在这个讨论中SpaCy的词形还原器如何工作,并且理论上明白了它的工作原理。然而,我不确定如何实际应用它。
我如何找到我的标记的
univ_pos
?
.lemma_
属性中提供了词元功能。如果无法解析完整句子,则必须手动应用标签。如果您的令牌是spaCyTokens
,则只需调用.lemma_
即可获取词元。 - bivouac0