以下文章来自知乎,作者Bill Tong。Bill Tong,上海交通大学管理科学与工程博士,曾出版《在线文本数据挖掘》一书。
1
概念
关键词提取(Key Word Extraction)说白了就是对文章进行总结,从一篇文章中抽取出比较重要的一些词汇,帮助阅读者高效率地了解文章的大意。尤其是对互联网环境下,每天大量的信息涌出,若不加以预处理,则会成为网页浏览者的负担。关键词提取技术可以非常简单,也可以非常复杂,但是其任务框架都一样,输入一个文章,输出几个关键词。当然,也可以把关键词提取任务适当扩展成关键词组提取,关键字提取,关键句子提取,关键段落(只适用于特别长的文档,如博士论文)....这些技术做的事儿都差不多... 那么,给定一篇文章,关键词是怎么抽取出来的呢?
当前关键词提取算法主要可以分成两个流派:
本文提供的是一种比较大的分类方法,也有很多reivew的文章分成3类、4类、5类种种,都不重要,关键把思路理清就好。
2
Statistical流派
统计流派,其思路是,先定义一个关键词指标,然后为文章中所有词汇计算关键词指标,把词汇按照指标从大到小排列,指标大的优先选为关键词。这种思路很简单,有点儿像班里选班长,老师说选学习成绩最好的同学当班长,那么选拔方法就是,先定义一个指标,比如考试总分,然后,给每个学生的语文、数学、物理成绩加总,排名,总分排第一的当班长(关键词)。当然,老师可以指定班里有任意多个班长,例如选K个班长,那么就是成绩排名前K个学生当班长。统计流派的关键在于,计算每个词汇的关键词指标,这个指标是根据词汇在文章中的表现统计并计算出来的,所以有Statistical其名。
在对关键词进行提取时,可以有多种指标,影响力最大的两个是:TF-IDF指标和 PageRank指标。TF-IDF基于词袋模型(Bag-of-Words),把文章表示成词汇的集合,由于集合中词汇元素之间的顺序位置与集合内容无关,所以TF-IDF指标不能有效反映文章内部的词汇组织结构。PageRank指标,基于网络模型(Graph Model),把文章表示成网络的结构,网络中的节点表示词汇,节点之间的边为词汇之间的位置邻接关系,网络结构比集合结构包含信息多,考虑了文章内词汇的顺序,所以PageRank指标一般比TF-IDF指标表现更好。
3
Rule Based流派
规则流派,其思路是,将关键词提取任务,定义为一个对词汇进行二元分类的任务。即给定一个词汇,要么是关键词,要么不是关键词,对其分类,是关键词为1,不是就是0。那么,关键词提取问题就变成了一个预测问题。预测问题,需要一个预测函数,这个函数就是规则,给定词汇,获得该词汇的特征,然后预测该词汇是否为关键词 。
规则可以人工指定,也可以通过机器学习(Machine Learning)的方法获得。人工指定规则,一般比较难,所以大家就想着让程序自己去获得规则,即通过机器学习。机器学习的方法相对省脑子,但是费体力,要手工标关键词,然后把标记过的样本扔到模型里去把规则给学习出来。机器学习过程中,需要指定一些词汇特征,用于训练。这些特征,一般也不知道,所以也需要人工指定,比如,考虑词频、词汇包含的字数、词性、词汇的位置等等。现在深度学习成为关键词提取新的发展方向,但是深度学习的方法只能通过复杂网络的训练帮你抽象出词汇特征,但是还得依赖于人工标注。当然了,深度学习的一大好处在于,有一些模型支持对没标记的数据进行学习,可以优化词汇特征的表示。例如,自动编码器,深度玻尔兹曼机等。
4
总结
基于此,我想说的是,虽然关键词提取的算法很多,也很花哨,但是思路比较简单。另外,几乎没有论文回答最基础的一个问题,什么是关键词?为什么某些词应当被提取出来给阅读者看而另外一些词应当忽略?哪些词应当展示给用户看?太多研究关注算法的精度和效率,而忽视了关键词的本质内涵。关键词不是一个客观存在的东西,而本身也是人为标注的,因此模型的评估和优化,本身也是一个主观的东西。这种主观的东西,不应当以算法开发者的意志所左右,而是应当关注用户的需求,想用户之所想,把用户真正关心的那些关键词展示出来。因此,虽然关键词提取算法当前停滞不前,但是从用户的角度重新去考虑关键词的定义,把用户的特征与词汇的特征相结合,进行指标的构建(Statistical)或者规则模型的学习(Rule Based),或许是可以为关键词提取算法的未来研究提供新的发展契机。