Python 中文分詞總結

2021-08-19 23:45:01 字數 1682 閱讀 1420

一,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是乙個單詞,但是不能很容易明白 學 生 兩個字合...