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)+"秒。") #反饋結果