自然语言处理文本分类
一、文本分类基础
- 定义:将文本文档或句子分类到预定义类别,包括单标签多类别(如新闻分娱乐/体育)和多标签多类别(如文档同时属“相机”“芯片”类)。
- 基准公开数据集
| Dataset | Type | Labels | Size (train/test) | Avg. length |
|---------|------|--------|------------------|-------------|
| SST | 情感 | 5/2 | 8.5k/1.1k | 19 |
| IMDb Review | 情感 | 2 | 25k/25k | 271 |
| AG’s News | 主题 | 4 | 120k/7.6k | 44 |
二、文本表示方法
向量空间模型(VSM)
将文本视为特征项集合,特征项可为字、词、短语,文本表示为 ( t 1 , w 1 ; t 2 , w 2 ; … ; t n , w n ) (t_1,w_1;t_2,w_2;\dots;t_n,w_n) (t1,w1;t2,w2;…;tn,wn)。其中 t n t_n tn 表示特征项(例如一个词), w n w_n wn表示该特征项对应的权重。
权重的表示:
- 词袋模型:特征项为词。出现则对应权重为1,否则为0
- 词频(TF): w i = l o g ( t f i + 1 ) w_i=log(tf_i+1) wi=log(tfi+1) ,其中 t f i = 词 t i 在文档 d 中的出现次数 tf_i = 词 t_i 在文档 d 中的出现次数 tfi=词ti在文档d中的出现次数
- 逆文档频率(IDF): i d f i = l o g ( N / d f i ) idf_i=log(N/df_i) idfi=log(N/dfi),其中 d f i = 语料库中包含词 t i 的文档总数 df_i = 语料库中包含词 t_i 的文档总数 dfi=语料库中包含词ti的文档总数
- TF-IDF: t f − i d f i = t f i ⋅ i d f i tf-idf_i=tf_i\cdot idf_i tf−idfi=tfi⋅idfi
三、特征选择技术
筛选特征,留下有用的,影响大的特征
- 文档频率(DF):统计含特征的文档数,低频特征可能被过滤,如教育类文档中“计算机”出现5/7篇。
- 互信息(MI):衡量特征与类别的依赖程度, M I ( t i , c j ) = l o g P ( t i , c j ) P ( t i ) P ( c j ) MI(t_i,c_j)=log\frac{P(t_i,c_j)}{P(t_i)P(c_j)} MI(ti,cj)=logP(ti)P(cj)P(ti,cj)。
- 信息增益(IG):计算特征带来的信息增量, I G ( t i ) = H ( C ) − H ( C ∣ T i ) IG(t_i)=H(C)-H(C|T_i) IG(ti)=H(C)−H(C∣Ti),如“计算机”的IG为0.1308。
四、分类算法
- 朴素贝叶斯(生成式模型)
- 假设特征独立: P ( X ∣ c j ) ≈ ∏ k = 1 n P ( w k ∣ c j ) P(X|c_j)\approx\prod_{k=1}^nP(w_k|c_j) P(X∣cj)≈∏k=1nP(wk∣cj)
- 决策规则: c ∗ = a r g m a x j P ( c j ) ∏ i = 1 M P ( w i ∣ c j ) N ( w i ) c^*=argmax_jP(c_j)\prod_{i=1}^MP(w_i|c_j)^{N(w_i)} c∗=argmaxjP(cj)∏i=1MP(wi∣cj)N(wi)
- 参数估计: P ( c j ) ≈ 1 + N ( c j ) C + N a l l P(c_j)\approx\frac{1+N(c_j)}{C+N_{all}} P(cj)≈C+Nall1+N(cj) P ( w i ∣ c j ) ≈ 1 + N ( w i , c j ) M + ∑ i N ( w i , c j ) P(w_i∣c_j)≈ \frac{1+N(w_i,c_j)}{M+\sum_iN(w_i,c_j)} P(wi∣cj)≈M+∑iN(wi,cj)1+N(wi,cj) 其中 C 为类别总数, M 为特征项总数, N ( C i )为类别总数, N ( w i , c i ) 是 w i 在 c i 类别文档中出现的次数 其中C为类别总数,M为特征项总数,N(C_i)为类别总数,N(w_i,c_i)是w_i在c_i类别文档中出现的次数 其中C为类别总数,M为特征项总数,N(Ci)为类别总数,N(wi,ci)是wi在ci类别文档中出现的次数
- 线性判别函数(判别式模型): g ( x ) = w T x + w 0 g(x)=w^Tx+w_0 g(x)=wTx+w0,通过感知器准则、LMS等学习参数。
五、性能评估体系
- 基础指标
- 真正例(TP)、真负例(TN)、假正例(FP)、假负例(FN)
- 核心指标公式
| 指标 | 公式 |
|------|------|
| 精确率(P) | P i = T P i T P i + F P i P_i=\frac{TP_i}{TP_i+FP_i} Pi=TPi+FPiTPi |
| 召回率(R) | R i = T P i T P i + F N i R_i=\frac{TP_i}{TP_i+FN_i} Ri=TPi+FNiTPi |
| F1值 | F 1 = 2 P R P + R F1=\frac{2PR}{P+R} F1=P+R2PR | - 平均指标
- 宏平均:各分类指标的算术平均
- 微平均:全局统计TP、FP、FN后计算
- 评估曲线
- P-R曲线:调整阈值绘制精确率-召回率关系
- ROC曲线:横轴FPR,纵轴TPR,AUC越大性能越好
关键问题
- 文本表示中TF-IDF的核心作用是什么?
- 答案:TF-IDF通过词频(TF)和逆文档频率(IDF)结合,衡量词在文档中的重要性。TF反映词在当前文档的出现频率,IDF降低常见词权重,提升稀有词权重,使模型更关注区分性特征,如“计算机”在教育类文档中因IDF高更具代表性。
- 特征选择中信息增益与互信息的区别是什么?
- 答案:信息增益(IG)衡量特征对分类系统的信息增量,考虑特征出现和不出现的情况;互信息(MI)仅衡量特征与类别的相关性,不考虑特征不出现时的影响。IG公式为 I G ( t i ) = H ( C ) − H ( C ∣ T i ) IG(t_i)=H(C)-H(C|T_i) IG(ti)=H(C)−H(C∣Ti),MI为 M I ( t i , c j ) = l o g P ( t i , c j ) P ( t i ) P ( c j ) MI(t_i,c_j)=log\frac{P(t_i,c_j)}{P(t_i)P(c_j)} MI(ti,cj)=logP(ti)P(cj)P(ti,cj),IG更全面,MI更侧重相关性强度。
- 朴素贝叶斯分类器的“朴素”假设如何影响分类效果?
- 答案:朴素贝叶斯假设特征之间完全独立,这在实际文本中不成立,如“计算机”和“高校”高度相关。该假设简化计算,但可能导致特征间依赖关系被忽略,降低分类精度。不过在文本分类中,因词袋模型本身忽略词序,该假设在多数场景下仍有效,尤其当训练数据充足时,能通过概率估计弥补假设缺陷。