畢業(yè)論文基于web的信息檢索系統(tǒng)的研究_第1頁
已閱讀1頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于Web的信息檢索系統(tǒng)的研究</p><p><b>  摘 要</b></p><p>  基于Web的信息檢索系統(tǒng)的研究,討論了信息檢索的原理、評價方法、研究現狀和發(fā)展方向,也研究了主流的信息檢索算法,對信息檢索進行了仿真實驗。重點介紹了信息檢索的理論、算法和技術框架。提出了面向Web的個性化語義信息檢索技術。為了解決或減少檢索算法中Has

2、h地址的“碰撞”,把HASH的思想和索引順序表檢索的思想,以及二分檢索法的思想結合起來提出一種基于HASH表的二分檢索法,通過理論分析和實驗證明,該算法檢索效率極高。</p><p>  關鍵詞:信息檢索; 原理;算法;軟件框架</p><p><b>  目錄</b></p><p>  第 I 條一、前言3</p><

3、;p>  第 II 條二、信息檢索的研究目的3</p><p>  節(jié) 2.01(一)研究目的3</p><p>  第 III 條三、信息檢索的原理與技術方法3</p><p>  節(jié) 3.01(一)、信息檢索原理3</p><p>  節(jié) 3.02(二) 信息檢索的技術方法6</p><p>

4、  第 IV 條四、信息檢索仿真實驗12</p><p>  節(jié) 4.01(一)、 文本處理與倒排文檔的建立12</p><p>  第 V 條 總 結29</p><p>  第 VI 條 參考文獻29</p><p>  第 VII 條 致 謝30</p><p><b>  一、前言

5、</b></p><p>  1990年以前,沒有任何人能夠檢索互聯網上的信息。應該說,所有的網絡信息檢索工具都是從1990年的Alan Emtage等人發(fā)明的Archie開的,雖然它只可以實現簡單意義上的FTP文件檢索。隨著world wide web 的出現和發(fā)展,基于網頁的信息檢索工具出現并迅速發(fā)展起來。1995年基于網絡信息檢索工具本身的檢索工具元搜索引擎由美國華盛頓大學的Eric Selb

6、erg等發(fā)明。伴隨著網絡技術的發(fā)展,網絡信息檢索技術工具也取得了十足的發(fā)展,已成為人們獲取信息的重要手段。</p><p>  本文對信息檢索的研究內容和研究目的、信息檢索的研究現狀、傳統(tǒng)檢索模型等基礎內容進行簡單介紹;在此基礎上,重點介紹了個性化信息檢索的相關理論、算法和技術框架。</p><p>  二、信息檢索的研究目的</p><p><b>  

7、(一)研究目的</b></p><p>  隨著計算機的普及和互聯網的發(fā)展,要想從海量的信息中找到自己需要的信息無疑是一項極具挑戰(zhàn)性的工作。顯然,僅僅依靠人工搜索和提取,其操作過程將非常繁瑣,并且速度和效率極低,信息質量也得不到保證。解決人們獲取信息的困難,迫切需要一些自動化的工具幫助人們快速找到真正需要的信息,這就是信息檢索的任務。信息檢索是互聯網上最基礎、最核心的技術。一個搜索引擎就是一個檢索系統(tǒng)

8、,它掌控著人們從信息海洋中獲取有用信息的路徑。</p><p>  三、信息檢索的原理與技術方法</p><p>  (一)、信息檢索原理</p><p>  廣義地講,信息檢索包含信息儲存和信息檢索兩個過程。信息儲存是對文獻進行收集、標引及著錄,并加以有序化編排,編制信息檢索的工具的過程;信息檢索是從大量的信息中查找出用戶所需的特定信息的過程。而實施檢索的主要方法

9、就是利用各種檢索工具(見圖3.1)。</p><p><b>  信息存儲過程</b></p><p><b>  信息檢索過程</b></p><p>  圖3.1 信息檢索的原理</p><p><b>  1.信息儲存</b></p><p>  

10、信息儲存的工作內容,主要是由標引人員通過對原始文獻的閱讀分析,對文獻中的信息進行鑒別、提煉和濃縮,并采用特定的方式予以整理、保存起來。它大致有如下幾個步驟:</p><p>  (1)選擇文獻。根據信息檢索系統(tǒng)的主題、性質及任務等,結合原始文獻本身的研究水平、角度及其信息質量,對原始文獻進行適當的評價,從中篩選出符合要求的文獻。</p><p>  (2)文獻的概念分析。對所選文獻進行仔細

11、的主題分析,提煉出文獻所論述的內容主題,歸納為代表文獻內容的若干主題概念,并確定這些主題概念之間的關系。</p><p> ?。?)詞匯轉換。把文獻的主題概念轉換為適當的文獻標識(或標引詞),并以這此標識來表達文獻的主題內容。這種轉換需要嚴謹地建立在兩個依據之上:一是必須以對文獻的主題概念分析為依據,二是必須以信息檢索語言為依據。前者主要決定轉換什么的問題,即需要對文獻中的哪些信息主題做出轉換;后者主要決定怎樣轉

12、換的問題,即把主題概念轉換為哪些標識。</p><p> ?。?)信息檢索工具的編制。概括地講,檢索工具是信息檢索系統(tǒng)的核心和概括,它主要包括兩個有序化的序列,即文獻序列和文獻標識序列。</p><p>  文獻序列是由文獻描述體或文獻本身按照一定的方式組織形成的有序化序列,構成文獻庫。文獻描述體是對原始文獻內容的濃縮,常見的有文摘、題錄等,這是信息檢索所采用的傳統(tǒng)和主要的方式。其主要作用

13、是,使用戶能夠對文獻內容有較為全面和準確的了解,進而做出是否需要獲取原始文獻的選擇。隨著計算機技術和通信技術的發(fā)展,現在已經有越來越多的信息檢索系統(tǒng)采用全文本的方式,直接把原始文獻本身組織為有序化的序列,尤其是因特網的迅猛發(fā)展,為全文本檢索拓展了更大的發(fā)展空間。</p><p>  文獻標識的序列,是由文獻標識按照特定的順序形成的有序化序列,構成文獻庫的索引。最常見的排列方式為字順,即按照字母順序或漢語拼音,排列

14、為文獻標識的序列。其作用主要是依靠字順組織,提供對文獻標識的快速查找,并與提問標識加以比較,據此做出文獻是否與提問相符的判斷。這個標識比較的過程,也稱為檢索的匹配。</p><p><b>  2.信息檢索</b></p><p>  信息檢索的工作內容,主要是由檢索人員接受用戶的檢索提問,對提問進行細致的主題分析,提煉出檢索的主題概念,并編制出相應的檢索策略。<

15、;/p><p><b>  其工作步驟如下:</b></p><p>  (1)用戶提問。在特定的條件下,用戶會把頭腦中信息需求轉變?yōu)榫唧w的檢索行為。</p><p>  (2)提問的概念分析。分析檢索提問,識別檢索的真正主題內容,把檢索主題分解為若干概念,并明確這些概念之間的關系。</p><p>  (3)詞匯轉換。把檢

16、索提問的主題概念轉換為相應的提問標識(或稱為檢索詞),并以這些標識來表達檢索提問的主題內容。其依據同樣有兩個方面:一是對提問的主題概念分析,二是信息檢索語言。</p><p> ?。?)檢索的實施。根據所得到的提問標識,在文獻標識序列中,按照其排序的規(guī)則,迅速地進行查找,并對文獻標識與提問標識進行匹配比較。如果文獻標識與提問標識相同,那就表明包含有該標識的文獻與用戶提問相符合,該文獻被作為命中文獻而進行檢索輸出;

17、如果文獻標識與提問標識不相同,則表明文獻與用戶提問不相符合,該文獻被作為不命中的文獻而排除。</p><p>  綜合上述信息儲存和檢索兩個方面,信息檢索的原理是:由標引人員以文獻或文獻描述體構成文獻庫,同時把文獻壓縮轉換為文獻標識,以此表達文獻的特征和主題內容,并對這些文獻庫和文獻標識,按一定的方式分別予以有序化組織,從而形成信息檢索系統(tǒng)。這也就是信息儲存的過程。檢索時,把用戶的檢索提問壓縮轉換為提問標識(檢索

18、詞),以此表達提問的特征和主題內容,并將提問標識與信息檢索系統(tǒng)中的文獻標識進行對比,進而依據匹配與否,做出文獻是否符合檢索提問的判斷。這也就是信息檢索的過程。</p><p>  因此,信息檢索的原理就是提問標識與文獻標識的對比。</p><p> ?。ǘ?信息檢索的技術方法</p><p>  1. 手工信息檢索的技術方法</p><p>

19、; ?。?)手工信息檢索工具</p><p>  在手工信息檢索工具中,目前主要使用的檢索工具包括:</p><p><b> ?。?)目錄</b></p><p>  目錄是圖書或其他單獨出版物規(guī)律化、系統(tǒng)化的記載,主要用于檢索出版單位和藏書單位是否擁有信息檢索者所需要的書刊。目錄只涉及這些出版物的外部特征,如書名、卷數、作者、出版年月、版本

20、號、出版社名稱、頁數等,但有的附有十分簡單明了的內容摘要。目錄是歷史上最早出現的信息檢索工具,種類繁多,其中較為重要的有:國家書目、出版社目錄、書店目錄、館藏目錄、聯合目錄、專題目錄等。</p><p><b> ?。?)索引</b></p><p>  索引是把一種或多種書刊里的具體內容按一定的方式分別摘錄,并注明出處,以便檢索的一種工具。索引的種類也很多。按尋找文

21、獻內容特征的編制方法來分,有分類索引與主題索引;按取材來源,又分為圖書索引、期刊索引、報紙索引及其他文獻索引;按著錄對象,可分為篇目索引、主題索引、條目索引、詞語索引及輔助索引等。</p><p><b> ?。?)文摘</b></p><p>  文摘是把文獻資料的主要內容,如主要論點、論據、原理、重要數據、結論、適用范圍等,由有一定水平和經驗的編者將其準確、簡要地

22、摘錄出來,并注明出處后,經分類排序而編制成的檢索工具。文摘的主要作用是供快速而準確的閱讀和檢索,對查全率和查準率要求比較高。因此,文摘的編纂遠較目錄、索引來得艱巨、復雜,但所含的信息量遠高于目錄和索引。文摘主要類型包括指示性文摘、報道性文摘、統(tǒng)計性文摘等。</p><p><b> ?。?)年鑒</b></p><p>  年鑒是以描述和統(tǒng)計的方式逐年提供某年度某一領

23、域信息的工具書。年鑒包含的內容很豐富,從一部商貿年鑒中可以得到專家對某一行業(yè)或市場的綜述、分析、回顧和展望,了解新出臺的政策法規(guī),最新的統(tǒng)計數據和企業(yè)介紹、調研報告、經濟團體和研究機構的名錄、經貿知識、理論研究、重要或最新產品、大事記、經濟形勢分析和預測等,因而最適合于各類現行資料的查詢。作為一種年度出版物,年鑒還能連續(xù)地反映事物的發(fā)展、停滯甚至倒退的趨勢。年鑒種類很多,如中國經濟年鑒、中國商業(yè)年鑒、中國廣告年鑒、中國金融年鑒、中國物價

24、年鑒、中國證券業(yè)年鑒等。</p><p><b> ?。?)手冊</b></p><p>  手冊是匯集某一學科領域或業(yè)務部門專門知識的工具書,多是針對當前實踐中的需要,以簡明扼要的方式提供具體、實用的資料,供隨時翻檢查閱,故又稱便覽,也常冠以“概鑒”、“大全”、“要覽”、“指南”、“必備”等名稱。英文用Handbook和Manual表示,前者側重反映“何物”(wha

25、t)一類的信息,如數據、事實等,后者偏重“如何做”(how-to)之類的問題。手冊種類也相當繁多,如市場預測實務全書、公司開辦與經營手冊等。</p><p><b> ?。?)百科全書</b></p><p>  百科全書是薈萃一切門類或某一門類知識、以概要方式介紹為主的多功能工具書。如果說詞典的功能僅僅說明某一概念,則百科全書是“接著定義往下說”的工具書,它可以回答

26、諸如“何時”、“何地”、“如何”、“為何”等背景性知識,內容詳盡完備,查閱、檢索功能都很突出,條目多由標題、釋文、圖表和參考文獻組成,有的內容專深,卷帳浩繁,是補充知識的常用工具。中國大百科全書,不列顛百科全書等都是非常實用的檢索工具。</p><p>  2.手工信息檢索工具的排檢技術</p><p><b>  (1)字順排檢技術</b></p>&

27、lt;p>  字順排檢技術是指將檢索工具的內容按字、詞的一定順序或規(guī)律,有系統(tǒng)地組織排列起來的技術。</p><p><b> ?。?)分類排檢技術</b></p><p>  分類排檢技術是指將信息素材按學科或事物性質系統(tǒng)地加以排列。該技術有按一種方式單獨編排的,也有與按時間、地區(qū)排列技術相互配合使用的。</p><p><b&g

28、t; ?。?)主題排檢技術</b></p><p>  主題排檢技術是指以規(guī)范化的自然語言為標識符號,來標引信息內容的排檢技術。主題排檢技術的一般形式是以主題詞來揭示信息素材記述的中心內容或對象,主題詞本身按讀音或筆畫或字母順序加以排序。這種排檢技術把屬于不同學科、不同知識體系中論述同一問題的信息素材集中標引出來,揭示信息素材內容比較深入、廣泛。</p><p><b&g

29、t; ?。?)時序排檢技術</b></p><p>  時序排檢技術是指按時間的順序組合信息素材的技術,多用于編制年表、年譜等檢索工具。</p><p><b> ?。?)地序排檢技術</b></p><p>  地序排檢技術是指按一定時期的行政區(qū)域來排列信息素材的技術。這種技術可以把同一地區(qū)的有關信息素材集中在一起,全面地反映某一

30、地區(qū)、某一國家的歷史和現狀。</p><p>  3、 計算機信息檢索的技術方法</p><p> ?。?)聯機信息檢索的技術原理</p><p>  聯機檢索起源于20世紀60年代的美國。目前,聯機檢索業(yè)已形成了覆蓋全球的信息檢索系統(tǒng),如 DIALOG、OCLC等。我國從20世紀 80年代開始從事國際聯機檢索,經過20余年的發(fā)展也已建立起了自己的聯機信息檢索系統(tǒng),

31、如 ISTIC、MEIRS等。</p><p>  聯機信息檢索系統(tǒng)是一個典型的計算機信息系統(tǒng),能完成數據收集、分析、加工處理、存儲、傳遞通信和檢索信息的全過程。在信息存儲的過程中,由系統(tǒng)按一定的規(guī)律對信息進行加工處理,并賦予特征標識;在信息檢索的過程中,由用戶通過系統(tǒng)提供的檢索指令,向系統(tǒng)提交含有需求特征的檢索表達式。計算機信息檢索系統(tǒng)接收到正確的指令后,自動地將相關信息集合的特征標識與用戶提交的檢索特征進行“

32、匹配”。這種匹配完全是一種字符串的類比運算。匹配結束,系統(tǒng)自動給出存儲信息的特征與檢索提問的特征相符的記錄篇數,即命中數量。用戶通過顯示命中記錄的內容,判斷檢索是否成功,這就是聯機信息檢索技術的基本原理。</p><p> ?。?)聯機信息檢索的服務方式</p><p>  聯機信息檢索的服務方式主要有以下幾種:</p><p>  1)定題信息提供。這種服務是由檢

33、索系統(tǒng)工作人員將用戶信息需求轉換成一定的檢索提問式,并將此提問式存入計算機中,信息檢索系統(tǒng)定期從新的文獻信息中為用戶檢索,并按用戶指定的格式為用戶加以編排和打印。利用SDI服務,用戶可定期獲得所需要的最新信息,及時掌握同類專題的動態(tài)和進展。</p><p>  2)專題回溯檢索。這是用戶對檢索系統(tǒng)中積累多年文獻資料的數據庫進行檢索,查找一定時間范圍以內或特定時間以前的文獻,通常采用聯機檢索方式進行。此種服務的結果

34、一般要求切題,但又無大的遺漏,盡量做到省機時、省費用。通過專題回溯檢索進行專題查詢或情報調研時,可全面系統(tǒng)地了解有關文獻的線索。</p><p>  3)聯機訂購原文。聯機檢索的結果通常是一些文摘或題錄形式的二次文獻形式。用戶通過閱讀這些二次文獻了解大致的內容,然后根據這些文獻線索查找全文或通過E-mail方式索取。</p><p><b>  4.光盤信息檢索</b>

35、;</p><p>  光盤是繼紙張、縮微膠片、磁存儲器之后的一種用激光束記錄和再現信息的存儲載體。用于檢索和閱讀的光盤通常為只讀光盤(CD-ROM)。它是一種信息載體,而要對其中的信息進行檢索和利用則需要計算機的配合。光盤產品自20世紀70年代出現以來,最初只用于娛樂,直到1985年人們才研制出第一種專用于信息服務的光盤。自此,以光盤為載體的數據庫產品層出不窮,為信息產業(yè)的發(fā)展注入了新的生命力,特別是光盤與計算

36、機的結合,使得信息檢索模式發(fā)生了革命性的變化。</p><p> ?。?)光盤信息檢索技術</p><p>  光盤信息檢索系統(tǒng)由微機、驅動器及連接設備、CD-ROM數據庫(光盤)及其檢索軟件構成。</p><p>  使用CD-ROM光盤需要在計算機上裝配CD-ROM驅動器,驅動器可安裝在諸如 IBMPC、XT、AT、Pentium以及絕大多數IBM兼容機上。驅動

37、器是讀取光盤數據的專用設備,在微機擴展槽上插入CD-ROM驅動器的接口卡就可將微機與驅動器連成一體。CD-ROM驅動器有內置式和外置式兩種,前者裝在微機機箱內??晒?jié)省臺面空間,價格較便宜;后者可很方便地移動到不同的計算機上。選擇驅動器時主要考慮以下性能:一是速度,一般為185-500ms之間;二是查找速度,一般在 250-400ms之間;三是數據緩沖區(qū)越大,可直接從存儲器存取的數據就越多,節(jié)省查詢時間;四是數據傳送速度,有單速、雙倍速乃

38、至40倍速以上的驅動器。</p><p> ?。?)光盤信息檢索方法</p><p>  光盤檢索系統(tǒng)的功能與指令與聯機檢索沒有很大區(qū)別,但更方便。各個系統(tǒng)一般都有如下功能鍵:Help(幫助)、Index(索引)、History(查閱歷史)、Display(顯示)、Print(打?。elect Database(選擇數據庫)、Format Window(格式窗)、Quit(退出)等。當

39、然,系統(tǒng)一般不顯示當前沒有使用的功能鍵,只列出正在使用的功能鍵。</p><p>  檢索信息時可用單元詞、多元詞(短語)、數字及布爾運算符和位置運算符把幾個檢索術語組配成一個提問邏輯式。在編制提問式時,可以用有關功能鍵彈出索引菜單,通過瀏覽各種索引獲取數據庫記錄中的關鍵詞、詞組和系統(tǒng)提供的主題詞表,以便選擇拼法、可能的截斷術語和查找范圍。當系統(tǒng)將檢中的記錄用標題形式顯示出來時,用戶可以用方向鍵在屏幕上移動至所需

40、題名,然后以全記錄形式顯示或打印它。</p><p>  系統(tǒng)保持著用戶的一切提問和每一結果,因此,用戶可以隨時回顧其查找歷史,重新使用或修改以前的任何提問。也可以在另一數據庫中選擇回顧歷史并執(zhí)行同樣的檢索策略,而不必重復鍵入或重新處理檢索術語。</p><p>  屏幕幫助是光盤數據庫最常用,也是重要的功能之一,對計算機檢索不熟悉的用戶在幾乎每一個重要步驟都可以得到指導。幫助的菜單內容一

41、般是針對正在檢索中的某一個步驟,其內容有:了解系統(tǒng)功能、提問句法、檢索策略、記錄字段的描述、限制符、禁用詞和標點、索引的使用、主題查找、從記錄中抽詞、截斷和排列、如何顯示記錄、改變顯示格式、打印記錄、保留記錄、結束查找、獲得文獻以及各種功能鍵的使用法。</p><p>  5.網絡信息檢索的技術方法</p><p> ?。?)網絡信息檢索技術</p><p>  自

42、20世紀90年代以來,Internet已成為世界上最大的信息資源寶庫,網絡信息的查找和檢索,已遠遠超出了信息檢索領域,基于Internet的信息檢索系統(tǒng)成為網絡信息檢索階段的代表。網絡信息檢索的特點是:信息檢索范圍寬,用戶操作方便,但信息檢索準確率不高。</p><p><b>  1)布爾檢索</b></p><p>  即按照布爾邏輯,采用邏輯算符將檢索提問轉換為

43、相應的邏輯表達式進行檢索。一般情況下,邏輯加用“+”為運算符,表示概念的聯合;邏輯乘以“*”為運算符,表示概念的限定;邏輯非以“-”為運算符,表示概念的排除。計算機根據表達式給出的關系進行檢索匹配,予以輸出。</p><p>  使用布爾檢索,可以利用上述演算符,通過邏輯復雜的演算方式,對信息資源進行確切查找。這對具有海量信息的檢索系統(tǒng)中信息資源的查找十分有效。例:以“北京*空氣污染*(汽車+可吸入顆粒物)-冬季

44、”表示對“北京除冬季外汽車和可吸入顆粒物造成的空氣污染狀況”這一主題的檢索。</p><p><b>  2)截詞檢索</b></p><p>  即采用截斷的方式,利用詞的片段進行檢索。通常用“*”符號來表示截斷。截詞檢索又分為:</p><p> ?、儆医卦~,如infor*,可檢索出所有以infor字符開頭的語詞的資源。</p>

45、<p> ?、谧蠼卦~,如*infor,可檢索出所有結尾為infor字符的語詞的資源。</p><p>  ③中間截詞,如inf*mation,可檢索出所有以inf頭,以mation結尾的語詞的資源。</p><p> ?、茏笥医卦~,如*format*,可檢索出所有中部具有format語詞的資源。</p><p>  截詞檢索是一種用字面相近度檢索相關資

46、料的檢索方法,具有提高檢全率的作用,在英文等西文檢索中十分普遍。漢字檢索時,一般只在對標引詞精確匹配時才使用。此外不少系統(tǒng)還具有模糊檢索、容錯檢索等功能,這實際上也是截詞檢索的一種應用。</p><p><b>  3)精確檢索</b></p><p>  即通過規(guī)定各種檢索方式,限定和縮小檢索對象范圍,提高檢準率。</p><p> ?、倬_

47、匹配檢索,即只能檢出與一語詞完全一致的資源。通常采用以“”括起的短語檢索。如以“信息存儲與檢索”表示檢索與檢索提問完全一致的信息資源。</p><p> ?、谠谟⑽臋z索中區(qū)分大小寫字母,一般使用小寫字母的檢索詞可以同時檢出大小寫字母的語詞;使用大寫字母的檢索詞,只能與文本中采用大寫字母的對應語詞匹配。</p><p>  ③相鄰度檢索。規(guī)定檢索詞與詞的距離,用于限定檢索的條件,例;以“信息

48、檢索near圖形文獻”表示檢索對象只有在兩詞的距離不超過10個詞或屬于同一自然段時才符合檢索要求。</p><p>  采用精確匹配,用戶可以通過對檢索條件加以限定,檢索特征與用戶要求最為接近的信息資源。</p><p><b>  4)限定范圍檢索</b></p><p>  可以通過規(guī)定檢索范圍,針對性地選擇相應的對象檢索。不少網絡搜索引擎

49、領域根據資源構成成分的特點,規(guī)定了多種限定可能,供用戶選擇。</p><p> ?、僖?guī)定進行檢索的對象是網站還是包括網頁。</p><p> ?、谝?guī)定進行檢索匹配的對象是所有成分、還是文摘、題名還是網址(URL)。</p><p>  ③限定檢索的語言、地區(qū)、時間等的范圍,以文本框的形式提供語言、地區(qū)、時間的選擇列表或由用戶選擇。

50、 </p><p> ?、芤?guī)定檢索的范疇對象,如通過建立頻道或選擇框的形式,提供圖像、新聞、產品、商業(yè)、購物、教育、政府娛樂等類型信息資源的檢索選擇等。</p><p> ?、萁Y合類目體系進行檢索,將檢索限制在特定范疇下。</p><p><b>  5)相關檢索</b></

51、p><p>  即提供各種相關資料檢索的手段,以提高查全率,改進檢索效果。</p><p> ?。?)網絡信息檢索模式</p><p>  網絡信息檢索模式有兩層含義。廣義理解為如何對網絡上的海量多態(tài)信息進行組織,如何對這些信息建立索引,如何能動態(tài)地維護索引,即對索引及時更新;如何設計檢索算法以對檢索提問在查全、查準、響應時間、檢索結果控制與顯示方面表現良好;如何為用戶

52、設計一個簡單易用的友好界面等方面。狹義的網絡信息檢索模式則只是以網絡(如 Internet)為媒介,利用網上已提供的一些信息檢索工具,探索如何使用這些工具及如何綜合各工具,使它們揚長避短,最后能實現對信息提問的檢索查詢的一種方法與技術。</p><p>  廣義的網絡信息檢索模式是從根本上解決有效利用網絡信息資源的關鍵。沒有結構合理的索引與高效的檢索算法,就無法實現完美的信息查詢;沒有對索引的動態(tài)維護與及時的信息

53、更新,就有可能檢到信息垃圾,誤導信息用戶;沒有友好的用戶界面,用戶就在選擇與利用信息檢索工具時,錯過對該工具的選擇,即使選擇了它,也可能因易用性差而得不到良好的查詢結果。對于面向最終用戶的信息檢索工具而言,友好的用戶界面較信息服務中介的時代有著更為重要的意義。</p><p>  狹義的信息檢索模式是在現實世界中有效利用網絡資源的核心。Internet上目前就已有大量的信息查詢工具為用戶服務。它們不但是利用網上信

54、息資源的重要工具,而且它們本身也是網絡信息資源的一個重要組成部分,對這些工具的開發(fā)利用,也是開發(fā)利用網絡信息資源的重要內容之一。更為重要的是在對這些工具的多次利用、比較、分析、研究的過程中,可以得出網絡信息檢索模式的廣義內涵,可以為開發(fā)新型的網絡信息檢索工具提供重要的參考依據。</p><p>  四、信息檢索仿真實驗</p><p> ?。ㄒ唬?、 文本處理與倒排文檔的建立</p&g

55、t;<p><b>  1.實驗目的:</b></p><p>  通過用高級語言編程實現倒排文檔組織,深刻理解倒排文檔的結構和組成,掌握自動抽詞標引、建立倒排文檔的基本原理和實現方法。</p><p><b>  2.實驗內容:</b></p><p><b> ?。?)系統(tǒng)功能</b>

56、;</p><p>  建立文獻信息條目的順排文檔;對標題字段、文摘或全文字段進行自動抽詞標引;建立倒排文檔組織。</p><p> ?。?)處理方法與思想</p><p>  根據文獻中詞頻、詞性與詞的區(qū)分能力之間的關系,具有好的區(qū)分能力的詞應是中等詞頻有實際意義的詞,根據這一思想去掉停用詞,對文本進行詞干化處理。然后根據一定的關鍵詞賦權方法進行自動標引和抽詞,生

57、成K-D文件和倒排文檔。</p><p> ?。?)算法流程與數據結構</p><p>  ①.從磁盤中讀入一篇文獻 </p><p> ?、冢畬ξ墨I文本進行預處理: </p><p><b>  詞匯分析 </b></p><p>  刪除停用詞 </p>

58、<p><b>  詞干處理</b></p><p><b>  選擇標引詞</b></p><p>  建立概念等級關系 </p><p>  ③對選出的標引詞及其地址和記錄號進行輸出并存儲在磁盤空間中,生成標引詞表wordlist.txt文件</p><p>  對檢索入

59、口詞進行規(guī)范化處理,通過屏幕輸入檢索詞進行檢索,并驗證倒排文檔的生成</p><p><b> ?。?)源程序</b></p><p>  以下采用 c 程序設計語言實現上述算法</p><p>  #include<stdio.h></p><p>  #include<string.h><

60、;/p><p>  #include<conio.h></p><p>  #include<ctype.h></p><p>  #define MAX_LENGTH 6</p><p>  #define MAX_COUNT 1000 </p><p>  #define

61、 STOPLIST_COUNT 20</p><p>  char xx[50][80];</p><p>  int maxline=0; /*the Total Line Of The d1.txt*/</p><p>  typedef struct node{</p><p>  char word[20];</

62、p><p>  char num[10];</p><p><b>  int row;</b></p><p><b>  int col;</b></p><p><b>  } WNODE;</b></p><p>  WNODE wordList[M

63、AX_COUNT];</p><p>  char* stopList[]={"a","an","and","are","as","at","be","by","for","from","in",

64、"is","of","on","or","our","the","to","with","we"};</p><p>  int SearchWord(char *str){</p><p><b> 

65、 int i=0;</b></p><p>  for(;i<STOPLIST_COUNT;i++)</p><p>  if(strcmp(stopList[i],str)==0) return 1;</p><p><b>  return 0;</b></p><p><b>  } &

66、lt;/b></p><p>  int ReadWord(char *document)</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p><b>  int i=0;</b></p><

67、p><b>  char *p;</b></p><p>  if((fp=fopen(document,"r" ))==NULL) return 1;</p><p>  while(fgets(xx[i],80,fp)!=NULL){</p><p>  p=strchr(xx[i],'\n');&

68、lt;/p><p>  if(p) *p=0;</p><p><b>  i++;</b></p><p><b>  }</b></p><p>  maxline=i;</p><p>  fclose(fp);</p><p><b> 

69、 return 0;</b></p><p><b>  }</b></p><p>  void Word(char *docu_num){</p><p><b>  clrscr();</b></p><p>  int i,j,k,m,n,ll,h=0,t=0,r=0,flag;

70、</p><p>  char yy[20];</p><p>  for(i=0;i<maxline;i++){</p><p>  ll=strlen(xx[i]);</p><p>  //printf("%d\n",ll);</p><p>  //for(j=0;j<ll;j+

71、+) printf("%c\n",xx[i][j]);</p><p><b>  k=n=0; </b></p><p>  for(j=0;j<ll;j++){</p><p>  //if(isalpha(xx[i][j])) k++;</p><p>  if(isalpha(xx[

72、i][j])){flag=1;yy[n++]=xx[i][j];}</p><p><b>  else{</b></p><p>  yy[n]='\0';</p><p><b>  if(flag){</b></p><p>  if(!SearchWord(yy)){ <

73、;/p><p>  for(t=0;t<=n;t++) wordList[h].word[t]=yy[t];</p><p>  //wordList[h].word=yy;</p><p>  for(r=0;r<=4;r++) wordList[h].num[r]=docu_num[r];</p><p>  wordList[h

74、].row=i;</p><p>  wordList[h].col=j-n; </p><p><b>  }</b></p><p><b>  h++;</b></p><p><b>  n=0;</b></p&

75、gt;<p><b>  flag=0;</b></p><p><b>  k=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

76、;/p><p>  yy[n]='\0';</p><p><b>  if(flag){</b></p><p>  if(!SearchWord(yy)){ </p><p>  for(t=0;t<=n;t++) wordList[h].word[t]=yy[t];</p><

77、p>  for(r=0;r<=4;r++) wordList[h].num[r]=docu_num[r];</p><p>  wordList[h].row=i;</p><p>  wordList[h].col=j-n; </p><p><b>  }</b></p&

78、gt;<p><b>  h++;</b></p><p><b>  n=0;</b></p><p><b>  flag=0;</b></p><p><b>  k=0;</b></p><p><b>  }</b&

79、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void WriteWord()</p><p><b>  {</b></p><p><b>  FILE *fp;</b&g

80、t;</p><p><b>  int i;</b></p><p><b>  clrscr();</b></p><p>  fp=fopen("WordList.txt","a");</p><p>  for(i=0;i<MAX_COUNT;i

81、++){</p><p>  if(strlen(wordList[i].word)){</p><p>  fprintf(fp,"%s\t",wordList[i].word);</p><p>  fprintf(fp,"%s\t",wordList[i].num);</p><p>  fpri

82、ntf(fp,"%d\t",wordList[i].row);</p><p>  fprintf(fp,"%d\n",wordList[i].col);</p><p><b>  }</b></p><p><b>  }</b></p><p>  fc

83、lose(fp);</p><p><b>  } </b></p><p>  void main()</p><p><b>  {</b></p><p><b>  clrscr();</b></p><p><b>  FILE *f

84、p;</b></p><p>  char document[10],num[10];</p><p>  printf(" CopyRight By Lvshuagnwu ");</p><p>  printf("\n");</p><p>  printf("Enter th

85、e document-File name:\n");</p><p>  scanf("%s",document);</p><p>  while(strcmp(document,"end")){</p><p>  printf("Enter the document number(3 wei):\n&

86、quot;);</p><p>  scanf("%s",num);</p><p>  if(ReadWord(document)){</p><p>  printf("Cann't Open File:%s!\n\007",document);</p><p><b>  ret

87、urn;</b></p><p><b>  }</b></p><p>  Word(num);</p><p>  WriteWord();</p><p>  printf("Get Word from %s Succeed!\n",document);</p><

88、;p>  printf("Enter the next document-File name:\n");</p><p>  scanf("%s",document); </p><p><b>  } }</b></p><p> ?。?)算法效率與改進</p><p&

89、gt;  標引算法的比較次數為文獻詞匯量與停用詞數量乘積,從磁盤空間讀入文獻和停用詞表需要一定的時間,可以通過先比較詞頻生成臨時文件,再與停用詞表進行比較,同時擴大內存將停用詞表直接放入內存,以空間換時間的方式來提高標引和檢索速度。</p><p> ?。ǘ?順排文檔檢索算法的實現</p><p><b>  1.實驗目的:</b></p><

90、p>  通過用高級語言編程實現菊池敏典算法,深刻理解順排文檔的檢索技術和算法設計原理。</p><p><b>  實驗內容:</b></p><p><b> ?。?)算法流程</b></p><p>  ①、從提問文檔中讀取N個提問式,并進行語法檢查</p><p><b>  

91、②、生成提問展開表</b></p><p>  展開表的生成,根據算法描述的順序方向劃分為兩大部分:前處理部分和后處理部分。</p><p>  設level(Ai) 表示經過正向掃描以后 Ai 項在 展開表中的層次值, AFD(Ai) 表示檢索項目詞Ai 的“ 匹配一致時轉向地址”, NFD(Ai) 表示檢索項目詞Ai 的“ 匹配不一致時轉向地址”: </p&g

92、t;<p>  前處理部分,也叫正向掃描處理部分。按照邏輯提問式各項因子出現的先后順序從左到右依次處理,設Ai為當前處理項.</p><p> ?、賿呙璧綑z索詞項,則把Ai的匹配比較條件、項目檢索詞Ai、檢索類型標識符等有關信息置入展開表中響應位置,地址計數器加1并送到表中地址位,</p><p> ?、趻呙璧健?”時, level=level+1</p>&l

93、t;p>  掃描到“)”時,level=level-1</p><p> ?、蹝呙璧竭壿嫵恕?”運算符時,繼續(xù)搜索下一檢索項目詞,把它的地址位的值置入AFD(Ai)中,并有l(wèi)evel(Ai) level</p><p> ?、軖呙璧竭壿嫾印?”,繼續(xù)搜索下一個檢索項目詞,把它的地址位的值置入NFD(Ai)中,并有l(wèi)evel(Ai) level</p>

94、<p>  ⑤掃描到邏輯提問結束符“.”時,把檢索最終“成功”標記置入最后一個檢索項目詞Ai的AFD(Ai)中,同時把檢索最終“失敗”標記置入NFD(Ai)</p><p>  后處理部分: 也叫逆向掃描處理部分。逆向掃描從展開表的倒數第二項開始直到展開表的第一項處理完為止。</p><p> ?、倌嫦驋呙栌鲆奛FD(Ai)欄目為空,則應向回搜索,依次判別各level(Ai)值

95、。 當滿足條件level( Ai)> level( Aj),則立即停止向后搜索,并進行以下操作:</p><p>  NFD(Ai) NFD(Aj)</p><p> ?、谀嫦驋呙栌鲆夾FD(Ai) 為空時,同樣應向回搜索,依次判別各項level(Aj)值。當滿足條件level( Ai)> level( Aj)或者搜索到提問邏輯式中最后一個檢索項目詞時,進行以下操作:

96、</p><p>  AFD(Ai) AFD(Aj)</p><p><b>  3、分析提問式</b></p><p>  Q=A+B*(C+D*(E+F))+G*H</p><p>  Q=01+02*(03+04*(05+06))+07*08</p><p><b>  

97、4、檢索處理流程</b></p><p>  從順排文檔中依次讀出一篇文獻記錄,然后與提問文檔中所有的提問式進行匹配檢索,如滿足提問表達式所要求的條件,該文獻記錄就作為提問式的命中文獻輸出。系統(tǒng)需要對提問文檔中各提問式分批進行處理,先從提問式文檔中取N個提問式處理,當這N個提問式與所有數據庫中文獻記錄匹配完畢后,再從提問式文檔中取N個提問式重復以上處理過程,一直到提問式文檔中數據處理完為止。</

98、p><p><b> ?。?)數據結構</b></p><p><b>  ①檢索詞表結構</b></p><p>  檢索詞表是為了描述提問式中出現的提問檢索詞而設計的。因為在實際提問式處理過程中,提問檢索詞只是以其在檢索詞表中檢索詞號形式出現,而不是檢索詞本身。</p><p><b> 

99、 ②展開表結構</b></p><p>  表8.1 檢索詞表的結構</p><p>  地址是指該行所在展開表中地址</p><p>  匹配成功時轉向地址AFD,給出一旦在檢索詞與文獻記錄中標引詞匹配成功時,下步應該處理的提問檢索詞在提問表中的地址。</p><p>  匹配不成功時轉向地址NFD,給出一旦檢索詞與標引詞匹配失

100、敗以后應該轉向展開表中的地址。</p><p>  層次值給出層次計數器在完成展開表填寫時的當前處理值。</p><p><b>  ③標引詞標識表結構</b></p><p>  是為了描述文獻記錄中各標引詞特征而設立的,它的設立為提問文檔與文獻記錄的匹配奠定了基礎。</p><p>  表8.2 標引詞標識表結構&l

101、t;/p><p>  標引詞標識號是系統(tǒng)賦予從文獻記錄中抽出標引詞的類編碼,實際上是屬性項號。</p><p>  有效位是指標引詞在匹配中的有效長度。</p><p>  項目詞是指具體的標引詞</p><p><b>  3.源程序</b></p><p>  以下采用 c 程序設計語言實現上述算

102、法</p><p>  # include <stdio.h></p><p><b>  main()</b></p><p>  {int b[20],a[20][4];</p><p>  int i,h,j,k,l,level;</p><p>  printf("i

103、nput query:\n");</p><p><b>  i=0;</b></p><p>  do {scanf("%c",&b[i]); i++;}</p><p>  while(b[i]!='.');</p><p><b>  h=i;<

104、/b></p><p>  for(i=0;i<h;i++)</p><p>  a[i][0]=i+1;</p><p>  j=0;level=0;</p><p>  for(i=0;i<h;i++)</p><p>  {if((b[i]>='A')&&(

105、b[i]<='Z'))</p><p>  {j++; a[j][4]=b[i];}</p><p>  if(b[i]=='+')</p><p>  {a[j][2]=a[j+1][0]; a[j][3]=level;}</p><p>  if(b[j]=='*') {a[

106、j][1]=a[j+1][0];a[j][3]=level;}</p><p>  if(b[i]=='(') level+=1;</p><p>  if(b[i]==')') level-=1;</p><p>  if(b[i]=='.') {a[j][1]='Y'; a[j][2]

107、='N'; l=j;} </p><p><b>  }</b></p><p>  for(j=l;j>0;j--)</p><p>  {if(a[j-1][3]>a[j][3])</p><p>  {if(a[j-1][1]!=0)</p><p>  a[j

108、-1][2]=a[j][2];</p><p>  if(a[j-1][2]!=0)</p><p>  a[j-1][1]=a[j][1];</p><p><b>  }</b></p><p>  if(a[j-1][3]==a[j][3])</p><p>  {if(a[j-1][1]!

109、=0)</p><p>  a[j-1][2]=a[j][2];</p><p>  if(a[j-1][2]!=0)</p><p>  a[j-1][1]=a[l][1];}</p><p>  if(a[j-1][3]<a[j][3])</p><p>  { if(a[j-1][1]!=0)</p&

110、gt;<p>  {for(k=j;k<=l;k++)</p><p>  {if(a[k][3]<=a[j-1][3])</p><p>  a[j-1][2]=a[k][2];</p><p><b>  }</b></p><p><b>  }</b></p&

111、gt;<p>  if(a[j-1][2]!=2)</p><p>  {for(k=j;k<=l;k++)</p><p>  {if(a[k][3]<=a[j-1][3])</p><p>  a[j-1][1]=a[k][1];</p><p>  } } }</p><p>

112、;  printf("add afd nfd level word\n");</p><p>  for(j=1;j<l+1;j++)</p><p>  {for(i=0;i<5;i++)</p><p>  printf("%d ",&a[j][i]);</p><p&

113、gt;  printf("\n");</p><p><b>  } } }</b></p><p><b>  4.算法改進</b></p><p><b>  算法的不足</b></p><p>  A. 比較匹配策略花費的機時可觀,比較次數m*n&

114、lt;/p><p>  B. 不同提問式中相同提問詞重復的比較和匹配處理;</p><p>  C. 展開表采用固定長格式占用過多的內存空間,以及對一個提問式中提問詞數量的限制;</p><p>  D. 標引詞標識表中同一屬性項號下的各檢索詞應該組織一下,以減少查詢時間;</p><p>  E. 對否定的處理有一定的限制,不能處理邏輯非作用在

115、子表達式上這種情況。</p><p><b>  改進:</b></p><p>  對于B的不足,通過增加一標識變量,來記錄體溫次出現的次數,只對第一次出現該提問詞時進行比較,重復出現時不予比較。</p><p>  對于E 的不足,通過逆序算法進行邏輯非運算,實現對檢索提問中否定的處理。</p><p> ?。ㄈ?、

116、倒排文檔檢索算法的實現</p><p><b>  1.實驗目的:</b></p><p>  通過用高級語言編程實現福島算法,深刻理解倒排文檔的檢索技術和算法設計原理。</p><p><b>  實驗內容:</b></p><p><b> ?。?)算法描述</b><

117、/p><p>  ①、輸入檢索式,并進行語法檢查,顯示出錯信息;</p><p> ?、?、將提問表達式轉換為等價的逆波蘭表達式形式</p><p> ?。?) 根據表達式的語法規(guī)則,給每一個算子賦上一個優(yōu)先數,以決定在處理過程中它們進入算子保留棧的順序;</p><p>  (3)設立兩個數據存貯區(qū),一個是提問算子保留棧,另一個是形成的結果保留區(qū)

118、,用于存放逆波蘭表達式;</p><p>  (4)原始提問表達式存放區(qū),數據在該區(qū)從左到右讀入處理;</p><p> ?。?)從原始提問式存貯區(qū)中讀數據時,若遇到算項, 逆波蘭數據區(qū)計數器加1,并將算項存入;</p><p>  (6)讀入數據時,若遇見算子,則將當前所處理的算子項的優(yōu)先數與算子保留棧棧頂中算子的優(yōu)先數進行比較:</p><p

119、>  若其優(yōu)先數大于棧頂算子的優(yōu)先級,則將算子保留棧計數器加1,并將當前算子項存入算子保留棧中;</p><p>  若其優(yōu)先數不大于棧頂算子的優(yōu)先級, 并且當前項又不是括號,此時應將則將算子保留棧計數器減1,取出棧頂算子項,同時將逆波蘭區(qū)計數器加1, 并將其存入, 再轉向(5)</p><p> ?。?)若掃描中遇見左括號,則將算子計數器加1后存入算子保留棧中;</p>

120、<p> ?。?)遇見右括號,表示要對左右括號內所包括的子表達式進行運算。 將算子保留棧棧頂項依次退出棧中,并存放在逆波蘭表達式存貯區(qū)中,直到棧頂元素項是左括號時,將兩個配對括號拋棄為止。</p><p> ?。?)若遇見提問表達式結束標記時,則將算子保留棧棧頂元素項依次送入逆波蘭表達式存貯區(qū)中。</p><p>  3、將逆波蘭表達式轉換為檢索指令表</p>

121、<p>  順序掃描逆波蘭輸出區(qū), 在臨時工作數據區(qū)中找出一個未使用單元, 把該單元地址送入當前檢索指令項第三操作數地址欄目中。同時將該單元封閉起來,置入使用標記。將檢索詞的地址置入第一操作數地址欄目,把當前檢索指令項的操作數欄目內置入</p><p>  在倒排文檔基礎之上利用檢索指令表進行檢索處理</p><p><b>  (1)數據結構</b><

122、;/p><p>  處理環(huán)節(jié)有以下三個環(huán)節(jié)構成:</p><p> ?、侔延脩舻奶釂栠壿嬍睫D換成與之在邏輯語義上等價的逆波蘭表達式; </p><p> ?、诎研纬傻哪娌ㄌm表達式轉換成利于系統(tǒng)內部檢索處理的形式------ 檢索指令結構形式; </p><p> ?、劾靡呀浶纬傻臋z索指令序列,在倒排文檔上進行檢索,將檢索的命中文獻記錄等其它有關

123、信息輸出給用戶。 </p><p>  第一個環(huán)節(jié):輸入數據是提問表達式,輸出的是加工處理后的逆波蘭表達式。</p><p>  參照 算符優(yōu)先級對照表與檢索詞與地址對照表定義提問式算子存貯區(qū)、逆波蘭表達式輸出區(qū)與提問式輸出區(qū)。</p><p>  第二個環(huán)節(jié):輸入數據是逆波蘭表達式,輸出數據是與之等價的檢索指令系列。</p><p><

124、;b>  檢索指令的數據結構</b></p><p>  ON 檢索指令操作碼,</p><p>  AD1 第一操作數地址,</p><p>  AD2 第二操作數地址,</p><p>  AD3 第三操作數地址。</p><p><b>  輸入指令</b><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論