【问题标题】:Lowest common hypernyms shared by a set of words一组词共享的最低常用上位词
【发布时间】:2020-11-07 17:19:08
【问题描述】:

给定一组 10 个单词(["dog", "cat", "rabbit" .... ]),如果有的话,我想找出最常用的上位词。

我知道 WordNet 可以让您在两个同义词集之间找到一个,但是在多个词中找到它的好方法是什么?

我的问题来自这样一个事实,每个单词都有一组 sysnets,其中这个集合的每个成员可以有不同的上位词,每个上位词都有一组同义词,依此类推。所以一个简单的算法最终会进行很多迭代。

【问题讨论】:

    标签: python nlp wordnet synset hypernym


    【解决方案1】:

    给定 WordNet 中的两个词(同义词集),找出它们的最低共同上位词 (LCH)。然后找到那个上位词和下一个词的 LCH。重复,直到你完成所有的单词。在代码中可能如下所示:

    syns = [...] # list of synsets
    lch = syns[0]
    for word in syns[1:]:
        lch = find_lch(lch, word)
    

    您必须进行 N 次迭代,其中 N 是列表的大小,但没有办法解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      • 2021-06-11
      • 2016-09-23
      • 1970-01-01
      相关资源
      最近更新 更多