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

时间:2015-01-21 17:01:07

标签: nlp lexical-analysis pattern-recognition

例如,在句子中" 当一群失去母亲的小鸭子进入谷仓时,两匹马刚刚躺下来,无力地徘徊,从一边到另一边徘徊寻找他们不会被践踏的地方。"有两种动物:马和鸭。

我一直在寻找动物名单的词汇表,但却无法获得足够完整的内容。 WordNet数据库看起来很有希望,但可能有点矫枉过正,也不够广泛。

1 个答案:

答案 0 :(得分:4)

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

说到WordNet,您可能会在noun.animal文件中找到所有动物。这可能会使您的特定问题更简单。

要从 duckling 转到 duck ,您可以浏览WordNet的姐妹词关系,它会提供相关词汇的集合。我不确定你是否会从中得到误报,但可能会有一些。 Duck duckling 也列在衍生相关的关系中,但 lion cub 不是。这可能是一个有争议的问题,因为在某些词义上, duckling cub 都是动物。

然而,你必须标记词性,并且只考虑名词,否则当句子使用动词围绕来躲避(挺举)。词性(POS)标记本身就是一个完整的问题,您可能希望查看一些现有的库。最成功的是使用统计方法,但结果相当稳健,尽管可能不是100%正确。

此外,你将不可避免地从名词同义词中获得其他类型的误报。例如,可以指一件体操设备,这显然不是动物。 Duck 也可以指一种面料。如果没有更深层次的背景,你将无法解决这种同性恋问题。但是如果没有完全理解文本的完整智能,这个问题就不是完全可以解决的了。