我正在寻找一种构建单词层次结构的方法。
背景:我是一名“业余”自然语言处理爱好者,现在我感兴趣的问题之一就是从一组单词中确定单词语义的层次结构。
例如,如果我有一个包含其他人的“超级”表示的集合,即
[cat, dog, monkey, animal, bird, ... ]
我有兴趣使用任何技术,这些技术可以让我提取“动物”这个词,这个词对这个词组中的其他词有最有意义和最准确的表示。
注意:它们的含义并不相同。猫!=狗!=猴子!=动物 但是猫是动物的一个子集,而狗则是动物的一个子集。
我知道现在很多人会告诉我使用wordnet。好吧,我会尝试,但我真的有兴趣做一个特定领域的WordNet不适用的领域,因为: 1)在Wordnet中找不到大多数单词 2)所有单词都是另一种语言;翻译是可能的,但效果有限。
另一个例子是:
[ noise reduction, focal length, flash, functionality, .. ]
因此功能包括此集合中的所有内容。
我还试过抓取维基百科页面并在td-idf等上应用一些技术,但维基百科页面也没有那么多。
有人可能会告诉我我的研究应朝哪个方向发展吗? (我可以使用任何东西)
答案 0 :(得分:5)
看起来你想在WordNet中使用类似hypernym/hyponym relationships的内容,但由于语言和域特定的覆盖问题而没有实际使用WordNet?也就是说,如果您具有特定于域的hypernym关系,则只需查找包含列表中所有单词的最近父级,或者等于其中一个列表单词的最近节点,就可以获得“超级”表示。并包含所有其他人。
首先,我要指出WordNets实际上可用于很多世界主要语言,请参阅Global WordNet上的列表。
要获得域特定的上层关系,您可以使用Snow等人的Learning syntactic patterns for automatic hypernym discovery中提供的技术。也就是说,您可以从一小部分种子上位词开始,然后使用它们训练分类器以检测语料库中的上位词。然后,您将对来自域的数据运行此分类器,以构建特定于域的hypernym对的列表。
答案 1 :(得分:1)
opinion mining and sentiment analysis人可能正在做相关的事情,在决定哪些词代表产品的特征方面,而不知道产品的任何信息。
快速勾画出一个关于如何做到这一点的想法,我已经完全在现场做了: 解析相关领域的一堆句子;找到名词短语和形容词。找出哪些名词短语与哪些形容词相关联。 Cluster基于用于描述它们的形容词集合,将名词短语组合在一起。动物会聚在一起,因为它们会被“毛茸茸”或“可爱”等形容词所描述。(特别是,等级聚类可能是最合适的。)
如果你试试这个,并且它有效,请告诉我。 :)