词袋法TFIDF

2024-05-09 14:12
文章标签 词袋 tfidf

本文主要是介绍词袋法TFIDF,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Tf-idf⽂本特征提取

  • TF-IDF的主要思想是:如果某个词或短语在⼀篇⽂章中出现的概率⾼,并且在其他⽂章中很少出现,则认为此词或者短语具有很好的类别区分能⼒,适合⽤来分类。
  • TF-IDF作⽤:⽤以评估⼀字词对于⼀个⽂件集或⼀个语料库中的其中⼀份⽂件的重要程度。

1,公式:

  • 词频(term frequency,tf)指的是某⼀个给定的词语在该⽂件中出现的频率
  • 逆向⽂档频率(inverse document frequency,idf)是⼀个词语普遍重要性的度量。某⼀特定词语的idf,可以由总⽂件数⽬除以包含该词语之⽂件的数⽬,再将得到的商取以10为底的对数得到
    在这里插入图片描述
    最终得出结果可以理解为重要程度。
    举例:假如⼀篇⽂章的总词语数是100个,⽽词语"⾮常"出现了5次,那么"⾮常"⼀词在该⽂件中的词频就是5/100=0.05。
    ⽽计算⽂件频率(IDF)的⽅法是以⽂件集的⽂件总数,除以出现"⾮常"⼀词的⽂件数。
    所以,如果"⾮常"⼀词在1,0000份⽂件出现过,⽽⽂件总数是10,000,000份的话,
    其逆向⽂件频率就是lg(10,000,000 / 1,0000)=3。
    最后"⾮常"对于这篇⽂档的tf-idf的分数为0.05 * 3=0.15
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
import jiebadef cut_word(text):"""进行中文分词:“我爱北京天安门” -> "我 爱  北京 天安门":param text::return:"""return ' '.join(jieba.cut(text))def tfidf_demo():"""用TF-IDF的方法进行文本特征提取:return:"""data = ['一种还是一种今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。','我们看到的从很远星系来的光是在几百万年之前发出的,这样当我们看到宇宙时,我们是在看它的过去。','如果只用一种方式了解某件事物,他就不会真正了解它。了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系。']data_new = []for sent in data:data_new.append(cut_word(sent))print(data_new)# 1、实例化一个转换器类transfer = TfidfVectorizer()# 2、调用data_final = transfer.fit_transform(data_new)# 1、实例化一个转换器类transfer = TfidfVectorizer()# 2、调用fit_transformdata_final = transfer.fit_transform(data_new)print("data_final:\n", data_final.toarray())print("特征名字:\n", transfer.get_feature_names())return Noneif __name__ == "__main__":tfidf_demo()# print(cut_word('我爱北京天安门'))

总结:

  • tfidf主要思想: 如果某个词或短语在⼀篇⽂章中出现的概率⾼,并且在其他⽂章中很少出现,则认为此词或者短语具有很 好的类别区分能⼒,适合⽤来分类
    • tf – 词频
    • idf – 逆向⽂档频率 api:sklearn.feature_extraction.text.TfidfVectorizer
    • 注意:
      分类机器学习算法进⾏⽂章分类中前期数据处理⽅式

这篇关于词袋法TFIDF的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973618

相关文章

NLP-词向量-发展:词袋模型【onehot、tf-idf】 -> 主题模型【LSA、LDA】 -> 词向量静态表征【Word2vec、GloVe、FastText】 -> 词向量动态表征【Bert】

NLP-词向量-发展: 词袋模型【onehot、tf-idf】主题模型【LSA、LDA】基于词向量的静态表征【Word2vec、GloVe、FastText】基于词向量的动态表征【Bert】 一、词袋模型(Bag-Of-Words) 1、One-Hot 词向量的维数为整个词汇表的长度,对于每个词,将其对应词汇表中的位置置为1,其余维度都置为0。 缺点是: 维度非常高,编码过于稀疏,易出

BOW模;型CountVectorizer模型;tfidf模型;

自然语言入门 一、BOW模型:使用一组无序的单词来表达一段文字或者一个文档,并且每个单词的出现都是独立的。在表示文档时是二值(出现1,不出现0); eg: Doc1:practice makes perfect perfect. Doc2:nobody is perfect. Doc1和Doc2作为语料库:词有(practice makes perfect nobody is) Doc

【Python机器学习】NLP分词——利用分词器构建词汇表(三)——度量词袋之间的重合度

如果能够度量两个向量词袋之间的重合度,就可以很好地估计他们所用词的相似程度,而这也是它们语义上重合度的一个很好的估计。因此,下面用点积来估计一些新句子和原始的Jefferson句子之间的词袋向量重合度: import pandas as pdsentence="""Thomas Jefferson Began buliding Monticelli as the age of 26.\n""

词袋模型两个代码例子

代码1 import numpy as npimport pandas as pdtexts = ['i have a melon','you have a banana','you and i have a melon and a banana']vocabulary = list(enumerate(set([word for sentencein texts for word in s

词袋模型:DBoW原理介绍以及使用方法

1. 词袋模型介绍 词袋模型在很多方面都有应用,其的原理也很容易理解: 有以下一些句子: 1. my name is jack!2. I like to eat apples!3. I am a student!4. I like to take pictures! 我现在交给你一个任务,从上面四句话中找到一句和下面这句话最相似的一句(这里认为同样的单词越多越相似): I am

Python 机器学习 基础 之 处理文本数据 【停用词/用tf-idf缩放数据/模型系数/多个单词的词袋/高级分词/主题建模/文档聚类】的简单说明

Python 机器学习 基础 之 处理文本数据 【停用词/用tf-idf缩放数据/模型系数/多个单词的词袋/高级分词/主题建模/文档聚类】的简单说明 目录 Python 机器学习 基础 之 处理文本数据 【停用词/用tf-idf缩放数据/模型系数/多个单词的词袋/高级分词/主题建模/文档聚类】的简单说明 一、简单介绍 二、停用词 三、用tf-idf缩放数据 四、研究模型系数 五、

Python 机器学习 基础 之 处理文本数据 【处理文本数据/用字符串表示数据类型/将文本数据表示为词袋】的简单说明

Python 机器学习 基础 之 处理文本数据 【处理文本数据/用字符串表示数据类型/将文本数据表示为词袋】的简单说明 目录 Python 机器学习 基础 之 处理文本数据 【处理文本数据/用字符串表示数据类型/将文本数据表示为词袋】的简单说明 一、简单介绍 二、处理文本数据 三、用字符串表示的数据类型 四、示例应用:电影评论的情感分析 五、将文本数据表示为词袋 1、将词袋应用

初识人工智能---------自然语言处理词袋模型

1.自然语言处理(NLP) 自然语言处理(Natural Language Processing,简称NLP)研究的是如何通过机器学习等技术,让计算机学会处理自然(人类)语言,以完成有意义的任务。 下面是一些常见的日常生活应用: 1. 邮件过滤: 系统会根据电子邮件的内容识别电子邮件是否属于三个类别(重要、社交或广告)之一,或者判断一封邮件是否是垃圾邮件。此时就是通过NLP来对这些邮件进行

词袋模型(视觉词袋模型BOVW)详解

转自 https://blog.csdn.net/tiandijun/article/details/51143765 引言 最初的Bag of words,也叫做“词袋”,在信息检索中,Bag of words model假定对于一个文本,忽略其词序和语法,句法,将其仅仅看做是一个词集合,或者说是词的一个组合,文本中每个词的出现都是独立的,不依赖于其他词 是否出现,或者说当这

提取文档关键词——tfidf、textrank

本文介绍的是提取文本关键词的方法,包括tfidf以及textrank 1 tfidf tfidf内容原理比较简单,先简单讲一下,有空再细化 tfidf分为tf和idf,其中tf指的是词频,idf指的是逆文档频率。tf词频,顾名思义,就是某个词在文档中的出现次数。而idf逆文档频率,则是某个词在多少篇文档中出现过 公式 P.S. 分母的加1,起到的是平滑的作用,避免出现某个词在每篇文章里都