Nlp 如何使用SpaCy或NLTK从英语中的词根或引理生成所有派生词?

Nlp 如何使用SpaCy或NLTK从英语中的词根或引理生成所有派生词?,nlp,nltk,spacy,Nlp,Nltk,Spacy,NLTK或SpaCy中是否有一个函数可以提供从给定引理词派生出的所有可能术语?例如:如果引理是“呼吸”,我需要“呼吸”的所有派生术语,如“呼吸”、“呼吸”等。如果词根是“吃”,我需要术语“吃”、“吃”、“吃”等 SpaCy中的.lemma_uuu属性和NLTK中的WordNetLemmatizer()函数可用于确定单词的引理,但如何执行相反的任务,即确定给定引理单词中的所有派生词?您可以使用pyinflect作为SpaCy扩展。您需要首先使用pip install pyindoct安装它。使用它

NLTK或SpaCy中是否有一个函数可以提供从给定引理词派生出的所有可能术语?例如:如果引理是“呼吸”,我需要“呼吸”的所有派生术语,如“呼吸”、“呼吸”等。如果词根是“吃”,我需要术语“吃”、“吃”、“吃”等


SpaCy中的.lemma_uuu属性和NLTK中的WordNetLemmatizer()函数可用于确定单词的引理,但如何执行相反的任务,即确定给定引理单词中的所有派生词?

您可以使用
pyinflect
作为SpaCy扩展。您需要首先使用
pip install pyindoct
安装它。使用它的示例:

import spacy
import pyinflect

nlp = spacy.load("en_core_web_sm")

verbs = "eating goes touch felt hit sleeping"
doc = nlp(verbs)
for token in doc:
    base = token._.inflect("VB")
    gerund = token._.inflect("VBG")
    past_tense = token._.inflect("VBD")
    past_participle = token._.inflect("VBN")
    print(token.text, "-", base, "-", gerund, "-", past_tense, "-", past_participle)

# Output:
# eating - eat - eating - ate - eaten
# goes - go - going - went - gone
# touch - touch - touching - touched - touched
# felt - feel - feeling - felt - felt
# hit - hit - hitting - hit - hit
# sleeping - sleep - sleeping - slept - slept
编辑:要获得带有简短描述的整个标记列表,请运行以下代码:

nlp = spacy.load('en_core_web_sm')
for label in nlp.get_pipe("tagger").labels:
    print(label, " -- ", spacy.explain(label))

非常感谢你。是否有文档可供我获取代表不同类型屈折变化的参数列表(如“VB”、“VBG”、“VBD”和“VBN”)?有一个术语称为词性标记,其中包括不同形式的标准词性。Spacy使用Penn Treebank POS标记。现在请用谷歌搜索一下。当我在电脑上时,我会更新我的答案