基于神经网络的文档排名

我计划实现一个使用神经网络的文档排名系统。如何通过考虑相似文章的评分来对文档进行评级?有没有好的Python库可以用来做这件事?谁能推荐一本关于人工智能的好书,里面有Python代码?

编辑

我计划制作一个推荐引擎,该引擎将从相似用户那里进行推荐,并使用基于标签的数据进行聚类。用户将有机会为文章投票。文章总数大约有十万篇。文档将根据它们的标签进行聚类。给定一个关键词,文章将根据它们的标签被提取出来,并通过神经网络进行排名。


回答:

你试图解决的问题被称为“协同过滤”。

神经网络

一种最先进的神经网络方法是深度信念网络受限玻尔兹曼机。要查看GPU(CUDA)的快速Python实现,请点击这里。另一个选择是PyBrain

关于你具体问题的学术论文:

  • 这可能是神经网络和协同过滤(电影)的最先进技术:

    Salakhutdinov, R., Mnih, A. Hinton, G, Restricted Boltzman Machines for Collaborative Filtering, 将出现在2007年第24届国际机器学习会议论文集上。 PDF

  • 在Python中实现的Hopfield网络:

    Huang, Z. and Chen, H. and Zeng, D. Applying associative retrieval techniques to alleviate the sparsity problem in collaborative filtering. ACM Transactions on Information Systems (TOIS), 22, 1,116–142, 2004, ACM. PDF

  • 关于使用受限玻尔兹曼机进行协同过滤的论文(他们说Python不适合这项工作):

    G. Louppe. Collaborative filtering: Scalable approaches using restricted Boltzmann machines. 硕士论文,列日大学,2010年。
    PDF

目前,神经网络并不是协同过滤领域的最先进技术。它们也不是最简单、最广泛使用的解决方案。关于你提到使用神经网络的原因是数据量太少,神经网络在这种情况下并没有固有的优势或劣势。因此,你可能需要考虑更简单的机器学习方法。

其他机器学习技术

目前最好的方法是结合使用k-最近邻矩阵分解

如果你坚持使用Python,可以看看pysuggest(SUGGEST推荐引擎的Python包装器)和PyRSVD(主要针对协同过滤应用,特别是Netflix竞赛)。

如果你愿意尝试其他开源技术,请查看:开源协同过滤框架http://www.infoanarchy.org/en/Collaborative_Filtering

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注