本文实例讲述了Python中文分词工具之结巴分词用法。分享给大家供大家参考,具体如下:
结巴分词工具的安装及基本用法,前面的文章《Python结巴中文分词工具使用过程中遇到的问题及解决方法》中已经有所描述。这里要说的内容与实际应用更贴近——从文本中读取中文信息,利用结巴分词工具进行分词及词性标注。
示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#coding=utf-8
import jieba
import jieba.posseg as pseg
import time
t1 = time.time()
f = open ( "t_with_splitter.txt" , "r" ) #读取文本
string = f.read().decode( "utf-8" )
words = pseg.cut(string) #进行分词
result = "" #记录最终结果的变量
for w in words:
result + = str (w.word) + "/" + str (w.flag) #加词性标注
f = open ( "t_with_POS_tag.txt" , "w" ) #将结果保存到另一个文档中
f.write(result)
f.close()
t2 = time.time()
print ( "分词及词性标注完成,耗时:" + str (t2 - t1) + "秒。" ) #反馈结果
|
其中t_with_splitter.txt文件内容如下:
1
|
服务器之家是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。
|
Python2.7.9平台运行后出现如下图所示的错误提示:
查阅相关资料后发现,需要在开头加上:
1
2
3
|
import sys
reload (sys)
sys.setdefaultencoding( "utf-8" )
|
最终代码应为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#coding=utf-8
import jieba
import jieba.posseg as pseg
import time
import sys
reload (sys)
sys.setdefaultencoding( "utf-8" )
t1 = time.time()
f = open ( "t_with_splitter.txt" , "r" ) #读取文本
string = f.read().decode( "utf-8" )
words = pseg.cut(string) #进行分词
result = "" #记录最终结果的变量
for w in words:
result + = str (w.word) + "/" + str (w.flag) #加词性标注
f = open ( "t_with_POS_tag.txt" , "w" ) #将结果保存到另一个文档中
f.write(result)
f.close()
t2 = time.time()
print ( "分词及词性标注完成,耗时:" + str (t2 - t1) + "秒。" ) #反馈结果
|
运行成功:
Editplus打开t_with_POS_tag.txt文件如下图所示:
希望本文所述对大家Python程序设计有所帮助。