首页 > 解决方案 > Spacy lemmatization:单词“number”的错误结果

问题描述

我发现 spacy 错误地将“数字”一词词形还原为“麻木”,这导致我之后进行主题建模时主题不准确。下面是输出“numb”的示例代码。我试图用“word.lemma_.strip()”替换“word.lemma_”,但得到了相同的结果。

如何自定义 lemma_ 函数,以便“数字”在词形化后不会转换为“麻木”?

test = nlp('number')

for word in test:
        print(word.lemma_)

##This output "numb" 

更新:我试图将 'number' 的 POS 强制为 NOUN,但在 .lemma_ 函数之后仍然得到 'numb'。

from spacy.symbols import NOUN, PROPN

test = nlp('my phone number is 3')

for word in test:
    if word.text == "number":
        word.pos = NOUN
    
    print(word.lemma_)

标签: python-3.xnlpspacylemmatization

解决方案


推荐阅读