在jieba分詞中,最常用的分詞函數有兩個,分別是 cut 和 cut_for_search ,分別對應於“精確模式/全模式”和“搜索引擎模式”。
當然,兩者的輸入參數也不壹樣,cut函數的輸入主要有三個,分別是:
cut_for_search 函數主要有兩個參數:
需要註意的是, cut 和 cut_for_search 返回的都是generator,如果想直接返回列表,需要使用 lcut 和 lcut_for_search
如果在壹些特定場景中,需要使用壹些特殊詞匯進行分詞,就需要加載自定義的分詞詞典:
其中,用戶字典的格式為:
每壹行表示壹個單詞,每行最多由三部分組成
如果只是少量詞匯,可以使用
需要註意的是,如果沒有給出詞頻和詞性信息,在後續的處理中可能會造成壹定的影響。
jieba提供了兩種關鍵詞提取算法,分別是TF-IDF以及TextRank
關於TF-IDF的原理,可以參考吳軍老師的《數學之美》,裏面給出了很詳細的說明。本文只介紹利用TF-IDF算法提取關鍵詞。
其中:
TextRank的用法與extract_tags的函數定義完全壹致
詞性標註主要是在分詞的基礎上,對詞的詞性進行判別,在jieba中可以使用如下方式進行:
在jieba中采用將目標文檔按行分割,對每壹行采用壹個Python進程進行分詞處理,然後將結果歸並到壹起(有點類似於MapReduce)。據說目前尚不支持Windows,僅支持Linux和MacOS。
啟動並行分詞使用如下命令:
關閉並行分詞使用如下命令:
使用tokenize函數後,會獲得壹個詞語信息的元組,元組中的第壹個元素是分詞得到的結果,第二個元素是詞的起始位置,第三個元素是詞的終止位置。
除了本文介紹的jieba分詞工具包以外,還有很多好用的中文分詞工具,比如