使用python进行文本预处理和提取特征的实例


Posted in Python onJune 05, 2018

如下所示:

<strong><span style="font-size:14px;">文本过滤</span></strong>
result = re.sub(r'[^\u4e00-\u9fa5,。?!,、;:“ ”‘ '( )《 》〈 〉]', "", content)#只保留中文和标点
result = re.sub(r'[^\u4e00-\u9fa5]', "",content)#只保留中文 
result = re.sub(r'[^\0-9\.\u4e00-\u9fa5,。?!,、;:“ ”‘ '( )《 》〈 〉]', "", content)#只保留中文和标点和数字 
result = re.sub(r'[^\u4e00-\u9fa5,A-Za-z0-9]', "",content)#只保留中文、英文和数字

文本去除两个以上空格

content=re.sub(r'\s{2,}', '', content)

bas4编码变成中文

def bas4_decode(bas4_content): 
 decodestr= base64.b64decode(bas4_content) 
 result = re.sub(r'[^\0-9\.\u4e00-\u9fa5,。?!,、;:“ ”‘ '( )《 》〈 〉]', "", decodestr.decode())#只保留中文和标点和数字 
 return result

文本去停用词

def text_to_wordlist(text): 
 result = re.sub(r'[^\u4e00-\u9fa5]', "",text) 
 f1_seg_list = jieba.cut(result)#需要添加一个词典,来弥补结巴分词中没有的词语,从而保证更高的正确率 
 f_stop = codecs.open(".\stopword.txt","r","utf-8") 
 try: 
  f_stop_text = f_stop.read() 
 finally: 
  f_stop.close() 
 f_stop_seg_list = f_stop_text.split() 
 
 test_words = [] 
 
 for myword in f1_seg_list: 
  if myword not in f_stop_seg_list: 
   test_words.append(myword) 
    
 return test_words

文本特征提取

import jieba 
import jieba.analyse 
import numpy as np 
#import json 
import re

def Textrank(content):
 result = re.sub(r'[^\u4e00-\u9fa5]', "",content)
 seg = jieba.cut(result) 
 jieba.analyse.set_stop_words('stopword.txt')
 keyList=jieba.analyse.textrank('|'.join(seg), topK=10, withWeight=False) 
 return keyList

def TF_IDF(content):
 result = re.sub(r'[^\u4e00-\u9fa5]', "",content)
 seg = jieba.cut(result) 
 jieba.analyse.set_stop_words('stopword.txt')
 keyWord = jieba.analyse.extract_tags( 
  '|'.join(seg), topK=10, withWeight=False, allowPOS=())#关键词提取,在这里对jieba的tfidf.py进行了修改 
 return keyWord

以上这篇使用python进行文本预处理和提取特征的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
介绍Python中的一些高级编程技巧
Apr 02 Python
Python编程之属性和方法实例详解
May 19 Python
python实现Floyd算法
Jan 03 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
Apr 25 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
Apr 03 Python
python数据处理——对pandas进行数据变频或插值实例
Apr 22 Python
Python 发送SMTP邮件的简单教程
Jun 24 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 11 Python
python 用正则表达式筛选文本信息的实例
Jun 05 #Python
python和shell获取文本内容的方法
Jun 05 #Python
python 查找文件名包含指定字符串的方法
Jun 05 #Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 #Python
Python实现的读写json文件功能示例
Jun 05 #Python
python计算日期之间的放假日期
Jun 05 #Python
python检索特定内容的文本文件实例
Jun 05 #Python
You might like
基于mysql的论坛(1)
2006/10/09 PHP
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
JS字符串函数扩展代码
2011/09/13 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
python3实现逐字输出的方法
2019/01/23 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
家庭户外服装:Hawkshead
2017/11/02 全球购物
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
高中毕业的自我鉴定
2013/12/09 职场文书
创业计划书六个要素
2013/12/26 职场文书
企业精神口号
2014/06/11 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
go goroutine 怎样进行错误处理
2021/07/16 Golang
关于nginx 实现jira反向代理的问题
2021/09/25 Servers