关于ZAKER 融媒体解决方案 合作 加入

python-NLTK-WordNet:长单词列表

CocoaChina 11-14

我想在 WordNet 中找到至少 18 个字符长的单词 . 我尝试了以下代码:

from nltk.corpus import wordnet as wnsorted ( w for w in wn.synset ( ) .name ( ) if len ( w ) >18 )

我收到以下错误消息:

06001

TypeError: synset ( ) missing 1 required positional argument: ‘ name ’

我正在使用 Python 3.4.3.

如何修复我的代码?

最佳答案

使用 wn.all_lemma_names ( ) 获取所有引理的列表 . 我相信这就是您将从 Wordnet 中得到的所有单词 , 因此不需要遍历同义词集 ( 但是如果您愿意 , 可以为每个引理调用同义词集 ) .

您可能需要按长度对匹配进行排序:

longwords = [ n for n in wn.all_lemma_names ( ) if len ( n ) > 18 ] longwords.sort ( key=len, reverse=True )

以上内容由"CocoaChina"上传发布 查看原文