论文部分内容阅读
随着互联网和信息技术的快速发展,门户类网站存储着各类别的数据并且数据的规模是成指数增长的。网站存储的大量信息都是以文本类的形式存储的,因此挖掘文本信息并且实现文本自动分类技术一直是数据挖掘领域近几年的热门方向。目前常用的文本分类技术都是基于单分类器并且研究水平已经达到一定的瓶颈,很难再取得较高突破。其中朴素贝叶斯算法实现比较简单,作为单分类器很可能造成欠拟合问题导致低方差高偏差。传统的朴素贝叶斯算法基于样本各特征间互相条件独立的假定前提,但现实中的数据常常不符合这个假设前提,该算法忽视了同义词对分类的间接影响,将同义词分别作为相互独立的词参与训练,这样就使得同义词的权重降低,潜在地影响分类器的性能。它通过提取权重高的词条作为特征向量表达文本特征,忽略了词条之间的顺序以及各自在文本中的表示的语义特征,这就导致大量有用的信息丢失。在进行文本分类时,特征向量常常是高维的且具有稀疏性,当有较多的低频词出现就不能充分利用语料信息,大大降低分类算法的效率。在具体业务领域,相对较小规模的训练数据和参差不齐的文本数据会使得训练数据分布不可靠。针对以上提出的单分类器问题,本课题在第一部分首先提出朴素贝叶斯集成AdaBoost-NB文本分类器,通过将提升算法和朴素贝叶斯相结合来提高分类器的性能。通过对提升算法AdaBoost优化权重更新方式进而来提高分类精度。传统的AdaBoost算法在进行训练时,每轮迭代的基分类模型的权值都是通过该轮的误差率来计算获得的。在每轮训练中,所有分类错误的实例都是以相同的因子加权使其权值增大。新的权重分配是以每个分类错误实例分错的概率去决定加权因子的具体值,分类错误概率大的加权因子就较大,分类错误概率小的加权因子就越小。本课题通过改进样本的权重来提高基分类器的多样性从而训练出更合适的基分类器。这种分类器能起到减小训练迭代的次数和降低噪音干扰等目的,来进一步提高分类性能。本课题第二部分工作提出了基于上下文语义的朴素贝叶斯文本分类器(Context Semantic-based Naive Bayesian Text Classifier,CSNB),主要是针对朴素贝叶斯分类模型忽略同义词以及训练样本参差不齐、文本高维稀疏等问题进行改进。由于同义词需要人工定义和维护并且会耗费大量的时间成本,所以这部分工作提出同义词的引申概念相似词-相似词是在相同的上下文下最可能同时出现的词。相似词是通过语言模型的训练来动态获得,将相似词参与到分类模型的训练中,也就使得模型能融入上下文语义知识。在具体实现上通过神经概率语言模型word2vec的训练获取相似词,而word2vec模型和分类模型的训练需要使用两个语料分别进行训练,首先通过语言模型word2vec无监督训练收集的大量和分类数据集相关的语料来获取词向量,将分类模型中从训练数据集提取的特征词典用词向量表示并且通过聚类算法语义聚类成相似词词簇,最后合并相似词参与训练模型。结合本课题的应用,其中语义聚类选择层次聚类方法来实现。对文本稀疏问题的改进方法是遍历上面所说的相似词词簇,通过word2vec的结果获取簇中心的相似词扩充到词簇词典来实现动态构建词簇词典从而很大程度上完善了词典,优化了文本自身稀疏问题造成的影响。第三部分研究工作主要结合前两部分的研究内容,充分考虑了单分类器的局限性和朴素贝叶斯分类模型忽略同义词以及文本类数据稀疏等问题,提出了基于上下文语义的AdaBoost-NB文本分类器(Context Semantic-based AdaBoost-NB Text Classifier,CSAda-NB),该模型实际上是将集成后的朴素贝叶斯分类模型加入上下文语义因素。通过对比实验得出,CSAda-NB相比于AdaBoost-NB,其F1测试值提升了大约5%,这可以看出加入语义因素整体上提高了分类的准确率。同时通过CSAda-NB和AdaBoost-NB的F1测试值标准差因子对比,可以验证CSAda-NB模型借助于大量相关语料降低了因训练分类模型时语料的参差不齐而导致分类结果的不稳定。