NLP-中文文本去除标点符号
- 简单记录一下中文文本如何去除标点和特殊符号的问题。。。
目录
- 目录
- 一、回顾一下英文如何去除符号等预处理问题
- ①去除特殊符号
- ②去除数字
- ③词形归一
- ④停止词
- ⑤将上述内容综合
- 二、中文文本去除标点符号
- 1.背景知识
- 2.示例说明1:使用Zhon库中的符号集
- ①命令行中安装Zhon库
- ②代码
- ③结果
- ④问题说明
- 3.示例说明2:自定义特殊符号集进行去除
一、回顾一下英文如何去除符号等预处理问题
①去除特殊符号
def isSymbol(inputString):return bool(re.match(r'[^\w]', inputString))
②去除数字
def hasNumbers(inputString):return bool(re.search(r'\d', inputString))
③词形归一
from nltk.stem import WordNetLemmatizer
wordnet_lemmatizer = WordNetLemmatizer()
④停止词
from nltk.corpus import stopwords
stop = stopwords.words('english')
⑤将上述内容综合
def check(word):"""如果需要这个单词,则True如果应该去除,则False"""word= word.lower()if word in stop:return Falseelif hasNumbers(word) or isSymbol(word):return Falseelse:return True# 把上面的方法综合起来
def preprocessing(sen):res = []for word in sen:if check(word):#如果word为True的话则进行词形归一res.append(wordnet_lemmatizer.lemmatize(word))return res
接下来直接调用preprocessing()完成数据的预处理:
X_train = [preprocessing(x) for x in X_train]
X_test = [preprocessing(x) for x in X_test]
二、中文文本去除标点符号
1.背景知识
-
- (1)使用
zhon.hanzi.punctuation
函数实现。
- (2)其中zhon是一个python库,它提供了在中文文本处理中常用的几个功能函数,一共包含四个模块:
zhon.hanzi
;zhon.pinyin
;zhon.zhuyin
;zhon.cedict
。
- (3)其中实现去除标点的功能在
zhon.hanzi
模块中,我们使用from zhon.hanzi import punctuation
进行调用。
- (4)其中
zhon.hanzi.punctuation
函数是zhon.hanzi.non_stops
和zhon.hanzi.stop
两个函数的结合。
- (1)使用
-
①
zhon.hanzi.non_stops
它包含中文标点符号,不包括用作停止的标点符号。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏
-
②
zhon.hanzi.stops
包含起着停止作用的符号:!?。。
了解更多Zhon内容请点击链接:Zhon
2.示例说明1:使用Zhon库中的符号集
①命令行中安装Zhon库
pip install zhon
②代码
import re
from zhon.hanzi import punctuation
from zhon.hanzi import non_stops
from zhon.hanzi import stops
corpus='花!呗/期?免,息.---蚂!蚁/花呗?期免stops息,什么。意思??'
print(corpus)
string1 = re.sub(r"[%s]+" %punctuation, "",corpus)#去除, ! ? 。
string2 = re.sub(r"[%s]+" %non_stops, "",corpus)#去除,
string3 = re.sub(r"[%s]+" %stops, "",corpus)#去除! ? 。
print(string1)
print(string2)
print(string3)
③结果
④问题说明
通过实验发现,利用Zhon库中的上述只能去除, 。 !?
四种符号,而且这四种符号必须是中文符号,无法去除英文符号,无法达到预期结果。。。
3.示例说明2:自定义特殊符号集进行去除
使用自定义的符号集,用于去除想去除的符号,保留对实验有用的符号。
import re
corpus='花呗***期免息! 蚂蚁花呗。***期免息什么意思?'
print(corpus)
string = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]", "",corpus)
print(string)
结果:
NLP-中文文本去除标点符号相关推荐
- nlp中文文本摘要提取,快速提取文本主要意思
文本摘要提取 之前写过一版 文本摘要提取,但那版并不完美.有所缺陷(但也获得几十次收藏). 中文文本摘要提取 (文本摘要提取 有代码)基于python 今天写改进版的文本摘要提取. 文本摘要旨在将文本 ...
- nlp 中文文本纠错_百度中文纠错技术
原标题:百度中文纠错技术 分享嘉宾:付志宏 百度资深研发工程师 编辑整理:李润顺 内容来源:Baidu Brain & DataFun AI Talk<百度中文纠错技术> 出品社区 ...
- 中文文本纠错任务简介
每天给你送来NLP技术干货! 来自:ChallengeHub 最近在梳理中文文本纠错任务,文本根据搜集到的文章整理成的任务简介,在此先感谢大佬们分享的高质量资料. 1 任务简介 中文文本纠错是针对中文 ...
- 『NLP自然语言处理』中文文本的分词、去标点符号、去停用词、词性标注
利用Python代码实现中文文本的自然语言处理,包括分词.去标点符号.去停用词.词性标注&过滤. 在刚开始的每个模块,介绍它的实现.最后会将整个文本处理过程封装成 TextProcess 类. ...
- 自然语言处理NLP中文分词,词性标注,关键词提取和文本摘要
NLP相关工具包的介绍 1.1 jieba "结巴"中文分词,理念是做最好的 Python 中文分词组件. 支持三种分词模式: (1)精确模式,试图将句子最精确地切开,适合文本分析 ...
- 【自然语言处理基础技能(NLP)】jieba中文文本处理
1.基本分词函数与用法 # jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(un ...
- NLP(05)_中文文本基本任务与处理
中文文本基本任务与处理 本文所用资料链接: https://pan.baidu.com/s/1KC1ya38fml1mlXYGBF0mIw 提取码: r76u 1.分词 对于中文和日文这样的特殊亚洲语 ...
- 如何在java中去除中文文本的停用词
2019独角兽企业重金招聘Python工程师标准>>> 1. 整体思路 第一步:先将中文文本进行分词,这里使用的HanLP-汉语言处理包进行中文文本分词. 第二步:使用停用词表,去 ...
- 去停用词 java代码_如何在java中去除中文文本的停用词
1. 整体思路 第一步:先将中文文本进行分词,这里使用的HanLP-汉语言处理包进行中文文本分词. 第二步:使用停用词表,去除分好的词中的停用词. 2. 中文文本分词环境配置 使用的HanLP-汉 ...
最新文章
- 网站转化率做不好多半是这三大因素产生干扰
- oracle union 类型转换,Oracle 中 union 和union all 的简单使用说明
- 小学少年宫计算机组活动教案,小学少年宫计算机兴趣小组活动记录表汇编
- SQL解析在美团的应用
- hadoop 命令行运行
- 64位/32位操作系统ODBC的设定方法
- 时隔5年 三星要重回苹果闪存零部件供应商名单了
- 堆排序(php实现)
- Windows编程 第七回 绘图课(上)
- 使用php函数防止SQL注入方法
- Kafka从上手到实践 - 庖丁解牛:Partition | 凌云时刻
- 51单片机学习笔记8 -- OLED显示(SPI)
- 猜价格游戏java_猜商品价格游戏程序.java
- 存算一体文献阅读笔记二:XNOR-RRAM architecture for BNN from Shimeng Yu in ASU 2017
- 给UIButton设置不同状态下的背景色
- 树莓派综合项目2:智能小车(一)四轮驱动
- PS亮度蒙版工具:Lumenzia for Mac(支持ps2022)
- 999系统可用性时间表
- 面向对象编程基本概念
- 哥德尔预言无穷小微积分是未来的数学分析
热门文章
- Java获取sql语句where条件后的语句
- JAVA电子病历系统源码,云端SaaS服务 前后端分离模式开发和部署
- uniapp vue3中引入外部3D模型(适配App)
- 计算机专业的英语短文,计算机专业英语短文翻译.doc
- 【数字图像处理】实验一图像基本变换(MATLAB实现)
- matlab 遗传算法求解多式联运优化——可考虑中转次数约束、满意度最高和成本最优方案
- 判断是否为闰年(简易分支)
- APP嵌入手机拍照银行卡识别接口,实现快速绑定银行卡号
- 如何查询202118山东高考成绩,往年高考成绩怎么查询 查询成绩的方法
- <马哲>生产力和生产关系的辩证原理