中文文本挖掘课程笔记之jieba分词(1)
来源:互联网 发布:c语言编程软件电脑版 编辑:程序博客网 时间:2024/05/18 01:32
自然语言处理小白一枚,刚刚开始接触这一领域,记录下自己的课程笔记,便于以后查阅。积少成多,加油~
学习了罗晨老师的中文文本挖掘课程对其中的jieba分词整理一下下。
一、jieba的安装与打开
jieba是Python的一个分词库。首先要进行安装,键盘Windows+R --->输入cmd-->pip install jieba即可。
安装Anaconda后,在程序中找到Anaconda下的Jupyter Notebook点击进入,如下图,此界面在jieba分词过程中不可关闭。打开此界面后,浏览器会自动转到jupyter界面。在浏览器打开的jupyter界面中进行分词程序的编辑。
jupyter界面如下图所示:点击右上角的new出现下拉菜单,点击Python root即可打开代码编辑页面。
二、结巴分词简单例程
将所要分词的TXT文本和自定义词典直接拖拽到浏览器打开的jupyter的home页 点击upload即可将其加载进去。
1、对TXT文本进行分词:
import jieba #导入jieba
with open('text.txt','r')as f: #打开所需分词文本text.txt
for line in f:
seg=jieba.cut(line.strip(),cut_all = False) #jieba分词
print'/'.join(seg) #其中join可以将分词结果变为列表格式。
结果如下:
/我/在/中国/传媒大学/学习/、/生活
王/领导/在/团建/之/日/发表/重要讲话
校园/里/有/一排/年轻/的/白杨/,/白杨/是/杨树/的/一个/种类
如果/放到/post/中将/出错
葫芦娃/有大娃/、/二娃/、/三娃/等
孙悟空/是/美猴王/,/也/是/孙行者/,/更是/泼/猴/,/后来/被/封为/斗/战胜/佛
孙行者/是/一个/和尚
2、统计词频:
from collections import Counter
total = []
with open('text.txt','r')as f:
for line in f:
seg_list = jieba.lcut(line.strip(),cut_all = False) # jieba.lcut 可以直接输出列表。
for word in seg_list:
total.append(word)
c=Counter(total) #这里一定要顶格写,否则就进入到上面的for循环里面,出错。
for item in c.most_common(5): #数字5表示提取前5个高频词,可根据需要更改。
print item[0],item[1]
结果如下:
是 4
, 4
、 3
的 2
有 2
3、添加自定义词典
词典为TXT文本,其格式:一个词一行,每行三部分:词语、词频(可省)、词性(可省)。其中每部分用空格分隔。其代码如下:
from collections import Counter
jieba.load_userdict('userdict.txt') #核心jieba.load_userdict('name.txt')
with open('text.txt','r')as f:
for line in f:
seg_list = jieba.cut(line.strip(),cut_all = False)
print'\'.join(seg_list) #''里面的内容可以是任何符号,它放在分好的两个词之间用来分隔词。
4、动态调整词典
add_word(word,freq=None,tag=None)和del_word(word)可以在程序中动态修改词典(加词,或删词)。
suggest_freq(segment,tune=True)可以调节每个单个词语的词频,使其能/不能被分出来。
例如:text.txt文本的第四行中“中将”被词典分为一个词,但其实“中”和“将”是分开的。但是词典里面也没有“中”和“将”,这时需要动态调整代码:
jieba.suggest_freq(('中','将'),tune=True) #True表示希望分出来,False表示不希望分出来。
结果输出494,说明成功,可继续分词。
with open('text.txt','r')as f:
for line in f:
seg_list = jieba.cut(line.strip(),cut_all = False)
print'/'.join(seg_list)
结果如下:“中”和“将”被分开:
/我/在/中国传媒大学/学习/、/生活
王/领导/在/团建/之/日/发表/重要讲话
校园/里/有/一排/年轻/的/白杨/,/白杨/是/杨树/的/一个/种类
如果/放到/post/中/将/出错
葫芦娃/有/大娃/、/二娃/、/三娃/等
孙悟空/是/美猴王/,/也/是/孙行者/,/更是/泼猴/,/后来/被/封为/斗战胜佛
孙行者/是/一个/和尚
------2016.8.31 23:10
- 中文文本挖掘课程笔记之jieba分词(1)
- 中文文本处理之jieba分词笔记(二)
- Python 文本挖掘:jieba中文分词和词性标注
- Python 文本挖掘:jieba中文分词和词性标注
- R语言文本挖掘之jieba分词与wordcloud展现
- 文本分析--jieba中文分词
- python文本挖掘(一)-初探jieba分词包
- python+gensim︱jieba分词、词袋doc2bow、TFIDF文本挖掘
- 中文分词之jieba简单应用
- 文本挖掘1分词
- 利用jieba对多个中文txt文本进行分词
- jieba中文分词源码分析(一)
- jieba中文分词源码分析(二)
- jieba中文分词源码分析(三)
- jieba中文分词源码分析(四)
- 【pyspark】jieba 中文分词
- 中文分词工具Jieba
- Jieba中文分词说明
- 如何高效检查一个数组中是否包含某个值?
- 2016Android很火的技术
- 【分布式中的问题】(一)——事务
- 遍历ListView中行和列的值
- 斯坦福公开课Machine Learning笔记(四)--Generative Learning Algorithm
- 中文文本挖掘课程笔记之jieba分词(1)
- 客服、客户与研发
- 使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库
- MongoDB学习2——Windows 使用mongo连接数据库
- 三剑客学习之路——数据结构(一)计算模型与算法分析(1)
- 语音专题第一讲,麦克风阵列的语音信号处理技术
- 连续子数组的最大和
- 第二章-----操作系统历史
- kill -3 pid打印trace