jieba支持三种分词模式:算法
*精确模式,试图将句子最精确地切开,适合文本分析;搜索引擎
*全模式,把句子中全部的能够成词的词语都扫描出来, 速度很是快,可是不能解决歧义;spa
*搜索引擎模式,在精确模式的基础上,对长词再次切分,提升召回率,适合用于搜索引擎分词。code
主要采用如下算法:索引
*基于Trie树结构实现高效的词图扫描,生成句子中汉字全部可能成词状况所构成的有向无环图(DAG)utf-8
*采用了动态规划查找最大几率路径, 找出基于词频的最大切分组合文档
*对于未登陆词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法string
#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")it
words = pseg.cut(string) #进行分词
result="" #记录最终结果的变量
for w in words:
result+= str(w.word)+"/"+str(w.flag) #加词性标注import
f=open("text.txt","w") #将结果保存到另外一个文档中 f.write(result) f.close() t2=time.time() print("分词及词性标注完成,耗时:"+str(t2-t1)+"秒。") #反馈结果