【问题标题】:Information retrieval - looking for term synonyms信息检索 - 寻找术语同义词
【发布时间】:2017-04-02 11:54:56
【问题描述】:

这是一个相当广泛的问题,我不是在寻找具体的实现(好吧,如果已经存在解决这个问题的东西,那就太棒了)。如果有人能告诉我如何检索所请求的信息,那将是完美的。

让我用一个例子来描述这个问题。我有一个大学的名字(例如牛津大学)。我将过滤推特以找到提到这所大学的推特。显然,它们中的大多数不会直接包含“Oxford university”,而是可能会使用“Oxon”、“Oxf”或仅包含“Oxford”之类的词。

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

【问题讨论】:

  • 我猜你不是在寻找同义词,而是人们在 twitter 中使用的单词的所有变体,对吗?如果你想要同义词,你可以使用 WordNet 之类的字典来查找同义词、反义词等等!

标签: web-crawler information-retrieval


【解决方案1】:

这类问题没有简单直接的解决方案,但是你可以实现这篇论文:Named Entity Recognition from Tweets

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      运行该工具后,您可以浏览不同的类别以首先直观地识别相关事物(例如 Oxford Oxf MIT 等),然后您可能需要通过运行词干提取/使用 word2vec 等进行词聚类来进行一些后处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-15
        相关资源
        最近更新 更多