3

如果您有一个文本列表和一个对某些主题感兴趣的人,那么处理为给定人选择最相关文本的算法是什么?

我相信这是一个相当复杂的话题,作为答案,我希望有几个方向来研究文本分析、文本统计、人工智能等的各种方法。

谢谢你

4

3 回答 3

2

有很多算法可以完成这项任务。至少太多了,无法在这里全部提及。首先是一些起点:

  • 主题发现和推荐是两个非常独特的任务,尽管它们经常重叠。如果你有一个稳定的用户群,你也许可以在没有任何主题发现的情况下给出非常好的建议。

  • 发现主题并为其分配名称也是两个不同的任务。这意味着通常更容易分辨文本 A 和文本 B 共享一个相似的主题,而不是明确地能够说明这个共同的主题可能是什么。为主题命名最好由人类完成,例如让他们标记项目。

现在来看一些实际的例子。

  • TF-IDF 通常是一个很好的起点,但它也有严重的缺点。例如,它无法判断两个文本中的“汽车”和“卡车”意味着这两个可能共享一个主题。

  • http://websom.hut.fi/websom/用于自动聚类数据的 Kohonen 地图。它学习主题,然后按主题组织文本。

  • http://de.wikipedia.org/wiki/Latent_Semantic_Analysis将能够通过检测不同单词之间的语义相似性来提升 TF-IDF。另请注意,这已获得专利,因此您可能无法使用它。

  • 一旦你有一组由用户或专家指定的主题,你也可以尝试几乎任何一种机器学习方法(例如 SVM)来将 TF-IDF 数据映射到主题。

于 2011-11-04T19:57:17.097 回答
1

作为一名搜索引擎工程师,我认为最好结合使用两种技术来解决这个问题。

技术1、搜索(TF-IDF或其他算法)

使用搜索为您没有用户统计信息的内容创建基线模型。那里有许多技术,但我认为Apache Lucene/Solr代码库是迄今为止最成熟和稳定的。

技术2、基于用户的推荐(k-最近邻其他算法)

当您开始获取用户统计信息时,使用它来增强文本分析系统使用的相关性模型。解决这类问题的快速增长的代码库是Apache Mahout项目。

于 2011-11-04T12:17:30.263 回答
1

查看Programming Collective Intelligence,这是对这些方面各种技术的非常好的概述。也非常可读。

于 2011-11-04T12:59:59.713 回答