中文字幕在线直播,成人免费图片免费观看,国内精品国语自产拍在线观看,国产欧美精品区一区二区三区

baidu分詞算法分析之三
時(shí)間:2006年12月14日 內(nèi)容來(lái)源: 互諾科技 瀏覽量:0

之三:對(duì)百度分詞算法的進(jìn)一步分析

上面說(shuō)過(guò),經(jīng)過(guò)分析得出百度的分詞系統(tǒng)采用雙向最大匹配分詞,但是后來(lái)發(fā)現(xiàn)推理過(guò)程中存在一個(gè)漏洞,而且推導(dǎo)出來(lái)的百度分詞算法步驟還是過(guò)于繁瑣,所以進(jìn)一步進(jìn)行分析,看看是否前面的推導(dǎo)有錯(cuò)誤.

那么以前的分析有什么漏洞呢?我們推導(dǎo)百度分詞有反向最大匹配的依據(jù)是百度將"北京華煙云"分詞為<北,京華煙云>,從這里看好像采用了反向最大匹配,因?yàn)檎蜃畲笃ヅ涞慕Y(jié)果應(yīng)該是<北京,華,煙云>,但是由此就推論說(shuō)百度采用了雙向最大匹配還是太倉(cāng)促了,前面文章我們也講過(guò),百度有兩個(gè)詞典,一個(gè)普通詞典,一個(gè)專有詞典,而且是專有詞典的詞匯先切分,然后將剩余片斷交給普通詞典去切分.所以上面的"北京華煙云"之所以被切分成<北,京華煙云>,另外一個(gè)可能是:京華煙云這個(gè)詞匯是在專有詞典里面存儲(chǔ)的,所以先分析,這樣得出"京華煙云",剩下"北",沒(méi)什么好切分的,所以輸出<北,京華煙云>.

這里只是假設(shè),那么是否確實(shí)"京華煙云"在專有詞典呢?我們?cè)倏匆粋(gè)例子"山東北京華煙云",百度切分的結(jié)果是<山東,北,京華煙云>,如果"京華煙云"在普通詞典,如果是反向切分,那么結(jié)果應(yīng)該是<山,東北,京華煙云>,如果是正向切分應(yīng)該是<山東,北京,華,煙云>,無(wú)論如何都分不出<山東,北,京華煙云>.這說(shuō)明什么?說(shuō)明"京華煙云"是在那個(gè)專有詞典,所以先切分出"京華煙云",然后剩下的"山東北"交由普通詞典切分,明顯是正向最大匹配的結(jié)果輸出<山東,北>.當(dāng)然按照我們?cè)诘谝黄恼碌乃惴ㄍ茖?dǎo)"山東北"的切分也會(huì)得出<山東,北>的結(jié)論,但是明顯比正向最大匹配多幾個(gè)判斷步驟,既然效果一樣,另外一個(gè)更加簡(jiǎn)潔的方法也能說(shuō)得通,那當(dāng)然選擇簡(jiǎn)便的方法了.所以初步判斷百度采取的是正向最大匹配.

我們繼續(xù)測(cè)試采用何種分詞算法,為了減少專有詞典首先分詞造成的影響,那么查詢里面不能出現(xiàn)相對(duì)特殊的詞匯,構(gòu)筑查詢"天才能量級(jí)",這里應(yīng)該沒(méi)有專有詞典出現(xiàn)過(guò)的詞匯,百度切分為<天才,能量,級(jí)>,看來(lái)是正向最大匹配的結(jié)果.另外,如果所有查詢?cè)~匯都出現(xiàn)在專有詞典,那么采取的是何種方法?這樣首先就得保證詞匯都出現(xiàn)在專有詞典,這么保證這一點(diǎn)呢?我們構(gòu)造查詢"鋪陳曉東方",百度切分為<鋪,陳曉東,方>,可以看出"陳曉東"是在專有詞典的所以先切分出來(lái).另外一個(gè)例子 "山東京城",百度切分為<山東,京城>,說(shuō)明"東京"是在普通詞典的.OK,構(gòu)造查詢"陳曉東京華煙云",通過(guò)前面分析可以看出兩個(gè)詞匯都在專有詞典里面,百度切分為<陳曉東,京華煙云>,說(shuō)明對(duì)于專有詞典詞匯也是采取正向最大匹配或者雙向最大匹配.那么使用反向最大匹配了嗎?構(gòu)造查詢例子"陳曉東方不敗",首先我們肯定"陳曉東"和"東方不敗"都是在專有詞典出現(xiàn)的,如果是正向切分,那么應(yīng)該是<陳曉東,方,不敗>或者<陳曉東,方,不,敗>如果是反向切分則是<陳,曉,東方不敗>,可以看出百度的切分是<陳曉東,方,不敗>或者<陳曉東,方,不,敗>,說(shuō)明采用的是正向最大匹配.通過(guò)分析,百度的詞典不包含"不敗"這個(gè)單詞,所以實(shí)際上百度的切分結(jié)果是<陳曉東,方,不,敗>,很明顯這和我們以前推導(dǎo)的算法是有矛盾的,所以以前的分析算法確實(shí)有問(wèn)題,所以結(jié)論是百度采取的是正向最大匹配算法.

重新歸納一下百度的分詞系統(tǒng):首先用專有詞典采用最大正向匹配分詞,切分出部分結(jié)果,剩余沒(méi)有切分交給普通詞典,同樣采取正向最大匹配分詞,最后輸出結(jié)果.

另外,GOOGLE也是采用正向最大匹配分詞算法,不過(guò)好像沒(méi)有那個(gè)專用詞典,所以很多專名都被切碎了.

從這點(diǎn)講,GOOGLE在中文詞典構(gòu)建上比百度差些,還需要加把子力氣才行,不過(guò)這也不是什么多難的事.