分詞算法在搜索引擎中的作用是很重要的字旭,特別是中文分詞,在百度搜素展現(xiàn)中很重要着绊。
分詞技術(shù)用在整個(gè)搜索流程的哪一步呢?
一個(gè)用戶(hù)從找到百度搜索框谐算,到輸入搜索詞,再看用戶(hù)看到的一個(gè)結(jié)果归露,搜索引擎做了哪些事情?
1洲脂、爬蟲(chóng)抓取頁(yè)面
2、頁(yè)面去重剧包,質(zhì)量檢測(cè)恐锦,收錄頁(yè)面
3、保存快照疆液,建立倒排索引
4一铅、倒排索引分層,建立緩存機(jī)制
4堕油、用戶(hù)輸入搜索詞
5潘飘、搜索詞分詞技術(shù)處理
6、緩存索引庫(kù)排序
7掉缺、提取緩存索引庫(kù)數(shù)據(jù)
8卜录、展現(xiàn)
可以看到,分詞技術(shù)在第5步眶明,分詞技術(shù)最重要的并不是找到所有結(jié)果艰毒,因?yàn)樵谏习賰|的網(wǎng)頁(yè)中找到所有結(jié)果沒(méi)有太多的意義,沒(méi)有人能看得完搜囱,最重要的是把最相關(guān)的結(jié)果排在最前面丑瞧,這也稱(chēng)為相關(guān)度排序。中文分詞的準(zhǔn)確與否蜀肘,常常直接影響到對(duì)搜索結(jié)果的相關(guān)度排序绊汹。從定性分析來(lái)說(shuō),搜索引擎的分詞算法不同扮宠,詞庫(kù)的不同都會(huì)影響頁(yè)面的返回結(jié)果
現(xiàn)有的分詞算法可分為三大類(lèi):基于字符串匹配的分詞方法灸促、基于理解的分詞方法和基于統(tǒng)計(jì)的分詞方法。按照是否與詞性標(biāo)注過(guò)程相結(jié)合涵卵,又可以分為單純分詞方法和分詞與標(biāo)注相結(jié)合的一體化方法浴栽。
字符匹配
這種方法又叫做機(jī)械分詞方法,它是按照一定的策略將待分析的漢字串與一個(gè)“充分大的”機(jī)器詞典中的詞條進(jìn)行配轿偎,若在詞典中找到某個(gè)字符串典鸡,則匹配成功(識(shí)別出一個(gè)詞)。按照掃描方向的不同坏晦,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長(zhǎng)度優(yōu)先匹配的情況萝玷,可以分為最大(最長(zhǎng))匹配和最小(最短)匹配;常用的幾種機(jī)械分詞方法如下:
1)正向最大匹配法(由左到右的方向);
2)逆向最大匹配法(由右到左的方向);
3)最少切分(使每一句中切出的詞數(shù)最小);
4)雙向最大匹配法(進(jìn)行由左到右嫁乘、由右到左兩次掃描)
還可以將上述各種方法相互組合,例如球碉,可以將正向最大匹配方法和逆向最大匹配方法結(jié)合起來(lái)構(gòu)成雙向匹配法蜓斧。由于漢語(yǔ)單字成詞的特點(diǎn),正向最小匹配和逆向最小匹配一般很少使用睁冬。一般說(shuō)來(lái)挎春,逆向匹配的切分精度略高于正向匹配,遇到的歧義現(xiàn)象也較少豆拨。統(tǒng)計(jì)結(jié)果表明直奋,單純使用正向最大匹配的錯(cuò)誤率為1/169,單純使用逆向最大匹配的錯(cuò)誤率為1/245施禾。但這種精度還遠(yuǎn)遠(yuǎn)不能滿(mǎn)足實(shí)際的需要脚线。實(shí)際使用的分詞系統(tǒng),都是把機(jī)械分詞作為一種初分手段弥搞,還需通過(guò)利用各種其它的語(yǔ)言信息來(lái)進(jìn)一步提高切分的準(zhǔn)確率邮绿。
一種方法是改進(jìn)掃描方式,稱(chēng)為特征掃描或標(biāo)志切分攀例,優(yōu)先在待分析字符串中識(shí)別和切分出一些帶有明顯特征的詞船逮,以這些詞作為斷點(diǎn),可將原字符串分為較小的串再來(lái)進(jìn)機(jī)械分詞肛度,從而減少匹配的錯(cuò)誤率。另一種方法是將分詞和詞類(lèi)標(biāo)注結(jié)合起來(lái)投慈,利用豐富的詞類(lèi)信息對(duì)分詞決策提供幫助承耿,并且在標(biāo)注過(guò)程中又反過(guò)來(lái)對(duì)分詞結(jié)果進(jìn)行檢驗(yàn)、調(diào)整伪煤,從而極大地提高切分的準(zhǔn)確率加袋。
對(duì)于機(jī)械分詞方法,可以建立一個(gè)一般的模型抱既,在這方面有專(zhuān)業(yè)的學(xué)術(shù)論文职烧,這里不做詳細(xì)論述。
理解法
這種分詞方法是通過(guò)讓計(jì)算機(jī)模擬人對(duì)句子的理解防泵,達(dá)到識(shí)別詞的效果蚀之。其基本思想就是在分詞的同時(shí)進(jìn)行句法、語(yǔ)義分析捷泞,利用句法信息和語(yǔ)義信息來(lái)處理歧義現(xiàn)象足删。它通常包括三個(gè)部分:分詞子系統(tǒng)、句法語(yǔ)義子系統(tǒng)锁右、總控部分失受。在總控部分的協(xié)調(diào)下讶泰,分詞子系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語(yǔ)義信息來(lái)對(duì)分詞歧義進(jìn)行判斷拂到,即它模擬了人對(duì)句子的理解過(guò)程痪署。這種分詞方法需要使用大量的語(yǔ)言知識(shí)和信息。由于漢語(yǔ)語(yǔ)言知識(shí)的籠統(tǒng)兄旬、復(fù)雜性狼犯,難以將各種語(yǔ)言信息組織成機(jī)器可直接讀取的形式,因此目前基于理解的分詞系統(tǒng)還處在試驗(yàn)階段辖试。
統(tǒng)計(jì)法
從形式上看辜王,詞是穩(wěn)定的字的組合,因此在上下文中罐孝,相鄰的字同時(shí)出現(xiàn)的次數(shù)越多呐馆,就越有可能構(gòu)成一個(gè)詞。因此字與字相鄰共現(xiàn)的頻率或概率能夠較好的反映成詞的可信度莲兢⌒诶矗可以對(duì)語(yǔ)料中相鄰共現(xiàn)的各個(gè)字的組合的頻度進(jìn)行統(tǒng)計(jì),計(jì)算它們的互現(xiàn)信息改艇。定義兩個(gè)字的互現(xiàn)信息收班,計(jì)算兩個(gè)漢字X、Y的相鄰共現(xiàn)概率谒兄∷よ耄互現(xiàn)信息體現(xiàn)了漢字之間結(jié)合關(guān)系的緊密程度。當(dāng)緊密程度高于某一個(gè)閾值時(shí)承疲,便可認(rèn)為此字組可能構(gòu)成了一個(gè)詞邻耕。這種方法只需對(duì)語(yǔ)料中的字組頻度進(jìn)行統(tǒng)計(jì),不需要切分詞典燕鸽,因而又叫做無(wú)詞典分詞法或統(tǒng)計(jì)取詞方法兄世。但這種方法也有一定的局限性,會(huì)經(jīng)常抽出一些共現(xiàn)頻度高啊研、但并不是詞的常用字組御滩,例如“這一”、“之一”党远、“有的”削解、“我的”、“許多的”等沟娱,并且對(duì)常用詞的識(shí)別精度差钠绍,時(shí)空開(kāi)銷(xiāo)大。實(shí)際應(yīng)用的統(tǒng)計(jì)分詞系統(tǒng)都要使用一部基本的分詞詞典(常用詞詞典)進(jìn)行串匹配分詞花沉,同時(shí)使用統(tǒng)計(jì)方法識(shí)別一些新的詞柳爽,即將串頻統(tǒng)計(jì)和串匹配結(jié)合起來(lái)媳握,既發(fā)揮匹配分詞切分速度快、效率高的特點(diǎn)磷脯,又利用了無(wú)詞典分詞結(jié)合上下文識(shí)別生詞蛾找、自動(dòng)消除歧義的優(yōu)點(diǎn)。
另外一類(lèi)是基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法赵誓。首先給出大量已經(jīng)分詞的文本打毛,利用統(tǒng)計(jì)機(jī)器學(xué)習(xí)模型學(xué)習(xí)詞語(yǔ)切分的規(guī)律(稱(chēng)為訓(xùn)練),從而實(shí)現(xiàn)對(duì)未知文本的切分俩功。我們知道幻枉,漢語(yǔ)中各個(gè)字單獨(dú)作詞語(yǔ)的能力是不同的,此外有的字常常作為前綴出現(xiàn)诡蜓,有的字卻常常作為后綴(“者”“性”)熬甫,結(jié)合兩個(gè)字相臨時(shí)是否成詞的信息,這樣就得到了許多與分詞有關(guān)的知識(shí)蔓罚。這種方法就是充分利用漢語(yǔ)組詞的規(guī)律來(lái)分詞椿肩。這種方法的最大缺點(diǎn)是需要有大量預(yù)先分好詞的語(yǔ)料作支撐,而且訓(xùn)練過(guò)程中時(shí)空開(kāi)銷(xiāo)極大豺谈。
到底哪種分詞算法的準(zhǔn)確度更高郑象,目前并無(wú)定論。對(duì)于任何一個(gè)成熟的分詞系統(tǒng)來(lái)說(shuō)茬末,不可能單獨(dú)依靠某一種算法來(lái)實(shí)現(xiàn)厂榛,都需要綜合不同的算法。例如丽惭,海量科技的分詞算法就采用“復(fù)方分詞法”击奶,所謂復(fù)方,就是像中西醫(yī)結(jié)合般綜合運(yùn)用機(jī)械方法和知識(shí)方法吐根。對(duì)于成熟的中文分詞系統(tǒng)正歼,需要多種算法綜合處理問(wèn)題辐马。
技術(shù)難點(diǎn)編輯
有了成熟的分詞算法拷橘,是否就能容易的解決中文分詞的問(wèn)題呢?事實(shí)遠(yuǎn)非如此。中文是一種十分復(fù)雜的語(yǔ)言喜爷,讓計(jì)算機(jī)理解中文語(yǔ)言更是困難冗疮。在中文分詞過(guò)程中,有兩大難題一直沒(méi)有完全突破檩帐。
歧義識(shí)別
歧義是指同樣的一句話(huà)术幔,可能有兩種或者更多的切分方法。主要的歧義有兩種:交集型歧義和組合型歧義湃密,例如:表面的诅挑,因?yàn)椤氨砻妗焙汀懊娴摹倍际窃~四敞,那么這個(gè)短語(yǔ)就可以分成“表面
的”和“表
面的”。這種稱(chēng)為交集型歧義(交叉歧義)拔妥。像這種交集型歧義十分常見(jiàn)忿危,前面舉的“和服”的例子,其實(shí)就是因?yàn)榻患推缌x引起的錯(cuò)誤没龙∑坛“化妝和服裝”可以分成“化妝 和
服裝”或者“化妝 和服 裝”。由于沒(méi)有人的知識(shí)去理解硬纤,計(jì)算機(jī)很難知道到底哪個(gè)方案正確解滓。
交集型歧義相對(duì)組合型歧義來(lái)說(shuō)是還算比較容易處理,組合型歧義就必須根據(jù)整個(gè)句子來(lái)判斷了筝家。例如洼裤,在句子“這個(gè)門(mén)把手壞了”中,“把手”是個(gè)詞肛鹏,但在句子“請(qǐng)把手拿開(kāi)”中逸邦,“把手”就不是一個(gè)詞;在句子“將軍任命了一名中將”中,“中將”是個(gè)詞在扰,但在句子“產(chǎn)量三年中將增長(zhǎng)兩倍”中缕减,“中將”就不再是詞。這些詞計(jì)算機(jī)又如何去識(shí)別?
如果交集型歧義和組合型歧義計(jì)算機(jī)都能解決的話(huà)芒珠,在歧義中還有一個(gè)難題桥狡,是真歧義。真歧義意思是給出一句話(huà)皱卓,由人去判斷也不知道哪個(gè)應(yīng)該是詞裹芝,哪個(gè)應(yīng)該不是詞。例如:“乒乓球拍賣(mài)完了”娜汁,可以切分成“乒乓
球拍 賣(mài) 完 了”嫂易、也可切分成“乒乓球 拍賣(mài) 完 了”,如果沒(méi)有上下文其他的句子掐禁,恐怕誰(shuí)也不知道“拍賣(mài)”在這里算不算一個(gè)詞怜械。
新詞識(shí)別
命名實(shí)體(人名、地名)傅事、新詞缕允,專(zhuān)業(yè)術(shù)語(yǔ)稱(chēng)為未登錄詞。也就是那些在分詞詞典中沒(méi)有收錄蹭越,但又確實(shí)能稱(chēng)為詞的那些詞障本。最典型的是人名,人可以很容易理解。句子“王軍虎去廣州了”中驾霜,“王軍虎”是個(gè)詞案训,因?yàn)槭且粋€(gè)人的名字,但要是讓計(jì)算機(jī)去識(shí)別就困難了粪糙。如果把“王軍虎”做為一個(gè)詞收錄到字典中去萤衰,全世界有那么多名字,而且每時(shí)每刻都有新增的人名猜旬,收錄這些人名本身就是一項(xiàng)既不劃算又巨大的工程脆栋。即使這項(xiàng)工作可以完成,還是會(huì)存在問(wèn)題洒擦,例如:在句子“王軍虎頭虎腦的”中椿争,“王軍虎”還能不能算詞?
除了人名以外,還有機(jī)構(gòu)名熟嫩、地名秦踪、產(chǎn)品名、商標(biāo)名掸茅、簡(jiǎn)稱(chēng)椅邓、省略語(yǔ)等都是很難處理的問(wèn)題,而且這些又正好是人們經(jīng)常使用的詞昧狮,因此對(duì)于搜索引擎來(lái)說(shuō)景馁,分詞系統(tǒng)中的新詞識(shí)別十分重要。新詞識(shí)別準(zhǔn)確率已經(jīng)成為評(píng)價(jià)一個(gè)分詞系統(tǒng)好壞的重要標(biāo)志之一逗鸣。
應(yīng)用編輯
在自然語(yǔ)言處理技術(shù)中合住,中文處理技術(shù)比西文處理技術(shù)要落后很大一段距離,許多西文的處理方法中文不能直接采用撒璧,就是因?yàn)橹形谋匦栌蟹衷~這道工序透葛。中文分詞是其他中文信息處理的基礎(chǔ),搜索引擎只是中文分詞的一個(gè)應(yīng)用卿樱。其他的比如機(jī)器翻譯(MT)僚害、語(yǔ)音合成、自動(dòng)分類(lèi)繁调、自動(dòng)摘要萨蚕、自動(dòng)校對(duì)等等,都需要用到分詞涉馁。因?yàn)橹形男枰衷~门岔,可能會(huì)影響一些研究爱致,但同時(shí)也為一些企業(yè)帶來(lái)機(jī)會(huì)烤送,因?yàn)閲?guó)外的計(jì)算機(jī)處理技術(shù)要想進(jìn)入中國(guó)市場(chǎng),首先也是要解決中文分詞問(wèn)題糠悯。
分詞準(zhǔn)確性對(duì)搜索引擎來(lái)說(shuō)十分重要帮坚,但如果分詞速度太慢妻往,即使準(zhǔn)確性再高,對(duì)于搜索引擎來(lái)說(shuō)也是不可用的试和,因?yàn)樗阉饕嫘枰幚頂?shù)以?xún)|計(jì)的網(wǎng)頁(yè)讯泣,如果分詞耗用的時(shí)間過(guò)長(zhǎng),會(huì)嚴(yán)重影響搜索引擎內(nèi)容更新的速度阅悍。因此對(duì)于搜索引擎來(lái)說(shuō)好渠,分詞的準(zhǔn)確性和速度,二者都需要達(dá)到很高的要求节视。研究中文分詞的大多是科研院校拳锚,清華、北大寻行、哈工大霍掺、中科院、北京語(yǔ)言大學(xué)拌蜘、山西大學(xué)杆烁、東北大學(xué)、IBM研究院简卧、微軟中國(guó)研究院等都有自己的研究隊(duì)伍兔魂,而真正專(zhuān)業(yè)研究中文分詞的商業(yè)公司除了海量以外,幾乎沒(méi)有了举娩∪肴龋科研院校研究的技術(shù),大部分不能很快產(chǎn)品化晓铆,而一個(gè)專(zhuān)業(yè)公司的力量畢竟有限勺良,看來(lái)中文分詞技術(shù)要想更好的服務(wù)于更多的產(chǎn)品,還有很長(zhǎng)一段路骄噪。黑帽seo