欧美日日操,日日爱网站,99久久久久久久,日本高清不卡免费,久久免费观看国产精品,秋霞在线观看视频一区二区三区

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

百度分詞方法分析

發布時間:  2012/9/5 11:54:54
 查詢處理以及分詞技術

隨著搜索經濟的崛起,人們開始越加關注全球各大搜索引擎的性能、技術和日流量。作為企業,會根據搜索引擎的知名度以及日流量來選擇是否要投放廣告等;作為 普通網民,會根據搜索引擎的性能和技術來選擇自己喜歡的引擎查找資料;作為技術人員,會把有代表性的搜索引擎作為研究對象。 搜索引擎經濟的崛起,又一次向人們證明了網絡所蘊藏的巨大商機。網絡離開了搜索將只剩下空洞雜亂的數據,以及大量等待去費力挖掘的金礦。

但是,如何設計一個高效的搜索引擎?我們可以以百度所采取的技術手段來探討如何設計一個實用的搜索引擎。搜索引擎涉及到許多技術點,比如查詢處理,排序算法,頁面抓取算法,CACHE機制,ANTI-SPAM等等。這些技術細節,作為商業公司的搜索引擎服務提供商比如百度,GOOGLE等是不會公之于眾的。我們可以將現有的搜索引擎看作一個黑盒,通過向黑盒提交輸入,判斷黑盒返回的輸出大致判斷黑盒里面不為人知的技術細節。

查詢處理與分詞是一個中文搜索引擎必不可少的工作,而百度作為一個典型的中文搜索引擎一直強調其“中文處理”方面具有其它搜索引擎所不具有的關鍵技術和優勢。那么我們就來看看百度到底采用了哪些所謂的核心技術。

我們分兩個部分來講述:查詢處理/中文分詞。

一、查詢處理

用戶向搜索引擎提交查詢,搜索引擎一般在接受到用戶查詢后要做一些處理,然后在索引數據庫里面提取相關的信息。那么百度在接受到用戶查詢后做了些什么工作呢?

1、假設用戶提交了不只一個查詢串,比如“信息檢索 理論 工具”。那么搜索引擎首先做的是根據分隔符比如空格,標點符號,將查詢串分割成若干子查詢串,比如上面的查詢就會被解析為:《信息檢索,理論,工具》三個子字符串;這個道理簡單,我們接著往下看。

2、假設提交的查詢有重復的內容,搜索引擎怎么處理呢?比如查詢“理論 工具 理論”,百度是將重復的字符串當作只出現過一次,也就是處理成等價的“理論 工具”,而GOOGLE顯然是沒有進行歸并,而是將重復查詢子串的權重增大進行處理。那么是如何得出這個結論的呢?我們可以將“理論 工具”提交給百度,返回341,000篇文檔,大致看看第一頁的返回內容。OK。繼續,我們提交查詢“理論 工具 理論”,在看看返回結果,仍然是那么多返回文檔,當然這個不能說明太多問題,那看看第一頁返回結果的排序,看出來了嗎?順序完全沒有變化,而GOOGLE 則排序有些變動,這說明百度是將重復的查詢歸并成一個處理的,而且字符串之間的先后出現順序基本不予考慮(GOOGLE是考慮了這個順序關系的)。

3、假設提交的中文查詢包含英文單詞,搜索引擎是怎么處理的?比如查詢”電影BT下載”,百度的方法是將中文字符串中的英文當作一個整體保留,并以此為斷點將 中文切分開,這樣上述的查詢就切為《電影,BT,下載》,不論中間的英文是否一個字典里能查到的單詞也好,還是隨機的字符也好,都會當作一個 整體來對待。至于為什么,你用查詢“電影dfdfdf下載”看看結果就知道了。當然如果查詢中包含數字,也是如此辦理。

到目前為止,一切很簡單,也很清楚,百度怎么處理用戶查詢的呢?歸納如下:首先根據分割符號將查詢分開,然后看看是否有重復的字符串,如果有,就拋棄多余的,只保留一個,接著判斷是否有英文或者數字,如果有的話,把英文或者數字當作一個整體保留并把前后的中文切開。

接著該干什么呢?該考慮分詞的問題了。

二、中文分詞

首先,講講百度的分詞時機或者條件問題,是否是個中文字符串百度就拿來切一下呢?非也,要想被百度的分詞程序榮幸的切割一下也是要講條件的,哪能是個字符串就切割。磕惝敯俣仁琴u鋸條的么?

那么什么樣的字符串才滿足被切割的條件呢?簡單說來,如果字符串只包含小于等于3個中文字符的話,那就保留不動,當字符串長度大于4個中文字符的時候,百度的分詞程序才出馬大干快上,把這個字符串肢解掉。

怎么證明呢?我們向百度提交“電影下載”,看看返回結果中標為紅字的地方,不難看出來,查詢已經被切割成《電影,下載》兩個單詞了,說明分詞程序已經開工了,如果是比4個中文字符更長的字符串,那分詞程序就更不客氣了,一定大卸八塊而后快。我們來看看三個字符的情況,提交查詢“當然擇”,看起來這個查詢不倫不類,那是因為我希望看到這個字符串被切分為《當然,擇》,返回結果365篇相關頁面,翻到最后一頁,發現標紅的關鍵字都是” 當然擇”連續出現的情況,好像沒有切分,但是還不確定,那么再提交人工分好的查詢“當然 擇”看看,返回結果1,090,000篇,基本上可以確定沒有進行分詞了,當然另外一種解釋是:對于三個字符先切分,然后將切分后的結果當作一個短語查 詢,這樣看到的效果和沒有切分是相似的。但是我傾向于判斷百度對于少于3個字符的串沒有切分,奧卡姆不是說了么“如無必要,勿增實體”,干嗎做無用功呢。 那么如果沒有切分,會有一個隨之而來的問題,怎么從索引庫里面提取未切分的字符串呢?這牽扯到索引的問題,我覺得百度應該采取了兩套索引機制,一種是按照 單詞索引,一種是按照N-GRAM索引,至于索引的具體問題,以后在詳細論述。

下面我們看看百度是采取的何種分詞算法,現在分詞算法已經算是比較成熟了,有簡單的有復雜的,比如正向最大匹配,反向最大匹配,雙向最大匹配,語言模型方 法,最短路徑算法等等,有興趣的可以用GOOGLE去搜索一下以增加理解。這里就不展開說了。但是要記住一點的是:判斷一個分詞系統好不好,關鍵看兩點, 一個是消除歧義能力;一個是詞典未登錄詞的識別比如人名,地名,機構名等。

那么百度用的是什么方法?我的判斷是用雙向最大匹配算法。至于怎么推理得出的,讓我們一步步來看。當然,這里首先有個假設,百度不會采取比較復雜的算法,因為考慮到速度問題。

我們提交一個查詢“毛澤東北京華煙云”,又一個不知所云的查詢,盡管不知所云但是自有它的道理,我想看看百度的分詞是如何消歧以及是否有詞典未登錄詞的識 別的功能,如果是正向最大匹配算法的話,那么輸出應該是:”毛澤東/北京/華/煙云”,如果是反向最大匹配算法的話,那么輸出應該是:”毛/澤/東北/京 華煙云”,我們看看百度的分詞結果:”毛澤東/北/京華煙云”,一個很奇怪的輸出,跟我們的期望相差較多,但是從中我們可以獲得如下信息:百度分詞可以識 別人名,也可以識別”京華煙云”,這說明有詞典未登錄詞的識別的功能,我們可以假設分詞過程分為兩個階段:第一階段,先查找一個特殊詞典,這個詞典包含一 些人名,部分地名以及一些普通詞典沒有的新詞,這樣首先將”毛澤東”解析出來,剩下了字符串”北京華煙云”,而”北/京華煙云”,可以看作是反向最大匹配 的分詞結果。這樣基本說得通。為了證明這一點,我們提交查詢”發毛澤東北”,我們期望兩種分詞結果,一個是正向最大匹配《發毛,澤,東北》, 一個是上述假設的結果《發,毛澤東,北》,事實上百度輸出是第二種情況,這樣基本能確定百度分詞采取了至少兩個詞典,一個是普通詞典,一個是 專用詞典(人名等)。而且是專用詞典先切分,然后將剩余的片斷交由普通詞典來切分。


本文出自:億恩科技【www.sunshares.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線