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

yipeiwu_com6年前Python基础

如下所示:

<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设计】。

相关文章

Laravel+Dingo/Api 自定义响应的实现

在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库。 Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段。 刚开始使用Ding/Api时,返回如下...

Numpy之文件存取的示例代码

上一篇中我们简要带过了Numpy的数据持久化,在这一篇中将要具体说明Numpy提供的文件存取功能。Numpy可以将数组保存至二进制文件、文本文件,同时支持将多个数组保存至一个文件中。 1...

python飞机大战pygame游戏之敌机出场实现方法详解

python飞机大战pygame游戏之敌机出场实现方法详解

本文实例讲述了python飞机大战pygame游戏之敌机出场实现方法。分享给大家供大家参考,具体如下: 目标 使用 定时器 添加敌机 设计 Enemy 类 01. 使用定时器添加...

selenium 安装与chromedriver安装的方法步骤

selenium 安装与chromedriver安装的方法步骤

安装 selenium可以直接可以用pip安装。 pip install selenium chromedriver的安装一定要与Chrome的版本一致,不然就不起作用(不要问我是...

使用python在本地电脑上快速处理数据

大数据一般是在“云”上玩的,但“云”都是要钱的,而且数据上上下下的也比较麻烦。所以,在本地电脑上快速处理数据的技能还是要的。 pandas 在比赛中学到的一个工具,本地可以在亿级别的数据...