前文说到使用统计学习方法进行文本分类就是让计算机自己来观察由人提供的训练文档集,自己总结出用于判别文档类别的规则和依据。理想的结果当然是让计算机在理解文章内容的基础上进行这样的分类,然而遗憾的是,我们所说的“理解”往往指的是文章的语义甚至是语用信息,这一类信息极其复杂,抽象,而且存在上下文相关性,对这类信息如何在计算机中表示都是尚未解决的问题(往大里说,这是一个“知识表示”的问题,完全可以另写一系列文章来说了),更不要说让计算机来理解。
利用计算机来解决问题的标准思路应该是:为这种问题寻找一种计算机可以理解的表示方法,或曰建立一个模型(一个文档表示模型);然后基于这个模型,选择各方面满足要求的算法来解决。用谭浩强的话说,程序,就是数据+算法。(啥?你不知道谭浩强是谁?上过学么?学过C么?这捣什么乱?)
既然文本的语义和语用信息很难转换成计算机能够理解的表示形式,接下来顺理成章的,人们开始用文章中所包含的较低级别的词汇信息来表示文档,一试之下,效果居然还不错。
统计学习方法进行文本分类(以下就简称为“统计学习方法”,虽然这个方法也可以应用到除文本分类以外的多个领域)的一个重要前提由此产生,那就是认为:文档的内容与其中所包含的词有着必然的联系,同一类文档之间总存在多个共同的词,而不同类的文档所包含的词之间差异很大[1]。
进一步的,不光是包含哪些词很重要,这些词出现的次数对分类也很重要。
这一前提使得向量模型(俗称的VSM,向量空间模型)成了适合文本分类问题的文档表示模型。在这种模型中,一篇文章被看作特征项集合来看,利用加权特征项构成向量进行文本表示,利用词频信息对文本特征进行加权。它实现起来比较简单,并且分类准确度也高,能够满足一般应用的要求。[5]
而实际上,文本是一种信息载体,其所携带的信息由几部分组成:如组成元素本身的信息(词的信息)、组成元素之间顺序关系带来的信息以及上下文信息(更严格的说,还包括阅读者本身的背景和理解)[12]。
而VSM这种文档表示模型,基本上完全忽略了除词的信息以外所有的部分,这使得它能表达的信息量存在上限[12],也直接导致了基于这种模型构建的文本分类系统(虽然这是目前绝对主流的做法),几乎永远也不可能达到人类的分类能力。后面我们也会谈到,相比于所谓的分类算法,对特征的选择,也就是使用哪些特征来代表一篇文档,往往更能影响分类的效果。
对于扩充文档表示模型所包含的信息量,人们也做过有益的尝试,例如被称为LSI(Latent Semantic Index潜在语义索引)的方法,就被实验证明保留了一定的语义信息(之所以说被实验证明了,是因为人们还无法在形式上严格地证明它确实保留了语义信息,而且这种语义信息并非以人可以理解的方式被保留下来),此为后话。

前文说到(就不能不用这种老旧的说法?换换新的,比如Previously on "Prison Break",噢,不对,是Previously on Text Categorizaiton……)统计学习方法其实就是一个两阶段的解决方案,(1)训练阶段,由计算机来总结分类的规则;(2)分类阶段,给计算机一些它从来没见过的文档,让它分类(分不对就打屁屁)。

下一章就专门说说训练阶段的二三事。