一,jieba
對於結巴而言,使用的人比較多,支援三種分詞模式,繁體分詞,自定義詞典,mit授權協議。
三種模式分詞
import jieba
s_list = jieba.cut("江南小鎮的青磚白瓦風景秀美如畫", cut_all=true)
print("full mode: " + " ".join(s_list)) # 全模式
s_list = jieba.cut("江南小鎮的青磚白瓦風景秀美如畫", cut_all=false)
print("default mode: " + " ".join(s_list)) # 精確模式
s_list = jieba.cut("江南小鎮的青磚白瓦風景秀美如畫") # 預設是精確模式
print(", ".join(s_list))
s_list = jieba.cut_for_search("江南小鎮的青磚白瓦風景秀美如畫") # 搜尋引擎模式
print(", ".join(s_list))
full mode: 江南/ 小鎮/ 的/ 青磚/ 白/ 瓦/ 風景/ 秀美/ 美如畫
default mode: 江南/ 小鎮/ 的/ 青磚/ 白瓦/ 風景/ 秀/ 美如畫
江南, 小鎮, 的, 青磚, 白瓦, 風景, 秀, 美如畫
江南, 小鎮, 的, 青磚, 白瓦, 風景, 秀, 美如畫
import jieba.analyse
jieba.analyse.extract_tags(sentence, topk=20, withweight=false, allowpos=())
sentence 為待提取的文字
allowpos 僅包括指定詞性的詞,預設值為空,即不篩選
jieba.analyse.textrank(sentence, topk=20, withweight=false, allowpos=('ns', 'n', 'vn', 'v'))
二,snownlp
處理unicode編碼,可實現以下操作:
轉換成拼音(trie樹實現的最大匹配)
繁體轉簡體(trie樹實現的最大匹配)
提取文字摘要(textrank演算法)
文字分類(***** bayes)
文字相似(bm25)
情感分析(適合商品評價)
from snownlp import snownlp
#轉換拼音
s = snownlp("北京是國際化都市")
print(s.pinyin)
#繁體轉簡體
s = snownlp("「繁體字」「正體中文」")
print(s.han)
#文字摘要
print(s.summary(2))
/usr/bin/python3.6 /home/zhudajun/ideaprojects/get_data_and_point/get_data/fenci.py
['bei', 'jing', 'shi', 'guo', 'ji', 'hua', 'du', 'shi']
「繁體字」「正體中文」
python中文分詞 結巴分詞
中文分詞是中文文字處理的乙個基礎性工作,結巴分詞利用進行中文分詞。其基本實現原理有三點 基於trie樹結構實現高效的詞圖掃瞄,生成句子中漢字所有可能成詞情況所構成的有向無環圖 dag 採用了動態規劃查詢最大概率路徑,找出基於詞頻的最大切分組合 對於未登入詞,採用了基於漢字成詞能力的hmm模型,使用了...
python 中文分詞
英文單詞之間是以空格作為自然分界符的,而漢語是以字為基本的書寫單位,詞語之間沒有明顯的區分標記,因此,中文詞語分析是中文資訊處理的基礎與關鍵。分詞演算法可分為三大類 基於字典 詞庫匹配的分詞方法 基於詞頻度統計的分詞方法和基於知識理解的分詞方法。在基於字典 詞庫匹配的分詞方法中,又分為正向最大匹配 ...
中文分詞小總結
首先什麼是中文分詞stop word?英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述乙個意思。例如,英文句子i am a student,用中文則為 我是乙個學生 計算機可以很簡單通過空格知道student是乙個單詞,但是不能很容易明白 學 生 兩個字合...