gpt4 book ai didi

python - 为列表的每个项目查找 Python NLTK Wordnet Synsets

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:33 24 4
gpt4 key购买 nike

我一直在学习基本的 python,但我是 NLTK 的新手。我想使用 nltk 为给定的单词列表提取下位词。当我手动输入每个术语时它工作正常,但当我尝试遍历列表项时它似乎不起作用。

这个有效:

from nltk.corpus import wordnet as wn

syn_sets = wn.synsets("car")

for syn_set in syn_sets:
print(syn_set, syn_set.lemma_names())
print(syn_set.hyponyms())

但是我如何让 Wordnet 方法处理像这样的项目列表

token = ["cat", "dog", "car"]
syn_sets = wn.synsets((*get each item from the list*))

在循环中?

谢谢!

最佳答案

列出理解来拯救!

完全有可能,甚至使用与您之前使用的语法非常相似的语法。 Python 有一个称为 [list comprehension][1] 的结构,正是为这个应用程序而设计的。基本上,它是用于内联 for 循环的函数式语法,但往往更简洁、更健壮,开销略低。

例子:

tokens = ["cat", "dog", "car"]
syn_sets = [wn.synsets(token) for token in tokens]

这甚至可以很容易地扩展到稍微复杂的数据结构,例如:

split_syn_sets = [(syn_set.lemma_names(), syn_set.hyponyms()) for syn_set in syn_sets]

不确定这是否正是您正在寻找的,但它应该概括为您正在寻找的与此类似的任何事情。

如果它有用,我问了一个关于获取所有相关同义词集的问题 here不久前。

关于python - 为列表的每个项目查找 Python NLTK Wordnet Synsets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28196103/

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