0

python nltk中是否有任何包可以为给定单词生成所有不同的词性单词。例如,如果我给出加法(动词),那么它必须产生加法(名词),加法(adj)等等。谁能告诉我?

4

3 回答 3

2

我能想到两个选项:

选项一是遍历示例 POS 标记语料库并简单地自己构建此映射。这为您提供了与语料库中特定单词相关联的 POS 标签。

选项二是在语料库上构建一个隐藏的马尔可夫模型词性标注器,然后检查模型的值。这为您提供了与语料库中特定单词相关联的 POS 标签以及它们的先验概率,以及一些其他统计数据。

根据您的用例,一个可能比另一个更好。我将从选项一开始,因为它既快速又简单。

于 2010-11-11T16:07:15.063 回答
0

NLTK 隐藏了很多聪明的东西,所以可能有一种直接的方法。但是,我认为您可能必须编写自己的代码才能使用 WordNet 数据库。

于 2010-11-11T13:51:31.660 回答
0

这可能是您正在寻找的:

from nltk.corpus import wordnet

add = wordnet.synsets('add', 'v')

add
>>> 
[Synset('add.v.01'),
 Synset('add.v.02'),
 Synset('lend.v.01'),
 Synset('add.v.04'),
 Synset('total.v.02'),
 Synset('add.v.06')]

lemma = add[0].lemmas[0]

lemma
>>> Lemma('add.v.01.add')
lemma.derivationally_related_forms()
>>> [Lemma('addition.n.02.addition'), Lemma('linear.a.01.additive')]
于 2012-09-12T04:27:12.763 回答