python 文本处理---英文文本预处理(简单易懂 全有注释)!!!!!使用正则表达式以及nltk库分词器双方法!
英文文本预处理---!
最近正在复习正则表达式,学习文本处理,今天就来处理一下英文文本,由于在下学到的知识不多,于是乎,只能写出下面的一些功能,虽然不是基于爬取网页后在进行网页分析,是直接对一个事先准备好的文本进行预处理,我的代码的功能有去除一个文本里面的所有中文文本,然后对英文单词进行分词处理。下面就来介绍一下吧!
首先,是需要导入的库,这里需要说明的是,停用词库需要到命令行中进入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库分词器双方法!相关推荐
- python矩阵的右下半部分【简单易懂,代码可以直接运行】
python矩阵的右下半部分[简单易懂,代码可以直接运行] 输入一个二维数组 M[12][12],根据输入的要求,求出二维数组的右下半部分元素的平均值或元素的和. 右下半部分是指次对角线下方的部分,如 ...
- Python求解一元二次方程问题【简单易懂,注释超全,代码可以直接运行】
Python求解一元二次方程问题[简单易懂,注释超全,代码可以直接运行] 业务需求: 解一元二次方程是初中数学中的基本知识,- -般来讲解法有公式法.因式分解法等.可以根据自己 的理解,写- -段求解 ...
- 基于Python实现的英文文本信息检索系统
目录 1.用户交互的实现: 3 3.查询表的建立 6 3.1 预处理 6 3.2 倒排表的构建 8 3.3 倒排表的压缩 9 3.4 构建轮排索引 10 4.布尔查询 11 5.TF-IDF 值的计算 ...
- python查看图片颜色统计_Python通过PIL获取图片主要颜色并和颜色库进行对比的方法...
本文实例讲述了Python通过PIL获取图片主要颜色并和颜色库进行对比的方法.分享给大家供大家参考.具体分析如下: 这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指 ...
- 【Python】对英文文本进行词频统计(分词、字典排序、文件读写)
准备知识 1.python读取文件 推荐链接:Python读写txt文本文件 不想细究,直接上手的读取文件参考代码 #默认文件位置为当前python代码的路径(相对路径) #输出文件应为字符串类型 f ...
- Node.js Stream(流) 简单易懂全解析
一.node.js中的流是什么 stream(流)是Node.js提供的又一个仅在服务区端可用的模块,流是一种抽象的数据结构.Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如, ...
- python颜色识别_浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
[更新]主要提供两种方案: 方案一:(参考网上代码,感觉实用性不是很强)使用PIL截取图像,然后将RGB转为HSV进行判断,统计判断颜色,最后输出RGB值 方案二:使用opencv库函数进行处理.(效 ...
- 在Python里如何切分中文文本句子(分句)、英文文本分句(切分句子)
在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同.本文会介绍 Python 是如何处理 分句 的. 分句的关键是找 ...
- 利用Python统计中文或英文文本词频(适合初学者)
一篇文章出现了那些词语?那些词出现的次数最多? 中文文本?英文文本? 英文文本测试资源:哈默雷特:https://python123.io/resources/pye/hamlet.txt 中文文本测 ...
- python 英语分词_基于Python NLTK库进行英文文本预处理
文本预处理是要文本处理成计算机能识别的格式,是文本分类.文本可视化.文本分析等研究的重要步骤.具体流程包括文本分词.去除停用词.词干抽取(词形还原).文本向量表征.特征选择等步骤,以消除脏数据对挖掘分 ...
最新文章
- pytorch中tensor的unsqueeze()函数和squeeze()函数的用处
- Toad Oracle 本地/远程数据库导入/导出 数据库备份
- linux删除软件包git的命令,linux系统安装git及git常用命令
- 【预训练模型】一文串起从NLP到CV 预训练技术和范式演进
- J2ME Nokia 模拟器 安装运行
- html区分大小写字母吗,javascript变量区分大小写吗?
- stm32实验报告心得体会_STM32实验报告
- Pashmak and Parmida's problem(树状数组)
- Alpha,Beta,RC,RTM,EVAL,CTP,OEM,RTL,VOL
- Unity编程笔录--实现360全景视频和VR视频
- 过程与结果——独立思考——认真详谈
- 视频侦查实战应用平台
- 测量,信号处理中的精度分析 误差传播理论
- 强化区域产业链,优化区域产业布局,促区域经济高速发展
- var、let、const的区别
- Android studio关闭启动默认打开上次项目
- 晨哥真有料丨来看看你是哪款宝藏男孩!
- shell编写的天气预报桌面小程序
- 数据结构:图(一) 图的基本知识
- 讨教大学|2022年中质协六西格玛考试报名通知