用于内容推荐的PredictionIO,例如推文

时间:2015-05-12 17:40:01

标签: nlp text-mining predictionio

我最近安装了PredictionIO。

我想要实现的目标是:我想对文字中包含的字词进行分类。但是如何将原始推文等数据导入到PredictionIO?是否有可能让PredictionIO在内容上运行并找到强词并按类别对它们进行排序?

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

2 个答案:

答案 0 :(得分:3)

所以我会对托马斯所说的内容稍作补充。他是对的,这完全取决于你是否有与你的推文相关的标签。如果您的数据已标记,那么这将是文本分类问题。请查看this以获取更多详细信息:

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

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

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

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

答案 1 :(得分:1)

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

例如:

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 user或{上询问可能是个好主意{3}}论坛。