论文部分内容阅读
文本自动分类最初是应信息检索(Information Retrieval简称IR)系统的要求出现的。文本自动分类系统的目的就是对文本集进行有序组织,把相似的、相关的文本组织在一起。它作为知识的组织工具,为信息检索提供了更高效的搜索策略和更准确的查询结果。自动分类技术是在手工分类技术的基础上发展起来的。传统的信息手工分类技术已经相当成熟,但却不适于对Internet上时刻更新的信息进行处理。80年代“知识工程”(Knowledge Engineering)理论指导文本分类技术,它基于专家知识人工定义一组规则,然后根据这些规则在给定类别的情况下对文档进行分类。90年代,“机器学习”(Machine Learning)日渐成为文本分类的主流技术,它根据一组事先已经分类的文档,由一个诱导式的过程通过学习感兴趣的类别特征,构造一个文本自动分类器。因为在分类过程中没有领域专家的干预,节省了大量的人力,所以此方法在分类效率方面具有一定的优越性。本文中设计和实现的分类系统由五个主要模块组成:分词模块:该模块输入为中文文本,输出为文本分词表。它对中文文本进行分词,将中文文本分解成最小的能够独立活动的有意义的语言成分——“词”。并将分词结果制作成一张文本分词词汇表。VSM建模模块:模块输入为分词表,输出为词条字典。它对给出文本建立向量空间模型,并进行特征选取和维度压缩,生成字典。向量映射模块:模块输入为文本分词列表和词条字典,输出为文档向量表示。它按照词条字典把中文文本映射为向量表示形式。SVM学习模块:模块输入向量表示的文本训练集,输出为训练SVM分类器。它用SVM对向量和字典进行学习,生成学习模型。SVM分类模块:模块输入为SVM分类器和测试文本的向量表示,输出为分类标签。用SVM学习模块的训练得分类器对测试文本进行分类。本文分析了中文文本分类所要用到的算法和技术,主要包括中文分词、文本的向量表示、机器学习算法等方面的技术。然后描述了一个基于支持向量机学习方法的中文文本分类系统的基本组成并给出了一个系统的基本构架。在此基础上设计并实现了一个基于支持向量机的文本分类系统。同时详细描述了各个算法和技术在系统中的应用和改进。众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。中文分词技术属于自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法。从现阶段的实际情况来看,英文已经跨越了分词这一步,也就是说在词的利用上已经先我们一步,并且已经展现了良好的应用前景,无论是信息检索还是主题分析的研究都要强于中文,究其根本原因就是中文要通过分词这道难关,只有攻破了这道难关,我们才有希望赶上并超过英文在信息领域的发展,所以中文分词对我们来说意义重大。在中文分词方面,作者设计了一个基于最大匹配的回溯修正算法。这种算法修改了最大匹配算法,进行逐一解析,避免了最大词长的限制。它引入了回溯机制进行歧义消除。最后它引入了元组词库,用来识别非阿拉伯数字和外文姓名的识别。通过最大匹配、回溯和加入元组词库的方法,这种算法在一定程度上完成了歧义的消除和新词的识别。相比基本最大匹配算法,在分词效果上有了很大的提高。在文本的计算机表示方面,本文引用了空间向量模型。向量空间模型[11,12,13](Vector Space Model, VSM)的概念最早由Gerard Salton(1993)所提出。G.Salton(1993)认为,在信息检索的过程中,必须对信息本身进行分析以帮助检索之进行。这个分析的过程称为「建立索引(indexing)」。G.Salton对信息科学界最著名之贡献即在于自动索引理论。索引主要在表示文件的内容,同时给予索引词汇一定的权重(weight),以反应该词汇在文件内容识别的重要性与价值。建立索引的方式为:针对系统中所有的文件所构成之集合D,找出一组属性(A1,A2,…,Ak),使得在D中的某一文件Di能有一组属性值(ai1,ai2,…,aik)具有足够的信息以代表该文件,该组属性值就称为Di的索引向量。在目前大部分使用向量空间模型的文件信息检索系统中,属性大多代表某一个词汇或概念。而属性值则为该词汇或概念在文件中的统计信息一篇文档是由许多的词汇所组成,因此可以找出文件中有意义的索引词汇(即关键词汇)组合成文件向量,而此档向量即代表在向量空间模型中的一篇文件。在一个文件集中,每个索引词汇即代表空间中的一个维度,而每个维度上的值则代表该文件在这个维度上的重要程度。这个值称为索引词汇的“显着值(Term Significances)”或是“权重”,可以由计算文件的词汇统计数据而得到。从文本到向量表示需要进行文本的解析,在这个过程中,作者设计了一个文本解析流水线,用于异构的中文文本的解析和向量表示。它使用流式的处理方式,把各个解析步骤设计成一个处理器。将各个处理器顺序相连,生成文本解析流水线。文本通过流水线即完成文本的解析。在机器学习方面,作者选择了支持向量机(SVM)方法。基本SVM只能处理二类分类问题。本文分析了将多类分类问题转化成二类分类问题的四种方法,并对比了他们各自的优缺点。在最后实现系统中提供了两种策略将多类问题分解成二类问题。对应这两种问题分解策略,系统为其分别为其设计和实现了两种分类器的学习策略,并给出对应的分类器的判别策略。最后本文对系统进行了性能试验。中文文本分类至今没有一个公开的、相对标准的语料库可以用来做文本分类的实验。本文在第七章中用复旦大学的李荣陆博士在中文自然语言处理开放平台上公布的中文文本分类语料,在本系统上进行了文本分类实验,并对实验数据进行了分析和总结。