“达观杯”文本智能处理挑战赛-任务二

一、TF-IDF理论

1.百科介绍:

TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆文本频率指数(Inverse Document Frequency)。

2.原理

TF

在一份给定的文件里,词频(term frequency, TF)指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(分子一般小于分母区别于IDF),以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)
在这里插入图片描述
以上式子种分子为x词在第j个文件中出现的次数,而分母是在第j个文件中所有字词的出现词数之和。

IDF

逆向文件频率 (inverse document frequency, IDF) 是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

在这里插入图片描述
其中,N代表语料库中文本的总数,而N(x)代表语料库中包含词x的文本总数。

TF-IDF主要思想:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF * IDF,TF词频(Term Frequency),IDF反文档频率。TF表示词条在文档d中出现的频率。

二、使用TF-IDF表示文本

1. 直接用 TfidfVectorizer 完成向量化与TF-IDF预处理

from sklearn.feature_extraction.text import TfidfVectorizer

corpus = ["I come to China to travel",
		  "This is a car polupar in China",
		  "I love tea and Apple",
		  "The work is to write some papers in science"]
tfidf = TfidfVectorizer()
re = tfidf.fit_transform(corpus)
print(re)

在这里插入图片描述

2. 用 CountVectorizer类向量化之后再调用 TfidfTransformer类 进行预处理

from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer
corpus = ["I come to China to travel",
		  "This is a car polupar in China",
		  "I love tea and Apple",
		  "The work is to write some papers in science"]
vectorizer = CountVectorizer()
transformer = TfidfTransformer()
tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))
print(tfidf)
结果同 1

3.达观杯TF-IDF文本表示

使用方法一,直接用 TfidfVectorizer 完成向量化与TF-IDF预处理
from sklearn.feature_extraction.text import TfidfVectorizer

tfidf = TfidfVectorizer()
vectorizer = tfidf.fit(X_train.iloc[:10,1])
X_train = vectorizer.fit_transform(df_train.iloc[:,1])
X_valid = vectorizer.fit_transform(X_valid.iloc[:,1])
print(X_train)
print('_____________')
print(X_valid)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值