0. 写在前面
本文目的,利用TF-IDF算法抽取一篇文章中的关键词,关于TF-IDF,这里放一篇阮一峰老师科普好文 。
TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。(百度百科)
TF(Term Frequency)词频,某个词在文章中出现的次数或频率,如果某篇文章中的某个词出现多次,那这个词可能是比较重要的词,当然,停用词不包括在这里。
IDF(inverse document frequency)逆文档频率,这是一个词语“权重”的度量,在词频的基础上,如果一个词在多篇文档中词频较低,也就表示这是一个比较少见的词,但在某一篇文章中却出现了很多次,则这个词IDF值越大,在这篇文章中的“权重”越大。所以当一个词越常见,IDF越低。
当计算出TF和IDF的值后,两个一乘就得到TF-IDF,这个词的TF-IDF越高就表示,就表示在这篇文章中的重要性越大,越有可能就是文章的关键词。
而Python的scikit-learn包下有计算TF-IDF的API,我们就用这个来简单的实现抽取文章关键词。
这里用到的文本数据材料则是《冰与火之歌》的1-5季(冰歌粉哈哈哈)
1. 数据采集
文本数据来源《冰与火之歌》小说在线阅读网站的内容爬取,这个的网站很多,这里就不贴出是哪一个了
爬取的难度不大,爬取下来之后写入本地文件