Open xxleyi opened 3 years ago
看到即友发问:有没有工具可以查询到几个单词的公共上位词? 评论区有人指出方法:wordnet 数据库
经过查询和调试,发现有成熟 Python 数据库以及相关问答:https://stackoverflow.com/questions/45289133/find-lowest-common-hypernym-given-multiple-words-in-wordsnet-python
虽然比较低效,但对付几个单词,应该绰绰有余了 :-)
# pip install nltk # 下载数据包,需要外网环境 # python3 -c "import nltk; nltk.download('wordnet')" from nltk.corpus import wordnet as wn words = ['apple', 'orange', 'pear'] senses = set(map(lambda word: wn.synsets(word)[0], words)) while len(senses) > 1: senses = {s1.lowest_common_hypernyms(s2)[0] for s1 in senses for s2 in senses if s1 != s2} if senses: print(list(senses)[0].lemma_names()[0]) else: print('nothing')
看到即友发问:有没有工具可以查询到几个单词的公共上位词? 评论区有人指出方法:wordnet 数据库
经过查询和调试,发现有成熟 Python 数据库以及相关问答:https://stackoverflow.com/questions/45289133/find-lowest-common-hypernym-given-multiple-words-in-wordsnet-python
虽然比较低效,但对付几个单词,应该绰绰有余了 :-)