要使得计算机能高效的处理真实文本,就必须找到一种理想的形式化表示方法,这种表示一方面能真实的反映文档内容(主题、领域或结构等),另一方面也要有对不同文档的区分能力。
目前文本表示通常采用 向量空间模型(vector space model, VSM) 。VSM是20世纪60年代末期由G. Salton等人提出的,是当前自然语言处理中常用的主流模型。
下面首先给出VSM设计的基本概念:
(1) 文档(document): 通常是文章中具有一定规模的字符串。文档通常我们也叫文本。
(2) 特征项 (feature term): 是VSM中最小的不可分的语言单元,可以是字、词、词组、短语等。一个文档内容可以被看成是它含有的特征项的集合。表示为一个向量:D(t1,t2,...,tn),其中tk是特征项。
(3) 特征项权重 (term weight): 对于含有n个特征项的文档D(t1,t2,..,tn),每一个特征项tk都依据一定的原则被赋予了一个权重wk,表示该特征相在文档中的重要程度。这样一个文档D可用它含有的特征项及其特征项所对应的权重所表示: D(t1=w1,t2=w2,...,tn=wn),简记为D(w1,w2,...,wn),其中wk就是特征项tk的权重。
一个文档在上述约定下可以看成是n维空间中的一个向量,这就是VSM的基本理论基础。
向量空间模型在计算文档间相似程度上应用广泛。我们可以通过向量的内积运算来做到这一点:
VSM模型为计算机处理文本分类打下了夯实的数学基础,但是一篇文本到底用哪些特征项来表示呢?比如在《 【文本分类】 概述 》文章中举的那篇NBA文本的例子,我们可以用所有标蓝的词语作为特征项来表示文本向量:
D = { 勒布朗-詹姆斯 , 德维恩-韦德 , 克 里斯-波什 , 新赛季 , 迈阿密热火 , 总冠军 , 热火 , 球队 , 卫冕冠军,湖人 , 凯尔特人 , 休赛期 , 联盟 }
而且这些特征项在文章中的权重是如何计算的呢? 关于这几个问题,我们都将在后面的特征提取方法和特征权重计算方法中讲到。
因为统计学习方法的理论基础(即文档的内容与其中所包含的词有着必然的联系,同一类文档之间总存在多个共同的词,而不同类的文档所包含的词之间差异很大。进一步的,不光是包含哪些词很重要,这些词出现的次数对分类也很重要)。使得
VSM成了适合文本分类问题的文档表示模型。在这种模型中,一篇文章被看作特征项集合来看,利用加权特征项构成向量进行文本表示,利用词频信息对文本特征进行加权。它实现起来比较简单,并且分类准确度也高,能够满足一般应用的要求。
而实际上,文本是一种信息载体,其所携带的信息由几部分组成:如组成元素本身的信息(词的信息)、组成元素之间顺序关系带来的信息以及上下文信息(更严格的说,还包括阅读者本身的背景和理解)而VSM这种文档表示模型,基本上完全忽略了除词的信息以外所有的部分,这使得它能表达的信息量存在上限,也直接导致了基于这种模型构建的文本分类系统(虽然这是目前绝对主流的做法),几乎永远也不可能达到人类的分类能力。后面我们也会谈到,相比于所谓的分类算法,对特征的选择,也就是使用哪些特征来代表一篇文档,往往更能影响分类的效果。
对于扩充文档表示模型所包含的信息量,人们也做过有益的尝试,例如被称为LSI(Latent Semantic Index潜在语义索引)的方法,就被实验证明保留了一定的语义信息(之所以说被实验证明了,是因为人们还无法在形式上严格地证明它确实保留了语义信息,而且这种语义信息并非以人可以理解的方式被保留下来),此为后话。
实际上:统计学习方法其实就是一个两阶段的解决方案,
(1)训练阶段,由计算机来总结分类的规则;(2)分类阶段,给计算机一些它从来没见过的文档,让它分类
。