如果你有一系列文本,并且有一个人对某些主题感兴趣,那么有哪些算法可以用来选择与该人最相关的文本呢?
我认为这是一个相当复杂的话题,我希望通过答案来了解文本分析、文本统计、人工智能等各种方法论的研究方向。
谢谢。
回答:
有很多算法可以用于完成这项任务。至少多到无法在此全部提及。首先是一些起始点:
-
主题发现和推荐是两个截然不同的任务,尽管它们经常重叠。如果你有一个稳定的用户群,你可能能够在没有任何主题发现的情况下给出非常好的推荐。
-
发现主题和为主题命名也是两个不同的任务。这意味着,能够分辨出文本A和文本B共享一个相似的主题,通常比明确地说明这个共同主题可能是什么更容易。为主题命名最好由人工完成,例如让人工给项目添加标签。
现在是一些实际的例子。
-
TF-IDF 通常是一个好的起点,但它也有严重的缺点。例如,它无法判断两个文本中的“汽车”和“卡车”意味着这两个文本可能共享一个主题。
-
http://websom.hut.fi/websom/ 一种用于自动聚类数据的 Kohonen 地图。它可以学习主题,然后按主题组织文本。
-
http://de.wikipedia.org/wiki/Latent_Semantic_Analysis 可以通过检测不同单词之间的语义相似性来提升 TF-IDF。 另请注意,这已获得专利,因此您可能无法使用它。
-
一旦你拥有一组由用户或专家分配的主题,你也可以尝试几乎任何类型的机器学习方法(例如 SVM)来将 TF-IDF 数据映射到主题。