- 以文本分类任务为例
-
形式化定义:给定文档空间 X,类别集合 C={c1,⋯,cj},则训练集 D=⟨d,c⟩∈X×C,需要学习一个算法,得到分类器 γ:X→C,确定文档 d 最可能属于的类别
-
文本的表示可以用 One-Hot 编码或 TF-IDF 表示
- 相互独立地表示语料中的每个词,将每个词表示为一个稀疏向量,其维度是词典大小
- 不考虑单词之间的关联,不能表示词语的重要性,语义信息被全部丢失
- TF-IDF 全称为(Term Frequency-Inverse Document Frequency,词频 - 逆文档频率)
TF−IDF(t,d,D)=TF(t,d)⋅IDF(t,D)
- 衡量一个词语在文档中的重要性,来评估该词对于整个文档集合的区分能力
- 缺点:忽略了词语的语义信息,不能捕捉上下文关系
- 词频(TF,Term Frequency):一个词语在文档中出现的频率,表示词语在单个文档中的相对重要性,未考虑在整个文档集合中的普遍性
TF(t,d)=Nft
- 逆文档频率(IDF,Inverse Document Frequency)
- 一个词语在整个文档集合中的重要性,其中 ∣d∈D:t∈d∣ 表示包含词语 t 的文档数
- 若一个词在多个文档中都频繁出现,其区分能力较低,其 IDF 值也较低
IDF(t,D)=log1+∣d∈D:t∈d∣∣D∣
RSV(Q,D)=P(Q∣D)=P(Q∣MD)=P(q1q2⋯qm∣MD)=P(q1∣MD)⋯P(qm∣MD)=Πw∈QP(w∣MD)c(w,Q)
- 即需要估计文档 D 的一元模型 MD,即求 P(w∣MD)
- 平滑技术
- Jelinek-Mercer 平滑:p(w∣D)=λPML(w∣D)+(1−λ)P(w∣C)
- p(w∣D)=∣D∣+μc(w,D)+μP(w∣C)
- p(w∣D)=∣D∣max(c(w,D)−δ,0)+∣D∣δ∣D∣μp(w∣C)
- 缺点:无法解决词语失配问题,如查询中用词和文档中用词不一致
P(Q∣D)=ΠiP(qi∣D)=Πij∑P(qi∣wj)P(wj∣MD)
- 其中,P(qi∣wj) 为翻译概率,可以通过同近义词构造
-
KL 距离定义
DKL(P∥Q)=x∈X∑P(x)logQ(x)P(x)
-
文档打分公式
Score(Q,D)=logP(Q∣MC)P(Q∣MD)
其中
- MD:文档 D 的语言模型
- MC:集合语料的背景模型
- P(Q∣MD):文档 D 的查询似然模型
-
将查询视作词袋后的展开
Score(Q,D)=qi∈Q∑tf(qi,Q)⋅P(qi∣MC)P(qi∣MD)
进一步可写成(使用查询模型 MQ):
Score(Q,D)∝qi∈Q∑P(qi∣MQ)⋅P(qi∣MC)P(qi∣MD)
继续变形:
=qi∈Q∑P(qi∣MQ)⋅P(qi∣MQ)P(qi∣MD)−qi∈Q∑P(qi∣MQ)⋅P(qi∣MQ)P(qi∣MC)=−KL(MQ,MD)+KL(MQ,MC)
-
与文档相关的部分
−KL(MQ,MD)=qi∈Q∑P(qi∣MQ)logP(qi∣MD)−qi∈Q∑P(qi∣MQ)logP(qi∣MQ)
-
去掉与文档无关的常数后,最终可用于排序的得分
Score(Q,D)∝qi∈Q∑P(qi∣MQ)logP(qi∣MD)
朴素贝叶斯分类的目标是找到具有最大后验概率的类别:
cmap=argc∈CmaxP^(c∣d)=argc∈CmaxP^(c)k=1∏ndP^(tk∣c)
利用对数将小概率连乘转为求和:
cmap=argc∈Cmax[logP^(c)+k=1∑ndlogP^(tk∣c)]
利用极大似然估计法从训练数据估计参数:
-
先验概率
P^(c)=NNc
-
条件概率
P^(t∣c)=∑t′∈VTct′Tct
其中
- Tct 为类别 c 中词 t 的出现次数
- 词的出现位置相互独立,即 P^(tk1∣c)=P^(tk2∣c)(若两者为相同词)
零概率问题:若词 t 未出现在类别 c 中,则 P^(t∣c)=0
为避免此问题,引入加一平滑:
P^(t∣c)=∑t′∈V(Tct′+1)Tct+1
词汇表大小为 ∣V∣=B,分母等价于 ∑t′∈VTct′+B