【问题标题】:with NLTK, How can I generate different form of word, when a certain word is given?使用 NLTK,当给定某个单词时,如何生成不同形式的单词?
【发布时间】:2023-03-25 13:45:01
【问题描述】:

例如,假设给定单词“happy”,我想生成其他形式的happy,例如happy、happy...等。

我已经阅读了有关 Stackoverflow 和 NLTK 参考的其他一些先前问题。但是,只有词性标注,变形就像识别句子中某些单词的语法形式,而不是生成不同单词的列表。有没有人遇到过类似的问题?谢谢。

【问题讨论】:

  • 这与词干提取相反。在您的情况下,您可以将词干应用于大型语料库,跟踪哪些词被词干为相同的形式——例如,使用兰开斯特词干分析器,“快乐”、“快乐”和“快乐”都映射到“快乐” ”。然后将这些集群用于生成任务。

标签: python python-2.7 nlp nltk wordnet


【解决方案1】:

此类信息包含在 NLTK 的 WordNet 实现的 Lemma 类中。具体来说,它位于Lemma.derivationally_related_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”,但没有找到“happyly”,即使有多个“happyly”引理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多