• 沒有找到結果。

第三章 方法與步驟

第五節 配對屬性詞與意見詞

在一般基於規則的演算法中,多半會建立類似「意見詞 + 連接詞 + 屬性詞」

14http://godel.iis.sinica.edu.tw/CKIP/parser.htm

22

的一條規則來配對意見詞與屬性詞。然而觀察到下面的例句 1:

再好看的電影也會變得無聊 (例句 1)

在人工標示的結果裡,會將屬性詞「電影」配對給意見詞「無聊」。但若採 用前述規則進行配對,系統會將屬性詞「電影」配對給意見詞「好看」,失去了 本意。如果根據 Hu 及 Liu(2004)的作法,直接將屬性詞與最近的意見詞做配對,

也會造成「電影–好看」的配對,而忽略了句子當中的另一個意見詞「無聊」的 意見極性。

因此,本論文引入中文文法剖析器的應用,嘗試解決這個問題。圖 8 是透過 中央研究院之中文剖析系統對上面提及的例句進行分析後的結果。

圖 8:例句 1 的文法樹狀圖

可以看出在句子的結構中,屬性詞「電影」所在之 NP(Noun Phrase,名詞 片語)與最後的意見詞「無聊」是在文法樹上的同一層級。這代表整個 NP 結構 是被同一層級的「變得」、「無聊」所修飾,因此透過文法樹狀圖,可以知道應將

23

「電影」與「無聊」配對。

另外一個常見的問題是,當一個句子中同時出現兩個屬性詞時,通常會需要 知道意見詞實際上是在修飾哪一個屬性詞,或者兩者均有修飾到。考慮下面例句

2 與例句 3:

周杰倫的電影實在不吸引人 (例句 2)

周杰倫和電影都不吸引人 (例句 3)

例句 2 的「不–吸引人」主要是在形容「電影」,但例句 3 卻同時用來形容了

「周杰倫」與「電影」,試著用中文剖析器分析這兩個句子,得到圖 9 與圖 10 的 文法樹狀圖。

圖 9:例句 2 的文法樹狀圖

24

圖 10:例句 3 的文法樹狀圖

圖 9 中「周杰倫」與「電影」是在文法樹上落在不同層級,但在圖 10 中則 是相同層級,這樣的特性提供了更多資訊去判斷屬性詞及意見詞的配對關係。根 據以上三個例句,本論文提出一個判斷屬性詞及意見詞配對的步驟,說明如下:

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

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

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

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

2.2 如果只找到屬性詞而沒有找到意見詞,則在此層級搜尋是否有子樹標示 為 VP(Verb Phrase,動詞片語)。若存在 VP 子樹,則搜尋此子樹之所

25

26

圖 11:擷取屬性詞與意見詞配對的程式流程

27

圖 12:擷取屬性詞與意見詞配對的演算法 Pseudo Code function match_pairs(sentence_tree)

(feature_words, opinion_words, adv_words, np_struct, vp_struct) = find_in_first_level(sentence_tree)

(opinion_words, adv_words) = BFS_search(vp_struct)

if length(opinion_words) == 0 then

return pairs(feature_word, adv_words, opinion_words)

28

圖 13 至圖 17 展示此實驗步驟所處理的五種典型配對句型。以圖 14 為例,

由於在文法樹狀圖的第一層找到屬性詞「電影」,但沒有找到意見詞庫中的詞彙,

故改為從第一層中所找到的 VP 子樹中,以 BFS 搜尋層級最高且符合意見詞庫的 詞彙找到意見詞「精彩」;因此在這個句子裡,將「電影」和「精彩」進行配對,

完成擷取步驟。表 9 展示其他以此實驗步驟擷取出來的配對例子。

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

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

29

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

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

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

30 次數,引入 TF-IDF(Term Frequency–Inverse Document Frequency)公式計算每 個意見詞在特定類別中的重要程度。TF-IDF 是一種用於資訊檢索與文字探勘常用

相關文件