姚加权 张锟澎 罗平 《经济学动态》2020年第4期

沈艳 陈赟 黄卓 《经济学(季刊)》 2019年第4期

前言

本文是刊载于《经济学(季刊)》2019年第4期《文本大数据分析在经济学和金融学中的应用:一个文献综述》和《经济学动态》2020年第4期《金融学文本大数据挖掘方法与研究进展》的阅读笔记

在金融学领域的传统实证研究文献中,研究数据多局限于财务报告数据、股票市场数据等结构化数据(structured data)。而在大数据时代,计算机技术的不断提高使得数据类型更加丰富,文本大数据已经成为计算机可以解读和分析的数据,并能够对非传统领域的经济现象展开研究。文本非结构化数据(unstructured data)能够为金融学领域提供更丰富的研究内容和研究视角

金融学文本大数据挖掘步骤和方法

(一)语料获取

  1. 手工收集
  2. 网络抓取

(二)文本预处理

  1. 文档解析

    • 信息披露的电子化文档统称为富格式文档(richly formatted documents)
    • 绝大多数为PDF格式
    • 通过不精确的PDF解析文档获取文本信息可能会给后续的文本分析带来严重的影响
  2. 文本定位与数据清洗
    • 文本信息的定位:例如运用正则表达式定位财务报告的MD&A
    • 文本噪音内容的清洗和删除:主要包括广告、超文本标记语言(HTML)、直译式脚本语言(JavaScript)等代码以及图片等
  3. 文本的分词
    • 主要采用jieba分词
    • 中文文本分词存在的三个难点:
      • 切分颗粒度:例如容易将“机器学习”切分成“机器”和“学习”
      • 歧义词的识别:应当选择精确分词模式(精确模式、全模式、搜索引擎模式)
      • 新词的识别:使用自定义词典
    • 词性的标注
    • 停用词去除
      • 停用词是指对句子语法结构很重要但本身传达意义较少的词语:例如标点符号,特殊符号,连接词等
      • 会增加文本数据的维度,提高文本分析的成本
      • 是否去除停用词需根据研究内容而定:例如研究文本情感,保留语气词以及特定的标点符号,例如“呵呵”、“哈哈”、“!”等,均有利于衡量文本的情感程度

(三)文档表示

文本数据属于稀疏的高纬度数据,计算机处理存在困难,因此对文本数据进行预处理后,还需要将文档中的信息以特定的方式表示出来。文档表示方法主要包括词云(word cloud)、词袋模型(bag of words, BOW)、词嵌入(word embeding)和主题模型(topic model)

  1. 词云

    • 文本大数据的可视化技术
    • 使用wordcloud库实现
  2. 词袋模型
    • 不考虑文档之间以及词语之间的顺序和语法要素,仅将文本看作若干个词语的集合
    • 表示方法主要包括:
      • 独热表示(one-hot representation)

首先,根据原始文本库出现的全部词语构建一个词表,并对每个词编号1,2,3⋯,N1,2,3\cdots,N123N

然后,将词语jjj用一个NNN维向量wjw_jwj来表示,该向量的第jjj个位置的元素维1,其余均为0

最后,将每一个词语都转换为一个向量,在文档ttt中,通过加总所有词的向量,文档ttt就可以转化为1×N1\times N1×N的向量WtW_tWt,其中wtj(j=1,⋯,N)w_{tj}(j=1,\cdots ,N)wtj(j=1,,N)jjj个词语在文本t中出现的频率

若原始文本库共有t=1,⋯,Tt=1,\cdots,Tt=1,,T个文档,采用独热表示法后,原始文本库就可以转化为T×NT\times NT×N的数学矩阵

  • 词频-逆文档频率法(term frequency-inverse document frequency, TF-IDF)

    显然,独热表示方法是以词频高低对词语赋予权重的,但是大量高频词并无多少意义,例如停用词,即使出现频率相同,常见词的价值也明显低于不常见词。因此,需要对每一个词语赋予其权重来更好地表示每个词语在文档中的作用

    Loughran和McDonald(2011)运用TF-IDF方法计算了特定词语在文档中的权重

基本思想:如果某个词在一篇文档中出现的频率高,并且在语料库中其他文档中很少出现,则认为这个词具有很好的类别区分能力

词频TF:Term Frequency,衡量一个term在文档中出现得有多频繁,平均而言出现越频繁得词,其重要性可能就越高。考虑到文章长度得差异,需要对词频做标准化:TFij=1+log(tfij)l+log(ai)TF_{ij}=\frac{1+log(tf_{ij})}{l+log(a_i)}TFij=l+log(ai)1+log(tfij),其中,tfijtf_{ij}tfij为第jjj个文档中词语iii出现的总次数,aja_jaj为第jjj个文档中包含的词语数

逆文档频率IDF:Inverse Document Frequency,用于模拟在原始文本库的实际使用环境中,某一个term有多重要,IDFi=logNdfiIDF_{i}=log\frac{N}{df_i}IDFi=logdfiN,其中,NNN为原始文本库的文档总数,dfidf_idfi为包含词语iii的文档数量

词频-逆文档频率TF-IDF:TF−IDFij=TFij×IDFiTF-IDF_{ij}=TF_{ij}\times IDF_iTFIDFij=TFij×IDFiTF−IDFijTF-IDF_{ij}TFIDFij表示词语iii在第jjj个文档的权重

总的来说,TF-IDF与一个词在文档中出现的次数成正比,又与该词在整个原始文本库中的出现次数成反比

  • 使用pandassklearngensim库实现
  • 局限性
    • 忽略了文档中词语顺序和词语之间的语意关系,可能产生歧义。例如“我帮你”VS“你帮我”在词袋模型里会得到相同的向量特征。可以将单个词语扩展成长度为n的词组,即n元词组(n-gram),进一步保留词语的顺序信息
    • 向量的维度取决原始文本库中词语的数量,当原始文本库中词语数量过多,很可能产生维度灾难
  1. 词嵌入

    • 将维数为所有词的数量的高维空间“嵌入”到低维连续向量空间中的技术

ei=E×Wie_i=E\times W_iei=E×Wi,其中eie_iei表示第iii个词通过嵌入矩阵EEE(embedding matrix)映射到实数域上的词向量,WiW_iWi为第iii个词的独热向量表示。由于该向量的每个元素值可以是连续值而不只是0或者1,eie_iei的维度NeN_eNe可以远低于原来的词向量维度

  • 通过词嵌入技术,可以将词语映射成低维连续向量空间中的向量,通过向量之间的距离和位置来表示文档中词语的上下文、语法、和语义的相似性以及与其他词语的关系
  • Word2Vec技术是常用的词嵌入技术
    • CBOW(continuous bag of words)神经网络模型
    • Skip-Gram神经网络模型
  • 使用gensim库实现
  1. 主题模型
  • 最常用的主题模型是LDA(latent dirichlet allocation)模型
  • LDA模型是在大规模语料集中提取主题信息的无监督机器学习方法

本质上,LDA认为:文档中的每个词都是文档通过“以一定概率选择某个主题,再从该主题中以一定概率选择某个词”得到的

  • LDA模型中涉及到的数学知识

    • 多项式分布:主题和词汇的概率分布服从多项式分布
    • Dirichlet分布:上述多项式分布的参数为随机变量,均服从Dirichlet分布(选择Dirichlet分布主要是因为算法容易实现)
    • Gibbs抽样:直接求LDA的精确参数分布计算量太大,实际上不可行,因此通过Gibbs抽样减小计算量,得到逼近的结果

LDA模型假定全部文档MMM中存在KKK个主题,每个文档mmm包含NmN_mNm个词语,并且每个词语都是由其中一个主题生成。主题服从一个多项式分布θm\theta_mθm,而每个主题kkk与词汇表中的VVV个单词的一个多项式分布ϕk\phi_kϕk相对应,并且假定分布θm\theta_mθm和分布ϕk\phi_kϕk具有共轭的Dirichlet分布,该共轭的Dirichlet分布的超参数为α\alphaαβ\betaβ。通过语文文档中的主体个数,LDA模型可以将每篇文档的主体以概率分布的形式给出,其中每个主体对应一类词语分布,根据词语分布可以挑选出一些关键词对该主体进行描述

在LDA模型下,文档的生成过程如下图所示:(1)和从Dirichlet分布α\alphaα中抽样得到文档mmm的主题多项式分布θm\theta_mθm,从Dirichlet分布β\betaβ抽样得到主题kkk的词语多项式分布ϕk\phi_kϕkk=1,⋯,Kk=1,\cdots ,Kk=1,,K;(2)从主题多项式分布θm\theta_mθm中抽样得到文档mmm的第n个词的主题Zm,nZ_{m,n}Zm,n;(3)从主题Zm,nZ_{m,n}Zm,n对应的词语多项式分布ϕZm,n\phi_{Z_{m,n}}ϕZm,n抽取词语Wm,nW_{m,n}Wm,n;(4)重复上述步骤NmN_mNm

  • LDA模型的优势

    • 克服了手动编码的局限性,能够对大量文本文档进行分类
    • 能够提供可靠且具有可复制性的文本主题分类,排除了人工文本分类的主观性
    • 不需要研究者为划分类别预先指定相应的规则和关键词
  • LDA模型的局限性
    • 预设主题个数会受到人的主观因素影响,从而影响主题的生成和文本的主题分类

(四)文档的特征提取

  1. 文本的可读性

    • 迷雾指数(Li,2008)、年报中的字数(You和Zhang,2009)、年报电子文档的大小(Loughran和McDonald,2014)
    • 以上方法具有一定局限性,在考虑公司年报文本可读性时,应当考虑将企业的业务复杂性因素剔除
  2. 文本情绪

    • 词典法
    • 监督机器学习
      • 在文本分析领域学者常用的有监督机器学习方法为朴素贝叶斯(naive Bayesian)和支持向量机(support vector machine,SVM)
  3. 语义关联性

    • 根据某一类词语去识别文本语义特征的过程
    • 首先依照某一类关键词构建词表,然后计算词表中词语在文档中的词频,进而识别出文本中与关键词语义相关的语义特征。例如陈诗一和陈登科(2018)利用环境关键词在政府工作报告中的词频,度量地方政府环境政策和治理力度
    • 可以同时运用词嵌入技术,拓展相关类型的关键词。例如胡楠等(2020)采用“种子词+Word2Vec相似词扩充”的方法对企业竞争战略进行度量。首先通过梳理竞争战略经典文献,构建关于竞争战略关键词词库,即种子词,然后运用Word2Vec技术在语料库中扩充与种子词最为相似的前十个近义词,最后再计算关键词本文词频
  4. 文本相似度

    • 利用文本向量构建余弦相似度指标构建文本相似度指标

    假设文本d1d_1d1d2d_2d2对应的文本向量分别为a=(wa1,wa2,⋯,wan)a=(w_{a1},w_{a2},\cdots,w_{an})a=(wa1,wa2,,wan)b=(wb1,wb2,⋯,wbn)b=(w_{b1},w_{b2},\cdots,w_{bn})b=(wb1,wb2,,wbn)

    文本d1d_1d1d2d_2d2的余弦相似度计算公式如下:

    cosinesimilarity(d1,d2)=a×b∥a∥×∥b∥=∑1nwai×∑1nwbi∑1nwai2×∑1nwbi2cosine\quad similarity(d_1,d_2)=\frac{a\times b}{\|a\|\times \|b\|}=\frac{\textstyle\sum_{1}^{n}{w_{ai}} \times \textstyle\sum_{1}^{n}{w_{bi}}}{\sqrt{\textstyle\sum_{1}^{n}{w_{ai}^2}}\times \sqrt{\textstyle\sum_{1}^{n}{w_{bi}^2}}}cosinesimilarity(d1,d2)=a×ba×b=1nwai2

    ×1nwbi2

    1nwai×1nwbi

    其中,nnn为特征个数,waiw_{ai}waiwbiw_{bi}wbi为特征iii在两本文本中的权重。该公式取值在0和1之间,数值越大表明两个向量之间的夹角越小,文档的相似度越大

经管文本分析 | 金融学文本大数据挖掘方法与研究进展阅读笔记相关推荐

  1. 大数据挖掘方法有哪些

    数据挖掘是指人们从事先不知道的大量不完整.杂乱.模糊和随机数据中提取潜在隐藏的有用信息和知识的过程.根据信息存储格式,用于挖掘的对象是关系数据库,面向对象的数据库,数据仓库,文本数据源,多媒体数据库, ...

  2. 2022年意识科学十大主题焦点与研究进展

    2022年意识科学十大主题焦点 意识究竟是什么?它因何产生?又有什么作用? 以上三个问题分别涉及了意识的描述性问题.解释性问题和功能性问题.面对这三大天问,无论是神经学家.心理学家.认知哲学家.生物学 ...

  3. 基因表达数据批次效应去除方法的研究进展

    基因表达数据批次效应去除方法的研究进展 李飒 , 赵毅强 摘要:在组学和大数据时代,整合分析材料相同但时间.平台.方法.技术和实验室等不同批次的表达数据集将成为常态.但是,不同批次数据集由于非生物因素 ...

  4. 红水河统计降尺度_统计降尺度的方法的研究进展综述.doc

    统计降尺度的方法的研究进展综述 统计降尺度的方法的研究进展综述 摘要:统计降尺度方法是将大气环流模式GCMs输出的低分辨率的气象资料转换为流域尺度的主要方法之一,现已发展成为气候学中较为完善的领域.简 ...

  5. 人工智能和文本分析:遵循的最佳方法

    人工智能和文本分析使您对业务绩效和客户有深入的了解,使您能够做出更好的决策. 从自动化重复性任务到提供可行的客户见解,人工智能可以帮助企业改善收入和用户体验.同样,文本分析会解释大量数据,以发现消费者 ...

  6. python数据获取与文本分析_python文本分析之处理和理解文本

    前言: 在进行自然语言的建模(NLP)时,我们通常难以处理文字类型的数据,因此在常见的机器学习项目中,数据的格式是结构化的,就算在视觉处理的时候也是一个矩阵或者高维张量的形式.那么文字类型的数据我们应 ...

  7. Python Gensim文本分析——从文本预处理到TFIDF、LDA建模分析

    基于Gensim的Python的文本分析方法:TFIDF LDA 1.简介 2.中文文本预处理 3.Gensim文本挖掘 3.1 TFIDF文本分析 3.2 LDA文本分析 4.总结 1.简介 文本数 ...

  8. 排队问题解题思路_高考文科数学是最“拉分”的!6种题型分析与10大解题方法...

    我回来啦~~好多天没更了. 最近私信挺多的,很多人跟我说学习毫无章法,总是高投入低产出,大量的时间.精力投入,成绩却不见起色.包括当年我自己上高中的时候,也是这样. 问题其实就是上课听懂了.但是一做题 ...

  9. 设计有三个窗口的框架结构网页_技术周刊丨钢框架结构直接分析设计与传统设计方法对比研究——恒荷载作用结果对比...

    ▲ 点击上方蓝字,关注SAUSAGE非线性!作者:侯晓武 丨 职位:技术经理 仁荷大学(韩)建筑工学博士 曾任建筑软件(MIDAS Gen/Building)技术负责人 拥有11年建筑软件技术支持经验 ...

最新文章

  1. nginx中的502错误
  2. Linux用户与“最小权限”原则
  3. # 57. 插入区间
  4. Controller接口控制器(5)
  5. Python多级菜单
  6. 兼容浏览器的insertAdjacentHTML
  7. B树、B-树、B+树、B*树都是什么
  8. 41.Linux/Unix 系统编程手册(下) -- 共享库基础
  9. attachEvent
  10. 如何使用FreeSSL申请免费证书?
  11. STM32开发 --- W25Q128读写、SPI通信
  12. oracle 先决条件失败,linux安装oracle先决条件检查全部失败
  13. Android 百度地图--定位、周边搜索
  14. word的表格取消边框后还有虚线怎么办
  15. 2021年保育员(中级)考试题及保育员(中级)考试报名
  16. Eclipse Memory Analyzer 使用技巧
  17. (pywin32)解决keybd_event在游戏中失效
  18. HTTP的请求相应过程
  19. ElasticSearch 集群安装,简单使用
  20. WIN10使用内置Check Point Capsule

热门文章

  1. 机器视觉库之detectron2安装及使用详解
  2. Win764位系统下使用ObRegisterCallbacks内核函数来实现进程保护
  3. ASCII,UTF,GBK 是什么
  4. 水经注能否将dwg转出为shp?
  5. 小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理
  6. JS监控手机或APP返回事件
  7. c语言:access函数
  8. 淘宝网上的搞笑差评集锦
  9. 天津电子计算机职专什么时候开学,2020年开学时间表
  10. 【总结】线性代数的本质 - 2