基于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
网站新闻的关键字为: 要么, 房贷, 业务, 银行
程序得到关键字为:房贷,贷款,银行,利率,流动性
效果比较:显然,程序得到的标签更为准确。

基于TF-IDF的新闻标签提取的更多相关文章

  1. 基于TF/IDF的聚类算法原理

        一.TF/IDF描述单个term与特定document的相关性TF(Term Frequency): 表示一个term与某个document的相关性. 公式为这个term在document中出 ...

  2. Elasticsearch由浅入深(十)搜索引擎:相关度评分 TF&IDF算法、doc value正排索引、解密query、fetch phrase原理、Bouncing Results问题、基于scoll技术滚动搜索大量数据

    相关度评分 TF&IDF算法 Elasticsearch的相关度评分(relevance score)算法采用的是term frequency/inverse document frequen ...

  3. TF/IDF(term frequency/inverse document frequency)

    TF/IDF(term frequency/inverse document frequency) 的概念被公认为信息检索中最重要的发明. 一. TF/IDF描述单个term与特定document的相 ...

  4. 信息检索中的TF/IDF概念与算法的解释

    https://blog.csdn.net/class_brick/article/details/79135909 概念 TF-IDF(term frequency–inverse document ...

  5. 使用solr的函数查询,并获取tf*idf值

    1. 使用函数df(field,keyword) 和idf(field,keyword). http://118.85.207.11:11100/solr/mobile/select?q={!func ...

  6. TF/IDF计算方法

    FROM:http://blog.csdn.net/pennyliang/article/details/1231028 我们已经谈过了如何自动下载网页.如何建立索引.如何衡量网页的质量(Page R ...

  7. tf–idf算法解释及其python代码实现(下)

    tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...

  8. tf–idf算法解释及其python代码实现(上)

    tf–idf算法解释 tf–idf, 是term frequency–inverse document frequency的缩写,它通常用来衡量一个词对在一个语料库中对它所在的文档有多重要,常用在信息 ...

  9. 文本分类学习(三) 特征权重(TF/IDF)和特征提取

    上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的 ...

随机推荐

  1. java多线程基本概述(七)——join()方法

    在很多情况下,主线程创建并启动子线程,如果子线程中有大量的耗时运算,主线程将早于子线程结束,如果想让主线程等待子线程结束后再结束,那么我们可以使用join()方法.调用join()方法的意思是当前线程 ...

  2. 1.6 在WHERE子句中引用取别名的列

    如下查询,会抛出错误:mysql> select sal as salary, comm as commission from emp where salary < 5000;ERROR ...

  3. CF #356 div1 A. Bear and Prime 100

    题目链接:http://codeforces.com/contest/679/problem/A CF有史以来第一次出现交互式的题目,大致意思为选择2到100中某一个数字作为隐藏数,你可以询问最多20 ...

  4. IDEA第二章----配置git、tomcat(热部署)、database,让你的项目跑起来

    第一节:下载git客户端,整合idea 由于博主公司用的git版本管理,所以本系列都是基于git版本工具的,当然SVN与git配置类似.git同样支持安装版和解压版,支持各种操作系统,我这里下载的是W ...

  5. js 时间时间戳互换

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  6. codeforces 757F Team Rocket Rises Again

    链接:http://codeforces.com/problemset/problem/757/F 正解:灭绝树. mdzz倍增lca的根节点深度必须是1..我因为这个错误调了好久. 我们考虑先求最短 ...

  7. [ext4]空间管理 - 与分配相关的关键数据结构

     在块分配机制中,涉及到几个主要的数据结构. 通过ext4_allocation_request描述块请求,然后基于块查找结果即上层需求来决定是否执行块分配操作. 在分配过程中,为了更好执行分配, ...

  8. CSS vertical-align属性

    之前也经常用到vertical-align进行垂直居中对齐,突然发现其中的一些属性值根本就没使用过,也不清楚效果,将今天的研究成果记录下. vertical-align 属性 下表是w3c上列举的属性 ...

  9. 蓝桥杯-循环节长度-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  10. iOS-SQLite(FMDB)

    在已经存在的表中,添加字段,更新表结构 /** Test to see if particular column exists for particular table in database @pa ...