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