如何使用 NLTK 计算 WordNet 中的最深节点?
How to calculate the deepest node in WordNet using NLTK?
是否有使用 NLTK 查找单词层次结构中最低单词的内置功能?例如,如果在 http://www.randomhacks.net/2009/12/29/visualizing-wordnet-relationships-as-graphs/ 处的第一个图中 'placenta' 和 'carnivore' 之间没有边,则最低的单词将是 'placenta' 和 'carnivore'(两者都有距 'entity').
的距离为 10
您可以找到没有下位词的同义词集,例如
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
是否有使用 NLTK 查找单词层次结构中最低单词的内置功能?例如,如果在 http://www.randomhacks.net/2009/12/29/visualizing-wordnet-relationships-as-graphs/ 处的第一个图中 'placenta' 和 'carnivore' 之间没有边,则最低的单词将是 'placenta' 和 'carnivore'(两者都有距 'entity').
的距离为 10您可以找到没有下位词的同义词集,例如
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