是否有内置功能可以使用NLTK查找单词层次结构中的最低单词?例如,如果在http://www.randomhacks.net/2009/12/29/visualizing-wordnet-relationships-as-graphs/的第一个图中“胎盘”和“食肉动物”之间没有边缘,则最低的词将是“胎盘”和“食肉动物”(两者与“实体”的距离为10)。
答案 0 :(得分:0)
您可以找到没有下位词的同义词集,例如
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
如果您想使用实例hyponyms排除同义词:
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