我最近安装了 PredictionIO。
我想要实现的是:我想根据文本中包含的单词对内容进行分类。但是如何将原始推文等数据导入 PredictionIO?是否可以让 PredictionIO 遍历内容并找到强词并将它们分类?
我想得到的是这样的:Query for Boston Red Sox -->应该出现的关键字是:baseball, Boston, sports, ...
我最近安装了 PredictionIO。
我想要实现的是:我想根据文本中包含的单词对内容进行分类。但是如何将原始推文等数据导入 PredictionIO?是否可以让 PredictionIO 遍历内容并找到强词并将它们分类?
我想得到的是这样的:Query for Boston Red Sox -->应该出现的关键字是:baseball, Boston, sports, ...
因此,我将对 Thomas 所说的内容进行一些补充。他是对的,这完全取决于你是否有与你的推文相关的标签。如果您的数据被标记,那么这将是一个文本分类问题。查看此以获取更多详细信息:
如果您希望对一组未标记的观察结果进行聚类或分组,那么正如 Thomas 所说,您最好的选择是将LDA纳入作品中。查看后面的文档以获取更多信息,但基本上,一旦您运行 LDA 模型,您将获得一个类型的对象,该对象DistributedLDAModel具有一个方法,该方法topicDistributions为每条推文提供一个向量,其中每个组件都与一个主题相关联,以及组件条目为您提供推文属于该主题的概率。您可以通过为每条推文分配最高概率的主题来进行聚类。
您还可以访问大小为 MxN 的矩阵,其中 M 是词汇表中的单词数,N 是您希望在数据中发现的主题或集群的数量。你可以粗略地把它的第 ij 个条目解释Topics Matrix为在文档属于主题 j 的情况下单词 i 出现在文档中的概率。您可以用于聚类的另一条规则是将与您的推文相关联的每个词向量视为计数向量。然后,您可以解释词矩阵乘积的 ij 条目(推文为行,词为列)和Topics MatrixLDA 返回推文 i 属于主题 j 的概率(这是在某些假设下遵循的,如果您想了解更多详细信息,请随时询问)。现在再次将推文 i 分配给与结果矩阵的第 i 行中的最大数值相关联的主题。一旦您使用原始推文集进行主题发现,您甚至可以使用此聚类规则将主题分配给传入的观察!
DataSource现在,对于数据处理,您仍然可以使用文本分类参考通过和Preparator组件将您的推文转换为字数向量。至于导入数据,如果您将推文保存在本地文件中,则可以使用 PredictionIO 的 Python SDK 导入数据。分类参考中也给出了一个例子。
如果有任何不清楚的地方,请随时提出任何问题,祝你好运!
所以,真的取决于你是否有标签数据。
例如:
Baseball :: "I love Boston Red Sox #GoRedSox"
Sports :: "Woohoo! I love sports #winning"
Boston :: "Baseball time at Fenway Park. Red Sox FTW!"
...
然后,您将能够训练一个模型来根据这些关键字对推文进行分类。您可能对 MLlib朴素贝叶斯、决策树的模板感兴趣。
如果您没有标记数据(真的,谁想手动标记推文),您也许可以使用诸如主题建模之类的方法(例如LDA)。
我认为 LDA 没有模板,但作为一个活跃的开源项目,如果有人已经实现了这个,我不会感到惊讶,所以在 PredictionIO用户或开发论坛上询问可能是个好主意。