使用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的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
目前最全的python的就业方向
Jun 05 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
在cmder下安装ipython以及环境的搭建
Oct 19 Python
Python 通过调用接口获取公交信息的实例
Dec 17 Python
Django框架模板介绍
Jan 15 Python
Python中print和return的作用及区别解析
May 05 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
基于Python的ModbusTCP客户端实现详解
Jul 13 Python
python3将变量输入的简单实例
Aug 19 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
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
JS 建立对象的方法
2007/04/21 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
Python迭代器和生成器介绍
2015/03/06 Python
python冒泡排序简单实现方法
2015/07/09 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
python+pyqt5编写md5生成器
2019/03/18 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
python 实现多维数组(array)排序
2020/02/28 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
联想C++笔试题
2012/06/13 面试题
大学生自我评价怎样写好
2013/10/23 职场文书
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
建筑工程技术应届生求职信
2013/11/17 职场文书
应用外语系自荐信
2014/06/26 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
市场总监岗位职责
2015/02/11 职场文书
学习经验交流会策划书
2015/11/02 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS