机器学习笔记-文本分类(二)jieba分词

2017-05-09  本文已影响894人  sf705

分词就是词语切分了,关于分词的理论实现,以后再继续学习。此处用python的jieba分词工具直接分词。

jieba分词库的安装

本人用的是python3.6,windows环境,直接在cmd命令窗口下输入:

pip install jieba

发现自动下载安装:jieba-0.38,这个版本对python2和python3都兼容。

jieba分词在python中使用

支持三种分词模式:

分词算法

分词实现

jieba.cut 方法有三个输入参数:

代码实现,在python3环境下试了,没问题

import jieba 

seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 精确模式

seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
print(", ".join(seg_list))

seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
print(", ".join(seg_list))

上面的 "/ ",“, ” 斜杠空格,逗号空格,是分词以此来分来,结果如下

Paste_Image.png

分词结果中,“杭州”一词没有在词典中,也被识别出来了

文档中的分词

文档中分词就是先读文档,然后再调用分词,最后再保存了

import jieba
def readFile(path):
    with open(path,'r',errors='ignore') as file:
        content = file.read()
        return content
def saveFile(path,result,errors='ignore'):
    with open(path,'w') as file:
        file.write(result)

content = readFile("E:/test.txt")#调用上面函数读取文件的内容
result = (str(content)).replace("\r\n","").strip()#删除多余空行与空格
cutResult = jieba.cut(result)#默认方式分词,分词结果用空格隔开
saveFile("E:/result"," ".join(cutResult))#调用上面函数保存到文件

参考文献

上一篇下一篇

猜你喜欢

热点阅读