第3l卷第2期 2014年2月 计算机应用与软件 Computer Applications and Software V01.31 No.2 Feb.2014
一种改进的朴素贝叶斯关键词提取算法研究 王锦波王莲芝 高万林 喻健 (中国农业大学信息与电气工程学院北京100083) 摘要 为了提高关键词提取的准确率,在利用文本中相同词的前后词共现频率识别组合词的基础上,提出一种基于改进词语统 计特征的朴素贝叶斯关键词提取算法。该算法选取词语的词长、词性、位置、TF IDF值作为词语的特征项,改进了统计词长、TF—IDF 和词频的方法,使长词和TF—IDF大的词具有更高的概率,而在统计词频时,考虑了词语之间包含与被包含的关系。然后,采用朴素 贝叶斯模型对标记好关键词的文本进行训练,获得各个特征项出现的概率,用来提取文本的关键词。实验表明,与传统基于词频和 决策树C4.5的关键词提取算法相比,采用该方法提取的关键词具有更高的准确率和可读性。 关键词 朴素贝叶斯 组合词识别 词语特征项 关键词提取 中图分类号TP391 文献标识码A DOI:10.3969/j.issn.1000—386x.2014.02.047 ON AN IMPROVED NAⅣE BAYESIAN KEYWORD EXTRACTION ALGORITHM Wang Jinbo Wang Lianzhi Gao Wanlin Yu Jian (College ofInformation and Electrical Engineering,China Agricultural University,Beijing 100083,China) Abstract In order to improve the keyword extraction accuracy,based on recognising the compound by using CO—occurrence frequency of the words before and after the identical words in text,we propose a naive Bayesian keyword extraction algorithm which is based O13.the improvement of statistical characteristics of words and expressions.The algorithm selects the word length,the part of speech,the position and the TF—IDF value of the words and expressions as the feature items of the words and expressions,improves the method of counting the word length,TF—IDF and word frequency,makes those words with longer length and higher TF—IDF value have higher probability.While counting the word frequency,it considers the relationship of containing and to be contained between the words.Then,it uses nai've Bayesian model to train the texts with the keywords marked and to get the occurrence probability of each feature item for extracting the keywords of text. According to the experiment,the keywords extracted by the algorithm in this paper have a higher precision rate and readability than by the traditional word frequency—based and decision tree CA.5-based keyword extraction algorithms. Keywords Naive Bayes Compound recognition Word and expression feature item Keyword extraction 0 引 言 关键词是指一篇文章中能展现文章内容的词眼,通过阅读 关键词,可以迅速获得文章的主旨大意,检索相关的文档,另外 关键词是生成自动摘要,进行文本聚类的重要方法。但是一般 文章中很少包含关键词,而手工生成关键词需要花费大量时间 和人力,并且随着文档数量的增加,手工提取越来越难以满足实 际的需求…。所以,如何自动生成关键词显得十分必要。 关键词自动提取技术是指用机器提取文本中最能表现文本 主题的词语。现有关键词提取方法主要有以下三种: (1)基于统计的方法,该方法一般将文章中出现频率较高 的词语作为关键词输出,比较简单,不需要大规模语料的训练, 但是由于一般只考虑词语出现的频率,所以准确率不高。 (2)基于自然语言理解的方法,即基于语义的关键词提取算 法,在文本统计信息的基础上,利用词语的语义特征提取关键词 J。 (3)基于机器学习的方法,Terney等人 使用CA.5决策树 和遗传算法作为分类器,开发了GenEx系统用来抽取文本的关 键词。Witten等人 使用朴素贝叶斯作为训练模型,对文本中 词语的特征值进行训练,开发了KEA系统,用来抽取关键词,但 是没有考虑到词性的影响。 本文在通过相同词语的前后词共现频率识别组合词的基础 上,选取词语的词性、词长、词语位置、TF—IDF值作为词语的特 征项。改进了词长、TF.IDF(词频和反文档频率的乘积)和词频 的统计方法,使长词和TF—IDF大的词具有更高的概率,统计词 频时,考虑了词语之间包含与被包含的关系。使用朴素贝叶斯 模型对词语的特征值进行训练,获取模型的概率值,然后从文本 中抽取关键词。 1算法框架 该算法分为训练阶段和测试阶段,训练阶段包括对文本进 行预处理,构建朴素贝叶斯模型,测试阶段即在文本预处理的基 础上,使用训练阶段构建的朴素贝叶斯模型提取文本的关键词, 收稿日期:2012—09—18。国家“十二五”科技支撑计划项目(201 2BAD35B02)。王锦波,硕士生,主研领域:人工智能,智能信息处理。王 莲芝,副教授。高万林,教授。喻健,硕士生。
第2期 王锦波等:一种改进的朴素贝叶斯关键词提取算法研究 l75 算法框架如图1所示。 训练 过程
测试 过程 圆 计算训练集关键词和非【 I统计训练集词语特 关键词特证项的概率『 I 征的值 获得朴素贝叶 将关键词和非关键词概率U计算测试文档中词语成为 比值排在前面的词输出l’l关键词和非关键词的概率 试集词 征的值 去停用词.只保留名 词.动词和英文词汇 统计测试文本中词语 相同词.被包含词.包 含词,前缀词.后缀词 2文本预处理 图1算法框架图 第一步 选用搜狗实验室的SogouC.reduced.2(1061127语料 库,分别从计算机、教育、体育等10个类别中选取长度为500字到 10(30字之间的文档200篇。100篇作为训练集,100篇作为测试集。 第二步使用中科院分词软件ICTCLAS2011 JNI对选取的 文本进行分词 。 第三步 组合词识别,组合词是指表达一个独立特定的语 义,却被分词系统错误地切分成多个词 J,识别方法如下: 若一个词在一篇文章中出现的频率大于等于两次,根据词 语和其相同词前后词的关系,识别组合词有以下三种情况: 1)词的前缀词(前面一个词)与其相同词的前缀词相同, 且该词不为动词,或者该词或其前缀词为单字词,则合成的新词 为该词前缀词加上该词。这样做是因为动词一般有独立的意 思,且名词加动词的组合词较少,而单字词成为组合词一部分的 可能性比较大。 2)词的后缀词(后面一个词)与其相同词的后缀词相同, 且该词后缀词不为动词,或者该词或其后缀词为单字词,则合成 的新词为该词加上其后缀词。 3)词的前缀词及后缀词与其相同词的前缀词及后缀词相 同,且该词的后缀词不为动词,或者该词或其后缀词是单字词, 则合成的新词为该词前缀词加上该词以及其后缀词。 最后将识别的新组合词去除相同的词,如果一个组合词包 含另一个组合词,则统计两个组合词在文档中出现的次数,将出 现多的组合词写入ICTCLAS2011自带的userdict.txt中,若出现 次数相同,则将较长的组合词写入userdict.txt中,因为长词能表 达更丰富的含义。 第四步通过扫描停用词表文件,将停用词删掉。因为关 键词一般是动词和名词,所以只保留文章中的动词、名词和英文 词语(在文章中的作用多类似于中文中的名词)。 第五步在识别组合词,去停用词的基础上,训练文档和测 试文档中每篇文章手工标记出五个关键词。 3模型设计 3.1朴素贝叶斯模型 朴素贝叶斯模型NBC(Navie Bayesian Mode1)是一种最广泛 的分类模型。需要的估计参数很少,对缺失数据不太敏感,算法 比较简单,而且速度快。 关键词提取是一个二分类问题,即一个词语是否属于关 键词。 每个词语用一个n维特征向量X= , :,…, }表示,描 述由属性A。,A ,…,A 对应样本的n个度量。c C={C ,c:} 是类别变量,C 表示词语属于关键词,C:表示词语不属于关键 词。为了简化计算,假设 , :,…, 相互独立,该假定称为类 条件独立,这也是朴素贝叶斯“朴素”的含义。一个词语属于分 类c 的朴素贝叶斯公式如下所示 : Ilp(xj 1 c ) P(c ) p(c } 。, ,…, )=上L— ——一(1) np( ) J=1 3.2特征值选取 本文通过统计训练文档中每个词语的特征项的概率来决定 测试文档中的词语抽取为关键词的概率。影响一个词语成为关 键词的特征项有很多,如:词语在一篇文档中出现的频率,出现 的位置,词性,长度,TF-IDF,互信息等。本文选取的特征项有以 下几个: 词性:用pa ̄speech表示,刘佳宾等人通过对从IEEE数据 库中获得的20万关键词进行分析统计后发现,名词或名词词组 占了关键词比率的85%E8 3。可见名词在关键词的统计中占有 相当的地位,而另一部分关键词则是动词。而形容词、副词、介 词、叹词等词语很少会成为关键词。所以本文在考虑关键词的 词性时,只考虑名词(包括英文词语)和动词。 词语长度:用len表示,钱爱兵等人_9 对2006年度CSSCI 关键词库中关键词的词长进行统计发现,4字、5字、6字的词合 计占到了关键词总量的78.42%。因为越长的词语表征的信息 就越丰富,所以在选择关键词时应选择较长的词语。 词语出现的位置:用loc表示,一般而言,出现在文章标题, 首段,首句,末段,超短段落中的词语更容易成为关键词。本文 中统计的位置均为词语首次出现在文章中的位置。用t表示文 章的标题,s表示短段落,即段落长度小于文章平均句子长度的 段落。第一段首句表示为pfsf(paragraph first sentence first),末 句表示为pfsl(paragraph first sentence last)。最后一段首句表示 为plsf(paragraph last sentence first),末句表示为plsl(paragraph last sentence last)。其它位置的句子都用段落加上所在段落中 的句子位置表示,如p2s2表示第二段第二句。 TF—IDF:用tf-idf表示,TF为词语在一篇文档中出现的频 率,因为词语之间的包含和被包含能简单地反映语义,所以本文 在统计一篇词语的TF时,若该词被其它词包含,则将该词的 TF加0.5,该词包含另一个词,该词的TF加0.3。IDF称为反文 档频率,即训练集总文档数除以包含该词语的文档数,再将得到 的商取对数得到。TF和IDF的乘积即为TF.IDF。 3.3模型训练 统计训练文档中词语总个数,关键词的总个数,非关键词总 个数。统计所有词语的词性(将英文词语看作名词)、词长、词 语位置和TF-IDF值。 (1)词性概率 本文方法只考虑名词和动词。 名词、动词属于关键词和非关键词的概率如式(2)、式(3)