第三章 研究方法
第五節 後置處理程序
後置處理程序包含指代消解、確認指示動詞、擷取意見持有者、短語擴展四 個部分。分析意見持有者辨識測試資料輸出模型的結果,若意見持有者表示為人 稱代名詞的情形,則解決指代的問題,找出真正代表意見句的持有者,確認指示
動詞則是希望能從意見句中,得到最具表示意見的動詞,並用更完善的方法擷取 缺失的意見持有者,最後進行短語擴展得到完整的意見持有者代表詞。
(一) 指代消解(Coreference Resolution)
由於意見持有者某些情況下是以人稱代名詞的形式表現,如果直接把這些代 名詞做為意見持有者提供給使用者,顯然是沒有任何意義的。因此,為了修復分 類器測試後的辨識結果,首先要進行人稱代名詞的指代消解。初步使用Stanford Coreference Resolution System [19]解決指代問題,對於錯誤的結果,希望透過 Hobbs 演算法完善地解決,其優點為對於第三人稱代名詞能夠簡單地基於語法的 方式推得,與其他指代消解方法相比,它的計算成本是低於任何解決代詞的方法,
並且Hobbs 得到 88% ~ 92%的正確率。
1997 年 J. Hobbs 提出了指代消解的兩種演算法:一種方法是完全基於句法 知識的,也稱Hobbs’s Naїve Algorithm, 簡稱 Hobbs Algorithm;第二種方法是既 考慮句法知識也考慮語義知識。本研究使用的是第一種演算法,如下主要介紹 Hobbs 演算法執行的步驟,其中 NP 表示名詞短語,S 表示句子。
1. 在關於 S 的剖析樹中,從表示為代詞的 NP 節點開始。
2. 沿著樹枝向上,直至遇到一個 NP 節點或 S 節點,稱該節點為 X,稱該段路 徑為 p。
3. 依照從左至右廣度優先搜尋的方式,遍歷(traverse)X 節點下面且在路徑 p 左 部的所有分支,如果有 NP 節點設為 Y,而且在該節點與 X 節點之間也有 NP 和 S 節點,則 Y 做為先行語(Antecedent),否則,進入步驟 4。
4. 如果節點 X 不是句子的最高層 S 節點,繼續步驟 5;否則,依次從右向左遍 歷前面句子的句法分析樹,直至找到一個可接受的先行語。在遍歷每棵樹時,
同樣採取從左到右,廣度優先的方式,如果找到相應的 NP 節點 Y,就做為先 行語,如果 X 不是句子中最高的 S 節點,繼續步驟 5。
5. 從節點 X 處,向上找到第一個 NP 節點或 S 節點,稱之為新的 X。並稱到達 該節點的路徑為 p。
6. 如果 X 是 NP 節點,並且如果到達 p 的路徑沒有通過由 X 直接支配的 N 節
點(記為 N) ,將 X 做為先行語。
7. 遍歷 X 節點下面且在路徑 p 左部的所有分支,但不再在任何 NP 或 S 節點以 下繼續遍歷,將 NP/ S 節點做為先行語。
8. 如果 X 是 S 節點,按從左到右廣度優先順序遍歷路經 p 右部的 X 的所有分 支,但不繼續在任何 NP 或 S 節點以下遍歷,將遇到的任意 NP 節點做為先 行語。
9. 若先行語已確定,本演算法終止,繼續步驟 4。
例句3.5.1 句 1:Xiao Ming's father is a diplomat.
句 2:People are respecting him.
圖3.5.1 例句 3.5.1 的句法分析樹
先看一個簡單的例句 3.5.1 對應的句法樹如圖 3.5.1 所示,根據 Hobbs Algorithm,步驟 1 的開始節點應為 NP5。於是 S2 變成為 X 節點,用虛線表示路 徑p。遍歷 S2 的左部遇見 NP4 節點,但 NP4 與 S2 之間並沒有任何的 NP 或 S,
因此,NP4 不能為 NP5 的先行語。若將例子稍作改變,將「People」改為「Xiao Ming’s father」,那麼「Xiao Ming」做為 NP 是滿足要求的,因為在該 NP 與 X 之間有一個NP 節點「Xiao Ming’s father」,此時「Xiao Ming」可以做為「him」
的先行語,但結果並不符合正確答案。
再看上述例子,當 NP4 不滿足要求時,由於 X 已經是句 2 的最高 S 節點,
因此要進入前面一句S1。遍歷 S1,第一個 NP 便是 NP1,於是「Xiao Ming’s father」
做為「him」的先行語。
(二) 確認指示動詞(Predicted Predicate Verb)
表3.5.1 到 3.5.3 為基於訓練資料建立的意見指示動詞集,對於一個給定的意 見句,可能包含多個動詞在該意見句中,我們究竟該選擇哪個動詞,做為意見句 的意見指示動詞,則需要進一步的處理動作。觀察語料庫發現,意見指示動詞一 般具有以下幾個重要的明顯特徵:
1. 意見指示動詞的位置通常較接近名詞具名實體。
2. 意見指示動詞的位置通常較接近標點符號,如逗號、冒號、雙引號。
3. 如果意見句沒有表示承接、轉折等關係的連接詞,則一句通常只有一個指示 動詞。
意見指示動詞是指用以指示意見的動詞,例如:同意、相信、強調、控訴、
批評等。本研究使用統計學的方法來確認意見句的指示動詞。訓練語料透過前置 處理程序中的情感分析產生的主觀性意見句,針對動詞比較和計算與訓練資料的 動詞頻率,用 Vo表示動詞 Vpre在意見句中出現的次數,用 Vt表示動詞Vpre在整 個訓練語料句中出現的次數,則動詞Vpre做為意見指示動詞出現的機率表示為:
( pre) o
t
p V V
V ………(1) 其中,動詞「say」為最頻繁出現的動詞,在訓練資料裡共有 1176 個,因此,
在計算頻率時,將精準度取到小數點後四位,讓計算不失準確度。此外,我們需 要注意部分動詞做為名詞使用的情形,在計算指示動詞機率必須刪減Vo 或Vt的 數量,表3.5.1 為部分可以做為名詞使用的動詞字彙。
表3.5.1 可做為名詞使用的動詞字彙 answer brainstorm file hope issue note
point promise question report sign voice wish
… … …
由於所有的動詞詞彙數量不一致,假設數量稀少且又為意見句的動詞,而其 question 0.5000 expect 0.2945 add 0.4745 exchange 0.2884 note 0.4651 state 0.2758 discuss 0.4545 report 0.2631 consider 0.4411 launch 0.2564 force 0.4390 raise 0.2500 criticize 1.0000 oppose 0.8750 exclaim 1.0000 explain 0.8181
react 1.0000 refuse 0.8000 remind 1.0000 accuse 0.7777 renounce 1.0000 condemn 0.7500 reply 1.0000 describe 0.7368 utter 1.0000 promise 0.7222 respect 0.7058 pressure 0.4444 pave 0.7000 violate 0.4375 reiterate 0.7000 reject 0.4285 admit 0.6666 agree 0.4210 advise 0.6666 mention 0.4166 believe 0.6666 confirm 0.4062 dismiss 0.6666 acknowledge 0.4000 encourage 0.6666 appeal 0.4000 fault 0.6666 cite 0.4000 write 0.6363 speak 0.3793 emphasize 0.6000 advocate 0.3636 warn 0.5882 apologize 0.3666 stress 0.5833 highlight 0.3636 voice 0.5833 announce 0.3548 answer 0.5714 affirm 0.3333 argue 0.5714 introduce 0.3333 caution 0.5714 quote 0.3333 gather 0.5454 urge 0.3157 insist 0.5454 accept 0.3076 pass 0.5454 decline 0.3000 recall 0.5384 forecast 0.2903 invite 0.5294 conclude 0.2666 respond 0.5263 reveal 0.2666 brainstorm 0.5000 disclose 0.2500 disagree 0.5000 slam 0.2500 inform 0.5000 approve 0.2400
keep 0.5000 deny 0.2307
lament 0.5000 realize 0.2000 lash 0.5000 allege 0.1666 propose 0.5000 implement 0.1666 suggest 0.5000 claim 0.1000 file 0.4545
透過人工標記意見持有者的過程中,我們從訓練資料預先給定某持有者的指示動 詞,若有未收錄在訓練資料的動詞出現,本研究採用距離加權計算的方法來確定 一句話中的意見指示動詞,計算公式如下:
* * *(1 ( ))
pre ne ne pun pun pre pre
Value w dis w dis w p V
...(3)其中,
dis
ne為該動詞與離它最近的具名實體之間的距離;dispun為該動詞 與離它最近的標點符號之間的距離; (p Vpre)為該動詞做為意見指示動詞出現的 機率,可從公式(1)得到;w
ne、w
pun和w
pre分別為dis
ne、dispun和1 p V( pre) 所對應的權重值,而且wnewpunwpre 1。因此,若Valuepre的值越小,則 該動詞做為意見指示動詞的可能性就越大。本研究的重點在於計算訓練資料集中 的動詞,並被標記為意見句的指示動詞的機率,因此將w
pre 的權重設定稍微提高,如表3.5.4 的權重設定:
表3.5.4 意見指示動詞計算權重設定
指示動詞計算相關資訊 權重設定值
動詞與具名實體之間的距離
w
ne 0.3動詞與標點符號之間的距離
w
pun 0.3動詞做為指示動詞出現的機率權重
w
pre 0.4例句 3.5.2:"I hope I’m able to successfully enter the Education and Culture Committee, " Lin said, adding that with his strong influence in local culture, he believes he can help improve the nation’s cultural developments.
例句3.5.2 標記底線粗體為意見持有者;外框線表示組織名;波浪線為指示 動詞候選詞。因為「enter」、「help」和「improve」只出現在訓練資料,但並不屬 於被標記為意見句的動詞,所以1 p V( pre)值會為 1。具名實體有一個組織名和 一個人名共兩個,假設每項權重設定均相等,此句的指示動詞計算過程如下:
Vpre[hope] = 8 + 2 + (1-0.6172) = 10.3828;Vpre[enter] = 2 + 6 + (1-0) = 9;
Vpre[said] = 1 + 1+(1-0.4013) = 2.5987;Vpre[adding] = 3+1+ (1-0.4745) = 4.5255;
Vpre[believes] = 14+2+(1-0.6666) = 16.3334;Vpre[help] = 17+5+(1-0) = 23;
Vpre[improve] = 18 + 6 + (1-0) = 25
通過公式計算,最小值的Vpre為2.5987,因此判定「said」為此句的指示動詞。
(三) 擷取意見持有者(Opinion Holder Extraction)
在之前的意見持有者辨識階段,本研究使用SVM 機器學習的方法,僅針對 指示動詞鄰近的名詞實體進行分類,只得到不完整的意見持有者單詞,所以我們 在後置處理的部分,進一步參考與意見持有者相關的具名實體,在機器學習的結 果基礎上,結合新的實體擷取方法,讓代表意見持有者的詞彙更為完整。
在確定意見指示動詞步驟之後,接著計算實體與指示動詞的距離關係以便擷 取意見持有者。首先以相關的具名實體和詞性,如「人名」、「地名」、「組織名」
以及「代名詞」和「普通名詞」做為候選詞,使用計算距離的方法得到候選詞的 重要程度,計算公式如下:
H
candidate [1 ( w
pre* dis
pre w
bound* dis
bound)]* ( w POS
candidate)
….(4)
candidate
H 的值越大,該候選詞屬於意見持有者的可能性就越大。上述公式
中dispre為該候選詞與確定的意見指示動詞之間的距離;wpre為dispre對應的權
重 ; disbound 為 該 候 選 詞 與 句 首 或 句 尾 之 間 距 離 的 較 小 值 , 即 :
( , )
bound
dis Min disHead disTail 。wbound 為disbound 對應的權重,wpre 和
bound
w 相加等於1。假設某實體距離指示動詞較近,則設wpre為0.6 和wbound 為 0.4,反之若某實體距離指示動詞較遠,則設wpre 為 0.4 和wbound 為 0.6。
( candidate)
w POS 則為該候選詞具有的詞性類型所對應的權重,本研究著重於「人
名」、「組織名」和「人稱代名詞」的部分,因此設定的w POS( candidate)如表3.5.5:
表3.5.5 具名實體和詞性相關資訊權重設定 具名實體和詞性相關資訊 權重設定值
人名 0.24
地名 0.14
組織名 0.24
人稱代名詞 0.24
普通名詞 0.14
首先,平均分配數值給五種實體資訊,分別為各0.2,再將我們的重點部分(人 名、組織名和人稱代名詞)合為一組,並依照跟地名和普通名詞,以 3:1:1 的比例 提高或降低權重值,最後得到上述設定值。
(四) 短語擴展(Phrase Expansion)
在本章第四節之意見持有者辨識步驟,通過SVM 分類器的標記結果,得到 本詞是不是意見持有者的一部分,單獨的詞難以完整表達意見持有者的概念,如
「political experts」這一個意見持有者,僅用「political」一詞代替只有形容詞的 角色;僅用「experts」一詞代替則想要表達的概念不完整。因此,初步決定候選 詞之後,進一步擴展為短語是非常重要的。觀察意見持有者常有多個詞所組成的 情況,例如:「Taiwan President Ma Ying-jeou」是由「Taiwan」、「President」、「Ma」
及「Ying-jeou」四個詞組成,因此需要額外的動作將它們組合起來,名詞短語(NP) 可以為表3.5.6 的形式出現:
表3.5.6 名詞短語擴展的形式
句法組成方式 中文表達解釋
NP → NP + NP 名詞短語 → 名詞短語 + 名詞短語 NP → NP + N/ Gerund 名詞短語 → 名詞短語 + 名詞/動名詞 NP → Determiner + NP 名詞短語 → 限定詞 + 名詞短語 NP → Determiner + N/ Gerund 名詞短語 → 限定詞 + 名詞/動名詞
限定詞需要放置在名詞之前,具有限定名詞的含意,常見的限定詞是冠詞,
限定詞需要放置在名詞之前,具有限定名詞的含意,常見的限定詞是冠詞,