NLP之文本特征提取详解
深度学习入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。
✨NLP系列✨
NLP之文本预处理详解_tt丫的博客-CSDN博客_nlp文本预处理
NLP之文本特征提取详解_tt丫的博客-CSDN博客
目录
一、词袋模型(Bag of Words, BoW)
1、目的
2、主要思想
3、具体算法步骤
4、缺点
5、词袋管理
6、代码实现
二、TF-IDF文本特征提取
1、定义与用途
2、缺点
3、代码实现
三、基于词向量的特征提取模型 —— word2vector
1、word2vector定义介绍
2、基于神经网络语言模型的词向量生成(NNLM)
3、CBoW模型
4、Skip-gram模型
5、两种优化的方法
一、词袋模型(Bag of Words, BoW)
1、目的
将不定长的文本型数据转化为定长的数值型数据,方便用作机器学习模型的输入
2、主要思想
建立一个词典库,其中包含训练语料库的所有词语,每个词语都对应一个唯一识别的编号,利用one-hot文本(即存在的词语用1表示,不存在的用0来表示)来表示;文档的词向量维度与单词向量的维度相同,每个位置的值是对应位置词语在文档中出现的次数。
他是N-gram模型的特例1元模型
3、具体算法步骤
(1)对所有文本进行单词提取,生成词袋
eg:She is a good girl.He is a good boy. It is a pig.
生成的词袋有:she;is;a;good;girl;he;boy;it;pig
(2)将词袋中的单词与词向量中的值一一对应
对应法则:该单词在当前文本中总共出现的次数
即:(所谓的one - hot 编码)
"She is a good girl" = [1,1,1,1,1,0,0,0,0]
"He is a good boy" = [0,1,1,1,1,1,0,0,0]
"It is a pig" = [0,1,1,0,0,0,0,1,1]
4、缺点
(1)仅考虑词语出现的次数,没有考虑句子词语之间的顺序信息,即语义信息未考虑
(2)词袋太大,占用过多
(3)文档(词向量)稀疏(即0值特别多)
5、词袋管理
基于上面所阐述的缺点,我们需要使用合理的方法来压缩词袋的大小
压缩方法有:
(1)忽略人名、地名等对象的名字
(2)忽略高频且无意义的词,如:a,the,的,了(去除停用词)
(3)将单词的变形(如过去式、过去分词)统一转化为词干
(4)用词组来组成词袋,这样不仅减少了词袋的大小,而且会更有意义(N-gram模型)
有关去除停用词和N-gram的介绍可以看博主往期文章NLP之文本预处理详解_tt丫的博客-CSDN博客
6、代码实现
主要通过sklearn.feature_extraction.text中的CountVectorizer类来实现
CountVectorizer是特征数值计算类,对于每个文本通过fit_transform方法来计算每个单词在该文本中出现的频率,形成词频矩阵。
通过get_feature_names可查看所有文本关键字,通过toarray可查看到文本的词袋模型结果
NLP之文本特征提取详解相关推荐
- NLP之文本预处理详解
入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删. Ps预防针:与英文分类文本预处理相比,中文分类文本预处理更加复杂关键 目录 一.进行文本预处理 ...
- 【NLP】Google BERT详解
版权声明:博文千万条,版权第一条.转载不规范,博主两行泪 https://blog.csdn.net/qq_39521554/article/details/83062188 </div> ...
- python图像特征提取进行分割_python实现图片处理和特征提取详解
这是一张灵异事件图...开个玩笑,这就是一张普通的图片. 毫无疑问,上面的那副图画看起来像一幅电脑背景图片.这些都归功于我的妹妹,她能够将一些看上去奇怪的东西变得十分吸引眼球.然而,我们生活在数字图片 ...
- python抓取图片数字_python实现图片处理和特征提取详解
这是一张灵异事件图...开个玩笑,这就是一张普通的图片. 毫无疑问,上面的那副图画看起来像一幅电脑背景图片.这些都归功于我的妹妹,她能够将一些看上去奇怪的东西变得十分吸引眼球.然而,我们生活在数字图片 ...
- NLP中BERT模型详解
标题NLP中BERT模型详解 谷歌发表的论文为: Attention Is ALL You Need 论文地址:[添加链接描述](https://arxiv.org/pdf/1706.03762.pd ...
- python怎么重命名word文件,Python读取word文本操作详解
本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...
- Android 应用开发(40)---TextView(文本框)详解
TextView(文本框)详解 1.基础属性详解: 通过下面这个简单的界面,我们来了解几个最基本的属性: 布局代码: <RelativeLayout xmlns:android="ht ...
- office是python打开方式_Python读取word文本操作详解
本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...
- [Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- python读取word内容复制粘贴,Python读取word文本操作详解
本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...
最新文章
- sybase 数据导入mysql_Windows环境下Sybase12.5 数据库创建与导入数据库.docx
- java class扫描接口_JAVA 扫描指定路径下所有的jar包,并保存所有实现固定接口的类型...
- 模块怎么用_IC设计方法:模块划分与overdesign
- 数据拆分_数据拆分,偏方请拿好
- grpc服务器和客户端互传数据
- idea git 注意事项
- Dapper使用在WCF上总是说Service找不到
- 令人笑喷的56个代码注释,最后几个老衲实在憋不住了。。。
- Linux 日志切割神器 Logrotate 原理和配置详解(附多生产实例)
- [UE4]接入steam sdk的plugin,可以获取到用户id和name,steam userid playerid
- python的pyecharts(群图乱舞)可视化神器
- 十、软考·系统架构师——软件测试及维护
- 定时器中断控制LED闪烁(每隔1s)---普中科技开发仪
- 网页自动保存的密码忘记 如何查看密码
- Kingdee常见网络问题-rubberdam.cn
- 行政边界矢量数据shp/kml/json/csv(省、市、区、县、乡镇)
- 【渝粤教育】电大中专就业指导答案作业 题库
- asp编程有用的例子
- 解决AutoDesk Eagle双击无法启动及语言修改添加元件库的问题
- JAVA工具类Hutool介绍与使用