【发布时间】:2023-04-07 03:26:02
【问题描述】:
我一直在学习基本的 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*))
在一个循环中?
谢谢!
【问题讨论】:
-
对不起,我正要回答这个问题,但我不明白你在问什么:D
-
同义词集接受
synsets(lemma, pos=None, lang='en')
的参数,因此它只接受1 个引理,您需要在for
循环中迭代引理,但您究竟想在这里实现什么? -
一般来说,我尝试为给定列表的每个词义提取完整的下义词列表(如上)
-
经过一番研究,我尝试 import nltk.corpus as corpus wordnet = corpus.wordnet list = ["cat", "dog", "car"] for word in list: wordFromList = wordnet. synsets(word)[0] print(wordFromList, wordFromList.lemma_names(), wordFromList.hyponyms())
-
它确实给出了我想要的输出,但只是每个名词的第一感觉......我可以以“car.n.01”,“car.n.”的样式列出一个列表。 02" 等,但 WN 似乎不接受此输入?
标签:
python
python-3.x
machine-learning
nltk
wordnet
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:查找列表中每个项目的 Python NLTK Wordnet Synsets - Python技术站