在NLP应用中,通常需要对文本中的停用词、出现频率很低的词汇过滤掉,这类似于特征筛选。

停顿词和低频词

停顿词:对于理解文章或者句子没有太大意义的词。这些词实际上是任何语言中最常见的词(如冠词、介词、代词、连词等),不会给文本增加太多信息。英语中几个停用词的例子是“the”,“a”,“an”,“so”,“what”。

低频词:语料中出现频率很低的词,这类词对分析作用不大,所以一般也会去掉。比如1万个单词的文章里它只出现了一两次。

注意事项:在删除停用词之前,先研究一下你的任务和你要解决的问题,然后再做决定。

停顿词库

1. 自然语言工具包(NLTK)

NLTK是一个可以使用自然语言库。当你将开始你的NLP之旅,这是你将使用的第一个库。导入库和英语停用词列表的步骤如下:

import nltk
from nltk.corpus import stopwordssw_nltk = stopwords.words('english')
print(sw_nltk)text = "When I first met her she was very quiet. She remained quiet during the entire two hour long journey from Stony Brook to New York."words = [word for word in text.split() if word.lower() not in sw_nltk]
new_text = " ".join(words)print(new_text)
print("Old length: ", len(text))
print("New length: ", len(new_text))# 把我自己的停用词加到列表上
sw_nltk.extend(['first', 'second', 'third', 'me'])
print(len(sw_nltk))# 从预先制作的列表中删除停用词
sw_nltk.remove('not')

2. spaCy

spaCy是一个用于高级NLP的开源软件库。这个库现在非常流行,NLP从业者使用它来完成他们的工作。

import spacy
# 加载英文空间小模型
en = spacy.load('en_core_web_sm')
sw_spacy = en.Defaults.stop_words
print(sw_spacy)# 删除文本中停顿词
text = "When I first met her she was very quiet. She remained quiet during the entire two hour long journey from Stony Brook to New York."words = [word for word in text.split() if word.lower() not in sw_spacy]
new_text = " ".join(words)
print(new_text)
print("Old length: ", len(text))
print("New length: ", len(new_text))

3. Gensim

Gensim(Generate-Similar)是一个使用现代统计机器学习的开源软件库。根据Wikipedia的说法,Gensim被设计成使用数据流和增量在线算法来处理大型文本集合,这与其他大多数只针对内存处理的机器学习软件包不同。

import gensim
from gensim.parsing.preprocessing import remove_stopwords, STOPWORDS
print(STOPWORDS)

NLP之文本预处理与特征工程——停顿词与词的过滤(2)相关推荐

  1. NLP的文本分析与特征工程

    作者|Mauro Di Pietro 编译|VK 来源|Towards Data Science 摘要 在本文中,我将使用NLP和Python解释如何为机器学习模型分析文本数据和提取特征. 自然语言处 ...

  2. NLP中的文本分析和特征工程

    语言检测,文本清理,长度测量,情绪分析,命名实体识别,n字频率,词向量,主题建模 前言 在本文中,我将使用NLP和Python解释如何分析文本数据并为机器学习模型提取特征. NLP(自然语言处理)是人 ...

  3. delphi 停电文本数据丢失_NLP中的文本分析和特征工程

    语言检测,文本清理,长度测量,情绪分析,命名实体识别,n字频率,词向量,主题建模 前言 在本文中,我将使用NLP和Python解释如何分析文本数据并为机器学习模型提取特征. NLP(自然语言处理)是人 ...

  4. sklearn 神经网络_sklearn中的数据预处理和特征工程

    小伙伴们大家好~o( ̄▽ ̄)ブ,今天我们看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下,我的开发环境是Jupyter lab,所用的库和版本大家参考: Python 3.7.1(你 ...

  5. sklearn中eof报错_sklearn中的数据预处理和特征工程

    小伙伴们大家好~o( ̄▽ ̄)ブ,今天我们看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下,我的开发环境是Jupyter lab,所用的库和版本大家参考: Python 3.7.1(你 ...

  6. sklearn实战-----3.数据预处理和特征工程

    1 概述 1.1 数据预处理与特征工程 想象一下未来美好的一天,你学完了菜菜的课程,成为一个精通各种算法和调参调库的数据挖掘工程师了.某一天 你从你的同事,一位药物研究人员那里,得到了一份病人临床表现 ...

  7. 数据预处理与特征工程—12.常见的数据预处理与特征工程手段总结

    文章目录 引言 1.数据预处理 1.1 数据清洗 1.1.1 异常值处理 1.1.2 缺失值处理 1.2 特征预处理 1.2.1 数值型特征无量纲化 1.2.2 连续数值型特征分箱 1.2.2.1 无 ...

  8. 天池- IJCAI-18 阿里妈妈搜索广告转化预测新手入门经历(一:数据预处理、特征工程)

    第一次正式参加数据挖掘类的比赛,投入了三个星期.结果没有进入复赛,但是学到了许多经验.感谢技术圈和github的大佬们提供的baseline,让我少走了很多弯路. 第一次写博客,其一为了防止以后忘记, ...

  9. 使用Sklearn库学习数据预处理和特征工程

    目录 1,概述 1.1,数据预处理和特征工程 1.2,sklearn中的数据预处理和特征工程 2,数据预处理 Preprocessing & Impute 2.1,数据无量纲化 2.2,缺失值 ...

最新文章

  1. wince车机可以连接电脑吗_想在WinCE车机上运行凯立德实时路况版吗?那就进来看看,让你一键傻瓜式联网...
  2. POJ 1696 Space Ant(极角排序)【计算几何】
  3. 非线性回归模型(part1)--神经网络
  4. 清除float的方法
  5. 第七次网页前端培训(JS)
  6. 【SegMap: 3D Segment Mapping using Data-Driven Descriptors】
  7. 在idea导入项目依赖爆红
  8. 免费屏幕录像软件哪个好?简单几步教你快速录制无水印的高清视频!
  9. php 时间转换时间戳_php时间戳转换日期方法总结
  10. python numpy库数组的存取
  11. 【实习周报】2019年5月 前端开发实习工作周报汇总
  12. 青铜器RDM与PTC Windchill协同构建货真价实的PLM解决方案
  13. abyy a+poj1062
  14. 手机打开电脑html没有图片,jpg图片手机能看电脑打不开怎么办
  15. MyBatisPlus 开启事务并交由 Springboot 管理
  16. 基于BK蓝牙RW-BLE协议栈调度逻辑梳理
  17. 【历史上的今天】3 月 17 日:苹果起诉微软;CN 域名开放注册;赛博朋克之父出生
  18. (一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程
  19. 【图】【热传】安全漏洞破解的奇迹
  20. 记一次成功的软件著作权的申请

热门文章

  1. EM加血程序(多人版)程序(流星程序集之六)
  2. 城市供水管网监测解决方案
  3. 【被误解是不是表达者的宿命】
  4. 惠普Envy dv4笔记本电脑U盘安装win10系统
  5. 无法连接到语音信箱服务器,信箱帐户电子信箱格式
  6. iOS 使用第三字体
  7. java计算机毕业设计装修网站源码+mysql数据库+系统+部署+lw文档
  8. 使用TileMap制作游戏地图,在cocos2d-x中使用(一)
  9. AR行业发展现状:定义、技术原理及商业价值
  10. ID2022 for Mac安装教程