【问题标题】:PredictionIO for Content Recommendation e.g. Tweets用于内容推荐的 PredictionIO,例如推文
【发布时间】:2015-05-12 17:40:01
【问题描述】:

我最近安装了 PredictionIO。

我想要实现的是:我想要根据文本中包含的单词对内容进行分类。但是如何将原始推文等数据导入 PredictionIO?是否可以让 PredictionIO 遍历内容并找到强词并将它们分类?

我想得到的是这样的:Query for Boston Red Sox --> 应该出现的关键字是:baseball, Boston, sports, ...

【问题讨论】:

    标签: nlp text-mining predictionio


    【解决方案1】:

    因此,我将对 Thomas 所说的内容进行一些补充。他是对的,这完全取决于你是否有与你的推文相关的标签。如果您的数据被标记,那么这将是一个文本分类问题。查看this了解更多详细信息:

    如果您希望对一组未标记的观察结果进行聚类或分组,那么正如 Thomas 所说,您最好的选择是将 LDA 合并到作品中。查看后面的文档以获取更多信息,但基本上,一旦您运行 LDA 模型,您将获得一个类型为 DistributedLDAModel 的对象,该对象有一个方法 topicDistributions,它为每条推文提供一个向量,其中每个组件都关联到一个主题,组件条目为您提供推文属于该主题的概率。您可以通过为每条推文分配最高概率的主题来进行聚类。

    您还可以访问大小为 MxN 的矩阵,其中 M 是您的词汇表中的单词数,N 是您希望在数据中发现的主题或集群的数量。你可以粗略地把这个Topics Matrix 的第 ij 个条目解释为在文档属于主题 j 的情况下单词 i 出现在文档中的概率。您可以用于聚类的另一条规则是将与您的推文相关联的每个词向量视为计数向量。然后,您可以将单词矩阵(推文作为行,单词作为列)的乘积的 ij 条目和 LDA 返回的Topics Matrix 解释为推文 i 属于主题 j 的概率(这是在某些假设下遵循的,感觉随意询问您是否需要更多详细信息)。现在再次将推文 i 分配给与结果矩阵的第 i 行中的最大数值相关联的主题。一旦您使用原始推文集进行主题发现,您甚至可以使用此聚类规则将主题分配给传入的观察!

    现在,对于数据处理,您仍然可以使用文本分类参考,通过DataSourcePreparator 组件将您的推文转换为字数向量。至于导入数据,如果您将推文保存在本地文件中,则可以使用 PredictionIO 的 Python SDK 导入数据。分类参考中也给出了一个例子。

    如果有任何不清楚的地方,请随时提出任何问题,祝你好运!

    【讨论】:

      【解决方案2】:

      所以,真的取决于你是否有标记数据。

      例如:

      Baseball :: "I love Boston Red Sox #GoRedSox"
      Sports :: "Woohoo! I love sports #winning"
      Boston :: "Baseball time at Fenway Park. Red Sox FTW!"
      ...
      

      然后,您将能够训练一个模型来根据这些关键字对推文进行分类。您可能对 MLlib Naive BayesDecision Trees 的模板感兴趣。

      如果您没有标记数据(真的,谁想要手动标记推文),您也许可以使用主题建模等方法(例如,LDA)。

      我不认为有 LDA 模板,但作为一个活跃的开源项目,如果有人已经实现了它,我不会感到惊讶,所以在 PredictionIO userdev 上询问可能是个好主意论坛。

      【讨论】:

      • 非常感谢您的回复。可悲的是,我没有标记数据。您是否知道是否有可能逐字逐句遍历 wiki 并通过 mahout 进行处理以获得 PredictionIO 的可用数据?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      相关资源
      最近更新 更多