SWJ小談:中文分詞的作用與概述-說教篇

隨著信息的飛速增長,使搜索引擎成為人們查找信息的首選工具,Google、百度、yahoo、最近新出的網易的有道 等大型搜索引擎一直是人們討論的話題。

隨著搜索市場價值的不斷增加,越來越多的公司開發出屬於自己的搜索引擎,阿裡巴巴的商機搜索、8848的購物搜索等也陸續面世,自然,搜索引擎技術也成為技術人員關註的熱點之一。

搜索引擎技術的研究,國外比中國要早近十年,從最早的Archie,到後來的Excite,以及altvista、overture、google等搜索引擎面世,搜索引擎發展至今,已經有十幾年的歷史,而國內開始研究搜索引擎是在上世紀末本世紀初。在許多領域,都是國外的產品和技術一統天下,特別是當某種技術在國外研究多年而國內才開始的情況下。例如操作系統、字處理軟件、瀏覽器等等,但搜索引擎卻是個例外。雖然在國外搜索引擎技術早就開始研究,但在國內還是陸續湧現出優秀的搜索引擎,像百度()、和最近剛出的 有道()等。目前在中文搜索引擎領域,國內的搜索引擎已經和國外的搜索引擎效果上相差不遠。但是SWJ認為其技術能力等方面還是相差國外先進水平有一定的距離 不過,這距離在慢慢的拉近中! 談到搜索引擎的分詞技術之所以能形成現在這樣的局面,有一個重要的原因就在於中文和英文兩種語言自身的書寫方式不同。

什麼是中文分詞?

眾所周知,英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述一個意思。例如,英文句子I am a student,用中文則為:我是一個學生。計算機可以很簡單通過空格知道student是一個單詞,但是不能很容易明白學、生兩個字合起來才表示一個詞。把中文的漢字序列切分成有意義的詞,就是中文分詞,有些人也稱為切詞。我是一個學生,分詞的結果是:我 是 一個 學生。

中文分詞和搜索引擎關系與影響!

中文分詞到底對搜索引擎有多大影響?對於搜索引擎來說,最重要的並不是找到所有結果,因為在上百億的網頁中找到所有結果沒有太多的意義,沒有人能看得完,最重要的是把最相關的結果排在最前面,這也稱為相關度排序。中文分詞的準確與否,常常直接影響到對搜索結果的相關度排序。筆者最近替朋友找一些關於日本和服的資料,在搜索引擎上輸入和服,得到的結果就發現瞭很多問題。

小談:中文分詞技術

中文分詞技術屬於 自然語言處理技術范疇,對於一句話,人可以通過自己的知識來明白哪些是詞,哪些不是詞,但如何讓計算機也能理解?其處理過程就是分詞算法。

現有的分詞算法可分為三大類:基於字符串匹配的分詞方法、基於理解的分詞方法和基於統計的分詞方法。

1、基於字符串匹配的分詞方法

這種方法又叫做機械分詞方法,它是按照一定的策略將待分析的漢字串與一個充分大的機器詞典中的詞條進行配,若在詞典中找到某個字符串,則匹配成功(識別出一個詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配;按照是否與詞性標註過程相結合,又可以分為單純分詞方法和分詞與標註相結合的一體化方法。常用的幾種機械分詞方法如下:

1)正向最大匹配法(由左到右的方向);

2)逆向最大匹配法(由右到左的方向);

3)最少切分(使每一句中切出的詞數最小)。

還可以將上述各種方法相互組合,例如,可以將正向最大匹配方法和逆向最大匹配方法結合起來構成雙向匹配法。由於漢語單字成詞的特點,正向最小匹配和逆向最小匹配一般很少使用。一般說來,逆向匹配的切分精度略高於正向匹配,遇到的歧義現象也較少。統計結果表明,單純使用正向最大匹配的錯誤率為1/169,單純使用逆向最大匹配的錯誤率為1/245。但這種精度還遠遠不能滿足實際的需要。實際使用的分詞系統,都是把機械分詞作為一種初分手段,還需通過利用各種其它的語言信息來進一步提高切分的準確率。

一種方法是改進掃描方式,稱為特征掃描或標志切分,優先在待分析字符串中識別和切分出一些帶有明顯特征的詞,以這些詞作為斷點,可將原字符串分為較小的串再來進機械分詞,從而減少匹配的錯誤率。另一種方法是將分詞和詞類標註結合起來,利用豐富的詞類信息對分詞決策提供幫助,並且在標註過程中又反過來對分詞結果進行檢驗、調整,從而極大地提高切分的準確率。

對於機械分詞方法,可以建立一個一般的模型,在這方面有專業的學術論文,這裡不做詳細論述。

2、基於理解的分詞方法

這種分詞方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果。其基本思想就是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現象。它通常包括三個部分:分詞子系統、句法語義子系統、總控部分。在總控部分的協調下,分詞子系統可以獲得有關詞、句子等的句法和語義信息來對分詞歧義進行判斷,即它模擬瞭人對句子的理解過程。這種分詞方法需要使用大量的語言知識和信息。由於漢語語言知識的籠統、復雜性,難以將各種語言信息組織成機器可直接讀取的形式,因此目前基於理解的分詞系統還處在試驗階段。