非主流自然语言处理——遗忘算法系列(四):关键词提取
来源:互联网 发布:首席数据官实战 编辑:程序博客网 时间:2024/05/02 05:07
一、前言
前文介绍了利用词库进行分词,本文介绍词库的另一个应用:词权重计算。
二、词权重公式
1、公式的定义
定义如下公式,用以计算词的权重:
2、公式的由来
在前文中,使用如下公式作为分词的依据:
任给一个句子或文章,通过对最佳分词方案所对应的公式进行变换,可以得到:
按前面权重公式的定义,上面的公式可以理解为:一个句子出现的概率对数等于句子中各词的权重之和。
权重公式前的负号是想使权重是个正值。
三、与TF-IDF的关系
词频、逆文档频率(TF-IDF)在自然语言处理中,应用十分广泛,也是提取关键词的常用方法,公式如下:
从形式上看,该公式与我们定义的权重公式很像,而且用途也近似,那么它们之间有没有关系呢?
答案是肯定的。
我们知道,IDF是按文档为单位统计的,无论文档的长短,统一都按一篇计数,感觉这个统计的粒度还是比较粗的,有没有办法将文本的长短,这个明显相关的因素也考虑进去呢,让这个公式更加精细些?
答案也是肯定的。
文章是由词铺排而成,长短不同,所包含的词的个数也就有多有少。
我们可以考虑在统计文档个数时,为每个文档引入包含多少个词这样一个权重,以区别长短不同的文档,沿着这个思路,改写一下IDF公式:
我们用所有文档中的词做成词库,那么上式中:
综合上面的推导过程,我们知道,本文所定义的词权重公式,本质上是tf-idf为长短文档引入权重的加强版,而该公式的应用也极为简单,只需要从词库中读取该词词频、词库总词频即可。
时间复杂度最快可达O(1)级,比如词库以Hash表存储。
关于TF-IDF更完整的介绍及主流用法,建议参看阮一峰老师的博文《TF-IDF与余弦相似性的应用(一):自动提取关键词》。
四、公式应用
词权重用途很广,几乎词袋类算法中,都可以考虑使用。常见的应用有:
1、关键词抽取、自动标签生成
作法都很简单,分词后排除停用词,然后按权重值排序,取排在前面的若干个词即可。
2、文本摘要
完整的文本摘要功能实现很复杂也很困难,这里所指,仅是简单应用:由前面推导过程中可知,句子的权重等于分词结果各词的权重之和,从而获得句子的权重排序。
3、相似度计算
相似度计算,我们将在下一篇文中单独介绍。
五、演示程序
在演示程序显示词库结果时,是按本文所介绍的权重公式排序的。
演示程序与词库生成的相同:
下载地址:遗忘算法(词库生成、分词、词权重)演示程序.rar
六、技术交流及业务
本系列文以介绍各项基础技术的实现为主,更多综合应用或项目开发,请移步入群或联系本人:
1、技术QQ群: 217947873
2、联系方式:
2.1、QQ:老憨 244589712
2.2、邮箱:gzdmcaoyc@163.com
- 非主流自然语言处理——遗忘算法系列(四):关键词提取
- 非主流自然语言处理——遗忘算法系列(一):算法概述
- 非主流自然语言处理——遗忘算法系列(二):大规模语料词库生成
- 非主流自然语言处理——遗忘算法系列(三):分词
- 非主流自然语言处理——遗忘算法系列(五):文本相似度
- (转)非主流自然语言处理——遗忘算法系列(二):大规模语料词库生成
- 自然语言处理——TF-IDF算法提取关键词
- 自然语言处理的主流技术(NLP)
- 自然语言处理工具NLTK——提取单词的主干
- 自然语言处理︱简述四大类文本分析中的“词向量”(文本词特征提取)
- 【自然语言处理系列】新词发现算法——转自matrix67博客
- 自然语言处理系列之TF-IDF算法
- 自然语言处理系列之Viterbi算法
- 基于TextRank算法提取关键词——Java实现
- 关键词提取算法
- C#--关键词提取算法
- 文本关键词提取算法
- 文章关键词提取算法
- 【Java并发编程实战】—–synchronized
- 设计模式(单例)
- 社交媒体中的谣言检测(A11, AAAI2015)
- Linux高精确的时序(sleep, usleep,nanosleep)
- Struts2:文件上传下载
- 非主流自然语言处理——遗忘算法系列(四):关键词提取
- iOS开发——支付宝Alipay
- 研究生开题报告
- ContentResolver().query的分组查询
- android ContentObserver和DatasetObserver的区别
- 同步、异步、互斥、信号量、阻塞、非阻塞
- 【Java并发编程实战】—–“J.U.C”:锁,lock
- JAVA中对存储过程的调用方法(引)
- JVM之类加载器(ClassLoader)基本介绍