【正文】
議,將實(shí)現(xiàn)方法隱藏起來。Lucene在應(yīng)用程序中的使用情況如圖31所示。這也是Google區(qū)別其他搜索引擎的特點(diǎn)之一,Google更多的挖掘了網(wǎng)頁中內(nèi)容信息以改善檢索排名的結(jié)果。Crawler根據(jù)獲取URL列表進(jìn)行網(wǎng)頁抓取,已抓取的網(wǎng)頁被送往Store Server進(jìn)行保存。 實(shí)際系統(tǒng)研究下面通過Google實(shí)現(xiàn)流程說明搜索引擎的具體工作過程。因此字與字相鄰共現(xiàn)的頻率或概率能夠較好的反映成詞的可信度。另一種方法是將分詞和詞類標(biāo)注結(jié)合起來,利用豐富的詞類信息對(duì)分詞決策提供幫助,并且在標(biāo)注過程中又反過來對(duì)分詞結(jié)果進(jìn)行檢驗(yàn)、調(diào)整,從而極大地提高切分的準(zhǔn)確率。S是否為單字S2=S2+S+”/”S1=S1S是是是否否否帶切分字符 S1,輸出字符 S2最大詞長 MaxLenS1是否為空輸出 S2最大詞長 MaxLen從S1右側(cè)開始,取出候選字符串S,S的長度不大于MaxLan查看字典,判斷S是否在字典中將S最左邊一個(gè)字去掉最大詞長 MaxLen開始結(jié)束圖26逆向最大匹配法實(shí)現(xiàn)流程圖(3) 最少切分(使每一句中切出的詞數(shù)最小)。計(jì)算機(jī)可以很簡單通過空格知道student是一個(gè)單詞,但是不能很容易明白“學(xué)”、“生”兩個(gè)字合起來才表示一個(gè)詞。目前的搜索引擎系統(tǒng)都非常關(guān)心精度。(4) 檢索的速度主要依賴索引結(jié)構(gòu)的設(shè)計(jì)。Searcher索引數(shù)據(jù)頁面數(shù)據(jù)用戶接口圖24 Searcher基本結(jié)構(gòu)圖Searcher通過某種接口方式,接收用戶查詢,對(duì)查詢進(jìn)行分詞(stemming)處理,獲取查詢關(guān)鍵字。更新策略一般采用增量索引方式。具體地,關(guān)鍵詞被存儲(chǔ)在索引文件(index file)中,對(duì)于每個(gè)關(guān)鍵詞,都有一個(gè)指針鏈表,該表中的每一個(gè)指針指向與關(guān)鍵詞相關(guān)的某個(gè)頁面,所有指針鏈表構(gòu)成置入文件(posting file)。評(píng)估算法中典型的油Google發(fā)明的PgaeRank。Crawler工作原理如圖22所示。采用多線程進(jìn)行網(wǎng)頁數(shù)據(jù)采集并寫入數(shù)據(jù)庫;、中文分詞、無用詞匯刪除、詞典等技術(shù)建立索引數(shù)據(jù);。此外還有一些其它值得注意的技術(shù)發(fā)展,如元搜索引擎,移動(dòng)代理和XML技術(shù),語音檢索技術(shù)等。自然語言的優(yōu)勢在于,一是使網(wǎng)絡(luò)交流更加人性化,二是使查詢變得更加方便、直接、有效。e)讓用戶對(duì)返回結(jié)果進(jìn)行選擇,進(jìn)行二次查詢是一種非常有效的手段。這種搜索行為分析技術(shù)是一種正在發(fā)展中的很有前途的搜索引擎人機(jī)界面技術(shù)。 搜索引擎技術(shù)發(fā)展方向經(jīng)過了多年的發(fā)展,現(xiàn)在的搜索引擎功能越來越強(qiáng)大,提供的服務(wù)也越來越全面。清華大學(xué)開發(fā)的“網(wǎng)絡(luò)指南針”,利用智能、高效的網(wǎng)絡(luò)搜索算法收集網(wǎng)頁,自動(dòng)識(shí)別和轉(zhuǎn)換常見的中文編碼,向用戶提供中文、英文、拼音、英漢翻譯、BIG5碼等多種輸入查詢服務(wù),并提供普通分類、學(xué)科分類、圖書分類查詢,共計(jì)3900多個(gè)分類目錄,收集的網(wǎng)頁超過20萬頁。在IEEE主辦的國際萬維網(wǎng)會(huì)議(International World Wide Web Conference)和ACM主辦的人機(jī)交互會(huì)議(Computer Human Interaction,CHI)等重要學(xué)術(shù)會(huì)議上,發(fā)表了越來越多的關(guān)于搜索引擎技術(shù)研究的文章。它通過有專業(yè)知識(shí)的網(wǎng)頁編輯人員對(duì)網(wǎng)上的網(wǎng)頁進(jìn)行精選,建立一個(gè)索引目錄,來給用戶提供服務(wù)。搜索引擎技術(shù)作為傳統(tǒng)IR(Information Retrieval)技術(shù)在Internet上的擴(kuò)展,涉及到Web數(shù)據(jù)的采集,中文分詞技術(shù),倒排索引,海量數(shù)據(jù)存儲(chǔ),用戶行為分析等關(guān)鍵技術(shù)。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。其次,本文討論了搜索引擎中基本結(jié)構(gòu)、實(shí)現(xiàn)的理論基礎(chǔ)和實(shí)現(xiàn)方法。本系統(tǒng)使用Microsoft Visual Studio 2005為主要開發(fā)工具,以Windows Server 2003操作系統(tǒng)為運(yùn)行環(huán)境,主要實(shí)現(xiàn)了網(wǎng)頁數(shù)據(jù)的抓取,網(wǎng)頁數(shù)據(jù)存儲(chǔ),數(shù)據(jù)的索引,數(shù)據(jù)的檢索,日志管理等功能。關(guān)鍵詞 搜索引擎;;數(shù)據(jù)存儲(chǔ);信息檢索IABSTRACTInternet information retrieval system (search engine) is designed to provide a platform for information retrieval will collect a lot of pages data on the Internet to the server,and processed form of the information database and index to achieve the user to respond to the various information retrieval. The system uses Microsoft Visual Studio 2005 as the main development tool, to run Windows Server 2003 operating system environment, the main achievement of the web crawl data, web data storage, data indexing, data retrieval, logging management and other functions.In this paper, several Internet information retrieval system design and implementation of key technologies were studied. Theory on these key technologies are discussed in detail, and pleted the Internet information retrieval system based on realization. The article discussed the following aspects:First of all, the article describes the search engine market demand and research part discusses the search engine rich historical background and objective of the user requirements, its own characteristics, as well as people paid more attention to search engine.Secondly, the article discusses the basic structure of search engines, to achieve the theoretical basis and implementation methods. This part of the search engine39。在Internet信息不斷增長的情況下,如何快速準(zhǔn)確的獲取所需信息成為研究熱點(diǎn)之一。檢索器(Searcher)負(fù)責(zé)接受用戶查詢的請(qǐng)求,一般采用Web形式,通過索引找到相關(guān)信息的網(wǎng)頁數(shù)據(jù),返回給用戶。這類自動(dòng)更新的搜索引擎優(yōu)點(diǎn)是涵蓋的網(wǎng)頁數(shù)量巨大,同時(shí)擁有基于關(guān)鍵字的全文索引,它為所有網(wǎng)上沖浪的用戶提供了一個(gè)入口,用戶可以從搜索引擎出發(fā)到達(dá)自己想去的網(wǎng)上任何一個(gè)地方。IBM Almaden研究中心研制了Clever系統(tǒng),提出了類似于PageRank的HITS算法,主要不同是將網(wǎng)頁分為Authority和Hub兩類,并就HITS算法在相關(guān)度評(píng)價(jià)、網(wǎng)頁分類、主題搜索等方面的作用進(jìn)行了研究。在功能、性能、查準(zhǔn)率、查全率等方面基本達(dá)到了實(shí)用。(1) 智能化搜索智能化是搜索引擎未來的發(fā)展方向。即通過各種方法獲得用戶沒有在查詢語句中表達(dá)出來的真正用途,實(shí)現(xiàn)自然語言的智能查詢功能。雖然該技術(shù)日前還處于初步研究階段,其難點(diǎn)在于語言之間在表達(dá)方式和語義對(duì)應(yīng)上的不確定性,但也是一種發(fā)展方向?,F(xiàn)在有很多搜索引擎已經(jīng)提供了網(wǎng)頁、新聞、圖片、音樂等資源搜索,當(dāng)然范圍還可以更廣,再如可以搜索視頻、音頻等。巨大的使用需求推動(dòng)了搜索引擎技術(shù)的發(fā)展,各種新技術(shù)紛紛應(yīng)用到搜索引擎中。第六章:對(duì)互聯(lián)網(wǎng)信息檢索系統(tǒng)進(jìn)行測試,總結(jié)整個(gè)論文的完成情況,對(duì)研究工作進(jìn)行總結(jié)和展望。Crawler利用HTTP協(xié)議讀取Web頁面并沿著HTML文檔中的超鏈接自動(dòng)獲取WWW資源。 Indexer搜索引擎在完成用戶查詢請(qǐng)求時(shí),并不是即時(shí)檢索互聯(lián)網(wǎng)上的數(shù)據(jù),搜索的數(shù)據(jù)實(shí)際是預(yù)先采集的網(wǎng)頁數(shù)據(jù)。頁面數(shù)據(jù)服務(wù)器中間數(shù)據(jù)索引數(shù)據(jù)圖23 Indexer索引數(shù)據(jù)結(jié)構(gòu)圖Indexer首先從頁面存儲(chǔ)器中獲取頁面數(shù)據(jù),對(duì)其進(jìn)行分析,通過詞典識(shí)別網(wǎng)頁中的詞,通過停用詞(stop words)表刪除其中的停用詞,生成檢索詞序列,并最后生成索引數(shù)據(jù)。(4) 網(wǎng)頁相似性支持索引的結(jié)構(gòu)還必須為網(wǎng)頁相似性分析提供支持。一些新的嘗試,比如對(duì)用戶偏好的分析技術(shù)都可以運(yùn)用到這里,對(duì)不同的用戶采用不同的排序策略。 搜索引擎的性能指標(biāo)我們可以將Web信息的搜索看作一個(gè)信息檢索問題,即在由web網(wǎng)頁組成的文檔庫中檢索出與用戶查詢相關(guān)的文檔。研究搜索引擎的頁面優(yōu)先度算法,需要從客觀和主觀兩方面進(jìn)行研究。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優(yōu)先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配;按照是否與詞性標(biāo)注過程相結(jié)合,又可以分為單純分詞方法和分詞與標(biāo)注相結(jié)合的一體化方法。一般說來,逆向匹配的切分精度略高于正向匹配,遇到的歧義現(xiàn)象也較少。它通常包括三個(gè)部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分?;ガF(xiàn)信息體現(xiàn)了漢字之間結(jié)合關(guān)系的緊密程度。圖27 Google體系結(jié)構(gòu)圖與其他搜索引擎類似,Google在整體結(jié)構(gòu)上也主要有Crawler,Indexer,Searcher等部分組成,在模塊設(shè)計(jì)上更為細(xì)致。URL Resolve讀取Anchors中內(nèi)容,并把相對(duì)的URL轉(zhuǎn)換成絕對(duì)的URL,再轉(zhuǎn)換成docID。根據(jù)各網(wǎng)頁的匹配程度,結(jié)合網(wǎng)頁的Page Rank值對(duì)檢索結(jié)果進(jìn)行排序后返回給用戶。使用C進(jìn)行編寫。Corpus(語料庫)中是需要被解析的文檔。RAM存儲(chǔ)接口可以批量地索引文件,加快標(biāo)引速度。:提供一個(gè)全文索引引擎的架構(gòu),而不是實(shí)現(xiàn)。文檔是提取了某個(gè)文件中的所有信息之后的結(jié)果,這些組成了段,或者稱為一個(gè)子索引,子索引可以組合為索引,也可以合并為一個(gè)新的包含了所有合并項(xiàng)內(nèi)部元素的子索引,可以清楚的看出。而域集合與項(xiàng)集合之間則通過域的在域記錄文件()中所記錄的域記錄號(hào)維持對(duì)應(yīng)關(guān)系。其中詞典文件不僅保存有每個(gè)關(guān)鍵詞,還保留了指向頻率文件和位置文件的指針,通過指針可以找到該關(guān)鍵字的頻率信息和位置信息。,如圖34所示。 通過以上的系統(tǒng)結(jié)構(gòu)分析和數(shù)據(jù)流分析。在實(shí)際應(yīng)用中,設(shè)計(jì)具體的搜索器,包括默認(rèn)域的指定,搜索域的接收,索引庫位置的接收,以及多個(gè)查詢通過布爾操作符連接起來形成復(fù)雜的查詢語句的功能。pwd=sagao。 writer = new IndexWriter(Index_Path, new StandardAnalyzer(), true)。 ()。系統(tǒng)使用C語言進(jìn)行開發(fā), Framework下,主要支持Windows操作系統(tǒng),同時(shí)也可以移植到其他平臺(tái)。 。各模塊在實(shí)現(xiàn)上具有高度可隔離性。在數(shù)據(jù)庫操作方面,這里使用Microsoft SQL 2005對(duì)數(shù)據(jù)進(jìn)行保存,當(dāng)然也可以使用Oracle等數(shù)據(jù)庫。通過Web的形式向用戶提供檢索的功能,接收用戶的查詢請(qǐng)求。EarthSearch系統(tǒng)整體結(jié)構(gòu)如圖41所示。客戶端輸入檢索關(guān)鍵詞服務(wù)器端等待接收關(guān)鍵詞將關(guān)鍵詞發(fā)送到服務(wù)器在索引數(shù)據(jù)庫中進(jìn)行查找,并將結(jié)果返回給用戶對(duì)關(guān)鍵詞進(jìn)行中文分詞結(jié)束結(jié)束顯示查詢結(jié)果發(fā)送關(guān)鍵詞返回查詢結(jié)果圖44 數(shù)據(jù)檢索通信流程圖5 系統(tǒng)實(shí)現(xiàn)本章討論信息檢索系統(tǒng)功能的實(shí)現(xiàn)方法。一般可使用如下的代碼創(chuàng)建并運(yùn)行一個(gè)線程:在C中使用線程的代碼:private void fun(){// 線程要執(zhí)行的代碼}public void testThread(){ Thread thread。//實(shí)例化計(jì)時(shí)器 ()。 threads[i].Start()。 } else { waitTimes = 0。 lock (manager) { (url)。 Stream stream = null。 reader = new StreamReader(stream, )。 if (stream != null) ()。代碼實(shí)現(xiàn)如下:從HTML中獲取節(jié)點(diǎn)TITLE的值。圖52 索引參數(shù)設(shè)置界面 索引網(wǎng)頁數(shù)據(jù)由于用戶不能直接對(duì)抓取的數(shù)據(jù)進(jìn)行檢索,所以在提供數(shù)據(jù)檢索功能之前,需要進(jìn)行數(shù)據(jù)索引操作。 } ()。KeyWord = [keyword].ToString()。 (title)。 myrow[0] = (title).ToString()。}()。動(dòng)態(tài)測試一般用兩種方法:一是黑盒測試法,一是白盒測試法。經(jīng)過一系列測試后結(jié)果基本無誤。這些都是還有待進(jìn)一步改