gpt4 book ai didi

python - 从 NLTK for Python 中的同义词集列表中提取单词

转载 作者:太空狗 更新时间:2023-10-30 02:44:09 24 4
gpt4 key购买 nike

使用这个 [x for x in wn.all_synsets('n')]我能够得到一份 list allnouns在 NLTK 的帮助下使用 Wordnet 中的所有名词。

列表allnouns看起来像这样 Synset('pile.n.01'), Synset('compost_heap.n.01'), Synset('mass.n.03')等等。现在我可以使用 allnouns[2] 获取任何元素这应该是 Synset('mass.n.03') .

我想只提取单词 mass 但出于某种原因我不能将其视为字符串,我尝试的所有内容都显示 AttributeError: 'Synset' object has no attributeTypeError: 'Synset' object is not subscriptable<bound method Synset.name of Synset('mass.n.03')>如果我尝试使用 .name 或 .pos

最佳答案

试试这个解决方案怎么样:

>>>> from nltk.corpus import wordnet as wn
>>>> wn.synset('mass.n.03').name().split(".")[0]
'mass'

针对您的情况:

>>>> allnouns = [x for x in wn.all_synsets('n')]  

第 23 个索引的项目是“Synset('substance.n.07')”。现在,您可以像这样提取其名称字段

>>>> allnouns[23].name().split(".")[0]
'substance' #output

如果您只想要列表中“名词”类别的同义词集的“名称”字段,请使用:

>>>> [x.name().split(".")[0] for x in wn.all_synsets('n')]

应该准确地给出您需要的结果。

注意:在 wordnet 中,name 不是属性而是函数!

关于python - 从 NLTK for Python 中的同义词集列表中提取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30812859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com