• 沒有找到結果。

第三章 跨語言資訊檢索系統之設計

第三節 解析翻譯歧義性

本節介紹本論文最主要處理的問題,解析翻譯歧義性。3.3.1 介紹知識本 體;3.3.2 介紹本論文的知識本體建構流程;3.3.3 說明本論文提出的知識本體鏈 方法解析翻譯歧義性。

3.3.1 知識本體(Ontology)簡介

知識本體,亦稱本體論、知識分類等,定義為概念化的明確規範說明 (specification of a conceptualization) [Gruber93]。可視為一種分類法,是一個正式 的(Formal)且明確的(Explicit)規格,旨在說明可以共享的概念(Shared

Conceptualisation);知識本體是「特定領域」中的概念描述,包含此特定領域的 重要基本概念與彼此間的關係。在此定義中,特別強調特定領域,意謂著知識本 體所要處理的資訊並不是涵蓋所有領域知識,而是集中在某一個特定的知識領域 上來做分析。不僅定義出此特定領域中的重要概念,亦可呈現出概念間的關係,

包括垂直的階層關係、水平的對等關係及群組的相依關係。藉由知識本體的建 立,領域知識(Domain Knowledge)中可能的重要觀念和概念間的關係得以被清楚

知識本體在資訊檢索系統中也有許多應用,資訊檢索系統常使用語意網路 (Semantic Network) 來表示概念之間的關係。一個文件包含了許多概念,而這些 概念之間又有關係。例如一篇提到「漁工」的文件可能包含了「漁船」、「漁夫」

等等不同的概念。而「漁工」、「漁船」、「漁夫」這些概念都有關聯,所以可以建 構類似WordNet的關係,「漁工」的廣義(General)概念是「漁業」,而「漁業」的 狹義(Specific)概念是「漁工」、「漁船」、「漁夫」等等。因此可以定義廣義和狹 義兩種關係。當檢索系統找到「漁工」相關文件時,可以透過廣義關係來找出「漁 船」、「漁夫」是相關的概念。

16就是一個知識本體的例子。

產業類

農業 漁業

Fish workers Fisherman Fish market

Farm Vehicles Farmers

y packing y salting y barrels y workers y Farmer

y plough y spade

y Yawl y iodine y gather y fish

y fins y box y Pitchfork

y load y turnip

圖 16: 知識本體的例子

3.3.2 知識本體的建構

ImageCLEF2004[ImageCLEF04]的資料集如圖 17,每個文件都會屬於一個 以上的分類。總共可以整理出 946 個分類,而且每個類別之間都有關係,例如 漁工(Fish Worker)和漁業有關連,漁夫(Fisherman)和漁業也有關連。當使用者 檢索漁工的文件,使用者可能對漁業相關的文件有興趣,所以可以透過知識本

體的搜尋來檢索出漁夫相關文件。而這些分類可以被整理成有關係的階層結 構,也就是知識本體。如圖 18 所示,將有關係的分類結合,由下而上(Bottom-Up) 建立知識本體。

Documents Categories

圖 17: ImageCLEF2004 資料集的結構 [ImageCLEF 04]

知識本體的樹葉節點(Leaf Node)是 CLEF2004 資料集給定的文件分類,而 內部節點(Internal Node)則為專家建立的知識本體。每個樹葉節點可以用統計的 方式粹取出最重要的關鍵詞。農夫(Farmers)和農用車(Farm Vehicles)可以形成農 業的類別,而魚市場(Fish Market)、漁工 (Fish Workers)以及漁人(Fishermen)可 以形成漁業的類別,而農業和漁業又可以形成產業的類別。農夫類別下面最重 要的關鍵字是農夫和耕種(Plough),漁工類別最重要的關鍵字是包裝(Packing),

醃(Salting)等等。

Documents Ontology

圖 18: 本論文的知識本體結構

每個類別的關鍵字可以用統計的方法(公式 11)自動粹取出來。先定義關鍵

字對類別的權重Wij為詞鍵頻率(Term Frequency)和逆向分類頻率(Inverse Category Frequency)的乘積。

i rm contain te that

concepts of

Number

j concept in

Number

= 可以粹取出關鍵字大學(Universities)、成績(Scores) 、劍橋大學(Cambridge)、

牛津大學(Oxford)等等關鍵字,對於大學圖書館(University Libraries)可以粹取 出圖書館(Libraries)等字。

Ontology Node Keyword Relevance universities 83.03

scores 48.41 cambridge 46.88 oxford 26.83 libraries 15.76 fergusson 8.42

arts 8.12

comfortable 7.26 reading 6.67

sofas 6.59

galleries 5.80 Universities 文提出了知識本體鏈(

Ontological Chain

)的方法來找出最適當的語意。由於每

個分類之間會有關聯性,只用單純的文件分類方式將檢索問句分類到知識本體節 點下,相關的資訊可能會流失。本論文使用知識本體鏈來表示知識本體節點之間 的關係,找出檢索問句中最主要的概念,以及解析翻譯歧義性。建立知識本體鏈 主要有幾個步驟:

1. 找出和檢索問句最相關的 12 個知識本體節點。

2. 利用兩個節點在知識本體的距離算出 12 節點中兩兩之間的關聯性。可 以獲得一個語意網路。

3. 從語意網路中找出所有連通成份(Connected Component),取出權重總 合最大的一個連通成份作為知識本體鏈。

4. 對於知識本體鏈的節點,擴展他的兄弟節點(Sibling Node)。

5. 從知識本體鏈的節點中計算英文查詢詞的交互資訊,交互資訊大於某 個門檻值則取作為翻譯。

以下詳述這五個步驟:

1.首先要找出和檢索問句最相關的 12 個知識本體節點,本論文提出了一個 相似度公式,如公式 12,對於檢索問句 Q 和一個知識本體樹葉節點 Li相關程 度可以定義為

N t Q

L Sim

N

j ij

i

=

= 1

2

) , (

公式 12: 檢索問句和知識本體節點的相似度定義

其中tij為中文查詢詞的英文翻譯出現次數,N 為不同的中文查詢詞個數。檢索 問句Q 對於知識本體的所有樹葉節點皆計算相似度,取出前 12 個最相關的節 點。

2. 建立語意網路

任意兩個知識本體節點的相關程度可以用兩個點在知識本體內的距離來決 定。兩個知識節點在語意空間的距離定義為K/D,其中 K 是常數,D 是兩個點 在知識本體中的距離。如圖 19,「herring」和「fish processing」在知識本體內 的路徑長度為3,所以在語意空間的距離為 K/3。 上個步驟產生的 12 個知識本

South Africa all views

camping

語意網路的結構是個圖(Graph),可以從中找出連通成分(Connected Component)作為檢索問句的最主要概念。利用 Union-Find [Trajan75]演算法如 表 8,先將圖中的每個頂點(Vertex)都視為一個集合,一個一個邊加入,對於每 個邊,取出兩端頂點所在的兩個集合,兩個頂點有邊相連代表兩個頂點有關聯,

所以將兩個集合取聯集變成新的集合,舊的兩個集合被刪除。

for (each vertex v in V)

Makeset(v): put v in its own set for (each edge (u,v) in E)

if (find(u) != find(v)) union(u,v)

表 8: 找出連通成分的演算法

舉個例子來說,如圖 21,總共有五個頂點A、B、C、D、E,四個邊(A,C) 、 (A,D)、(C,D) 、(B,E)。表 9是詳細的過程,首先A、B、C、D、E是五個獨立 的集合,加入(A,C)之後,A、C所在的集合作聯集,也就是剩下:{A,C}、{B}、 {D}、{E}。加入(A,D)以後A、D所在的集合作聯集,剩下{A,C,D}、{B}、{E}。 接著加入{B,E},B、E所在的集合作聯集,得到結果{A,C,D}、{B,E}。所以上 圖得到了兩個連通成分,其中{A,C,D}的權重總合為15.0,{B,E}的總合為2.5, 所以取{A,C,D}作為知識本體鏈。

Fish Processing

Fish

Workers Fishwives

Children at Work

Shot Putting 5.0

5.0

2.5 5.0

Connected Component with Maximum Weight

A B

C D

E 圖 21: 求語意網路中連通成分的例子

Make-set {A}, {B}, {C}, {D}, {E}

Edge(A,C) find(A)={A}, find(C)={C}

union({A},{C}) Result {A,C},{B},{D},{E}

Edge(A,D) find(A)={A,C}, find(D)={D}

union({A,C},{D}) Result {A,C,D},{B},{E}

Edge(B,E) find(B)={B}, find(E)={E}

union({B},{E}) Result {A,C,D}, {B,E}

表 9: 求連通成分的過程

6. 對於知識本體鏈的節點,擴展他的兄弟節點(Sibling Node)。也就是對 於知識本體鏈中的每個節點,尋找他在知識本體中的兄弟節點,然後 加入原本的知識本體鏈。

7. 從知識本體鏈的節點中計算英文查詢詞的交互資訊。交互資訊大於某 個門檻值則取作為翻譯。