技術概述
目前存在很多基於不同的信息檢索技術發展而來的搜尋引擎系統,對於同一個用戶查詢,這些系統返回的結果往往存在差異,由此產生了比較結果的問題。而基於主觀使用感受的評價既不客觀也不可靠,因此,必須發展出一套客觀的評測體系,這種評測不受個別人主觀感覺的影響,並且所作出的評價在通常情況下都能成立。這是信息檢索評測技術產生的原因,也是其主要發展方向 。
技術簡介
1. 數據預處理
目前檢索系統的主要數據來源是Web,格式包括網頁、WORD 文檔、PDF 文檔等,這些格式的數據除了正文內容之外,還有大量的標記信息,因此從多種格式的數據中提取正文和其他所需的信息就成為數據預處理的主要任務。此外,眾所周知,中文字元存在多種編碼,比如GB2312、BIG5、Unicode(CJK 區),而原始數據集往往包含多種編碼,因此要正確地檢索到結果必須進行統一編碼轉換。研究者們對預處理部分要提取哪些信息並沒有共識,這與後續處理所需的信息密切相關,一般來說,正文、錨文本和連結地址都是要提取出來的。
2. 索引生成
對原始數據建索引是為了快速定位查詢詞所在的位置,為了達到這個目的,索引的結構非常關鍵。目前主流的方法是以詞為單位構造倒排文檔表,其結構大致如圖所示:
每個文檔都由一串詞組成,而用戶輸入的查詢條件通常是若干關鍵字,因此如果預先記錄這些詞出現的位置,那么只要在索引檔案中找到這些詞,也就找到了包含它們的文檔。為了進一步提高查詢的速度,在組織索引時還可以採用一些更複雜的方法,比如B樹、TRIE 樹、哈希表等。這個階段還需要對預處理之後的文檔進行詞法分析,這是因為很多語言的文本都不宜直接把正文中的字元串用於建立索引。例如,中文裡的詞與詞之間不存在分隔設定,因此必須先進行分詞,而英文中的詞存在很多變形,比如“compute”就存在“computes”、“computing”、“computed”等多種變形,應先進行詞根還原。此外,有些詞雖然出現頻率很高,但對於查詢沒有任何幫助,比如“的”、“了”等,就無需放入索引,為此需要預備一個停用詞表(stop word list)對這類詞進行過濾。
3. 查詢處理
用戶輸入的查詢條件可以有多種形式,包括關鍵字、布爾表達式、自然語言形式的描述語句甚至是文本,但如果把這些輸入僅當作關鍵字去檢索,顯然不能準確把握用戶的真實信息需求。很多系統採用查詢擴展來克服這一問題。各種語言中都會存在很多同義詞,比如查“計算機”的時候,包含“電腦”的結果也應一併返回,這種情況通常會採用查詞典的方法解決。但完全基於詞典所能提供的信息有限,而且很多時候並不適宜簡單地以同義詞替換方法進行擴展,因此很多研究者還採用相關反饋、關聯矩陣等方法對查詢條件進行深入挖掘。
4. 檢索
最簡單的檢索系統只需要按照查詢詞之間的邏輯關係返回相應的文檔就可以了,但這種做法顯然不能表達結果與查詢之間的深層關係。為了把最符合用戶需求的結果顯示在前面,還需要利用各種信息對結果進行重排序。目前有兩大主流技術用於分析結果和查詢的相關性:連結分析和基於內容的計算。許多研究者發現,WWW 上超鏈結構是個非常豐富和重要的資源,如果能夠充分利用的話,可以極大地提高檢索結果的質量。基於這種連結分析的思想,Sergey Brin 和Larry Page 在1998 年提出了PageRank 算法,同年J.Kleinberg 提出了HITS 算法,其它一些學者也相繼提出了另外的連結分析算法,如SALSA,PHITS,Bayesian等算法。這些算法有的已經在實際的系統中實現和使用,並且取得了良好的效果。而基於內容的計算則沿用傳統的文本分類方法,多採用向量空間模型、機率模型等方法來逐一計算用戶查詢和結果的相似度(相關性)。兩者各有優缺點,而且恰好互補。連結分析充分利用了Web 上豐富的連結結構信息,但它很少考慮網頁本身的內容,而直觀上看,基於內容的計算則較為深入地揭示了查詢和結果之間的語義關係,但忽略了不同網頁之間的指向關係,因此現在很多系統嘗試把兩者結合起來,以達到更好的性能。
技術的發展
目前存在很多基於不同的信息檢索技術發展而來的搜尋引擎系統,對於同一個用戶查詢,這些系統返回的結果往往存在差異,由此產生了比較結果的問題。而基於主觀使用感受的評價既不客觀也不可靠,因此,必須發展出一套客觀的評測體系,這種評測不受個別人主觀感覺的影響,並且所作出的評價在通常情況下都能成立。在信息檢索領域,檢索系統的評價一直對系統的研究、設計與發展有顯著的影響力。一般來說,這種評測研究的方法具有以下特點:明確的形式化研究任務、公開的訓練與測試數據、公開的評測比較。它使得研究之間的比較更加客觀,從而讓研究者認清各種技術的優劣,起到正確引導研究發展方向的目的。
文本檢索會議TREC
二十世九十年代,基於軍事和反恐情報處理的需要,美國國防部高級研究計畫署(DARPA)提出了TIPSTER 文本處理計畫,文本檢索會議(Text REtrieval Conference,簡稱TREC)就是該計畫的重要組成部分。1992 年,在美國國防部高級研究與開發機構和DARPA 的資助下,NIST 召開了第一屆TREC 會議,以後每年舉辦一次,到2005 年已舉辦了14 屆。TREC的組織者認為,對不同系統的比較,其意義並不在於要證明某個系統優於其他系統,而是要把更多不同的技術放在一起公開討論,這對技術的發展有很大好處。於是,TREC 自開辦之初,就明確提出了四個目標:
1. 以大規模測試集為基礎,推動信息檢索的研究;
2. 通過建立一個開放式的論壇,使與會者交流研究成果與心得,以增進學術界、產業界與政府的交流互通;
3. 通過對真實檢索環境的模擬與重要改進,加速將實驗室研究技術轉化為商業產品;
4. 開發適當且具有實用性的評價技術,供各界遵循採用。
TREC 發展到現在,已經成為備受矚目的標尺性測試,對信息檢索研究領域產生了巨大而深遠的影響。今天,在TREC 評測中名列前茅的算法往往成為大家研究的重點,很多商用搜尋引擎所採用的核心技術就是那些被TREC 證明成功的算法發展而來的。TREC 論壇成為研究人員互相交流學習的重要途徑,很多新的思想和方法正是從這裡碰撞產生。TREC 為新的熱點研究提供了急需的數據和評價體系,促進了這些技術的快速發展。鑒於TREC 的巨大成功,現在的眾多評測,甚至其他研究領域的評測,如跨語言檢索評測會議NTCIR、CLEF,機器翻譯評測TC-STAR 等,都或多或少受到它的影響。
國內相關研究
中文信息處理研究起步較晚,上世紀八十年代,還面臨著漢字編碼、分詞等基本問題尚未解決的局面。九十年代,隨著這些問題取得突破,中文信息處理技術取得了長足進展。此後,隨著中文信息處理數據規模的膨脹以及國內外學術交流的增加,國內研究者逐漸認識到評測對於研究的促進作用。2002 年,黃昌寧教授曾呼籲,“為了推動中文信息處理的發展,讓我們拿起評測這個武器,扎紮實實地研究其適用技術……沒有統一評測的研究成果,終究不是完全可信的。”同一時期,國內的相關研究機構開始嘗試參加TREC 等國際評測,並且相繼取得了不錯的成績。但專門針對中文的測試項目的缺位使中文信息處理技術還不能得到有效檢驗。這種狀況得到了國內的研究機構和科研管理部門的重視。經過大量的準備,國內相繼召開了多個面向中文信息處理技術的評測會議,其中比較有影響的是863 評測、全國搜尋引擎和網上信息挖掘會議(SEWM)等。
研究現狀
評價指標
為便於理解評測結果所代表的意義,我們先來介紹一下評測中常用的指標。評測指標直接關係到參評系統的最終評價,指標不合理會導致對系統的評價也不合理,因此規範化的評測會議對於評價指標的選擇都是很慎重的。
早期常用的評測指標包括準確率(Precision)、召回率(Recall)、F1 值等,其意義如圖:
顯而易見,召回率考察系統找全答案的能力,而準確率考察系統找準答案的能力,兩者相輔相成,從兩個不同側面較為全面地反映了系統性能。F1 值是一個把準確率和召回率結合起來的指標。考慮到某些情況下不同系統的準確率和召回率互有高低,不便於直接比較,而使用F1 值就可以更直觀地對系統性能進行排序。
隨著測試集規模的擴大以及人們對評測結果理解的深入,更準確反映系統性能的新評價指標逐漸出現,包括:
1. 平均準確率(Mean Average Precision, 即MAP):單個主題的MAP 是每篇相關文檔檢索出後的準確率的平均值。主題集合的MAP 是每個主題的MAP 的平均值。MAP 是反映系統在全部相關文檔上性能的單值指標。
2. R-Precision:單個主題的R-Precision 是檢索出R 篇文檔時的準確率。其中R 是測試集中與主題相關的文檔的數目。主題集合的R-Precision 是每個主題的R-Precision 的平均值。
3. P@10:P@10 是系統對於該主題返回的前10個結果的準確率。考慮到用戶在查看搜尋引擎結果時,往往希望在第一個頁面(通常為10 個結果)就找到自己所需的信息,因此設定了這樣一個擬人化的指標,P@10 常常能比較有效地反映系統在真實套用環境下所表現的性能。
國外研究現狀
一提及信息檢索,大家往往馬上會想起Google、yahoo 等搜尋引擎公司。可以說,Web 搜尋引擎與大家的日常生活最為密切,在某種程度上成了信息檢索技術的代稱。但作為實用化的系統,搜尋引擎一般採用比較成熟的技術,並對穩定性、反映速度、界面等工程化問題更為關注。因此,這些系統並不完全代表信息檢索技術的發展水平。但由於人們對於各種粒度的信息獲取的需求不斷增長,國外的學術界和企業界為此投入了相當大的力量進行前瞻性研究,這方面比較有代表性的機構包括麻薩諸塞大學、卡耐基梅隆大學、倫敦城市大學、IBM、微軟研究院、滑鐵盧大學等。
總的來看,早期以Okapi、Smart、查詢擴展、相關反饋為代表的內容分析技術,後來以Pagerank、HITS 為代表的連結分析技術,以及近年來的語言模型,都曾在信息檢索發展過程中掀起研究熱潮,但近年來卻少有激動人心的新技術出現。2005 年,TREC 在其總結報告指出現在“信息檢索性能已進入平台期”。這表明,與用戶無關的傳統信息檢索技術已相對成熟。這些技術已經被商用搜尋引擎廣泛套用,並在一定程度上解決了用戶在粗粒度(文檔級)上的信息獲取需求。
從TREC 來看,現在的任務設定向高精度、細粒度和大規模三個方向傾斜,比較有代表性的有高精度文檔檢索任務(HARD)、新信息檢測任務(Novelty)、問答任務(QA)、TB 級檢索(Terabyte)等。其中前三個任務要求返回的結果不再是簡單的一篇篇文檔,而是信息片斷,而TB 級檢索則是把測試集的規模提高到了TB 級,其他不變。從評測結果來看,這些任務已經取得了很大進展。但相對於目前的技術而言,這些任務還是相當困難的,與實用還有一段距離。
總的來看,國外主流的Web 檢索技術已比較成熟,無論從結果、性能還是穩定性來看,都能提供令人滿意的結果,並且已經在人們的日常信息獲取中發揮作用。更高精度和更細粒度的檢索技術仍處於實驗室階段,但這方面的研究方興未艾。也許在不遠的將來,我們就能看到基於這些新技術的搜尋引擎的出現。
國內研究現狀
作為扶持科技發展的重要措施之一,863 國家高技術研究發展計畫一直對國內的研究有著重要影響。而規範化評測作為檢驗系統性能的可信機制,逐漸成為863 關注的重點之一。2003 年,國家863 計畫軟硬體主題設立了“中文信息處理和智慧型人機接口技術評測”專項課題,對包括機器翻譯、語音識別、信息檢索在內的中文信息處理關鍵技術進行評測。該課題由中國科學院計算技術研究所承辦,從2003 年到2005年連續舉辦三屆,吸引了國內外眾多研究單位參加。信息檢索評測的目的並不僅僅定位為863 課題驗收或資格認證,而是要了解國內在中文信息檢索技術領域的研究現狀,驗證網際網路環境下大規模數據的中文信息檢索技術的系統有效性,推動技術進步和成果的套用和轉化,成為這個領域技術評價和交流的平台。
作為國內有較大影響的評測會議,863 信息檢索評測基本上反映了中文信息檢索技術的發展水平。下面我們通過2005 年度最新評測結果來分析國內的研究現狀。這次評測分為自動和手工構造查詢條件兩組。評測結果如下表所示(由於863 評測結果發布採用匿名方式,因此這裡只給出最終結果而不顯示參賽單位名稱):
從所有參評隊伍的整體檢索效果看,這次評測的結果與以往的評測結果相比,各個指標都有了很大提高。這主要是因為研究者利用了連結分析技術、錨文本等相關評價因素來提高準確率,並針對評測採取有效的技術手段來克服中文檢索中的某些難點,比如命名實體識別等。此外,相關反饋或者重排序技術對於提高檢索效果也有一定的幫助。從檢索模型來說,參評隊伍採用了向量空間模型、機率模型、語言模型等基本模型或者混合模型,同時利用了PageRank、鏈入分析等連結分析或者頁面分析技術來提高檢索效果。中文檢索相對英文等其它語種來說,如何正確分詞對於檢索效果有所影響,尤其是命名實體、縮略語以及新詞等未登錄詞的正確識別對於某些查詢來說影響較大。現在的大部分檢索系統在索引以及查詢分析階段採用了命名體識別,從結果來看,取得了比較好的效果。