基于TF-IDF的新闻标签提取

基于TF-IDF的新闻标签提取

1. 新闻标签

  新闻标签是一条新闻的关键字,可以由编辑上传,或者通过机器提取。新闻标签的提取主要用于推荐系统中,所以,提取的准确性影响推荐系统的有效性。同时,对于将标签展示出来的新闻网站,标签的准确性也会影响用户体验。

2. 新闻标签提取算法

  新闻首先是一段文本,新闻的标签首先是这一段文本的关键字。在文本关键字提取当中,TD-IDF是首先可以想到的算法。TF-IDF算法的优点是:简单快速,结果比较符合实际情况;缺点是,单纯以“词频”衡量一个词的重要性,不够全面,而且重要的词可能出现次数少。

直接将新闻文本利用TF-IDF出来的结果往往包含比较宽泛,不能够直接使用。将TF-IDF输出的结果集中的每个关键词添加一个标签权重。权重计算方式为 TF-IDF的权重乘标签热度权重,其中,标签热度权重可以通过爬取海量历史新闻的标签,统计标签出现次数,以标签次数作为热度的权重。
如果想要精益求精的话,可以不简单统计次数相加,而是带上时间属性,给近期时间一个较大的值,久的时间一个小的值。

3. 新闻标签提取流程

a) 统计海量新闻标签,并得到标签热度;
b)利用TF-IDF得新闻文本关键字集(取top20);
c) 将20个关键字的权重乘对应标签热度 Ti = TFIDFi * (1 + HOTi) 其中,加一是为了避免关键字不在标签字典里导致结果为0;
d) 根据计算结果重新排序,取前5个关键字;

4. 实验结果

最后简单验证了一下,利用jieba完成TF-IDF,再python计算。
验证了一条财经新闻 链接为:http://finance.caijing.com.cn/20170607/4281440.shtml
网站新闻的关键字为: 要么, 房贷, 业务, 银行
程序得到关键字为:房贷,贷款,银行,利率,流动性
效果比较:显然,程序得到的标签更为准确。

上一篇:Gradle命令详解与导入第三方包--快速打包


下一篇:Java Web学习笔记--JSP for循环