第三章 語篇辨識及標記
3.2 辨識及標記執行步驟
3.2.3 輔助特徵及特殊單一線索詞比對
此階段我們總共設定了四種輔助特徵及兩種特殊線索詞比對,共分 為 4 個步驟:
步驟 1:進行連續 Nd 及 Neu 詞彙之比對及合併
根據我們的觀察,當文本中有某些具有特定詞性的詞彙,連續 出現於語篇片段中,則通常這些語篇之間都具有特定的結構關係,
因此,我們設定了兩種詞性進行比對。第一種是承接關係的時間連 續性,我們利用詞性標記裡的時間詞來輔助我們辨識並標記此種關
係;第二種是並列關係的數詞標示慣例,其演算法如下:
圖 3-5 連續特定詞性詞彙之比對及合併演算法 輸入:第二階段之結果陣列 MergerResultArr3[n]
由待處理文本所形成之長度為 的陣列n InputContextArr[n] 輸出:第三階段之結果陣列 MergerResultArr4[n]
1. 若比對連續時間詞,則KeyWorÅ"Nd"
2. 若比對連續數詞定詞,則KeyWordÅ"Neu"
3. FOR i=1 TO n
4. 若 MergerResultArr3[i]尚未合併為語篇段落,則 5. 若 i >1 則
6. 從InputContextArr[i]及 InputContextArr[i-1]取出候選詞性進行比對 7. 若出現連續連續的KeyWord,則
8. StartPointÅi
9. MergerStrÅ進行語篇合併 10. 否則
11. 從 InputContextArr[i]及 InputContextArr[i+1]取出候選詞性進行比對 12. 若出現連續連續的 KeyWord,則
18. 若MergerResultArr3[i]中的語篇段落包含 InputContextArr[StartPoint],則 19. MergerResultArr4[i]Å(MergerStr 與 MergerResultArr3[i]進行合併) 20.若已合併完成,則
21. 輸出結果陣列MergerResultArr4[n]
22.否則
23. 繼續步驟 2
步驟 2:進行解證關係標點符號之比對及合併
某些標點符號也具有輔助語篇標記的功能,因此我們以引號(:) 作為輔助解證關係的辨識及標記工作,其演算法請參閱步驟 4。
步驟 3:進行相似句之比對及合併
我們採用鄭守益與梁婷[‘05]的中文句子相似度計算模組,此模 組以聚合規則相似度和組合規則相似度來計算中文句子的相似程 度。使用兩個句子中所含的詞彙之同義或近義詞,並以改良式編輯 距離計算的方法,設計新的權重配置比例、候選句篩選原則,來計 算聚合語義的相似度。同時,也使用全域匹配(Global Alignment)及 局部匹配(Local Alignment)的策略,求取兩句在詞性序列性質上的結 構相似度。我們從實驗語料庫中抽出 3000 對分句進行測試,其結 果如下:
表 3-4 中文相似句實驗範例
編號 前分句 後分句 Sim
1 刀魚說生命的顏色是白色的 蚯蚓說生命的顏色是紅色的 1.00
2 久之則漸似矣 久之則愈似矣 1.00
3 法名傳綮 字雪個 1.00
4 能捉的都被捉了 該殺的都被殺了 1.00
5 自一以分萬 自萬以治一 1.00
6 錯開順序 顛倒方向 1.00
7 有一點不凡 有一點叛逆 1.00
8 第一是人文之美 第二是人格之美 1.00
9 先是綠色的葉片 後是白色的花朵 0.84
10 從以前的希特勒、史達林 到近代的馬可仕、哈珊 0.77
由上表觀察,編號 1~8 為並列例句,9~10 為承接例句。我們在 實驗中亦發現,相似度大的句子幾乎都為並列結構,只有極少數例 句為承接。因此,本系統將相似度高的分句優先判定為並列,本步 驟不適用於比對句間關係。
另外,由下圖之結果我們將相似值(Sim)的門檻值訂為 0.48,這 個數值可以達到資料涵蓋率 80.45%,正確率 83.88%。
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Sim值變化
百分比
涵蓋資料比例 累計正確率
圖 3-6 中文相似句測試圖
本步驟之演算法如下所示:
輸入:上一步驟之結果陣列 MergerResultArr4[n]
由待處理文本所形成之長度為 的陣列n InputContextArr[n] 輸出:本步驟結果陣列 MergerResultArr5[n]
相似度比對門檻值 SimÅ0.48
1.FOR i=1 TO n
2. 若 MergerResultArr3[i]尚未合併為語篇段落,則 3. 若 i >1 則
4. 從InputContextArr[i]及 InputContextArr[i-1]取出候選詞性進行比對 5. 若出現連續連續的KeyWord,則
6. StartPointÅi
7. MergerStrÅ進行語篇合併 8. 否則
9. 從InputContextArr[i]及 InputContextArr[i+1]取出候選詞性進行比對 10. 若出現連續連續的 KeyWord,則
16. 若MergerResultArr4[i]中的語篇段落包含 InputContextArr[StartPoint],則 17. MergerResultArr5[i]Å(MergerStr 與 MergerResultArr4[i]進行合併) 18.若已合併完成,則
19. 輸出結果陣列MergerResultArr5[n]
20.否則
大 3 個語篇分段或段落。
第一種為列舉線索詞,此種線索詞的連結方向往前,所連結之 語篇連貫關係為並列,屬性值為:(-1,1,0),僅適用於句內關係的比 對,共收錄 5 筆資料。如例句 10 中的「等等」,即可將(C)、(D)、
(E)三個語篇片段合併為並列關係。
例句
10
:環保局秘密提前啟用本垃圾場(A)
,將垃圾灰燼進場掩 埋(B)
,原承諾之八十三年元月十五日啟用前對南港 居民做簡報(C)
,提出污染防治保證書(D)
,及有效管 理辦法及罰則等等(E)
,均未兌現(F)
。第二種為動詞線索詞,此種線索詞的連結方向往後,所連結之 語篇連貫關係為解證,屬性值為:(1,1,1),共收錄 57 筆資料。如例 句 11 中的「宣示」,即可將(B) 與(C)、(D)、(E)、(F) 五個語篇片 段合併為解證關係。
例句
11
:西方人士說(A)
,這份文件宣示(B)
,一個歐洲關係新 時代已開始(C)
,各國將不再相互仇恨(D)
,轉而建立 夥伴關係(E)
,並伸出友誼之手(F)
。本步驟演算法如下:
圖 3-8 特殊線索詞比對及合併演算法 輸入:上一步驟之結果陣列 MergerResultArr5[n]
由待處理文本所形成之長度為 的陣列 InputContextArr[n n] 輸出:本步驟結果陣列 MergerResultArr6[n]
&&Process_Step1
1. KeyWordArr[]Å關連詞屬性值為(-1,1,0)之單一線索詞集合 2.FOR i=1 TO n
3. 從 InputContextArr[i]取出語篇片段與 KeyWordArr[]進行比對 4. 若比對成功,則
5. FOR j=i+1 TO Min(n,i+d)
6. 若MergerResultArr5[j]尚未合併成段落,則
7. MergerStrÅ將 MergerResultArr5[j]與 MergerStr 合併為[其他關係]
MergerResultArr6[i]Å MergerStr與MergerResultArr5[i]合併為並列關係
&&Process_Step2
8. KeyWordArr[]Å關連詞屬性值為(1,1,1)之單一線索詞集合 9.FOR i=1 TO n
10. 從InputContextArr[i]取出語篇片段與 KeyWordArr[]進行比對 11. 若比對成功,則
12. FOR j=i+1 TO Min(n,i+d)
13. 若 MergerResultArr5[j]尚未合併成段落,則
14. MergerStrÅ將 MergerResultArr5[j]與 MergerStr 合併為[其他關係]
&&搜尋解證句群第一分句應合併的位置 15. FOR k= i TO 1 STEP -1
16. 若 MergerResultArr5[k]中的語篇段落包含 InputContextArr[i],則 17. MergerResultArr6[k]Å(MergerStr 與 MergerResultArr5[k]合併為解
證關係)
18.輸出結果陣列MergerResultArr6[n]