Neural Network based ranking of documents

后端 未结 6 618
失恋的感觉
失恋的感觉 2021-01-31 00:38

I\'m planning of implementing a document ranker which uses neural networks. How can one rate a document by taking in to consideration the ratings of similar articles?. Any good

6条回答
  •  南方客
    南方客 (楼主)
    2021-01-31 00:55

    The problem you are trying to solve is called "collaborative filtering".

    Neural Networks

    One state-of-the-art neural network method is Deep Belief Networks and Restricted Boltzman Machines. For a fast python implementation for a GPU (CUDA) see here. Another option is PyBrain.

    Academic papers on your specific problem:

    • This is probably the state-of-the-art of neural networks and collaborative filtering (of movies):

      Salakhutdinov, R., Mnih, A. Hinton, G, Restricted Boltzman Machines for Collaborative Filtering, To appear in Proceedings of the 24th International Conference on Machine Learning 2007. PDF

    • A Hopfield network implemented in Python:

      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

    • A thesis on collaborative filtering with Restricted Boltzman Machines (they say Python is not practical for the job):

      G. Louppe. Collaborative filtering: Scalable approaches using restricted Boltzmann machines. Master's thesis, Universite de Liege, 2010.
      PDF

    Neural networks are not currently the state-of-the-art in collaborative filtering. And they are not the simplest, wide-spread solutions. Regarding your comment about the reason for using NNs being having too little data, neural networks don't have an inherent advantage/disadvantage in that case. Therefore, you might want to consider simpler Machine Learning approaches.

    Other Machine Learning Techniques

    The best methods today mix k-Nearest Neighbors and Matrix Factorization.

    If you are locked on Python, take a look at pysuggest (a Python wrapper for the SUGGEST recommendation engine) and PyRSVD (primarily aimed at applications in collaborative filtering, in particular the Netflix competition).

    If you are open to try other open source technologies look at: Open Source collaborative filtering frameworks and http://www.infoanarchy.org/en/Collaborative_Filtering.

提交回复
热议问题