當前位置:成語大全網 - 英語詞典 - 1. jieba中文處理

1. jieba中文處理

jieba是壹個在中文自然語言處理中用的最多的工具包之壹,它以分詞起家,目前已經能夠實現包括分詞、詞性標註以及命名實體識別等多種功能。既然Jieba是以分詞起家,我們自然要首先學習Jieba的中文分詞功能。Jieba提供了三種分詞模式:

在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分詞工具包以外,還有很多好用的中文分詞工具,比如