获取西班牙语和其他非英语语言中单个单词的所有可能引理

问题描述

给定一个词,我想获得该词的所有可能引理。我正在使用 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 (将#修改为@)