Text Classification

36
文文文文文文 文文文文文文 文文文文文文文文文文文文 文文文文文文文文文文文文 2002 2002 12 12

Transcript of Text Classification

Page 1: Text Classification

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

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

20022002 年年 1212 月月

Page 2: Text Classification

报告内容报告内容 文本分类的定义和应用文本分类的定义和应用 文本分类的方法文本分类的方法 文本分类的评估指标文本分类的评估指标 参考文献和资源参考文献和资源

Page 3: Text Classification

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

Page 4: Text Classification

定义定义 给定分类体系,将文本分到某个或者某几个类给定分类体系,将文本分到某个或者某几个类

别中。别中。– 分类体系一般人工构造分类体系一般人工构造

» 政治、体育、军事政治、体育、军事» 中美关系、恐怖事件中美关系、恐怖事件

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

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

– 这里讲的分类主要基于内容这里讲的分类主要基于内容– 很多分类体系很多分类体系 : Reuters: Reuters 分类体系、中图分类分类体系、中图分类

Page 5: Text Classification

应用应用 垃圾邮件的判定垃圾邮件的判定 (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

Page 6: Text Classification

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

Page 7: Text Classification

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

– 结果容易理解结果容易理解» 足球 足球 and and 联赛联赛体育类体育类

– 费时费力费时费力– 难以保证一致性和准确性难以保证一致性和准确性 (40%(40% 左右的准确率左右的准确率 ))– 专家有时候凭空想象专家有时候凭空想象– 知识工程的方法建立专家系统知识工程的方法建立专家系统 (80(80 年代末期年代末期 ))

自动的方法自动的方法 (( 学习学习 ))– 结果可能不易理解结果可能不易理解– 快速快速– 准确率相对高准确率相对高 (( 准确率可达准确率可达 60%60% 或者更高或者更高 ))– 来源于真实文本,可信度高来源于真实文本,可信度高

Page 8: Text Classification

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

文本表示 训练过程

分类过程

训练文本训练文本

统计统计

统计量

特征表示特征表示

学习学习 分类器分类器

新文本新文本 문서特征表示문서特征表示类别

Page 9: Text Classification

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

预处理预处理– 去掉去掉 htmlhtml 一些一些 tagtag 标记标记– 禁用词禁用词 (stop words)(stop words) 去除、词根还原去除、词根还原 (stemming)(stemming)– (( 中文中文 )) 分词、词性标注、短语识别、…分词、词性标注、短语识别、…– 词频统计词频统计

» TFTFi,ji,j: : 特征特征 ii 在文档在文档 jj 中出现次数,词频中出现次数,词频 (Term Frequency)(Term Frequency)» DFDFii:: 所有文档集合中出现特征所有文档集合中出现特征 ii 的文档数目,文档频率的文档数目,文档频率 (Document Frequenc(Document Frequenc

y)y)

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

– 向量空间模型向量空间模型 降维技术降维技术

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

Page 10: Text Classification

文本表示文本表示 向量空间模型向量空间模型 (Vector Space Model)(Vector Space Model)

– MM 个无序标引项个无序标引项 tti i (( 特征特征 )) ,词根,词根 // 词词 // 短语短语 // 其他其他– 每个文档每个文档 ddjj 可以用标引项向量来表示可以用标引项向量来表示

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

– 权重计算,权重计算, NN 个训练文档个训练文档» AAM*NM*N= (a= (aijij))

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

Page 11: Text Classification

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

– 同义词:开心 高兴 兴奋同义词:开心 高兴 兴奋– 相关词相关词 clustercluster ,, word clusterword cluster :葛非:葛非 // 顾俊顾俊

N-gramN-gram ,, NN 元组:中国 国人 人民 民银 银行元组:中国 国人 人民 民银 银行 某种规律性模式:比如某个某种规律性模式:比如某个 windowwindow 中出现的中出现的固定模式固定模式

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

Page 12: Text Classification

权重计算方法权重计算方法 布尔权重布尔权重 (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

Page 13: Text Classification

特征选择特征选择 (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

Page 14: Text Classification

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

termterm 的某种熵:该值越大,说明分布越均匀,越有可的某种熵:该值越大,说明分布越均匀,越有可能出现在较多的类别中;该值越小,说明分布越倾斜,能出现在较多的类别中;该值越小,说明分布越倾斜,词可能出现在较少的类别中词可能出现在较少的类别中

相对熵相对熵 (not (not 交叉熵交叉熵 )) :也称为:也称为 KLKL距离距离 (Kullback-Leibler divergence) ,反映了文本类别的概率分布和在出现,反映了文本类别的概率分布和在出现了某个特定词汇条件下的文本类别的概率分布之间的了某个特定词汇条件下的文本类别的概率分布之间的距离,该值越大,词对文本类别分布的影响也大。距离,该值越大,词对文本类别分布的影响也大。

i

ii tcPtcPtEntropy )|(log)|()(

i i

ii cP

tcPtcPtCE

)(

)|(log)|()(

Page 15: Text Classification

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

χχ2 2 统计量统计量 (( 念念 xi)xi) :度量两者:度量两者 (term(term 和类别和类别 ))独立性的独立性的缺乏程度, 缺乏程度, χχ2 2 越大,独立性越小,相关性越大越大,独立性越小,相关性越大 ((若若 AAD<BC,D<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

Page 16: Text Classification

特征选择特征选择 (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 ,),|(

Page 17: Text Classification

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

Page 18: Text Classification

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

Page 19: Text Classification

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

YangYi-ming

Page 20: Text Classification

特征重构特征重构 隐性语义索引隐性语义索引 (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 方法方法

Page 21: Text Classification

自动文本分类方法自动文本分类方法 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)

Page 22: Text Classification

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

– RocchioRocchio 公式公式

– 分类分类

C

Ci ij

C

Ci ijjcjc

nn

x

n

xww

'

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

22c xw)(

ijcj

ijcjiic

xw

xwdCSV

Page 23: Text Classification

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

)|(

Page 24: Text Classification

kNNkNN 方法方法 一种一种 Lazy Learning, Example-based LearniLazy Learning, Example-based Learni

ngng

新文本

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

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

Page 25: Text Classification

决策树方法决策树方法 构造决策树构造决策树

– CARTCART– C4.5 (C4.5 (由由 ID3ID3发展而来发展而来 ))– CHAIDCHAID

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

Page 26: Text Classification

Decision Rule LearningDecision Rule Learning

wheat & form WHEATwheat & commodity WHEAT

bushels & export WHEATwheat & agriculture WHEAT

wheat & tonnes WHEATwheat & winter & ~soft WHEAT

(粗糙集 )RoughSet

逻辑表达式 (AQ11 算法 )

学习到如下规则

Page 27: Text Classification

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)

Page 28: Text Classification

Neural NetworkNeural Network

.

.

.

.

.

c1

c2

cn

……

Input Layer

Hidden Layer

Output Layer

BackpropagationBackpropagation

Page 29: Text Classification

支持向量机支持向量机Support Vector MachineSupport Vector Machine

Support Vector

Optimal Separating Hyperplane

Page 30: Text Classification

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

– 训练训练 RR 个分类器个分类器 ffii ,分类器之间其他相同就是参数不,分类器之间其他相同就是参数不同。其中同。其中 ffii 是通过从训练集合中是通过从训练集合中 (N(N篇文档篇文档 ))随机取随机取(( 取后放回取后放回 )N)N 次文档构成的训练集合训练得到的。次文档构成的训练集合训练得到的。

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

BoostingBoosting 方法方法– 类似类似 BaggingBagging 方法,但是训练是串行进行的,第方法,但是训练是串行进行的,第 kk 个个

分类器训练时关注对前分类器训练时关注对前 k-1k-1 分类器中错分的文档,即分类器中错分的文档,即不是随机取,而是加大取这些文档的概率不是随机取,而是加大取这些文档的概率

– AdaBoostAdaBoost– AdaBoost MHAdaBoost MH

Page 31: Text Classification

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

Page 32: Text Classification

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

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

ccuracy=(a+d)/(a+b+c+d), error=(b+c)/(a+b+c+d)=1-accuracy, miss rccuracy=(a+d)/(a+b+c+d), error=(b+c)/(a+b+c+d)=1-accuracy, miss rate=1-recallate=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

所有类:所有类:– 宏平均宏平均 :: 对每个类求值,然后平均对每个类求值,然后平均– 微平均微平均 :: 将所有文档一块儿计算,求值将所有文档一块儿计算,求值

真正对的真正对的 错误错误标标 YESYES aa bb标标 NONO cc dd

Page 33: Text Classification

其他分类方法其他分类方法 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) ...

Page 34: Text Classification

参考文献参考文献

Page 35: Text Classification

文献及其他资源文献及其他资源 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

Page 36: Text Classification

谢谢!谢谢!

[email protected]@ict.ac.cn

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