資訊索引技術

資訊索引技術

資訊索引技術,也可以稱之為資訊檢索技術,是利用一定的設備和方法,從某種媒體上面的資料中查找所需資訊的一種過程。因為個人資訊需求的不同, 資訊索引的對象可以是圖書、期刊論文、報紙、學位論文、 會議論文、網頁... 等。例如,在搜尋引擎中,就有用到資訊檢索技術。

基本介紹

  • 中文名:資訊索引技術
  • 外文名:Information indexing technology
  • 學科:計算機科學
  • 定義:從資料中查找資訊的過程
  • 領域:搜尋引擎、資料庫套用
  • 方法:倒排索引、布爾邏輯檢索
簡介,影響因素,關鍵字的選擇,檢索能力,方法,布爾邏輯檢索,倒排索引,正排索引,

簡介

資訊是用戶因為及時地獲得它並利用它而能夠在相對短的時間內給自己帶來價值的信息,資訊有時效性和地域性,它必須被消費者利用。並且“提供-使用(閱讀或利用)-反饋”之間能夠形成一個長期穩定的CS鏈,具有這些特點才可以稱之為資訊。 從嚴格的意義上講,新聞是一種資訊。資訊是一種信息,涵蓋的不只是新聞,還可以包括其他媒介。如親臨專家講座等等;新聞的目標客群相對寬泛,沒有嚴格的客群劃分,學語言的人可以去閱讀科技新聞。學技術的也完全可以去閱讀文學新聞,而資訊的客群的目標性相對比較強烈。
在關係資料庫中,索引是一種單獨的、物理的對資料庫表中一列或多列的值進行排序的一種存儲結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單。索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。所謂的資訊索引技術,就是從大量非結構的資料,例如網頁,根據某些關鍵字,找出具有此關鍵字的檔案。

影響因素

關鍵字的選擇

關鍵字(Keyword)是最常用的檢索策略,我們可以利用單字或辭彙找到在特定欄位中出現相同單字或辭彙的資料。當我們做關鍵字檢索時,代表讓資料庫去找全部資料中有出現關鍵字的所有記錄。所以,我們所用的關鍵字就決定了檢索結果的好壞。
用Keyword(關鍵字)檢索要得到滿意的結果,必須注意下面幾個原則:
(1)選用涵蓋主要概念的辭彙
我們選擇的關鍵字要能正確傳達研究主題的中心概念。關鍵字必須能清楚地界定研究主題,儘量選用意義明確的字彙,如冰淇淋,而少用一般的、共通性的字彙,如食品。
(2)選用的片語不宜太長
選用單字或簡短的片語關鍵字在進行檢索時,系統是到資料庫中去比對我們所輸入的辭彙,如果我們輸入的片語或詞組太長,找到完全吻合的機率就較小,因為作者發表文章時並不見得就剛好用我們所輸入的片語或詞組。例如:不要用"引用水中含砷量的處理"當成一個檢索詞,而應該以「飲用水」、「砷」、「處理」來進行檢索。
(3)專門用語與一般用語之使用時機
當我們檢索的是專科資料庫(subject-specific database)時,不能用一般性的單字來作關鍵字,而必須參考資料庫里的專門術語。例如我們用"agriculture"來查農業方面的專門資料庫AGRICOLA,檢索出來的資料筆數必定相當龐大。
(4)利用布爾邏輯運算元

檢索能力

選擇資料庫的能力
選擇檢索系統的能力
使用布林邏輯結合概念的能力
使用辭彙表達概念的能力
了解資料庫結構及資料庫索引法的能力
使用檢索指令的能力
使用檢索技巧改進檢索的能力
一些和檢索有關的個人特質,如彈性、接受新知程度、及突發事件的反應能力等
轉換資訊需求為檢索敘述的能力

方法

布爾邏輯檢索

布爾邏輯檢索也稱作布爾邏輯搜尋,嚴格意義上的布爾檢索法是指利用布爾邏輯運算符連線各個檢索詞,然後由計算機進行相應邏輯運算,以找出所需信息的方法。它使用面最廣、使用頻率最高。布爾邏輯運算符的作用是把檢索詞連線起來,構成一個邏輯檢索式。
舉個例子,假設有三篇文章,內容分別如下:
檔案內容
D1 The way to avoid linearly scanning is to index the documents in advance.
D2 The model views each document as just a set of words.
D3 We will discuss and model these size assumption.
根據這些文字,我們可以建立Term-Document Matrix ,記錄哪個字出現在哪篇文章,如下:
Term
D1
D2
D3
way
1
0
0
avoid
1
0
0
linear
1
0
0
scan
1
0
0
index
1
0
0
document
1
1
0
advance
1
0
0
model
0
1
1
view
0
1
0
set
0
1
0
word
0
1
0
discuss
0
0
1
size
0
0
1
assumption
0
0
1
表格用boolean值來表示某個字出現在哪幾篇文章,例如, way出現在檔案D1 ,而沒出現在D2和D3 ,所以它的值為1 0 0 。
為了避免此表格過大,建立過多無意義的index ,因此運用了以下兩個原則:
1.忽略the , a這些高頻字(這種字稱為stop word )
2.將有形態變化的字轉為原型,例如把views轉為view (此過程稱為stemming )
建立了Term-Document Matrix之後,就可以用關鍵字來查詢
1.查詢way這個字,可得出way的值為:
所以way出現在D1 。
2.查詢沒有way這個字的,可用以下的boolean運算得出結果:
所以沒有way的檔案為D2 、 D3 。
3.查詢包含document和model這兩個字都有檔案:
得出結果為D2 。
4.查詢有avoid或view其中一個字的檔案:
得出結果為D1和D2 。

倒排索引

倒排索引(英語:Inverted index),也常被稱為反向索引、置入檔案或反向檔案,是一種索引方法,被用來存儲在全文搜尋下某個單詞在一個文檔或者一組文檔中的存儲位置的映射。它是文檔檢索系統中最常用的數據結構。
有兩種不同的反向索引形式:
一條記錄的水平反向索引(或者反向檔案索引)包含每個引用單詞的文檔的列表。
一個單詞的水平反向索引(或者完全反向索引)又包含每個單詞在一個文檔中的位置。
後者的形式提供了更多的兼容性(比如短語搜尋),但是需要更多的時間和空間來創建。構建方法主要有一下兩種:
簡單法
索引的構建。相當於從正排表到倒排表的建立過程。當我們分析完網頁時 ,得到的是以網頁為主碼的索引表。當索引建立完成後 ,應得到倒排表。
流程描述如下:
1)將文檔分析稱單詞term標記,
2)使用hash去重單詞term
3)對單詞生成倒排列表
倒排列表就是文檔編號DocID,沒有包含其他的信息(如詞頻,單詞位置等),這就是簡單的索引。
這個簡單索引功能可以用於小數據,例如索引幾千個文檔。然而它有兩點限制:
1)需要有足夠的記憶體來存儲倒排表,對於搜尋引擎來說, 都是G級別數據,特別是當規模不斷擴大時 ,我們根本不可能提供這么多的記憶體。
2)算法是順序執行,不便於並行處理。
合併法
歸併法,即每次將記憶體中數據寫入磁碟時,包括詞典在內的所有中間結果信息都被寫入磁碟,這樣記憶體所有內容都可以被清空,後續建立索引可以使用全部的定額記憶體。
合併流程:
1)頁面分析,生成臨時倒排數據索引A,B,當臨時倒排數據索引A,B占滿記憶體後,將記憶體索引A,B寫入臨時檔案生成臨時倒排檔案,
2) 對生成的多個臨時倒排檔案 ,執行多路歸併 ,輸出得到最終的倒排檔案 ( inverted file)。
索引創建過程中的頁面分析 ,特別是中文分詞為主要時間開銷。算法的第二步相對很快。這樣創建算法的最佳化集中在中文分詞效率上。

正排索引

正排索引(正向索引)是從文檔到關鍵字的映射(已知文檔求關鍵字)。正排表是以文檔的ID為關鍵字,表中記錄文檔中每個字的位置信息,查找時掃描表中每個文檔中字的信息直到找出所有包含查詢關鍵字的文檔。正排表結構如圖1所示,這種組織方法在建立索引的時候結構比較簡單,建立比較方便且易於維護;因為索引是基於文檔建立的,若是有新的文檔加入,直接為該文檔建立一個新的索引塊,掛接在原來索引檔案的後面。若是有文檔刪除,則直接找到該文檔號文檔對應的索引信息,將其直接刪除。但是在查詢的時候需對所有的文檔進行掃描以確保沒有遺漏,這樣就使得檢索時間大大延長,檢索效率低下。儘管正排表的工作原理非常的簡單,但是由於其檢索效率太低,除非在特定情況下,否則實用性價值不大。
資訊索引技術
圖1

相關詞條

熱門詞條

聯絡我們