利用python举办汉语分词
当前位置:以往代写 > Python教程 >利用python举办汉语分词
2019-06-14

利用python举办汉语分词

利用python举办汉语分词

今朝我经常利用的分词有结巴分词、NLPIR分词等等

最近是在利用结巴分词,稍微做一下推荐,照旧蛮好用的。

一、结巴分词简介

操作结巴分词举办中文分词,根基实现道理有三:

基于Trie树布局实现高效的词图扫描,生成句子中汉字所有大概成词环境所组成的有向无环图(DAG)

回收了动态筹划查找最或许率路径, 找出基于词频的最大切分组合

对付未登录词,回收了基于汉字成词本领的HMM模子,利用了Viterbi算法

二、安装及利用(Linux)

1.下载东西包,解压后进入目次下,运行:python setup.py install

Hint:a.一个精采的习惯是,对付下载下来的软件,先看readme ,再举办操纵。(没有阅读readme,直接实验+百度,会走许多弯路);

     b.其时运行安装呼吁时,呈现错误:no permission!  (有些人大概会碰见这种问题,这是因为权限不足的。 执行:sudo !!   个中“!!”暗示上一条呼吁,这里指的就是上面的安装呼吁),利用sudo后便可正常运行。

2.在利用结巴做分词的时候,必然会用的函数是:jieba.cut(arg1,arg2);这是用于分词的函数,我们只需要相识以下三点,便可利用

  a.cut要领接管两个输入参数:第一个参数(arg1)为需要举办分词的字符串,arg2参数用来节制分词模式。

  分词模式分为两类:默认模式,试图将句子最准确地切开,适合文天职析;全模式,把句子中所有的可以成词的词语都扫描出来,适合搜索引擎

   b.待分词的字符串可以是gbk字符串、utf-8字符串可能unicode

利用Python的人要留意编码问题,Python是基于ASCII码来处理惩罚字符的,当呈现不属于ASCII的字符时(好比在代码中利用汉字),会呈现错误信息:“ASCII codec can't encode character”,办理方案是在文件顶部插手语句: #! -*- coding:utf-8 -*-  来汇报Python的编译器:“我这个文件是用utf-8举办编码的,你要举办解码的时候,请用utf-8”。(这里记着,这个呼吁必然要加在文件的最顶部,假如不在最顶部,编码问题就依然存在,得不到办理)关于编码的转换,可以参考博文(ps:小我私家领略“import sys    reload(sys)   sys.setdefaultencoding('utf-8')”这几句话与“#! -*- coding:utf-8 -*- ”等价)

    c.jieba.cut返回的布局是一个可迭代的generator,可以利用for轮回来得到分词后获得的每一个词语(unicode),也可以用list(jieba.cut(…))转化为list  

3.以下举例jieba中提供的一个利用要领作为说明:

#! -*- coding:utf-8 -*-
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all = True)
print "Full Mode:", ' '.join(seg_list)
 
seg_list = jieba.cut("我来到北京清华大学")
print "Default Mode:", ' '.join(seg_list)

输出功效为:

Full Mode: 我/ 来/ 来到/ 到/ 北/ 北京/ 京/ 清/ 清华/ 清华大学/ 华/ 华大/ 大/ 大学/ 学  
Default Mode: 我/ 来到/ 北京/ 清华大学

三、结巴中文分词的其他成果

1、添加或打点自界说辞书

结巴的所有字典内容存放在dict.txt,你可以不绝的完善dict.txt中的内容。

2、要害词抽取

通过计较分词后的要害词的TF/IDF权重,来抽取重点要害词。

    关键字:

在线提交作业