我被困在决定对我得到的数据集进行分类或聚类。我想的越多,我就越困惑。这是我面临的问题。
我收到有关公司,投资,股票,经济,收入等新闻的新闻文件(约3000并不断增加)。我的目标是以这样的方式对新闻进行排序,以便我知道哪些新闻对应哪个公司。例如,对于新闻项目“Apple推出新的iphone”,我需要将Apple公司与它联系起来。特定新闻项目/文档仅包含“标题”和“描述”,因此我必须分析文本以找出新闻引用的公司。它也可能是多家公司。
为了解决这个问题,我转向了Mahout。
我开始使用群集。我希望将'Apple','Google','Intel'等作为我的集群中的顶级术语,从那里我会知道集群中的新闻对应于它的集群标签,但事情有点不同。我得到了“投资”,“股票”,“通信”,“绿色能源”,“终端”,“股票”,“街头”,“奥运会”等许多其他条款作为最重要的条款(这对于集群算法来说很有意义) '寻找共同条款)。虽然有一些“苹果”集群,但与之相关的新闻项目很少。我认为可能是集群不是因为这种问题,因为许多公司新闻进入更一般的集群(投资,利润),而不是特定公司集群(Apple)。
我开始阅读需要培训数据的分类,名称也令人信服,因为我实际上想将我的新闻项目“分类”为“公司名称”。正如我读到的那样,我得到的印象是名称分类有点欺骗,与分类相比,该技术更多地用于预测目的。我得到的其他困惑是如何准备新闻文件的培训数据?假设我有一个我感兴趣的公司列表。我编写了一个程序来为分类器生成培训数据。该程序将查看新闻标题或描述是否包含公司名称'Apple',然后是关于苹果的新闻报道。这是我如何准备训练数据?(当然我读到训练数据实际上是一组预测因子和目标变量)。如果是这样,那么我为什么要首先使用mahout分类呢?我应该放弃mahout,而是使用我为训练数据编写的这个小程序(实际上是分类)
您可以看到我对如何解决此问题感到困惑。我担心的另一件事是,如果有可能使这个系统变得聪明,那么如果新闻中没有使用“苹果”这个词,“iphone销售达到历史最高水平”,系统可以将其归类为与苹果相关的新闻吗?
提前感谢你指点我正确的方向。
答案 0 :(得分:3)
从邮件列表中复制我的回复:
分类器是监督学习算法,因此您需要提供 一堆正面和负面的例子。在你的例子中, 将一堆文章标记为“关于Apple”是否可以, 然后使用从TF-IDF派生的特征向量作为输入 标签,训练分类器,可以分辨文章何时“关于 苹果”。
我不认为它会自动生成 根据简单的规则,通过标记设置的训练 关于Apple如果'Apple'在标题中。那么,如果你这样做,那么 训练分类器没有意义。你可以做一件小事 分类器,可以在您的测试集上实现100%的准确率 检查'Apple'是否在标题中!是的,你是对的,这是收益 什么都没有。
显然,你想要从分类器中学到一些更微妙的东西,所以 一篇题为“苹果汁可降低痴呆症风险”的文章 不属于公司类别。你真的需要喂它 手工分类的文件。
这是个坏消息,但是,你肯定可以训练N个分类器 通过这种方式获得N个主题。
分类器将项目放入类中。它们不一样 预测输入连续值的回归技术。 它们是相关但不同的。
群集具有无人监督的优势。你不需要 标签。但是,无法保证生成的集群匹配 你的文章主题的概念。您可能会看到一个有很多的集群 苹果的文章,一些关于iPod,但也有一些关于三星 和笔记本电脑一般。我不认为这是你最好的工具 问题
答案 1 :(得分:1)
首先,你不需要Mahout。 3000份文件几乎没有。当你达到一百万时,再次访问Mahout。我一直在一台计算机上处理100.000张图像,所以你现在可以跳过Mahout的开销。
您尝试做的事情听起来像分类给我。因为你有预定义的类。
聚类算法是无监督的。 将(除非你过度配备参数)可能会将苹果打入“iPad / iPhone”和“Macbook”。或者另一方面,它可能会合并Apple和Google,因为它们与相关(远远超过Apple和Ford)。
是的,您需要的培训数据反映了您要衡量的结构。还有其他结构(例如,iPhone与Macbook不同,谷歌,Facebook和Apple的公司比Kellogs,Ford和Apple更相似)。如果您想要公司级别的结构,则需要在此详细级别上培训数据。