机器学习(第六关--文本特征抽取)

2024-08-21 07:04

本文主要是介绍机器学习(第六关--文本特征抽取),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下内容,皆为原创,制作实属不易,感谢大家的观看和关注。

在此真诚的祝愿大家,生活顺顺利利,身体健健康康,前途似锦。

第一关:机器学习概念和流程http://t.csdnimg.cn/IuHh4
第二关:数据集的使用http://t.csdnimg.cn/1AD9D
第三关:特征工程-字典特征提取http://t.csdnimg.cn/tSES1
第四关:特征工程-文本特征提取http://t.csdnimg.cn/HSGhz
第五关:特征工程--中文文本特征提取http://t.csdnimg.cn/iN7e6

 

一. 关键词的作用

关键词:在某个类别的文章中,出现的次数很多,但是在别的类型文章中就少。

关键词的作用:这样我们就可以判断文章是什么类型的了,比如说一个文章里面提到的大多是“共享”、“车”,所以大概率是说共享单车或者共享汽车的,属于科技类文章

       显而易见,左边是科技类文章,右边是生活健康类文章。

        那么文本特征提取有两个方法,我们这个章节学习第二个TfidfVectorizer

CountVectorizerTfidfVectorizer

二.Tf-idf文本特征提取 


        1.TF-IDF的主要思想

        如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类
TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度


          2.公式

         词频(termfrequency,tf)指的是某一个给定的词语在该文件中出现的频率。  逆向文档频率(inversedocumentfrequency,idf)是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的取以10为底的对数得到。

      3.代码API

sklearn.feature_extraction.text.TfidfVectorizer(stop_words=None,...)返回词的权重矩阵


TfidfVectorizer.fit_transform(X)
·X:文本或者包含文本字符串的可迭代对象(列表或者字符串等)
·返回值:返回sparse矩阵


TfidfVectorizerinverse_transform(X)
·X:array数组或者sparse矩阵
返回值:转换之前数据格式


TfidfVectorizer.get_feature_names0
·返回值:单词列表

        好吧,这个可能你们看着有点懵,我们还是以实际代码为例。

from sklearn.feature_extraction.text import TfidfVectorizer
import jieba# 原始文本数据
data = ["真正的勇气是一种精神的力量,人格的力量,智慧的力量。","拥有了这种力量,我们就能独自越过困难堆成的高山;","拥有这种力量,我们就能克服生活的磨难;拥有了这种力量,我们就能成为命运的主宰,始终扬起胜利的风帆。"]# 使用CountVectorizer,设置分析器为jieba分词
vectorizer = TfidfVectorizer(analyzer='word', tokenizer=jieba.cut)# 计算词频矩阵
X = vectorizer.fit_transform(data)# 输出词频矩阵
print("词频矩阵:\n", X.toarray())# 输出特征名称
print("特征名称:\n", vectorizer.get_feature_names_out())

 

 4.总结

        我们可以看到,这里面的关键词,可以判断是一个励志语句类型的。事实确实也是如此,因为我们自己传进去的data,自己肯定知道。

        你看到词频矩阵了吗?那里面的值,越大的就越能体现重要性和分类意义。

三.提问时刻

                那我们特征提取的意义在哪里呢?

        我们将不是数值的数据 转为 数值,进行特征值化,可以更好的了解和处理每个数据的特征。就像我们上面一样。知道了哪些词是特征,哪些词是出现次数比较多的,然后还是比较重要的。

四.感谢观看 

  感谢大家的观看,祝愿大家的生活顺顺利利,生活不止工作,陪陪自己的家人。大家拜拜~ 

 

这篇关于机器学习(第六关--文本特征抽取)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092459

相关文章

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Java实现将Markdown转换为纯文本

《Java实现将Markdown转换为纯文本》这篇文章主要为大家详细介绍了两种在Java中实现Markdown转纯文本的主流方法,文中的示例代码讲解详细,大家可以根据需求选择适合的方案... 目录方法一:使用正则表达式(轻量级方案)方法二:使用 Flexmark-Java 库(专业方案)1. 添加依赖(Ma

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript