全文檢索
出自 MBA智库百科(https://wiki.mbalib.com/)
全文檢索(Full Text Retrieval)
目錄 |
什麼是全文檢索[1]
全文檢索是指以全部文本信息作為檢索對象的一種信息檢索技術。
全文檢索的特點[2]
1.全文檢索的研究內容
全文檢索主要指研究對整個文檔信息的表示、存儲、組織和訪問,即根據用戶的查詢要求,從信息資料庫中檢索出相關信息資料。
全文檢索的中心環節是文件內容表達、信息查詢的獲得以及相關信息的匹配。一個好的全文信息檢索系統不僅要求將輸出信息進行相關性排列,還應該能夠根據用戶的意圖、興趣和特點自適應和智能化地調整匹配機制,獲得用戶滿意的檢索輸出。
按檢索對象來區分,全文檢索可分為基於文本和基於Web兩種類型。
全文檢索的關鍵是文檔的索引,即如何將源文檔中所有基本元素的信息以適當的形式記錄到索引庫中。在中文文檔中,基本元素可以是單個漢字,也可以是詞或片語。根據索引庫中索引的元素不同,可以將全文檢索分為基於字表的全文檢索和基於詞表盼全文檢索兩種類型。
2.全文檢索的優勢
與其他的檢索系統相比,全文檢索系統具有以下的優勢:
(1)查全率高於一般的電腦檢索系統
如關鍵字索引檢索系統,它們只對一條信息中具有檢索意義的語詞進行標引,它的標引深度總是有限的,無法滿足人們對信息查全率的高要求;而全文檢索系統可以對文本中的每個字、詞進行標引,其標引的深度達到了極限。
(2)全文檢索系統能實現電腦自動標引
主題詞索引法和關鍵詞索引法是採用人工賦詞標引的方法,這些方法需要標引人員手工對各種信息進行加工處理,給出檢索標識,所以效率低;而且標引質量由於手工的參與,帶有很大的局限性。而全文檢索系統可採用電腦自動抽取文本中的字、詞進行標引,從而大大加快了標引的速度。
(3)檢索界面友好
基於www的全文檢索系統,一方面,通過採用成熟的資料庫技術,提供了靈活的信息處理機制;另一方面,通過使用Web技術,可以向用戶提供美觀、大方、通俗、易用的用戶檢索界面,整個檢索過程對用戶是透明化的,用戶所要關註的是自己所輸入的檢索詞,併在檢索過程中,還能夠給用戶相對應的一系列支持,如相近檢索詞等,使用戶不需要擁有很多檢索的知識,就可以進行信息的檢索。
(4)全文檢索系統提供多種檢索功能
全文檢索系統除提供一般的“AND”、“OR”、“NOT”邏輯檢索功能外,還能具備位置邏輯檢索、字元串檢索、截詞檢索等多種檢索功能。
(5)全文檢索系統更加靈活
全文檢索技術將在原始文獻的標題和正文中的每一個有意義的詞都作為檢索入口,允許對原始文獻中的任何章節、段落、句子、詞或字進行檢索,提供了極高的標引深度。它允許用戶利用自然語言進行檢索,增大了用戶的自由度。
3.全文檢索存在的問題
雖然全文檢索技術在Web搜索引擎中取得了輝煌的成績,但仍存在不足,主要有:
(1)對同一頁面的重覆檢索即同一檢索詞檢索出的多條檢索結果可能是同一個地址。而這種重覆的現象,基本有以下兩種情況:
①標題、頁面內容及URL地址完全相同,這種重覆現象在全文檢索系統發展初期比較突出,但目前已經較少。
②雖然在URL上略有區別,但實際上指向的地址卻是同一站點的同一頁面內容,這種重覆現象在各種搜索引擎中比較常見。如在google搜索引擎中輸入關鍵詞“科研”,就出現以下內容:“中國教育和科研電腦網”2006年3月10日,URL地址為http://www.edu.cn/;“Home Page科研發展”2006年3月10日,URL地址為http://www.edu.cn/index.shtml。兩個URL地址雖然不同,但是指向的卻是同一個站點中的同一個頁面內容。隨著全文檢索技術的發展,各個檢索系統已普遍具有較好的去重功能,但這種重覆的情況仍然存在。
(2)查準率還有待提高
由於全文檢索技術的全詞匹配和語詞本身的特點,會導致查準率不高。例如,某個用戶想檢索我國長江流域的一些資料,如以“長江”作為檢索詞,則“長江日報”或是“長江大學”也會被搜索引擎認為是檢索結果,從而降低了查準率。對於這種現象,需要對搜索引擎構造一個詞典,將可能出現的誤檢詞總結起來作為一個詞典存放,將檢索結果中的詞和詞典中的詞一一對照,將“長江日報”和“長江大學”等誤檢詞帶出的結果自動屏蔽,從而提高檢索的查準率。造成查準率低的另一原因則是由網頁的製作者造成的,由於有的檢索引擎允許web頁面製作者自定義關鍵詞及摘要,這樣就導致關鍵詞和摘要缺乏一定的規範性,從而直接導致查準率不高。另外,由於各搜索引擎的索引工作由程式自動根據web頁面中的關鍵詞的詞頻及關鍵詞的位置等因素確定索引關鍵詞,因此,一些Web頁面製作者為了提高自己的Web頁面的命中率以及和大量熱門關鍵詞的相關度,通過複製網站或網頁的內容並分配以不同功能變數名稱和伺服器,以此欺騙搜索引擎對同一站點或同一頁面進行多次索引,從而進一步導致查準率降低。
(3)數據更新已成為檢索不容忽視的問題
在龐大的Web空問,每天都有大量的網站和網頁的變動,一個好的檢索工具必須能及時對這些網站和網頁的變動進行新陳代謝,剔除過時的網頁和網站,否則就會導致大量的無效地址和錯誤鏈接,直接影響到搜索的結果和質量。對於錯誤的鏈接,一方面要提高資料庫更新速度,另一方面應該由廣大的網路用戶進行測試和信息反饋。事實上,國內大多數Web搜索引擎並沒有一種真正行之有效的檢索用戶反饋機制,由於web資源的更新速度太快,僅僅依靠檢索站點本身的精力和時間根本無法有效地跟上Web的數據更新,所以應該依靠用戶的反饋意見進行有效的“垃圾清掃”,並且給予這些用戶一定的獎勵,這樣使廣大檢索用戶也投身到提高檢索質量的工作中。
(4)檢索結果過多
大部分檢索引擎都在強調將更多的站點呈現給用戶,然而站點質量良莠不齊的現象也會對用戶使用網上信息資源產生潛在影響。隨著web資源的不斷增多,一個檢索詞可以帶出幾百個網站和成千上萬的網頁。而用戶在使用這種全文檢索系統時,通常只會點擊檢索結果中的前面幾頁,而很少註意後面的鏈接,長久下去,就會造成很多排在檢索結果後面的站點或頁面得不到有效的利用。顯然,質量良好的站點應該優先呈現給用戶,這就對檢索結果的排序提出了要求。一方面應該存在一個權威的網站評估機構,對網上的各類站點進行評論和評分,將質量好的站點優先推薦給用戶,網路用戶也可以對各類站點進行投票和評分,分數高的網站將獲得優先顯示的特權。另一方面,建立先進的數學分析模型,除了對網頁的鏈接數進行分析以外,還要判斷這些鏈接的質量,同時分析網站的結構和客戶的點擊行為,以及準確識別大量的針對搜索引擎的“作弊”行為,建立合理的演算法,對這些網站和網頁進行智能化排序。
全文檢索的發展趨勢[2]
從檢索技術本身來看,如何更好地解決語詞的切分問題以及語義理解、句法理解問題,提高全文檢索系統的檢索性能,乃至實現具有學習、分析、理解、推理機制的智能化和基於知識庫推理機制的信息檢索系統,才是未來全文信息檢索系統發展的主要趨勢。
(1)智能檢索
智能檢索能根據用戶提出的任意字、詞,直接對文獻資料的內容進行多角度、多側面的檢索,它的檢索目標是自動根據用戶的提示(如最初的檢索項)而搜索出相關的文檔。“相關”的確定方式有概念關聯和非概念關聯兩種。概念關聯指兩個詞之間在語義上有確定的聯繫,這種聯繫既可以通過同義詞表來實現,也可以通過某種演算法在語料庫中自動抽取;非概念關聯指兩個詞之間的聯繫可能是暫時的,如中國與亞運會在2000~2006年的文獻中是關聯的,而其他時間則不是。智能檢索還可以進一步採用人工智慧技術、自然語言處理技術等,有廣闊的發展空間,它的使用將使全文檢索的查詢效率進一步提高。目前基於文本的關鍵詞智能檢索系統主要是基於智能Agent,它以用戶需求為先導,根據用戶特定的需求以及在一段時間內的偏好為衡量標準來篩選信息,並提供友好的自然語言查詢。當用戶查詢請求不明確時,智能代理Agent會利用知識庫中的推理機制推斷用戶的潛在需求,併進行搜索。
(2)知識檢索
知識檢索能夠在對蘊含在信息中的知識和知識關聯進行分析的基礎上,在知識處理技術和知識組織技術的支持下,實現基於語義理解的智能化查詢。它綜合應用信息科學、人工智慧、認知科學及語言學等多學科的先進理論與技術,基於知識和知識組織,融合知識處理和多媒體信息處理等多種方法與技術,是一種能充分表達和優化用戶需求,高效存取所有媒體類型的知識源(文本、圖像、視頻、聲音等),並能準確精選用戶需要結果的高級信息檢索方法。
(3)基於XML的信息檢索
Web搜索引擎的全文檢索技術發展至今,多是基於詞語匹配層次上,網路信息的檢索效果一直沒有顯著提高,傳統的HTML置標(tag)關註的只是信息在輸出設備上的呈現形式,而對信息內容本身的結構化關註不夠,這直接導致了以搜索引擎為代表的網路信息檢索工具(系統)採用全文檢索技術對網頁中的每一個字或詞建立索引時,難以考慮語詞的上下文關係及其具體含義,增大了在無關信息中查詢到檢索用詞的可能性。因此,要從根本上改善網路信息檢索工具的檢索效果,應該考慮從網頁項目和結構的標準化,以及從索引機制的完善做起。而可擴展標記語言XML在這方面有著獨到的優勢和特點,正逐步成為網路信息發佈的頁面語言。
XML已經作為一種標準在出版和數據交換中得到應用,為更好的信息檢索創造了很好的機會。XML能夠用結構化、機器可讀的格式來顯示數據的語義。一些機構已經開始定義標準模式來獲得許多域的語義,而一些內容提供商開始用XML和標準模式來發佈信息。於是,有關專業人士指出,“XML將引發其對web查詢技術、web資料庫技術及Web數據交換技術的全面革新”。
全文檢索演算法[2]
全文檢索效率、質量的高低與檢索演算法的設計密切相關,科學的演算法設計可以大大提高檢索的速度、查全率和查準率,並且在查全率和查準率之間找到一個很好的平衡點。
簡單匹配全文檢索是開始研究全文檢索的一種嘗試,早期處於試驗階段的單機全文檢索系統基本上都是採用的這種演算法。網路興起以後,Intemet上的許多搜索引擎都是使用簡單匹配全文檢索技術,如新浪、搜狐、163等使用的是百度的搜索引擎。最初該搜索引擎對檢索結果的處理僅僅是簡單匹配,比如輸入“民法”,含有“人民法院”的網頁也被命中,往往是查全率達到了,查準率卻很低,出現大量垃圾信息。隨著全文檢索技術的不斷發展,百度的搜索技術也得到了很大程度的改進,現在的百度支持相關檢索、並行檢索,可以使用邏輯減剔除無關網頁等。比如檢索有關“巴西”的網頁信息,含“古巴西部”字樣的網頁同樣會命中,為了剔除該無關信息,可以構造檢索式:巴西一古巴西部。
1.演算法描述
簡單匹配全文檢索,是檢索詞串與全文直接進行匹配的一種演算法,具體如下:
①檢索詞串S的首字元S[1]與全文庫逐字匹配,匹配成功則記錄檢索詞S[1]在全文中的位置P[j],並轉到②,反之則返回檢索失敗。
②取檢索詞的下一個字元s[i]繼續與全文庫中的位置為P[j]+2的字元匹配,匹配成功則重覆②,直到S遍歷一次,轉到④;反之,轉到③。
③取檢索詞首字元s[1]與全文從位置P[j]+i*2開始匹配,匹配成功則記錄S[1]在全文中的位置P[門並返回②;反之返回檢索失敗。
④遍歷全文一次,當全文中有連續的字串與之匹配,返回檢索成功;否則返回檢索失敗。
⑤編寫檢索結果文檔。
2.簡單匹配全文檢索的優點
①簡單匹配全文檢索演算法描述簡單。由於避開了漢語分詞這一障礙,使演算法描述的複雜度大大下降。
②程式實現容易。使用Delphi、VisualBasic等,藉助三重迴圈就可以實現一個簡單匹配全文檢索系統,可以說正是演算法的簡單才使程式實現變得容易。
③簡化了用戶操作。由於沒有主題詞表,檢索用戶無需花費時間和精力來熟悉並瞭解專門的標引體系和主題詞表,用戶甚至不必學習提問邏輯式的書寫,因為用戶只需要輸入有實際檢索意義的詞,通過與全文的匹配給出檢索結果,從而大大簡化了用戶的操作步驟。
④簡單匹配全文檢索系統便於維護。對檢索系統的維護工作,包括導人新的全文、刪除過時的、廢棄不用的全文等工作,通過導人,將其他格式的全文信息轉換成文本格式進行處理。
3.簡單匹配全文檢索的缺點
①查全率難以控制。由於採用原文匹配,對於同一概念的檢索詞原文可能有不同的表達方式,比如,輸入檢索詞“電腦”,檢索有關電腦的相關文獻,如果原文用的是“電腦”,則該篇文獻即使非常符合檢索要求也不會被命中。
②查準率難以控制。原文直接匹配往往會導致誤組配問題,比如,檢索詞為“巴西”,但可能會出現含有“古巴西北部”的文獻記錄。
③檢索效率低下。由於沒有對原文獻的存儲結構進行優化,每一次檢索都要將原文獻讀入記憶體,檢索詞與原文獻進行匹配,系統的開銷特別巨大。當處理的文獻量激增時,系統的響應時間也慢的讓人無法忍受。
鑒於無標引全文檢索演算法的種種弊端,人們又提出了單漢字索引全文檢索演算法。目前,該演算法在中小型全文檢索系統中得到了很好的實現。通常單漢字與全文庫中的文獻記錄有二維對應關係,如表1所示。
表1 單漢字與全文庫中文獻記錄的對應關係
C1 | C2 | … | Cn | |
#R1 | P11 | P12 | … | P1n |
#R2 | P12 | P22 | … | P2n |
… | … | … | … | … |
#Rm | Pm1 | Pm2 | … | Pmn |
其中,Ci代表字,作為檢索詞的人口;#Ri代表文獻記錄號,用來唯一標識一篇文獻並按一定順序(升序或降序)排列組成;Pij代表地址集合,由於一個字在不同的文獻中有不同的位置,因此地址集合應包括文獻記錄號和Ci在該篇文獻中的起始位置。
全文資料庫的一般結構為:文獻記錄號、作者、題名、刊名、分類號、出版日期、文摘、機構、全文文本。
進行單漢字索引時,在一篇文獻中Ci可能出現在全文文本欄位以外的其他宇段上,比如,刊名、文摘等,因此Pi_i中還應包括欄位代號。
設D是檢索範圍內的所有文章的集合,則全文檢索可以表述為:
給定任何一個含有通配符的字串S為檢索條件,以D中滿足S的文章為輸出結果,若一篇文章中至少有一個與D匹配的字元串,則稱該文章是滿足的。
1.演算法描述
①檢索詞串S的長度為m,取S的首字元S[1]與單字索引庫匹配,匹配成功記錄P1i地址集合D1,轉入步驟②,匹配失敗返回檢索失敗。
②取檢索詞串的下一個字元S[i]繼續與單字索引庫匹配,匹配成功記錄蹦地址集合Di,反之返回檢索失敗。
③重覆步驟②,直到檢索詞串S中的每一個字都遍歷一次。
④對D1到Dm進行集合運算,相同文獻記錄號的歸為一個集合Rk。
⑤對集合Rk進行位置運算,測試檢索字串在同一文獻中的起始位置的連續性,若連續則記錄文獻記錄號,反之,不予記錄。
⑥編寫檢索結果文檔。
2.單漢字索引全文檢索演算法的優點
①單漢字索引全文檢索無需切分詞語,節約了文獻結構優化的時間。漢字是漢語構成的最小單位,具有不可分割性。單漢字索引全文檢索就是利用漢字與漢字之間的這種自然分割,建立單漢字索引庫,避開漢語切詞分詞的障礙,節約了文獻結構優化的時間,大大提高了全文檢索的速度,因此有人將單漢字標引全文檢索又稱做“無標引檢索”。
②電腦自動化處理的程度極高。漢語單字的天然不可分割性決定了單字索引庫的建立可以通過電腦自動處理完成,不需繁雜的人工處理。
③該演算法適用的學科領域比較寬廣。由於不需建立詞典,打破了不同學科領域詞典的分割,用一個單字索引庫即可快速完成全文檢索。
④該演算法處理新詞的能力較強。單字的組配非常靈活,任何新詞都可以通過字的組配獲得,這是一般的詞典法所不及的。
3.單漢字索引全文檢索演算法的缺點
①查準率低。由於沒有專門的詞典保證,存在錯誤匹配現象,故此檢準率得不到保證,目前主要是通過位置檢索來控制。
②查全率難以控制。由於漢語的複雜性,文獻當中會出現許多的同義詞、相關詞,而單漢字索引使用的是單字完全匹配,這就會出現由於檢索詞的表達方式不同導致漏檢。
③難以對檢索結果進行縮檢和擴檢,這是單漢字索引全文檢索演算法的一個瓶頸。
④降低了檢索速度。大部分漢語詞由兩個至三個單漢字組成。每進行一次檢索,除了少數一字詞外,一般都需要對兩個、三個甚至更多個漢字進行交運算,將文獻記錄號相同的歸為一個集合,再將其組合成詞,進行匹配運算。這種處理技術顯然耗時較多,降低了系統的檢索速度。
⑤檢索者智力負擔較重。在單漢字系統中,沒有一個統一的參照標準。用戶無法藉助於主題詞典、檢索詞表等工具來選取檢索詞,構造檢索策略,而只能憑空構想出所需採用的檢索詞。因此,要想比較完整地查找出某一主題文獻,必須構造出能表達該主題概念的所有語詞,這無疑加重了檢索者的智力負擔。
⑥無實際含義的虛字和分辨力極低的漢字占了較多的單字索引庫的空間。這個問題已隨著近些年提出的停用詞表技術的採用而有所改善。
單純的單漢字索引全文檢索,查全率和查準率都低,主要是缺少後控詞表對檢索結果加以控制。後控詞表就是將檢索詞的同義詞和相關詞、上下位詞收集起來編成詞表,用以輔助檢索。用戶只要輸入已知的檢索詞,通過後控詞表可以反映出同義詞、相關詞、上下位詞等,從而可以提高查全率和查準率。
1.單漢字後控詞表全文檢索演算法
①用檢索詞與後控詞表匹配,系統會利用後控詞表自動把同義詞、相關詞、上位詞和下位詞納入檢索式,並用邏輯“或”、“與”彼此連接在一起,進行擴檢和縮檢,從而提高查全率。設經過後控詞表處理後的檢索詞串由n個檢索詞構成。
②設檢索詞串S1的長度為ml,取S1的首字元S1[1]與單字索引庫匹配,匹配成功記錄P1j地址集合D11,轉入③,匹配失敗返回檢索失敗。
③檢索詞串的下一個字元S1[i]繼續與單字索引庫匹配,匹配成功記錄地址集合D1i,反之返回檢索失敗。
④重覆③,直到檢索詞串S1中的每一個字都遍歷一次,轉到⑤。
⑤取檢索詞串S2,長度為m2。重覆步驟②~④,直至遍歷完整個檢索詞串,轉到⑥。
⑥對D11到D1m1,D21到D2m2,……,Dn1到Dnmn分別進行集合運算,同一文獻記錄號的歸為一個集合,分別為R1k,R2k,……,Rnk,轉到⑦。
⑦對集合R1k,R2k…….,Rnk分別進行位置運算,測試檢索字串在同一文獻中的起始位置的連續性,若連續則記錄文獻記錄號,反之,不予記錄,轉到⑧。
⑧對位置運算後的結果進行關係運算,按照檢索式中各檢索詞之間的邏輯關係執行。
⑨寫檢索結果文檔。
2.單漢字後控詞表全文檢索的特性
單漢字後控詞表很好地解決了文獻中的隱含概念難以表達和處理的問題。隱含的概念是指標引文獻中沒有直接出現的,但卻是檢索者常用來檢索的關鍵詞。例如,一篇關於“腳踏車”的文獻在全文中並未出現此詞,如果用該詞檢索,本應能命中文獻,而由於單漢字標引只“忠實”於標引文獻,對隱含主題無能為力,此文獻實際不能被命中。因此,檢索系統的查全率受到影響。單漢字後控詞表具有完善的擴檢和縮檢功能。單漢字檢索系統~般而言僅能通過添加和減少檢索詞的字元個數來實現擴檢和縮檢,這對於一個完善的檢索系統而言是遠遠不夠的,而且有些檢索詞根本不能通過增減字來完成擴縮檢。例如,檢索詞“蘋果電腦”,如從字面上實現擴檢的話,很容易錯誤地得出其上位詞為“蘋果”和“電腦”,而其真正的上位詞應為“蘋果牌電腦”和“電腦”。
當然單漢字後控詞表全文檢索也有其不足之處,問題就在於高效率的後控詞表的建立。如果沒有高質量的後控詞表與單漢字檢索系統相匹配,那麼該種演算法的優勢就得不到體現。