给出一组10个单词(“狗”,“猫”,“兔子”……)如果有的话,我想找出最低的常见上位词。
我知道WordNet可以让你在两个同义词集中找到一个同义词,但是在多个单词中找到它的好方法是什么?
我的问题来自于这样一个事实:每个单词都有一组sysnet,在这个集合中,每个成员都可以有一个不同的上位词,每个上位词都有一组同义词,依此类推。因此,一个朴素的算法最终会进行大量的迭代。
发布于 2020-11-09 11:04:24
给定WordNet中的两个单词(同义词集),找出它们的最低常见上位词(LCH)。然后找到那个上位词和下一个单词的LCH。重复,直到你完成了所有的单词。在代码中,这可能如下所示:
syns = [...] # list of synsets
lch = syns[0]
for word in syns[1:]:
lch = find_lch(lch, word)你必须进行N次迭代,其中N是你的列表的大小,但这是没有办法的。
https://stackoverflow.com/questions/64730409
复制相似问题