Python中怎么实现结巴分词且去掉除号
Admin 2022-07-29 群英技术资讯 1316 次浏览
今天小编跟大家讲解下有关“Python中怎么实现结巴分词且去掉除号”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。import re
import jieba.analyse
import codecs
import pandas as pd
def simplification_text(xianbingshi):
"""提取文本"""
xianbingshi_simplification = []
with codecs.open(xianbingshi,'r','utf8') as f:
for line in f :
line = line.strip()
line_write = re.findall('(?<=\<b\>).*?(?=\<e\>)',line)
for line in line_write:
xianbingshi_simplification.append(line)
with codecs.open(r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\code\xianbingshi_write.txt','w','utf8') as f:
for line in xianbingshi_simplification:
f.write(line + '\n')
def jieba_text():
""""""
word_list = []
data = open(r"C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\xianbingshi_write.txt", encoding='utf-8').read()
seg_list = jieba.cut(data, cut_all=False) # 精确模式
for i in seg_list:
word_list.append(i.strip())
data_quchong = pd.DataFrame({'a':word_list})
data_quchong.drop_duplicates(subset=['a'],keep='first',inplace=True)
word_list = data_quchong['a'].tolist()
with codecs.open('word.txt','w','utf8')as w:
for line in word_list:
w.write(line + '\n')
def word_messy(word):
"""词语提炼"""
word_sub_list = []
with codecs.open(word,'r','utf8') as f:
for line in f:
line_sub = re.sub("^[1-9]\d*\.\d*|^[A-Za-z0-9]+$|^[0-9]*$|^(-?\d+)(\.\d+)?$|^[A-Za-z0-9]{4,40}.*?",'',line)
word_sub_list.append(line_sub)
word_sub_list.sort()
with codecs.open('word.txt','w','utf8')as w:
for line in word_sub_list:
w.write(line.strip("\n") + '\n')
if __name__ == '__main__':
xianbingshi = r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\xianbingshi_sub_sen_all(1).txt'
# simplification_text(xianbingshi)
# word = r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\word.txt'
simplification_text(xianbingshi)
补充:python 进行结巴分词 并且用re去掉符号
# 把停用词做成字典
stopwords = {}
fstop = open('stop_words.txt', 'r',encoding='utf-8',errors='ingnore')
for eachWord in fstop:
stopwords[eachWord.strip()] = eachWord.strip() #停用词典
fstop.close()
f1=open('all.txt','r',encoding='utf-8',errors='ignore')
f2=open('allutf11.txt','w',encoding='utf-8')
line=f1.readline()
while line:
line = line.strip() #去前后的空格
line = re.sub(r"[0-9\s+\.\!\/_,$%^*()?;;:-【】+\"\']+|[+――!,;:。?、~@#¥%……&*()]+", " ", line) #去标点符号
seg_list=jieba.cut(line,cut_all=False) #结巴分词
outStr=""
for word in seg_list:
if word not in stopwords:
outStr+=word
outStr+=" "
f2.write(outStr)
line=f1.readline()
f1.close()
f2.close()

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python在 Python 中字符串也可以使用三个单引号或三个双引号来表示字符串,这样字符串中的内容就可以多行书写,并且被多行输出。
首先说,Python中一切皆对象,老生常谈。还有,Python提供了许多特殊方法、元类等等这样的“元编程”机制。像给对象动态添加属性方法之类的,在Python中根本谈不上是“元编程”,但在某些静态语言中却是需要一定技巧的东西。我们来谈些Python程序员也容易被搞糊涂的东西。
为什么将数据转移至GPU的方法叫做.cuda而不是.gpu,就像将数据转移至CPU调用的方法是.cpu?这是因为GPU的编程接口采用CUDA,而目前并不是所有的GPU都支持CUDA,只有部分Nvidia的GPU才支持。
接触过其他语言的同学可能都知道算数运算符里面有个自增运算符++, 在写循环的时候非常常用, 但是Python里面可能会不同,需要引起大家注
这篇文章主要介绍了Python matplotlib绘图建立画布及坐标系,建立画布 figsize,它用width和height来控制画布的宽和高,下面来一起俩姐更多内容吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008