專利名稱:一種搜索方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種搜索方法,尤其涉及反向搜索,搜索排名,索引更新技術(shù)領(lǐng)域。
背景技術(shù):
XMPP(Extensible Messageing and Presence Protocol 可擴(kuò)展消息與存在協(xié) 議)是目前主流的四種IM(IM instant messaging,即時(shí)消息)協(xié)議之一,其他三種分別為 即時(shí)信息和空間協(xié)議(IMPP)、空間和即時(shí)信息協(xié)議(PRIM)、針對即時(shí)通訊和空間平衡擴(kuò)充 的進(jìn)程開始協(xié)議SIP (SIMPLE)。在這四種協(xié)議中,XMPP是最靈活的。XMPP是一種基于XML的協(xié)議,它繼承了在XML 環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應(yīng)用具有超強(qiáng)的可擴(kuò)展性。經(jīng)過擴(kuò)展以后的XMPP 可以通過發(fā)送擴(kuò)展的信息來處理用戶的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和 基于地址的服務(wù)等應(yīng)用程序。而且,XMPP包含了針對服務(wù)器端的軟件協(xié)議,使之能與另一 個(gè)進(jìn)行通話,這使得開發(fā)者更容易建立客戶應(yīng)用程序或給一個(gè)配好系統(tǒng)添加功能。IM是什么意思呢? IM是Instant Messaging的縮寫,IM的中文意思是即時(shí)信息, 指可以在線實(shí)時(shí)交流的工具,也就是通常所說的在線聊天工具,如QQ、MSN、新浪UC、TQ等都 是互聯(lián)網(wǎng)用戶常用的IM聊天軟件。后附常見即時(shí)信息IM軟件下載地址即時(shí)信息(IM)早 在1996年就開始流行了,當(dāng)時(shí)最著名的即時(shí)通信工具為ICQ。ICQ最初由三個(gè)以色列人所 開發(fā),1998年被美國在線收購,現(xiàn)在仍然是最受歡迎的即時(shí)聊天工具之一。到2003年底,全 球的ICQ用戶數(shù)量超過15億,其中60%以上分布在美國之外的世界各國。IM即時(shí)信息有針對個(gè)人應(yīng)用和企業(yè)應(yīng)用的不同類型,目前占主導(dǎo)地位的是個(gè)人 聊天工具,并且大多是免費(fèi)服務(wù)的。目前常用的即時(shí)信息工具有國外的ICQ、Yahoo信使 (Yahoo ! Messenger)、MSN 信使(MSNMessenger)、A0L 即時(shí)信使(AIM)等,以及國內(nèi)網(wǎng)站提 供的即時(shí)信息聊天工具如騰迅公司的QQ、新浪UC等。此外,一個(gè)網(wǎng)站內(nèi)部的在線用戶之間 的實(shí)時(shí)交流也是即時(shí)信息的一種具體應(yīng)用形式。搜索引擎(search engine)是指根據(jù)一定的策略、運(yùn)用特定的計(jì)算機(jī)程序搜集互 聯(lián)網(wǎng)上的信息,在對信息進(jìn)行組織和處理后,為用戶提供檢索服務(wù)的系統(tǒng)。從使用者的角 度看,搜索引擎提供一個(gè)包含搜索框的頁面,在搜索框輸入詞語,通過瀏覽器提交給搜索引 擎后,搜索引擎就會(huì)返回跟用戶輸入的內(nèi)容相關(guān)的信息列表。搜索引擎指自動(dòng)從英特網(wǎng) (Internet)搜集信息,經(jīng)過一定整理以後,提供給用戶進(jìn)行查詢的系統(tǒng)。用比喻的手法來 說,英特網(wǎng)上的信息浩瀚萬千,而且毫無秩序,所有的信息象汪洋上的一個(gè)個(gè)小島,網(wǎng)頁鏈 接是這些小島之間縱橫交錯(cuò)的橋梁,而搜索引擎,則為你繪制一幅一目了然的信息地圖,供 你隨時(shí)查閱。在互聯(lián)網(wǎng)發(fā)展初期,網(wǎng)站相對較少,信息查找比較容易。然而伴隨互聯(lián)網(wǎng)爆炸 性的發(fā)展,普通網(wǎng)絡(luò)用戶想找到所需的資料簡直如同大海撈針,這時(shí)為滿足大眾信息檢索 需求的專業(yè)搜索網(wǎng)站便應(yīng)運(yùn)而生了?,F(xiàn)代意義上的搜索引擎的祖先,是1990年由蒙特利爾大學(xué)學(xué)生Alan Emtage發(fā)明 的Archie。雖然當(dāng)時(shí)World Wide Web還未出現(xiàn),但網(wǎng)絡(luò)中文件傳輸還是相當(dāng)頻繁的,而且由于大量的文件散布在各個(gè)分散的FTP主機(jī)中,查詢起來非常不便,因此Alan Emtage想到 了開發(fā)一個(gè)可以以文件名查找文件的系統(tǒng),于是便有了 Archie。Archie工作原理與現(xiàn)在的搜索引擎已經(jīng)很接近,它依靠腳本程序自動(dòng)搜索網(wǎng)上的 文件,然后對有關(guān)信息進(jìn)行索引,供使用者以一定的表達(dá)式查詢。由于Archie深受用戶歡 迎,受其啟發(fā),美國內(nèi)華達(dá)SystemComputing Services大學(xué)于1993年開發(fā)了另一個(gè)與之非 常相似的搜索工具,不過此時(shí)的搜索工具除了索引文件外,已能檢索網(wǎng)頁。當(dāng)時(shí),“機(jī)器人”一詞在編程者中十分流行。電腦“機(jī)器人”(ComputerRobot)是指 某個(gè)能以人類無法達(dá)到的速度不間斷地執(zhí)行某項(xiàng)任務(wù)的軟件程序。由于專門用于檢索信息 的“機(jī)器人”程序象蜘蛛一樣在網(wǎng)絡(luò)間爬來爬去,因此,搜索引擎的“機(jī)器人”程序就被稱為 “蜘蛛”程序。世界上第一個(gè)用于監(jiān)測互聯(lián)網(wǎng)發(fā)展規(guī)模的“機(jī)器人”程序是MatthewGray開發(fā)的 World wide Web Wanderer。剛開始它只用來統(tǒng)計(jì)互聯(lián)網(wǎng)上的服務(wù)器數(shù)量,后來則發(fā)展為能 夠檢索網(wǎng)站域名。與Wanderer 相對應(yīng),Mart in Koster 于 1993 年 10 月創(chuàng)建了 ALIWEB,它是 Archie 的HTTP版本。ALITOB不使用“機(jī)器人”程序,而是靠網(wǎng)站主動(dòng)提交信息來建立自己的鏈接 索引,類似于現(xiàn)在我們熟知的Yahoo。隨著互聯(lián)網(wǎng)的迅速發(fā)展,使得檢索所有新出現(xiàn)的網(wǎng)頁變得越來越困難,因此,在 Matthew Gray的Wanderer基礎(chǔ)上,一些編程者將傳統(tǒng)的“蜘蛛”程序工作原理作了些改 進(jìn)。其設(shè)想是,既然所有網(wǎng)頁都可能有連向其他網(wǎng)站的鏈接,那么從跟蹤一個(gè)網(wǎng)站的鏈接開 始,就有可能檢索整個(gè)互聯(lián)網(wǎng)。到1993年底,一些基于此原理的搜索引擎開始紛紛涌現(xiàn), 其中以 JumpStation、The World Wide Web Worm (Goto 的前身,也就是今天 Overture),和 Repository-Based Software Engineering (RBSE) spider 最負(fù)盛名。然而JumpStation和WWW Worm只是以搜索工具在數(shù)據(jù)庫中找到匹配信息的先后 次序排列搜索結(jié)果,因此毫無信息關(guān)聯(lián)度可言。而RBSE是第一個(gè)在搜索結(jié)果排列中引入關(guān) 鍵字串匹配程度概念的引擎。最早現(xiàn)代意義上的搜索引擎出現(xiàn)于1994年7月。當(dāng)時(shí)MichaelMauldin將John Leavitt的蜘蛛程序接入到其索引程序中,創(chuàng)建了大家現(xiàn)在熟知的Lycos。同年4月,斯坦 福(Stanford)大學(xué)的兩名博士生,David Filo和美籍華人楊致遠(yuǎn)(Gerry Yang)共同創(chuàng)辦 了超級目錄索引Yahoo,并成功地使搜索引擎的概念深入人心。從此搜索引擎進(jìn)入了高速發(fā) 展時(shí)期。目前,互聯(lián)網(wǎng)上有名有姓的搜索引擎已達(dá)數(shù)百家,其檢索的信息量也與從前不可同 日而語。比如最近風(fēng)頭正勁的Google,其數(shù)據(jù)庫中存放的網(wǎng)頁已達(dá)30億之巨!隨著互聯(lián)網(wǎng)規(guī)模的急劇膨脹,一家搜索引擎光靠自己單打獨(dú)斗已無法適應(yīng)目前的 市場狀況,因此現(xiàn)在搜索引擎之間開始出現(xiàn)了分工協(xié)作,并有了專業(yè)的搜索引擎技術(shù)和搜 索數(shù)據(jù)庫服務(wù)提供商。象國外的Inktomi (已被Yahoo收購),它本身并不是直接面向用戶 的搜索引擎,但向包括Overture (原GoTo,已被Yahoo收購)、LookSmart、MSN、HotBot等在 內(nèi)的其他搜索引擎提供全文網(wǎng)頁搜索服務(wù)。國內(nèi)的百度也屬于這一類,搜狐和新浪用的就 是它的技術(shù)。因此從這個(gè)意義上說,它們是搜索引擎的搜索引擎。搜索引擎按其工作方式主要可分為三種,分別是全文搜索引擎(FullText Search Engine)、目錄索引類搜索引擎(Search Index/Directory)和元搜索引擎(Meta SearchEngine)?!鋈乃阉饕嫒乃阉饕媸敲逼鋵?shí)的搜索引擎,國外具代表性的有Google、Fast/ AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut 等,國內(nèi)著名的有百度(Baidu)。它們都 是通過從互聯(lián)網(wǎng)上提取的各個(gè)網(wǎng)站的信息(以網(wǎng)頁文字為主)而建立的數(shù)據(jù)庫中,檢索與 用戶查詢條件匹配的相關(guān)記錄,然后按一定的排列順序?qū)⒔Y(jié)果返回給用戶,因此他們是真 正的搜索引擎。從搜索結(jié)果來源的角度,全文搜索引擎又可細(xì)分為兩種,一種是擁有自己的檢索 程序(Indexer),俗稱“蜘蛛”(Spider)程序或“機(jī)器人”(Robot)程序,并自建網(wǎng)頁數(shù)據(jù)庫, 搜索結(jié)果直接從自身的數(shù)據(jù)庫中調(diào)用,如上面提到的7家引擎;另一種則是租用其他引擎 的數(shù)據(jù)庫,并按自定的格式排列搜索結(jié)果,如Lycos引擎?!瞿夸浰饕夸浰饕m然有搜索功能,但在嚴(yán)格意義上算不上是真正的搜索引擎,僅僅是按 目錄分類的網(wǎng)站鏈接列表而已。用戶完全可以不用進(jìn)行關(guān)鍵詞(Keywords)查詢,僅靠分類 目錄也可找到需要的信息。目錄索引中最具代表性的莫過于大名鼎鼎的Yahoo雅虎。其他 著名的還有 Open Directory Pro ject (DMOZ)、LookSmart、About 等。國內(nèi)的搜狐、新浪、網(wǎng) 易搜索也都屬于這一類。元搜索引擎(ΜΕΤΑSearch Engine)元搜索引擎在接受用戶查詢請求時(shí),同時(shí)在其他多個(gè)引擎上進(jìn)行搜索,并將結(jié)果 返回給用戶。著名的元搜索引擎有Inf0Space、D0gpile、ViVisim0等(元搜索引擎列表), 中文元搜索引擎中具代表性的有搜星搜索引擎。在搜索結(jié)果排列方面,有的直接按來源引 擎排列搜索結(jié)果,如Dogpile,有的則按自定的規(guī)則將結(jié)果重新排列組合,如Vivisimo。除上述三大類引擎外,還有以下幾種非主流形式1、集合式搜索引擎如HotBot在2002年底推出的引擎。該引擎類似META搜索引 擎,但區(qū)別在于不是同時(shí)調(diào)用多個(gè)引擎進(jìn)行搜索,而是由用戶從提供的4個(gè)引擎當(dāng)中選擇, 因此叫它“集合式”搜索引擎更確切些。2、門戶搜索引擎如AOL Search.MSN Search等雖然提供搜索服務(wù),但自身即沒有 分類目錄也沒有網(wǎng)頁數(shù)據(jù)庫,其搜索結(jié)果完全來自其他引擎。3、免費(fèi)鏈接列表(Free For All Links,簡稱FFA)這類網(wǎng)站一般只簡單地滾動(dòng)排 列鏈接條目,少部分有簡單的分類目錄,不過規(guī)模比起Yahoo等目錄索引來要小得多。由于上述網(wǎng)站都為用戶提供搜索查詢服務(wù),為方便起見,我們通常將其統(tǒng)稱為搜 索引擎。全文搜索引擎在搜索引擎分類部分我們提到過全文搜索引擎從網(wǎng)站提取信息建立網(wǎng)頁數(shù)據(jù)庫 的概念。搜索引擎的自動(dòng)信息搜集功能分兩種。一種是定期搜索,即每隔一段時(shí)間(比如 Google 一般是28天),搜索引擎主動(dòng)派出“蜘蛛”程序,對一定IP地址范圍內(nèi)的互聯(lián)網(wǎng)站 進(jìn)行檢索,一旦發(fā)現(xiàn)新的網(wǎng)站,它會(huì)自動(dòng)提取網(wǎng)站的信息和網(wǎng)址加入自己的數(shù)據(jù)庫。另一種是提交網(wǎng)站搜索,即網(wǎng)站擁有者主動(dòng)向搜索引擎提交網(wǎng)址,它在一定時(shí)間 內(nèi)(2天到數(shù)月不等)定向向你的網(wǎng)站派出“蜘蛛”程序,掃描你的網(wǎng)站并將有關(guān)信息存入
5數(shù)據(jù)庫,以備用戶查詢。由于近年來搜索引擎索引規(guī)則發(fā)生了很大變化,主動(dòng)提交網(wǎng)址并不 保證你的網(wǎng)站能進(jìn)入搜索引擎數(shù)據(jù)庫,因此目前最好的辦法是多獲得一些外部鏈接,讓搜 索引擎有更多機(jī)會(huì)找到你并自動(dòng)將你的網(wǎng)站收錄。當(dāng)用戶以關(guān)鍵詞查找信息時(shí),搜索引擎會(huì)在數(shù)據(jù)庫中進(jìn)行搜尋,如果找到與用戶 要求內(nèi)容相符的網(wǎng)站,便采用特殊的算法——通常根據(jù)網(wǎng)頁中關(guān)鍵詞的匹配程度,出現(xiàn)的 位置/頻次,鏈接質(zhì)量等——計(jì)算出各網(wǎng)頁的相關(guān)度及排名等級,然后根據(jù)關(guān)聯(lián)度高低,按 順序?qū)⑦@些網(wǎng)頁鏈接返回給用戶?!瞿夸浰饕c全文搜索引擎相比,目錄索引有許多不同之處。首先,搜索引擎屬于自動(dòng)網(wǎng)站檢索,而目錄索引則完全依賴手工操作。用戶提交網(wǎng) 站后,目錄編輯人員會(huì)親自瀏覽你的網(wǎng)站,然后根據(jù)一套自定的評判標(biāo)準(zhǔn)甚至編輯人員的 主是觀印象,決定是否接納你的網(wǎng)站。其次,搜索引擎收錄網(wǎng)站時(shí),只要網(wǎng)站本身沒有違反有關(guān)的規(guī)則,一般都能登錄成 功。而目錄索引對網(wǎng)站的要求則高得多,有時(shí)即使登錄多次也不一定成功。尤其象Yahoo ! 這樣的超級索引,登錄更是困難。(由于登錄Yahoo!的難度最大,而它又是商家網(wǎng)絡(luò)營銷 必爭之地,所以我們會(huì)在后面用專門的篇幅介紹登錄Yahoo雅虎的技巧)此外,在登錄搜索引擎時(shí),我們一般不用考慮網(wǎng)站的分類問題,而登錄目錄索引時(shí) 則必須將網(wǎng)站放在一個(gè)最合適的目錄(Directory)。最后,搜索引擎中各網(wǎng)站的有關(guān)信息都是從用戶網(wǎng)頁中自動(dòng)提取的,所以用戶的 角度看,我們擁有更多的自主權(quán);而目錄索引則要求必須手工另外填寫網(wǎng)站信息,而且還有 各種各樣的限制。更有甚者,如果工作人員認(rèn)為你提交網(wǎng)站的目錄、網(wǎng)站信息不合適,他可 以隨時(shí)對其進(jìn)行調(diào)整,當(dāng)然事先是不會(huì)和你商量的。目錄索引,顧名思義就是將網(wǎng)站分門別類地存放在相應(yīng)的目錄中,因此用戶在查 詢信息時(shí),可選擇關(guān)鍵詞搜索,也可按分類目錄逐層查找。如以關(guān)鍵詞搜索,返回的結(jié)果跟 搜索引擎一樣,也是根據(jù)信息關(guān)聯(lián)程度排列網(wǎng)站,只不過其中人為因素要多一些。如果按分 層目錄查找,某一目錄中網(wǎng)站的排名則是由標(biāo)題字母的先后順序決定(也有例外)。目前,搜索引擎與目錄索引有相互融合滲透的趨勢。原來一些純粹的全文搜索 引擎現(xiàn)在也提供目錄搜索,如Google就借用Open Directory目錄提供分類查詢。而象 Yahoo !這些老牌目錄索引則通過與Google等搜索引擎合作擴(kuò)大搜索范圍。在默認(rèn)搜索模 式下,一些目錄類搜索引擎首先返回的是自己目錄中匹配的網(wǎng)站,如國內(nèi)搜狐、新浪、網(wǎng)易 等;而另外一些則默認(rèn)的是網(wǎng)頁搜索,如Yahoo。中文分詞和搜索引擎眾所周知,英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單 位,句子中所有的字連起來才能描述一個(gè)意思。例如,英文句子I am a student,用中文則 為“我是一個(gè)學(xué)生”。計(jì)算機(jī)可以很簡單通過空格知道student是一個(gè)單詞,但是不能很容 易明白“學(xué)”、“生”兩個(gè)字合起來才表示一個(gè)詞。把中文的漢字序列切分成有意義的詞,就 是中文分詞,有些人也稱為切詞。我是一個(gè)學(xué)生,分詞的結(jié)果是我是一個(gè)學(xué)生。中文分詞技術(shù)中文分詞技術(shù)屬于自然語言處理技術(shù)范疇,對于一句話,人可以通過自己的知識來明白哪些是詞,哪些不是詞,但如何讓計(jì)算機(jī)也能理解?其處理過程就是分詞算法?,F(xiàn)有的分詞算法可分為三大類基于字符串匹配的分詞方法、基于理解的分詞方 法和基于統(tǒng)計(jì)的分詞方法。1、基于字符串匹配的分詞方法這種方法又叫做機(jī)械分詞方法,它是按照一定的策略將待分析的漢字串與一個(gè) “充分大的”機(jī)器詞典中的詞條進(jìn)行配,若在詞典中找到某個(gè)字符串,則匹配成功(識別出一 個(gè)詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長 度優(yōu)先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配;按照是否與詞性標(biāo)注 過程相結(jié)合,又可以分為單純分詞方法和分詞與標(biāo)注相結(jié)合的一體化方法。常用的幾種機(jī) 械分詞方法如下1)正向最大匹配法(由左到右的方向);2)逆向最大匹配法(由右到左的方向);3)最少切分(使每一句中切出的詞數(shù)最小)。還可以將上述各種方法相互組合,例如,可以將正向最大匹配方法和逆向最大匹 配方法結(jié)合起來構(gòu)成雙向匹配法。由于漢語單字成詞的特點(diǎn),正向最小匹配和逆向最小匹 配一般很少使用。一般說來,逆向匹配的切分精度略高于正向匹配,遇到的歧義現(xiàn)象也較 少。統(tǒng)計(jì)結(jié)果表明,單純使用正向最大匹配的錯(cuò)誤率為1/169,單純使用逆向最大匹配的錯(cuò) 誤率為1/245。但這種精度還遠(yuǎn)遠(yuǎn)不能滿足實(shí)際的需要。實(shí)際使用的分詞系統(tǒng),都是把機(jī)械 分詞作為一種初分手段,還需通過利用各種其它的語言信息來進(jìn)一步提高切分的準(zhǔn)確率。一種方法是改進(jìn)掃描方式,稱為特征掃描或標(biāo)志切分,優(yōu)先在待分析字符串中識 別和切分出一些帶有明顯特征的詞,以這些詞作為斷點(diǎn),可將原字符串分為較小的串再來 進(jìn)機(jī)械分詞,從而減少匹配的錯(cuò)誤率。另一種方法是將分詞和詞類標(biāo)注結(jié)合起來,利用豐富 的詞類信息對分詞決策提供幫助,并且在標(biāo)注過程中又反過來對分詞結(jié)果進(jìn)行檢驗(yàn)、調(diào)整, 從而極大地提高切分的準(zhǔn)確率。對于機(jī)械分詞方法,可以建立一個(gè)一般的模型,在這方面有專業(yè)的學(xué)術(shù)論文,這里 不做詳細(xì)論述。2、基于理解的分詞方法這種分詞方法是通過讓計(jì)算機(jī)模擬人對句子的理解,達(dá)到識別詞的效果。其基本 思想就是在分詞的同時(shí)進(jìn)行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。它 通常包括三個(gè)部分分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。在總控部分的協(xié)調(diào)下,分詞子 系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語義信息來對分詞歧義進(jìn)行判斷,即它模擬了人對 句子的理解過程。這種分詞方法需要使用大量的語言知識和信息。由于漢語語言知識的籠 統(tǒng)、復(fù)雜性,難以將各種語言信息組織成機(jī)器可直接讀取的形式,因此目前基于理解的分詞 系統(tǒng)還處在試驗(yàn)階段。3、基于統(tǒng)計(jì)的分詞方法從形式上看,詞是穩(wěn)定的字的組合,因此在上下文中,相鄰的字同時(shí)出現(xiàn)的次數(shù)越 多,就越有可能構(gòu)成一個(gè)詞。因此字與字相鄰共現(xiàn)的頻率或概率能夠較好的反映成詞的可 信度??梢詫φZ料中相鄰共現(xiàn)的各個(gè)字的組合的頻度進(jìn)行統(tǒng)計(jì),計(jì)算它們的互現(xiàn)信息。定 義兩個(gè)字的互現(xiàn)信息,計(jì)算兩個(gè)漢字X、Y的相鄰共現(xiàn)概率?;ガF(xiàn)信息體現(xiàn)了漢字之間結(jié)合關(guān)系的緊密程度。當(dāng)緊密程度高于某一個(gè)閾值時(shí),便可認(rèn)為此字組可能構(gòu)成了一個(gè)詞。這 種方法只需對語料中的字組頻度進(jìn)行統(tǒng)計(jì),不需要切分詞典,因而又叫做無詞典分詞法或 統(tǒng)計(jì)取詞方法。但這種方法也有一定的局限性,會(huì)經(jīng)常抽出一些共現(xiàn)頻度高、但并不是詞的 常用字組,例如“這一”、“之一”、“有的”、“我的”、“許多的”等,并且對常用詞的識別精度差, 時(shí)空開銷大。實(shí)際應(yīng)用的統(tǒng)計(jì)分詞系統(tǒng)都要使用一部基本的分詞詞典(常用詞詞典)進(jìn)行 串匹配分詞,同時(shí)使用統(tǒng)計(jì)方法識別一些新的詞,即將串頻統(tǒng)計(jì)和串匹配結(jié)合起來,既發(fā)揮 匹配分詞切分速度快、效率高的特點(diǎn),又利用了無詞典分詞結(jié)合上下文識別生詞、自動(dòng)消除 歧義的優(yōu)點(diǎn)。到底哪種分詞算法的準(zhǔn)確度更高,目前并無定論。對于任何一個(gè)成熟的分詞系統(tǒng) 來說,不可能單獨(dú)依靠某一種算法來實(shí)現(xiàn),都需要綜合不同的算法。筆者了解,海量科技的 分詞算法就采用“復(fù)方分詞法”,所謂復(fù)方,相當(dāng)于用中藥中的復(fù)方概念,即用不同的藥才綜 合起來去醫(yī)治疾病,同樣,對于中文詞的識別,需要多種算法來處理不同的問題。分詞中的難題有了成熟的分詞算法,是否就能容易的解決中文分詞的問題呢?事實(shí)遠(yuǎn)非如此。 中文是一種十分復(fù)雜的語言,讓計(jì)算機(jī)理解中文語言更是困難。在中文分詞過程中,有兩大 難題一直沒有完全突破。1、歧義識別歧義是指同樣的一句話,可能有兩種或者更多的切分方法。例如表面的,因?yàn)椤氨?面”和“面的”都是詞,那么這個(gè)短語就可以分成“表面的”和“表面的”。這種稱為交叉歧 義。像這種交叉歧義十分常見,前面舉的“和服”的例子,其實(shí)就是因?yàn)榻徊嫫缌x引起的錯(cuò) 誤?!盎瘖y和服裝”可以分成“化妝和服裝”或者“化妝和服裝”。由于沒有人的知識去理解, 計(jì)算機(jī)很難知道到底哪個(gè)方案正確。交叉歧義相對組合歧義來說是還算比較容易處理,組合歧義就必需根據(jù)整個(gè)句子 來判斷了。例如,在句子“這個(gè)門把手壞了”中,“把手”是個(gè)詞,但在句子“請把手拿開”中, “把手”就不是一個(gè)詞;在句子“將軍任命了一名中將”中,“中將”是個(gè)詞,但在句子“產(chǎn)量三 年中將增長兩倍”中,“中將”就不再是詞。這些詞計(jì)算機(jī)又如何去識別?如果交叉歧義和組合歧義計(jì)算機(jī)都能解決的話,在歧義中還有一個(gè)難題,是真歧 義。真歧義意思是給出一句話,由人去判斷也不知道哪個(gè)應(yīng)該是詞,哪個(gè)應(yīng)該不是詞。例如 “乒乓球拍賣完了”,可以切分成“乒乓球拍賣完了”、也可切分成“乒乓球拍賣完了”,如果沒 有上下文其他的句子,恐怕誰也不知道“拍賣”在這里算不算一個(gè)詞。2、新詞識別新詞,專業(yè)術(shù)語稱為未登錄詞。也就是那些在字典中都沒有收錄過,但又確實(shí)能稱 為詞的那些詞。最典型的是人名,人可以很容易理解句子“王軍虎去廣州了”中,“王軍虎” 是個(gè)詞,因?yàn)槭且粋€(gè)人的名字,但要是讓計(jì)算機(jī)去識別就困難了。如果把“王軍虎”做為一 個(gè)詞收錄到字典中去,全世界有那么多名字,而且每時(shí)每刻都有新增的人名,收錄這些人名 本身就是一項(xiàng)巨大的工程。即使這項(xiàng)工作可以完成,還是會(huì)存在問題,例如在句子“王軍 虎頭虎腦的”中,“王軍虎”還能不能算詞?新詞中除了人名以外,還有機(jī)構(gòu)名、地名、產(chǎn)品名、商標(biāo)名、簡稱、省略語等都是很 難處理的問題,而且這些又正好是人們經(jīng)常使用的詞,因此對于搜索引擎來說,分詞系統(tǒng)中的新詞識別十分重要。目前新詞識別準(zhǔn)確率已經(jīng)成為評價(jià)一個(gè)分詞系統(tǒng)好壞的重要標(biāo)志之中文分詞的應(yīng)用目前在自然語言處理技術(shù)中,中文處理技術(shù)比西文處理技術(shù)要落后很大一段距 離,許多西文的處理方法中文不能直接采用,就是因?yàn)橹形谋匦栌蟹衷~這道工序。中文分 詞是其他中文信息處理的基礎(chǔ),搜索引擎只是中文分詞的一個(gè)應(yīng)用。其他的比如機(jī)器翻譯 (MT)、語音合成、自動(dòng)分類、自動(dòng)摘要、自動(dòng)校對等等,都需要用到分詞。因?yàn)橹形男枰衷~, 可能會(huì)影響一些研究,但同時(shí)也為一些企業(yè)帶來機(jī)會(huì),因?yàn)閲獾挠?jì)算機(jī)處理技術(shù)要想進(jìn) 入中國市場,首先也是要解決中文分詞問題。在中文研究方面,相比外國人來說,中國人有 十分明顯的優(yōu)勢。分詞準(zhǔn)確性對搜索引擎來說十分重要,但如果分詞速度太慢,即使準(zhǔn)確性再高,對 于搜索引擎來說也是不可用的,因?yàn)樗阉饕嫘枰幚頂?shù)以億計(jì)的網(wǎng)頁,如果分詞耗用的 時(shí)間過長,會(huì)嚴(yán)重影響搜索引擎內(nèi)容更新的速度。因此對于搜索引擎來說,分詞的準(zhǔn)確性和 速度,二者都需要達(dá)到很高的要求。目前研究中文分詞的大多是科研院校,清華、北大、中科 院、北京語言學(xué)院、東北大學(xué)、IBM研究院、微軟中國研究院等都有自己的研究隊(duì)伍,而真正 專業(yè)研究中文分詞的商業(yè)公司除了海量科技以外,幾乎沒有了。科研院校研究的技術(shù),大部 分不能很快產(chǎn)品化,而一個(gè)專業(yè)公司的力量畢竟有限,看來中文分詞技術(shù)要想更好的服務(wù) 于更多的產(chǎn)品,還有很長一段路。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對以上傳統(tǒng)技術(shù)的不足,提供一種搜索方法,利用反向搜索 的方法提高檢索效率,利用搜索的結(jié)果排名將在線狀態(tài)的用戶排在前面以方便尋找,利用 搜索更新解決用戶狀態(tài)索引頻繁跟新時(shí)降低系統(tǒng)的索引效率。為了實(shí)現(xiàn)這一目的該方案主要由如下模塊組成1、搜索管理模塊主要負(fù)責(zé)與索引模塊,對外服務(wù)模塊,分詞模塊的信息交互,其包括啟動(dòng)模塊,組 建管理模塊,配置信息模塊,日志記錄模塊,狀態(tài)查詢模塊。啟動(dòng)模塊主要用于當(dāng)用戶需要 搜索時(shí),觸發(fā)及啟動(dòng)搜索系統(tǒng)。組建管理模塊主要用于用戶搜索過程中對相關(guān)的搜索信息 進(jìn)行管理。配置信息模塊主要用于對用戶所要搜索的信息2、索引模塊整個(gè)系統(tǒng)的核心模塊,包括建立索引模塊,新老索引的整合模塊,索引評分模塊, 排序模塊,搜索模塊。建立索引模塊對要檢索的數(shù)據(jù)建立索引,索引整合模塊用于對新老索 引整合,索引評分模塊對索引評分,排序模塊用于對索引排序,搜索模塊對索引進(jìn)行搜索。3、索引定期更新模塊包括定時(shí)器模塊,刪除數(shù)據(jù)識別模塊,更新數(shù)據(jù)識別模塊,新增數(shù)據(jù)模塊。定時(shí)去更新索引,整合到索引中去,并且快速的刪除、更新數(shù)據(jù),提高索引數(shù)據(jù)的 時(shí)效性。4、對外服務(wù)模塊 包括HESSI0N接口模塊,HTTP對外接口模塊,數(shù)據(jù)解釋模塊,返回結(jié)果整合模塊。。
5、分詞模塊包括詞典模塊,詞典索引模塊,預(yù)分詞模塊。主要提供搜索前的分詞功能,采用一些預(yù)處理方式,讓分詞更快、更智能化。a.反向索引解決問題提高檢索效率詳細(xì)介紹為了保證高并發(fā)量下,對海量數(shù)據(jù)的檢索效率。我們對所有的文章建立了索引。和傳統(tǒng)的索引方式不同,我們使用了反向索引。反向索引是一種存儲(chǔ)了詞語與出 現(xiàn)了該詞語的文章的列表的數(shù)據(jù)結(jié)構(gòu)。其中詞語的列表是經(jīng)過排序的。這個(gè)可以快速找出該詞語對應(yīng)的文章列表。b.搜索結(jié)果排名解決問題搜索結(jié)果排名詳細(xì)介紹用戶在線情況,如果用戶在線則排在前面。內(nèi)容相關(guān)度,使用自然語言分析技術(shù)分析搜索結(jié)果與用戶輸入的相關(guān)度,相關(guān)度 越高,排名越靠前。文章相關(guān)度以用戶輸入的關(guān)鍵字在文章中的出現(xiàn)次數(shù)來衡量。c.索引更新解決問題索引的頻繁跟新效率詳細(xì)介紹由于用戶在線狀態(tài)是頻繁更新的,且文章也是會(huì)經(jīng)常有增、刪、改的操作。為了搜 索結(jié)果的準(zhǔn)確,必須經(jīng)常更新索引。使用了增量索引(只重建發(fā)生變化的文章的索引)的 技術(shù),大大提高了索引更新的效率。本發(fā)明有效地提高了檢索效率,利用搜索的結(jié)果排名實(shí)現(xiàn)了在線狀態(tài)的用戶排在 前面以方便尋找,實(shí)現(xiàn)了搜索更新解決用戶狀態(tài)索引頻繁跟新時(shí)降低系統(tǒng)的索引效率。
圖1為一種搜索方法的結(jié)構(gòu)模塊圖;圖2為一種搜索方法的業(yè)務(wù)流程具體實(shí)施例方式為了實(shí)現(xiàn)該系統(tǒng),系統(tǒng)由1、搜索管理模塊主要負(fù)責(zé)與索引模塊,對外服務(wù)模塊,分詞模塊的信息交互,其包括啟動(dòng)模塊,組 建管理模塊,配置信息模塊,日志記錄模塊,狀態(tài)查詢模塊。啟動(dòng)模塊主要用于當(dāng)用戶需要 搜索時(shí),觸發(fā)及啟動(dòng)搜索系統(tǒng)。組建管理模塊主要用于用戶搜索過程中對相關(guān)的搜索信息 進(jìn)行管理。配置信息模塊主要用于對用戶所要搜索的信息
2、索引模塊整個(gè)系統(tǒng)的核心模塊,包括建立索引模塊,新老索引的整合模塊,索引評分模塊, 排序模塊,搜索模塊。建立索引模塊對要檢索的數(shù)據(jù)建立索引,索引整合模塊用于對新老索 引整合,索引評分模塊對索引評分,排序模塊用于對索引排序,搜索模塊對索引進(jìn)行搜索。3、索引定期更新模塊包括定時(shí)器模塊,刪除數(shù)據(jù)識別模塊,更新數(shù)據(jù)識別模塊,新增數(shù)據(jù)模塊。定時(shí)去更新索引,整合到索引中去,并且快速的刪除、更新數(shù)據(jù),提高索引數(shù)據(jù)的 時(shí)效性。4、對外服務(wù)模塊包括HESSI0N接口模塊,HTTP對外接口模塊,數(shù)據(jù)解釋模塊,返回結(jié)果整合模塊。。5、分詞模塊包括詞典模塊,詞典索引模塊,預(yù)分詞模塊。主要提供搜索前的分詞 功能,采用一些預(yù)處理方式,讓分詞更快、更智能化。組成(如附圖1)。該系統(tǒng)的詳細(xì)業(yè)務(wù)流程如下用戶輸入要搜索的數(shù)據(jù),系統(tǒng)接收到用戶輸入的數(shù)據(jù)后把數(shù)據(jù)分成若干個(gè)關(guān)鍵 詞,系統(tǒng)判斷是否有下一個(gè)未被搜索的關(guān)鍵詞?如果有則系統(tǒng)判斷是否把該關(guān)鍵詞標(biāo)記為 已搜索,該關(guān)鍵詞是否有對應(yīng)的文章?如果有則記錄文章出現(xiàn)該關(guān)鍵詞的次數(shù),同時(shí)把該 文章加入搜索結(jié)果列表中。如果沒有把關(guān)鍵字標(biāo)記為已搜索同時(shí)該關(guān)鍵詞沒有對應(yīng)的文章 則返回繼續(xù)判斷是否有下一個(gè)未被搜索的關(guān)鍵?如果沒有下一個(gè)未被搜索的關(guān)鍵詞則根 據(jù)文章里含有關(guān)鍵字的個(gè)數(shù),給文章評分,而后系統(tǒng)判斷用戶是否在線?如果用戶在線則 給對應(yīng)的文章加分,系統(tǒng)再根據(jù)文章的得分,對文章進(jìn)行掛名。如果用戶沒有在線系統(tǒng)則直 接根據(jù)文章的得分對文章進(jìn)行掛名。最后把文章列表顯示給用戶。(如附圖2)為了保證高并發(fā)量下,對海量數(shù)據(jù)的檢索效率。我們對所有的文章建立了索引。和傳統(tǒng)的索引方式不同,我們使用了反向索引。反向索引是一種存儲(chǔ)了詞語與出 現(xiàn)了該詞語的文章的列表的數(shù)據(jù)結(jié)構(gòu)。下面舉例說明假設(shè)有以下三篇文章文章編號文章內(nèi)容1網(wǎng)絡(luò)機(jī)器人2機(jī)器人是什么3網(wǎng)絡(luò)是誰建立后的索引如下什么2是2,3網(wǎng)絡(luò)1,3機(jī)器人1,2誰3其中詞語的列表是經(jīng)過排序的。這個(gè)可以快速找出該詞語對應(yīng)的文章列表。
1權(quán)利要求
一種搜索方法,包括搜索管理模塊索引模塊、對外服務(wù)模塊、分詞模塊、索引定期更新模塊、其特征在于搜索管理模塊與索引模塊、對外服務(wù)模塊、分詞模塊通信處理搜索的數(shù)據(jù),搜索定時(shí)更新模塊定期更新索引模塊中的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1一種搜索方法,所述搜索管理模塊,其特征在于包括啟用模塊、組建 管理模塊、配置信息模塊、日志記錄模塊、狀態(tài)查詢模塊,用于索引系統(tǒng)的啟動(dòng),組建、配置、 記錄、查詢要搜索的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1一種搜索方法,所述索引模塊,其特征在于包括,建立索引模塊、索 引合并模塊、索引評分模塊、索引排序模塊、索引搜索模塊。
4.根據(jù)權(quán)利要求1一種搜索方法,所述對外服務(wù)模塊,其特征在于包括HESSION接口模 塊、HTTP對外接口模塊、數(shù)據(jù)解釋模塊、返回結(jié)果整合模塊。
5.根據(jù)權(quán)利要求1一種搜索方法,所述分詞模塊,其特征在于包括詞典模塊、詞典索引 模塊、預(yù)分詞模塊。
6.根據(jù)權(quán)利要求1一種搜索方法,所述索引定期更新模塊,其特征在于包括定時(shí)器模 塊、刪除數(shù)據(jù)識別模塊、更新數(shù)據(jù)識別模塊、新增數(shù)據(jù)模塊。
7.根據(jù)權(quán)利要求1一種搜索方法,所述索引模塊,其特征在于接收搜索管理模塊傳送 來的數(shù)據(jù),把數(shù)據(jù)建立、合并、評分、排序、搜索索引。
8.根據(jù)權(quán)利要求1一種搜索方法,所述對外服務(wù)模塊,其特征在于通過HESSION接口和 HTTP接口對外數(shù)據(jù)解釋服務(wù)和返回結(jié)果整合。
9.根據(jù)權(quán)利要求1一種搜索方法,所述索引定期更新模塊,其特征在于索引模塊操作 定時(shí)和識別過期的數(shù)據(jù),識別和更新和新增數(shù)據(jù)。
全文摘要
一種搜索方法,包括搜索管理模塊索引模塊、對外服務(wù)模塊、分詞模塊、索引定期更新模塊、其特征在于搜索管理模塊與索引模塊、對外服務(wù)模塊、分詞模塊通信處理搜索的數(shù)據(jù),搜索定時(shí)更新模塊定期更新索引模塊中的數(shù)據(jù)。本發(fā)明有效地提高了檢索效率,利用搜索的結(jié)果排名實(shí)現(xiàn)了在線狀態(tài)的用戶排在前面以方便尋找,實(shí)現(xiàn)了搜索更新解決用戶狀態(tài)索引頻繁跟新時(shí)降低系統(tǒng)的索引效率。
文檔編號G06F17/30GK101887417SQ20091005109
公開日2010年11月17日 申請日期2009年5月13日 優(yōu)先權(quán)日2009年5月13日
發(fā)明者王成彬, 王雨豪 申請人:上海即略網(wǎng)絡(luò)信息科技有限公司