信息的飛速增長(cháng),使搜索引擎成為(wèi)人們查找信息的首選工(gōng)具(jù),Google、百度、中(zhōng)國(guó)搜索等大型搜索引擎一直是人們讨論的話題。随着搜索市場價值的不斷增加,越來越多(duō)的公(gōng)司開發出自己的搜索引擎,阿裏巴巴的商(shāng)機搜索、8848的購(gòu)物(wù)搜索等也陸續面世,自然,搜索引擎技(jì )術也成為(wèi)技(jì )術人員關注的熱點。
搜索引擎技(jì )術的研究,國(guó)外比中(zhōng)國(guó)要早近十年,從最早的Archie,到後來的Excite,以及altvista、overture、google等搜索引擎面世,搜索引擎發展至今,已經有(yǒu)十幾年的曆史,而國(guó)内開始研究搜索引擎是在上世紀末本世紀初。在許多(duō)領域,都是國(guó)外的産(chǎn)品和技(jì )術一統天下,特别是當某種技(jì )術在國(guó)外研究多(duō)年而國(guó)内才開始的情況下。例如操作(zuò)系統、字處理(lǐ)軟件、浏覽器等等,但搜索引擎卻是個例外。雖然在國(guó)外搜索引擎技(jì )術早就開始研究,但在國(guó)内還是陸續湧現出優秀的搜索引擎,像百度(http://www.baidu.com)、中(zhōng)搜(http://www.zhongsou.com)等。目前在中(zhōng)文(wén)搜索引擎領域,國(guó)内的搜索引擎已經和國(guó)外的搜索引擎效果上相差不遠(yuǎn)。之所以能(néng)形成這樣的局面,有(yǒu)一個重要的原因就在于中(zhōng)文(wén)和英文(wén)兩種語言自身的書寫方式不同,這其中(zhōng)對于計算機涉及的技(jì )術就是中(zhōng)文(wén)分(fēn)詞。
什麽是中(zhōng)文(wén)分(fēn)詞
衆所周知,英文(wén)是以詞為(wèi)單位的,詞和詞之間是靠空格隔開,而中(zhōng)文(wén)是以字為(wèi)單位,句子中(zhōng)所有(yǒu)的字連起來才能(néng)描述一個意思。例如,英文(wén)句子I am a student,用(yòng)中(zhōng)文(wén)則為(wèi):“我是一個學(xué)生”。計算機可(kě)以很(hěn)簡單通過空格知道student是一個單詞,但是不能(néng)很(hěn)容易明白“學(xué)”、“生”兩個字合起來才表示一個詞。把中(zhōng)文(wén)的漢字序列切分(fēn)成有(yǒu)意義的詞,就是中(zhōng)文(wén)分(fēn)詞,有(yǒu)些人也稱為(wèi)切詞。我是一個學(xué)生,分(fēn)詞的結果是:我 是 一個 學(xué)生。
中(zhōng)文(wén)分(fēn)詞和搜索引擎
中(zhōng)文(wén)分(fēn)詞到底對搜索引擎有(yǒu)多(duō)大影響?對于搜索引擎來說,最重要的并不是找到所有(yǒu)結果,因為(wèi)在上百億的網頁(yè)中(zhōng)找到所有(yǒu)結果沒有(yǒu)太多(duō)的意義,沒有(yǒu)人能(néng)看得完,最重要的是把最相關的結果排在最前面,這也稱為(wèi)相關度排序。中(zhōng)文(wén)分(fēn)詞的準确與否,常常直接影響到對搜索結果的相關度排序。筆(bǐ)者最近替朋友找一些關于日本和服的資料,在搜索引擎上輸入“和服”,得到的結果就發現了很(hěn)多(duō)問題。下面就以這個例子來說明分(fēn)詞對搜索結果的影響,在現有(yǒu)三個中(zhōng)文(wén)搜索引擎上做測試,測試方法是直接在Google(http://www.google.com)、百度(http://www.baidu.com)、中(zhōng)搜(http://www.zhongsou.com)上以“和服”為(wèi)關鍵詞進行搜索:
在Google上輸入“和服”搜索所有(yǒu)中(zhōng)文(wén)簡體(tǐ)網頁(yè),總共結果507,000條,前20條結果中(zhōng)有(yǒu)14條與和服一點關系都沒有(yǒu)。在第一頁(yè)就有(yǒu)以下錯誤:
“通信信息報:瑞星以技(jì )術和服務(wù)開拓網絡安(ān)全市場”
“使用(yòng)純HTML的通用(yòng)數據管理(lǐ)和服務(wù)- 開發者- ZDNet ...”
“陳慧琳《心口不一》化妝和服裝(zhuāng)自己包辦(bàn)”
“::外交部:中(zhōng)國(guó)境外領事保護和服務(wù)指南(2003年版) ...”
“産(chǎn)品和服務(wù)”
等等。第一頁(yè)隻有(yǒu)三篇是真正在講“和服”的結果。
在百度上輸入“和服”搜索網頁(yè),總共結果為(wèi)287,000條,前20條結果中(zhōng)有(yǒu)6條與和服一點關系都沒有(yǒu)。在第一頁(yè)有(yǒu)以下錯誤:
“福建省晉江市恒和服裝(zhuāng)有(yǒu)限公(gōng)司系獨資企業”
“關于商(shāng)品和服務(wù)實行明碼标價的規定”
“青島東和服裝(zhuāng)設備”
在中(zhōng)搜上輸入“和服”搜索網頁(yè),總共結果為(wèi)26,917條,前20條結果都是與和服相關的網頁(yè)。
這次搜索引擎結果中(zhōng)的錯誤,就是由于分(fēn)詞的不準确所造成的。通過筆(bǐ)者的了解,Google的中(zhōng)文(wén)分(fēn)詞技(jì )術采用(yòng)的是美國(guó)一家名(míng)叫Basis Technology(http://www.basistech.com)的公(gōng)司提供的中(zhōng)文(wén)分(fēn)詞技(jì )術,百度使用(yòng)的是自己公(gōng)司開發的分(fēn)詞技(jì )術,中(zhōng)搜使用(yòng)的是國(guó)内海量科(kē)技(jì )(http://www.hylanda.com)提供的分(fēn)詞技(jì )術。由此可(kě)見,中(zhōng)文(wén)分(fēn)詞的準确度,對搜索引擎結果相關性和準确性有(yǒu)相當大的關系。
中(zhōng)文(wén)分(fēn)詞技(jì )術
中(zhōng)文(wén)分(fēn)詞技(jì )術屬于自然語言處理(lǐ)技(jì )術範疇,對于一句話,人可(kě)以通過自己的知識來明白哪些是詞,哪些不是詞,但如何讓計算機也能(néng)理(lǐ)解?其處理(lǐ)過程就是分(fēn)詞算法。
現有(yǒu)的分(fēn)詞算法可(kě)分(fēn)為(wèi)三大類:基于字符串匹配的分(fēn)詞方法、基于理(lǐ)解的分(fēn)詞方法和基于統計的分(fēn)詞方法。
1、基于字符串匹配的分(fēn)詞方法
這種方法又(yòu)叫做機械分(fēn)詞方法,它是按照一定的策略将待分(fēn)析的漢字串與一個“充分(fēn)大的”機器詞典中(zhōng)的詞條進行配,若在詞典中(zhōng)找到某個字符串,則匹配成功(識别出一個詞)。按照掃描方向的不同,串匹配分(fēn)詞方法可(kě)以分(fēn)為(wèi)正向匹配和逆向匹配;按照不同長(cháng)度優先匹配的情況,可(kě)以分(fēn)為(wèi)最大(最長(cháng))匹配和最小(xiǎo)(最短)匹配;按照是否與詞性标注過程相結合,又(yòu)可(kě)以分(fēn)為(wèi)單純分(fēn)詞方法和分(fēn)詞與标注相結合的一體(tǐ)化方法。常用(yòng)的幾種機械分(fēn)詞方法如下:
1)正向最大匹配法(由左到右的方向);
2)逆向最大匹配法(由右到左的方向);
3)最少切分(fēn)(使每一句中(zhōng)切出的詞數最小(xiǎo))。
還可(kě)以将上述各種方法相互組合,例如,可(kě)以将正向最大匹配方法和逆向最大匹配方法結合起來構成雙向匹配法。由于漢語單字成詞的特點,正向最小(xiǎo)匹配和逆向最小(xiǎo)匹配一般很(hěn)少使用(yòng)。一般說來,逆向匹配的切分(fēn)精(jīng)度略高于正向匹配,遇到的歧義現象也較少。統計結果表明,單純使用(yòng)正向最大匹配的錯誤率為(wèi)1/169,單純使用(yòng)逆向最大匹配的錯誤率為(wèi)1/245。但這種精(jīng)度還遠(yuǎn)遠(yuǎn)不能(néng)滿足實際的需要。實際使用(yòng)的分(fēn)詞系統,都是把機械分(fēn)詞作(zuò)為(wèi)一種初分(fēn)手段,還需通過利用(yòng)各種其它的語言信息來進一步提高切分(fēn)的準确率。
一種方法是改進掃描方式,稱為(wèi)特征掃描或标志(zhì)切分(fēn),優先在待分(fēn)析字符串中(zhōng)識别和切分(fēn)出一些帶有(yǒu)明顯特征的詞,以這些詞作(zuò)為(wèi)斷點,可(kě)将原字符串分(fēn)為(wèi)較小(xiǎo)的串再來進機械分(fēn)詞,從而減少匹配的錯誤率。另一種方法是将分(fēn)詞和詞類标注結合起來,利用(yòng)豐富的詞類信息對分(fēn)詞決策提供幫助,并且在标注過程中(zhōng)又(yòu)反過來對分(fēn)詞結果進行檢驗、調整,從而極大地提高切分(fēn)的準确率。
對于機械分(fēn)詞方法,可(kě)以建立一個一般的模型,在這方面有(yǒu)專業的學(xué)術論文(wén),這裏不做詳細論述。
2、基于理(lǐ)解的分(fēn)詞方法
這種分(fēn)詞方法是通過讓計算機模拟人對句子的理(lǐ)解,達到識别詞的效果。其基本思想就是在分(fēn)詞的同時進行句法、語義分(fēn)析,利用(yòng)句法信息和語義信息來處理(lǐ)歧義現象。它通常包括三個部分(fēn):分(fēn)詞子系統、句法語義子系統、總控部分(fēn)。在總控部分(fēn)的協調下,分(fēn)詞子系統可(kě)以獲得有(yǒu)關詞、句子等的句法和語義信息來對分(fēn)詞歧義進行判斷,即它模拟了人對句子的理(lǐ)解過程。這種分(fēn)詞方法需要使用(yòng)大量的語言知識和信息。由于漢語語言知識的籠統、複雜性,難以将各種語言信息組織成機器可(kě)直接讀取的形式,因此目前基于理(lǐ)解的分(fēn)詞系統還處在試驗階段。
3、基于統計的分(fēn)詞方法
從形式上看,詞是穩定的字的組合,因此在上下文(wén)中(zhōng),相鄰的字同時出現的次數越多(duō),就越有(yǒu)可(kě)能(néng)構成一個詞。因此字與字相鄰共現的頻率或概率能(néng)夠較好的反映成詞的可(kě)信度。可(kě)以對語料中(zhōng)相鄰共現的各個字的組合的頻度進行統計,計算它們的互現信息。定義兩個字的互現信息,計算兩個漢字X、Y的相鄰共現概率。互現信息體(tǐ)現了漢字之間結合關系的緊密程度。當緊密程度高于某一個阈值時,便可(kě)認為(wèi)此字組可(kě)能(néng)構成了一個詞。這種方法隻需對語料中(zhōng)的字組頻度進行統計,不需要切分(fēn)詞典,因而又(yòu)叫做無詞典分(fēn)詞法或統計取詞方法。但這種方法也有(yǒu)一定的局限性,會經常抽出一些共現頻度高、但并不是詞的常用(yòng)字組,例如“這一”、“之一”、“有(yǒu)的”、“我的”、“許多(duō)的”等,并且對常用(yòng)詞的識别精(jīng)度差,時空開銷大。實際應用(yòng)的統計分(fēn)詞系統都要使用(yòng)一部基本的分(fēn)詞詞典(常用(yòng)詞詞典)進行串匹配分(fēn)詞,同時使用(yòng)統計方法識别一些新(xīn)的詞,即将串頻統計和串匹配結合起來,既發揮匹配分(fēn)詞切分(fēn)速度快、效率高的特點,又(yòu)利用(yòng)了無詞典分(fēn)詞結合上下文(wén)識别生詞、自動消除歧義的優點。
到底哪種分(fēn)詞算法的準确度更高,目前并無定論。對于任何一個成熟的分(fēn)詞系統來說,不可(kě)能(néng)單獨依靠某一種算法來實現,都需要綜合不同的算法。筆(bǐ)者了解,海量科(kē)技(jì )的分(fēn)詞算法就采用(yòng)“複方分(fēn)詞法”,所謂複方,相當于用(yòng)中(zhōng)藥中(zhōng)的複方概念,即用(yòng)不同的藥才綜合起來去醫(yī)治疾病,同樣,對于中(zhōng)文(wén)詞的識别,需要多(duō)種算法來處理(lǐ)不同的問題。
分(fēn)詞中(zhōng)的難題
有(yǒu)了成熟的分(fēn)詞算法,是否就能(néng)容易的解決中(zhōng)文(wén)分(fēn)詞的問題呢(ne)?事實遠(yuǎn)非如此。中(zhōng)文(wén)是一種十分(fēn)複雜的語言,讓計算機理(lǐ)解中(zhōng)文(wén)語言更是困難。在中(zhōng)文(wén)分(fēn)詞過程中(zhōng),有(yǒu)兩大難題一直沒有(yǒu)完全突破。
1、歧義識别
歧義是指同樣的一句話,可(kě)能(néng)有(yǒu)兩種或者更多(duō)的切分(fēn)方法。例如:表面的,因為(wèi)“表面”和“面的”都是詞,那麽這個短語就可(kě)以分(fēn)成“表面 的”和“表 面的”。這種稱為(wèi)交叉歧義。像這種交叉歧義十分(fēn)常見,前面舉的“和服”的例子,其實就是因為(wèi)交叉歧義引起的錯誤。“化妝和服裝(zhuāng)”可(kě)以分(fēn)成“化妝 和 服裝(zhuāng)”或者“化妝 和服 裝(zhuāng)”。由于沒有(yǒu)人的知識去理(lǐ)解,計算機很(hěn)難知道到底哪個方案正确。
交叉歧義相對組合歧義來說是還算比較容易處理(lǐ),組合歧義就必需根據整個句子來判斷了。例如,在句子“這個門把手壞了”中(zhōng),“把手”是個詞,但在句子“請把手拿(ná)開”中(zhōng),“把手”就不是一個詞;在句子“将軍任命了一名(míng)中(zhōng)将”中(zhōng),“中(zhōng)将”是個詞,但在句子“産(chǎn)量三年中(zhōng)将增長(cháng)兩倍”中(zhōng),“中(zhōng)将”就不再是詞。這些詞計算機又(yòu)如何去識别?
如果交叉歧義和組合歧義計算機都能(néng)解決的話,在歧義中(zhōng)還有(yǒu)一個難題,是真歧義。真歧義意思是給出一句話,由人去判斷也不知道哪個應該是詞,哪個應該不是詞。例如:“乒乓球拍賣完了”,可(kě)以切分(fēn)成“乒乓 球拍 賣 完 了”、也可(kě)切分(fēn)成“乒乓球 拍賣 完 了”,如果沒有(yǒu)上下文(wén)其他(tā)的句子,恐怕誰也不知道“拍賣”在這裏算不算一個詞。
2、新(xīn)詞識别
新(xīn)詞,專業術語稱為(wèi)未登錄詞。也就是那些在字典中(zhōng)都沒有(yǒu)收錄過,但又(yòu)确實能(néng)稱為(wèi)詞的那些詞。最典型的是人名(míng),人可(kě)以很(hěn)容易理(lǐ)解句子“王軍虎去廣州了”中(zhōng),“王軍虎”是個詞,因為(wèi)是一個人的名(míng)字,但要是讓計算機去識别就困難了。如果把“王軍虎”做為(wèi)一個詞收錄到字典中(zhōng)去,全世界有(yǒu)那麽多(duō)名(míng)字,而且每時每刻都有(yǒu)新(xīn)增的人名(míng),收錄這些人名(míng)本身就是一項巨大的工(gōng)程。即使這項工(gōng)作(zuò)可(kě)以完成,還是會存在問題,例如:在句子“王軍虎頭虎腦的”中(zhōng),“王軍虎”還能(néng)不能(néng)算詞?
新(xīn)詞中(zhōng)除了人名(míng)以外,還有(yǒu)機構名(míng)、地名(míng)、産(chǎn)品名(míng)、商(shāng)标名(míng)、簡稱、省略語等都是很(hěn)難處理(lǐ)的問題,而且這些又(yòu)正好是人們經常使用(yòng)的詞,因此對于搜索引擎來說,分(fēn)詞系統中(zhōng)的新(xīn)詞識别十分(fēn)重要。目前新(xīn)詞識别準确率已經成為(wèi)評價一個分(fēn)詞系統好壞的重要标志(zhì)之一。
中(zhōng)文(wén)分(fēn)詞的應用(yòng)
目前在自然語言處理(lǐ)技(jì )術中(zhōng),中(zhōng)文(wén)處理(lǐ)技(jì )術比西文(wén)處理(lǐ)技(jì )術要落後很(hěn)大一段距離,許多(duō)西文(wén)的處理(lǐ)方法中(zhōng)文(wén)不能(néng)直接采用(yòng),就是因為(wèi)中(zhōng)文(wén)必需有(yǒu)分(fēn)詞這道工(gōng)序。中(zhōng)文(wén)分(fēn)詞是其他(tā)中(zhōng)文(wén)信息處理(lǐ)的基礎,搜索引擎隻是中(zhōng)文(wén)分(fēn)詞的一個應用(yòng)。其他(tā)的比如機器翻譯(MT)、語音合成、自動分(fēn)類、自動摘要、自動校對等等,都需要用(yòng)到分(fēn)詞。因為(wèi)中(zhōng)文(wén)需要分(fēn)詞,可(kě)能(néng)會影響一些研究,但同時也為(wèi)一些企業帶來機會,因為(wèi)國(guó)外的計算機處理(lǐ)技(jì )術要想進入中(zhōng)國(guó)市場,首先也是要解決中(zhōng)文(wén)分(fēn)詞問題。在中(zhōng)文(wén)研究方面,相比外國(guó)人來說,中(zhōng)國(guó)人有(yǒu)十分(fēn)明顯的優勢。
分(fēn)詞準确性對搜索引擎來說十分(fēn)重要,但如果分(fēn)詞速度太慢,即使準确性再高,對于搜索引擎來說也是不可(kě)用(yòng)的,因為(wèi)搜索引擎需要處理(lǐ)數以億計的網頁(yè),如果分(fēn)詞耗用(yòng)的時間過長(cháng),會嚴重影響搜索引擎内容更新(xīn)的速度。因此對于搜索引擎來說,分(fēn)詞的準确性和速度,二者都需要達到很(hěn)高的要求。目前研究中(zhōng)文(wén)分(fēn)詞的大多(duō)是科(kē)研院校,清華、北大、中(zhōng)科(kē)院、北京語言學(xué)院、東北大學(xué)、IBM研究院、微軟中(zhōng)國(guó)研究院等都有(yǒu)自己的研究隊伍,而真正專業研究中(zhōng)文(wén)分(fēn)詞的商(shāng)業公(gōng)司除了海量科(kē)技(jì )以外,幾乎沒有(yǒu)了。科(kē)研院校研究的技(jì )術,大部分(fēn)不能(néng)很(hěn)快産(chǎn)品化,而一個專業公(gōng)司的力量畢竟有(yǒu)限,看來中(zhōng)文(wén)分(fēn)詞技(jì )術要想更好的服務(wù)于更多(duō)的産(chǎn)品,還有(yǒu)很(hěn)長(cháng)一段路。
|