Memo_Text Analysis, Deep Learning and Causal Inference

这篇是对社科院办的两个讲座的笔记。第一个报告侧重文本分析与因果分析如何结合;第二个报告侧重词向量模型在社会学中如何应用。机器学习与社会学的结合,虽仍有点玄学炼丹的感觉,但较2018年初我在南京听课时,更深入、更具体了。

Meng TG

Meng TG. Text Analysis and Causal Inference[R]. Chinese Academy of Social Sciences & Baidu: So-coders, 2020.(Online, in Chinese)

一、文本分析概述

(一)文本分析的问题

(1)文本资料难获取;(2)耗时长,即便如今机器学习,仍需要花大量时间编码训练集;(3)难推广,由于涉及跨语种,英语世界和中文世界不同;(4)难管理,数据量大;(5)难分析,非结构化数据仍缺乏标准化特征,文本数据只能做“等或不等”,无法比较大小,且语境等问题仍未得到较好解决。

(二)文本分析的定义

目前的数据存在两种:(1)结构化特征数据,年龄、性别、教育水平、收入等特征;(2)非结构化特征数据,互联网发言,如何匹配?这就是文本匹配希望解决的。
文本分析是一种收集数据的方法论,重要在于采集数据,但提取出的特征关系,如何识别则需要借助计量分析、实验设计或其他新方法。

Text as Data: What is the research process?(Grimmer et al., 2019)
(1)Discovery 探索有哪些话题,如利用深度学习分类;
(2)Measurement 机器学习的目标就是降维,将高维进行压缩降维,并赋予意义,测量概念或变量,其中无监督学习分类仍不好用,误差很高,如果需要因果识别,更建议有监督学习;
(3)Causal Inference 探讨特定自变量对因变量的影响,进而可以预测特定文本归属于哪个主题。
(4)Validate 效度检验

(三)文本分析的内容

1、输入数据,如何表示非结构化文本:自然语言转换为计算机语言,文本表示模型,如向量空间模型、概率模型(文本中语料次序、先后顺序)、潜在概率模型。
2、聚类数据,如何对高维文本进行降维:如某一天的微博有无数个词,可能有几万个维度,为此使用聚类和主题模型。
3、描述数据,如何对文本探索性分析:聚类。
4、描述数据,如何挖掘文本潜在信息:如微博100万信息,文本字面没有,但是有潜在信息,为此使用无监督机器学习的主题模型,分析后可能看到财经、体育、新闻等主题频率;此外语义网络,理解词之间的关系。
5、描述数据,如何理解文本情感信息:如微博的价值偏左或偏右,意识形态等,利用情感分析。
6、分析数据,如何利用文本数据进行因果推论。

(四)文本分类的方法:必须有事后的效度检验

1、词典法:训练集(开发词典或已经有的词典)、测试集(检验词典效度)、分类集(未标识的预测文档)。根据各个词的频率与加权得分,判断一段文本的类别。
2、有监督机器学习:人工分类+机器学习,同词典法的区别是不需要告诉计算机“词的集合”,只需要每一个训练集样本赋予标签;常用算法如Naive Bayes, Logistics, SVM。
3、无监督学习:根据词频次或共显关联自动分类,常用算法如Topic Model, Clustering, Deep Learning。企业中寻求效率,多用无监督,但学术更偏爱效度高的有监督。

二、文本分析与因果推论概述

(一)计算社会科学的处境

(1)优点:在于数据驱动的大数据方法是从大量数据中识别有效数据,提供了非结构化数据、时空数据、真实数据、全量数据;
(2)问题:在于因果推论问题,仅呈现描述,而忽视因果性知识。因果性知识认为,相关依赖于特定时空条件,而因果关系是稳健的、跨时空、可推广的;基于因果关系,可以大幅降低预测成本。
因此,因果推论大数据分析步骤:(1)数据采集;(2)测量;(3)探索性分析(分类与聚类);(4)相关分析;(5)因果推论;(6)预测分析;(7)可视化。

(二)大数据因果推论路径

(1)大数据(描述、测量、加总)+ 计量(PSM, DID, IV et.)。具体把无监督模型与结构模型(如传统回归模型)同步实现,提取主题,识别自变量与协变量对主题的影响;通过反事实因果推论,如PSM、DID等设计类实验,识别干预组与控制组差异。
(2)大数据(描述、相关)+ 小数据问卷调查
(3)大数据(描述、实验条件)+ 实验设计
(4)大数据(面)+ 案例分析(点)

三、文本分析的具体方法

(一)问题

(1)机器学习的测量误差,这会导致因果关系识别有偏,甚至无效,目前的效度普遍是0.7-0.9;(2)测量与计量是分离的,测量损耗了很多信息;(3)抽样有偏。

(二)如何选择模型

1、文本是因变量(Text as DV),结构变量是自变量,使用结构主题模型(Structural Topic Model, STM);
2、文本是自变量(Text as IV),结构变量是因变量,使用实验设计;
3、文本是混淆变量(Text as Confounding factors),使用文本匹配(Text Matching),把控制组与实验组匹配出来。

(三)结构主题模型(STM)

1、数据结构要求
研究对象的文本信息(Text Data)与其他信息(Meta Data),如议会中议员(性别、党派属性)的发言(文本)。
2、模型 Topic Model + Structural Model
Topic Model,测量模型,类似于因子分析,提取内容;Structural Model,类似于回归分析,分析提取因子间的关系。
3、步骤
(1)读入数据,预处理;(2)估计STM;(3)计算自变量、协变量对潜在主题的回归系数与置信区间,正向或负向;(4)估计主题间的关系图,可以再抽象加总;(5)模型诊断,判断预测效果好不好;(6)可视化
4、案例:转型社会的获得感

(四)文本匹配(Text Matching)

1、问题:结构数据使用PSM;文本数据怎么匹配?
(1)难以发现匹配单位;(2)文本维度>>样本量,PSM无法计算;(3)干预组和控制组平衡检验不通过。
2、方法:(1)文本主题(Topic);(2)文本高频词(Word);(3)结合PSM与CEM,Topical Inverse Regression Matching (TIRM包)

四、文本分析的研究案例

(一)大数据 + 计量

1、问题:互联网民意参与对政府决策的影响,是否弥合数字鸿沟?弱势群体参与互联网,会影响政府的再分配政策。
2015年《城市治理调查》,家庭财富与参与政策途径有显著关系。穷人更线上、富人更线下。中国与国外情况不同。假设一个地方弱势群体更活跃,则再分配政策更多。
2、自变量,网络数据:(1)收集政府与公民网络互动数据,爬取地方领导留言板数据;(2)有监督与无监督的文本分析提取;其中,有监督学习readme包(Hopkins and king, 2010),哪些人发帖活跃,其中农民最活跃、灵活就业人群(服务员等)次之、学生再次,工人一般,体制内、企业主最少。弱势群体确实最多。无监督学习,公众要解决什么问题?教育、医疗等福祉问题。
3、因变量,政府数据:(1)收集爬取政府工作报告、地方政府立法与财政支持数据;(2)无监督学习Topic Model (LDA),提取下一年度工作内容。
4、模型:(1)汇总为时间、空间与个人特征数据;(2)计量分析(固定效应面板模型、工具变量)。

(二)大数据+小数据问卷

特征+因果推论,属于理论驱动。

(三)大数据+实验设计

近三五年的热门。自然实验、现场实验、调查实验。案例如DukeU在2014年至2015年的空间与治理研究,结合空间回归分析;King G et al.(2017)社交媒体影响个体政治偏好,乃及国家政策。

Liu HQ

Liu HQ. Deep Learning and Text Analysis[R]. Chinese Academy of Social Sciences & Baidu: So-coders, 2020. (Online, in Chinese)

一、数据来源与问题

(一)传统方式:爬取数据

(1)在线社交媒体:微博、Twitter、 Facebook;(2)在线论坛:天涯、贴吧、reddit;(3)在线问答平台:知乎、Quora;(4)媒体数据库:人民日报、New York Times API;(5)网络交易与评价:淘宝、京东、大众点评、链家网;(6)官方网站:政府留言板、中国裁判文书网;(7)第三方网站:北大法宝、中国知网等;(8)数字化文本:谷歌图书等。

(二)新来源:开放平台

(1)地方政府开放数据,调用api;(2)企业或第三方数据,调用百度词向量、腾讯词向量。

(三)数据问题

(1)噪音数据;(2)自然语言处理技术,无法完全取代人工;(3)变量有限。

二、数据处理方法

(一)数据预处理

1、文本编码 UTF-8等
2、英文:(1)去除大小写、标记符;(2)去除词顺序;(3)去除停用词;(4)提取词干(stemming);(5)去除缺乏判断力的词,如过于稀疏的(频率高>99%或低<1%)。
3、中文:(1)去除标点;(2)去除词顺序;(3)去除停用词;(4)提取词干;(5)去除缺乏判断力的词。可使用哈工大停用词表、川大停用词表等。

(二)数据分析

1、传统词频分析 Term Frequency
Inverse Document Frequency(IDF),并非所有词汇都重要。
IDF=log(N/D),N文档数量、D词汇在多少个文档出现,D越大,IDF越小。后也有TF-IDF。
2、传统独热表示 one-hot vector(文本定量化输出矩阵 DTM)
命令:stata: Ngram; Python: CountVectorizer()

单词1单词2单词3
文本11127
文本2308

(三)文本建模与分析

1、机器学习方法:主题模型(Topic Model);LSA文本相似度计算;半监督学习(随机森林, KNN etc.);Lasso 高维模型;语义网络分析;词向量(Word2vec);循环神经网络(RNN)等。
2、应用场景:验证理论与发现理论
(1)验证理论,半监督学习如上述孟天广研究;(2)发现理论,无监督学习

三、词向量模型概述

(一)开发意义

1、传统独热表示(one-hot vector)
如queen对应向量是[0,1,0,0]。存在问题:(1)维度灾难,硬编码;(2)难以发现词之间关系,如北京和巴黎都是首都。
2、词嵌入表示
2013年google提出的低维、数据中学习的词向量模型,Word2Vec用数值向量表示单词,且向量空间可以很好地衡量两个单词相似性。
如queen对应向量是[0.3,-0.1,0.4,…,0.7],每个词表征为K维向量,相似单词映射到空间中临近部分。
如king-man+woman=queen

(二)模型概述

1、Model: skip-gram(SG),通过一个中心词汇,预测周围词汇,更花时间,但更准确;continuous bag of words(CBOW),通过周围词汇,预测一个中心词汇。输出的权重代表了词向量的值。两层及以上才属于深度学习。
2、Training: negative sampling, hierarchical softmax

(三)案例

1、词汇相似度,词汇间的隐藏关系

eg. W(‘china’)-W(‘beijing’)=W(‘Japan’)-W(’Tokyo’)
(1)特定类型词语库的完善,如骂人的话不断滚雪球;(2)词汇语义网;(3)文本相似性;(3)情感分析,由词频到语义顺序。

2、词汇语义变迁研究 eg. gay(1900s, 1950s, 1990s)
3、PNS论文:美国的性别、种族刻板印象(Grag et al., 2018)

(1)单词列表。获得性别与职业单词。并获得历史统计数据。
(2)量化词向量偏差。以性别为例,计算代表女性的词汇与特定职业的词汇的平均语义距离,作为对比,计算男性的词汇与特定职业的词汇的平均语义距离。二者相减,负向代表该职业与男性更密切。
(3)线下数据与词向量数据进行对比,验证是否存在偏见。
(4)发现:词向量平均偏差为负,但性别不平等在缩小。

4、ASR论文:文化几何学的词向量与阶级(Kozlowski et al., 2019)

目的:训练词嵌入模型,性别、阶级和种族三个维度,进行理论探索。
步骤:(1)生成反义词对,如rich-poor;(2)多个来源数据比对,三个维度的皮尔森相关;(3)语义空间观察,如穷人与富人音乐品味的差异;(4)通过反义词构建单一维度。

5、政策文本分析

传统词匹配算法不适用,语义分析有优势。如补贴、优惠两个词是近似的。

四、其他模型及其应用场景

Minaee S, Kalchbrenner N, Cambria E, et al. Deep learning based text classification: A comprehensive review[J]. arXiv preprint arXiv:2004.03705, 2020.
RNN(paragraph), CNN(picture and text)、Models with Attention Mechanism, Memory-Augmented Networks, Transformers.