代码之家  ›  专栏  ›  技术社区  ›  myang

如何在一个句子中列出所有表示动物的英语术语?

  •  3
  • myang  · 技术社区  · 10 年前

    例如,在句子“ 两只马刚躺下,一群失去了母亲的小鸭就鱼贯而入,虚弱地吱吱叫着,左右徘徊,寻找一个不会被践踏的地方。 “,有两种动物:马和鸭。

    我在寻找动物名称的词汇表,但无法找到足够完整的词汇表。这个 WordNet 数据库看起来很有前途,但可能过于夸张,也不够广泛。

    1 回复  |  直到 10 年前
        1
  •  4
  •   kkm -still wary of SE promises    10 年前

    WordNet是一个很好的工具,我认为你走在了正确的轨道上。您正在寻找的关系是 假名/假名 关系:名词 作为 动物 相反, 动物 是的超名 .WordNet确实提供了数据来评估两个名词是否处于这种关系中。

    说到WordNet,你可能会发现 noun.animal 文件这可能会使您的特定问题更简单。

    小鸭 鸭子 ,您可以浏览WordNet的 姐妹任期 关系,它提供了相关单词的集合。我不确定你是否会从中得到假阳性,但可能会有一些。 鸭子 小鸭 也列在 衍生相关的 关系,但是 幼兽 不是。这可能是一个没有意义的问题,因为两者都是 小鸭 幼兽 从某种意义上说,是动物。

    然而,你必须标记词性,并且只考虑名词,否则当句子使用动词时,你会得到误报 骑着马到处跑 躲避 (猛拉)。词性(POS)标记本身就是一个完整的问题,您可能想看看现有的一些库。大多数成功的方法都使用了统计方法,但结果非常可靠,尽管可能不是100%正确。

    此外,你将不可避免地从名词谐音中得到其他类型的误报。例如 可能指的是一件体操器材,显然不是动物。 鸭子 也可以指一种织物。如果没有更深入的上下文,你不太可能解析这样的同音异义。但是,如果没有完全理解文本的一般智力,这个问题就不可能完全解决。