深度学习入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

✨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之文本特征提取详解相关推荐

  1. NLP之文本预处理详解

    入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删. Ps预防针:与英文分类文本预处理相比,中文分类文本预处理更加复杂关键 目录 一.进行文本预处理 ...

  2. 【NLP】Google BERT详解

    版权声明:博文千万条,版权第一条.转载不规范,博主两行泪 https://blog.csdn.net/qq_39521554/article/details/83062188 </div> ...

  3. python图像特征提取进行分割_python实现图片处理和特征提取详解

    这是一张灵异事件图...开个玩笑,这就是一张普通的图片. 毫无疑问,上面的那副图画看起来像一幅电脑背景图片.这些都归功于我的妹妹,她能够将一些看上去奇怪的东西变得十分吸引眼球.然而,我们生活在数字图片 ...

  4. python抓取图片数字_python实现图片处理和特征提取详解

    这是一张灵异事件图...开个玩笑,这就是一张普通的图片. 毫无疑问,上面的那副图画看起来像一幅电脑背景图片.这些都归功于我的妹妹,她能够将一些看上去奇怪的东西变得十分吸引眼球.然而,我们生活在数字图片 ...

  5. NLP中BERT模型详解

    标题NLP中BERT模型详解 谷歌发表的论文为: Attention Is ALL You Need 论文地址:[添加链接描述](https://arxiv.org/pdf/1706.03762.pd ...

  6. python怎么重命名word文件,Python读取word文本操作详解

    本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...

  7. Android 应用开发(40)---TextView(文本框)详解

    TextView(文本框)详解 1.基础属性详解: 通过下面这个简单的界面,我们来了解几个最基本的属性: 布局代码: <RelativeLayout xmlns:android="ht ...

  8. office是python打开方式_Python读取word文本操作详解

    本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...

  9. [Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  10. python读取word内容复制粘贴,Python读取word文本操作详解

    本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...

最新文章

  1. sybase 数据导入mysql_Windows环境下Sybase12.5 数据库创建与导入数据库.docx
  2. java class扫描接口_JAVA 扫描指定路径下所有的jar包,并保存所有实现固定接口的类型...
  3. 模块怎么用_IC设计方法:模块划分与overdesign
  4. 数据拆分_数据拆分,偏方请拿好
  5. grpc服务器和客户端互传数据
  6. idea git 注意事项
  7. Dapper使用在WCF上总是说Service找不到
  8. 令人笑喷的56个代码注释,最后几个老衲实在憋不住了。。。
  9. Linux 日志切割神器 Logrotate 原理和配置详解(附多生产实例)
  10. [UE4]接入steam sdk的plugin,可以获取到用户id和name,steam userid playerid
  11. python的pyecharts(群图乱舞)可视化神器
  12. 十、软考·系统架构师——软件测试及维护
  13. 定时器中断控制LED闪烁(每隔1s)---普中科技开发仪
  14. 网页自动保存的密码忘记 如何查看密码
  15. Kingdee常见网络问题-rubberdam.cn
  16. 行政边界矢量数据shp/kml/json/csv(省、市、区、县、乡镇)
  17. 【渝粤教育】电大中专就业指导答案作业 题库
  18. asp编程有用的例子
  19. 解决AutoDesk Eagle双击无法启动及语言修改添加元件库的问题
  20. JAVA工具类Hutool介绍与使用

热门文章

  1. 微信小程序 服务通知之订阅消息授权公共方法
  2. 各大网络安全厂商及安全产品
  3. 视频播放神器——PotPlayer基本设置
  4. 批量下载全国县级行政区划geojson格式数据,将下载的geojson数据批量转为shapefile格式,在arcgis中可视化
  5. DW制作小三角型教程
  6. 服务器驱动文件丢失恢复教程,服务器驱动丢失。
  7. js web端扫码枪对接
  8. 模拟幅度调制相干解调系统抗噪声性能仿真分析
  9. win7怎么看计算机Mac地址,win7如何查看mac地址?win7系统查看mac地址两种方法
  10. OpenCV.js 视频入门