關於ad hoc、 routing、filtering等術語的解釋

Q: 信息檢索中常提到ad hoc, routing filtering等術語,能否解釋一下它們的含義?

TREC剛開始的時候只有兩個任務,ad hoc和routing。前者類似於圖書館裏的書籍檢索,即書籍庫(數據庫)相對穩定不變,不同用戶的查詢要求是千變萬化的。這種檢索就稱爲ad hoc。基於Web的搜索引擎也屬於這一類。

後者的情況與前者相對,用戶的查詢要求相對穩定。在routing中,查詢常常稱爲profile,也就是通常所說的興趣,用戶的興趣在一段時間內是穩定不變的,但是數據庫(更確切的說,是數據流)是不斷變化的。這種任務很象我們所說的新聞定製什麼的,比如用戶喜歡體育,這個興趣在一段時間內是不變的,而體育新聞在不斷變化。

應該說,ad hoc和routing代表了IR的兩個不同研究方向。前者的主要研究任務包括對大數據庫的索引查詢、查詢的擴展等等;而後者的主要任務不是索引,而是對用戶興趣的建模,即如何對用戶興趣建立合適的數學模型。後者稱爲routing是很有道理的,因爲不斷到來的數據流根據用戶的興趣被分發到不同的用戶中去,類似於網絡中的路由尋徑過程。

隨着TREC的不斷進行,TREC的任務有所變更,總的來說還是上面兩類,不過名稱有所變化,後者不再稱爲routing,而是稱爲filtering,routing本身成爲filtering的一個子任務,filtering還有其它兩個子任務adaptive filtering 和 batch filtering。前者對每個用戶興趣(用topic描述)僅有很少的正例,甚至沒有正例,後者給出的正例很多。adaptive filtering允許對用戶的興趣不斷反饋(adaptive的含義),batch filtering因每次TREC的要求不同,有時可以反饋,有時不允許反饋。在不允許反饋的情況下,batch filtering實際就是個靜態分類的過程。routing和batch filtering基本上一樣,不同的是,routing返回的結果要排序,而batch filtering的結果是個集合,是不需要排序的,因爲有排序,所以兩者的評測方法也不同。batch filtering可以通過recall/precision的方法進行評估,而routing的評測方法與ad hoc任務有些相似,因爲通常的 ad hoc任務的返回結果也是要求排序的。

現在ad hoc retrieval的研究重點是:查詢(query)的擴展(即如何使得query更貼近topic)和匹配(相似度計算)


Q: TREC中的topic是什麼意思?

在TREC中,topic描述的是用戶的需求(information need),通常是給人看的,一般用自然語言描述。比如 想找關於“北京大學”的文章這個用戶需求,用自然語言描述可能是:關於北京大學的方方面面的情況。在TREC中,一般的topic可能描述得更詳細,不僅包括一般描述,而且包括更詳盡的描述,可以作爲最後評估者的判斷依據,比如,上面例子中,在一般描述之後,可以加上,"僅僅提到北大的文章不算數"這樣的字樣。這樣的話,可以把用戶的需求表達得比較清楚。

但是,對於計算機而言,它可能理解不了這麼深,所以有一個從topic到查詢query的轉換(自動轉換常常是從topic中抽取幾個NP phrase,但是人的轉換可能更厲害一些,比如提出複雜的布爾表達式),query是面向計算機的,query可以是關鍵詞、布爾表達式、正例文本等等各種形式的東西,反正它的最終目的就是爲了表達用戶的真正需求,並且讓計算機能夠處理。

另外,query本身有點動態變化的意思,所以ad hoc任務中的查詢叫query,而在filtering中的查詢通常稱爲profile(有點靜態穩定的意思),當然文章中也有稱query的。但是有必要把query和profile分開,至少對理解是有益的。

總結一下:

  • topic=information need, 用自然語言描述,面向人
  • query(ad hoc)和profile(filtering),用計算機能理解的語言描述,面向計算機。
    IR的理想目標就是query=topic! 不多也不少
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章