发明名称 一种基于情感分析和隐马尔科夫模型融合的股市预测方法
摘要 本发明涉及一种基于情感分析和隐马尔科夫模型融合的股市预测方法,包括以下步骤:信息采集:针对新浪网财经新闻网页,利用网络爬虫Heritrix采集财经新闻网页;信息预处理:对财经新闻网页进行正文抽取、分词、词性标注,以及停用词和标点符号过滤;语料构建:构建股票领域相关语料库;情感分析:对股票领域相关语料进行情感分析;股市技术分析:获取股市技术分析指标;采用基于情感分析和隐马尔科夫模型融合的预测方法预测股市走向。本发明通过利用财经新闻网页中的情感倾向性信息,提高了股市预测的准确性,在倾向性分析、主题检测、股市预测、网络内容监控等领域具有广阔的应用前景。
申请公布号 CN103778215B 申请公布日期 2016.08.17
申请号 CN201410023154.2 申请日期 2014.01.17
申请人 北京理工大学 发明人 张春霞;蒋一泽;牛振东;赵小林;刘振岩
分类号 G06F17/30(2006.01)I;G06Q10/04(2012.01)I;G06Q40/00(2012.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种基于情感分析和隐马尔科夫模型融合的股市预测方法,包括以下步骤:步骤1、信息采集:针对新浪网财经新闻网页,利用网络爬虫Heritrix采集财经新闻网页,将其保存到本地计算机;在网络爬虫中,分别输入四个种子网页地址,即新浪网财经新闻的“股市及时雨”、“主力动向”、“宏观研究”和“市场研究”四个频道的首页地址,下载这些频道的财经新闻网页,下载后的财经新闻网页按照新闻的发布时间顺序以超文本标记语言Html文件形式保存在本地计算机;步骤2、信息预处理:对信息采集步骤中获取的财经新闻网页进行正文抽取、分词、词性标注,以及停用词和标点符号过滤;首先,针对采集到的财经新闻网页,抽取新闻网页的标题、发布时间和正文文本信息,去除网页中的噪音信息;其次,人工构建财经领域词典和股市情感词典,由于财经领域新闻网页包含众多的专业词汇,因此通过构建财经领域词典和股市情感词典来提高分词的准确率;然后,利用分词工具ICTCLAS和这两个词典,对正文文本进行分词和词性标注;最后,去除标点符号和停用词;步骤3、语料构建:构建股票领域相关语料库,包括对财经新闻网页的主题词抽取、股票领域相关语料的识别;对财经新闻网页的主题词,采用一种基于规则和统计的混合抽取方法,具体步骤包括:首先,构建财经新闻网页的候选主题词,包括网页中的名词,以及包含在财经领域词典和股市情感词典中的词语;其次,计算候选主题词在网页中的词频TF,TF为该词语在文档中的出现频率与文档中所有词语数目的比值,若该词语在财经领域词典和股市情感词典中,则其TF值扩大两倍;然后,计算候选主题词的文档频率DF,文档频率DF为该词语在语料库中出现的文档数目与语料库中所有文档数目的比值;进一步,计算候选主题词的权重为α×TF×DF,其中α为位置衰减系数,位置衰减系数根据候选主题词在段首句、段尾句、段中句设置不同的值,候选主题词在段首句的权重设为0.9,段尾句设为0.75,其他语句中设为0.5;最后,对于在句子中位置相邻的多个候选主题词,将它们合并为一个候选主题词,其权重为这些相邻词语的权重之和;将候选主题词的权重按照降序方式排列,输出前三个候选主题词作为网页的主题词;对股票领域相关语料的识别采用主题词引导的识别方法,具体步骤为:若新闻网页至少存在一个主题词在财经领域词典和股市情感词典中出现,则判别该网页与股票领域相关;最后将采集的财经新闻网页识别为三类:股票领域相关网页、股票领域无关网页,以及噪音网页,噪音网页是指含有超文本标记语言Html标签、结构混乱且缺乏正文信息的网页;步骤4、情感分析:对股票领域相关语料进行情感分析,包括特征词提取、特征词权重计算、情感倾向性判别;首先,提取新闻网页的特征词,针对股票领域文本的特点,根据词语的词性和专业性来提取文本的特征词:若词语的词性为名词、动词、形容词或副词,或者词语包含在财经领域词典或股市情感词典中,则将该词语作为新闻网页的特征词;然后,计算新闻网页的特征词的权重,采用基于词频‑逆文档频率TF‑IDF(Term Frequency‑Inverse Document Frequency)的方法来计算特征词的权重,也就是:特征词的权重为TF×IDF,其中词频TF为该词语在文档中的出现频率与文档中所有词语数目的比值;逆文档频率IDF为语料库中所有文档的数目与该词语在语料库中出现的文档数目加一的比值,再取对数;该方法的核心思想是:若词语在文档中出现的频率较高,且在其他文档中较少出现,则该词语具有较好的类别区分能力;最后,对新闻网页进行情感倾向性的判别:新闻网页的情感倾向性分为积极和消极两类,“积极”表示新闻网页反映股票的走势为上涨,“消极”表示股票的走势为下跌,情感倾向性判别就是对新闻网页的情感倾向性进行两个类别的分类,构建新闻网页的特征向量,其中特征维数为特征词的数目,特征值为特征词的权重,采用支持向量机分类器对新闻网页进行分类;步骤5、股市技术分析:获取股市技术分析指标,包括采集上证指数信息和深圳成指信息,计算股市技术分析指标;步骤6、采用基于情感分析和隐马尔科夫模型融合的预测方法预测股市走向,包括连续型隐马尔科夫模型参数学习和股市预测;隐马尔科夫模型包括五个元素:(1)隐含状态空间S,S={S<sub>1</sub>,S<sub>2</sub>,…,S<sub>N</sub>},S<sub>i</sub>为隐含状态,其中i=1,2,…,N,N为隐含状态数量,隐含状态序列为一个满足马尔可夫过程的状态序列,通常无法通过观察来获得;(2)观测状态序列O,O={O<sub>1</sub>,O<sub>2</sub>,…,O<sub>M</sub>},O<sub>j</sub>为观测状态,其中j=1,2,…,M,M为观测状态数量,观测状态序列为一个与隐含状态相关联的状态序列,通过观察来获得;(3)隐含状态的初始概率矩阵Π,Π={P<sub>1</sub>,P<sub>2</sub>,…,P<sub>N</sub>},表示隐含状态在初始时刻的概率矩阵,P<sub>r</sub>为初始状态S<sub>r</sub>的概率,其中r=1,2,…,N;(4)隐含状态间的转移概率矩阵A,描述隐含状态之间相互转换的概率矩阵;(5)混淆矩阵B,描述观测状态转移行为的概率矩阵;股市预测步骤采用连续型隐马尔科夫模型来进行建模,假定观测状态序列值服从高斯分布,使用三维混合高斯分布作为连续型隐马尔科夫模型中混淆矩阵的概率密度函数,在连续型隐马尔科夫模型中,设定隐含状态数量N为3,表示股市有上涨、下跌和持平三种走势,隐含状态序列为股市走势序列,即由上涨、下跌和持平构成的序列;采用高斯混合模型来模拟情感倾向值序列和股市技术分析指标值序列的概率分布,即使用M个服从单高斯分布的随机变量来表示M个观测状态;高斯混合模型的输入是情感倾向值序列和股市技术分析指标值序列,每个观测状态为一个服从单高斯分布的随机变量,观测状态序列是由M个观测状态即随机变量的取值组成的序列;在股市预测步骤中,由训练集构建训练样本,设每个样本的长度为k,也就是每个样本的观测状态序列是由高斯混合模型根据连续k天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值所构成的序列,若训练集包含连续t天的情感倾向值和股市技术分析指标值,其中t大于等于k,则由训练集可构建t‑k+1个样本,第i个样本的观测状态序列为第i天到第i+k‑1天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,其中i=1,2,…,t‑k+1;对于连续型隐马尔科夫模型的参数学习问题,采用Baum‑Welch算法来求解:(1)根据情感分析步骤获得按照时间排序的每日新闻网页的情感倾向值序列,根据股市技术分析步骤获得股市技术分析指标值序列;(2)随机设置隐含状态的初始概率矩阵Π、隐含状态间的转移概率矩阵A,以及混淆矩阵B的初始值,设定迭代次数为零;(3)按照梯度下降原则,使用Baum‑Welch算法朝梯度下降方向不断迭代进行模型参数调整,获得更新的隐含状态的概率矩阵Π′,隐含状态间的转移概率矩阵A′,混淆矩阵B′,使得模型达到收敛;针对上证指数和深圳成指,分别学习连续型隐马尔科夫模型的参数;对于观测状态序列的识别问题,即对于测试集中的每个样本,在训练集中找到其最可能符合的模式;(1)对于测试集中的样本,计算当前样本的观测状态序列的最大似然率L,设当前样本的观测状态序列为由第i天到第i+k‑1天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,已知第1天到第k天的上证指数或深圳成指;(2)在训练集中寻找与L最接近的最大似然率L′,获得L′对应的上证指数序列或深圳成指序列V,V={V<sub>q+1</sub>,V<sub>q+2</sub>,…,V<sub>q+k</sub>},其中V<sub>q+i</sub>为第q+i天的上证指数或深圳成指,i=1,2,…k;进一步,计算差值δ=V<sub>q+k+1</sub>–V<sub>q+k</sub>,其中V<sub>q+k</sub>为第q+k天的上证指数或深圳成指,V<sub>q+k+1</sub>为第q+k+1天的上证指数或深圳成指;(3)对于测试集中当前样本的上证指数序列或深圳成指序列U,U={U<sub>1</sub>,U<sub>2</sub>,…,U<sub>k</sub>},其中U<sub>j</sub>为第j天的上证指数或深圳成指,j=1,2,…k,获得该序列对应的预测值U<sub>k+1</sub>=U<sub>k</sub>+δ,U<sub>k+1</sub>为预测的第k+1天的上证指数或深圳成指;(4)对于测试集的下一个样本,其观测状态序列为由第2天到第k+1天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,第k+1天的上证指数或深圳成指为步骤(3)所预测的数值;同步骤(3)方法,预测第k+2天的上证指数或深圳成指,同理预测若干天的上证指数或深圳成指。
地址 100081 北京市海淀区中关村南大街5号