陈可嘉,陈荣晖
(福州大学经济与管理学院,福州 350116)
根据中国结算数据显示,截至2019年9月30日,沪深两市投资者总数达1.57×108,其中个人投资者达到1.56×108。与此同时,投资者在线论坛不断涌现并受到广大投资者欢迎,这些在线评论包含的投资者情绪被学术界认定是造成股票市场系统性偏差的重要成因之一[1-2]。许多投资者喜欢在进行股市投资时查看在线论坛的评论,分析后再进行投资。但伴随互联网快速发展,信息体量快速增长,投资者无法轻易从中获取重要信息,故借助计算机手段来科学测度其中的投资者情绪受到越来越多的投资者关注。基于情感词典的方法是文本情绪的常用分析方法[3],所使用的情感词典是否全面且精确将对投资者情绪测度结果产生重大影响,进而影响投资者收益[4]。
当前关于投资者情绪测度的研究多是基于现有的通用情感词典而开展[5-6]。其中,知网情感词典(HowNet)、中国台湾大学情感词典(NTUSD)和清华大学情感词典(THUSD)被较高频率采用。HowNet包含汉语和英语褒贬的评价词、情感词,并构建了词语之间大型关系网络;NTUSD来源于中国台湾大学自然语言处理实验室的中文情感极性词典,包含2 810个褒义词和8 276个贬义词;THUSD多是通过对线上文本进行多轮人工筛选后而产生。这些通用情感词典主要是通过阅读大量文本或现有词典,人工筛选出具有较强情感倾向的词语,再对其标注情感极性或情感强度,进而构成词典,此类方法耗费大量的人力物力,自动化程度低,与待分析文本联系不够紧密[7]。针对人工构建效率较低,也有较多学者提出改进。Bracewell[8]使用种子词和现有词典创建初始情感词典并通过半自动方式实现情感词典构建;杨超等[9]通过对HowNet和NTUSD进行扩展,并标注其情感倾向;周咏梅等[10]在词典库情感种子词基础上采用图排序模型的方法来构建情感词典。这些研究在一定程度上提高了词典构建效率,但是所构建的词典仍然是通用型,缺乏行业特异性[11]。Rao等[12]针对新闻领域情感分析则采用具有3种修剪策略的算法来自动构建单词级情感词典;严仲培等[13]提出了面向旅游在线评论的情感词典构建方法。这些词典与应用领域联系较为密切,拥有较好的行业特异性,但是在已有研究中关于针对股市的仍然较少。孟雪井等[14]通过综合Hounet、NTUSD和THUSD三大词典并结合智能算法得到股票市场投资者关键词库,并应用于投资者情绪指数构建,该研究方法覆盖三大词典库工作量较大,且未对情感极性进行深入分析,会限制情感词典的使用。目前针对情感词典情感强度的研究,主要通过计算词语“空间”距离得出。Colace等[15]从文本中抽取词语构成融合图,再针对性地对词语进行情感倾向计算;Mukkamala等[16]则是构建了一个四元模糊集,通过计算各模糊集之间关系得出情感强弱。这些研究在情感强度计量方面取得一定突破,但是存在缺乏对情感强度的调整的问题,具有一定改进空间。
情感词典构建作为文本情绪分析的基础性研究,现有研究仍然存在效率较低、情感判断不够精细、针对特定领域缺乏行业特异性等问题。为此,提出针对股市的情感词典自动构建与优化方法,提高情感词典构建效率,并优化提升词典精确度:一是在构建股市基本情感词典基础上,选用Word2vec无监督添加高频情感词语并判断极性与赋值,降低人工添词工作量;二是将情感词典构建问题转化为优化问题,选用自行改进的模拟退火算法对股市情感词典情感优化,不断提升情感词典性能。
提出的股市情感词典自动构建与优化方法主要包括三个阶段:第一阶段为基本情感词典构建;第二阶段为高频情感词语添加;第三阶段为情感分值优化。整个股市情感词典构建与优化流程如图1所示。
图1 股市情感词典构建与优化
在股市投资者情绪分析中,通过文本挖掘技术对指定文本的语义开展分析,不仅需要识别投资者的情感悲喜、判断投资者观点是同意或反对,更主要的目的在于了解投资者对于股市“上涨”或者“下跌”的预期以及其接下来的投资意愿,故股市情感词典构建需要考虑股市特点。在基本情感词典构建中,就需要考虑相关因素。基本情感词典构建主要由基本情感词语挑选和程度副词与否定副词挑选两个部分构成。
1.1.1 基本情感词语挑选
在股市文本情绪分析中,情感词语为“多”或“空”对情感分析具有至关重要作用,在基本情感词语挑选中,就需要做到做好相关词语筛选工作。股市情感不仅受到常规情感词语影响,投资者还容易受到一些股市专业词语影响,例如“抛售”、“拉高”等词语。除此之外,股市影响因素众多,一些词语在一定情境下,其情感极性也会发生变化。例如爆发负面信息后,“长生生物”、“乐视”在股市中均表达负面情感。先构建基本情感词典,并在此基础上进行扩充。其中基本多空情感词语主要通过词频统计分析与人工筛选相结合的方法来完成,通过对大量文本进行词频统计,可从中挑选出股民经常使用的词汇,结合人工筛选,就可以得出股市中常用的基本词语。
1.1.2 程度副词和否定词挑选
参考梁亚伟[17]的情感分析模型,以情感词语为中心,抽取其中的程度副词和否定词,以子句为单位,逐一计算情感倾向值,进行加权平均,进而得出文本的情绪指数。故情感副词和否定词在情感分析中起到关键作用,否定副词将左右文本真实情感方向,而程度副词则是情感程度强弱的重要载体。例如“我坚定认为股市会上涨”相比“我认为股市不会下跌”,两句虽然都在表达看多股市,但是其情感强弱具有差异,在对股市投资者情绪计量时需要做到差异化对待。
1.2.1 Word2vec介绍
投资者在网络论坛发表的评论数量繁多,但内容相对简洁、直接,主要表达其对于股市投资的观点和看法,且股市用语较少存在一词多义等情况,故在构建词空间向量时主要考虑构建效率。Word2vec是在2013年由Mikolov等[18]构建的一种神经概率语言模型,它减少了计算复杂度,在词向量计算上具有明显的优势。Word2vec词向量构建多是基于词语的上下文内容得出,在分析上下文语义信息这一基础上,进而得出两个词语的相似度。其已在评论情感[19]、关键词抽取[20]、情感词典构建[21]等领域已成功应用。Word2vec包含两种训练模型,分别是CBOW和Skip_gram。
CBOW模型是通过给定上下文内容用以预测给定词,其数学表示如式(1)所示:
P[(Wt|τ(Wt-k,Wt-k+1,…,Wt,…,Wt+k-1,Wt+k)]
(1)
式(1)中:Wt为该语料词典中的词语,即通过和Wt相邻上下文窗口大小为k的词来预测词Wt出现的概率;τ运算符表示将上下文窗口相邻的词汇的词向量作相加运算。
Skip_gram则是通过当前词预测其上下文内容,即通过词汇Wt去预测相邻窗口k内词汇的概率。其数学表示如式(2)所示:
P(Wt-k,Wt-k+1,…,Wt,…,Wt+k-1,Wt+k|Wt|)
(2)
实际应用中,Skip_gram的语义准确率高于CBOW,故选用Skip_gram模型用于词语向量空间构建。
1.2.2 高频备选情感词语
从大量文本中挑选词语将其添加到情感词典中去,需要先对文本进行分词处理。使用Jieba工具对文本进行分词处理,去除停用词后,并以交易日为单位统计每日高频词语,挑选词频最高的若干个词语作为情感词语备选词。如每日备选词已在情感词典中去,则不再添加;如为新词,将其添加到词典中等待词性判断与赋值。
1.2.3 高频情感词语极性判断与赋值
选用Word2vec工具来判断新添加高频情感词语情感极性并对其赋予情感分值。通过Python的Gensim工具训练Word2vec模型,得出单一词语在文本中的空间向量,A、B、Ai、Bi为各维度的数值,通过式(3)空间距离计算方法可得出词语的关联关系SAB。
(3)
在关联度计算的种子词的选择方面,通过对东方财富“股吧”词频统计并结合人工筛选,选择了5个看多词语与5个看空词语,将其作为与备选词关联度计算的种子词。所选看多词语为“上涨”“利好”“看多”“红”“买入”;看空词语为“下跌”“利空”“看空”“绿”“卖出”。上述词语考虑了股市的走势特点、股民操作行为等多因素,符合股市特点。
高频词语备选词依次与种子词计算关联度,并根据其与看多种子词的关联度spos和看空种子词的关联度sneg强弱判断其情感极性。强弱关系sw则以其累加关联度为依据,计算方法如式(4)所示:
(4)
式(4)中:N为整数,当该词语与看多种子词关联度之和更大时,其取值为正数,反之为负数。
1.3.1 股市情感词语分值优化模型
杜伟夫等[22]的研究将文本挖掘问题转化为优化问题,并利用模拟退火算法求解。参考其研究思想将每个情感词语的情感分值作为优化对象,情感波动情况与股市波动情况一致性为优化目标,并通过改进模拟退火算法实现优化过程。每个子句情感值Bi计算方法如式(5)所示:
(5)
式(5)中:Zl为每个子句中的情感分值,当句子中包含情感词则计算得分,如果不包含则该句子不计算分数;Fl为否定词词语得分,如果存在否定词则为-1,不含则为1;Dl为程度副词得分;l为每个子句编号;len(sen)为所包含的子句数量。根据该程度强弱进行计算得分。例如“我坚定认为股市不会上涨”句子得分为“上涨”情感词得分、“坚定”程度词得分和“不会”否定词得分三者的乘积。
每日均会产生大量子句来影响股票市场,采用均值方法来衡量每日的投资者情感程度,故每日情感倾向值Kt计算方法如式(6)所示:
(6)
将先前两日的变化情况作为当日投资者情绪,每日的投资者情绪指数Vt计算方法如式(7)所示。而休市期间的数据,将其归入上一交易日处理。
Vt=Kt-Kt-1
(7)
为更好地体现词典的准确性,将每日投资者情绪指数Vt与获取的每日涨跌情况Rt归一化后的残差平方和作为算法求解目标,归一化方法如式(8)所示,目标函数f如式(9)所示:
(8)
(9)
式中:t为期数;Z(Vt)为标准化后的当期情感分值;Z(Rt)为标准化后的当期收益率。
1.3.2 股市情感词语分值优化
根据1.3.1所示的股市情感词典优化模型,选用改进模拟退火算法进行优化。传统模拟退火算法(simulated annealing,SA)由Steinbrunn等[23]于1953年提出,其思想参考物体退火降温过程,使得算法在温度低值时趋向最优解,该算法对于解决大规模组合优化问题具有较大的优势,在解决收敛速度较慢、搜索空间窄、效率不高等问题上更为突出,故该方法可用于解决股市情感词典构建中情感词语分值优化问题。一般模拟退火算法步骤如下。
步骤1 输入:初始解X0、降温方式g(T)、初始温度Tmax、平衡条件、停止准则等。
(1)生成初始解X=X0。
(2)初始温度T=Tmax。
步骤2 重复以下步骤。
(1)针对当前温度T,重复如下步骤。①生成随机候选解X′,令Δf=f(X′)-f(X);②若Δf≤0,直接令X=X′,否则以概率exp(-Δf/T)接受解X′;③满足平衡条件条件时,结束(例如迭代到了最大次数)。
(2)更新温度,即T=G(T)。
(3)满足停止准则时(T 步骤3 输出得到的最优解X。 为进一步提高算法性能,在传统模拟退火算法的基础上,引入改进参数Iimp并改变其概率接受,避免其陷入局部最优,算法流程如图2所示。具体步骤如下。 图2 算法流程图 在获取初始情感词典后,将其作为当前最优解,计算其目标值f(X)。 随机选择一定比例的情感词语,对其进行情感分值优化:使用1.2.1节训练的Word2vec模型对该词语进行关联度分析,分别计算其与看多种子词与看空种子词的之间的相关关系,并取两者中较大值P,P计算方法如式(10)所示: (10) 采用随机取值方法,对该情感词的情感分值执行增加P或者减去P的操作。 计算改变后的目标值f(X′),并计算Δf=f(X′)-f(X)是否优化,如果已经优化则接受本次改变,如果未优化,则进行判断,如满足以下条件也可接受本次改变。 (1)Δf (2)改进参数Iimp取值为接受轮次Acc的整数倍。 如果不满足上述条件,则标记改进参数Iimp+1,取消本次变化,开始当前温度新一次迭代。如满足优化条件,则令改进参数Iimp=0,接受本次改变为当前最优解,并开始当前温度的新一轮迭代。 当迭代次数到达设定值时,则进行降温操作,降温变化函数G(T)为T=0.99T。 降温后,开始新的温度条件迭代,若温度低于设定的最低温度Tmin则结束算法,输出结果。 数据于2019年4月14日通过Python爬虫从东方财富“上证指数”股吧论坛中获取前10 000 页评论数据,获取字段包括评论标题和日期,原始数据共有800 000 条,去除重复数据和由于评论更新导致进入该时间段的数量较少的时段数据,最终获取2018年5月25日—2019年4月14日共745 726 条数据。指数涨跌数据通过东方财富Choice金融终端获取该时段内交易日上证指数每日收益率215条。 2.2.1 基本情感词词典构建情况 多空情感词语挑选主要通过对新浪财经博客内容去除停用词后,进行词频统计,并依据词频统计结果进行人工挑选得出。根据挑选结果可将词语分为技术面情感词典和消息面情感词语,共有207个词语,其中看多情感词语100个,看空情感词典为107个,表1列举了部分词语。 表1 部分情感词语 人工筛选了否定词和程度副词,并根据其感情程度进行分级,程度副词包括:不为过、多、过、过于、略、逾、足、尤其、百分之百、最、倍加等;否定词则包括:不是、否、不会、没、没有、别、休、否、弗、勿、罔等。 2.2.2 高频情感词语添加情况 在情感词语添加中,选择词频排名前20的高频词语,通过结果分析发现所构建的股市情感词典针对股票市场具有良好的适应力,能较大限度地添加影响文本情绪的相关词语。从消息面和技术面两个角度出发,都可对原有情感词典进行补充,进一步提升所构建股市情感词典的行业特异性。此外,方法可以对一些中性词语进行情感极性标注,例如“2449”被判定为看空情感词语,则主要因为其为该期间内的最低点,“中信证券”一词被判定为看空,则因为其被相关机构调为卖出评级,引发了市场回调。“入摩”和“入富”等词语则主要是因为该事件将为市场带来增量资金,提高市场信心,在股民看来是正面事件,则判定为看多词语。表2列举了情感分值绝对值较高的高频情感词语,从表2可见技术面情感词语相对消息面情感词语在情感表达方面有更强情感极性,相对而言消息面情感词语表达因出现频率较低,其情感极性则较弱。 表2 部分新增情感词语和情感分值 2.2.3 情感词典优化情况 在优化流程中,每次选择1%的词语开展优化,在对情感词语的优化上也有较好的效果,除了对新增高频情感词语优化结果较好。从表3可知,部分基本多空情感词语相对原始情感分值均有较大的变动,且其变化方向也区分了该词语的情感极性。例如对股市影响的比较重大的资金相关词语“融资额旺季”的权重得以提升。 表3 部分情感词语分值变化 2.2.4 情感词典构建效果分析与比较 为了评估本文方法的有效性和实用性,选择NTUSD、THUSD和HowNet与本文方法进行比对分析。 行业特异性的提高,将提升文本利用情况,增加情感词典对于文本的覆盖率,使得文本词语利用率得以提升,所构建的投资者情绪指数将有更多的情感词语来与文本。从表4可知,本文方法相比其他情感词典具有更强的覆盖率,为78.50%,比THUSD提升47%,较HowNet也提升36%。 表4 各情感词典覆盖数量 进一步使用准确率QAcc、精确率PPre、召回率RRec和F1对实验结果进行评估。各指标代表以下含义。 (1)准确率:对于股市走势涨跌的测算趋势正确的比例。 (2)精确率:测算结果为上涨且正确占全部预测为上涨的比例。 (3)召回率:测算结果为上涨且正确占全部实际为上涨的比例。 (4)F1:对精确率和召回率的整体衡量,其计算方法如式(11)所示。 (11) 由表5可知,本文方法所建情感词典在投资者情绪表达的准确率、精确率、召回率和F1均高于其他三种情感词典,其中准确度高其他6.98%~11.17%,精确率高其他8.51%~12.56%,召回率高其他7.92%~16.84%,F1高其他7.86%~14.66%.说明该股市情感词典在股市投资者情绪分析中具有更好的精度。 表5 各指标计算结果 现有情感词典构建方法存在自动化程度低、缺少情感计量等问题,探索一个具有自动化构建和自动优化的情感词典具有重要意义。引入Word2vec用于高频词语情感分析,结合前期构建的基本情感词语和程度副词、否定词,生成当期投资者情绪指数,并将情感词典构建转化为数学优化问题,引入改进参数并变更概率接受的改进模拟退火算法,用于情感词语情感分值优化。通过将其与NTUSD、THUSD和HowNet相比,本文方法所构建的情感词典可以提高文本覆盖率,对股市有更强的行业特异性,将其运用于股市所构建的投资者情感指数较其他词典有更好的精度。总体上,提出的股市情感词典自动构建与优化方法具有良好性能。2 实验分析
2.1 数据介绍
2.2 结果与分析
3 结论