使用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()
# 读取文件
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 os.path.exists(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 = content.replace("\r\n", "").strip()
        # 为文件内容分词
        content_seg = jieba.cut(content)
        # 将处理后的文件保存到分词后的语料目录
        savefile(seg_dir + file_path, "".join(content_seg))
print "读写完毕"
运行前文件格式如下:


分词后生成的目录及格式如下:







  • 11
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值