文章关键字抽取

直接通过词频矩阵通过kmeans的方法看起来不怎么靠谱. 计算量也不算小.
下面根据吴军<数学之美>中提到的方法来对文章进行余弦分类. 在进行余弦分类之前, 还有一件可以顺便去做的事情, 就是关键字提取 .

首先要得到每篇文章的词数 , 然后用该文章中的单词出现词数/总词数得到每个单词在这篇文章中的词频(TF). 词频在一定程度上反应了这个词在这篇文章中的重要程度
然后,需要为每个单词附上一个权重 , 表示这个词的的重要性. 最常用的权叫IDF , 公式为 log(D/Dw) 其中D表示文档数 , Dw表示出现这个单词的文档数.

这样每个文档可以表示为一系列的TF*IDF构成的向量.
计算两个文档向量的夹角,即可以得到两个文档的相似程度 . 夹角为0 , 则表示两片文档完全相似. 夹角为90度,则两篇文章毫不相关.
夹角的计算公式为 <x,y>/|x|*|y| .

有了前面的这些准备工作, 对每篇文章,我们建立了词频矩阵,然后基于词频矩阵,计算出TF * IDF ,  基于 TF * IDF 排序就可以得到这篇文章的关键字. 提取前两个个关键字 , 就可以对这篇文章有个大概的了解.

还是基于我博客中的644篇文章, 继续这个工作. 其中词频矩阵的建立在python中完成 , TF *IDF的建立以及关键词抽取在R中实现. 以下是抽取的结果:



本文地址: http://www.bagualu.net/wordpress/archives/5101 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注