数学建模学习笔记(七)TF-IDF算法提取关键词

举报
zstar 发表于 2022/08/07 00:52:42 2022/08/07
【摘要】 TF-IDF算法数学表达: 术语频率(TF)是指给定单词在文档中出现的次数,经过归一化后,我们可以用以下公式表示: T ...

TF-IDF算法数学表达
术语频率(TF)是指给定单词在文档中出现的次数,经过归一化后,我们可以用以下公式表示:
T F w = c o u n t ( w ) D i T{F_w}{\rm{ = }}\frac{{count(w)}}{{{D_i}}} TFw=Dicount(w)
其中count(w)是关键字w的出现次数,Di是文档Di中所有单词的数量。

逆文档频率(IDF)反映一个关键词的流行程度——一个词越流行(大量文档包含该词),其IDF值越低;相反,IDF值越高。IDF的定义如下:
I D F w = log ⁡ N ∑ i = 1 N I ( w , D i ) + 1 ID{F_w} = \log \frac{N}{{\sum\limits_{i = 1}^N {I(w,{D_i})} + 1}} IDFw=logi=1NI(w,Di)+1N

其中N是所有文档的总数,I(w,d I)表示文档Di是否包含关键字,如果包含则为1,如果不包含则为0。

文件Di中关键字w的TF-IDF值:

T F − I D F w = T F w ∗ I D F w TF - ID{F_w} = T{F_w}*ID{F_w} TFIDFw=TFwIDFw

作用:提取关键词
输出形式,关键词+关键词权重

编程实现:

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)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

jieba包需要自行手动安装,虽然针对中文设计,但实测发现对英文效果也不错,topK为生成关键词的数量,withWeight=true即输出权重,改为False即不输出。

文章来源: zstar.blog.csdn.net,作者:zstar-_,版权归原作者所有,如需转载,请联系作者。

原文链接:zstar.blog.csdn.net/article/details/113130917

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。