我正在做一个小型研究项目,我应该尝试将财经新闻文章标题分为正类和负类。对于分类,我使用的是 SVM 方法。我现在看到的主要问题是不能产生很多特征对于机器学习。新闻文章包含许多命名实体和其他“垃圾”元素(当然从我的角度来看)。
您能否推荐可用于 ML 训练的 ML 功能?目前的结果是:精度=0.6,召回率=0.8
谢谢
我正在做一个小型研究项目,我应该尝试将财经新闻文章标题分为正类和负类。对于分类,我使用的是 SVM 方法。我现在看到的主要问题是不能产生很多特征对于机器学习。新闻文章包含许多命名实体和其他“垃圾”元素(当然从我的角度来看)。
您能否推荐可用于 ML 训练的 ML 功能?目前的结果是:精度=0.6,召回率=0.8
谢谢
这项任务根本不是微不足道的。
直接的方法是找到或创建一个训练集。那是一组带有正面新闻的标题和一组带有负面新闻的标题。您将训练集转换为 TF/IDF 表示,然后训练线性 SVM 以分离两个类。根据您的训练集的质量和大小,您可以取得不错的成绩 - 不确定 0.7 的盈亏平衡点。
然后,为了获得更好的结果,您需要采用 NLP 方法。尝试使用词性标注器来识别形容词(微不足道的),然后使用 SentiWordNet 等情感数据库对它们进行评分。
Bo Pang 和 Lillian Lee对情绪分析有一个很好的概述,你应该阅读:
这些功能怎么样?
如果您被允许访问实际文章,您可以使用实际文章的表面特征,例如其总长度,甚至可能是回复的数量或对该文章的反对程度。您还可以查看许多其他在线词典,例如 Ogden 的 850 基本英语词典,看看坏/好文章是否可能从中提取很多单词。我同意为此目的提出一长串有用的功能(例如 100 个功能)似乎很困难。
iliasfl 是对的,这不是一个简单的任务。
我会使用词袋方法,但首先使用 POS 标记器来标记标题中的每个单词。然后您可以删除所有命名实体 - 正如您正确指出的那样,这不会影响情绪。其他词应该足够频繁地出现(如果你的数据集足够大),以消除它们被极化为正面或负面的影响。
更进一步,如果您仍然不接近,可能只从标记数据中选择形容词和动词,因为它们是倾向于传达情感或情绪的词。
不过,我不会对您的精确度和召回率数据感到灰心,0.8 及以上的 F 数实际上是相当不错的。