财经新闻标题分类为正/负类

Posted

技术标签:

【中文标题】财经新闻标题分类为正/负类【英文标题】:Financial news headers classification to positive/negative classes 【发布时间】:2012-07-16 00:25:49 【问题描述】:

我正在做一个小型研究项目,我应该尝试将财经新闻文章标题分为正类和负类。对于分类,我使用的是 SVM 方法。我现在看到的主要问题是功能不多可以为 ML 生成。新闻文章包含许多命名实体和其他“垃圾”元素(当然从我的角度来看)。

您能否推荐可用于 ML 训练的 ML 功能?目前的结果是:precision =0.6,recall=0.8

谢谢

【问题讨论】:

【参考方案1】:

这些功能怎么样?

    文章标题的字数 平均字长 “坏”词词典中的词数,例如字典 = 可怕,可怕,低迷,破产,...。您可能必须自己生成此词典。 该词典中的单词与句子中总单词的比率 类似于 3,但在“好”词词典中的词数,例如字典 = 恩惠、繁荣、就业…… 类似于 5,但使用“好”字词典 文章发表时间 文章发表日期 发布的媒介(您必须进行一些主观分类) 某些标点符号的计数,例如感叹号

如果您被允许访问实际文章,您可以使用实际文章的表面特征,例如文章的总长度,甚至可能是回复的数量或对该文章的反对程度。您还可以查看许多其他在线词典,例如 Ogden 的 850 基本英语词典,看看坏/好文章是否可能从中提取很多单词。我同意为此目的提出一个长长的有用功能列表(例如 100 个功能)似乎很困难。

【讨论】:

@D Seita。谢谢您的意见。有些想法看起来很有趣。我会尝试应用它们。【参考方案2】:

这项任务一点也不小。

直接的方法是找到或创建一个训练集。那是一组带有正面新闻的标题和一组带有负面新闻的标题。 您将训练集转换为 TF/IDF 表示,然后训练线性 SVM 以分离两个类。根据您的训练集的质量和大小,您可以取得不错的成绩 - 不确定 0.7 的收支平衡点。

然后,为了获得更好的结果,您需要采用 NLP 方法。尝试使用词性标注器来识别形容词(微不足道的),然后使用 SentiWordNet 等情感数据库对它们进行评分。

你应该阅读Sentiment Analysis by Bo Pang and Lillian Lee 的精彩概述:

【讨论】:

感谢您的 cmets。不幸的是,此时语料库非常不平衡,我正在等待这个方向的改进。另外,我已经结合词根应用了 POS 功能。还使用了一个简单的情感词词汇表。【参考方案3】:

iliasfl 是对的,这不是一个简单的任务。

我会使用词袋方法,但首先使用词性标注器来标注标题中的每个词。然后您可以删除所有命名实体 - 正如您正确指出的那样,这不会影响情绪。其他词应该足够频繁地出现(如果您的数据集足够大),以消除它们被极化为正面或负面的影响。

更进一步,如果您仍然不接近,可以只从标记数据中选择形容词和动词,因为它们是倾向于传达情感或情绪的词。

不过,我不会对你的准确率和召回率数据感到失望,0.8 及以上的 F 数实际上是相当不错的。

【讨论】:

是的。我已经将 POS 标签应用于单词并删除了命名实体。顺便说一句,将命名实体替换为“公司”、“位置”实体等值可能是有意义的。稍后会尝试..另外,此时我只使用形容词、动词和副词作为特征,当它们不是情感词时忽略名词。 F 目前也在 0.8 左右。

以上是关于财经新闻标题分类为正/负类的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 NLTK 正则表达式模式用 UP/DOWN 指标注释财经新闻?

财经类杂志

Google财经

使用朴素贝叶斯分类算法构建鸢尾属分类器

TF-IDF算法:用 Python 提炼财经新闻

TF-IDF算法:用 Python 提炼财经新闻