• 沒有找到結果。

第三章 方法與步驟

第五節 配對

張莊平(2012)在配對上是利用「意見詞 + 連接詞 + 屬性詞」當規則進行輸 出,而該演算法之步驟為:

1 先以 Breadth-First Search 走訪結構樹,確認每個節點的所在層級。

2 從樹根開始,在第一個層級裡尋找是否存在屬性詞或意見詞,其中判斷方式 以是否符合先前建立之屬性詞詞庫與意見詞詞庫為準。

2.1 如果同時找到屬性詞與意見詞,則無論屬性詞與意見詞的個數有多少,

將每一個屬性詞與所有的意見詞進行配對,例如:如果找到三個屬性詞 與兩個意見詞,則會擷取出六個配對。最後結束這個句子的搜尋流程。

2.2 如果只找到屬性詞而沒有找到意見詞,則在此層級搜尋是否有子樹標示 為 VP(Verb Phrase,動詞片語)。若存在 VP 子樹,則搜尋此子樹之所 有節點以擷取意見詞出來與屬性詞配對;若不存在 VP 子樹,或在子樹 中找不到意見詞,則結束這個句子的搜尋流程。

2.3 如果只找到意見詞而沒有找到屬性詞,則在此屬級搜尋是否有子樹標示 為 NP(Noun Phrase,名詞片語)。若存在 NP 子樹,則搜尋此子樹之所 有節點以擷取屬性詞出來與意見詞配對;若不存在 NP 子樹,或在子樹 中找不到屬性詞,則結束這個句子的搜尋流程。

2.4 如果兩者皆尋找不到,但同時存在 VP 與 NP 子樹,則分別在 NP 子樹 中搜尋屬性詞及在 VP 子樹中搜尋意見詞,再將擷取出來的詞彙雙雙進

41

行配對。

2.5 如果透過 2.1 至 2.4 仍然找不到配對,則透過遞迴方式對此層級的每一 個子樹重覆步驟 2 的搜尋。

3 在屬性詞與意見詞分別的所在層級間,以先前建立的副詞詞庫判斷是否存在 副詞,如有,則將此副詞附加在所擷取出來的配對當中。

4 在結束搜尋流程後,如果只有擷取出意見詞而沒有配對至屬性詞,系統會將 此意見詞暫時配對至 NULL 屬性詞。

5 最後,依擷取出來的屬性詞所屬之四大類分類,將配對的句子收集在不同的 類別當中,其中 NULL 屬性詞獨立出來成為另一個分類。

圖 17~21 為張莊平提出的基本配對句型,分別為「N+V」、「N+VP」、「NP+V」、

「NP+VP」和「NULL+V」等。

圖 17:配對句型 1(N+V)

圖 18:配對句型 2(N+VP)

圖 19:配對句型 3(NP+V)

圖 20:配對句型 4(NP+VP)

43

圖 21:配對句型 5(NULL+V)

利用張莊平(2012)之方法找出的屬性詞(本論文定義為特徵詞)並非局限於標 記 Head Na 的詞彙;該意見詞也非完全侷限於標記為 VH 和 A 詞性的詞彙,又因 擷取副詞,在輸出上會有著較為完整的語意,如圖 20 所示,該論文提及的「快 50 歲的湯姆克魯斯演的還是很好」,其屬性詞就為非 Head Na 系列的 Nb,因此在 配對上就可以輸出「湯姆克魯斯+好」,而本實驗因為特徵詞須完全依賴標記為 Head Na 之詞彙或專有名詞,故在配對上會以「整體+好」做為輸出,在語意上就 會顯得不夠完整。然而依據該實驗之語料共擷取 11837 個屬性詞及意見詞配對,

其中卻有 4931 個無效配對,Precision 為 58.34%,故該方法是以「正確率換取語 意」。此外本研究中發現評論往往太過口語化,因此有許多狀況出現,如不會按 照文法、省略主詞或是使用網路用語等,在張莊平的分析上由於太過依照文法結 構,因此在抓取配對時會產生問題。例如本研究的訓練資料中:我覺得這隻的嘴 唇是整隻的 vip 抿得超好看。其剖析出來的句子為 S(theme:NP(possessor:Nhaa:我

|property:VP‧的(head:VP(Head:VK1:覺得|goal:DM:這隻)|Head:DE:的)|Head:Nab:

嘴 唇 )|Head:V_11: 是 |range:S(agent:NP(property:DM ‧ 的 (head:DM: 整隻 |Head:DE:

的)|Head:Nb:vip)|Head:VC2:抿|complement:得‧VP(Head:DE:得|head:VP(Head:VJ1:

超|complement:VH11:好看)))) ,結構樹如圖 22 所示:

圖 22:「我覺得這隻的嘴唇是整隻的 vip 抿得超好看」剖析圖 在上面的例子可以發現,若是照張莊平的分析,左邊路徑可以藉由 theme NP 後找到 Head Nab 的嘴唇,但是右邊路徑的 range S 因為不是 VP,因此就無法繼 續找到下面的「好看」。

以圖 23 的例子顯示評論通常太過口語化,導致中研院剖析器有時無法正確 剖析,故按照張莊平的方式會找不到該找的特徵或是意見詞。

圖 23:剖析出句子不完整無法分析,或是語意錯誤不合文法(%)

45

上例中若是照張莊平的方法則會完全找不到特徵及意見詞,導致該評論沒有 任何配對輸出。因此本研究為提升正確率,故提出另一套的演算法:

1. 先以 Breadth-First Search 走訪結構樹,確認每個節點的所在層級。

2. 從樹根開始,在第一個層級裡尋找是否存在特徵詞或意見詞。判斷方式以剖 析器是否將之標示為 Head Na、VH 系列、A 系列,或上述規則所說的詞彙。

3. 若是找尋到 negation Dc,也就是剖析器標示的「否定標籤」的話,則與後一 個意見詞進行配對,並將該意見詞之極性轉換。

4. 如果在同層級同時找到特徵詞與意見詞,則無論特徵與意見詞的個數有多少,

將每一個特徵詞與所有的意見詞進行配對,並跳至步驟 7。

5. 如果只有找到意見詞而未找到特徵詞,則保留意見詞,並繼續走訪子樹是否 有特徵詞,若有則與之前的意見詞配對;若無則將該意見詞與系統輸出的「整 體」配對,並跳至步驟 7。

6. 如果只有找到特徵詞而未找到意見詞,則保留特徵詞,並繼續走訪子樹尋找 意見詞,若找到則直接進行配對,若無則只輸出特徵詞,並跳至步驟 7。

7. 最後輸出以格式[特徵詞 + (否定詞) + 意見詞]的方式進行輸出。

圖 24~28 將會照本論文的規則進行配對,並在下方做更為詳細的解釋:

圖 24:基本的直接配對

圖 25:特徵詞與多個意見詞配對

圖 26:有否定詞之配對

47

圖 27:無特徵詞之配對

圖 28:無意見詞之配對

圖 24 使用最基本的規則,找到一個特徵詞和一個意見詞後進行配對,該例 句之配對為「感覺+不錯」;圖 25 則是在同層中找到多個特徵詞或意見詞,在這 個狀況下會依序進行配對,該例句之配對為「藍色調+乾淨」、「藍色調+沉穩」;

圖 26 的狀況為有否定詞「不」,在否定詞後方第一個意見詞之極性會被改變,例 如該例句的馬虎為負向極性,但因為否定詞的存在,故「不馬虎」會變成正向極 性。若否定詞後方之極性為偏正,則會改變為偏負。而從這個例子可以看到還有

另一個 Head Na 為「方面」,但因為它的層級比「塗裝」深,故不採納。該例句 之配對為「塗裝+不馬虎」。圖 27 為沒有找到特徵詞的情況,本論文將會自動給 予「整體」的特徵詞與之配對,原因是評論往往具有針對性,所以評論之主詞若 被省略,有很大的機率是在講述該產品本身,從訓練資料中的例子如「看起來超 棒的」、「怎麼越做越貴啊」,都是主詞為產品本身而被省略的例子,故該例句的 配對為「整體+可愛」。最後一個為沒有找到意見詞的情況,如圖 28 所示,在這 情況下本研究決定直接將特徵輸出,而不另外找尋意見詞與之配對,該例句之配 對為「質感」。本論文之配對方法與張莊平(2012)之配對方法比較在第四章的第三 節會有詳細的說明。

相關文件