文本关键词提取小结

网上看到一篇文章总结了几个关键词抽取的算法(如何做好文本关键词提取?从达观数据应用的三种算法说起),想到这是一个很重要的课题还是有必要小结一下的,有不足之处大家可以讨论讨论

还有几个比较好的链接供大家参考

中文分词原理及工具

中文分词工具测评

自然语言处理入门(4)——中文分词原理及分词工具介绍


大体上关键词抽取算法分三种:有监督(二分类问题,需提供大量标注好的训练数据),半监督(提供少量的有标注的训练数据作为种子数据构建模型),无监督(一些方法自动发现关键词)

有监督的方法需要大量的标注数据,这一点比较耗费人工,所以还是能无监督就无监督

对英语来说可以直接考虑以词语为单位,但是汉语处理还需要先经过分词处理,分词的准确率影响后来的算法准确率,分词的package包括jieba(github上有很多),NLTK,standford的分词器,清华大学,哈尔滨工业大学,中科院计算所都有各自的分词工具等等,不一而足,当然也可以自己尝试使用HMM,CRF等模型自己写一个分词工具


基于统计的关键词抽取

利用文档中的词语统计信息抽取,比如基于词性,词频,逆文本频率等,还可以依据词在文档中出现的位置提取

词性:现在的关键词绝大多数为名词或动名词,因为这些结构有比较大的,不容易产生歧义的信息量,可与其他指标结合

词频:一般来说一个词在文档中出现的次数越多越重要,但是由于一些常用的没有意义的词也会出现多次,所以我们需要一个停用词(stop word)表在统计词频时先过滤掉停用词

词位置:不同的词在不同位置有不同的重要性,对维基百科来说,第一段是总结性内容所以其中的词比较能概括全文,靠后的词会细化某一方面的情况,不太反应整体的情况

TF-IDF:TF-IDF是一个在自然语言处理和信息检索领域常用的一个指标,用来数值化,连续化一个词在一个文档集中的统计特征,为避免分母出现零的情况往往需要做平滑处理

互信息:信息论中的一个概念,表示变量间相互依赖的度量,I(X;Y)

词跨度:词首次出现与最后一次出现的距离


基于复杂网络的关键词抽取

首先要建立文档的语言网络图,然后对图进行分析找到重要的短语或词

有了图模型后就可以使用graph的各种-ness特征对词语的重要性进行排序选择

关于这个内容可以在自动关键词抽取研究综述这篇文章中查找


基于图模型的关键词抽取

PageRank和TextRank:TextRank基于PageRank的思想提出,PageRank认为如果一个网页被链接的次数越多那么这个网页越重要,如果这个网页被一个很重要的网页链接了当然这个网页权值更大,最后经过一系列的证明可以得出多次迭代过后的PR值是一定收敛的,也就是说我们对一个网页有且只有一个PR值,唯一性由PR值计算过程的Markov性保证;TextRank则是取文档中的一个窗口,如果共现则视为有效


基于Topic Model的关键词抽取

LDA主题模型:LDA是用来抽取文档中的主题分布,需要对文档进行LSA(latent semantic analysis),在文章中不论是主题的分布还是单词的分布都满足Drichlet Distribution,对每篇文章假设有多个主题而不是一个,LDA的运算中刚快速使用了EM算法,后来使用效果更好的Gibbs Sampling;候选的关键词与抽取的主题计算相似度并进行排序,得到最终的关键词

July大神有一篇通俗理解LDA主题模型写得十分详细


最后,当然在实际应用中只考虑一种方法是不够的,借鉴集成学习(ensemble learning)的思想,我们可以同时使用多个关键词抽取算法的结果然后进行整合,再选取最合适的关键词


猜你喜欢

转载自blog.csdn.net/albertyzy/article/details/80534246