文本特征提取 1|学习笔记

简介: 快速学习文本特征提取 1

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践文本特征提取 1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15501


文本特征提取 1

 

内容介绍:

一、文本特征的理论概念

二、文本特征提取的评估函数

三、TFIDF 计算

 

文本特征提取和向量化体现,在 Part 1 Testing Mining Basic 目录下打开第三个就是文本特征提取和向量化的文件。

 

一、文本特征的理论概念

文本挖掘的必要过程是先将文本从一个无结构的原始文本转化为结构化的计算机可以识别处理的信息。表示这个结构的是特征项。目前大多数中文文本挖掘系统都采用词作为特征项,作为特征项的词称作特征词。这些特征词作为文档者跟他们中间表示形式,用来实现文档与文档,文档与用户目标之间的相似度计算。

文本表示就是把从文本中抽取出的特征词进行量化来表示文本信息,目前看来将文本数据量化是文本挖掘的关键。数字化的文本才能发挥计算机强大的计算能力。文本量化需要教学方法,一般通过评估函数来解决。

 

二、文本特征提取的评估函数

通过构造评估函数对特征集合中的每个特征进行评估,并对每个特征打分,这样每个词语都获得一个评估值,又称为权值。决定文本特征提取效果的主要因素是评估函数的质量。常用评估函数包括:

TF-IDF(Turn frequency-Inverse Document Frequency)

互信息(Mutual Information)

期望交差熵(Expected Cross Entropy)

二次信息熵(QEMI)

信息增益方法(information Gain)

计量方法

文本证据权(The Weight of Evidence for Test)

优势率(Odds Ratio)

N-Gram 算法

分布式表示,词向量(word2vec)

 

三、TFIDF 计算

1.使用 sklean.feature_extraction.text 中的 TfidfVectorizer 类。

Skiearn 在 Phython 中是著名的机械学细胞,是phython 调用的就是 sklearn, 里面会有一个模块 feature_extration。 即在一个特征抽取的文本子模块里面由 Tfidf 进行向量化的类。

首先加载相关包,像 pandas 是 phython 数据科学里的基础知识,然后再由 jieba 中文分词, matplotlib 是画图, seaborn 也是一个画图工具。关键是从sklean.feature_extraction.text 中要导出 TfidfVectorizer 的类,一个是做 Tfid, 一个是做向量化计数的。

用到的数据是京东的商品评论数据,放在图中的 data 目录。 Data 目录下有京东评论数据的文件。扩展名是 csv,是一种标准的交换数据格式,然后用 pandas 把数据文件读进来。基本上大量的科学分析数据都需要用到 pandas 来完成。最后读数据加载,加载到 data 变量里面。

可以用 data 里面的 head 函数来显示信息的前5条记录。观察数据样本示例,里面有一些字段和数据。这只是直观的观察数据。如果真正地去了解数据指量,直接看会比较麻烦,

如果真正地去了解数据指量,直接看会比较麻烦,5.21可以用下面的数据框代表函数来进行观察,一个是描述函数 describers, 然后运行一下,可以看到里面的每一个属性、描述和分析情况,一般是把一些属性,数值型的属性做一些统计分析。做平均值、标准差、最小最大值、基数等等。可以通过 count 这一行的分析结果来观察某一列有没有缺失的数字。比如在表格的数据的第一行当中 user _province 里面的内容是0,那很多都是空。那0就是缺失的数据。

2. data. info 信息函数

该信息函数左边显示的是每一字段,右边显示的数据显示的是数据情况。可以看到 user_province 这个属性字段也是有控制的。可以得到结果 “user_province” 字段存在缺失的情况,但不影响后记分析,不做相关处理。

先对评论数据做几个可视化分析,在 data[‘score’ ].value_counts() 的数据框里面, value_counts 函数非常方便,它可以按照其里面的类型然后进行统计,因为 score 是离散型的,其可以按照离散的值来做一个汇总。下面是 seaborn 绘图工具,其中 countplot 可以做一个技术的绘图, X 轴是 score 。

运行一下可知 score 打分是1-5分,可清晰看出其数据分布情况。从图中可看出评论文本出现好评和差评不均衡情况,其中好评远大于差。

相关文章
|
10月前
|
存储 监控 druid
Druid、ClickHouse、Doris、StarRocks 的区别与分析
本文对比了 Druid、ClickHouse、Doris 和 StarRocks 四款大数据分析引擎。它们均为 OLAP 引擎,采用列式存储和分布式架构,适用于海量数据分析。Druid 擅长实时分析与高并发查询;ClickHouse 以超高性能著称,适合复杂查询;Doris 提供易用的 SQL 接口,性能均衡;StarRocks 则以其极速查询和实时更新能力脱颖而出。各引擎在数据模型、查询性能、数据更新和存储方面存在差异,适用于不同的业务场景。选择时需根据具体需求综合考虑。
4990 20
|
C# UED 开发者
WPF与性能优化:掌握这些核心技巧,让你的应用从卡顿到丝滑,彻底告别延迟,实现响应速度质的飞跃——从布局到动画全面剖析与实例演示
【8月更文挑战第31天】本文通过对比优化前后的方法,详细探讨了提升WPF应用响应速度的策略。文章首先分析了常见的性能瓶颈,如复杂的XAML布局、耗时的事件处理、不当的数据绑定及繁重的动画效果。接着,通过具体示例展示了如何简化XAML结构、使用后台线程处理事件、调整数据绑定设置以及利用DirectX优化动画,从而有效提升应用性能。通过这些优化措施,WPF应用将更加流畅,用户体验也将得到显著改善。
1339 1
|
弹性计算 负载均衡 安全
ACP 知识点总结
ACP 知识点总结
716 5
|
存储 Linux 网络安全
在Linux中,如何使用rsync进行增量备份?
在Linux中,如何使用rsync进行增量备份?
|
机器学习/深度学习 人工智能 算法
神经网络中的神经元和激活函数介绍
神经网络中的神经元和激活函数介绍
362 0
|
算法 C语言
九分钟带你弄懂KMP算法【C语言实现篇】
定义一个函数,传入参数为两个字符串,以及一个pos(表示从主串str的哪个位置开始搜寻子串pat)
499 0
|
JSON Java Maven
SpringBoot使用git-commit-id-maven-plugin打包
【2月更文挑战第1天】 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。
1076 0
|
安全 Java 开发者
JDK 21中的Switch模式匹配:一种更强大且灵活的分支选择机制
本文深入探讨了JDK 21中引入的Switch模式匹配的新特性。这种新的模式匹配机制不仅简化了传统的switch语句,还引入了类型检查和模式匹配,使得代码更加简洁、易读且功能强大。本文将详细介绍Switch模式匹配的语法、使用场景以及与传统switch语句的区别,并通过示例代码展示其在实际开发中的应用。
2308 0
|
关系型数据库 数据挖掘 数据库
PostgreSQL 模糊查询最佳实践 - (含单字、双字、多字模糊查询方法)
PostgreSQL 模糊查询最佳实践 - (含单字、双字、多字模糊查询方法)https://github.com/digoal/blog/blob/master/201704/20170426_01.md
14582 0