TF-IDF简介
TF(Term Frequency)是指词频,就是一个词在文本中出现的词数,常用标准化处理
TF = (某个词在文档中出现的次数) / (文档中的总词数)
IDF(Inverse Document Frequency)是逆文档频
有了TF,为什么还要用IDF呢,因为用IDF来降低各个文本都有的词的词频权重。就是说如果一个词在某一个文档中出现的次数比较多,而其他文档没有出现,说明该词对该文档分类很重要;然而如果其他文档也出现比较多,说明该词区分性不大,就用IDF来降低该词的权重。
IDF = log(语料中文档总数 / 包含该词的文档数+1) 分母加1 避免分母为0
TF-IDF:是两者相乘
TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比
TF-IDF = TF*IDF
一个词的TF-IDF值越大,表明该词在该文本出现的次数越多,对该文本越重要(停用词除外),常用来做关键词提取。
TF-IDF使用
给出一个文本,现在要求TF-IDF,如何求呢?又是如何使用TF-IDF来对文本进行分类呢?
我喜欢看电影,而不喜欢看电视,今天刚上映了电影,所以就去了电影院
首先分词,得到结果如下:
我, 喜欢, 看, 电影, ,, 而, 不, 喜欢, 看电视, ,, 今天, 刚, 上映, 了, 电影, ,, 所以, 就, 去, 了, 电影院, 。
统计词频
统计词出现的次数,然后再标注化(词频),就是:
我,喜欢,看,电影,而,不,看电视,......
[1,2,1,2,1,1,1,......]
过滤停用词
停用词就是指一些没有起决定性作用的,然而在文本中出现的次数又是很多的,如:
我,你、她、所以、了,的、在、因为....
,停用词表中有许多,这里用的是哈工大停用词表
提取向量
提取向量也就是将计算好的TF-IDF向量提取出来,而不是单一的词向量。
就是将文档分词,计算文档各个词出现的次数,然后表示成一个向量