使用python进行文本预处理和提取特征的实例
作者:Johline 发布时间:2022-07-13 21:25:47
标签: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
来源:https://blog.csdn.net/Johline/article/details/78802381


猜你喜欢
- 1. 写在前面笔者在不同电脑上多次尝试了Hyper-V下的安装配置。个人感觉,使用体验和VMware没差(除了一次在较低电量情况下出现了GU
- 1、之前那个说淘宝交易评价“有问题”的文章已经有了一百多个评论。(某些开口就骂的评论已被删除)近期去评论的人都是从搜索引擎过来的,他们不是产
- Python Socket模块中包含一些有用IP转换函数,说明如下:socket.ntohl(x) // 类似于
- common中存放的是整个项目中公共使用的封装方法从工程目录上可以看到区分datas中专门存放测试数据(yml文件)cases中专门集中存放
- 本文研究的主要内容是Python中装饰器相关学习总结,具体如下。装饰器(decorator)功能引入日志函数执行时间统计执行函数前预备处理执
- 目录先明确几点赋值浅拷贝深拷贝总结先明确几点不可变类型:该数据类型对象所指定内存中的值不可以被改变。(1)、在改变某个对象的值时,由于其内存
- 英文文档:staticmethod(function)Return a static method for function.A stati
- 本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义,
- '$.browser.msie' 为空或不是对象,这个是jQuery错误出现这个错误,是因为升级了jQuery版本,从1.9
- 本文实例讲述了Python爬虫框架Scrapy基本用法。分享给大家供大家参考,具体如下:Xpath<html><head&
- 可以采用exec方法注意:使exec不能返回一些变量的值,而且当前的变量值在exec的语句里无效。declare @tempStr
- Python中的闭包的概念, 在我看来, 就相当于在某个函数中又定义了一个或多个函数, 内层函数定义了具体的实现方式, 而外层返回的就是这个
- 解决MAC下MySQL忘记初始密码的方法分享给大家,供大家参考,具体内容如下第一步:点击系统偏好设置->最下边点MySQL,在弹出页面
- 本文实例讲述了python数据结构之图的实现方法。分享给大家供大家参考。具体如下:下面简要的介绍下:比如有这么一张图:  
- 这是写给web设计者和前端开发者的教程,我们将演示如何使用Photoshop创建按钮的sprite图,然后是如何使用jQurey打造动态渐变
- 在Python 2.7中,一个float的repr返回最接近十七位数的十进制数;这足以精确地识别每个可能的IEEE浮点值.浮点数的str类似
- 官方网站 : www.python.orgPython is an interpreted, interactive, object-ori
- 浅显地了解了一下 Go,发现 Go 语法的设计非常简洁,易于理解。正应了 Go 语言之父 Rob Pike 说的那句“Less is mor
- python解释器默认编码(python2与python3的区别一)python2 解释器默认编码:asciipython3 解释器默认编码
- 本文记录了Anaconda2安装NLTK的方法,供大家参考,具体内容如下先看我的python和Anaconda版本启动anaconda命令窗