句子切分(Sentence Tokenize)

nltk的分词是句子级别的,所以对于一篇文档首先要将文章按句子进行分割,然后句子进行分词

from nltk.tokenize import sent_tokenizetext = """Hello Mr. Smith, how are you doing today? The weather is great, and
city is awesome.The sky is pinkish-blue. You shouldn't eat cardboard"""tokenized_text = sent_tokenize(text)
print(tokenized_text)
['Hello Mr. Smith, how are you doing today?', 'The weather is great, and \ncity is awesome.The sky is pinkish-blue.', "You shouldn't eat cardboard"]

单词切分(Word Tokenize)

import nltksent = "Study hard and improve every day."
token = nltk.word_tokenize(sent)
print(token)
['Study', 'hard', 'and', 'improve', 'every', 'day', '.']

移除标点符号

对每个切词调用该函数,移除字符串中的标点符号,string.punctuation包含了所有的标点符号,从切词中把这些标点符号替换为空格。

python的string模块下的 punctuation 包含所有的英文标点符号,所以用replace()一下就可以去除

注意:

string.punctuation中的标点符号只有英文

#所有的标点字符
import string
string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

去除中文标点符号
如果是中文文本,可以调用zhon包的zhon.hanzi.punctuation函数即可得到中文的标点符号集合

英文的

import string
s = 'a,sbch.:usx/'
S = s.translate(str.maketrans(string.punctuation, " " * len(string.punctuation)))
print(S)
a sbch  usx
import string
stri = 'today is friday, so happy..!!!'
punctuation_string = string.punctuationprint("所有的英文标点符号:", punctuation_string)
for i in punctuation_string:stri = stri.replace(i, '')
print(stri)
所有的英文标点符号: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
today is friday so happy

如果是中文的捏

from zhon.hanzi import punctuationstr = '今天周五,下班了,好开心呀!!'
punctuation_str = punctuation
print("中文标点符合:", punctuation_str)
for i in punctuation:str = str.replace(i, '')
print(str)
中文标点符合: "#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、 、〃〈〉《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏﹑﹔·!?。。
今天周五下班了好开心呀

string模块

在对字符串操作时,如果感觉自己写的很复杂时,可以试试string模块,里面有很多实用的属性。

>>>import string
>>>string.punctuation#所有的标点字符
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>>string.whitespace#所有的空白字符
' \t\n\r\x0b\x0c'
>>>string.ascii_uppercase#所有的大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>>string.ascii_lowercase#所有的小写字母
'abcdefghijklmnopqrstuvwxyz'
>>>string.hexdigits#所有的十六进制字符
'0123456789abcdefABCDEF'

zhon库

学习笔记——zhon库的简介、安装、使用方法之详细攻略

import re
import zhon.hanzirst = re.findall(zhon.hanzi.sentence, '我买了一辆车。妈妈做的菜,很好吃!')
print(rst)
['我买了一辆车。', '妈妈做的菜,很好吃!']

移除停用词

将数据转换为计算机可以理解的内容的过程称为预处理。预处理的主要形式之一是过滤掉无用的数据。在自然语言处理中,无用的单词(数据)称为停用词。
停用词是指搜索引擎已编程忽略的常用词(例如“the”,“a”,“an”,“in”)。
我们不希望这些单词占用我们数据库中的空间,或占用宝贵的处理时间。为此,我们可以通过存储要停止使用的单词的列表轻松删除它们。

关于安装NLTK语料库

这个是详细介绍

import nltk
nltk.download()

关于NLTK_DATA下载的坑

经过不懈的努力终于搞好了(这些问题可能别人也会遇到)
OSError: No such file or directory: 'C:\Users\2019\AppData\Roaming\nltk_data\corpora\stopword
解决方案

使用split()函数进行分词

import nltk
from nltk.corpus import stopwords
stop_words = stopwords.words("english")
text = """Hello Mr. Smith, how are you doing today? The weather is great, and city is awesome. """
word_tokens = nltk.tokenize.word_tokenize(text.strip())
filtered_word = [w for w in word_tokens if not w in stop_words]
print(filtered_word)
['Hello', 'Mr.', 'Smith', ',', 'today', '?', 'The', 'weather', 'great', ',', 'city', 'awesome', '.']

【自然语言处理】-nltk库学习笔记(一)相关推荐

  1. python自然语言处理案例-Python自然语言处理 NLTK 库用法入门教程【经典】

    本文实例讲述了Python自然语言处理 NLTK 库用法.分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP).本教程将会使用 Python NLTK ...

  2. Python自然语言处理 NLTK 库用法入门教程【经典】

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python自然语言处理 NLTK 库用法.分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python ...

  3. python xlwings 切片_Python xlwings库学习笔记(1)

    Python xlwings库学习笔记(1) Python是最近几年很火的编程语言,被办公自动化的宣传吸引入坑,办公自动化必然绕不开Excel的操作,能操作Excel的库有很多,例如: xlrd xl ...

  4. python标准库学习笔记

    原创:python标准库学习笔记 数据结构 bisect 模块里实现了一个向列表插入元素时也会顺便排序的算法. struct - 二进制数据结构:用途:在 Python 基本数据类型和二进制数据之间进 ...

  5. 深度学习常用python库学习笔记

    深度学习常用python库学习笔记 常用的4个库 一.Numpy库 1.数组的创建 (1)np.array() (2)np.zeros() (3)np.ones() (4)np.empty() (5) ...

  6. Huggingface Transformers库学习笔记(二):使用Transformers(上)(Using Transformers Part 1)

    前言 本部分是Transformer库的基础部分的上半部分,主要包括任务汇总.模型汇总和数据预处理三方面内容,由于许多模型我也不太了解,所以多为机器翻译得到,错误再所难免,内容仅供参考. Huggin ...

  7. STM32 HAL库学习笔记1-HAL库简介

    STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...

  8. STM32 HAL库学习笔记4-SPI

    STM32 HAL库学习笔记4-SPI 前言 一.SPI协议简介 SPI物理层 SPI协议层 1.基本通讯过程 2. 通讯的起始和停止信号 3. 数据有效性 4. CPOL/CPHA 及通讯模式 二. ...

  9. Python_pygame库学习笔记(1):pygame的由来,特点以及模块简介

    Python_pygame库学习笔记 1 Pygame库的由来: Python适合用来开发游戏吗? Pygame的安装 Pygame模块简介 Pygame库的由来: 2000年,作者Pete Shin ...

最新文章

  1. ShineTime - 带有 CSS3 闪亮特效的缩略图相册
  2. 【spring cloud zookeeper】KeeperErrorCode = Unimplemented for
  3. HarmonyOS之深入解析图像的位图操作和属性解码
  4. 读《数学之美》第四章 谈谈分词
  5. 中国移动停售华为5G手机?双方回应...
  6. php实现最后登录时间,php实例之基于Cookie的登录表单和获取最后登录时间
  7. 【java】对学生成绩进行排序
  8. sklearn笔记之preprocessing
  9. 紧张的337小时,终于等来了宇宙条字节跳动offer
  10. realme v11密码解锁_真我V11忘记密码怎么刷机删除跳过激活账号使用
  11. texture_laws 纹理滤波用于缺陷检测
  12. 制作ZedBoard-linaro-desktop-ubuntu全过程之运行linaro系统
  13. ME525 刷机历险记
  14. (转)Android屏幕适配全攻略(最权威的官方适配指导)
  15. 极客日报:恶意软件感染超1000万台安卓设备;淘宝App已支持“云闪付”付款;OpenSSH 8.8发布
  16. WORD页码相同问题
  17. Mac安装brew 及安装报错的解决办法【已解决】
  18. QTextDocument
  19. 通信协议-GMSL(千兆多媒体串行链路)
  20. flinkSql中自定义时间窗口开启时间

热门文章

  1. ajax局部刷新不出来,关于Ajax局部刷新未出来数据的问题
  2. 最新上海市小区面shp数据学校大厦等占地范围面数据2021年(含预览图)arcgis下载与介绍
  3. 青春不过,几次世界杯,足球让我明白,努力的方向
  4. Win10软件出现找不到HID.DLL问题
  5. Java 按照范围生成随机数公式
  6. 图像处理: Canny边缘检测
  7. 【OpenCV-Python】:Canny边缘检测的图像化与数值化直观显示
  8. 【190112】VC++ 小型会员积分管理系统源代码
  9. Python操作数据库写入CSV文件
  10. html+页面的背景透明,css设置背景透明 元素不透明