如何使用NLTK计算WordNet中最深的节点?

2024-04-25 17:46:03 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有内置的功能来使用NLTK查找单词层次结构中最低的单词?例如,如果在http://www.randomhacks.net/2009/12/29/visualizing-wordnet-relationships-as-graphs/处的第一个图形中,“胎盘”和“食肉动物”之间没有边,则最低的单词将是“胎盘”和“食肉动物”(两者与“实体”的距离均为10)。你知道吗


Tags: 功能httpnet层次结构aswww单词内置
1条回答
网友
1楼 · 发布于 2024-04-25 17:46:03

你可以找到没有下义词的语法集

from nltk.corpus import wordnet as wn

lowest_level = set()

for ss in wn.all_synsets():
    if ss.hyponyms() == []:
        lowest_level.add(ss)

len(lowest_level) # 97651

如果要排除具有实例下义词的语法集:

from nltk.corpus import wordnet as wn

lowest_level = set()

for ss in wn.all_synsets():
    if ss.hyponyms() == ss.instance_hyponyms() == []:
        lowest_level.add(ss)

len(lowest_level) # 97187

相关问题 更多 >