英文文本预处理---!

最近正在复习正则表达式,学习文本处理,今天就来处理一下英文文本,由于在下学到的知识不多,于是乎,只能写出下面的一些功能,虽然不是基于爬取网页后在进行网页分析,是直接对一个事先准备好的文本进行预处理,我的代码的功能有去除一个文本里面的所有中文文本,然后对英文单词进行分词处理。下面就来介绍一下吧!

首先,是需要导入的库,这里需要说明的是,停用词库需要到命令行中进入python进行下载,这里放一个简单的教程。

第一步:打开命令行窗口,输入python

第二步:先后输出如下命令:

>>>import nltk

>>>nltk.download()

在这之后你会进入一个界面,你会找到stopwords然后在左下角有一个download按钮,点击一下就可以下载了.这里我因为下载过了,出了点问题进不去那个窗口,不过大家按照这个                                                          方法是可以进去的

安装完成之后,以下是导入的库:

import re
import nltk
from enchant.checker import SpellChecker
from nltk.corpus import stopwords

接下来呢,我就先输入一个需要处理的文本,初始文本中我故意把"amm" " jast" "booy" "basketball"打错来测试拼写检查。然后使用正则表达式中的sub函数来进行去除中文的操作.

##初始文本中我故意把"amm" " jast" "booy" "basketball"打错来测试拼写检查
text = 'I amm我是 一个普通的喜欢篮球的男生啊 jast a booy, and (( loved 我baskerball 还a lot. Just a lucky boy喜欢.'##使用去除中文
text = re.sub('[\u4e00-\u9fa5]','',text)
print('去除中文后:')
print(text)

然后分别使用re正则表达式和nltk库的分词器对去除中文后的文本进行分词处理。事实证明两种方法得出的结果是一样的,大家可以使用别的测试文本再试一下。说不定会发生小概率事件呢,哈哈哈

part = r"""(?x)                   (?:[A-Z]\.)+          |\d+(?:\.\d+)?%?      |\w+(?:[-']\w+)*       |\.\.\.  |\S\w* |\w+         |(?:[.,;"'?():-_`])    """texti = nltk.regexp_tokenize(text,part)
print('使用nltk库正则表达式对文本进行分词处理:')
print(nltk.regexp_tokenize(text,part))##使用nltk库的正则表达式分词器
print('使用re正则表达式对文本进行分词处理:')
print(re.findall(part,text))##使用re正则表达式方法

然后就是停用词处理,因为下面的拼写检查会用到原文本,所以停用词我使用了一个新的文本进行储存.

##停用词
stopwordd = set(stopwords.words('english'))
word = [i for i in texti if i not in stopwordd]
print('去除停用词后:')
print(word)

最后就是拼写检查了,在原始文本中我故意写错了四个单词,看看它能不能查出来,使用一个标记变量来记录写错单词的个数,以及一个数组来存储错误的单词.

##停用词
stopwordd = set(stopwords.words('english'))
word = [i for i in texti if i not in stopwordd]
print('去除停用词后:')
print(word)

完整代码:

import re
import nltk
from enchant.checker import SpellChecker
from nltk.corpus import stopwords##初始文本中我故意把"amm" " jast" "booy" "basketball"打错来测试拼写检查
text = 'I amm我是 一个普通的喜欢篮球的男生啊 jast a booy, and (( loved 我baskerball 还a lot. Just a lucky boy喜欢.'##使用去除中文
text = re.sub('[\u4e00-\u9fa5]','',text)
print('去除中文后:')
print(text)
part = r"""(?x)                   (?:[A-Z]\.)+          |\d+(?:\.\d+)?%?      |\w+(?:[-']\w+)*       |\.\.\.  |\S\w* |\w+         |(?:[.,;"'?():-_`])    """texti = nltk.regexp_tokenize(text,part)
print('使用nltk库正则表达式对文本进行分词处理:')
print(nltk.regexp_tokenize(text,part))##使用nltk库的正则表达式分词器
print('使用re正则表达式对文本进行分词处理:')
print(re.findall(part,text))##使用re正则表达式方法##停用词
stopwordd = set(stopwords.words('english'))
word = [i for i in texti if i not in stopwordd]
print('去除停用词后:')
print(word)##拼写查找
spell = SpellChecker("en_US")
spell.set_text(text)
##这里用标记变量t记录次数
t = 0
errword = []
for j in spell:t = t + 1errword.append(j.word)print('共发现错误的词数为:'+str(t))
print('这些拼写错误的单词依次为:')
print(errword)

如果大家有什么好的建议,或者有什么想说的,欢迎指点迷津!谢谢大家的阅读,希望我的文章能对大家学习python有所帮助.

python 文本处理---英文文本预处理(简单易懂 全有注释)!!!!!使用正则表达式以及nltk库分词器双方法!相关推荐

  1. python矩阵的右下半部分【简单易懂,代码可以直接运行】

    python矩阵的右下半部分[简单易懂,代码可以直接运行] 输入一个二维数组 M[12][12],根据输入的要求,求出二维数组的右下半部分元素的平均值或元素的和. 右下半部分是指次对角线下方的部分,如 ...

  2. Python求解一元二次方程问题【简单易懂,注释超全,代码可以直接运行】

    Python求解一元二次方程问题[简单易懂,注释超全,代码可以直接运行] 业务需求: 解一元二次方程是初中数学中的基本知识,- -般来讲解法有公式法.因式分解法等.可以根据自己 的理解,写- -段求解 ...

  3. 基于Python实现的英文文本信息检索系统

    目录 1.用户交互的实现: 3 3.查询表的建立 6 3.1 预处理 6 3.2 倒排表的构建 8 3.3 倒排表的压缩 9 3.4 构建轮排索引 10 4.布尔查询 11 5.TF-IDF 值的计算 ...

  4. python查看图片颜色统计_Python通过PIL获取图片主要颜色并和颜色库进行对比的方法...

    本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法.分享给大家供大家参考.具体分析如下: 这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指 ...

  5. 【Python】对英文文本进行词频统计(分词、字典排序、文件读写)

    准备知识 1.python读取文件 推荐链接:Python读写txt文本文件 不想细究,直接上手的读取文件参考代码 #默认文件位置为当前python代码的路径(相对路径) #输出文件应为字符串类型 f ...

  6. Node.js Stream(流) 简单易懂全解析

    一.node.js中的流是什么 stream(流)是Node.js提供的又一个仅在服务区端可用的模块,流是一种抽象的数据结构.Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如, ...

  7. python颜色识别_浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法

    [更新]主要提供两种方案: 方案一:(参考网上代码,感觉实用性不是很强)使用PIL截取图像,然后将RGB转为HSV进行判断,统计判断颜色,最后输出RGB值 方案二:使用opencv库函数进行处理.(效 ...

  8. 在Python里如何切分中文文本句子(分句)、英文文本分句(切分句子)

    在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同.本文会介绍 Python 是如何处理 分句 的. 分句的关键是找 ...

  9. 利用Python统计中文或英文文本词频(适合初学者)

    一篇文章出现了那些词语?那些词出现的次数最多? 中文文本?英文文本? 英文文本测试资源:哈默雷特:https://python123.io/resources/pye/hamlet.txt 中文文本测 ...

  10. python 英语分词_基于Python NLTK库进行英文文本预处理

    文本预处理是要文本处理成计算机能识别的格式,是文本分类.文本可视化.文本分析等研究的重要步骤.具体流程包括文本分词.去除停用词.词干抽取(词形还原).文本向量表征.特征选择等步骤,以消除脏数据对挖掘分 ...

最新文章

  1. pytorch中tensor的unsqueeze()函数和squeeze()函数的用处
  2. Toad Oracle 本地/远程数据库导入/导出 数据库备份
  3. linux删除软件包git的命令,linux系统安装git及git常用命令
  4. 【预训练模型】一文串起从NLP到CV 预训练技术和范式演进
  5. J2ME Nokia 模拟器 安装运行
  6. html区分大小写字母吗,javascript变量区分大小写吗?
  7. stm32实验报告心得体会_STM32实验报告
  8. Pashmak and Parmida's problem(树状数组)
  9. Alpha,Beta,RC,RTM,EVAL,CTP,OEM,RTL,VOL
  10. Unity编程笔录--实现360全景视频和VR视频
  11. 过程与结果——独立思考——认真详谈
  12. 视频侦查实战应用平台
  13. 测量,信号处理中的精度分析 误差传播理论
  14. 强化区域产业链,优化区域产业布局,促区域经济高速发展
  15. var、let、const的区别
  16. Android studio关闭启动默认打开上次项目
  17. 晨哥真有料丨来看看你是哪款宝藏男孩!
  18. shell编写的天气预报桌面小程序
  19. 数据结构:图(一) 图的基本知识
  20. 讨教大学|2022年中质协六西格玛考试报名通知

热门文章

  1. MacOS Big Sur 开启 HIDPI
  2. SystemTap笔记02 stap的编译运行
  3. 常见的74系列集成电路
  4. 高德地图----经纬度转地理位置,地理位置获取经纬度
  5. 基于vue的电商后台管理系统
  6. java sql in语句,sql语句In查询的好
  7. .ppt和.pptx有什么区别
  8. 2017onsite比赛游记帖
  9. POI 4.1.2 word转html(保留样式及图片)
  10. 线性系统大作业——0.一阶和二阶倒立摆建模与控制系统设计