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

  • 利息收入需要缴纳企业所得税吗
  • 代付的费用收不收手续费
  • 应收账款余额不对怎么调账
  • 等线补交以前年度附加税会计分录
  • 退回代征手续费怎么做会计分录
  • 专家评审费属于劳务费吗
  • 企业亏损结转年限举例说明
  • 企业稳岗补贴怎么查
  • 增值税转型前后对比
  • 商业企业销售的商品遭受损失的赔偿依据
  • 每个月0申报,对企业有什么影响吗?
  • 本年本期累计
  • 有限合伙企业合伙人责任
  • 工业企业购进货物进项税额抵扣的时限
  • 事业单位其他应付款如何核销
  • 事业基金弥补收支差额是什么意思
  • 待处理财产损益借贷方向
  • 企业收到一笔钱不知道什么钱 如何做账
  • 个人转让认缴出资股权需要交纳印花税吗?
  • 个税返还交所得税吗
  • 年末一般纳税人应交增值税借贷调平什么意思
  • 公司在走注销流程被起诉了怎么办
  • 机构信用代码证是三证合一里的吗
  • 一般纳税人所得税优惠政策
  • 关于企业所得税若干优惠政策的通知
  • 轮胎计入什么会计科目
  • 广告业公司成立时的资金如何记账?
  • 期望和方差的计算例题
  • 税控盘费用抵减增值税的账务处理
  • 员工出差买的保险怎么入账
  • 不良品退回处理流程
  • 联营企业分得的利润应计入什么科目
  • 民非提供服务收到的现金怎么算
  • 小规模防伪税控服务费280元
  • linux怎么增加磁盘空间
  • 产品外包装的作用
  • 商会账目
  • 退货 会计
  • 开展党建系列活动
  • 城市里创业
  • 甘油三血脂高怎么办
  • thinkphp query
  • 前端和后端到底是什么
  • 发票网上平台勾选流程
  • 滴滴发票4月1日怎么开
  • 其他应收款等于
  • 小规模纳税人定义标准
  • 办公用品和低值易耗品节省成本吗
  • 超过五年的未弥补亏损如何处理?
  • 个体工商户购买生育险有生育津贴吗
  • 手机超过多少钱算贵
  • 印花税计提怎么做分录
  • 其他收益包含
  • 资产类账户有哪些
  • 福利费与工会经费使用区别
  • 投资性房地产在建
  • 进出口企业外汇额度
  • 预付房租收到发票怎么写摘要
  • 生产车间买的工具计入什么费用
  • 产权转移书据纳税义务时间
  • 进项税额的ppt
  • mysql怎么复制粘贴语句
  • mysql在数据分析中的作用
  • sqlserver1053怎么解决
  • 在linux操作系统中,/etc/rc.d/init.d
  • windows10已激活
  • iptables添加规则立即生效
  • win7系统设置鼠标灵敏度
  • linux的curl
  • perl-v
  • 探索世界怎么玩
  • nodejs word
  • Node.js中的包管理工具是什么
  • vue中的vuex
  • threejs入门教程
  • jQuery+ajax读取并解析XML文件的方法
  • 文化服务包括哪些专业
  • 怎么注册山东省采购网
  • 国地税怎么交
  • 数码产品关税多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设