第11讲:文本挖掘与社交网络分析

文本挖掘与社交网络分析

本讲把文本数据和关系数据作为两类重要的非结构化数据来讨论。文本挖掘关注如何把自然语言材料转化为可计算的结构化表示,并进一步开展分类、聚类和主题发现;社交网络分析关注节点之间的关系结构,分析个体位置、群体凝聚、网络分割以及关系生成机制。

一、文本挖掘概述

在网络普及的环境中,网页、新闻、社交媒体、评论、邮件和报告中都包含大量文本信息。这些文本通常不是天然的表格数据,而是粗糙的非结构化数据。文本挖掘(text mining)就是以文本为对象,寻找其中隐含的信息结构、模型、模式和潜在知识的过程。

文本挖掘的一般流程包括:

  1. 获取文本数据;
  2. 对文本进行清洗、分词和标准化;
  3. 抽取词项并构造文本特征;
  4. 将文本转化为矩阵或向量;
  5. 进行分类、聚类、主题模型、情感分析等任务;
  6. 解释结果并回到具体问题场景。

例如,可以使用 Journal of Statistics Software 论文摘要数据,分析该期刊在一段时间内发表文章的主题演化。此类问题的关键不是单篇文章阅读,而是把大量摘要组织成可计算的语料库,再从整体上提炼主题结构。

二、文本数据获取与预处理

文本数据可来自网页抓取、开放数据集、平台接口、新闻数据库、社交媒体评论、问卷开放题回答等。网页文本抓取通常模拟访问 URL,获得 HTML、JSON 或其他结构化响应,再抽取正文、标题、日期、作者等字段。

获得文本后,需要进行预处理。常见步骤包括:

  • 去除 HTML 标签、特殊符号、重复内容和无关字段;
  • 统一大小写、日期格式、编码和标点;
  • 删除停用词;
  • 对英文进行词干抽取或词形还原;
  • 对中文进行分词;
  • 根据任务保留名词、动词、关键词或短语。

文本预处理的目标不是“清得越干净越好”,而是保留对研究问题有用的信息,同时减少无意义噪声。

三、文本特征表示

文本挖掘的首要任务是寻找合适的文本表示方式。表示方式既要包含足够信息以识别文本内容,又要把非结构化语言转化为结构化数据,便于计算机处理。

当文本被看作由字、词、词组或短语组成的集合时,这些基本单位称为词项(term)。在词袋假设下,文本内容主要由其包含的词项及词项出现情况决定,而暂时忽略词项顺序。基于这一假设,可以把文本表示为布尔矩阵、词频矩阵或加权词频矩阵。

常见表示方式包括:

  • 布尔模型:词项是否在文档中出现,出现记为 1,不出现记为 0;
  • 向量空间模型:文档被表示为词项权重向量;
  • 概率模型:用概率分布描述文档、主题和词项之间的关系;
  • 基于知识的表示模型:引入词典、知识图谱或语义资源。

其中布尔模型和向量空间模型最容易理解,计算成本也较低,因此是文本挖掘中的基础工具。

四、分词与特征抽取

特征抽取的核心是从文本中获得词项。英文文本常见流程是:

英文文档 -> 停用词处理 -> 词干抽取 -> 特征词集合

英文中同一词根可能对应不同形式,例如 connect、connected、connection、connects。词干抽取(stemming)或词形还原可以把这些形式归并到相近的规范形式,从而降低特征维度。

中文文本的流程通常是:

中文文档 -> 停用词处理 -> 词语切分 -> 特征词集合

中文分词比英文更复杂,因为中文词语之间没有天然空格。常见方法包括最大匹配法、最大概率法、最少分词法、基于 HMM 的分词、基于互现信息的分词、基于字符标注的方法和基于实例的分词方法。

最大匹配法

最大匹配法需要预先准备词表,并设置最大词长。分词时从文本中取候选子串,与词表匹配;匹配成功则切分为词,否则逐步缩短候选子串。

例如字符串“文本挖掘非常重要”,若词表中包含“文本挖掘”“非常”“重要”,最大匹配法可得到:

文本挖掘 / 非常 / 重要

该方法直观、实现简单,但依赖词表质量,对新词和歧义切分较敏感。

最大概率法

最大概率法把分词看成概率优化问题。设输入汉字串为:

\[Z = z_1z_2\cdots z_n\]

候选词串为:

\[W = w_1w_2\cdots w_m\]

自动分词的目标是寻找使条件概率最大的词串:

\[W = \arg\max_W P(W \mid Z)\]

根据贝叶斯公式,并在给定词串时对应汉字串概率为 1 的简化下,可转化为:

\[W = \arg\max_W P(W)\]

如果使用二元语法,可写为:

\[P(W)=\prod_{i=1}^{m}p(w_i \mid w_{i-1})\]

其基本思想是找出所有可能切分路径,再选择概率最大的路径作为分词结果。

五、词项权重与 TF-IDF

设文本集中共有 $m$ 个词项,项集为:

\[F=\{f_1,f_2,\cdots,f_m\}\]

文档 $d_i$ 中词项 $f_j$ 的权重记为 $w_{ij}$。若 $f_j$ 在 $d_i$ 中出现,则 $w_{ij}>0$;否则 $w_{ij}=0$。在布尔矩阵中,$w_{ij}\in{0,1}$;在词频矩阵中,$w_{ij}$ 可使用绝对词频或相对词频表示。

词频(Term Frequency, TF)表示词项在文档中出现的次数。倒排文档频率(Inverse Document Frequency, IDF)衡量某个词在整个文档集合中的稀有程度。常见形式为:

\[IDF(t)=\log_2\frac{N}{|\{d\in D:t\in d\}|}\]
其中 $N$ 是文档总数,${d\in D:t\in d}$ 是包含词项 $t$ 的文档数。

TF-IDF 综合考虑词在单篇文档中的重要性和在语料库中的区分能力:

\[TFIDF(t,d)=\frac{TF(t,d)}{\sum_{f\in d}TF(f,d)}\times \log_2\frac{N}{|\{d\in D:t\in d\}|}\]

高频但到处出现的词通常区分度不高;出现频率适中、但集中于少数文档的词往往更能代表主题。

六、文本特征选择

文本矩阵通常维度很高且非常稀疏。特征选择的目标是压缩维度、减少噪声、提高模型运行效率和预测表现。基本步骤为:

  1. 从全部原始特征开始;
  2. 计算每个特征的评估函数值;
  3. 选择分值较高的前 $k$ 个特征作为特征子集。

常见方法包括:

  • 文档频率选择法:保留出现频率超过阈值的词项,删除过于稀有或信息量不足的词;
  • 信息增益选择法:衡量某个词项出现与否对类别预测带来的信息增益;
  • 交叉熵选择法:衡量词项出现后类别分布相对总体类别分布的变化;
  • $\chi^2$ 统计方法:检验词项与类别之间是否存在显著关联。

信息增益常用于分类任务,其思想是比较特征出现前后的信息熵差异。交叉熵与信息增益类似,但更关注文档中实际出现的词。

七、文本分类、聚类与主题模型

当文本被表示为结构化矩阵后,就可以使用传统数据挖掘方法开展分析。

文本分类

文本分类需要带标签的训练文本集。一般步骤为:

  1. 获取训练文本并转化为特征向量;
  2. 选择分类方法并训练模型;
  3. 对待分类文本进行预测;
  4. 使用准确率、召回率、F1 值等指标评估模型。

常用方法包括 k 近邻、朴素贝叶斯、支持向量机、逻辑回归、随机森林和深度学习模型。文本分类常用于垃圾邮件识别、新闻分类、情感分析、舆情预警等场景。

文本聚类

文本聚类不需要预先给定类别标签,而是根据文本相似性自动发现分组。一般步骤为:

  1. 获取结构化文本特征矩阵;
  2. 选择距离或相似性度量;
  3. 使用系统聚类、K-means 等算法得到聚类结果;
  4. 解释每一类的关键词、主题和典型文本。

聚类适合探索性分析,但结果解释依赖研究者对语境和文本内容的理解。

LDA 主题模型

LDA(Latent Dirichlet Allocation)是一种经典主题模型。其基本思想是:一篇文档可以包含多个主题,每个主题又对应一组词语分布。设文档为:

\[w=(w_1,w_2,\cdots,w_N)\]

其中每个词 $w_k$ 来自同一词汇表。LDA 的基本假设包括:

  1. 文档的主题数目是确定的;
  2. 文档中的主题服从多项式分布 $Multi(\theta)$;
  3. $\theta$ 服从狄利克雷分布 $Dirichlet(\alpha)$;
  4. 给定主题后,词语服从由参数 $\beta$ 控制的多项式分布。

词语生成过程可概括为:

  1. 对每个词位置选择主题 $z_k$;
  2. 在给定主题 $z_k$ 的条件下生成词语 $w_k$。

LDA 常用于新闻主题发现、论文摘要分析、评论主题提取和舆情议题识别。

八、自然语言处理的扩展

自然语言处理(Natural Language Processing, NLP)希望计算机能够理解、生成和处理人类语言。自然语言处理具有挑战性,原因包括:

  • 语言规律复杂且存在大量例外;
  • 词语和句子可以组合成高度复杂的表达;
  • 语言是开放集合,新词和新表达不断出现;
  • 语言理解依赖背景知识;
  • 语言使用依赖具体语境。

NLP 常见任务包括分类、匹配、翻译、结构预测和序列决策。现代 NLP 通常结合统计机器学习、深度学习和大语言模型方法,但基本的文本表示、特征抽取和评估思路仍然是理解高级模型的基础。

社交网络分析

九、社交网络分析概述

社交网络分析(Social Network Analysis, SNA)是基于信息学、数学、社会学、管理学、心理学等多学科理论和方法,研究人类关系结构、行为特征和信息传播规律的一种可计算分析方法。

在线社交网络具有规模庞大、动态变化、匿名性、内容丰富等特点。以社交网站、博客、微博、短视频平台和论坛为对象的网络分析,已经成为理解社会结构、信息扩散、群体互动和平台治理的重要工具。

十、网络的基本概念

网络也称为图(Graph)。一个图可表示为有序三元组:

\[(V,E,\varphi)\]

其中 $V$ 是非空顶点集,$E$ 是边集,$\varphi$ 是描述顶点之间关系的关联函数。$V$ 中的元素称为顶点(vertex),$E$ 中的元素称为边(edge)。

如果边没有方向,称为无向图;如果边有方向,称为有向图。在有向图中,一条边从起点指向终点,常用于表示关注、转发、引用、资金流向等有方向的关系。

网络常见矩阵表示包括:

  • 邻接矩阵:记录任意两个节点之间是否存在边;
  • 关联矩阵:记录节点与边之间的关联关系;
  • 权重矩阵:记录关系强度,如互动次数、转发频次、合作次数等。

十一、节点度与中心性

节点度是网络中最基本的指标。无向图中,节点 $v$ 的度 $d_G(v)$ 是与其相连的边数。有向图中,度可分为入度和出度:入度表示指向该节点的边数,出度表示从该节点发出的边数。

中心性指标用于量化节点在网络中的“重要性”。不同中心性回答不同问题:

  • 谁连接最多?
  • 谁离其他节点更近?
  • 谁控制更多路径?
  • 谁与重要节点相连?

接近中心性

接近中心性强调一个节点与其他节点的距离。如果节点到其他节点都较近,则它处于较中心位置:

\[c_{CI}(v)=\frac{1}{\sum_{u\in V}Dist(v,u)}\]

其中 $Dist(v,u)$ 表示节点 $v$ 与 $u$ 的最短路径距离。实际比较中常进行归一化处理。

介数中心性

介数中心性衡量节点在多大程度上位于其他节点之间的最短路径上。若一个节点经常出现在其他节点的通信路径中,它可能是信息流动的关键中介:

\[c_B(v)=\frac{\sigma(s,t\mid v)}{\sum_{u\in V}\sigma(s,t)}\]

其中 $\sigma(s,t\mid v)$ 表示从 $s$ 到 $t$ 且经过 $v$ 的最短路径数,$\sigma(s,t)$ 表示 $s$ 与 $t$ 之间的最短路径总数。

特征向量中心性

特征向量中心性强调“连接到重要节点的节点也更重要”。常见形式为:

\[c_E(v)=\sum_{\{u,v\}\in E}c_E(u)\]

该指标可表示为邻接矩阵的特征向量问题。PageRank 等算法也与这类思想密切相关。

十二、网络凝聚性与分割

网络凝聚性关注网络中节点如何形成紧密子群。常见概念包括团、极大团、$k$ 核、二元组、三元组、密度、聚类系数和社团。

团与 k 核

团(clique)是一类完全子图,子图内所有节点两两相连。极大团是不被任何更大团包含的团。由于现实网络通常较稀疏,大尺寸团并不常见,因此研究中也常使用更弱的凝聚性定义。

$k$ 核($k$-core)是网络中的一个最大子图,其中每个节点的度至少为 $k$。$k$ 核分解可以把网络像洋葱一样分层,识别核心区域和边缘区域。

密度

对于不存在多重边和自环的无向子图 $H=(V_H,E_H)$,密度定义为:

\[den(H)=\frac{|E_H|}{|V_H|(|V_H|-1)/2}\]
密度取值在 0 到 1 之间,表示实际出现的边占所有可能边的比例。有向图中分母通常替换为 $V_H(V_H-1)$。

聚类系数

聚类系数刻画网络中的三角闭合程度。全局聚类系数可写为:

\[cl_r(G)=\frac{3\tau(G)}{\tau_3(G)}\]

其中 $\tau(G)$ 是三角形个数,$\tau_3(G)$ 是连通三元组个数。该指标反映朋友的朋友是否也更可能成为朋友。

网络分割与社团发现

分割是把节点集合划分为若干不相交子集的过程。在网络分析中,分割常用于发现凝聚性子群,也称为社团发现(community detection)。

系统聚类可通过凝聚或分裂过程形成嵌套的网络分割层级。凝聚方法从单个节点开始逐步合并,分裂方法从整体网络开始逐步拆分,结果通常可以用树状图表示。

十三、网络图的统计模型

网络统计模型试图解释网络关系是如何生成的,或者判断观测网络是否具有某些不同于随机网络的结构特征。

经典随机图模型

经典随机图模型(Random Graph Model, RGM)通常规定在给定节点数和边数的图集合上,每个图具有相同概率。也可以使用 Erdős-Rényi 模型,设任意一对节点之间以概率 $p$ 独立连边。

随机图模型常作为基准模型:如果观测网络的聚类系数、路径长度、度分布或社团结构显著不同于随机图,就说明网络中可能存在非随机机制。

广义随机图模型

广义随机图模型在随机图基础上加入约束。例如固定度序列后,只在具有相同度序列的网络集合中均匀抽样。这样可以在保留节点度差异的同时,考察其他网络结构是否显著。

指数随机图模型

指数随机图模型(Exponential Random Graph Models, ERGMs)使用指数族分布描述随机邻接矩阵的联合分布。基本形式为:

\[P_\theta(Y=y)=\frac{1}{k}\exp\left(\sum_n \theta_n g_n(y)\right)\]

其中 $g_n(y)$ 表示网络中的构型统计量,如边数、三角形数、互惠关系等;$\theta_n$ 表示对应结构倾向;$k$ 是归一化常数。ERGMs 可用于分析关系形成是否受到互惠、传递性、同质性等机制影响。

块模型与随机块模型

块模型假设网络节点属于若干类别,节点之间是否连边取决于其所属类别。若节点 $i$ 属于类别 $q$,节点 $j$ 属于类别 $r$,则边 $Y_{ij}$ 服从参数为 $\pi_{qr}$ 的伯努利分布。

随机块模型(Stochastic Block Model, SBM)进一步假设节点类别本身也是随机产生的。SBM 可用于发现潜在社团结构、角色结构和群体间连接模式。

十四、关联网络推断

关联网络关注如何基于节点属性之间的相似性或统计关联来推断边。设每个节点 $v$ 对应一个属性向量,节点 $i$ 与 $j$ 的相似性记为 $sim(i,j)$。如果相似性达到某种显著标准,就在两者之间建立边。

相关网络

对于连续属性,常用皮尔逊相关系数衡量节点间关联:

\[sim(i,j)=\rho_{ij}=\frac{\sigma_{ij}}{\sqrt{\sigma_{ii}\sigma_{jj}}}\]

由非零相关关系定义的图称为协方差图或相关图。推断任务通常转化为大量相关系数显著性检验:

\[H_0:\rho=0,\qquad H_1:\rho\neq 0\]

此时需要处理检验统计量选择、显著性评估和多重检验问题。

偏相关网络

相关不等于因果。两个节点高度相关,可能是直接影响,也可能是第三个节点共同作用的结果。偏相关通过控制其他变量,衡量两个节点之间更直接的关系。

在控制节点集合 $S_m$ 后,节点 $i$ 和 $j$ 的偏相关系数可表示为:

\[\rho_{ij\mid S_m}=\frac{\sigma_{ij\mid S_m}}{\sqrt{\sigma_{ii\mid S_m}\sigma_{jj\mid S_m}}}\]

当研究目标是构建更接近直接关系的网络时,偏相关比普通相关更有解释价值。

高斯图模型与 Graphical Lasso

高斯图模型(Gaussian Graphical Model, GGM)假设节点属性服从多元正态分布,并使用在控制其他所有变量后的偏相关来定义边。若 $X_i$ 与 $X_j$ 在给定其他变量后条件独立,则二者之间没有边。

在正态假设下,偏相关可由协方差矩阵 $\Sigma$ 的逆矩阵 $\Omega=\Sigma^{-1}$ 表示:

\[\rho_{ij\mid V\backslash\{i,j\}}=\frac{w_{ij}}{\sqrt{w_{ii}w_{jj}}}\]

其中 $w_{ij}$ 是精度矩阵 $\Omega$ 的第 $(i,j)$ 个元素。Graphical Lasso 通过惩罚项估计稀疏精度矩阵,适合高维数据下的网络结构推断。

十五、R 语言实现提示

文本挖掘可使用以下 R 包:

install.packages(c("tm", "XML", "SnowballC", "wordcloud", "topicmodels"))
install.packages("corpus.JSS.papers", repos = "http://datacube.wu.ac.at/", type = "source")

社交网络分析常用 igraph 包。例如可生成一个 100 个节点、连边概率为 0.05 的随机图:

library(igraph)
plot(erdos.renyi.game(100, 0.05))

实际分析中,还可以结合 tidytextjiebaRquantedaggraphstatnetergmhugeglasso 等工具完成文本和网络建模。

十六、本讲小结

文本挖掘与社交网络分析分别处理“内容”和“关系”两类重要数据。文本挖掘的关键是把自然语言转化为词项、权重和主题等结构化表示;社交网络分析的关键是把行动者、对象或变量之间的关系转化为图结构,并通过中心性、凝聚性、分割和统计模型理解网络机制。

在传媒与社会科学研究中,两者经常结合使用:例如从社交媒体文本中提取议题和情感,再分析用户互动网络、信息扩散路径和意见群体结构。

参考资料

  • 课程幻灯片:文本挖掘
  • 课程幻灯片:社交网络分析
  • 宗成庆等:《文本数据挖掘》,清华大学出版社,2019。
  • 电影:《社交网络》,2010。
  • 图书:《社交网络改变世界》,中国人民大学出版社,2013。