以下来自北大国发的工作论文《文本大数据分析在经济学和金融学中的应用:一个文献综述》
得益于互联网的快速发展和计算机技术的进步, 文本大数据在社会科学领域的应用方兴未艾。以经济学和金融学为例,在经济学领域,文本大数据被用于刻画经济政策不确定性(Baker et al, 2016)、对行业进行动态分类(Hoberg and Phillips, 2015)、度量和预测经济周期(Thorsrud, 2018;Shapiro et al., 2018),和度量媒体政治倾向及新闻需求(Gentzkow and Shapiro, 2010) 等问题。金融学中,文本数据被用于刻画关注度(如 Antweiler and Frank, 2004; Fang and Peress,2009; Garcia, 2013) 、情绪或语调(如 Tetlock 2007;Li 2010; Da et al. 2011;Loughran and McDonald 2011; Jegadeesh and Wu 2013; Kim and Kim 2014;Tsukioka et al. 2018)、 新闻隐含波动率(Manela and Moreira, 2017)和意见分歧(Antweiler and Frank, 2004; Hillert et al.2018) 等方面。
作为新数据源, 文本大数据至少有三个特征。一是数据来源多样化。 二是数据体量呈几何级增长。 三是时频高。可以说非结构化文本大数据的运用拓宽了经济和金融领域的实证研究, 但也带来了新挑战。
即对非结构化的帖子、文章、演讲词、会议记录等原始文本库 Ψ 作为输入,通过一定的转换方法得到结构化数据矩阵 Λ; 再以数据矩阵 Λ 为输入, 利用统计或者计量模型,输出目标信息序列 V ;最后用提取出的 V 来解释或预测 Y。
为什么要把把词或者句子表示成向量(数据矩阵)的意义呢?
一是变换,例如当我们在现实世界中遇到抉择,常说要静下心来, 听听自己内心深处的想法, 然后再回到现实世界来处理问题(物理世界—精神世界—物理世界)。二是量化,自然语言很难量化,所以表示成向量可以认为是一种新的量化方式。
如何把词或者句子表示成向量(数据矩阵)呢?
在转换之前,需要先使用分词技术对文本进行分词处理。在英文环境下,单词被空格分隔开, 因此单词就实现了分词。 实证运用中也会将单个词语扩展成长度为 n 的词组,即 n 元词组(n-gram),如课堂上的ngram
命令。而中文中汉字为连续序列,分析文本就需要按照一定的规范将汉字序列切分成词或词组, 即中文分词。如课堂上使用的ustrword
命令,但更为常用的是jieba分词。需要注意的是,由于一些特定领域的文本包含一些对信息提取比较重要的专有词语,因此常常需要根据研究问题拓展现有词典, 以提高软件识别和分割词语的准确度。
完成分词之后需要完成的是如何将文本进一步转化为数字化矩阵。但数据量大时转换后的矩阵往往是高维稀疏数据矩阵。这是由词向量维数由词语数量决定、并且大部分词语出现频率低, 因此文本对应的向量中绝大部分值为零的特征决定的。
解决文本数据是高维稀疏矩阵的问题核心思想就是降维。常见的降维策略有词语嵌入技术(Word Embedding),直接在词语转换成数字化矩阵时就将词语转化为低维向量。其中以Word2Vec技术为代表。
如何从数据矩阵中提取信息呢?
1.常用术语
TF:词频,它的全称是 term frequency,意思是某个词出现的次数,出现几次, 该词的TF就是几。 它一般表示的是一个词的局部信息。
DF就是文档频率,它的全称就是 document frequency。 它就是指某个词的文档频率,这个词在多少个文档中出现,那么,该词的 df 就是几。
IDF是逆文档频率,它的全称就是 inverse document frequency。 它是词重要性的一个很好地衡量。试想,如果某个词在非常多的文档中都出现过,比如:“的”、“了”这些词,那么它是不就不太重要;相反,如果某个词在很少的文档中出现过,那么它是不就相对来说比较重要。简单来说就是物以稀为贵。
TF-IDF,全称是Term Frequency/Inverse Document Frequency,其有两种用途:获得文档向量和提取文档关键词。
2.文本相似度
相似度是数学上的概念,需要我们先把文本转化为向量,如使用词袋模型、TF-IDF模型或LSI模型。然后生成相似度矩阵,最后计算相似度。
3.主题模型
主题模型是处理非结构化数据的一种常用方法,其主要功能就是从文本数据中提取潜在的主题信息。常见的方法有LSA、pLSA、LDA。
参考资料:
1.文本大数据分析在经济学和金融学中的应用:一个文献综述(黄卓、沈艳和陈赟合著),《经济学(季刊)》已接受待发表。
2.TF-IDF的两种用途:向量和关键词
3.(九)通俗易懂理解——TF-IDF与TextRank
4.python文本相似度计算