• 沒有找到結果。

4.2 相關度計算

4.2.1 相關句權重

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

19

4.2.1相關句權重

在本小節中,我們藉由相關句與論述句的比較,記算出五個語文特徵,此五個特 徵所擷取的語文資訊皆為詞彙或字串的表面相似度,也就是說當兩個句子表面相 似度越高時,特徵值則會越高,我們利用這些特徵值計算出相關句的相似度權 重,下面我們將開始介紹本系統所建置的特徵。

1. 詞彙覆蓋率(Word Overlap Ratio)

詞彙覆蓋率即為比對兩字串的相同詞彙,當相同的詞彙越多時也代表兩字串所擁 有的共同語文資訊越多,因此我們計算論述句與其相關句之間的詞彙覆蓋率作為 我們計算相似度的重要特徵,如公式[1]所示,以下論述句與相關句為例,我們 即可得到該句對的詞彙覆蓋率為 0.818。

論述句: South America's Amazon River is the largest river in the world.

相關句: The largest river in Brazil and one of the longest in the world is the Amazon River.

Word Overlap Ratio = Word Overlap Number

Word Number Of Query statement (1)

2. 最長共同字串相似度(Longest Common String Similarity(LCSS))

最長共同字串[12]是在搜尋兩個字串之間相同子字串,生活上有很多問題都跟搜 尋最長共同子字串的問題相類似,舉例來說,像是自然語言處理、語音辨識或是 尋找相似 DNA 等領域,就都可以利用找出最長共同子字串的演算法來協助處理 問題。因此我們也將句對中共同出現的最長字串視為一個重要的語文特徵,特徵

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

20

值計算方式則如下敘述所示,假設句有 8 個詞彙(A B C D E F G H),文本有 11 個詞彙(A B I J D E F K L M N),則兩句子最長的共同字串有 5 個詞彙(ABDEF),

套用公式[2]則會得到 LCSS 值為 0.625。

LCSS = LCS

Length of Query Statement (2)

3. 實體名詞覆蓋(Named Entity Overlap Ratio)

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

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

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

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

Named Entity Overlap Ratio = Named Entity Overlap

Named Entity Number Of Query statement (3)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

21

4. Bilingual Evaluation Understudy(BLEU)

BLEU[2]是用來評估機器翻譯效果的一種演算法,其主要應用,在兩個不同語言 上的翻譯,比對其句對的相似度作為效能評估的依據,而其方法為計算翻譯句對 的連續共同字串(n-gram)數量,所謂的連續共同字串如圖 4.11 所示,我們可以找 出,連續共同字串中為 2 (bigram) 的有兩個分別是「on the」和「the mat」,而連 續共同字串中為 3 (trigram) 的有一個為「on the mat」,因此,我們依據其演算法,

當兩句對得到越多的連續共同字串時,BLEU 的分數也會越高,我們將此方法也 套用在比對相關句與論述句上,也作為相關句與論述句相似度的一項特徵。

圖 4.11 BLEU 句對範例

5. 結構樹相似度(Similarity between Parse Trees)

結構樹亦表示句子的句法結構,如果兩句子的句法結構相當類似,也代表著,它 們有一定的相似程度和相同的語文資訊,我們透過 Stanford Parser 將相關句與論 述句的剖析樹都擷取出來,並透過三個步驟進行剖析樹相似度的計算。

第一個步驟是將 Stanford Parser 計算出來的結構樹,利用變形 Depth-first Search 從樹狀結構轉為字串結構,如圖 4.12 所示,而變形 DFS 其方法定義如同 正常的 DFS 雷同,以先深後廣的方式,從圖形的某一節點開始走訪,被拜訪過 的節點就會被標示已拜訪的記號。接著走訪此一節點的所有相鄰並且未拜訪過的 節點中的任意一個頂點,並標示已拜訪的記號,再以該點為新的起點繼續進行先 Reference 1: The cat is on the mat

Reference 2: There is a cat on the mat

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

22

深後廣的搜尋,但較為不同的是,一般的 DFS 若有一頂點其相鄰的節點皆被拜 訪過時,就退回到最近曾拜訪過之節點,繼續執行深度優先搜尋,而變形的 DFS 則採用當相鄰的節點皆被拜訪過時則退回到最近曾拜訪過且仍有路可走的節點。

採用變形 DFS 的原因是,如果採用正統 DFS 方法,有些回頭路會導致某些 內部節點出現太多次,且相同重要的內部節點也有可能會出現次數不同造成不公 平的情形產生,例如以圖 4.12 為例,b、c 皆為內部節點,深度相同、分支數也 相同,但 b 卻被走了 3 次,而 c 只有 2 次,所以從此例子採用變形的 DFS 能解 決這種問題。

圖 4.12 結構樹範例

第二個步驟我們將相關句與文章句透過變形 DFS 所得到的字串,再比對兩 字串計算出其 LCS,該 LCS 即作為相關句的代表,所謂的代表就是從相關句字 串中,盡可能地提取出與論述句共同的字串結構。

為什麼不將兩 DFS 字串直接進行相似度的比對,是因為相關句出自於維基

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

23

百科的文章,而文章中的句子本來就有長有短;短的句子如果與相關句的結構十 分雷同,那在結構樹上應該會與論述句有很大的相似度,但如果是較長的句子,

即便長句的內部有著跟論述句相同的資訊,但因為句子過長,結構樹肯定會跟論 述句有很大的差別,就因為有了上述的問題,所以在計算剖析樹的相似度時,就 不是單單是論述句與文章句的結構樹互相比較而得到結果,透過這樣的方法,即 便相關句很長,只要裡面有與論述句相關的內文,我們就能利用那些相同之處,

來與論述句的結構樹作相似度的計算。

第三步我們將前一步所得到的 LCS 字串與相關句的 DFS 字串,進行比對,

利用 insert operation 的方法將 LCS 字串中缺少的字元補上,使得該字串與相關句 的 DFS 相同,所謂 insert operation,即為將兩字串作比對,如果出現一字串有,

而另一字串沒有的字元,則將之補入(insert),並將所有補上(insert)的花費代價視 為兩字串的距離,如圖 4.14 所示,換句話說,就是相關句與論述句的相關程度,

最後我們將得到的數值正規化,如下頁公式[4]所示,即完成此特徵的計算流程。

圖 4.13 結構樹比較

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

24

(1)論述句 DFS={a, b, a, g, c, f, c, h}

(2)相關句 DFS={a, b, d, b, e, a, c, g, c, h, c, i}

(3)論述句與相關句 LCS={a, b, a, g, c, h}

(4)Insert Operation={c, f}

圖 4.14 相關度計算範例

Similarity between Parse Trees =10−�|Insert Operation|

10 (4) 而公式[4]中,我們採用 10 扣除 Insert Operation 開根號,再除以十的原因是,如 圖 4.15 所示,開根號的曲線圖中,y 值增加的幅度會隨著 x 值的增加而趨緩,

而在比對相似度中,假設論述句與四個相關句間(A、B、C、D),其 A 和 B 的 Insert Operation差距為 5 和 10,而 C、D 的Insert Operation差距為 75 和 80,則 論相似度我們應該給予,A 和 B 有較大的差距,而 C 和 D 則有較小的差距,因 為 A 和 B 基本上已經與論述句有一定的相似度(Insert Operation 小),因此些微 的 不 同 則 會 產 生 句 上 很 大 的 變 化 , 而 C 和 D 與 論 述 句 的 相 似 度 不 大 (Insert Operation 大),因此即使是些微的不同則不太影響相似度的改變,而分子 以 10 扣除 Insert Operation 開根號的原因是,據統計,目前實驗的所有論述句及 相 關 句 之 間 的Insert Operation 皆 不 大 於 100 , 因 此 可 利 用 此 特 性 , 將 Similarity between Parse Trees 特徵值控制於 0 到 1 之間。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

25

圖 4.15 開根號曲線圖

相關文件