jieba庫對中文文字進行切割 python

2022-08-23 18:42:13 字數 1259 閱讀 9707

jieba是中文文字用於分詞的庫,有3種模式:精確模式、全模式(所有可能的分割)、搜尋引擎模式(在精確模式基礎上再進行分割)

具體參考pypi

#txt = open(u"d:\data\ebook\紅樓夢.txt","r").read() #,encoding='utf-8'

txt = open("d:\\data\\ebook\\1.txt","r",encoding='utf-8').read()

words = jieba.lcut_for_search(txt) # 使用搜尋引擎模式對文字進行分詞

counts = {} # 通過鍵值對的形式儲存詞語及其出現的次數

for word in words:

print(word)

if len(word) == 1: # 長度為1的詞語不計算在內

continue

else:

counts[word] = counts.get(word, 0) + 1 # 遍歷所有詞語,每出現一次其對應的值加 1

items = list(counts.items())#將鍵值對轉換成列表

items.sort(key=lambda x: x[1], reverse=true) # 根據詞語出現的次數進行從大到小排序

for i in range(5):

word, count = items[i]

print("".format(word, count))

注:1.txt

王西風在吃大棗,林黛玉在看書,寶玉發呆呢。。。。。

王西風吃完大棗後被寶玉叫住問:」大棗好不好吃?「,西風苦澀地說:」不好吃,澀得很,你想吃嗎?「

寶玉說,」不好吃的話我就不吃了,算了。「,接著他去黛玉那裡看了看黛玉正在看的書,覺得都是寫傷感的東西,很不感興趣。

得到的分詞結果,統計次數的前5個答案如下,可以看出,這個中文文字分割只是簡單分割,有一定的缺點:不能根據語義進行分割,文字的意思是大棗不好吃,它分割成了好吃,林黛玉和黛玉是乙個人,它分割成了兩個分詞。

('西風', 3),

('大棗', 3),

('寶玉', 3),

('好吃', 2),

('林黛玉', 1)

參考

中文文字糾錯

u4e00 代表什麼意思 u9fa5 代表什麼意思?答 u4e00 u9fa5是用來判斷是不是中文的乙個條件,採用的是unicode編碼 參考website 2020 9 1 最全面,精華 中文糾錯 待看完中文文字拼寫檢查錯誤糾正方案整理 關聯pycorrector 小練習 簡化 import pa...

BufferedReader讀取中文文字亂碼

今天測試lucene構建索引時需要從文字中讀取資料,使用bufferreader獲取文字資料返回亂碼。如下 public static void main string args public static string filetostring file file bufferedreader.c...

中文文字分句

關於文字分句這點,說簡單也簡單,說複雜也複雜。一般的自然語言處理任務中對這點要求並不嚴格,一般按照句末標點切分即可。也有一些專門從事文字相關專案的行業,可能就會有較高的要求,想100 分句正確是要考慮許多語言本身語法的,這裡算是寫個中等水平的。以 背影 中的一段話為例 我心裡暗笑他的迂 他們只認得錢...