文档分词与词汇权重(TF-IDF)

文档分词与词汇权重

      • 1、文档分词
      • 2、词汇权重(TF-IDF)




1、文档分词


文本分类主要做的是如何提取文本中的主要信息。那么,如何衡量哪些信息是主要信息呢?

我们知道,一篇文档是由若干词汇组成的,也就是文档的主要信息是词汇。从这个角度来看,我们就可以用一些关键词来描述文档

这种处理文本的方式叫做词袋(Bag of Words)模型,该模型会忽略文本中的词汇出现的顺序以及相应的语法,将文档看做是由若干单词组成的,且单词之间相互独立,没有关联

要想提取文档中的关键词,就需要对文档进行分词。分词的方法一般是:基于统计和机器学习,需要人工标注词性和统计特征,训练分词模型

值得注意的是,分词后词汇中必定存在一些普遍使用的停用词(详见:传送门),这些停用词对文档分析作用不大,因此,在文档分析之前需要将这些词去掉

另外,分词阶段还需要处理同义词,很多时候一个事物有多个不同的名称,例如,番茄和西红柿等

中文分词与英文分词是不同的,它们需要不同的分词库进行处理:

  • 中文分词:jieba
  • 英文分词:NLTK

关于jieba中文分词库和NLTK英文分词库的介绍与使用详见文章:传送门

2、词汇权重(TF-IDF)


有了分词,那么,哪些关键词对文档才是重要的呢?

例如,可以通过词汇出现的次数,次数越多就表示越重要。更为合理的方法是计算词汇的TF-IDF值

TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率)是一种统计方法,用来评估一个词汇对一篇文档的重要程度。词汇的重要性随着它在文档中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降

  • TF(Term Frequency):即词频,指某个特定的词汇在该文档中出现的次数
    T F ω = 词汇 ω 出现的次数 文档中的总词汇数 \mathrm{ TF_\omega=\frac{词汇\omega出现的次数}{文档中的总词汇数}} TFω=文档中的总词汇数词汇ω出现的次数

  • IDF(Inverse Document Frequency):即逆向文档频率,指一个词汇在文档中的类别区分度。它认为一个词汇出现在文档的数量越少,这个词汇对该文档就越重要,就越能通过这个词汇把该文档和其他文档区分开
    I D F ω = log ⁡ 语料库中的文档总数 包含词汇 ω 的文档数 + 1 \mathrm{ IDF_\omega=\log \frac{语料库中的文档总数}{包含词汇\omega的文档数+1}} IDFω=log包含词汇ω的文档数+1语料库中的文档总数

IDF是一个相对权重值, log ⁡ \log log的底数可以自定义。其中分母加1是为了避免分母为0(有些单词可能不在文档中出现)

某一特定文档内的高频词汇,以及该词汇在整个文档集合中的低频率文档,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词汇,保留重要的词汇
T F ⁣ − ⁣ I D F ω = T F ω × I D F ω \mathrm{ TF\!-\!IDF_\omega = TF_\omega×IDF_\omega} TFIDFω=TFω×IDFω

以下是一个示例:

假设一篇文章中共有2000个单词,“中国”出现100次。假设全网共有1亿篇文章,其中包含“中国”的有200万篇。求单词“中国”的TF-IDF值
T F ( 中国 ) = 100 / 2000 = 0.05 I D F ( 中国 ) = log ⁡ 10 1 亿 200 万 + 1 = 1.70 T F ⁣ − ⁣ I D F ( 中国 ) = 0.05 × 1.70 = 0.085 \begin{align} & \mathrm{TF(中国) = 100 / 2000 = 0.05} \notag \\[2ex] & \mathrm{IDF(中国) = \log_{10} \frac{1亿}{200万+1} = 1.70} \notag \\[3ex] & \mathrm{TF\!-\!IDF(中国) = 0.05 × 1.70 = 0.085} \notag \end{align} TF(中国)=100/2000=0.05IDF(中国)=log10200+11亿=1.70TFIDF(中国)=0.05×1.70=0.085

通过计算文档中词汇的TF-IDF值,我们就可以提取文档中的特征属性。即就是将TF-IDF值较高的词汇,作为文档的特征属性

Sklearn提供了计算TF-IDF值的API:TfidfVectorizer。具体使用详见下篇:传送门


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter 中的 SliverCrossAxisGroup 小部件:全面指南

Flutter 中的 SliverCrossAxisGroup 小部件:全面指南 Flutter 是一个功能丰富的 UI 开发框架,它允许开发者使用 Dart 语言来构建高性能、美观的移动、Web 和桌面应用。在 Flutter 的丰富组件库中,SliverCrossAxisGroup 是一个较少被使用的组…

【CPP】栈简介及简化模拟实现

CPP栈和队列简单模拟实现 目录 1. 栈的简介2. 栈简化模拟实现3. 栈练习题 1. 栈的简介 栈 是一种 特殊的线性表,具有数据 先进后出 特点。 具体参考:【数据结构】栈 CPP库参考文档:stl_stack 注意: 1.stack本身 不支持迭代器操…

骨传导耳机防踩雷秘诀是什么?六大选购技巧独家揭秘!

相信大家都已经深有体会,拿那种常规的入耳式无线蓝牙耳机来做运动耳机,很难满足运动需要。如果选择前两年流行的颈挂式无线运动蓝牙耳机,虽然简单轻巧,但也是入耳式设计,长时间佩戴耳朵不舒服。这样看来,运…

Python-3.12.0文档解读-内置函数sorted()详细说明+记忆策略+常用场景+巧妙用法+综合技巧

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 Python-3.12.0文档解读详细说明 功能描述 参数说明 用法示例 备注 进阶用法 参考…

【Qt】【模型视图架构】代理模型示例

文章目录 1. 基本排序/过滤模型Basic Sort/Filter Model Example2. 自定义排序/过滤模型Custom Sort/Filter Model ExampleFilterLineEdit类定义及实现MySortFilterProxyModel类定义及实现 1. 基本排序/过滤模型Basic Sort/Filter Model Example 官方提供的基本排序/过滤模型示…

docker 清理磁盘

文章目录 Docker - 解决/var/lib/docker/overlay2占用很大、容器无法启动问题(清理磁盘)一、首先执行如下命令可以查看 docker 文件夹磁盘使用情况:二、执行如下可以查看 Docker 的磁盘使用情况(类似于 Linux 上的 df 命令&#x…

【算法】贪心算法——柠檬水找零

题解:柠檬水找零(贪心算法) 目录 1.题目2.题解3.参考代码4.证明5.总结 1.题目 题目链接:LINK 2.题解 分情况讨论 贪心算法 当顾客为5元时,收下当顾客为10元时,收下10元并找回5元当顾客为20元时,收下20元并找回10…

使用Python进行图像锐化的4个基础操作

想要让你的照片从模糊变锐利,就像魔法师轻轻一挥魔杖?今天我们就来学习如何用Python施加这神奇的“锐化滤镜”!🎉 首先,你需要一位得力助手——Pillow库,它能让我们轻松处理图像。如果你还没安装&#xff…

Python Config 用法:探索配置文件的艺术

Python Config 用法:探索配置文件的艺术 在Python编程的广袤领域中,config模块以其独特的方式,为开发者们提供了一种灵活而强大的配置管理手段。本文将深入剖析config的用法,从四个方面、五个方面、六个方面和七个方面展现其魅力…

大泽动力车载柴油发电机的特点和优势有哪些

大泽动力车载柴油发电机具有一系列显著的特点和优势,以下是对其的详细介绍: 低噪音性能:大泽动力车载柴油发电机具备明显的低噪音性能,其噪音限值在距离机组7米处测得为70dB(A),这为用户提供了一个相对安静的工作环境…

Java18+​App端采用uniapp+开发工具 idea hbuilder智能上门家政系统源码,一站式家政服务平台开发 家政服务(师傅端)介绍

Java18​App端采用uniapp开发工具 idea hbuilder智能上门家政系统源码,一站式家政服务平台开发 家政服务(师傅端)介绍 家政服务师傅端是一个专为家政服务人员设计的平台,该平台旨在提供便捷、高效的工作机会,同时确保…

html期末复习速览

一.基础标签 1.段落标签<p></p> 特点&#xff1a;分段分割 2.标题标签<h1></h1>……<h6></h6> 特点&#xff1a;文字加粗&#xff0c;单独占一行 3.换行标签<br /> 特点&#xff1a;单标签&#xff0c;强制换行 二.文本格式化…

View->Bitmap缩放到自定义ViewGroup的任意区域(Matrix方式绘制Bitmap)

Bitmap缩放和平移 加载一张Bitmap可能为宽高相同的正方形&#xff0c;也可能为宽高不同的矩形缩放方向可以为中心缩放&#xff0c;左上角缩放&#xff0c;右上角缩放&#xff0c;左下角缩放&#xff0c;右下角缩放Bitmap中心缩放&#xff0c;包含了缩放和平移两个操作&#xf…

【面试】class文件里面是什么?

目录 1. 说明2. 主要部分2.1 魔数2.2 版本信息2.3 常量池2.4 访问标志2.5 类索引、父类索引和接口索引数组2.6 字段表2.7 方法表2.8 属性 1. 说明 1. .class 文件是 Java 编译器编译 Java 源代码文件&#xff08;.java 文件&#xff09;后生成的字节码文件。2.这些文件包含了 …

​探究当代婚恋市场的状况与挑战

​ 在当今社会&#xff0c;婚恋市场正经历着前所未有的变化。随着科技的进步和社会观念的演变&#xff0c;人们在寻找伴侣的方式和标准也在不断地发展。本文将探讨当前婚恋市场的状况&#xff0c;分析其面临的挑战&#xff0c;并提出相应的建议。 首先&#xff0c;互联网的普…

SpringBoot 多模块 多环境 项目 单元测试

环境描述 假设项目中有以下三个yml文件&#xff1a; application.ymlapplication-dev.ymlapplication-prod.yml 假设项目各Module之间依赖关系如下&#xff1a; 其中&#xff0c;D依赖C&#xff0c;C依赖B&#xff0c;B依赖A&#xff0c;D对外提供最终的访问接口 现在要想采…

深入解析MySQL事务的实现原理

一、事务的基本概念 在计算机科学中&#xff0c;事务 (Transaction) 是指对数据库进行的一系列操作&#xff0c;这些操作要么全部执行&#xff0c;要么全部不执行&#xff0c;是不可分割的工作单位。它们通常被用于确保数据库的完整性和一致性。 事务具有以下四个重要特性&am…

VUE阻止浏览器记住密码若依CLOUD(INPUT框密码替换圆点)

网上找的要不就是缺少方法要不就是不好用,故发一个完整的 粘贴可用版本 <el-form-item prop"password"><el-input v-model"loginForm.pwdCover" type"text" name"pwd" id"pwd" placeholder"密码" autoco…

“两客一危”车辆综合监控信息化产品及应用分析

引言 随着科技的不断进步和社会的发展&#xff0c;“两客一危”车辆&#xff08;即长途客车、旅游包车和危险品运输车&#xff09;的安全监管问题日益凸显。为了提升车辆的安全性能和管理效率&#xff0c;综合监控信息化产品应运而生。本文将对这一产品进行详细介绍&#xff0…

像艺术家一样工作

接下来开始翻译这本小册子 豆瓣评分还是挺高的&#xff0c;目前在国内没有看到有在售的翻译版本 书名直译的话是&#xff1a;像艺术家一样去偷 作者可能是为了制造营销话题&#xff0c;所以起了这么一个名字 但是偷这个词总归不太体面&#xff0c;所以我把书名翻译为&#…