• 沒有找到結果。

4.3 推論驗證系統

4.3.1 語文特徵介紹

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

27

圖 4.16 推論判斷流程

4.3.1語文特徵介紹

為了建構 Linearly Weighted Functions (LWFs) 模組,藉由相關句與論述句的關 係,我們提出了以下六個語文特徵,而此六個語文特徵開始針對文字的語意層 面,透過分析句子的語意層面,希望能更有效的幫助推論。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

28

1. 否定詞、反義詞、否定副詞正反面判斷

兩個句子即使擁有高比例的詞彙覆蓋和實體名稱,但常因為句對間存在了否定 詞,而使句意大為改變;在英文中我們視「no」、「not」為否定詞,利用否定詞 設計一個判斷方法如公式[7],我們先透過 Stanford Parser 將論述句與相關句的詞 彙相依性(typed dependencies)擷取出來,比對其詞彙與標籤,若句對中存在著相 同的詞彙且任一詞彙的標籤標為「neg」,則我們將之視為反向,代表句對的涵義 具有反向的關係給予 Polarity 特徵值-1,反之若找不到相同的詞彙且亦無法找到 任一詞彙標籤標為「neg」,則代表句對的涵義具有正向的關係給予 Polarity 特徵 值 1。

PAD = Polarity * Antonyms (7)

在沒有否定詞的情況下,當論述句和文章句有反義詞的出現時,也會使句義 大相逕庭,因此我們透過 WordNet 擷取句對中每一個詞彙的反義詞與近義詞,

並比對句對間是否有出現與另一句的詞彙相同的反義詞,若存在的話我們給予 Antonyms Detection 特徵值-1,反之我們給予 Antonyms Detection 特徵值 1。

當句子中同時出現否定詞和反義詞時,會有負負得正的效果,例如「not accept」

和「refuse」分別出現在兩句子中時,「not」會被系統判定為否定詞「accept」會 被判定為「refuse」的反義詞,因此如果照特徵 Polarity 和 Antonyms Detection 的 計算方式,則被扣了兩次分數,也就是說此二特徵對於句對的文字蘊含持反對意 見,但殊不知「not accept」和「refuse」在意義上是相同的,因此為了避免此情

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

29

況發生,我們透過詞彙間的相依關係,當我們發現否定詞修飾的對象正好為反義 詞時,系統則將計算出的 Polarity 和 Antonyms 特徵值相乘作為我們的新特徵 PAD,則可部分有效地解決負負得正的情況發生。

而上述所討論到的否定詞與反義詞,透過分析詞彙相依關係,我們可以知道 否定詞修飾的對象為何,因此套用 PAD 公式的前提是,Polarity 修飾的對象必須 是近義詞或反義詞才能進行計算,也就是說,假如句對中有否定詞與反義詞,但 否定詞並非修飾相同的對象則不可納入公式計算。

以圖 4.17 來說,A 句: I do not like it,從詞彙相依的「neg」標籤可以得知,

否定詞"not"是修飾"like" --> neg(like-4, not-3),因此在判斷 A 句: I do not like it 和 B 句 : I like it,我們可以知道 like 這個動詞,一句有否定詞修飾,另一句沒有,

因此可判定為反向關係。

A : I do not like it B : I like it

圖 4.17 否定詞範例

又以圖 4.18 為例,A 句 : I do not like it、B 句 : I hate it,我們透過 WordNet 和分析詞彙相依性發現,A 句有否定詞 not 修飾 like,而 B 句又出現了 A 句中 like 的反義詞 hate,因此透過公式[7],A 句的 PAD =(-1)*1,會與 B 句的 PAD=1*(-1) 相同。

上述例子符合(1)有出現反義詞(hates , likes),沒有否定詞修飾之,所以給予反向 關係。

A: He hates computer science

B : He likes computer science not just because of his girl friend 圖 4.19 反義詞與否定詞範例

因此當句對符合(1)或(2)其中一個步驟時,也代表著,句對中的某個陳述互為 反向關係,所以即便其他處(非修飾該處的地方)有正反向的詞彙存在,也不能改 變該反向關係的事實。

而否定副詞(negative adverb)就如一般的副詞相同,主要是用來修飾動詞、 形 容詞、作為強調、比較程度、反向等作用,而以反向作用來說,當加了否定副詞 時,句意會因而產生很大的改變,所以否定副詞對於正反向的判斷是一項相當重 要的語文資訊,以圖 4.20 為參照,(1): I seldom fly to USA. 和 (2): I can barely

walk.,因為句對中出現了否定副詞表中的否定副詞 seldom 和 rarely 的修飾,導 致句意從正向轉為反向;我們考量了前面所述的反義詞與否定詞的公式,並結合

Time : never, seldom, rarely, unusually, infrequently, uncommonly, irregularly, sporadically

Space : sparsely, nowhere, narrowly, diffusely, skimpily

Degree : barely, sparely, hardly, insufficiently, inadequately, almost, scarcely, marginally, insignificantly, merely, meagerly, negligibly, scantily, slightly, weakly, minimally

圖 4.20 Lucene 否定副詞表

I seldom fly to USA.

nsubj(fly-3, I-1)

advmod(fly-3, seldom-2) root(ROOT-0, fly-3) prep(fly-3, to-4) pobj(to-4, USA-5)

圖 4.21 詞彙相依標記範例一

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

32

又透過否定副詞表,我們可以知道否定副詞 seldom 修飾動詞 fly,因此 NegAdverb 會給予反向的關係-1。而 I can barely walk 亦可透過 Stanford parser 剖析並蒐集到 圖 4.22 的詞彙相依關係。

I can barely walk.

nsubj(walk-4, I-1) aux(walk-4, can-2) advmod(walk-4, barely-3) root(ROOT-0, walk-4)

圖 4.22 詞彙相依標記範例二

透過否定副詞表,我們可以知道否定副詞 barely 修飾動詞 walk,因此 NegAdverb 會給予反向的關係-1。最後我們判斷正反向關係的方法就公式[8]所示。

𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 & 𝑁𝑃𝑁𝑁𝑃𝑃𝑃𝑃 𝑅𝑃𝑅𝑃𝑁𝑅𝑃𝑃𝑃𝑃𝑅 = Polarity ∗ Antonyms ∗ NegAdverb (8)

2. 主詞與受詞覆蓋率(Subject and Object Match Rate)

要推論兩個句子的關聯性,當句對有相同的主詞和直接受詞,代表兩句子有很大 的部分傳遞相同的資訊,因此我們將相關句與論述句是否共同出現相同的主詞和 直接受詞視為一個語文特徵,我們透過 StanfordCoreNLP 先標記論述句與相關句 的主詞和直接受詞,然後相互比對,若兩句子出現相同的主詞或直接受詞時則將 它們記錄下來,如果論述句的主詞和直接受詞都出現在相關句,則給予此特徵值 1,否則給予依據覆蓋的比率給予其特徵值。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

33

主詞與受詞覆蓋率= 相符的主受詞數量

論述句中的主受詞數量

3. 主動與被動判斷(Passive Recognition)

在判別句子的主詞和受詞,會因為句子論述是主動或是被動的關係而受影響所以 判斷句子是主動句或是被動句就顯得十分重要,特別在英文語料使用被動句的情 況也不在少數,因此英文語料對於主被動的判別是需要去做處理的,目前打算處 理主被動的方法是先剖析出句子中詞彙間的相依關係,以圖 4.23 為例,我們可 以看到 S1 和 S2 的主詞與動詞的關係性,一個是主動 nsubj(gave-2, John-1)(S1) 一個是被動 nsubjpass(given-3, Mary-1)(S2)的關係,因此在一句是主動,另一句被 動句的情況下,我們只要讓程式去判斷兩句對的主詞與受詞相同,且順序顛倒即 可確認兩句子為主被動的關係。但一個句子可能會有不只一個主詞或受詞,因此 也可以藉由詞彙相依關係去判別哪個主詞及受詞為一個組合,而不會導致主詞於 不相干的受詞扯上關聯而導致分數計算的錯誤。

S1: John gave the apple to Mary.

可以得到:nsubj(gave-2, John-1) dobj(gave-2, apple-4) pobj(to-5, Mary-6)

S2: Mary was given the apple from John.

可以得到:nsubjpass(given-3, Mary-1) dobj(given-3, apple-5) pobj(from-6, John-7) 圖 4.23 主動與被動句對比較

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

34

4. 實體名詞覆蓋率(NER Match Rate)

實體名詞標記是自然語言處理中的一項任務,也跟資訊檢索中的資訊擷取議題有 關。在文件中,常有人名、地名、機構名等詞彙出現,以及關於時間、金錢等不 同格式數據的表達,這些詞彙經常不會出現在既有的詞庫中,因此需要特別的標 記,以便擷取及應用。

我們利用 Stanford NER[19] 標記論述句和相關句的實體名詞,Stanford NER 採用的是 "english.all.3class.distsim.crf.ser.gz" 來進行分類,可將句子中的人名、

組織名、地名(PERSON, ORGANIZATION, LOCATION)標記出來,我們透過公式 [9]來進行實體名詞覆蓋的計算。

而文章句與論述句相同的實體名詞數量並不重複計算,亦就是當文章句出現 兩個實體名詞與論述句某個實體名詞相同時只會計算一次,因此該實體名詞覆蓋 率最高為 1。

Named Entity Overlap Ratio = Named Entity Overlap

Named Entity Number Of Query statement (9)

5. 數字覆蓋率(Number Match Rate)

數字交集的擷取,在以往的方式中,普遍的方法是比對兩句子中的數字是否有相 符,並計算其數量作為一特徵值,但如下句對所示:

1. There are 8 cats and 9 dogs in Katy's garden.

2. Katy owns 8 dogs and 9 cats.

從上述的句對來看數字的交集數量是 2,理應會給予一個正向的推論分數但如果

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

35

仔細看句對的內容會發現,兩句對數字所修飾的對象不同,以數字 8 的修飾對象 為例,第一句的是修飾 cats 而第二句則是修飾 dogs,而在數字 9 中,第一句的 是修飾 dogs 而第二句則是修飾 cats,因此句意變的大為不同,不應再給予正向 的推論分數,因此除了用單純的比對數字外,我們利用 Stanford Parser 的詞彙相 依關係可以找出兩個關係「number」、「num」,如下圖 4.24 及圖 4.25 所示。因 此在下實例中,論述句就可因為尋找到相關句,其數字的修飾對象相同,但數字 本身不同,而使得最終使答案判斷為 Contradiction。

論述句:Awards ceremony is now seen live in more than 150 countries and it started in 1943.

相關句:As one of the most prominent award ceremonies in the world the Academy Awards ceremony is televised live in more than 100 countries annually

number: element of compound number

"I have four thousand sheep" => number(thousand, four)

"I lost $ 3.2 billion" => number(billion, 3.2)

圖 4.24 數字標記範例一

num: numeric modier

"Sam ate 3 sheep" => num(sheep, 3)

"Sam spent forty dollars" => num(dollars, 40)

"Sam spent $ 40" => num($, 40)

圖 4.25 數字標記範例二

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

36

因此數字有了修飾的對象,擷取該特徵也比較有語文意義。我們將此特徵的擷取 方法設計如公式[10]所示。

Number Match Rate = 論述句與相關句的相同數字總數

論述句數字總數 (10)

6. 詞彙相依相似度(Typed Dependencies Similarity)

我 們 利 用 Stanford Parser 產 生 詞 彙 之 間 相 依 的 關 係 (Stanford Typed Dependencies)[21],將相依關係中的詞彙做為節點,並視句子中的詞彙關係為一 個有向圖(Directed Graph),轉成矩陣形式。如表 4.1 所示,我們發現在此矩陣內 可以顯示的資訊並不充沛,因為矩陣裡面,所顯示的關係皆為詞彙間的直接關 係,並無法顯示出詞彙間的間接關係,因此在如此稀疏的矩陣中,我們難以找到 相關句與論述句間包含相同關係的詞彙組合,因此我們以相鄰矩陣(Adjacency Matrix)的概念做進一步的運算;例如一個矩陣 M,可以經由矩陣相乘獲得節點 到節點之間移動所需要的步數,因此計算 M2 便能瞭解任一個節點經過二步移動 後的位置。我們將這樣的移動視為依賴關係的延伸,便能找出更多間接的詞彙依 賴關係,並且將不同移動步數的矩陣結果取聯集,獲得更豐富的依賴關係。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

37

表 4.1 詞彙相依關係有向圖 M1

My dog also like eating sausage ROOT

My 0 0 0 0 0 0 0

dog 1 0 0 0 0 0 0

also 0 0 0 0 0 0 0

like 0 1 1 0 1 0 0

eating 0 0 0 0 0 1 0

sausage 0 0 0 0 0 0 0

ROOT 0 0 0 1 0 0 0

表 4.2 詞彙相依關係有向圖 M2

My dog also like eating sausage ROOT

My 0 0 0 0 0 0 0

dog 0 0 0 0 0 0 0

also 0 0 0 0 0 0 0

like 0 0 0 0 0 1 0

eating 0 0 0 0 0 0 0

sausage 0 0 0 0 0 0 0

ROOT 0 1 1 0 0 1 0

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

38

表 4.3 詞彙相依關係有向圖 M1∪M2

My dog also like eating sausage ROOT

My 0 0 0 0 0 0 0

dog 1 0 0 0 0 0 0

also 0 0 0 0 0 0 0

like 0 1 1 0 1 1 0

eating 0 0 0 0 0 1 0

sausage 0 0 0 0 0 0 0

ROOT 0 1 1 1 0 1 0

表 4.4 詞彙相依關係有向圖 M1∪M2 與橋梁詞彙

My dog also like eating sausage ROOT

My 0 0 0 0 0 0 0

dog 1 0 0 0 0 0 0

also 0 0 0 0 0 0 0

like 0 1 1 0 1 1(eating,1) 0

eating 0 0 0 0 0 1 0

eating 0 0 0 0 0 1 0

相關文件