2. 上海电影特效工程技术研究中心, 上海 200072;
3. 上海交通大学计算机科学与工程系, 上海 200240
2. Shanghai Engineering Research Center of Motion Picture Special Effects, Shanghai 200072, China;
3. Department of Computer Science and Engineering, Shanghai Jiaotong University, Shanghai 200240, China
财经新闻的内容涉及与经济相关的所有领域, 包括从生存到就业, 从农村到城市, 从经济到社会、政治生活等, 简练的文字涵盖海量的信息。同时由于互联网的出现, 信息传播速度得到迅速提高, 读者可以第一时间了解相关信息, 特别对企业家与投资者, 财经新闻是其判断市场变化的重要依据。但面对新闻数据呈爆炸式增长且杂乱无章的现象, 用户获取有用信息的难度同比增加, 对海量财经新闻正负性的分类存在迫切需要, 然而当前对于财经新闻的分类研究却很少, 至今没有提出一种有效的分类方法。利用计算机技术对财经新闻进行有效分类, 是一个急需解决的问题。
实现财经新闻分类的技术基础是自然语言处理(natural language processing, NLP)中的文本分类技术。应用文本分类技术可以解决信息杂乱无序的问题, 较大程度地帮助用户实现信息的查找定位。目前, 传统的文本分类方法[1]及其存在的缺陷有:(1)支持向量机(support vector machine, SVM), 计算复杂, 不能通用于非线性问题的解决; (2)决策树分类, 不适用训练大样本集, 容易受噪声数据影响产生过拟合; (3)朴素贝叶斯分类, 实际应用条件与假设条件不符, 不满足各属性相互独立, 影响正确分类。
相比传统的分类方法, 近年来兴起的人工神经网络方法则表现出了良好的智能特性:(1)自适应性, 对周围环境具有学习适应能力; (2)容错性, 对噪声和信息缺失影响相对不敏感; (3)模式识别性, 能很好地识别多变量的模式。
借助人工神经网络方法已经很好地解决了很多实际应用问题, 如模式识别、智能机器人、医学、自然科学[2]等等。近年来, 人工神经网络中的卷积神经网络因具有相当强大的局部特征提取能力, 已在计算机视觉、语音识别等领域取得良好的成果。经典的AlexNet[3]、GoogleNet[4]、VGGNet[5]等模型在图像识别上有良好的变现, 但模型结构复杂, 参数总量大, 很难应用在自然语言处理中。
文本分类是自然语言处理中常见的任务, 根据学习方法可分为有监督学习和无监督学习。目前大部分研究方法都采用有监督的学习方式, 如基于文本特征向量相关性方法、基于遗传算法的方法、基于关联的方法、基于期望最大化算法(expectation maximization algorithm, EM)等都是典型的有监督学习方法[6]。2003年, Bengio等[7]最早提出用神经网络构建二元语言模型(neural network language model, NNLM), 实现将词映射转换到低维实数向量, 指出可以通过词之间的距离来判断各词的语义相似度。同时结合非线性神经网络提出了n-gram模型, 随后使用随机梯度下降法优化模型, 如此得到的语言模型自带平滑, 性能提高20%。2009年, Andriy Mnih等人[8-9]从限制玻尔兹曼机(restricted boltzmann machine, RBM)出发, 逐步修改能量函数, 得到更为简单的“Log-Bilinear”模型, 在实际训练速度和预测速度上都有很大的提升。2011年, Socher等人[10]使用基于词向量的递归神经网络, 实现对文本的向量表示, 该网络可以有效用于文本分析。同年, Collobert等[11]结合多层一维卷积神经网络实现了同时包含处理词性标注、语块切分、命名实体识别、语义角色标注4个典型自然语言处理任务的SENNA系统。2013年, Mikolov[12]借鉴Log-Bilinear模型的思想, 通过添加隐藏层的多次递归提高了语言模型性能, 在词预测的准确率方面超越了当时最好的基准系统。Zhou等[13]则提出一种称为主动深度网络(active deep network, ADN)的半监督学习算法用于解决情感分类问题, 但网络复杂度较高。2014年, John Son[14]提出基于词表达方式的卷积神经网络模型, 显示了词序特征在文本分类中的有效性。同年, Blunsom等[15]提出动态卷积神经网络句子语义模型, 在Stanford Sentiment Treebank的二元分类与多元分类上再次取得一定的进步。2015年, Kim[16]将Collobert构建的CNN模型结合1 000亿个单词训练的向量模型应用于电影评论分类中, 取分类准确率为88.1%, 这是当时最好性能。在硬件方面, 基于神经网络的预训练过程通常需要高性能计算机的支持, 如图形处理单元(Graphic Processing Unit, GPU)、多核计算等。同时RBM、Auto-encoders为深度神经网络结构中的组成单元提供算法支持。
本研究提出将卷积神经网络应用到中文财经新闻分类中, 主要贡献包括以下两点:(1)通过收集大量中文财经新闻数据, 结合Word2vec训练得到一个中文财经类词向量模型, 该模型能够将财经词汇映射为多维实数向量, 为接下来更高层级的训练模型提供底层支持; (2)在中文财经类词向量模型的基础上, 提出一个基于卷积神经网络(convolutional neural network, CNN)的中文财经新闻分类方法, 该方法具有参数少、模型简单等特点, 相比于其他传统分类方法能够得到更精确的分类结果。
1 中文财经新闻分类 1.1 整体流程本研究将Word2vec训练出的词向量作为候选特征向量, 把文本转换成一个由词序列和词向量嵌套而成的二维矩阵, 再通过CNN对其进行处理。主要分为词向量训练、文本预处理、神经网络模型训练、新闻分类四个部分, 如图 1所示。
|
图 1 整体流程 Figure 1 The overall process of the method |
(1) 词向量训练。将分好词的语料文本使用神经网络来训练, 在训练过程中生成一组向量, 将每个词映射到一个n维词向量。
(2) 文本预处理。利用训练好的词向量模型将待训练样本转化为以词向量为元素的序列表示, 得到一个2维矩阵, 用于后续神经网络的训练。
(3) CNN模型训练。将训练集通过多块卷积神经网络进行有监督的学习训练。
(4) 新闻分类。通过使用softmax方式完成对句子的分类。
1.2 词向量训练词的向量化就是将语言中的词进行数学化表示。Mikolov等[17]通过借鉴Bengio[7]提出的NNLM以及Hinton[18]的Log-Linear模型在2013年提出了连续分布式词向量表示模型(Word2vec语言模型)。本研究使用Google公司开源的Word2vec工具训练了一个财经类词向量模型。
1.2.1 语料采集本研究采用的词向量训练语料来源包含三部分:(1)新浪新闻。新浪财经作为当下最具影响力的主流媒体平台, 财经领域内重要会议及事件的报道达80%。本研究共采集新浪财经“7×24小时全球实时财经新闻”平台上28万条最新财经资讯。(2)财经词汇百度百科。采集搜狗词库12 965个财经相关词汇的百度百科内容。(3)股票简介。采集同花顺财经网上证A股、深证A股、中小板及创业板全部共2 768个股票相关简介及百度百科内容。
1.2.2 数据处理对数据的处理包括去除非法字符、停用词处理、分词处理、编码处理四部分。中文文本与英文文本主要不同之处是不存在天然分隔符, 因此需要进行分词处理。同时, 中文文本都存在半角、全角两种字符, 需要对文本进行编码规范。
1.2.3 Word2vec训练Word2vec模型有两种, 分别是连续词袋(continuous bag of words, CBOW)模型及Skip-gram模型[19]。本研究采用的是Skip-gram模型。训练参数如表 1所示, 训练语料中共包含55 745 009个词汇, 通过训练共得到222 950个词汇的向量表示。以“中国银行”为例, 可以得到其向量位置及其与其他词汇向量的相似度, 见图 2。
| 表 1 Word2vec训练参数 Table 1 Training parameters of Word2vec |
|
图 2 Word2vec中词语相似度比较 Figure 2 Similarity comparison of Word2vec vocabulary |
训练所得的财经类词向量可用于完成财经类自然语言处理NLP里面的各种任务, 如词性标注、命名实体识别、短语识别、语义角色标注等。
1.3 卷积神经网络 1.3.1 CNN模型结构卷积神经网络是前馈神经网络的一种, 由卷积层和池化层叠加组合而成。卷积层作为特征提取层, 通过滤波器提取局部特征, 经过卷积核函数运算产生特征图, 输出到池化层[20]。池化层属于特征映射层, 对卷积层产生的特征图进行降采样, 输出局部最优特征。图 3为本研究采用的卷积神经网络模型。
|
图 3 卷积神经网络模型 Figure 3 Convolution neural network model |
(1) 词向量层。将词序列中的元素转化为词向量, 令xi∈Rk为第i个词对应的k维词向量, 长度为n的句子表示为
| $ {\mathit{\boldsymbol{x}}_{1:n}} = {\mathit{\boldsymbol{x}}_1} \oplus {\mathit{\boldsymbol{x}}_2} \oplus {\mathit{\boldsymbol{x}}_3} \oplus \cdots \oplus {\mathit{\boldsymbol{x}}_n}, $ | (1) |
式中:⊕为级联运算符, 则xi:i+h-1可以表示为由第i到第i+h-1个词组成的局部特征矩阵。
(2) 卷积层。对不同尺寸的滤波器建立不同的卷积层, 保持滤波器维度与词向量维度一致, 若滤波器窗口大小为h, 则对输入的特征矩阵进行卷积操作后, 生成特征
| $ {\mathit{\boldsymbol{c}}_i} = f\left( {\mathit{\boldsymbol{w}} \cdot {\mathit{\boldsymbol{x}}_{i:i + h - 1}} + \mathit{\boldsymbol{b}}} \right), $ | (2) |
式中: w∈Rh*k为滤波器的权重矩阵; b∈R为偏差项; f是卷积核函数。该滤波器应用于句子{x1:h, x2;h+1, …, xn-h+1:n}得到特征图
| $ \mathit{\boldsymbol{C}} = \left[ {{\mathit{\boldsymbol{c}}_1}, {\mathit{\boldsymbol{c}}_2}, {\mathit{\boldsymbol{c}}_3}, {\mathit{\boldsymbol{c}}_4}, \cdots , {\mathit{\boldsymbol{c}}_{n - h + 1}}} \right]. $ | (3) |
(3) 池化层。池化层采用Collobert[12]提出的max-over-time pooling方法进行特征采样, 对卷积层的输出特征进一步抽象, 保留最重要的特征:
| $ \mathit{\boldsymbol{\hat C}}{\rm{ = max}}\left\{ \mathit{\boldsymbol{C}} \right\}。$ | (4) |
(4) 全连接层。全连接层由池化层输出的多个特征向量构成, 若有不同尺寸的滤波器p种, 每种滤波的数量为q, 则全连接层的特征向量
| $ \mathit{\boldsymbol{V = }}\left[ {{{\mathit{\boldsymbol{\hat C}}}_{1, 1}}, \cdots , {{\mathit{\boldsymbol{\hat C}}}_{1, q}}, {{\mathit{\boldsymbol{\hat C}}}_{2, 1}}, \cdots , {{\mathit{\boldsymbol{\hat C}}}_{2, q}}, {{\mathit{\boldsymbol{\hat C}}}_{p, 1}}, \cdots , {{\mathit{\boldsymbol{\hat C}}}_{p, q}}} \right]。$ | (5) |
(5) 输出层。使用全连接的softmax层完成分类任务。
1.3.2 数据预处理目前公开的新闻数据集少有中文财经类数据, 本研究采集的数据集共包含8 138条财经新闻, 人工标注为正负两类, 对经济市场产生积极正面影响的标注为正, 对经济市场产生滞后影响或报道负面的标注为负, 如表 2所示。经标注, 含正向新闻4 121条, 负向新闻4 017, 最长文本长度为50。
| 表 2 人工标注示例 Table 2 The sample of manual annotation |
本研究利用JIEBA分词工具对试验数据集进行分词、去除非法字符、停用词处理。词向量采用上文已经训练完成的Word2vec向量模型, 共包含22万个汇, 词汇覆盖率为87.36%。
1.3.3 超参数和训练对于卷积神经网络模型, 本研究采用表 3所示的卷积神经网络模型可调参数设置, 使用窗口大小为3、4、5的滤波器各100个。
| 表 3 试验模型参数 Table 3 Parameters of the CNN model |
在模型训练阶段, 采用Zeiler[21]在2012年提出的Adadelta Update Rule进行随机梯度下降[22]更新模型, 参数取0.5。
2 试验结果本研究使用静态词向量和动态词向量两种不同形式的通道模式。(1)CNN静态词向量。使用Word2vec词向量, 在训练过程中保持所有词向量静态。若存在新词汇不在Word2vec词向量模型中, 则随机初始化。(2)CNN动态词向量。使用Word2vec词向量, 但将其作为卷积神经网络中一项参数进行迭代训练, 实现词向量的动态调整。
为了降低其他随机因素对上述变化的影响, 进行十折交叉验证(10-fold cross-validation)来评估方法的准确性。将样本数据分成10组, 轮流将9组数据作为训练集用于训练, 剩下1组为测试集, 即每组数据依次作为测试集使用。每次测试均得到一个正确率, 最后取10次测试结果的平均值用于总体评估。在两种模式下的试验结果如表 4所示。
| 表 4 静态与动态模式下训练结果 Table 4 Results of static and dynamic model |
在静态模式下, 正确率分布为73.69%~79.85%, 平均正确率为76.96%。
在动态模式下, 正确率分布为76.27%~82.93%, 平均正确率为80.06%。
相比于静态模式, 动态模式虽然在训练速度上没有很好的表现, 但通过对词向量的动态调整, 其分类性能优于静态模式, 提高3%, 可以有效提升模型的分类能力。
结果表明, 两种模式都能完成对大部分财经新闻的准确分类:如样例“德国总理默克尔:德国经济表现良好”“欧洲Stoxx600指数开盘上涨0.2%, 报344.77。”“中国工商银行纸原油周四亚市早盘震荡下跌”包含“良好”“上涨”“下跌”等明显表示正负性词且结构较简单的句子都能做出正确的分类。但是, 如“LendingClub今日股价下跌8.2%, 本周累计上涨9.1%”这一样例同时包含“下跌”“上涨”正负两类词性, 前后语义发生转折, 此类样本在训练集中出现较少, 分类结果存在一定错误率。
因财经新闻涉及领域较广, 覆盖与经济相关的全部内容, 其对词向量的覆盖率要求较高, 且相比于英文文本, 中文文本需要进行更多的数据处理。本研究方法已经在基于小训练集的基础上取得了良好的结果。为进一步显示方法的有效性, 本研究特引入基于深度学习的方法及朴素贝叶斯SVM等5种机器学习方法, 使用相同的试验数据作为输入, 试验结果如表 5所示。表 5中:CNN_S为静态卷积神经网络方法, CNN_US为动态卷积神经网络方法, MVRNN(matrix-vector recurrent neural networks)为矩阵-向量递归神经网络方法[23], Sent-Parser为情感分析特定解析器方法[1], NBSVM(naive bayes support vector machine)为朴素贝叶斯SVM方法[24], MNB(multi-element naive bayes)为多元素朴素贝叶方法[24], Tree-CRF(Tree-conditional random field)为结合条件随机依赖树的方法[25]。
| 表 5 各分类方法性能对比 Table 5 Performance comparison of classification methods |
结果显示, 本研究方法分类性能比其余5种方法相比更具竞争力。基于卷积神经网络方法在两种模式下准确率均高于其他方法, 尤其在动态模式下, 准确率比其余最高的Sent-Parser方法高4.55%, 比最低的Tree-CRF方法高7.64%。
3 结论本研究提出了一种基于卷积神经网络的中文财经新闻分类方法。首先, 收集大量新闻语料, 利用词的上下文信息训练得到一个财经类词向量模型, 实现将财经词汇映射为低维实数向量。其次, 将词向量组合成二维矩阵作为训练样本的深度特征, 引入到卷积神经网络模型训练中。该模型充分利用词语本身的特征及上下文语义信息, 将整条新闻映射成一个整体向量作为模型输入, 在保证分类性能的同时简化模型复杂度。
试验结果证明, 本研究使用的模型结构简单, 训练速度快, 相比传统分类方法, 分类准确率有大幅提升, 可以有效解决中文财经新闻的分类问题。而通过Word2vec训练得到的财经类词向量作为广义通用的语言信息, 可重复用作不同神经网络的句子输入, 同时也表明Word2vec在自然语言处理中具有重要作用。
| [1] | WANG S, MANNING C D. Baselines and bigrams: Simple, good sentiment and topic classification[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics. Jeju Island, Korea: ACL, 2012: 90-94. http://dl.acm.org/citation.cfm?id=2390688 |
| [2] | KRIZHEVSKY A, SUTSKEVER I, HINTON G. Imagenet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 60(2): 1097-1105 |
| [3] | SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Proceedings of Conference on Computer Vision and Pattern Recognition (CVPR). Boston, USA: IEEE, 2015: 1-9. http://doi.ieeecomputersociety.org/10.1109/CVPR.2015.7298594 |
| [4] | SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2017-06-20]. https://arxiv.org/pdf/1409.1556v6.pdf. |
| [5] |
徐姗姗, 刘应安, 徐昇. 基于卷积神经网络的木材缺陷识别[J].
山东大学学报(工学版), 2013, 43(2): 23-28 XU Shanshan, LIU Ying'an, XU Sheng. Wood defects recognition based on the convolutional neural network[J]. Journal of Shandong University (Engineering Science), 2013, 43(2): 23-28 |
| [6] |
奚雪峰, 周国栋. 面向自然语言处理的深度学习研究[J].
自动化学报, 2016, 42(10): 1445-1565 XI Xuefeng, ZHOU Guodong. A survey on deep learning for natural language processin[J]. Acta Automatica Sinica, 2016, 42(10): 1445-1565 |
| [7] | BENGIO Y, DUCHARME R, VINCENT P, et al. A neural probabilistic language model[J]. The Journal of Machine Learning Research, 2006, 3(6): 1137-1155 |
| [8] | FISCHER A, IGEL C. An introduction to restricted Boltzmann machines[C]//Iberoamerican Congress on Pattern Recognition. Berlin, Germany: Springer, 2012: 14-36. https://link.springer.com/chapter/10.1007/978-3-642-33275-3_2 |
| [9] | MNIH A, HINTON G. A scalable hierarchical distributed language model[C]//International Conference on Neural Information Processing Systems. Vancouver, Canada: NIPS, 2008: 1081-1088. https://www.researchgate.net/publication/221618232_A_Scalable_Hierarchical_Distributed_Language_Model |
| [10] | SOCHER R, PENNINGTON J, HUANG E H, et al. Semi-supervised recursive autoencoders for predicting sentiment distributions[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Edinburgh, Britain: ACL, 2011: 151-161. http://dl.acm.org/citation.cfm?id=2145450 |
| [11] | COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost)from scratch[J]. The Journal of Machine Learning Rearch, 2011, 12(1): 2493-2537 |
| [12] | MIOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe, USA: NIPS, 2013: 3111-3119. http://dl.acm.org/citation.cfm?id=2999959 |
| [13] | ZHOU Shusen, CHEN Qingcai, WANG Xiaolong. Convolutional active deep learning method for semi-supervised sentiment classification[J]. Necuro computing, 2013, 120(10): 536-546 |
| [14] | JOHNSON R, ZHANG T. Effective use of word order for text categorization with convolutional neural networks[J]. Eprint Arxiv, 2014: 1412 |
| [15] | BLUNSOM P, GREFENSTEEN E, KALCHBRENNER N. et al. Aconovolutional neural network for modelling sentences[C]//Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics. Baltimore, USA: ACL, 2014: 655-665. |
| [16] | KIM Y. Convolutional neural networks for sentence classification[C]//Proceedings of the EMNLP. Doha, Qatar: Association for Computational Linguistics, 2014: 1746-1751. http://www.oalib.com/paper/4046794 |
| [17] | MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[EB/OL]. [2017-06-20]. https://arxiv.org/pdf/1301.3781v3.pdf |
| [18] | HINTON G E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving neural networks by preventing co-adaptation of feature detectors[EB/OL]. [2017-06-20]. https://arxiv.org/pdf/1207.0580v1.pdf. |
| [19] |
唐明, 朱磊, 邹显春. 基于Word2vec的一种文档向量表示[J].
计算机科学, 2016, 43(6): 264-269 TANG Ming, ZHU Lei, ZOU Xianchun, et al. Documenl vector representation based on Word2vec[J]. Computer Science, 2016, 43(6): 264-269 |
| [20] |
陈钊, 徐睿峰, 桂林, 等. 结合卷积神经网络和词语情感序列特征的中文情感分析[J].
中文信息学报, 2015, 29(6): 172-178 CHEN Zhao, XU Ruifeng, GUI Lin, et al. Combining convolutional neural networks and word sentiment sequence features for Chinese text sentiment analysis[J]. Processing of Journal of chinese Imformation, 2015, 29(6): 172-178 |
| [21] | ZEILER M. ADADELTA: An adaptive learning rate method[EB/OL]. [2017-06-20]. https://arxiv.org/pdf/1212.5701v1.pdf. |
| [22] | BOTTOU L. Large-scale machine learning with stochastic gradient descent[C]//Proceedings of COMPATAT'2010. Berlin, Germany: Springer, 2010: 177-186. https://link.springer.com/chapter/10.1007/978-3-7908-2604-3_16 |
| [23] | SOCHER B, HUVAL C, MANNING A. Semantic compositionality through recursive matrix-vector spaces[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Jeju Island, Korea: ACL, 2012: 1201-1211. http://dl.acm.org/citation.cfm?id=2391084 |
| [24] | DONG L, LIU S J, ZHOU M, et al. A statistical parsing framework for sentiment classification[J]. Computational Linguistic, 2015, 41(2): 293-336 DOI:10.1162/COLI_a_00221 |
| [25] | NAKAGAWA K, INUI S, KUROHASHI S. Dependency tree-based sentiment classification using CRFs with hidden variables[C]//The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics. Los Angeles, USA: ACL, 2010: 786-794. http://dl.acm.org/citation.cfm?id=1858119 |

