使用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多线程同步Lock、RLock、Semaphore、Event实例
Nov 21 Python
简单的编程0基础下Python入门指引
Apr 01 Python
深入源码解析Python中的对象与类型
Dec 11 Python
浅谈Python 中整型对象的存储问题
May 16 Python
python 开发的三种运行模式详细介绍
Jan 18 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
PyQt5实现简易电子词典
Jun 25 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
在Python3 numpy中mean和average的区别详解
Aug 24 Python
使用turtle绘制五角星、分形树
Oct 06 Python
Python处理PDF与CDF实例
Feb 26 Python
7个关于Python的经典基础案例
Nov 07 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脚本的10个技巧(7)
2006/10/09 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
基于jquery的商品展示放大镜
2010/08/07 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
javascript新闻跑马灯实例代码
2020/07/29 Javascript
Angular工具方法学习
2016/12/26 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
EM算法的python实现的方法步骤
2018/01/02 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
CSS3 边框效果
2019/11/04 HTML / CSS
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
小学教师学期末自我评价
2013/09/25 职场文书
应届生煤化工求职信
2013/10/21 职场文书
财务管理职业生涯规划范文
2013/12/27 职场文书
总经理司机职责
2014/02/02 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
父母对孩子的寄语
2014/04/09 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
考研英语辞职信
2015/05/13 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
安全教育日主题班会
2015/08/13 职场文书
会议主持词通用版
2019/04/02 职场文书
Django实现聊天机器人
2021/05/31 Python
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL