3

我被困在对我得到的数据集应用分类或聚类的决定之间。我想得越多,我就越困惑。这就是我所面临的。

我有新闻文件(大约 3000 份,并且还在不断增加),其中包含有关公司、投资、股票、经济、季度收入等的新闻。我的目标是对新闻进行排序,以便我知道哪些新闻对应于哪家公司。例如,对于新闻项目“Apple 推出新的 iphone”,我需要将 Apple 公司与它关联起来。一个特定的新闻项目/文档只包含“标题”和“描述”,所以我必须分析文本以找出新闻所指的公司。也可能是多家公司。

为了解决这个问题,我求助于 Mahout。

我从集群开始。我希望将“Apple”、“Google”、“Intel”等作为集群中的首要术语,从那里我会知道集群中的新闻与其集群标签相对应,但情况有点不同。我得到了“投资”、“股票”、“通信”、“绿色能源”、“终端”、“股票”、“街道”、“奥林匹克”和许多其他术语作为最重要的术语(这对于聚类算法是有意义的' 寻找常用术语)。虽然有一些“Apple”集群,但与之相关的新闻项目很少。我认为集群可能不是针对这类问题,因为许多公司新闻进入更一般的集群(投资、利润)而不是特定的公司集群(Apple)。

我开始阅读需要训练数据的分类,这个名字也很有说服力,因为我实际上想将我的新闻项目“分类”为“公司名称”。当我继续阅读时,我的印象是名称分类有点欺骗性,与分类相比,该技术更多地用于预测目的。我遇到的另一个困惑是如何为新闻文档准备训练数据?假设我有一个我感兴趣的公司列表。我编写了一个程序来为分类器生成训练数据。该程序将查看新闻标题或描述是否包含公司名称“Apple”,然后它是关于苹果的新闻报道。这是我准备训练数据的方式吗?(当然,我读到训练数据实际上是一组预测变量和目标变量)。如果是这样,那么我为什么要首先使用 mahout 分类呢?我应该放弃 mahout,而是使用我为训练数据编写的这个小程序(它实际上进行了分类)

你可以看到我对如何解决这个问题有多么困惑。另一个让我担心的事情是,如果可以让一个系统变得如此智能,如果新闻说“iphone 销量创历史新高”而不使用“Apple”这个词,那么系统可以将其归类为与苹果相关的新闻吗?

提前感谢您为我指明正确的方向。

4

2 回答 2

3

从邮件列表中复制我的回复:

分类器是有监督的学习算法,所以你需要提供一堆正类和负类的例子。在您的示例中,可以将一堆文章标记为“关于 Apple”与否,然后使用从 TF-IDF 派生的特征向量作为输入,使用这些标签来训练一个分类器,该分类器可以判断一篇文章何时是“关于苹果”。

我不认为根据简单的规则通过标记自动生成训练集会很有效,如果标题中有“Apple”,那么它是关于 Apple 的。好吧,如果你这样做了,那么训练分类器就没有意义了。您只需检查标题中是否包含“Apple”,就可以制作一个在测试集上达到 100% 准确率的简单分类器!是的,你是对的,这对你没有任何好处。

显然,您想从分类器中学到一些更微妙的东西,这样标题为“苹果汁可降低痴呆风险”的文章就不会被归类为关于公司的文章。你真的需要给它手工分类的文件。

这是个坏消息,但是,您当然可以通过这种方式为 N 个主题训练 N 个分类器。

分类器将项目放入或不放入类中。它们与预测输入的连续值的回归技术不同。它们相关但不同。

聚类具有不受监督的优点。你不需要标签。但是,不能保证生成的集群与您对文章主题的概念相匹配。您可能会看到一个包含大量 Apple 文章的集群,其中一些是关于 iPod 的,还有一些是关于三星和笔记本电脑的。我认为这不是解决您的问题的最佳工具。

于 2012-08-01T19:13:28.870 回答
1

首先,您不需要 Mahout。3000 份文件几乎没有。当您达到一百万时,请重新访问 Mahout。我已经在一台计算机上处​​理了 100.000 张图像,所以你现在真的可以跳过 Mahout 的开销。

您正在尝试做的事情对我来说听起来像是分类。因为你有预定义的类。

聚类算法是无监督的。它(除非您过度拟合参数)可能会将 Apple 分为“iPad/iPhone”和“Macbook”。或者另一方面,它可能会合并苹果和谷歌,因为它们密切相关(比苹果和福特要多得多)。

是的,您需要训练数据,以反映您要测量的结构。还有其他结构(例如,iPhone 与 Macbook 不同,谷歌、Facebook 和苹果比 Kellogs、福特和苹果更相似)。如果您想要公司级别的结构,则需要此详细级别的培训数据。

于 2012-08-01T23:07:35.237 回答