分詞算法在搜索引擎中的作用是很重要的,特別是中文分詞,在百度搜素展現(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