中文分詞方法簡介

2021-06-07 00:06:50 字數 945 閱讀 4280

中文與西方文字不同,西方文字如英文的單詞間有空格作為分隔,計算機很容易把乙個個詞分開。而中文句子裡的之間沒有分隔,要把中文句子拆分成詞就需要使用中文分詞技術。由於全文索引採用的是倒排索引技術,所以分詞的效果直接決定了搜尋的效果。

目前的中文分詞技術主要有:n元切分、最長匹配、最大壓縮、統計語言模型等方法。n元切分,即機械切分。就是把中文句子每n個字分成乙個「詞」。比如,「我是大學生」用一元切分的結果就是「我」、「是」、「大」、「學」、「生」。二元分詞如果採用串分割,結果就是「我是」、「大學」、「生」,採用交叉分割結果就是「我是」、「是大」、「大學」、「學生」。通常,都採用交叉切分,以免在搜尋「學生」時無法搜尋到結果。同時,交叉分割可以保證查詢和索引切分的一致性。但交叉分割的索引大小是串分割的n倍。機械切分並不是真正意義上的中文分詞,因為它並沒有把句子根據詞法和語義分成有意義的詞。這種方法實現簡單,切分效率高,但會產生很多無用詞。lucene自帶的standardanalyzer對中文的切分就是一元切分。lucene sandbox中的cjkanalyzer採用的是交叉二元分詞。

最長匹配法是使用詞典來切分的。比如,「我是大學生」根據詞典通常會被拆分為「我」、「是」、「大學生」。最長匹配法又分正向最長匹配和反向最長匹配,即從句子的正方向或方向匹配單詞。通常反向最長匹配的效果要好於正向最長匹配。也可以把兩者結合起來,即雙向最長匹配。最長匹配法實現也較簡單,分詞速度較快,但準確率比較低。採用詞典的分詞方法的效果很大程度上取決於詞典的質量。同時,在遇到詞典中沒有的詞往往就束手無策了。而且,基於詞典的分詞對於新詞,還有人名、地名等往往不能很好地識別。lucene sandbox中的chineseanalyzer就是採用的反向最長匹配。

統計語言模型方法簡單的說,就是通過從文字庫中統計出字與字之間結合和分開的概率來分詞的。比如「我是大學生」,「是」和「大」結合的概率要小於「大」和「學」結合的概率。這種方法不依賴於詞庫和語法定義,可以適應新詞以及人名地名等。但實現複雜,分詞速度慢。在上下文資訊較少的情況下效果不夠好。

常用中文分詞方法

一 正向最大匹配fmm 從左到右將待分詞文字中的最多個連續字元與詞表匹配,如果匹配上,則切分出乙個詞。二 逆向最大匹配 從右到左將待分詞文字中的最多個連續字元與詞表匹配,如果匹配上,則切分出乙個詞。三 雙向最大匹配 正向最大匹配演算法和逆向最大匹配演算法 如果兩個演算法得到相同的分詞結果,那就認為是...

中文分詞方法介紹

中文分詞的基本方法可以分為基於語法規則的方法 基於詞典的方法和基於統計的方法。基於語法規則的分詞法基本思想是在分詞的同時進行句法 語義分析,利用句法資訊和語義資訊來進行詞性標註,以解決分詞歧義現象。因為現有的語法知識 語法規則十分籠統 複雜,基於語法和規則的分詞法所能達到的精確度遠遠還不能令人滿意,...

中文分詞的方法

中文分詞主要有兩個類別 本別是基於字詞典分詞演算法和基於統計的機器學習演算法,下面依次介紹這兩種方法。也稱字串匹配分詞演算法。該演算法是按照一定的策略將待匹配的字串和乙個已建立好的 充分大的 詞典中的詞進行匹配,若找到某個詞條,則說明匹配成功,識別了該詞。常見的基於詞典的分詞演算法分為以下幾種 正向...