文本表示综述及其改进
主要内容:
现阶段文本表示的主要技术
已有的工作对我们的启发
已有的改进工作的介绍
我们的改进(可行性?)
计算机如何解决文本分类问题?
一个中文文本表现为一个由汉字和标点符号组成的字符串,由字组成词,由词组成短语,进而形成句、段、节、章、篇等结构。
自然语言理解
借助统计学这个有力的工具
现阶段文本表示的主要技术
向量空间模型
特征项的粒度选择
预处理去除停用词
特征选择
特征项权重计算
特征重构
VSM
向量空间模型(Vector Space Model)Salton的概念
文档(Document)
特征项(Term)
特征项的权重(Term Weight)
向量空间模型(VSM)
相似度(Similarity)
特征项的粒度
字
简单高效,国家标准GB2312-80 中定义的常用汉字为6763个 .
表示能力比较差,不能独立地完整地表达语义信息。
词
词是最小的能够独立运用的语言单位 .
词的个数在10万个以上,面临复杂的分词问题
特征项的粒度(2)
短语特征
和词相比频率更低,表现力更强
概念特征
“爸爸”=“父亲”,在自动文摘领域很有帮助
N元组特征
“中国人民银行”
2元组: 中 中国 国人 人民 民银 银行 行
主要用于自动纠错.
特征项的粒度(3)
重复串特征?
分词程序的统计逼进
新的粒度?
David Lewis的结论:
单个word作为特征效果好于phrase和cluster of phrase以及cluster of words.
phrase的低频率和高同义性(synonymy)大大的影响其性能 ;(抵消了phrase的低歧义性的好处) 而cluster of words的效果不佳主要的原因应该还是训练集不够大的缘故 .
预处理去除停用词
虚词,助词出现频率高,对于表达意义的贡献却不大.
如:“着” 、“了” 、“过” 、“的” 、“地” 、“得”
统计词频时过滤掉这些停用词.
停用词无用吗?
红楼梦作者考证
李贤平 1987
利用120回中每一回用的47个虚字(之,其,或,亦……,呀,吗,咧,罢……;的,着,是,在,……;可,便,就,但,……,儿等)出现的频率进行聚类.
前80回基本聚成一类,后40回聚类情况较零散.
得出结论:
前80回与后40回之间有交叉。
前80回是曹雪芹据《石头记》写成,中间插入《风月宝鉴》,还有一些别的增加成分。
后40回是曹雪芹亲友将曹雪芹的草稿整理而成,宝黛故事为一人所写,贾府衰败情景当为另一人所写。
特征选择
目标
表达力强
频率较高
区分度高
合理的特征评价函数
消除干扰,提高分类准确率
特征空间降维,减少运算量
特征选择(2)
文档频次 (DF)
根据预先设定的阈值去除那些文档频次特别低和特别高的特征项。
合理的阈值往往难以得到 !
互信息(MI)
出现频率差异很大的特征项的互信息大小不具有可比性 !(即低频特征具有较高的MI)
同时,训练集中不同类别相差较大时,低频词也有较大MI.
实践证明,互信息方法是效果最差的特征选择方法!
特征选择(3)
χ2统计量:用于度量特征项w 和类别C 之间的独立性
对低频特征项的区分效果也不好 !
信息增益(IG):该特征项为整个分类所提供的信息量
将长文档和短文档视为等同.频率信息.
特征选择性能比较:
特征项权重计算
布尔权重
词频权重
TFIDF权重(为什么?)
权重计算(2)
TFC权重: 对TFIDF进行归一化
LTC权重:降低TF的作用(最常用)(不区分长短文章)
熵权重: (效果最好)
特征重构
LSI:(Latent Semantic Indexing)
一词多义和多词一义的等现象使得文本特征项向量中的不同分量之间互相关联.
LSI 方法 通过矩阵奇异值分解(SVD),将特征项空间中的文本矩阵转换成概念空间中的正交矩阵 ,概念空间中各个特征之间是相互独立的.
进行奇异值分解过程中信息损失过大,因此在自动文本分类问题中往往性能不佳!
VSM潜在的问题:
长文档(黄萱菁 )
VSM把文档看成是文档空间的一个向量 ,实践结果表明对长文档来说不适宜.长文档内容比较丰富,必须对文档长度进行正规化出现问题.解决的办法是对长文档进行分割。(如何定义“长”?)
特征项的独立性假设
如果我们把词看做特征项,那么词之间的独立性即意味着一个词的上下文信息对于这个词的信息没有任何作用!这显然是与人们的常识相违背的.
思路启发 1:特征项顺序关系 (卜东波)
中文文本由特征项的频率及相互的顺序表达 .考虑顺序信息,必然使用有向指针,使得文本变成复杂的图结构 .由于难以定义合理的距离函数描述两个由图结构表示的文本是否相似,因此不得不舍弃顺序信息 .
要尽可能的考虑特征项间的顺序关系.
思路启发 2:上下文信息贡献 (鲁松)
引入信息增益方法确定上下文各位置的信息量后,构造上下文位置信息量函数,最终通过多项式积分确定85%信息量的上下文边界,即汉语核心词语最近距离[-8,+9]和英文[-16,+13]位置之间的上下文范围。
要尽可能的考虑特征项的上下文贡献.
思路启发 3:分类器集成
分类器集成思想的提出:
不同的分类算法往往适用于不同的特定问题,没有最优的分类算法.
希望把不同的方法综合在一起,尽可能的减小错误的发生.
分类器集成(2)
Condorcet陪审团定律 (1785)
对于二分问题,假设每一个分类器的错误率都小于0.5,那么一组相互独立分类器采用投票方式得到的分类结果,其错误率将小于每个单个分类器的错误率.
设P=0.3,L=3,得到结果仅为0.216
设P=0.3,L=5,得到结果仅为0.163
…
设P=0.3,L=21,得到结果仅为0.026
分类器集成(3)
前提条件是要证明不同的分类器之间具有独立性(实际问题中常常转化为不同分类器的错误之间具有独立性). 困难!
实际情况中,分类器的准确性和独立性之间存在一个折中: 分类器越是准确,他们间独立性就越差!
启发:采用投票方式的多次判别有利于提高分类的准确性,(召回率??)但是分类器集成的方法却效果不明显.考虑用一个分类器对文档的不同部分分块判别,不同块间的错误相互独立是一个比较容易令人接受的假设.
考虑了特征项间关系(context)的分类算法的介绍:
最重要的是RIPPER算法(Cohen 1995)和sleeping-experts算法(Freund 1997).
两个算法的共同优点:
分类算法是线性或者是亚线性的;
文本的直接的表示方法:表示成有序特征项的链(完全不同于VSM的表示方式) ;
特征项的context信息影响分类结果;
context在分类器的训练过程同时生成,不需要额外的context生成算法.
(在对于短文本分类问题中,词频不具有统计信息,更适于规则判定)
RIPPER算法:
RIPPER算法是一个松弛的规则匹配算法,context就是不同的规则.
训练得到一个规则集合
规则集合可以看做是若干个规则的析取(或)表达式
每个规则是若干个特征项的合取(与)表达式
每个规则的特征项之间是没有次序的,每个特征项可以出现在文档的任何地方
规则总是和分类正相关的.
RIPPER算法的基本思想 :
训练过程分为两部分 :
根据贪心原则(greedy)采用启发式方法(heuristics)利用信息增益的手段构造一个最初的规则集合 ;
通过一个优化过程剪除(prune)规则集合并提高规则集合的准确性.
分类过程:
文档满足某个规则就认为它属于该类.
RIPPER算法的问题
训练过程复杂(启发式算法);
新的文本表示方法,忽略了测试文档中特征项的频率信息;
不考虑特征项在文档中的位置,无法利用多次判别提高分类的准确性了.
如何调整规则的次序?
sleeping-experts算法
sleeping-experts是一个严格的规则匹配算法,context称为稀疏短语(sparse phrase) .
定义:一个有序的N个词组成的链表,这N个词不需要连续出现因此称为稀疏短语.
每个稀疏短语就是一个expert,如果满足这个稀疏短语就是该expert做出了一个判定.
sleeping-experts算法的基本思想
同时满足的N个experts之间不仅仅是简单的voting方法,而是利用对不同experts的效果的估计调整其加权系数.
训练过程中,叠代依次生成稀疏短语,若该稀疏短语对该类是起正向作用,则扩大其加权系数;反之,缩小其加权系数.
Sleeping-experts算法的问题
Context定义过于严格?影响召回率?
算法的简化?没有特征选择,直接生成稀疏矩阵,使得experts的数目极多!
分类结果
我们的想法:
文章的倾向性判定.
基于context(相对位置)的分类方法改进.
文章的倾向性判定
利用核心词将文章分块,以多次判定.
准确率提高,(召回率为平均召回率?)
如何选取核心词?
表达力强,频率较高,区分度低(实词?)
方法:TFDF原则
参数调整:
对每一个“块”的分类方法
基于规则(更快)
基于中高频词构造规则.
松弛的规则,保证一定的召回率;
多次判定提高准确率.
SVM(更准)
对伊拉克战争的倾向性
手工建立训练集
希望SVM直接分类,基于规则分块分类,SVM分块分类结果比较.
基于context的分类方法
用特征的组合代替原有的特征
特征的组合可以反映特征间的序.
组合特征出现的频率将大大降低,不再具有统计意义,因此考虑将一个组合特征看做一个规则.
sleeping-experts算法的简化和改进
稀疏短语内部可以没有次序关系.
采用简单的voting方法,不考虑复杂的加权策略.