在Python NLP中搜索整个系列的同义词集(来自NLTK)

时间:2012-04-11 05:48:01

标签: python nlp nltk wordnet

原始问题:

一个词的多义词就是它所具有的感官数量。使用WordNet,我们可以 确定名词狗有len的七种感觉(wn.synsets('dog','n'))。 根据名词计算名词,动词,形容词和副词的平均多义词 到WordNet。

根据我从问题中收集到的内容,我在NLTK中使用内置的多义词方法与WordNet一起找出感官的数量。

更重要的是,我正在尝试使用所有可用的可用同义词并将其循环通过, 并将所有返回的值放入集合中。 在此之后,我本来打算添加新创建的集合中的所有同义集的总数(用整数填充)来接收总和。 获得此总和后,我会将总条目数除以接收平均值。

我最大的问题是......我将如何循环使用所有可用的同义词以及名词,动词,形容词和副词?

  • 经过各种网站的研究后,我发现“wn.all_synsets('n')”将返回所有可能的名词同义词。

然而它返回的类型是“生成器”,我如何使用循环来迭代“生成器”类型?

。>>> allsynsets = wn.all_synsets('n')

>。>> allsynsets

< .generator对象all_synsets位于0x04359F30>

>。>>类型(allsynsets)

< .type'generator'>

我希望我提供了足够的信息,让任何人都可以找到这个问题的答案。 我没有源代码,除了导入和测试以了解此问题的生成器类型。

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

这些方法中的任何一个都应该起作用

list = [x for x in wx.all_synsets('n')]

for x in wx.all_synsets('n'):
    print x

[edit]这会更多地谈论发电机(在网络上的许多其他来源) http://www.dalkescientific.com/writings/NBN/generators.html