使⽤python对中⽂⽂本进⾏分词
何为中⽂分词,指的是将⼀个汉字序列切分成⼀个个单独的词。
这⾥我们推荐使⽤jieba分词,它是专门使⽤python语⾔开发的分词系统,占⽤资源较少,常识类⽂档的分词精度较⾼。
我们可以去⽹上下载jieba的压缩包,然后解压,进⼊⽬录,到setup.py这个⽂件,然后可以可以使⽤下⾯两种半⾃动⽅式去安装
⽅式⼀: 进⼊cmd命令窗⼝,输⼊: python setup.py install jieba
⽅式⼆: 进⼊cmd命令窗⼝,输⼊:pip install jieba
然后我们就可以进⾏下⾯的中⽂⽂本分词的操作了
⾸先我们把需要分词的⽂件train_corpus_small拷贝到项⽬中来:
然后我们创建⼀个demo3.py对其进⾏分词操作
# -*- encoding:utf-8 -*-
import sys
import jieba
import os
# 配置UTF-8的环境
reload(sys)
sys.setdefaultencoding('utf-8')
# 写⼊⽂件
def savefile(savepath, content):
fp = open(savepath, "wb")
fp.write(content)
fp.close()
python中文文档# 读取⽂件
def readfile(path):
fp = open(path, "rb")
content = fp.read()
fp.close()
return content
# 获取路径名
seg_path = "train_corpus_seg/"
corpus_path = "train_corpus_small/"
catelist = os.listdir(corpus_path)
# 获取每个⽬录下的所有⽂件
for mydir in catelist:
# 拼接出分类⼦⽬录的路径
class_path = corpus_path + mydir + "/"
# 拼出分词后的预料分类⽬录
seg_dir = seg_path + mydir + "/"
# 判断⽬录是否为空
if not ists(seg_dir):
# 创建⽬录
os.makedirs(seg_dir)
# 获取类别⽬录下的所有⽬录
file_list = os.listdir(class_path)
# 将类别下⾯的所有⽬录遍历出来
for file_path in file_list:
# 拼出⽂件名全路径
fullname = class_path + file_path
# 读取⽂件内容
content = readfile(fullname).strip()
# 将换⾏替换掉
content = place("\r\n", "").strip()
# 为⽂件内容分词
content_seg = jieba.cut(content)
# 将处理后的⽂件保存到分词后的语料⽬录
savefile(seg_dir + file_path, "".join(content_seg)) print "读写完毕"
运⾏前⽂件格式如下:
分词后⽣成的⽬录及格式如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。