首页 > 解决方案 > 如何在 spacy 中使用引理获得形容词或副词的基本形式

问题描述

对于一个项目,如果有使用 NLP 的形容词或副词,我希望能够获得形容词或副词的名词形式。例如,“deathly”会返回“death”,“dead”会返回“death”。“活泼”将返回“生命”。

我尝试过使用 spacy lemmatizer,但它无法获得基本的激进形式。例如,如果我这样做:

import spacy
nlp = spacy.load('en_core_web_sm')
z = nlp("deathly lively")
for token in z:
    print(token.lemma_)

它将返回: >>> deathly lively 而不是: >>> death life

有没有人有任何想法?任何答案表示赞赏。

标签: pythonspacylemmatization

解决方案


从我目前看到的情况来看,SpaCy 在做你想做的事情方面并不是非常出色。相反,我使用了一个名为pyinflect的第 3 方库,它旨在用作 SpaCy 的扩展。

虽然它并不完美,但我认为它会比你目前的方法更好。

我还在考虑另一个名为inflect的 3rd-party 库,它可能也值得一试。


推荐阅读