文本分类综述

Preview:

Citation preview

文本分类综述文本分类综述

王 斌王 斌

中国科学院计算技术研究所中国科学院计算技术研究所

20022002 年年 1212 月月

报告内容报告内容

文本分类的定义和应用文本分类的定义和应用

文本分类的方法文本分类的方法

文本分类的评估指标文本分类的评估指标

参考文献和资源参考文献和资源

文本分类的定义和应用文本分类的定义和应用

定义定义

给定分类体系,将文本分到某个或者某几个类给定分类体系,将文本分到某个或者某几个类别中。别中。– 分类体系一般人工构造分类体系一般人工构造

» 政治、体育、军事政治、体育、军事

» 中美关系、恐怖事件中美关系、恐怖事件

– 分类系统可以是层次结构,如分类系统可以是层次结构,如 yahoo!yahoo!– 分类模式分类模式

» 22 类问题,属于或不属于类问题,属于或不属于 (binary)(binary)» 多类问题,多个类别多类问题,多个类别 (multi-class)(multi-class) ,可拆分成,可拆分成 22 类问题类问题

» 一个文本可以属于多类一个文本可以属于多类 (multi-label)(multi-label)

– 这里讲的分类主要基于内容这里讲的分类主要基于内容

– 很多分类体系很多分类体系 : Reuters: Reuters 分类体系、中图分类分类体系、中图分类

应用应用

垃圾邮件的判定垃圾邮件的判定 (spam or not spam)(spam or not spam)– 类别 类别 {spam, not-spam}{spam, not-spam}

新闻出版按照栏目分类新闻出版按照栏目分类– 类别 类别 {{ 政治政治 ,, 体育体育 ,, 军事军事 ,…},…}

词性标注词性标注– 类别 类别 {{ 名词名词 ,, 动词动词 ,, 形容词形容词 ,…},…}

词义排歧词义排歧– 类别 类别 {{ 词义词义 1,1, 词义词义 2,…}2,…}

计算机论文的领域计算机论文的领域– 类别 类别 ACM systemACM system

» H: information systemsH: information systems» H.3: information retrieval and storageH.3: information retrieval and storage

文本分类的方法文本分类的方法

人工方法和自动方法人工方法和自动方法

人工方法人工方法– 结果容易理解结果容易理解

» 足球 足球 and and 联赛联赛联联体育类体育类

– 费时费力费时费力

– 难以保证一致性和准确性难以保证一致性和准确性 (40%(40% 左右的准确率左右的准确率 ))– 专家有时候凭空想象专家有时候凭空想象

– 知识工程的方法建立专家系统知识工程的方法建立专家系统 (80(80 年代末期年代末期 )) 自动的方法自动的方法 (( 学习学习 ))

– 结果可能不易理解结果可能不易理解

– 快速快速

– 准确率相对高准确率相对高 (( 准确率可达准确率可达 60%60% 或者更高或者更高 ))– 来源于真实文本,可信度高来源于真实文本,可信度高

文本分类的过程文本分类的过程

文本表示 训练过程

分类过程

训练文本

统计

统计量

特征表示

学习 分类器

新文本 문서特征表示

类别

特征抽取特征抽取 (feature extraction)(feature extraction)

预处理预处理– 去掉去掉 htmlhtml 一些一些 tagtag 标记标记

– 禁用词禁用词 (stop words)(stop words) 去除、词根还原去除、词根还原 (stemming)(stemming)– (( 中文中文 )) 分词、词性标注、短语识别、…分词、词性标注、短语识别、…– 词频统计词频统计

» TFTFi,ji,j: : 特征特征 ii 在文档在文档 jj 中出现次数,词频中出现次数,词频 (Term Frequency)(Term Frequency)

» DFDFii:: 所有文档集合中出现特征所有文档集合中出现特征 ii 的文档数目,文档频率的文档数目,文档频率 (Document (Document Frequency)Frequency)

– 数据清洗:去掉不合适的噪声文档或文档内垃圾数据数据清洗:去掉不合适的噪声文档或文档内垃圾数据

文本表示文本表示– 向量空间模型向量空间模型

降维技术降维技术– 特征选择特征选择 (Feature Selection)(Feature Selection)– 特征重构特征重构 (Re-parameterisation(Re-parameterisation ,如,如 LSI)LSI)

文本表示文本表示

向量空间模型向量空间模型 (Vector Space Model)(Vector Space Model)– MM 个无序标引项个无序标引项 tti i (( 特征特征 )) ,词根,词根 // 词词 // 短语短语

// 其他其他

– 每个文档每个文档 ddjj 可以用标引项向量来表示可以用标引项向量来表示

» (a(a1j1j,a,a2j2j,…,a,…,aMjMj))

– 权重计算,权重计算, NN 个训练文档个训练文档

» AAM*NM*N= (a= (aijij))

– 相似度比较相似度比较» CosineCosine 计算计算

» 内积计算内积计算

TermTerm 的粒度的粒度

CharacterCharacter ,字:中,字:中 WordWord ,词:中国,词:中国 PhrasePhrase ,短语:中国人民银行,短语:中国人民银行 ConceptConcept ,概念,概念

– 同义词:开心 高兴 兴奋同义词:开心 高兴 兴奋

– 相关词相关词 clustercluster ,, word clusterword cluster :葛非:葛非 // 顾俊顾俊

N-gramN-gram ,, NN 元组:中国 国人 人民 民银 银元组:中国 国人 人民 民银 银行行

某种规律性模式:比如某个某种规律性模式:比如某个 windowwindow 中出现的中出现的固定模式固定模式

David LewisDavid Lewis等一致地认为:等一致地认为: ((英文分类中英文分类中 ))使使用优化合并后的用优化合并后的 WordsWords 比较合适比较合适

权重计算方法权重计算方法

布尔权重布尔权重 (boolean weighting)(boolean weighting)– aaijij=1(TF=1(TFijij>0) or (TF>0) or (TFijij=0)0=0)0

TFIDFTFIDF 型权重型权重

– TF: aTF: aijij=TF=TFijij

– TF*IDF: aTF*IDF: aijij=TF=TFijij*log(N/DF*log(N/DFii))

– TFC: TFC: 对上面进行归一化对上面进行归一化

– LTC: LTC: 降低降低 TFTF 的作用的作用

基于熵概念的权重基于熵概念的权重 (Entropy weighting)(Entropy weighting)– 称为称为 term iterm i 的某种熵的某种熵

– 如果如果 termterm 分布极度均匀:熵等于分布极度均匀:熵等于 -1-1

– 只在一个文档中出现:熵等于只在一个文档中出现:熵等于 00

∑=

kkkj

iijij

DFNTF

DFNTFa

2)]/log(*[

)/log(*

∑ +

+=

kkkj

iijij

DFNTF

DFNTFa

2)]/log(*)0.1[log(

)/log(*)0.1log(

++= ∑

=

))]log([log

11*)0.1log(

1

N

j i

ij

i

ijijij DF

TF

DF

TF

NTFa

特征选择特征选择 (1)(1)

基于基于 DF DF – TermTerm 的的 DFDF小于某个阈值去掉小于某个阈值去掉 ((太少,没有代表性太少,没有代表性

))– TermTerm 的的 DFDF大于某个阈值也去掉大于某个阈值也去掉 ((太多,没有区分太多,没有区分

度度 ))

信息增益信息增益 (Information Gain, IG)(Information Gain, IG) :该:该 termterm为为整个分类所能提供的信息量整个分类所能提供的信息量 (( 不考虑任何特征不考虑任何特征

的熵的熵和和考虑该特征后的熵的差值的差值 ))

)}]|(log)|(){(

)}|(log)|(){([

)}(log)({

) Entropy(Expected)(EntropyGain(t)

1

1

1

tcPtcPtP

tcPtcPtP

cPcP

SS

i

M

i i

i

M

i i

i

M

i i

t

∑∑

=

=

=

+−

−−=

−=

特征选择特征选择 (2)(2)

termterm 的某种熵:该值越大,说明分布越均匀,越有可的某种熵:该值越大,说明分布越均匀,越有可

能出现在较多的类别中;该值越小,说明分布越倾斜能出现在较多的类别中;该值越小,说明分布越倾斜

,词可能出现在较少的类别中,词可能出现在较少的类别中

相对熵相对熵 (not (not 交叉熵交叉熵 )) :也称为:也称为 KLKL距离距离 (Kullback-Leibler divergence) ,反映了文本类别的概率分布和在,反映了文本类别的概率分布和在

出现了某个特定词汇条件下的文本类别的概率分布之出现了某个特定词汇条件下的文本类别的概率分布之

间的距离,该值越大,词对文本类别分布的影响也大间的距离,该值越大,词对文本类别分布的影响也大

。。

∑−=i

ii tcPtcPtEntropy )|(log)|()(

∑=i i

ii cP

tcPtcPtCE

)(

)|(log)|()(

特征选择特征选择 (3)(3)

χχ2 2 统计量统计量 (( 念念 xi)xi) :度量两者:度量两者 (term(term 和类别和类别 ))独立性的独立性的

缺乏程度, 缺乏程度, χχ2 2 越大,独立性越小,相关性越大越大,独立性越小,相关性越大 ((若若AD<BC,AD<BC,则类和词独立则类和词独立 , N=A+B+C+D), N=A+B+C+D)

互信息互信息 (Mutual Information)(Mutual Information) :: MIMI越大越大 tt 和和 cc共现程度共现程度

越大越大

A BC D

t~t

c ~c

))()()((

)(),(

22

DCBADBCA

CBADNct

++++−=χ

),()()( 2

1

2i

m

iiAVG ctcPt χχ ∑

=

=

)},({max)( 21

2i

miMAX ctt χχ ==

))((log

)(

)|(log

)()(

)(log),(

BACA

NA

tP

ctP

cPtP

ctPctI

++×==∧=

∑=

=m

iiiAVG ctIcPtI

1

),()()( ),()(max)( 1 iimiMAX ctIcPtI ==

特征选择特征选择 (4)(4)

Robertson & Sparck JonesRobertson & Sparck Jones公式公式

其他其他– Odds: Odds: – Term Strength: Term Strength:

)|(

)|(log),(

j

j

j

jj ctP

ctP

tc

tcctRSJ ==

的概率中出现非

的概率中出现

类文档个数的为出现 jj

jj ctr

ctP

ctPrctTSV ,

)|(

)|(log*),( =

)|(log))|(1log(

))|(1log()|(log

jj

jj

ctPctP

ctPctP

−−

是相关的两篇文档yxxtytP ,),|( ∈∈

特征选择方法的性能比较特征选择方法的性能比较 (1)(1)

特征选择方法的性能比较特征选择方法的性能比较 (2)(2)

特征选择方法的性能比较特征选择方法的性能比较 (3)(3)

YangYi-ming

特征重构特征重构

隐性语义索引隐性语义索引 (LSI)(LSI)– 奇异值分解奇异值分解 (SVD)(SVD) :: A=(aA=(aijij)=U)=UΣVΣVTT

» AAM*NM*N, U, UM*RM*R, Σ, ΣR*RR*R(( 对角阵对角阵 )), , VVN*RN*R,, R<=MIN(M,N)R<=MIN(M,N)

– 取取 ΣΣ 对角上的前对角上的前 kk 个元素,得个元素,得 ΣΣkk

» AAkk== UUkkΣΣkkVVkkTT, , UUkk 由由 UU 的前的前 kk列组成,列组成, VVkk 由由 VV 的前的前 kk列组列组

成成

» 文档文档 dd 在在 LSILSI 对应的向量对应的向量 d’=dd’=dTTUUkkΣΣ-1-1

– 在已有的在已有的 LSILSI 中增加新的中增加新的 wordword 或者或者 documentdocument ,不,不

需要重新计算需要重新计算» Folding-in Folding-in 方法方法

» SVD-updatingSVD-updating 方法方法

自动文本分类方法自动文本分类方法

RocchioRocchio 方法方法 Naïve BayesNaïve Bayes kNNkNN 方法方法 决策树方法决策树方法 decision treedecision tree Decision Rule ClassifierDecision Rule Classifier The Widrow-Hoff ClassifierThe Widrow-Hoff Classifier 神经网络方法神经网络方法 Neural NetworksNeural Networks 支持向量机支持向量机 SVMSVM 基于投票的方法基于投票的方法 (voting method)(voting method)

RocchioRocchio 方法方法

可以认为类中心向量法是它的特例可以认为类中心向量法是它的特例– RocchioRocchio公式公式

– 分类分类

C

Ci ij

C

Ci ijjcjc

nn

x

n

xww

−−+= ∑∑ ∉∈ γβα'

类 C 中心向量的权重 训练样本中正例个数 文档向量的权重

∑∑∑ ⋅

=⋅=22c xw)(

ijcj

ijcjiic

xw

xwdCSV

Naïve BayesNaïve Bayes

)()|()(

)()|()|( jji

i

jjiij cPcdP

dP

cPcdPdcP ∝=

)()|()(

)()|()|( jji

i

jjiij cPcdP

dP

cPcdPdcP ∝=

,独立性假设∏=

=r

kjikji cwPcdP

1

)|()|(

参数计算

Bayes公式

∑∑=

++

≈==

1

)(||

)(1

)(

)()(

kk

j

kk

jjj cNc

cN

cN

cNccP

总文档个数

的文档个数

∑++

≈=

kkj

ij

j

jiji N

N

c

cwcwP

不同词个数的次数类所有文档中出现的词在

类别文档中出现的次数在 1)|(

kNNkNN 方法方法

一种一种 Lazy Learning, Example-based Lazy Learning, Example-based LearningLearning

新文本

k=1, A 类k=4 , B类k=10 , B类

带权重计算,计算权重和最大的类。 k常取 3 或者 5 。

决策树方法决策树方法

构造决策树构造决策树– CARTCART– C4.5 (C4.5 (由由 ID3ID3发展而来发展而来 ))– CHAIDCHAID

决策树的剪枝决策树的剪枝 (pruning)(pruning)

Decision Rule LearningDecision Rule Learning

wheat & form WHEATwheat & commodity WHEAT

bushels & export WHEATwheat & agriculture WHEAT

wheat & tonnes WHEATwheat & winter & ~soft WHEAT

(粗糙集 )RoughSet

逻辑表达式 (AQ11 算法 )

学习到如下规则

The Widrow-Hoff ClassifierThe Widrow-Hoff Classifier

∑∑∑ ⋅

=⋅=22c xw)(

ijcj

ijcjiic

xw

xwdCSV

Online Learning

ijit

cjt xyww

cj)xw(2 ic

)()1( −⋅−=+ η

类 c 向量的第 j 个分量 xi 的第 j 个分量

Learning Rate

Target Value ( 0 or 1)

Neural NetworkNeural Network

.

.

.

.

.

c1

c2

cn

……

Input Layer

Hidden Layer

Output Layer

BackpropagationBackpropagation

支持向量机支持向量机

Support Vector MachineSupport Vector Machine

Support Vector

Optimal Separating Hyperplane

基于投票的方法基于投票的方法

BaggingBagging 方法方法– 训练训练 RR 个分类器个分类器 ffii ,分类器之间其他相同就是参数,分类器之间其他相同就是参数

不同。其中不同。其中 ffii 是通过从训练集合中是通过从训练集合中 (N(N篇文档篇文档 ))随机随机

取取 (( 取后放回取后放回 )N)N 次文档构成的训练集合训练得到的次文档构成的训练集合训练得到的。。

– 对于新文档对于新文档 dd ,用这,用这 RR 个分类器去分类,得到的最个分类器去分类,得到的最多的那个类别作为多的那个类别作为 dd 的最终类别的最终类别

BoostingBoosting 方法方法– 类似类似 BaggingBagging 方法,但是训练是串行进行的,第方法,但是训练是串行进行的,第 kk个分类器训练时关注对前个分类器训练时关注对前 k-1k-1 分类器中错分的文档分类器中错分的文档,即不是随机取,而是加大取这些文档的概率,即不是随机取,而是加大取这些文档的概率

– AdaBoostAdaBoost– AdaBoost MHAdaBoost MH

文本分类的评估指标文本分类的评估指标

分类方法的评估分类方法的评估 邻接表邻接表

每个类每个类– Precision=a/(a+b), Recall=a/(a+c), fallout=b/(b+d)=false alarm rate, Precision=a/(a+b), Recall=a/(a+c), fallout=b/(b+d)=false alarm rate,

accuracy=(a+d)/(a+b+c+d), error=(b+c)/(a+b+c+d)=1-accuracy, miss accuracy=(a+d)/(a+b+c+d), error=(b+c)/(a+b+c+d)=1-accuracy, miss rate=1-recallrate=1-recall

– F=(F=(ββ22+1)p.r/(β+1)p.r/(β22p+r)p+r)– Break Even Point, BEPBreak Even Point, BEP, p=r, p=r 的点的点

– 如果多类排序输出,采用如果多类排序输出,采用 interpolated 11 point average precisioninterpolated 11 point average precision

所有类:所有类:– 宏平均宏平均 :: 对每个类求值,然后平均对每个类求值,然后平均

– 微平均微平均 :: 将所有文档一块儿计算,求值将所有文档一块儿计算,求值

dc标 NO

ba标 YES

错误真正对的

其他分类方法其他分类方法 Regression based on Least Squares Fit (1991) Nearest Neighbor Classification (1992) * Bayesian Probabilistic Models (1992) * Symbolic Rule Induction (1994) Decision Tree (1994) * Neural Networks (1995) Rocchio approach (traditional IR, 1996) * Support Vector Machines (1997) Boosting or Bagging (1997)* Hierarchical Language Modeling (1998) First-Order-Logic Rule Induction (1999) Maximum Entropy (1999) Hidden Markov Models (1999) Error-Correcting Output Coding (1999) ...

参考文献参考文献

文献及其他资源文献及其他资源

Papers– K. Aas and L. Eikvil. Text categorisation: A survey. Technical report, Norwegian

Computing Center, June 1999 http://citeseer.nj.nec.com/aas99text.html– Xiaomeng Su , “ Text categorization” , Lesson Presentation– Yiming Yang and Xin Liu. 1999. "A re-examination of text categorization methods."

22ndAnnual International SIGIR http://www.cs.cmu.edu/~yiming/publications.html

– A Survey on Text Categorization, NLP Lab, Korean U.– 庞剑峰,基于向量空间模型的自反馈的文本分类系统的研究与实现,中科院计

算所硕士论文, 2001 – 黄萱菁等,独立于语种的文本分类方法,中文信息学报, 2000 年第 6 期

Software:– Rainbow http://www-2.cs.cmu.edu/~mccallum/bow/– BoosTexter http://www.research.att.com/~schapire/BoosTexter/– TiMBL http://ilk.kub.nl/software.html#timbl– C4.5 http://www.cs.uregina.ca/~dbd/cs831/notes/ml/dtrees

/c4.5/tutorial.html CorpusCorpus

– http://www.http://www.cscs..cmucmu..eduedu/~/~textlearning textlearning

谢谢!谢谢!

Wangbin@ict.ac.cnWangbin@ict.ac.cn

http://mtgroup.ict.ac.cn/~wangbinhttp://mtgroup.ict.ac.cn/~wangbin

Recommended