TF-IDF 提取文本关键词

TF-IDF是一种统计方法,用于评估某个词语对于一个文本集或者一个语料库中的一个文件的重要程度,字词的重要性随着其在文本的出现次数成比例增加,但是又会随着其在语料库中的频率反比率下降,多为搜索引擎应用,作为文件和用户搜索的相关程度的度量和评级。

算法由二部分定义:

TF:词频。一个字词在一个文本中出现的频率。

TF = 某词在文章出现的次数/文章中总词数

但是在文章中出现最多的词语很可能是:“的”,“地”,“是”等词语,但是这样的词语对于文章的关键性没有什么具体的帮助,这样的词语称之为停用词。在文章中需要将停用词进行过滤,才可以进行评估。

经过上述分析,可以简单的知道文本提取关键词是怎么回事,但是对于停用词进行过滤之后,所剩下的词语的词频很可能是相同的:例如“中国”、“足球”、“出现”在经过过滤之后的出现次数是一样的,但是由生活交流可以了解到 ”出现“相对于"中国"、“足球”不是那么的常见,所以可以分析出,“出现”这个词语对于这篇文章的重要性较大,所以需要通过一个衡量权值进行调整,引入IDF。

IDF:逆向文档频率,对于词频赋予权重。对于比较常见的词语赋予较小的权重,而相对应不常见的词语赋予较大的权重,在进行IDF的计算的时候需要一个语料库。

IDF = log(语料库文档总数/(包含该词文档总数)+1)、包含该词文档总数可以为0。

TF-IDF算法:就是将TF值 乘以 IDF值得到一个最终的值,来表述词语对于文档的重要程度。最终的TF-IDF的值越大,说明这个词语对于文章越重要。

时间: 2024-08-05 13:45:47

TF-IDF 提取文本关键词的相关文章

使用sklearn进行中文文本的tf idf计算

Created by yinhongyu at 2018-4-28 email: [email protected] 使用jieba和sklearn实现了tf idf的计算 import jieba import jieba.posseg as pseg from sklearn import feature_extraction from sklearn.feature_extraction.text import TfidfTransformer from sklearn.feature_e

文本关键词提取算法

1.TF-IDF 2.基于语义的统计语言模型 文章关键词提取基础件能够在全面把握文章的中心思想的基础上,提取出若干个代表文章语义内容的词汇或短语,相关结果可用于精化阅读.语义查询和快速匹配等. 采用基于语义的统计语言模型,所处理的文档不受行业领域限制,且能够识别出最新出现的新词语,所输出的词语可以配以权重. 3.TF-IWF文档关键词自动提取算法 针对现有TF-IWF的领域文档关键词快速提取算法.该算法使用简单统计并考虑词长.位置.词性等启发性知识计算词权重,并通过文档净化.领域词典 分词等方法

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

上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的向量.这样每个文本在分词之后,就可以根据我们之前得到的词袋,构造成一个向量,词袋中有多少个词,那这个向量就是多少维度的了.然后就把这些向量交给计算机去计算,而不再需要文本啦.而向量中的数字表示的是每个词所代表的权重.代表这个词对文本类型的影响程度. 在这个过程中我们需要解决两个问题:1.如何计算出适

Elasticsearch学习之相关度评分TF&IDF

relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度 Elasticsearch使用的是 term frequency/inverse document frequency算法,简称为TF/IDF算法 Term frequency(TF):搜索文本中的各个词条在field文本中出现了多少次,出现次数越多,就越相关 Inverse document frequency(IDF):搜索文本中的各个词条在整个索引的所有文档中出现了多少次,出现的

55.TF/IDF算法

主要知识点: TF/IDF算法介绍 查看es计算_source的过程及各词条的分数 查看一个document是如何被匹配到的 一.算法介绍 relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度.Elasticsearch使用的是 term frequency/inverse document frequency算法,简称为TF/IDF算法 1.Term frequency 搜索文本中的各个词条在field文本中出现了多少次,出现次数越多,

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

tf–idf算法python代码实现 这是我写的一个tf-idf的核心部分的代码,没有完整实现,当然剩下的事情就非常简单了,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四句话,每句表示一个文档 copus=['我正在学习计算机','它正在吃饭','我的书还在你那儿','今天不上班'] 由于中文需要分词,jieba分词是python里面比较好用的分词工具,所以选用jieba分词,文末是jieba的链接.首先对文档进行分词: i

[Elasticsearch] 控制相关度 (四) - 忽略TF/IDF

本章翻译自Elasticsearch官方指南的Controlling Relevance一章. 忽略TF/IDF 有时我们不需要TF/IDF.我们想知道的只是一个特定的单词是否出现在了字段中.比如我们正在搜索度假酒店,希望它拥有的卖点越多越好: WiFi 花园(Garden) 泳池(Pool) 而关于度假酒店的文档类似下面这样: { "description": "A delightful four-bedroomed house with ... " } 可以使用

Jsoup提取文本时保留标签

使用Jsoup来对html进行处理比较方便,你可能会用它来提取文本或清理html标签.如果你想提取文本时保留标签,可以使用Jsoup.clean方法,参数为html及标签白名单: Jsoup.clean(html, new Whitelist().addTags("img").addAttributes("img", "data-original", "align", "alt", "height

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

tf–idf算法解释 tf–idf, 是term frequency–inverse document frequency的缩写,它通常用来衡量一个词对在一个语料库中对它所在的文档有多重要,常用在信息检索和文本挖掘中. 一个很自然的想法是在一篇文档中词频越高的词对这篇文档越重要,但同时如果这个词又在非常多的文档中出现的话可能就是很普通的词,没有多少信息,对所在文档贡献不大,例如‘的’这种停用词.所以要综合一个词在所在文档出现次数以及有多少篇文档包含这个词,如果一个词在所在文档出现次数很多同时整个