APP下载

面向工业互联网资讯的中文关键词抽取

2020-03-05陈硕殷锋袁平

现代计算机 2020年3期
关键词:词频分词词典

陈硕,殷锋,袁平

(1.四川大学计算机学院,成都 610065;2.西南民族大学计算机科学与技术学院,成都610041;3.重庆第二师范学院数学与信息工程学院,重庆400067)

0 引言

关键词是一篇文章主题内容和思想的体现,关键词的抽取是文本分析处理领域的一项重要的工作,无论是信息检索、文本聚类、文本分类、文档摘要等任务中,还是在搜索引擎、新闻资讯推荐、图书检索和用户画像构建等应用中,都发挥着不可替代的作用[1-2]。本文面向工业互联网资讯信息推荐领域,提出了一种基于多特征的关键词抽取算法。在分词阶段,提出了两种扩充分词词典的方法,提高了分词的准确率,进而提高了关键词抽取的准确率;在候选词选取阶段,提出了候选词度量指标关键词覆盖率,通过这个指标,可以选出合适的候选词个数,在保证了候选词包含关键词的前提下,还能保证该算法的效率;在特征选取阶段,本文选取了6大类21种特征。根据中文文章结构总分总的特点,本文首次提出了尾词频这个特征。此外,在中文关键词抽取领域,首次利用短语向量和文档向量衡量词语与文档的相关性,并将其作为一个度量特征,加强了在关键词抽取时对语义特征的考虑;通过对候选关键词的子串进行去除,提高了关键词抽取算法的覆盖度。

1 关键词抽取

1.1 分词

进行关键词抽取,就首先需要进行分词。分词的准确率直接影响着关键词抽取的准确率。由于工业互联网是一个近些年新兴的一个学科,所以现有的分词工具中词典存在大量的未登录词。文献[4]表明,未登录词问题是导致分词不准确的一个很大的原因。所以,解决现有词典未登录词问题,可以有效提高分词的准确率,进而提高关键词抽取的准确率。本文采用增加自定义词典的方式扩充词库,进而减少未登录词。

本文的自定义词典从两个方面进行获取,一方面是从搜狗输入法网站上1https://pinyin.sogou.com/dict/下载了搜狗输入法词库中工业互联网相关领域词典,并将这些词典的词语提取出来作为一个自定义词典;另一方面是从爬虫抓取的21464篇工业互联网相关资讯中,根据特定表达规则进行词语的抽取出来作为另一个自定义词典。然后通过开源的jieba2https://github.com/fxsjy/jieba工具包作为分词工具,同时加大自定义词典的中词语的权重,保证专业词汇不被切分开来。

1.2 数据的标注

本文随机抽选出251篇工业互联网资讯文档进行关键词标注,每篇文档标注3至5个关键词,为了尽量保证关键词标注的准确与客观,让多人参与了关键词的标注、审查和修改。标注完成后,本文对关键词总数做了统计,共计995个关键词,平均每篇文档3.96个关键词。

1.3 候选词的抽取

基于特征的关键词抽取算法一般是把关键词抽取问题转化为一个词语是否是关键词的二分类问题,通过标注的数据训练出一个分类器。但如果将所有的词语都进行训练,会导致正负样本相差过大,进而导致无法训练出一个合适的分类器。因此,需要首先选出候选词,候选词的选取对最终分类器的效果有着巨大的影响[5]。本文分别采用基于TF-IDF的关键词抽取算法和基于TextRank的关键词抽取算法进行了候选词抽取,并采用关键词覆盖率(Coverage rate)对抽取效果进行了度量。关键词覆盖率等于候选词中关键词的个数除以关键词的总数,如公式(1)所示,其中An表示第n个文档候选词的集合,Bn表示第n个文档关键词的集合。

本文利用已经标注关键词的251篇文档,测试了上述两种算法覆盖率的情况,覆盖率与候选词个数直接的变化关系如图1所示,其中折线1和折线2分别表示基于TF-IDF的关键词抽取算法、基于TextRank的关键词抽取算法,折线3和折线4分别表示基于TF-IDF、基于TextRank的关键词抽取算法抽取的候选词加上标题词语的个数与其覆盖率变化情况。通过图1,我们可以观察到在本领域的情况下:基于TF-IDF的关键词抽取算法抽取的关键词加上标题词语的效果最好,并在候选词为20的时候,覆盖率趋于平稳。由此,我们采取基于TF-IDF的关键词抽取算法抽取20个词语,再加上标题中的词语一起作为候选词。

图1覆盖率与候选词个数的关系

1.4 特征的选取

本文主要选取了词频特征、长度特征、位置特征、语言特征、图特征和向量特征,共计6大类21种特征作为初步选择的特征。

词频类特征中包含词频、头词频、尾词频和TFIDF四种特征,词频表示这一个词在文档中出现的频率。一般而言,一个词出现的频率越高,表示这个词是关键词的概率也就越大;头词频表示一个词在文档的前1/4位置中出现的频率[6],在中文文章的结构中,文章一般为总分总结构,所以一篇文章中的不仅开头比较重要,结尾同样也是比较重要的,所以根据头词频,本文提出了尾词频,即一个词在当前文档后1/4处出现的频率;TF-IDF代表一个词的频率与逆文档频率的乘积[7],如公式(2)所示,其中逆文档频率表示一个词在所在的文档在所有文档中所占的比率。为了防止生僻词导致分母为0,本文对其进行了加1平滑,平滑后的逆文档频率如公式(3)所示,其中N表示文档总数的大小,N(x)表示包含词语x的文档数。

长度类特征也是关键词抽取的一个重要指标[8],本文选取词长、标题长度和文章长度三个特征作为关键词抽取中的长度类特征。

在一篇文档中,不同的位置出现关键词的概率是不同的[9]。通常来说,该文档的标题、首句和末句出现关键词的概率会更高[10],因此,本文选取了是否出现在标题、是否出现在头词、是否出现在尾词、是否出现在开头、是否出现在结尾、是否出现在中间、首次出现位置、首现句子位置这八个特征作为模型的位置类特征。同样的,词语的词性等语言特征也对关键词的抽取有着巨大的影响[11]。因此,本文选取了词语的词性、命名实体、该词是否出现在自定义词典中(是否为书名、会议名等)3个特征作为语言特征。

一直以来,如何度量关键词的语义与文档所表达的语义之间的关系是关键词抽取中的一个难点,文献[13]首次提出了利用词语的向量与文档的向量的相似度进行关键词抽取。本文收集2万余篇工业互联网资讯相关的文档,利用Gensim3https://radimrehurek.com/gensim训练出一个Doc2Vec模型和一个Word2Vec模型,迭代1000轮,其余参数采用默认参数,然后根据这两个模型分别计算文档的向量与词语的向量,最后将词语向量与文档的向量之间余弦相似度和欧氏距离作为两个向量方面的特征。

1.5 关键词的抽取

本文首先将251篇人工标注的文档随机筛选出175篇文档作为训练集,剩余的51篇文档作为测试集,如表1所示,通过此表的关键词平均数,我们可以观察出训练集和测试集的划分较为合理。然后根据每个候选词生成的6大类,共计21种特征,利用改进的随机森林算法[12]将训练集所有候选词的特征结合起来,训练出一个二分类器。

表1语料划分情况

1.6 覆盖度的提高

关键词抽取算法的效果可以通过可读性、相关性、重要性、覆盖度、一致性等指标进行体现[2]。首先,本文所有词语是未进行拼接,所以不存在可读性方面的问题;其次,本文采用的21种特征中不仅包含了词频类、位置类、长度类等常见特征,还包含了其语义特征,即通过词语向量与文档向量充分利用了候选词的语义与文档语义的相关信息。然后通过随机森林将这些特征进行结合并训练出一个分类器,保证了其相关性、重要性和一致性。在覆盖度方面,本文做了相似关键词的去除。即在一篇文档中,可能出现“工业互联网平台”和“工业互联网”都是关键词,因为“工业互联网”是“工业互联网平台”的子串,所以将“工业互联网”这个关键词舍去,然后根据分类器预测的概率再选择一个新的关键词,以提高覆盖度。

2 实验与分析

本文采用精确率P、召回率R和F值这3个指标作为关键词抽取算法的评价指标,精确率P、召回率R和F值的计算方法分别如公式(4)、公式(5)和公式(6)所示:

为了验证用户自定义词典对关键词抽取算法的影响,以及本文提出的面向工业互联网资讯的中文关键词抽取算法的效果,分别进行了实验与分析。

为了验证分词对关键词抽取算法的影响,本文在76篇测试集上进行了实验1.1和实验1.2:

实验1.1探究未加载用户自定义词典的情况下基于TF-IDF的关键词抽取算法的效果随抽选关键词个数的变化情况;

实验1.2探究加载了用户自定义词典的情况下基于TF-IDF的关键词抽取算法的效果随抽选关键词个数的变化情况。

实验1.1和实验1.2的结果如图2所示,根据图2可以观察到,加载了用户自定义词典后,该算法无论是精确率、召回率还是F值,都有了明显的提高,该实验证明了通过用户自定义词典提高分词的准确率,进而提高关键词抽取的准确率的方法是可取的。

为了验证本文提出的面向工业互联网资讯的中文关键词抽取算法的效果,本文利用76篇测试集文档对该算法进行了评估,同时采用pke4https://github.com/boudinfl/pke关键词抽取算法[13]、基于TF-IDF的关键词抽取算法和基于TextRank的关键词抽取算法作为参照实验,分别在精确率、召回率和F值三个方面进行对比,实验结果分别如图3(a-c)所示。本文提出的面向工业互联网资讯的中文关键词抽取算法的效果无论是精确率、召回率还是F值,都远高于其他三种算法。值得一提的是,pke关键词抽取算法的优势在于能够发现词组,由于在此实验中,在分词阶段便将词组当作一个词来处理了,所以pke算法在实验中的效果略低于基于TF-IDF算法。同时,也证明了中文关键词抽取中分词的重要性。

当关键词抽取个数与测试集中平均关键词个数一致时,即当关键词个数为4时,本文所提的算法的精确率、召回率和F值均比其他三种关键词抽取算法的效果要好。

图2分词对关键词抽取算法的影响

图3基于特征的关键词抽取算法评估

3 结语

本文主要研究了面向工业互联网领域的中文关键词抽取,提出了一种基于特征的关键词抽取算法。该算法通过建立用户自定义词典和通过特征组合有效地提高了关键词抽取的效果,同时还根据一个关键词是否为另一个关键词的子串进行过滤,进而提高该算法所抽取出的关键词的覆盖度。最终,经过试验证明该算法在精确率、召回率和F值三个指标上性能较于常用的算法都得到有效提高。在未来,可以继续探究不同特征以及不同特征间的组合对基于特征的关键词抽取算法的影响。

猜你喜欢

词频分词词典
分词在英语教学中的妙用
米兰·昆德拉的A-Z词典(节选)
米沃什词典
结巴分词在词云中的应用
结巴分词在词云中的应用
“函数及图象”错解词典
词频,一部隐秘的历史
漫画词典
汉语音节累积词频对同音字听觉词汇表征的激活作用*
聚焦现在完成进行时