【问题标题】:Can I save the original conjugation of a lemma in WordNet?我可以在 WordNet 中保存引理的原始共轭吗?
【发布时间】:2019-12-06 17:35:26
【问题描述】:

我有一个使用 NLTK 和 WordNet 将单词替换为同义词的脚本。据我所知,通过词形还原来找到同义词的最有效方法,但这会消除过程中的共轭。

例如,假设我想将“无聊”替换为“钻孔”...

word = 'bored'
syns = []
wordNetSynset =  wn.synsets(word)
for synSet in wordNetSynset:
     for w in synSet.lemma_names():
        syns.append(w)

set(syns)

输出:

{'blase', 'bore', 'bored', 'drill', 'tire', 'world-weary'}

我可以使用一些 POS 过滤来确保我只返回动词,但它们不会被适当地共轭。我可以得到“无聊”,“钻头”和“轮胎”......我如何得到“无聊”,“钻头”和“疲倦”?或者,如果我做名词,如果我想要“bores”、“drills”或“tires”怎么办?

(我将手动检查这些,所以现在意义不是问题。)

【问题讨论】:

  • 我不确定 NLTK 是否有简单的方法来做到这一点。您可以使用Lemminflect(我的项目)并让它根据原始单词的 Penn-Treebank 标记来变形同义词。

标签: python nlp nltk wordnet lemmatization


【解决方案1】:

这是一个表面实现的任务。在词元化并找到适当的同义词之后,您可以使用例如simpleNLG 或您选择的其他表面实现器。您需要做的是检查原词的屈折类型(例如过去的第三人称),并使用表面实现模块的功能恢复同义词。

【讨论】:

  • 谢谢,我刚刚使用 [patterns[(clips.uantwerpen.be/pages/pattern-en) 提取时态并使用模式文档中的共轭参考表对其进行编码。到目前为止一切正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-09
  • 1970-01-01
  • 2013-11-30
相关资源
最近更新 更多