金融科技之NLP:上市公司新闻标题分类

该文介绍了一个训练上市公司新闻分类模型的过程,包括数据获取、人工标注、样本分析、特征构建和模型训练。通过词频统计和单词偏向性指标量化,提升分类效果。使用SVM模型,5折交叉验证的f1-score平均值达到0.866。未来计划使用专业金融词典和更多样本来优化模型。
摘要由CSDN通过智能技术生成

本文的目标

本文的目标是训练出上市公司新闻的分类模型,根据新闻标题将上市公司的新闻自动分为利好、利空和模糊中性三类。

本文是创新创业项目第一阶段的技术总结,只给出了设计方法和结果,不提供源码。

实现步骤

1.获取原始数据

使用爬虫调用百度搜索引擎的接口,获取了10000余条沪深300成分股的新闻。

部分结果展示:
在这里插入图片描述

2.原始数据人工标注

从10000余条原始数据中选取来源于主流媒体的8000条数据,由人工根据新闻标题进行标注,分为利好、利空、模糊中性和数据存在问题4类。每条数据将由两名同学独立标注,拥有两个标签,汇总时只保留两个同学标准结果相同的数据,以提高标注数据的质量。

部分标注数据如下图所示。
在这里插入图片描述

将只有一个标注结果的数据筛掉,得到6000余条带标注的数据。其中两个标注相同的数据约4000条,将这4000余条数据作为样本。

3.样本数据分析

3.1 样本类别分布

样本的类别分布如下图所示。

在这里插入图片描述

3.2 数据清洗

数据清洗阶段的工作:

1.清洗掉上市公司的名称,因为公司的名词会多次出现,但本身并没有偏向性,影响训练结果。

2.只保留汉字。

3.3 词频统计

使用jieba库对标题数据分词,统计每个类别的标题中各词出现的频率。

各类别标题中出现次数前20的词以及词频。

利好类count利空类count模糊中性类count
万元610万元412公司86
420净利润24545
418225万元30
净利润416年度20930
368亿元19529
增长312同比19328
同比303亏损181股东28
净利298预计16526
一季度282下降155减持25
27813225
亿元278一季度124亿元25
预计228124股份23
买入214115融资22
年度200归母98有限公司19
融资184净利97业务19
快速169第一季度87目前19
第一季度156净亏损76股权18
公司148减少7318
14866子公司17
偿还146业绩64偿还17

4 特征构建

4.1 单词偏向性特征构建

从3.3的结果中可以明显得看出,中性的词在各类别中出现的次数都较多,如万元、公司、年、月、日等,但这些词本身没有太多有价值的信息。

需要构建一个指标,来量化一个词对某一类的偏向性。

假设单词个数为n,类别数量为m

我们采用的算法如下:

step1:对于每一类,将该类新闻标题包含的单词按照出现的频率降序排序,每一个单词在每一类中都有一个排序后的位置序号。index[word_i][cls_j]即为单词word_i在cls_j类中按照出现频率降序排序后的位置。

step2: 对于单词word_i,其对新闻类别cls_j的偏向性分数定义为:

score[word_i][cls_j] = sigma(index[word_j][cls_k],k不等于j)/ (m-1)- index[word_i][cls_j]

即该单词在其他类别中的位置序号的均值减去在该类别中的位置序号。

将单词根据利好偏向性降序排序:

在这里插入图片描述

将单词根据利空偏向性降序排序:

在这里插入图片描述

可见,构建的单词对类别的偏向性指标可以有效地量化一个单词对一个类别的偏向程度。

4.2 标题偏向性特征构建

一个标题对某个类别的偏向性计算步骤:

1、将标题分词

2、计算每一个单词对该类别的偏向性

3、求该标题包含的所有单词对该类别的偏向性的均值,该均值就是标题对该类别的偏向性。

4.3 标题分类模型的特征选取

每一个标题构建3个维度的特征,即该标题对利好、利空、模糊中性三个类别的偏向性。

样本点在三个维度构成的空间中的分布如下图所示。

在这里插入图片描述

可以看到,样本点按照类别在三维空间中分布范围特别明显,说明这三个特征对样本的分类很有帮助。

5 模型训练与评价

使用SVM训练分类器。

使用5折交叉验证对模型的过拟合情况进行检测,5次训练-测试的模型f1-score的均值为0.866

具体为

0.852, 0.867, 0.855, 0.866, 0.883

6 优化方向

1.使用专业的金融词典进行分词

2.更多的样本

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值