如果您有一个文本列表和对某些主题感兴趣的人,那么为给定人选择最相关文本的算法是什么?
我认为这是一个相当复杂的主题,作为一个答案,我希望有一些方向来研究文本分析,文本统计,人工智能等各种方法。
谢谢
答案 0 :(得分:2)
这项任务有很多算法。至少在这里提到它们太多了。首先是一些起点:
主题发现和推荐是两个非常独特的任务,尽管它们经常重叠。如果您拥有稳定的用户群,则可以在没有任何主题发现的情况下提供非常好的建议。
发现主题并为其指定名称也是两个不同的任务。这意味着通常更容易告诉文本A和文本B共享类似的主题,而不是明确地说明这个共同主题可能是什么。为主题命名最好由人类完成,例如让他们标记项目。
现在举几个实际的例子。
TF-IDF通常是一个很好的起点,但它也有严重的缺点。例如,它不能说两个文本中的“汽车”和“卡车”意味着这两个可能共享一个主题。
http://websom.hut.fi/websom/用于自动群集数据的Kohonen地图。它学习主题,然后按主题组织文本。
http://de.wikipedia.org/wiki/Latent_Semantic_Analysis通过检测不同单词之间的语义相似性,可以提升TF-IDF。另请注意,这已获得专利,因此您可能无法使用它。
一旦您有一组由用户或专家分配的主题,您还可以尝试几乎任何类型的机器学习方法(例如SVM)将TF-IDF数据映射到主题。
< / LI>答案 1 :(得分:1)
作为搜索引擎工程师,我认为这个问题最好用两种技术结合起来解决。
技术1,搜索(TF-IDF或其他算法)
使用搜索为您没有用户统计信息的内容创建基准模型。有很多技术,但我认为Apache Lucene/Solr代码库是最成熟和最稳定的。
技术2,基于用户的推荐人(k-nearest neighborhood其他算法)
当您开始获取用户统计信息时,请使用此功能来增强文本分析系统使用的相关性模型。解决这类问题的快速增长的代码库是Apache Mahout项目。
答案 2 :(得分:1)
查看Programming Collective Intelligence,这是对这些方面的各种技术的非常好的概述。也很可读。