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