二月一号博客
今天学习自然语言的算法 TF-IDF 算法 : 关键词提取 TF-IDF 的主要思想就是:如果某个词在一篇文档中出现的频率高,也就是 TF 高;在语料库中其他的文档中很少出现,就是 DF 低,也就是 IDF 高,则认为这个词具有很好的类区分能力。 TF 为词频( Term Frequency ),表示词 t 在文档 d 中出现的频率,计算公式 其中, ni,j 是该词 ti 在文件 dj 中的出现次数,而分母则是在文件 dj 中所有字词的出现次数之和。 IDF 为逆文档频率( Inverse Document Frequency ),表示语料库中包含词 t 的文档的数目的倒数,计算公式: 其中, |D| 表示语料库中的文件总数, |{j:ti∈dj}| 表示 包含词 ti 的文件数目,如果该词语不在语料库中,就会导致被除数为零,因此一般情况下使用 1+|{j:ti∈dj}| 。 TF-IDF 在实际中主要是将二者相乘,也即 TF * IDF , 计算公式: 因此, TF-IDF 倾向于过滤掉常见的词语,保留重要的词语。例如,某一特定文件内的高频率词语,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的 TF-IDF 。 J ieba 中基于 TF-IDF 算法的关键词抽取: jieba代码: #_*_coding:utf-8_*_ import jieba.analyse