位置: IT常识 - 正文

使用 TF-IDF 算法将文本向量化(tf-idf计算)

编辑:rootadmin
使用 TF-IDF 算法将文本向量化

推荐整理分享使用 TF-IDF 算法将文本向量化(tf-idf计算),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:tfidf算法改进,tf-idf方法,tf-idf计算,tfidf算法优点,tfidf算法原理,tf-idf例题,tf-idf例题,在tf-idf算法中,tf指,内容如对您有帮助,希望把文章链接给更多的朋友!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

TF-IDF 算法前言一、TF-IDF 是什么?含义理解:二、算法步骤1.统计每一篇文档中词的出现次数2.计算词频(TF)3.计算逆文档频率(IDF)4.计算TF-IDF总结前言

提示:这里可以添加本文要记录的大概内容:

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

提示:以下是本篇文章正文内容,下面案例可供参考

一、TF-IDF 是什么?

TF-IDF 全称为 term frequency–inverse document frequency 算法分为两部分: 词频(TF) 和 逆文档频率(IDF)

1词频(TF) = 某个词在文章中的出现次数 / 文章总词数 2逆文档频率(IDF) = log( 文章总数 / (包含该词的文章数+1))

使用 TF-IDF 算法将文本向量化(tf-idf计算)

分成两部分理解的话就是,一个词的词频越高说明它越重要,逆文档频率越高说明它越普遍,越普遍则代表性越差。所以,词频与最终的权重呈正比,逆文档频率与最终的权重呈反比。

在使用 TF-IDF 算法之前,需要先对文本进行预处理,如分词、去除停用词。在运算之前,需要先统计每篇文章中的每个词语出现的次数。

含义理解:

就将下面三张图,用代码表示出来

二、算法步骤1.统计每一篇文档中词的出现次数

docList 是一个列表,包含整份数据(包含多篇文章)的信息;其中,列表的元素是字典类型,即列表包含多个字典元素,其中字典的结构为 词语:出现次数 ,所以,每个列表储存着一篇文章中词语出现次数的信息

def countWord(doc): 2 ''' 3 依次对所有文章进行统计,统计每篇文章中每个词的出现次数 4 doc: list 列表中一个元素为一篇文章的文本数据,str类型,空格间隔,含换行符 5 ''' 6 docList = [] 7 for item in doc: 8 wordDic = {} 9 wordList = item.strip().split() #将字符串转换成列表,一个元素一个词10 for word in wordList:11 wordDic[word] = wordDic.setdefault(word, 0)+112 docList.append(wordDic)13 return docList2.计算词频(TF)

词频(TF) = 某个词在文章中的出现次数 / 文章总词数

1例如: 2文章一:‘图书’: 34, ‘评论’: 12, ‘重视’: 2 3文章二:‘评论’: 7, ‘活动’: 4, ‘出版’: 5 4文章三:‘导致’: 2, ‘图书’: 12, ‘评论’: 9 5 6则 词频(TF) 为: 7文章一:‘图书’: 34/(34+12+2), ‘评论’: 12/(34+12+2), ‘重视’: 2/(34+12+2) 8文章二:‘评论’: 7/(7+4+5), ‘活动’: 4/(7+4+5), ‘出版’: 5/(7+4+5) 9文章三:‘导致’: 2/(2+12+9), ‘图书’: 12/(2+12+9), ‘评论’: 9/(2+12+9)

1def computeTF(wordDic): 2 ''' 3 计算一篇文章中每个词的词频 4 wordDic: dict 为 docList 的元素 5 ''' 6 #计算 total 7 total = sum(wordDic.values()) 8 #计算词频 9 tfDic = {}10 for word, value in wordDic.items():11 tfDic[word] = value / total1213 return tfDic14 TF = [] #所有文章的词频15 for wordDic in docList:TF.append(computeTF(wordDic))3.计算逆文档频率(IDF)

计算逆文档频率(IDF)

例如: 2文章一:‘图书’: 34, ‘评论’: 12, ‘重视’: 2 3文章二:‘评论’: 7, ‘活动’: 4, ‘出版’: 5 4文章三:‘导致’: 2, ‘图书’: 12, ‘评论’: 9 5 6则 逆文档频率(IDF) 为: 7’图书’: log(3/(2+1)), ‘评论’: log(3/(3+1)), ‘重视’: log(3/(1+1)), ‘活动’: log(3/(1+1)), ‘出版’: log(3/(1+1)), ‘导致’: log(3/(1+1)) 8 9针对 ‘评论’: log(3/(3+1)) 这个数据: 10分子 3 是一共有三篇文章;分母 3 是其中有三篇文章包含了词语 ‘评论’;分母 1 是防止分母为 0 的一种做法,如果能保证分母不为 0,此处不加一也无妨。

def computeIDF(docList): 2 ''' 3 计算每个词的逆文档频率 4 docList: list 5 ''' 6 #计算 total 7 total = len(docList) 8 #计算逆文档频率 9 idfDic = {}10 for wordDic in docList:11 for word, value in wordDic.items():12 if value > 0:13 idfDic[word] = idfDic.setdefault(word, 0)+114 for word, value in idfDic.items():15 idfDic[word] = math.log(total/value+1) #要先引入 math 库1617 return idfDic4.计算TF-IDF

TF-IDF = 词频(TF) * 逆文档频率(IDF)

对于每篇文章,将文章中的每个词对应的词频和逆文档频率相乘,结果就是 TF-IDF 的值

TF_IDF = []for i in TF: s = [] for j in i.keys(): if j in IDF.keys(): s.append({j:i[j]*IDF[j]}) TF_IDF.append(s)TF_IDF总结

相关参考链接: TF-IDF算法介绍及实现 TF-IDF算法详解 百度百科——tf-idf

本文链接地址:https://www.jiuchutong.com/zhishi/300332.html 转载请保留说明!

上一篇:如何在vscode里面快速运行html代码(包含如何在vscode里面编写html代码)(vscode nasm)

下一篇:最全面试题CSS(含答案)(css面试题及答案)

  • 代理税务有哪些机构
  • 金税盘交钱
  • 小微企业增值税起征点是多少
  • 外销收入确认原则有哪些
  • 月报和季度报的区别
  • 会计凭证在设计中应遵循的设计原则
  • 个税手续费返还比例
  • 增值税补交还有没有责任
  • 年底结账会计处理
  • 增值税发票做假什么后果
  • 农产品收购发票图片
  • 工会经费计税依据是应发工资还是实发工资
  • 增值税的免征增值税范围
  • 工程检测费入什么科目
  • 贷款已支付属于什么会计科目
  • 应退税款抵扣欠缴税款
  • 小型微利企业收入超过300
  • 其他资金结转结余包括哪些
  • 小规模纳税人月收入超过10万,要交多少税
  • 认缴制下实收资本可以一直为零吗
  • 什么是CMOS什么是BIOS
  • qdcsfs.exe - qdcsfs是什么进程 有何作用
  • php中数组的常用函数及用法
  • php怎么上传多个图片
  • thinkphp saveall
  • exe是什么进程
  • 增值税进项税额转出的情况有哪些
  • linux 定时删除文件
  • 办公大楼装修费怎么算
  • 深度学习之GPU显存与利用率 浅析小结
  • 发票抬头可以是两个人吗
  • 外贸企业收到红字发票
  • nvme安装win10教程
  • pdf优化器在哪里
  • mail命令发送邮件
  • 多交的城建税可以抵减扣除吗
  • 投资者投入固定资产的成本,应当按照投资合同
  • python解密加密文件
  • 北京社保月平均工资
  • 认证后失控发票管理办法
  • 如何解决面颊毛孔粗大
  • sqlserver怎么把数据库导出来
  • 委托加工物资实际成本包括增值税吗
  • 车间装修预算表
  • 增值税零税率发票开了2年,没给对方
  • 筹建期间发生的长期借款利息费用计入财务费用
  • 充油卡未收发票怎么办
  • 商标注册费计入哪个科目
  • 公司定额征收需要什么
  • 员工借支备用金属于现金流量的哪类
  • 未分配利润借方是什么意思
  • mysql 5.7.31安装
  • 怎么看solaris版本
  • lsass.exe
  • 电脑更新windows11后开机一黑屏
  • Win10预览版怎么变回正式版
  • linux nohup命令详解
  • centos下载安装
  • win10多屏设置方法
  • centos6 grub
  • win1020h2正式版
  • 怎么才能给电脑提速
  • scardsvr32.exe - scardsvr32是什么进程 有什么用
  • windows7怎
  • win10系统自带输入法怎么关闭
  • d命令怎么用
  • 文科生也能看懂的电子电路学PDf
  • ExtJS GridPanel 根据条件改变字体颜色
  • linux for i in
  • 简单的小创意
  • macos 升级python
  • shell 查找文件并赋值shell变量
  • unity删除对象
  • js脚本如何获取数据库内容?
  • win安装nodejs
  • js模拟new
  • android对话框setview用法
  • 图片旋转鼠标键盘怎么弄
  • 季度企业所得税分录
  • 依法行政的观念
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设