我在对我得到的数据集应用分类或聚类的决定之间左右为难。我想得越多,就越困惑。这就是我所面临的问题。
我已经有了新闻文档(大约3000份,而且还在不断增加),其中包含有关公司、投资、股票、经济、quartly收入等的新闻。我的目标是以这样一种方式对新闻进行排序,以便我知道哪些新闻对应于哪个公司。例如,对于新闻条目"Apple发布新iphone",我需要将公司Apple与它联系起来。特定的新闻条目/文档只包含'title‘和'description’,所以我必须分析文本,以便找出该新闻引用的是哪个公司。它也可能是多家公司。
为了解决这个问题,我求助于Mahout。
我从集群开始。我希望“苹果”、“谷歌”、“英特尔”等在我的集群中成为最热门的术语,从那里我可以知道集群中的新闻对应于它的集群标签,但事情有点不同。我把“投资”、“股票”、“通信”、“绿色能源”、“终端”、“股票”、“街道”、“奥运会”和许多其他术语排在首位(这是有意义的,因为聚类算法是为了寻找通用术语)。虽然有一些“苹果”集群,但与之相关的新闻条目很少。我认为集群可能不适合这种问题,因为许多公司新闻进入更一般的集群(投资,利润),而不是具体的公司集群(苹果)。
我开始阅读需要训练数据的分类,这个名字也很有说服力,因为我实际上想把我的新闻项目‘分类’成‘公司名称’。随着我继续阅读,我得到了一个印象,名称分类有点欺骗性,与分类相比,该技术更多地用于预测目的。我得到的另一个困惑是,我如何为新闻文档准备训练数据?让我们假设我有一个我感兴趣的公司列表。我编写了一个程序来为分类器生成训练数据。该程序将看到,如果新闻标题或描述包含公司名称‘苹果’,那么这是一个关于苹果的新闻故事。这是我准备训练数据的方式吗?(当然,我读到训练数据实际上是一组预测器和目标变量)。如果是这样,那么为什么我要首先使用mahout分类呢?我应该抛弃mahout,转而使用我为训练数据编写的这个小程序(它实际上是做分类的)
你可以看到我对如何解决这个问题有多困惑。另一件让我担心的事情是,如果有可能让一个系统变得如此智能,那么如果新闻上只说'iphone销量创历史新高‘,而没有使用’苹果‘这个词,那么这个系统就能把它归类为与苹果相关的新闻吗?
提前感谢您为我指明了正确的方向。
发布于 2012-08-02 03:13:29
正在从邮件列表中复制我的回复:
分类器是有监督的学习算法,因此您需要提供一系列正类和负类的示例。在您的示例中,可以将一组文章标记为“关于Apple”或不标记,然后使用从TF-IDF派生的特征向量作为输入,使用这些标签来训练分类器,该分类器可以区分一篇文章是“关于Apple”的。
我不认为根据简单的规则自动生成训练集是可行的,如果标题中有“Apple”,那么它就是关于Apple的。好吧,如果你这样做,那么训练分类器就没有意义了。你可以制作一个简单的分类器,在你的测试集上达到100%的准确率,只需检查标题中是否有“Apple”!是的,你是对的,这对你没有任何好处。
显然,你想从分类器中学到一些更微妙的东西,这样一篇题为“苹果汁可以降低痴呆症风险”的文章就不会被归类为关于公司的。你真的需要向它提供手工分类的文档。
这是个坏消息,但是,你肯定可以通过这种方式训练N个主题的N个分类器。
分类器是否将项目放入类中。它们与预测输入的连续值的回归技术不同。它们是相关的,但又是不同的。
聚类的优点是不需要监督。你不需要标签。但是,不能保证生成的集群与您的文章主题概念相匹配。你可能会看到一个集群,里面有很多苹果的文章,有些是关于iPod的,但也有一些是关于三星和笔记本电脑的。我不认为这是解决你的问题的最佳工具。
发布于 2012-08-02 07:07:35
首先,您不需要Mahout。3000个文档几乎为零。当你达到一百万的时候,重新访问Mahout。我已经在一台计算机上处理了100.000张图像,所以现在你真的可以跳过Mahout的开销了。
对我来说,你想做的事情听起来像是机密。因为您有预定义的类。
聚类算法是无监督的。It 将(除非你的参数过高)很可能将苹果分成"iPad/iPhone“和"Macbook”。或者,另一方面,它可能会合并苹果和谷歌,因为它们关系密切(比苹果和福特要多得多)。
是的,您需要反映您要测量的结构的训练数据。还有其他的结构(例如,iPhones与Macbook不同,谷歌、Facebook和苹果比凯洛格、福特和苹果更相似)。如果您需要公司级别的结构,则需要此详细级别的培训数据。
https://stackoverflow.com/questions/11764243
复制相似问题