协作主题建模的简单Python实现?

时间:2015-08-25 23:40:51

标签: python machine-learning lda topic-modeling collaborative-filtering

我发现这两篇文章结合了协同过滤(矩阵分解)和主题建模(LDA),根据用户感兴趣的帖子/文章的主题条款向用户推荐类似的文章/帖子。

论文(PDF格式)是: “ Collaborative Topic Modeling for Recommending Scientific Articles ”和 “ Collaborative Topic Modeling for Recommending GitHub Repositories

新算法称为协作主题回归。我希望找到一些实现此功能的python代码,但无济于事。这可能是一个很长的镜头,但是有人可以展示一个简单的python示例吗?

2 个答案:

答案 0 :(得分:5)

这应该让你开始(虽然不知道为什么还没有发布):https://github.com/arongdari/python-topic-model

更具体地说:https://github.com/arongdari/python-topic-model/blob/master/ptm/collabotm.py

class CollaborativeTopicModel:
    """
    Wang, Chong, and David M. Blei. "Collaborative topic 
                                modeling for recommending scientific articles."
    Proceedings of the 17th ACM SIGKDD international conference on Knowledge
                                discovery and data mining. ACM, 2011.
    Attributes
    ----------
    n_item: int
        number of items
    n_user: int
        number of users
    R: ndarray, shape (n_user, n_item)
        user x item rating matrix
    """

看起来很好,很直接。我仍然建议至少查看gensim。 Radim在优化软件方面做得非常出色。

答案 1 :(得分:-2)

当您标记机器学习 python 时,您是否看过python pandas& sklearn模块,因为对于这两个模块,可以快速创建大量线性回归对象。

还有一个相对于Topic extraction的代码示例(具有非负矩阵分解和潜在Dirichlet分配),它可以满足您的确切需求,还可以帮助您发现sklearn模块

此致