位置: 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面试题及答案)

  • 小企业会计准则适用于哪些企业
  • 股票交易印花税降低
  • 未实际收到的投资收益要纳税调整吗
  • 公司购买的意外险属于个人还是公司
  • 红冲发票需要收回原发票政策
  • 小规模旅行社差额征税的账务处理
  • 会计和税法折旧年限不同如何计算终结期现金净流量
  • 装卸费和保险费是价外费用吗
  • 小企业营业外支出
  • 利润表中列报项目
  • 营改增后银行增值税如何缴纳
  • 化妆品进口环节消费税
  • 一般纳税人简易征收3%
  • 企业收到经营外的发票如何做账
  • 什么发票 既可以抵扣又可以退税
  • 老总来公司视察
  • 一般纳税人库存商品怎么做分录
  • 个独企业如何拿钱
  • 支付境外服务费税务如何处理
  • 代扣代缴代收代缴税款业务内容
  • 台式电脑清洗步骤图解
  • linux操作系统为用户提供的接口为
  • php转word
  • 应收账款和应付账款的管理
  • 领用材料已抵扣进项税
  • 多伦多日照时间
  • 计算机网络的基本概念
  • PHP:imagecolorclosesthwb()的用法_GD库图像处理函数
  • 相思树学名叫什么
  • react最新教程
  • 加拿大猞猁雪兔
  • 政府给的土地补偿标准
  • 企业产房屋拆迁
  • php ffi 性能
  • 中国税收居民是什么是中国公民嘛
  • waffe
  • vue3 ref dom
  • 无形资产的处置方式
  • 跨期发票的形成条件
  • 现金股利算负债吗
  • python动态数据类型
  • ubuntu下编译安装opencv
  • 企业进出口贸易
  • 金税盘登录密码和口令从哪查
  • 展会补贴需要准备什么资料
  • 代收收款收据证明范本
  • 零申报不报税有什么后果
  • 工商年检截止日期
  • 预缴所得税年底处理账务吗
  • 工资与社保缴纳不一致
  • 进口化妆品品牌大全
  • 一般纳税人已交税金账务处理
  • 应收款和坏账的关系
  • 以存货抵偿债务
  • 股权投资损失 属于法定资产损失 实际资产损失
  • 替其他公司支付工资怎么做账
  • 其他费用包括哪些内容
  • mysql获取表行数的方法
  • mysql忘记了初始密码
  • aix解除镜像
  • win7卸载软件提示停止工作
  • winxp家庭版和专业版的区别
  • xp系统的文件要用什么才能打开
  • win7系统怎么更改存储位置
  • unity shader lod
  • 图像而已
  • perl ne
  • c# opengl绘图
  • ztree拖动
  • 深入解析java编译器:源码剖析与实例详解
  • shell脚本实现批量移动文件
  • unity3d题库
  • linux下socket编程常用头文件(推荐)
  • c# for unity
  • api/home/getmyregion
  • unity3d基于物理系统的2D平台跳跃游戏
  • javascript文档对象
  • 国家税务局发票查验平台查验官网
  • 总公司与分公司签订承包协议
  • 税务局直属机构
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设