问题描述
给定一个词,我想获得该词的所有可能引理。我正在使用 Spacy 3。以下代码将为给定的单词输出最多一个引理。它找不到替代品。
import spacy
# Load Spanish model
nlp = spacy.load("es_core_news_sm",disable=['parser','ner'])
text = "habla"
doc = nlp(text)
for token in doc:
print("{:<12}{:<12}{:<12}{:<12}".format(token.text,token.pos_,token.tag_,token.lemma_))
# Outputs:
# text = "habla" (you/he/she speaks; speech)
# habla VERB VERB hablar
# "hablar" = to speak (verb). However "habla" also means "speech" (noun)
# text = "como" (I eat; as)
# como SCONJ SCONJ como
# not returning possible verb lemma - "comer" - to eat
# text = "come" (you/he/she eats)
# come VERB VERB come
# lemma should be "comer" not "come"
# text = "sabe" (you/she/he kNows)
# sabe VERB VERB saber
# Correct lemmatization of "sabe"
在所有情况下,即使存在更多可能性,也只会返回一个可能的引理。
我尝试过的解决方案:
- lemminflect - 可能只适用于英语
- This answer,您可以在其中设置词性标签(因此可以遍历所有可能的标签),但这似乎适用于较旧版本的 spacy
我发现的最佳替代解决方案是使用 Oxford Dictionaries API - 仅支持几种语言 - 例如,它不提供法语的引理。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)