成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

探索百度搜索引擎算法技巧分析系列(二)

2016-11-03    分類(lèi): 網(wǎng)站建設(shè)

接著我們上回的話題,百度搜索引擎算法技巧分析,接下來(lái)我們要講的是中文分詞技術(shù),大家都知道百度是全球唯一大的中文搜索引擎。下文針對(duì)百度對(duì)用戶查詢關(guān)鍵詞分詞做了一個(gè)實(shí)踐分析,希望對(duì)更多的seoer有幫助。百度這個(gè)搜索引擎對(duì)關(guān)鍵詞如何切分呢?

中文分詞

首先,講講百度的分詞時(shí)機(jī)或者條件問(wèn)題,是否是個(gè)中文字符串百度就拿來(lái)切一下呢?非也,要想被百度的分詞程序榮幸的切割一下也是要講條件的,哪能是個(gè)字符串就切割啊?你當(dāng)百度是賣(mài)鋸條的么?

那么什么樣的字符串才滿足被切割的條件呢?簡(jiǎn)單說(shuō)來(lái),如果字符串只包含小于等于3個(gè)中文字符的話,那就保留不動(dòng),當(dāng)字符串長(zhǎng)度大于4個(gè)中文字符的時(shí)候,百度的分詞程序才出馬大干快上,把這個(gè)字符串肢解掉。

怎么證明呢?我們向百度提交“電影下載”,看看返回結(jié)果中標(biāo)為紅字的地方,不難看出來(lái),查詢已經(jīng)被切割成<電影,下載>兩個(gè)單詞了,說(shuō)明分詞程序已經(jīng)開(kāi)工了,如果是比4個(gè)中文字符更長(zhǎng)的字符串,那分詞程序就更不客氣了,一定大卸八塊而后快。我們來(lái)看看三個(gè)字符的情況,提交查詢“當(dāng)然擇”,看起來(lái)這個(gè)查詢不倫不類(lèi),那是因?yàn)槲蚁M吹竭@個(gè)字符串被切分為<當(dāng)然,擇>,返回結(jié)果看多少篇相關(guān)頁(yè)面,翻到最后一頁(yè),發(fā)現(xiàn)標(biāo)紅的關(guān)鍵字都是” 當(dāng)然擇”連續(xù)出現(xiàn)的情況,好像沒(méi)有切分,但是還不確定,那么再提交人工分好的查詢“當(dāng)然擇”看看,返回結(jié)果又會(huì)顯示多少篇,基本上可以確定沒(méi)有進(jìn)行分詞了,當(dāng)然另外一種解釋是:對(duì)于三個(gè)字符先切分,然后將切分后的結(jié)果當(dāng)作一個(gè)短語(yǔ)查詢,這樣看到的效果和沒(méi)有切分是相似的。

但是我傾向于判斷百度對(duì)于少于3個(gè)字符的串沒(méi)有切分,奧卡姆不是說(shuō)了么“如無(wú)必要,勿增實(shí)體”,干嗎做無(wú)用功呢。那么如果沒(méi)有切分,會(huì)有一個(gè)隨之而來(lái)的問(wèn)題,怎么從索引庫(kù)里面提取未切分的字符串呢?這牽扯到索引的問(wèn)題,我覺(jué)得百度應(yīng)該采取了兩套索引機(jī)制,一種是按照單詞索引,一種是按照N-GRAM索引, 至于索引的具體問(wèn)題,以后在詳細(xì)論述。

下面我們看看百度是采取的何種分詞算法,現(xiàn)在分詞算法已經(jīng)算是比較成熟了,有簡(jiǎn)單的有復(fù)雜的,比如正向大匹配,反向大匹配,雙向大匹配,語(yǔ)言模型方法,最短路徑算法等等,有興趣的可以用GOOGLE去搜索一下以增加理解。這里就不展開(kāi)說(shuō)了。但是要記住一點(diǎn)的是:判斷一個(gè)分詞系統(tǒng)好不好,關(guān)鍵看兩點(diǎn), 一個(gè)是消除歧義能力;一個(gè)是詞典未登錄詞的識(shí)別比如人名,地名,機(jī)構(gòu)名等。

那么百度用的是什么方法?我的判斷是用雙向大匹配算法。至于怎么推理得出的,讓我們一步步來(lái)看。當(dāng)然,這里首先有個(gè)假設(shè),百度不會(huì)采取比較復(fù)雜的算法,因?yàn)榭紤]到速度問(wèn)題。

我們提交一個(gè)查詢“毛澤東北京華煙云”,又一個(gè)不知所云的查詢,盡管不知所云但是自有它的道理,我想看看百度的分詞是如何消歧以及是否有詞典未登錄詞的識(shí)別的功能,如果是正向大匹配算法的話,

那么輸出應(yīng)該是:”毛澤東/北京/華/煙云”,

如果是反向大匹配算法的話,那么輸出應(yīng)該是:”毛/澤/東北/京華煙云”,

我們看看百度的分詞結(jié)果:”毛澤東/北/京華煙云”,一個(gè)很奇怪的輸出,跟我們的期望相差較多,

但是從中我們可以獲得如下信息:百度分詞可以識(shí)別人名,也可以識(shí)別”京華煙云”,這說(shuō)明有詞典未登錄詞的識(shí)別的功能,我們可以假設(shè)分詞過(guò)程分為兩個(gè)階段: 一階段,先查找一個(gè)特殊詞典,這個(gè)詞典包含一些人名,部分地名以及一些普通詞典沒(méi)有的新詞,這樣首先將”毛澤東”解析出來(lái),剩下了字符串”北京華煙云”,而”北/京華煙云”,可以看作是反向大匹配的分詞結(jié)果。這樣基本說(shuō)得通。為了證明這一點(diǎn),我們提交查詢”發(fā)毛澤東北”,我們期望兩種分詞結(jié)果,一個(gè)是正向大匹配<發(fā)毛,澤,東北>,一個(gè)是上述假設(shè)的結(jié)果<發(fā),毛澤東,北>,事實(shí)上百度輸出是第二種情況,這樣基本能確定百度分詞采取了至少兩個(gè)詞典,一個(gè)是普通詞典,一個(gè)是專用詞典(人名等)。而且是專用詞典先切分,然后將剩余的片斷交由普通詞典來(lái)切分。

繼續(xù)測(cè)驗(yàn),提交查詢“古巴比倫理”,如果是正向大匹配,那么結(jié)果應(yīng)該是<古巴比倫,理>,如果是反向大匹配,那么結(jié)果應(yīng)該是 <古巴,比,倫理>,事實(shí)上百度的分詞結(jié)果是<古巴比倫,理>,從這個(gè)例子看,好像用了正向大匹配算法;

此外還有一些例子表明好像是使用正向大匹配的;但是且慢,我們看這個(gè)查詢“北京華煙云”,正向大匹配期望的結(jié)果是<北京,華,煙云>,而反向大匹配期望的結(jié)果是 <北,京華煙云>,事實(shí)上百度輸出的是后者,這說(shuō)明可能采用的反向大匹配;

從這點(diǎn)我們可以猜測(cè)百度采用的是雙向大匹配分詞算法,如果正向和反向匹配分詞結(jié)果一致當(dāng)然好辦,直接輸出即可;但是如果兩者不一致,正向匹配一種結(jié)果,反向匹配一種結(jié)果,此時(shí)該如何是好呢?

從上面兩個(gè)例子看,在這種情況下,百度采取最短路徑方法,也就是切分的片斷越少越好,比如<古巴,比,倫理>和<古巴比倫,理> 相比選擇后者,<北京,華,煙云>和<北,京華煙云>相比選擇后者。還有類(lèi)似的一些例子,這樣基本可以解釋這些輸出結(jié)果。

但是仍然遺留的問(wèn)題是:如果正向反向分詞不一致,而且最短路徑也相同,那怎么辦?輸出正向的還是反向的結(jié)果?

我們?cè)賮?lái)看一個(gè)例子。提交查詢“遙遠(yuǎn)古古巴比倫”,這個(gè)查詢被百度切分為<遙遠(yuǎn),古古,巴比倫>,說(shuō)明詞典里面有”巴比倫”,但是是否有”古 巴比倫”這個(gè)詞匯不確定,此時(shí)看不出是正向切分還是反向切分得出的結(jié)果,換查詢?yōu)椤斑b遠(yuǎn)古巴比倫”,此時(shí)被切分為“遙遠(yuǎn)/古巴比倫”,這說(shuō)明詞典里面有” 古巴比倫”這個(gè)詞匯,這說(shuō)明了“遙遠(yuǎn)古古巴比倫”是正向大匹配的結(jié)果。那為什么“遙遠(yuǎn)古古巴比倫”不會(huì)被反向切分為”遙/遠(yuǎn)古/古巴比倫”呢,百度的可能選擇是這種情況下選擇單字少的那組切分結(jié)果。

當(dāng)然還可以繼續(xù)追問(wèn):如果切分后單字也一樣多,那怎么辦?最后看一個(gè)例子,查詢“王強(qiáng)大小”,百度將其切分為“王/強(qiáng)大/小”,是正向切分的結(jié)果,如果是反向的會(huì)被切分為“王/強(qiáng)/大小”,這說(shuō)明有歧義而且單字也相同則選擇正向切分結(jié)果。

OK,看到這里可能頭已經(jīng)有些暈了,最后總結(jié)一下百度的分詞算法,當(dāng)然里面還是有猜測(cè)的成分,算法如下:

首先查詢專用詞典(人名,部分地名等),將專有名稱切出,剩下的部分采取雙向分詞策略,如果兩者切分結(jié)果相同,說(shuō)明沒(méi)有歧義,直接輸出分詞結(jié)果。如果不一致,則輸出最短路徑的那個(gè)結(jié)果,如果長(zhǎng)度相同,則選擇單字詞少的那一組切分結(jié)果。如果單字也相同,則選擇正向分詞結(jié)果。

百度一直宣傳自己在中文處理方面的優(yōu)勢(shì),從上面看,分詞算法并無(wú)特殊之處,消歧效果并不理想,即使百度采取比上述分詞算法復(fù)雜些的算法也難以說(shuō)成是優(yōu)勢(shì),如果說(shuō)百度有優(yōu)勢(shì)的話,唯一的優(yōu)勢(shì)就是那個(gè)很大的專用詞典,這個(gè)專用詞典登錄了人名(比如大長(zhǎng)今),稱謂(比如老太太),部分地名(比如阿聯(lián)酋等),估計(jì)百度采用學(xué)術(shù)界公布的比較新的命名實(shí)體識(shí)別算法從語(yǔ)料庫(kù)里面不斷識(shí)別出詞典未登錄詞,逐漸擴(kuò)充這個(gè)專門(mén)詞典。如果這就是優(yōu)勢(shì)的話,那么這個(gè)優(yōu)勢(shì)能夠保持多久就是個(gè)很明顯的問(wèn)題。

到此,我們講述了百度搜索引擎算法的查詢處理及中文分詞技術(shù),技巧很多,希望seoer能夠認(rèn)真揣摩,在搜索引擎道路上越走越順暢。

當(dāng)前題目:探索百度搜索引擎算法技巧分析系列(二)
網(wǎng)頁(yè)路徑:http://jinyejixie.com/news13/58963.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)品牌網(wǎng)站制作、服務(wù)器托管用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
晋江市| 武城县| 时尚| 毕节市| 徐闻县| 诏安县| 屯留县| 攀枝花市| 万宁市| 内丘县| 新泰市| 同德县| 望谟县| 饶阳县| 江北区| 叶城县| 永康市| 黄陵县| 九台市| 水富县| 铜山县| 中牟县| 固始县| 凤阳县| 固始县| 南安市| 通辽市| 莒南县| 镇江市| 印江| 永昌县| 白水县| 静宁县| 喜德县| 梓潼县| 台山市| 准格尔旗| 木里| 商河县| 伊吾县| 新丰县|