例如,假设给出“happy”这个词,我想生成其他形式的happy,例如幸福、幸福...等。
我已经阅读了有关 Stackoverflow 和 NLTK 引用资料的其他一些先前问题。然而,只有词性标注,变形就像识别句子中某些单词的语法形式,而不是生成不同单词的列表。有没有人遇到过类似的问题?谢谢。
最佳答案
此类信息包含在 NLTK 的 WordNet 实现的 Lemma
类中。具体来说,它可以在 Lemma.derivationally_lated_forms()
中找到。
下面是一个示例脚本,用于查找“happy”的所有可能派生形式:
from nltk.corpus import wordnet as wn
forms = set() #We'll store the derivational forms in a set to eliminate duplicates
for happy_lemma in wn.lemmas("happy"): #for each "happy" lemma in WordNet
forms.add(happy_lemma.name()) #add the lemma itself
for related_lemma in happy_lemma.derivationally_related_forms(): #for each related lemma
forms.add(related_lemma.name()) #add the related lemma
不幸的是,WordNet 中的信息并不完整。上面的脚本找到了“happy”和“happiness”,但未能找到“happily”,即使有多个“happily”引理。
关于python - 使用 NLTK,当给出某个单词时,如何生成不同形式的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45145020/