TF-IDF算法数学表达: 术语频率(TF)是指给定单词在文档中出现的次数,经过归一化后,我们可以用以下公式表示:
其中count(w)是关键字w的出现次数,Di是文档Di中所有单词的数量。
逆文档频率(IDF)反映一个关键词的流行程度——一个词越流行(大量文档包含该词),其IDF值越低;相反,IDF值越高。IDF的定义如下:
其中N是所有文档的总数,I(w,d I)表示文档Di是否包含关键字,如果包含则为1,如果不包含则为0。
文件Di中关键字w的TF-IDF值:
作用:提取关键词 输出形式,关键词 关键词权重
编程实现:
代码语言:javascript复制import jieba.analyse
with open('review3.txt','r',encoding='utf-8') as f:
content = f.read()
keywords=jieba.analyse.extract_tags(content, topK=30, withWeight=True, allowPOS=())
print(keywords)
jieba包需要自行手动安装,虽然针对中文设计,但实测发现对英文效果也不错,topK为生成关键词的数量,withWeight=true即输出权重,改为False即不输出。