信息检索 - 寻找术语同义词

时间:2016-11-18 15:08:17

标签: web-crawler information-retrieval

这是一个相当广泛的问题,我不是在寻找具体的实施(好吧,如果解决这个问题的某些东西已经存在,那将是非常棒的)。如果有人能够就如何检索所请求的信息给出任何想法,那将是完美的。

让我在一个例子中描述问题。我有一个大学的名字(例如牛津大学)。我将过滤推特,以便找到提及这所大学的twits。显然,他们中的大多数都不会直接包含“牛津大学”和“#34;但更像是" Oxon"," Oxf"或只是"牛津"可能会被使用。

我的问题是如何自动找到单词的所有同义词(更准确 - 我只对大学和名字感兴趣)。

3 个答案:

答案 0 :(得分:3)

这些问题没有简单的直接解决方案,但您可以实施本文:Named Entity Recognition from Tweets

如果您想了解有关此问题的更多信息,请搜索命名实体识别(NER)。

答案 1 :(得分:1)

通常,答案是使用词干。麻烦的是你没有使用字典单词。大学名称通常具有大量不遵循惯例的缩写。下一个合乎逻辑的步骤是使用正则表达式,但是twitter不支持正则表达式进行搜索,所有信息必须进行一般搜索并进行后期处理。

最好的办法是使用查询运算符组合尽可能缩小搜索范围https://dev.twitter.com/rest/public/search。然后在服务器端发布流程。虽然这是一个非常优雅的答案与大量的手工工作,我没有看到另一种方法。

答案 2 :(得分:0)

根据您使用的语言和平台,有可用的NER提取器,对于Java,可以使用Standford中的库,因此无需编写自己的库。另请参阅此answer for Java,它有更多有用的工具。

运行该工具后,您可以浏览不同的类别,以便在视觉上识别相关的事物(如Oxford Oxf MIT等),然后您可能需要通过使用word2vec运行词干/执行单词聚类来进行一些后处理。