CN112200674B - 一种证券市场情绪指数智能计算信息系统 - Google Patents

一种证券市场情绪指数智能计算信息系统 Download PDF

Info

Publication number
CN112200674B
CN112200674B CN202011095683.5A CN202011095683A CN112200674B CN 112200674 B CN112200674 B CN 112200674B CN 202011095683 A CN202011095683 A CN 202011095683A CN 112200674 B CN112200674 B CN 112200674B
Authority
CN
China
Prior art keywords
word
words
emotion
index
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011095683.5A
Other languages
English (en)
Other versions
CN112200674A (zh
Inventor
陈实
谭新龙
李玲芳
陈磊
王荻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Beiyisi Data Intelligent Technology Service Co ltd
Shanghai Qianpu Investment Management Co ltd
Original Assignee
Xi'an Beiyisi Data Intelligent Technology Service Co ltd
Shanghai Qianpu Investment Management Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xi'an Beiyisi Data Intelligent Technology Service Co ltd, Shanghai Qianpu Investment Management Co ltd filed Critical Xi'an Beiyisi Data Intelligent Technology Service Co ltd
Priority to CN202011095683.5A priority Critical patent/CN112200674B/zh
Publication of CN112200674A publication Critical patent/CN112200674A/zh
Application granted granted Critical
Publication of CN112200674B publication Critical patent/CN112200674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种证券市场情绪指数智能计算信息系统,包含爬虫模块、算法模块和后台应用模块;爬虫模块通过爬虫与模型架构,进行数据抓取与清洗;算法模块包含基于情感词自发现模型的指数计算方法模型与基于特征向量修正的指数计算方法模型;后台应用模块进行模型任务调度和结果对接。本发明的系统是一种基于情感词自发现和特征向量修正与逻辑回归模型的金融舆情指数计算方法的系统,克服了克服现有的技术缺陷,结合基于特征向量修正的有监督机器学习算法,来计算金融舆情指数,并在此基础上完成了证券市场情绪指数智能计算信息系统的设计和应用。

Description

一种证券市场情绪指数智能计算信息系统
技术领域
本发明涉及一种属于网络舆论的自然语言理解与处理技术领域的系统,具体地,涉及一种证券市场情绪指数智能计算信息系统。
背景技术
随着互联网文化产业的兴起,音频行业越来越受到人们的重视和喜爱,更多当今社会媒体的发展导致了金融舆论数据的爆炸式增长。因此,针对金融舆论数据的情感分析成为金融领域的热点。行为金融学提出:非理性股市投资者的心理和行为将会影响股票市场态势。而且随着互联网的日益发展,投资者也更容易通过新闻和股评来获取投资观点,或者通过论坛来表达投资情感倾向。新闻和股评也因此影响了投资者心理和行为,从而影响了他们的投资决策,甚至影响了整个市场的行情走势。
目前,舆情分析应用主要分为两种:基于词库的方法和机器学习方法,前者属于无监督的文本情感判断,后者使用有监督的分类方法。这两种方法适用于不同的研究内容,基于词库的方法更适用于细分的情感判断(比如快乐和愤怒等),而有监督的分类方法应用在整体的情感(比如正向、中立和负向三个类别)判断更能发挥其优势。
无监督的情感判断主要运用情感词的相关信息进行文本情绪的判断。该方法简单易行,而且通用性也能够得到保障,但也存在一定的难点:1.精度不高。语言是一个高度复杂的东西,采用简单的线性叠加显然会造成很大的精度损失。词语权重同样不是一成不变的,而且也难以做到准确;2.新词发现。对于新的情感词,比如辣鸡、闷杀等等,词典不一定能够覆盖;3.词典构建难。基于词典的情感分类,核心在于情感词典。而情感词典的构建需要有较强的背景知识,需要对语言有较深刻的理解。目前针对金融评论的词典需要研究者自己挖掘构建。
有监督学习的文本情感分析主要运用贝叶斯模型、支持向量机(SVM)、神经网络等模型进行情感分类。该类方法需要大量的训练集,同时需要人工对其进行分类标注。该方法需要解决语句长度过长的问题。很多用户评论都特别长,分词完后也有几百个词语。而序列过长会导致计算复杂、精度降低等问题。
另外,无论是通过词库方式判断文本情绪,还是通过机器学习的方式,都需要通过分词的方式对文本进行碎片化、向量化处理。用户评论语句不像新闻那样规整,新词和口语化的词语特别多。这个问题给分词和词向量带来了很大难度。一般解决方法是分词方面,建立用户词典,从而提高分词准确度。词向量方面,对新词进行增量训练,从而提高新词覆盖率。
发明内容
本发明的目的是提供一种基于新型无监督特定情感的金融舆情感知方法的系统,克服现有的技术缺陷,结合基于特征向量修正的有监督机器学习算法,来计算金融舆情指数,并在此基础上完成了证券市场情绪指数智能计算信息系统的设计和应用。
为了达到上述目的,本发明提供了一种证券市场情绪指数智能计算信息系统,其中,该系统包含爬虫模块、算法模块和后台应用模块;所述的爬虫模块通过爬虫与模型架构,进行数据抓取与清洗;所述的算法模块包含基于情感词自发现模型的指数计算方法模型与基于特征向量修正的指数计算方法模型;所述的后台应用模块进行模型任务调度和结果对接。
上述的证券市场情绪指数智能计算信息系统,其中,所述的爬虫模块,其爬虫与模型架构包含:爬虫服务通过scrapy-redis发布,爬虫服务监听redis,等待请求任务数据,每个任务通过azkaban调度,生成请求url到redis中,触发爬虫服务执行。
上述的证券市场情绪指数智能计算信息系统,其中,所述的爬虫模块,其数据抓取与清洗流程为舆情指数更新流程,包含:首先、爬虫抓取数据后将结果写入到OSS,同时将结果发布到kafka(topic=crawl_data);其次、清洗服务订阅kafka(topic=crawl_data),获取爬虫数据,将数据清洗后发布 kafka(topic=etl_data);再次、模型服务订阅kafka(topic=etl_data),获取清洗后数据,将数据发布到celery,由celery调度对应的模型处理模块model_worker,model_worker处理结果发布到kafka(topic=model);最后、应用服务订阅kafka(topic=model),将模型结果写入数据库。
上述的证券市场情绪指数智能计算信息系统,其中,所述的基于情感词自发现模型的指数计算方法,包含:步骤1、利用已有财经类相关词语资料构建初始金融词典,作为文本分词的输入;步骤2、从新增的股吧股票评论数据里随机抽取样本并进行数据清洗;步骤3、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;步骤4、对步骤3的输出使用新词发现算法,计算每个候选词的分值,按分值大小取topN个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;步骤5、利用步骤3的输出结果对预训练好的Word2vec模型进行增量训练;步骤6、从候选词表和情感词表进行人工干预过滤掉不构成词语的词,并对成词的词标注为相应的词性;步骤7、利用更新后的金融词典对新的评论数据和基于词库的模型计算每个细分情感的分值;步骤8、在计算完每篇文本的情感得分后,计算在时刻t针对每只股票i的情感值;步骤9、如果需要进一步计算某个大盘指数在该类情感上的分值,则进一步进行计算。
上述的证券市场情绪指数智能计算信息系统,其中,步骤2所述的清洗,其规则包含:剔除无效文本;去除重复的文本;删除过长、过短文本;繁体转简体;去除包含url、拼音的无意义符号。
上述的证券市场情绪指数智能计算信息系统,其中,步骤4所述的新词发现算法,基于词内互信息和词间的左右信息熵;互信息衡量两个字之间的相关性,是否经常凝固在一起,即凝固度是否足够高到组成新的词;信息熵描述的是信息的不确定性,熵越大,不确定性越强;在此左右熵来衡量主要是表示候选词的自由程度,左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词;所述的新词发现算法包含:
步骤4.1、以二元组(2-gram)为例,即只考虑两个词的组合,首先统计样本集中单个词和每个词与左侧和右侧的词组合出现的词频;
步骤4.2、计算互信息,公式为:
Figure RE-GDA0002781582760000031
其中p(x,y)是两个词一起出现的概率,p(x)是单个词出现的概率;
步骤4.3、分别计算候选词左、右信息熵,选较小值作为最终的自由度;以左熵为例,熵的公式为:
Figure RE-GDA0002781582760000041
其中w为预选词,a为w左侧的词,A为出现在w左侧的词的集合;
步骤4.4、计算候选词成词的综合得分,公式为:
Score(w)=PMI(x,y)+min(EL(w),ER(w))。
上述的证券市场情绪指数智能计算信息系统,其中,所述的步骤5为:将新的文本分词之后,找出不在金融词库里的词记为new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word的词向量;然后统计与new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表。
上述的证券市场情绪指数智能计算信息系统,其中,所述的步骤6中词性的标签包含:
bk 财经词语
stk 股票简称
pos 积极词
ntr 中性词
neg 消极词
hat 表达憎恶的词
fr 表达恐惧的词
ang 表达愤怒的词。
上述的证券市场情绪指数智能计算信息系统,其中,所述的步骤7,以恐惧情绪指数为例,计算每个细分情感的分值,包含:
步骤7.1、对股票i的评论文本j进行带有词性的分词后统计恐惧情感词的个数,记为Nij,文本的总词数记为Cij。同时统计积极词pos 和消极词neg的个数,记为
Figure RE-GDA0002781582760000051
Figure RE-GDA0002781582760000052
并计算各自在文本中的占比,计算公式为:
Figure RE-GDA0002781582760000053
Figure RE-GDA0002781582760000054
其中,恐惧情感词是消极词的一个子集,即
Figure RE-GDA0002781582760000055
步骤7.2、为了防止由于文章长度越长得分越高,即发生膨胀,同时保证指数可在同一标准下进行比较,通过一个sigmoid函数将情绪值转换为[0,1] 的取值,公式为:
Figure RE-GDA0002781582760000056
Figure RE-GDA0002781582760000057
步骤7.3、最后对情绪值进行一次取值范围调整,因为pij的最大取值为2/3,且当文本中全是积极词的时候pij的取值无法反映投资者没有恐惧情绪的事实;恐惧情绪的最终取值为:
Figure RE-GDA0002781582760000058
当pij越接近0表示文本反映出的情绪越积极,即越没有恐惧情绪;反之,越接近1表示恐惧情绪越强烈。
上述的证券市场情绪指数智能计算信息系统,其中,所述的步骤8中计算在时刻t针对每只股票i的情感值,其公式为:
Figure RE-GDA0002781582760000061
其中,m是最新计算的情绪的权重,wj是每篇评论文本的权重,默认为1,用文本长度、作者的关注度即影响力计算该权重;
Figure RE-GDA0002781582760000062
是前h期的情感平均值。
上述的证券市场情绪指数智能计算信息系统,其中,所述的步骤9中进一步计算某个大盘指数在该类情感上的分值,以沪深300为例,其公式为:
Figure RE-GDA0002781582760000063
其中,α是最新计算的情绪的权重,ws是沪深300成份股s在该指数构建中的权重。
上述的证券市场情绪指数智能计算信息系统,其中,所述的基于特征向量修正的指数计算方法,包含:S1、从新增的股票评论数据里随机抽取一定量的样本并进行数据清洗;S2、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;S3、对S2的输出使用新词发现算法计算每个候选词的分值,按分值大小取topN个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;S4、利用S2的输出结果对预训练好的Word2vec模型进行增量训练;S5、在清洗后的数据中,随机挑选部分文本,人工标注其情感类别,作为构建模型训练的训练集和测试集; S6、在做分词之前,对文本中的有用信息进行统计;S7、对分词后的词语保留特定词性的词,在人工标注的积极样本中利用TF-IDF进行筛选和构建词向量;S8、结合S6和S7中得到的统计量共同构成特征向量作为模型训练的数据,再进一步将其随机分为训练集和测试集,然后利用逻辑回归模型训练;S9、如果需要进一步计算某个大盘指数在该类情感上的分值,则进一步进行计算。
上述的证券市场情绪指数智能计算信息系统,其中,S1所述的清洗,其规则包含:剔除无效文本;去除重复的文本;删除过长、过短文本;繁体转简体;去除包含url、拼音的无意义符号。
上述的证券市场情绪指数智能计算信息系统,其中,S3所述的新词发现算法,包含:
S3.1、以二元组(2-gram)为例,即只考虑两个词的组合,首先统计样本集中单个词和每个词与左侧和右侧的词组合出现的词频;
S3.2、计算互信息,公式为:
Figure RE-GDA0002781582760000071
其中p(x,y)是两个词一起出现的概率, p(x)是单个词出现的概率;
S3.3、分别计算候选词左、右信息熵,选较小值作为最终的自由度;以左熵为例,熵的公式为:
Figure RE-GDA0002781582760000072
其中w为预选词,a为w 左侧的词,A为出现在w左侧的词的集合;
S3.4、计算候选词成词的综合得分,公式为:
Score(w)=PMI(x,y)+min(EL(w),ER(w))。
上述的证券市场情绪指数智能计算信息系统,其中,所述的S4为:将新的文本分词之后,找出不在金融词库里的词记为new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word的词向量;然后统计与 new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表;通过人工标注的方式挑选出新词语和情感词并更新现有词典作为模型训练的词典输入。
上述的证券市场情绪指数智能计算信息系统,其中,所述的S5中,将每一篇文本的情绪分为3类:积极、消极和中性;情绪即投资者的情绪,是指对股市走势的判断,而不是自身情绪的表现。
上述的证券市场情绪指数智能计算信息系统,其中,所述的S6中,对文本中的有用信息进行统计是为了更精确的反映用户的情绪,额外统计信息对特征向量进行修正和增强;统计信息的特征包含:文本长度,连续感叹号的个数,连续问号的个数,积极表情符的个数,消极表情符个数,愤怒情绪值,恐慌情绪值,憎恶情绪值,积极情感词频数,消极情感词频数,中性词频数。
上述的证券市场情绪指数智能计算信息系统,其中,所述的S7中,分词后的词语保留特定词性的词,包含形容词、动词、情感词、程度副词。
上述的证券市场情绪指数智能计算信息系统,其中,所述的S8中,在逻辑回归模型训练好后,对新的评论文本i采取同样的处理流程获取一样格式的特征向量,调用模型参数预测其情感得分,记为pi,取值为[0,1],越接近于0表示越消极,越接近于1表示情绪越积极;然后计算股票s在时间段t的情绪,公式为:
Figure RE-GDA0002781582760000081
其中,m是最新计算的情绪的权重,wj是每篇评论文本的权重,默认为1,用文本长度、作者的关注度即影响力计算该权重;
Figure RE-GDA0002781582760000082
是前h期的情感平均值。
上述的证券市场情绪指数智能计算信息系统,其中,所述的S9中进一步计算某个大盘指数在该类情感上的分值,以沪深300为例,其公式为:
Figure RE-GDA0002781582760000083
其中,α是最新计算的情绪的权重,ws是沪深300成份股s在该指数构建中的权重。
上述的证券市场情绪指数智能计算信息系统,其中,所述的系统中还包含接口设计;接口包含:舆情指标实时结果接口和舆情指标事件接口;舆情指标实时结果接口模型服务根据爬虫抓取的数据实时反馈舆情指标结果功能;舆情指标事件接口模型服务根据爬虫抓取的数据实时反馈舆情指标事件功能。
上述的证券市场情绪指数智能计算信息系统,其中,所述的系统中还包含数据库设计;数据库包含:个股基本信息表,大盘指数基本信息表,大盘指数成分股关系表,大盘舆情指数表,个股舆情指数表,舆情事件表,舆情事件与指标关系表。
本发明提供的证券市场情绪指数智能计算信息系统具有以下优点:
本系统核心是实现对证券市场情绪指数的计算,结合基于词库的方法和机器学习方法,前者属于无监督的文本情感判断,后者使用有监督的分类方法。此外,针对国内某些专业网站的长文本金融舆情分析发帖,新闻和评论,本系统结合Word2Vec模型,LSTM网络(Long Short-Term Memory,长短期记忆网络)以及最新发展的Attention机制,提出了一个适用于长文本中文情感分类的混合模型框架,即Word2Vec-BiLSTM-Attention,并且在长文本金融舆情进行了算法实验和应用。
根据规划,本系统对于细分的情感判断以及整体的情感判断都需要进行计算,因此上述方法都需要进行使用,分别设计了相关算法。为了克服无监督的情感判断的技术缺陷,实现从语义层面上对网络金融市场舆论文本的准确理解,特别是投资者特定情感的感知,如愤怒和恐慌情绪等,本发明提出一种基于情感词自发型模型的特定金融舆情指数计算方法。同时,为了克服有监督学习的文本情感分析的技术缺陷,本系统针对性地提供了一种基于特征向量修正的有监督机器学习算法计算金融舆情指数,使用此方法能准确感知金融舆情的变化。
总而言之,本发明提供的系统涉及一种基于情感词自发现和特征向量修正与逻辑回归模型的金融舆情指数计算方法的系统,克服了克服现有的技术缺陷,结合基于特征向量修正的有监督机器学习算法,来计算金融舆情指数,并在此基础上完成了证券市场情绪指数智能计算信息系统的设计和应用。
附图说明
图1为本发明的证券市场情绪指数智能计算信息系统的功能架构图。
图2为本发明的证券市场情绪指数智能计算信息系统的爬虫与模型架构图。
图3为本发明的证券市场情绪指数智能计算信息系统的爬虫数据抓取与清洗流程图。
图4为本发明的证券市场情绪指数智能计算信息系统的基于情感词自发现模型的指数计算方法处理过程图。
图5为本发明的证券市场情绪指数智能计算信息系统的基于特征向量修正的指数计算方法处理过程图。
具体实施方式
以下结合附图对本发明的具体实施方式作进一步地说明。
本发明中涉及的技术术语和业务术语见下表1和表2。
表1.技术术语表。
Figure RE-GDA0002781582760000101
Figure RE-GDA0002781582760000111
Figure RE-GDA0002781582760000121
表2.业务术语表。
Figure RE-GDA0002781582760000122
Figure RE-GDA0002781582760000131
本发明提供了一种证券市场情绪指数智能计算信息系统,包含爬虫模块、算法模块和后台应用模块;爬虫模块通过爬虫与模型架构,进行数据抓取与清洗;算法模块包含基于情感词自发现模型的指数计算方法模型与基于特征向量修正的指数计算方法模型;后台应用模块进行模型任务调度和结果对接。
爬虫模块的爬虫与模型架构包含:爬虫服务通过scrapy-redis发布,爬虫服务监听redis,等待请求任务数据,每个任务通过azkaban调度,生成请求 url到redis中,触发爬虫服务执行。
爬虫模块的数据抓取与清洗流程为舆情指数更新流程,包含:首先、爬虫抓取数据后将结果写入到OSS,同时将结果发布到kafka (topic=crawl_data);其次、清洗服务订阅kafka(topic=crawl_data),获取爬虫数据,将数据清洗后发布kafka(topic=etl_data);再次、模型服务订阅 kafka(topic=etl_data),获取清洗后数据,将数据发布到celery,由celery 调度对应的模型处理模块model_worker,model_worker处理结果发布到kafka(topic=model);最后、应用服务订阅kafka(topic=model),将模型结果写入数据库。
基于情感词自发现模型的指数计算方法,包含:步骤1、利用已有财经类相关词语资料构建初始金融词典,作为文本分词的输入;步骤2、从新增的股吧股票评论数据里随机抽取样本并进行数据清洗;步骤3、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;步骤4、对步骤3的输出使用新词发现算法,计算每个候选词的分值,按分值大小取topN个词,即分值最大的N个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;步骤5、利用步骤3的输出结果对预训练好的Word2vec模型进行增量训练;步骤6、从候选词表和情感词表进行人工干预过滤掉不构成词语的词,并对成词的词标注为相应的词性;步骤 7、利用更新后的金融词典对新的评论数据和基于词库的模型计算每个细分情感的分值;步骤8、在计算完每篇文本的情感得分后,计算在时刻t针对每只股票i的情感值;步骤9、如果需要进一步计算某个大盘指数在该类情感上的分值,则进一步进行计算。
步骤2的清洗,其规则包含:剔除无效文本;去除重复的文本;删除过长、过短文本;繁体转简体;去除包含url、拼音的无意义符号。
步骤4的新词发现算法,基于词内互信息和词间的左右信息熵;互信息衡量两个字之间的相关性,是否经常凝固在一起,即凝固度是否足够高到组成新的词;信息熵描述的是信息的不确定性,熵越大,不确定性越强;在此左右熵来衡量主要是表示候选词的自由程度,左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词;新词发现算法包含:步骤4.1、以二元组(2-gram)为例,即只考虑两个词的组合,首先统计样本集中单个词和每个词与左侧和右侧的词组合出现的词频;步骤4.2、计算互信息;步骤4.3、分别计算候选词左、右信息熵,选较小值作为最终的自由度;步骤4.4、计算候选词成词的综合得分。
步骤5为:将新的文本分词之后,找出不在金融词库里的词记为 new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word 的词向量;然后统计与new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表。
步骤7,以恐惧情绪指数为例,计算每个细分情感的分值,包含:步骤 7.1、对股票i的评论文本j进行带有词性的分词后统计恐惧情感词的个数,同时统计积极词pos和消极词neg的个数;步骤7.2、为了防止由于文章长度越长得分越高,即发生膨胀,同时保证指数可在同一标准下进行比较,通过一个sigmoid函数将情绪值转换为[0,1]的取值;步骤7.3、最后对情绪值进行一次取值范围调整,得到恐惧情绪的最终取值。
基于特征向量修正的指数计算方法,包含:S1、从新增的股票评论数据里随机抽取一定量的样本并进行数据清洗;S2、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;S3、对S2的输出使用新词发现算法计算每个候选词的分值,按分值大小取topN个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;S4、利用S2 的输出结果对预训练好的Word2vec模型进行增量训练;S5、在清洗后的数据中,随机挑选部分文本,人工标注其情感类别,作为构建模型训练的训练集和测试集;S6、在做分词之前,对文本中的有用信息进行统计;S7、对分词后的词语保留特定词性的词,在人工标注的积极样本中利用TF-IDF进行筛选和构建词向量;S8、结合S6和S7中得到的统计量共同构成特征向量作为模型训练的数据,再进一步将其随机分为训练集和测试集,然后利用逻辑回归模型训练;S9、如果需要进一步计算某个大盘指数在该类情感上的分值,则进一步进行计算。
S1的清洗,其规则包含:剔除无效文本;去除重复的文本;删除过长、过短文本;繁体转简体;去除包含url、拼音的无意义符号。
S3的新词发现算法与步骤4中的新词发现算法相同。
S4为:将新的文本分词之后,找出不在金融词库里的词记为new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word的词向量;然后统计与new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表;通过人工标注的方式挑选出新词语和情感词并更新现有词典作为模型训练的词典输入。
S5中,将每一篇文本的情绪分为3类:积极、消极和中性;情绪即投资者的情绪,是指对股市走势的判断,而不是自身情绪的表现。
S6中,对文本中的有用信息进行统计是为了更精确的反映用户的情绪,额外统计信息对特征向量进行修正和增强;统计信息的特征包含:文本长度,连续感叹号的个数,连续问号的个数,积极表情符的个数,消极表情符个数,愤怒情绪值,恐慌情绪值,憎恶情绪值,积极情感词频数,消极情感词频数,中性词频数。
S7中,分词后的词语保留特定词性的词,包含形容词、动词、情感词、程度副词。
S8中,在逻辑回归模型训练好后,对新的评论文本采取同样的处理流程获取一样格式的特征向量,调用模型参数预测其情感得分;然后计算股票在时间段的情绪。
该系统中还包含接口设计;接口包含:舆情指标实时结果接口和舆情指标事件接口;舆情指标实时结果接口模型服务根据爬虫抓取的数据实时反馈舆情指标结果功能;舆情指标事件接口模型服务根据爬虫抓取的数据实时反馈舆情指标事件功能。
该系统中还包含数据库设计;数据库包含:个股基本信息表,大盘指数基本信息表,大盘指数成分股关系表,大盘舆情指数表,个股舆情指数表,舆情事件表,舆情事件与指标关系表。
下面结合实施例对本发明提供的证券市场情绪指数智能计算信息系统做更进一步描述。
实施例1
一种证券市场情绪指数智能计算信息系统,包含爬虫模块、算法模块和后台应用模块。参见图1所示。
爬虫模块通过爬虫与模型架构,进行数据抓取与清洗。抓取的数据来自于股吧、雪球、新浪财经、和讯网、金融界等网站。
算法模块包含基于情感词自发现模型的指数计算方法模型与基于特征向量修正的指数计算方法模型。模型中包括分词、关键词提取,模型训练,文本处理,特征变量提取,情感预测和指标计算等内容。
后台应用模块进行模型任务调度和结果对接。优选地采用本技术领域里现有的后台应用模式。
爬虫模块的爬虫与模型架构包含:爬虫服务通过scrapy-redis发布,爬虫服务监听redis,等待请求任务数据,每个任务通过azkaban调度,生成请求 url到redis中,触发爬虫服务执行。爬虫抓取数据后将结果写入到OSS,同时将结果发布到kafka(topic=crawl_data);清洗服务订阅kafka (topic=crawl_data),获取爬虫数据,将数据清洗后发布kafka (topic=etl_data);模型服务订阅kafka(topic=etl_data),获取清洗后数据,将数据发布到celery,由celery调度对应的模型处理模块model_worker。 model_worker处理结果发布到kafka(topic=model);应用服务订阅kafka (topic=model),将模型结果写入数据库。参见图2所示。
爬虫模块的数据抓取与清洗涉及到的流程主要为舆情指数更新流程,包含:首先、爬虫抓取数据后将结果写入到OSS,同时将结果发布到kafka (topic=crawl_data);其次、清洗服务订阅kafka(topic=crawl_data),获取爬虫数据,将数据清洗后发布kafka(topic=etl_data);再次、模型服务订阅 kafka(topic=etl_data),获取清洗后数据,将数据发布到celery,由celery 调度对应的模型处理模块model_worker,model_worker处理结果发布到kafka (topic=model);最后、应用服务订阅kafka(topic=model),将模型结果写入数据库。参见图3所示。
基于情感词自发现模型的指数计算方法,包含:
步骤1、利用已有财经类相关词语资料构建初始金融词典,作为文本分词的输入;初始金融词典由股票简称,搜狗金融词库(包括金融机构名称和财经类专业术语),大连理工情感词典,知网情感词典,否定词典,程度级别词语词典和转折词词典等构成。
步骤2、从新增的股吧股票评论数据里随机抽取一定量的样本并进行数据清洗;清洗的规则具体为:剔除无效文本,有些文本可能只是一个视频链接等无意义的格式文本,需要进行剔除;去除重复的文本,由于转发或者作者重复发帖导致文本有重复的现象,为了不重复计算,先做去重处理;删除过长过短文本,文本过短可用信息含量过少,无法准确判断其情感;部分文本内容过长,增加了情绪判断的难度;股吧主要是投资者的评论,大多较为短小,选择保留文本满足一定长度阈值的文本;繁体转简体,有些股评是用繁体字书写,在分词时无法与金融词库进行匹配,因此需要预先进行转简体操作;去除url、拼音等无意义的符号。
步骤3、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;
步骤4、对步骤3的输出使用新词发现算法,计算每个候选词的分值,按分值大小取topN个词,即分值最大的N个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;新词发现算法基于词内互信息和词间的左右信息熵;互信息衡量两个字之间的相关性,是否经常凝固在一起,即凝固度是否足够高到组成新的词;信息熵描述的是信息的不确定性,熵越大,不确定性越强;在此左右熵来衡量主要是表示候选词的自由程度,左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词;新词发现算法包含:
步骤4.1、以二元组(2-gram)为例,即只考虑两个词的组合,首先统计样本集中单个词和每个词与左侧和右侧的词组合出现的词频;
步骤4.2、计算互信息,公式为:
Figure RE-GDA0002781582760000181
其中p(x,y)是两个词一起出现的概率,p(x)是单个词出现的概率;
具体举例:{“龙头”,“公司”,“龙头公司”};如果“龙头”的词频是 2,“公司”的词频是10,“龙头公司”的词频是1,那么记单词的总数有N个,双词的总数有M个,则有下面的公式:
Figure RE-GDA0002781582760000182
以2求log的原因来自信息论,可以简单理解为,取log之后就将一个概率转换为了信息量,以2为底时可以简单理解为用多少个bits(比特)可以表示这个变量。
步骤4.3、分别计算候选词左、右信息熵,选较小值作为最终的自由度;以左熵为例,熵的公式为:
Figure RE-GDA0002781582760000183
其中w为预选词,a为w左侧的词,A为出现在w左侧的词的集合;
举例来说,假设“龙头公司”左侧有以下几种搭配:{追,买,买,卖} 那么“龙头公司”的左熵为:
-EL(龙头公司)
=P(追龙头公司)log2P(追龙头公司) +P(买龙头公司)log2P(买龙头公司) +P(卖龙头公司)log2P(卖龙头公司)
步骤4.4、计算候选词成词的综合得分,公式为:
Score(w)=PMI(x,y)+min(EL(w),ER(w))。
步骤5、利用步骤3的输出结果对预训练好的Word2vec模型进行增量训练;具体为:将新的文本分词之后,找出不在金融词库里的词记为new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word的词向量;然后统计与new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表。
步骤6、从候选词表和情感词表进行人工干预过滤掉不构成词语的词,并对成词的词标注为相应的词性;随着词典的丰富,发现的候选词成词的概率越来越高,同时词量会越来越少,需要人工干预的工作也越来越少;词性标签见下表3。
表3.词性标签表。
Figure RE-GDA0002781582760000191
Figure RE-GDA0002781582760000201
步骤7、利用更新后的金融词典对新的评论数据和基于词库的模型计算每个细分情感的分值;具体包含:
步骤7.1、对股票i的评论文本j进行带有词性的分词后统计恐惧情感词的个数,记为Nij,文本的总词数记为Cij。同时统计积极词pos 和消极词neg的个数,记为
Figure RE-GDA0002781582760000202
Figure RE-GDA0002781582760000203
并计算各自在文本中的占比,计算公式为:
Figure RE-GDA0002781582760000204
Figure RE-GDA0002781582760000205
其中,恐惧情感词是消极词的一个子集,即
Figure RE-GDA0002781582760000206
步骤7.2、为了防止由于文章长度越长得分越高,即发生膨胀,同时保证指数可在同一标准下进行比较,通过一个sigmoid函数将情绪值转换为[0,1] 的取值,公式为:
Figure RE-GDA0002781582760000207
Figure RE-GDA0002781582760000208
步骤7.3、最后对情绪值进行一次取值范围调整,因为pij的最大取值为2/3,且当文本中全是积极词的时候pij的取值无法反映投资者没有恐惧情绪的事实;恐惧情绪的最终取值为:
Figure RE-GDA0002781582760000211
当pij越接近0表示文本反映出的情绪越积极,即越没有恐惧情绪;反之,越接近1表示恐惧情绪越强烈。
步骤8、在计算完每篇文本的情感得分后,计算在时刻t针对每只股票i 的情感值;其公式为:
Figure RE-GDA0002781582760000212
其中,m是最新计算的情绪的权重,wj是每篇评论文本的权重,默认为1,可以用文本长度、作者的关注度即影响力等计算该权重;
Figure RE-GDA0002781582760000213
是前h期的情感平均值。
步骤9、如果需要进一步计算某个大盘指数在该类情感上的分值,则进一步进行计算。
以沪深300为例,其公式为:
Figure RE-GDA0002781582760000214
其中,α是最新计算的情绪的权重,ws是沪深300成份股s在该指数构建中的权重。
至此,从步骤1到步骤9,完成了一种基于新词-情感词自发现模型的金融细分舆情指数计算方法;其中步骤2至步骤6会根据触发条件不定期更新金融词库。具体处理过程参见图4所示。
基于特征向量修正的指数计算方法,包含:
S1、从新增的股票评论数据里随机抽取一定量的样本并进行数据清洗;清洗的规则具体为:剔除无效文本,有些文本可能只是一个视频链接等无意义的格式文本,需要进行剔除;去除重复的文本,由于转发或者作者重复发帖导致文本有重复的现象,为了不重复计算,先做去重处理;删除过长过短文本,文本过短可用信息含量过少,无法准确判断其情感;部分文本内容过长,增加了情绪判断的难度;股评主要是投资者的评论,大多较为短小,选择保留文本满足一定长度阈值的文本;繁体转简体,有些股评是用繁体字书写,在分词时无法与金融词库进行匹配,因此需要预先进行转简体操作;去除url,拼音等无意义的符号
S2、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;
S3、对S2的输出使用新词发现算法计算每个候选词的分值,按分值大小取topN个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;新词发现算法基于词内互信息和词间的左右信息熵;互信息衡量两个字之间的相关性,是否经常凝固在一起,即凝固度是否足够高到组成新的词;信息熵描述的是信息的不确定性,熵越大,不确定性越强;在此左右熵来衡量主要是表示候选词的自由程度,左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词;算法具体包含:
S3.1、以二元组(2-gram)为例,即只考虑两个词的组合,首先统计样本集中单个词和每个词与左侧和右侧的词组合出现的词频;
S3.2、计算互信息,公式为:
Figure RE-GDA0002781582760000221
其中p(x,y)是两个词一起出现的概率, p(x)是单个词出现的概率;
具体举例:{“龙头”,“公司”,“龙头公司”};如果“龙头”的词频是 2,“公司”的词频是10,“龙头公司”的词频是1,那么记单词的总数有N个,双词的总数有M个,则有下面的公式:
Figure RE-GDA0002781582760000231
以2求log的原因来自信息论,可以简单理解为,取log之后就将一个概率转换为了信息量,以2为底时可以简单理解为用多少个bits可以表示这个变量。
S3.3、分别计算候选词左、右信息熵,选较小值作为最终的自由度;以左熵为例,熵的公式为:
Figure RE-GDA0002781582760000232
其中w为预选词,a为w 左侧的词,A为出现在w左侧的词的集合;
举例来说,假设“龙头公司”左侧有以下几种搭配:{追,买,买,卖} 那么“龙头公司”的左熵为:
-EL(龙头公司)
=P(追龙头公司)log2P(追龙头公司) +P(买龙头公司)log2P(买龙头公司) +P(卖龙头公司)log2P(卖龙头公司)
S3.4、计算候选词成词的综合得分,公式为:
Score(w)=PMI(x,y)+min(EL(w),ER(w))。
S4、利用S2的输出结果对预训练好的Word2vec模型进行增量训练;具体为:将新的文本分词之后,找出不在金融词库里的词记为new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word的词向量;然后统计与new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表;通过人工标注的方式挑选出新词语和情感词并更新现有词典作为模型训练的词典输入。
S5、在清洗后的数据中,随机挑选一部分文本,人工标注其情感类别,作为构建模型训练的训练集和测试集;将每一篇文本的情绪分为3类:积极、消极和中性;情绪即投资者的情绪,是指对股市走势的判断,而不是自身情绪的表现。例如,“明天肯定大跌,还好我今天全出货了,哈哈哈”,这篇帖子的金融舆情是消极(看空),而发贴人的情绪是积极的(侥幸,开心)。
S6、在做分词之前,对文本中的有用信息进行统计;仅仅利用词向量进行建模会丢失很多文本中的有效信息;比如连续叹号的个数,作者使用的叹号越多越表明其情绪越激烈;因此为了更精确的反映用户的情绪,额外统计以下信息对特征向量进行修正和增强;统计信息的特征包含:文本长度,连续感叹号的个数,连续问号的个数,积极表情符的个数,消极表情符个数,愤怒情绪值,恐慌情绪值,憎恶情绪值,积极情感词频数,消极情感词频数,中性词频数等。
S7、对分词后的词语保留特定词性的词,比如形容词、动词、情感词、程度副词等。然后在人工标注的积极样本中利用TF-IDF进行筛选和构建词向量;比如筛选出100个词语构成词向量;只从积极样本构建词向量的考虑在于积极样本的比例较低;因此为了能提取更多有效特征以提高积极样本的分类准确度,只选取积极类词语构建词向量。
S8、结合S6和S7中得到的统计量共同构成特征向量作为模型训练的数据,数据格式见下表4。
表4.特征向量数据样例。
Figure RE-GDA0002781582760000241
在得到上述样本数据后,再进一步将其随机分为训练集和测试集,然后利用逻辑回归模型训练;原因是可解释性高,方便金融从业者理解和使用模型。
在逻辑回归模型训练好后,对新的评论文本i采取同样的处理流程获取一样格式的特征向量,调用模型参数预测其情感得分,记为pi,取值为[0,1],越接近于0表示越消极,越接近于1表示情绪越积极;然后计算股票s在时间段t的情绪,公式为:
Figure RE-GDA0002781582760000251
其中,m是最新计算的情绪的权重,wj是每篇评论文本的权重,默认为1,用文本长度、作者的关注度即影响力计算该权重;
Figure RE-GDA0002781582760000252
是前h期的情感平均值。
S9、如果需要进一步计算某个大盘指数在该类情感上的分值,则进一步进行计算。
以沪深300为例,其公式为:
Figure RE-GDA0002781582760000253
其中,α是最新计算的情绪的权重,ws是沪深300成份股s在该指数构建中的权重。
至此,从S1到S9,完成了一种基于新词-情感词自发现模型的金融细分舆情指数计算方法;其中S2至步骤S4会根据触发条件不定期更新金融词库;该算法的处理过程参见图5。
该系统中还包含接口设计;接口包含:舆情指标实时结果接口和舆情指标事件接口;舆情指标实时结果接口模型服务根据爬虫抓取的数据实时反馈舆情指标结果功能;舆情指标事件接口模型服务根据爬虫抓取的数据实时反馈舆情指标事件功能。分别见下表5和表6。
表5.舆情指标实时结果接口。
Figure RE-GDA0002781582760000254
Figure RE-GDA0002781582760000261
表6.舆情指标事件接口。
Figure RE-GDA0002781582760000262
Figure RE-GDA0002781582760000271
该系统中还包含数据库设计;数据库包含:个股基本信息表,大盘指数基本信息表,大盘指数成分股关系表,大盘舆情指数表,个股舆情指数表,舆情事件表,舆情事件与指标关系表。分别见下表7~表13。
表7.个股基本信息表。
字段 字段说明 备注
stock_code 个股编码
stock_name 个股名称
表8.大盘指数基本信息表。
字段 字段说明 备注
overall_stock_code 大盘指数编码
overall_stock_name 大盘指数名称
表9.大盘指数成分股关系表。
字段 字段说明 备注
overall_stock_code 大盘指数编码
stock_code 个股编码
表10.大盘舆情指数表。
Figure RE-GDA0002781582760000272
表11.个股舆情指数表。
Figure RE-GDA0002781582760000273
Figure RE-GDA0002781582760000281
表12.舆情事件表。
Figure RE-GDA0002781582760000282
表13.舆情事件与指标关系表。
Figure RE-GDA0002781582760000283
本发明提供的证券市场情绪指数智能计算信息系统,采用的算法涉及自然语言理解与处理,本发明试图通过分析公开信息,包括新闻、论坛等数据得出情绪指数,该指数能够分析投资者目前对个股、大盘的情感,从而为投资决策提供相关依据。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (18)

1.一种证券市场情绪指数智能计算信息系统,其特征在于,该系统包含爬虫模块、算法模块和后台应用模块;
所述的爬虫模块通过爬虫与模型架构,进行数据抓取与清洗;
所述的算法模块包含基于情感词自发现模型的指数计算方法模型与基于特征向量修正的指数计算方法模型;
所述的后台应用模块进行模型任务调度和结果对接;
所述的基于情感词自发现模型的指数计算方法,包含:
步骤1、利用已有财经类相关词语资料构建初始金融词典,作为文本分词的输入;
步骤2、从新增的股票评论数据里随机抽取样本并进行数据清洗;
步骤3、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;
步骤4、对步骤3的输出使用新词发现算法,计算每个候选词的分值,按分值大小取topN个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;
步骤5、利用步骤3的输出结果对预训练好的Word2vec模型进行增量训练;
步骤6、从候选词表和情感词表进行人工干预过滤掉不构成词语的词,并对成词的词标注为相应的词性;
步骤7、利用更新后的金融词典对新的评论数据和基于词库的模型计算每个细分情感的分值;
步骤8、在计算完每篇文本的情感得分后,计算在时刻t针对每只股票i的情感值;
步骤9、如果需要进一步计算某个大盘指数在情感上的分值,则进一步进行计算;
所述的步骤7,计算每个细分情感的分值,恐惧情绪指数的计算方法为:包含:
步骤7.1、对股票i的评论文本j进行带有词性的分词后统计恐惧情感词的个数,记为Nij,文本的总词数记为Cij,同时统计积极词pos和消极词neg的个数,记为
Figure FDA0003778050220000021
Figure FDA0003778050220000022
并计算各自在文本中的占比,计算公式为:
Figure FDA0003778050220000023
Figure FDA0003778050220000024
其中,恐惧情感词是消极词的一个子集,即
Figure FDA0003778050220000025
步骤7.2、为了防止由于文章长度越长得分越高,即发生膨胀,同时保证指数可在同一标准下进行比较,通过一个sigmoid函数将情绪值转换为[0,1]的取值,公式为:
Figure FDA0003778050220000026
Figure FDA0003778050220000027
步骤7.3、最后对情绪值进行一次取值范围调整,因为pij的最大取值为2/3,且当文本中全是积极词的时候pij的取值无法反映投资者没有恐惧情绪的事实;恐惧情绪的最终取值为:
Figure FDA0003778050220000028
当pij越接近0表示文本反映出的情绪越积极,即越没有恐惧情绪;反之,越接近1表示恐惧情绪越强烈;
所述的基于特征向量修正的指数计算方法,包含:
S1、从新增的股票评论数据里随机抽取一定量的样本并进行数据清洗;
S2、结合金融词典利用jieba分词包对样本数据进行带有词性的中文分词以及去除停用词处理;
S3、对S2的输出使用新词发现算法计算每个候选词的分值,按分值大小取topN个词,与已有金融词典里的词进行去重处理后形成一个新词的候选词表;
S4、利用S2的输出结果对预训练好的Word2vec模型进行增量训练;
S5、在清洗后的数据中,随机挑选部分文本,人工标注其情感类别,作为构建模型训练的训练集和测试集;
S6、在做分词之前,对文本中的有用信息进行统计;
S7、对分词后的词语保留特定词性的词,在人工标注的积极样本中利用TF-IDF进行筛选和构建词向量;
S8、结合S6和S7中得到的统计量共同构成特征向量作为模型训练的数据,再进一步将其随机分为训练集和测试集,然后利用逻辑回归模型训练;
S9、如果需要进一步计算某个大盘指数在情感上的分值,则进一步进行计算;
所述的S8中,在逻辑回归模型训练好后,对新的评论文本i采取同样的处理流程获取一样格式的特征向量,调用模型参数预测其情感得分,记为pi,取值为[0,1],越接近于0表示越消极,越接近于1表示情绪越积极;然后计算股票s在时间段t的情绪,公式为:
Figure FDA0003778050220000031
其中,m是最新计算的情绪的权重,wj是每篇评论文本的权重,默认为1,用文本长度、作者的关注度即影响力计算该权重;
Figure FDA0003778050220000041
是前h期的情感平均值。
2.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的爬虫模块,其爬虫与模型架构包含:爬虫服务通过scrapy-redis发布,爬虫服务监听redis,等待请求任务数据,每个任务通过azkaban调度,生成请求url到redis中,触发爬虫服务执行。
3.如权利要求2所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的爬虫模块,其数据抓取与清洗流程为舆情指数更新流程,包含:
首先、爬虫抓取数据后将结果写入到OSS,同时将结果发布到kafka;
其次、清洗服务订阅kafka,获取爬虫数据,将数据清洗后发布kafka;
再次、模型服务订阅kafka,获取清洗后数据,将数据发布到celery,由celery调度对应的模型处理模块model_worker,model_worker处理结果发布到kafka;
最后、应用服务订阅kafka,将模型结果写入数据库。
4.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,步骤2所述的清洗,其规则包含:剔除无效文本;去除重复的文本;删除过长、过短文本;繁体转简体;去除包含url、拼音的无意义符号。
5.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,步骤4所述的新词发现算法,基于词内互信息和词间的左右信息熵;互信息衡量两个字之间的相关性,是否经常凝固在一起,即凝固度是否足够高到组成新的词;信息熵描述的是信息的不确定性,熵越大,不确定性越强;在此左右熵来衡量主要是表示候选词的自由程度,左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词;所述的新词发现算法包含:
步骤4.1、二元组2-gram的计算方法为:即只考虑两个词的组合,首先统计样本集中单个词和每个词与左侧和右侧的词组合出现的词频;
步骤4.2、计算互信息,公式为:
Figure FDA0003778050220000051
其中p(x,y)是两个词一起出现的概率,p(x)是单个词出现的概率;
步骤4.3、分别计算候选词左、右信息熵,选较小值作为最终的自由度;左熵的计算方法为:
Figure FDA0003778050220000052
其中w为预选词,a为w左侧的词,A为出现在w左侧的词的集合;
步骤4.4、计算候选词成词的综合得分,公式为:
Score(w)=PMI(x,y)+min(EL(w),ER(w)))。
6.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的步骤5为:将新的文本分词之后,找出不在金融词库里的词记为new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word的词向量;然后统计与new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表。
7.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的步骤6中词性的标签包含:
bk 财经词语
stk 股票简称
pos 积极词
ntr 中性词
neg 消极词
hat 表达憎恶的词
fr 表达恐惧的词
ang 表达愤怒的词。
8.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的步骤8中计算在时刻t针对每只股票i的情感值,其公式为:
Figure FDA0003778050220000061
其中,m是最新计算的情绪的权重,wj是每篇评论文本的权重,默认为1,用文本长度、作者的关注度即影响力计算该权重;
Figure FDA0003778050220000062
是前h期的情感平均值。
9.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的步骤9中进一步计算某个大盘指数在情感上的分值,以沪深300为例,其公式为:
Figure FDA0003778050220000063
其中,α是最新计算的情绪的权重,ws是沪深300成份股s在该指数构建中的权重。
10.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,S1所述的清洗,其规则包含:剔除无效文本;去除重复的文本;删除过长、过短文本;繁体转简体;去除包含url、拼音的无意义符号。
11.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,S3所述的新词发现算法,包含:
S3.1、二元组2-gram的计算方法为:即只考虑两个词的组合,首先统计样本集中单个词和每个词与左侧和右侧的词组合出现的词频;
S3.2、计算互信息,公式为:
Figure FDA0003778050220000071
其中p(x,y)是两个词一起出现的概率,p(x)是单个词出现的概率;
S3.3、分别计算候选词左、右信息熵,选较小值作为最终的自由度;左熵的计算方法为:
Figure FDA0003778050220000072
其中w为预选词,a为w左侧的词,A为出现在w左侧的词的集合;
S3.4、计算候选词成词的综合得分,公式为:
Score(w)=PMI(x,y)+min(EL(w),ER(w)))。
12.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的S4为:将新的文本分词之后,找出不在金融词库里的词记为new_word,然后将新文本追加到Word2vec模型中增量训练,计算出new_word的词向量;然后统计与new_word最相似的topN个词有多少个在已有的情感词典里,根据设定的阈值判定该词是否构成潜在的候选情感词,形成候选情感词表;通过人工标注的方式挑选出新词语和情感词并更新现有词典作为模型训练的词典输入。
13.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的S5中,将每一篇文本的情绪分为3类:积极、消极和中性;情绪即投资者的情绪,是指对股市走势的判断,而不是自身情绪的表现。
14.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的S6中,对文本中的有用信息进行统计是为了更精确的反映用户的情绪,额外统计信息对特征向量进行修正和增强;统计信息的特征包含:文本长度,连续感叹号的个数,连续问号的个数,积极表情符的个数,消极表情符个数,愤怒情绪值,恐慌情绪值,憎恶情绪值,积极情感词频数,消极情感词频数,中性词频数。
15.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的S7中,分词后的词语保留特定词性的词,包含形容词、动词、情感词、程度副词。
16.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的S9中进一步计算某个大盘指数在情感上的分值,以沪深300为例,其公式为:
Figure FDA0003778050220000081
其中,α是最新计算的情绪的权重,ws是沪深300成份股s在该指数构建中的权重。
17.如权利要求1所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的系统中还包含接口设计;接口包含:舆情指标实时结果接口和舆情指标事件接口;舆情指标实时结果接口模型服务根据爬虫抓取的数据实时反馈舆情指标结果功能;舆情指标事件接口模型服务根据爬虫抓取的数据实时反馈舆情指标事件功能。
18.如权利要求17所述的证券市场情绪指数智能计算信息系统,其特征在于,所述的系统中还包含数据库设计;数据库包含:个股基本信息表,大盘指数基本信息表,大盘指数成分股关系表,大盘舆情指数表,个股舆情指数表,舆情事件表,舆情事件与指标关系表。
CN202011095683.5A 2020-10-14 2020-10-14 一种证券市场情绪指数智能计算信息系统 Active CN112200674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011095683.5A CN112200674B (zh) 2020-10-14 2020-10-14 一种证券市场情绪指数智能计算信息系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011095683.5A CN112200674B (zh) 2020-10-14 2020-10-14 一种证券市场情绪指数智能计算信息系统

Publications (2)

Publication Number Publication Date
CN112200674A CN112200674A (zh) 2021-01-08
CN112200674B true CN112200674B (zh) 2022-09-13

Family

ID=74009661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011095683.5A Active CN112200674B (zh) 2020-10-14 2020-10-14 一种证券市场情绪指数智能计算信息系统

Country Status (1)

Country Link
CN (1) CN112200674B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204624B (zh) * 2021-06-07 2022-06-14 吉林大学 一种多特征融合的文本情感分析模型及装置
CN113536085B (zh) * 2021-06-23 2023-05-19 西华大学 基于组合预测法的主题词搜索爬虫调度方法及其系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357860A (zh) * 2017-06-30 2017-11-17 中山大学 一种基于新闻数据的个股情绪汇聚方法
CN108874937A (zh) * 2018-05-31 2018-11-23 南通大学 一种基于词性结合和特征选择的情感分类方法
CN110674252A (zh) * 2019-08-26 2020-01-10 银江股份有限公司 一种面向司法领域的高精度语义搜索系统
CN111159342A (zh) * 2019-12-26 2020-05-15 北京大学 一种基于机器学习的公园文本评论情绪打分方法
CN111353050A (zh) * 2019-12-27 2020-06-30 北京合力亿捷科技股份有限公司 一种电信客服垂直领域的词库构建方法及工具

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357860A (zh) * 2017-06-30 2017-11-17 中山大学 一种基于新闻数据的个股情绪汇聚方法
CN108874937A (zh) * 2018-05-31 2018-11-23 南通大学 一种基于词性结合和特征选择的情感分类方法
CN110674252A (zh) * 2019-08-26 2020-01-10 银江股份有限公司 一种面向司法领域的高精度语义搜索系统
CN111159342A (zh) * 2019-12-26 2020-05-15 北京大学 一种基于机器学习的公园文本评论情绪打分方法
CN111353050A (zh) * 2019-12-27 2020-06-30 北京合力亿捷科技股份有限公司 一种电信客服垂直领域的词库构建方法及工具

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网络大数据中情绪指数的构建及应用分析-以证券市场为例;申晨 等;《无线互联网科技》;20190831;全文 *

Also Published As

Publication number Publication date
CN112200674A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN110799981B (zh) 用于与领域无关的方面级别情绪检测的系统和方法
CN106919673B (zh) 基于深度学习的文本情绪分析系统
CN109933664B (zh) 一种基于情感词嵌入的细粒度情绪分析改进方法
CN112200674B (zh) 一种证券市场情绪指数智能计算信息系统
CN115017303A (zh) 基于新闻文本进行企业风险评估的方法、计算设备和介质
CN111462752A (zh) 基于注意力机制、特征嵌入及bi-lstm的客户意图识别方法
CN111339772B (zh) 俄语文本情感分析方法、电子设备和存储介质
CN107818173A (zh) 一种基于向量空间模型的中文虚假评论过滤方法
CN114416969A (zh) 一种基于背景增强的lstm-cnn在线评论情感分类方法及系统
CN110990530A (zh) 一种基于深度学习的微博博主性格分析方法
CN109254993B (zh) 一种基于文本的性格数据分析方法及系统
CN115906824A (zh) 一种文本细粒度情感分析方法、系统、介质和计算设备
Malik et al. Performance comparison of machine learning models trained on manual vs ASR transcriptions for dialogue act annotation
CN114943216A (zh) 基于图注意力网络的案件微博属性级观点挖掘方法
CN107729509A (zh) 基于隐性高维分布式特征表示的篇章相似度判定方法
CN114490925A (zh) 公共事件下的情绪挖掘方法及设备
Sun et al. GubaLex: Guba-oriented sentiment lexicon for big texts in finance
CN112527866A (zh) 基于文本摘要情感挖掘的股票趋势预测方法和系统
Velammal Development of knowledge based sentiment analysis system using lexicon approach on twitter data
Michalak Does pre-processing affect the correlation indicator between Twitter message volume and stock market trading volume?
Kulikovskikh et al. Quotes forecasting method based on news analysis as part of an internet cloud service
Scientific SENTIMENT ANALYSIS BASED ON PUBGM PLAYER ASPECTS FROM APP STORE REVIEWS USING BIDIRECTIONAL ENCODER REPRESENTATION FROM TRANSFORMER (BERT)
Huang et al. An Entity-Level Sentiment Analysis of Financial Text Based on Pre-Trained Language Model
Iwasaki et al. Neural Network Translated into Bag-of-Words: Lexicon of Attentions
Al-Zoghby et al. ChatGptTweets Analyses Based On AI

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant