• 沒有找到結果。

第一章 前言

第三節 文本特徵與自然語言處理

在過去20 年間,電腦運算能力大幅成長,語言材料迅速累積,機器學習演 算法蓬勃發展以及心理、語言學理論的進展,計算語言學以及自然語言處理領 域顯著地成長(Hirschberg & Manning, 2015)。尤其,近年來深度學習的發展更 讓計算語言學中的各項作業表現(如情緒極度分析、文章摘要、問答系統等)

大幅提升,傳統演算法和深度學習的類神經網絡如何共同幫助電腦理解人類的 自然語言,仍是目前研究者熱切關心的議題(Manning, 2015)。

在適讀性研究中,由於大量用到文本屬性(包括表層語言屬性或文本一致 性屬性),為讓研究者有效率且客觀地計算操作文本,自然語言處理技術是相當 適合的工程技術。自然語言處理在1950 年間隨著當時對人工智慧的興趣開始發 展,當時研究致力於發展一套讓電腦能掌握人類語言的「規則」。但研究者很快 地發現人類語言的變異、複雜性和脈絡相依性讓電腦非常難以用「規則」來掌

握人類語言。在1990 年間,自然語言處理開始使用機率模式(statistical NLP)

和大量的標記語料,研究如何使用自然語料的統計特性,讓電腦學習標記和語 言之間的關係,並用各種統計機率模式預測語言屬性,例如詞彙的詞類(part-of-speech, POS),情緒極度(sentiment)等屬性(Hirschberg & Manning, 2015)。

自然語言處理有許多的次領域,例如從英文詞中找出詞幹(stemming)、找 出文章中的命名實體(named entity recognition)、機器翻譯(machine

translation)、情感分析(sentiment analysis)、文本摘要(automatic

summarization)、語音辨識(speech recognition)等。雖然上述應用目的眾多,

各自都有深入細緻的演算法和模式,但大部份對於書面文本的自然語言處理都 共享相對而言固定的基本處理。例如,詞的單位化(tokenization)、詞類標記

(part-of-speech tagging)、句法剖析(syntactic parsing)等。這三項基本的處理 如資料處理管線般之排列(pipeline4),原始文本從詞單位化開始,才能進行詞 類標記,並藉由詞和詞類的訊息進行句法剖析(Manning et al., 2014)。另外,

當文本被單位化成詞彙後,自然語言處理即可藉助各種語意模式將詞彙的「語 意」向量化成電腦容易處理的資料結構。這四項自然語言處理的過程在適讀性 的文本一致性指標中扮演相當重要的角色。

壹、斷詞

在英文的自然語言處理中,第一個基礎的步驟是詞單位化(tokenization)。

在這個步驟中,文本裡的每個詞彙會依分析目的被單位化(tokenize)成一個個

4 自然語言的處理管線(pipeline)是在技術上非常方便且常用的處理方式,但在心理語言 學的文獻中,人類除了由下而上(bottom-up)的處理語言訊息外,也包含上到下(top-down)

的處理歷程(Greenberg, Healy, Koriat & Kreiner, 2004)。然而,的確有些研究者嘗試用處理管線 以外的思維來幫助電腦掌握人類語言(Ringgaard, Gupta, & Pereira, 2017)。

詞彙。在英文的書寫系統中,每個英文詞(word)通常會以空白分隔,所以大 部分時候的單位化是用空白作為線索。只有在特定且少數的狀況下,英文仍會 有跨空白的詞彙單位,例如「New York」或「rock ‘n‘ roll」需要額外的處理,

但大致上而言,詞單位化在英文是一個很清楚的處理作業。

然而,中文的詞單位化是很模糊且複雜的作業,由於其本質與英文的詞單 位截然不同,故此作業被稱為中文「斷詞」(segmentation)(Ma & Chen, 2003;

Hsieh, Tseng, Lee, & Chiang, 2018)。中文斷詞的困難在於中文書寫時以「字」為 單位,但語言的概念表達是以詞彙(word)為單位。中文裡除了少數單音節詞 是以一個「字」(character)表達外,多數是以二或多個音節(字)表達的複音 詞。在文本缺乏其他線索(如空白)的情況下,電腦難以用簡單的符號線索區 分出文本中包含哪些詞彙。而且,文本中常出現的斷詞歧異性,例如交集型歧 異(「手機架」,可能是「手機」和「架」或「手」和「機架」),或組合型歧異

(「才能」二字,在「他才能非凡」中應該是一個詞彙,但在「他才能勝任」, 卻應該被斷成二個詞彙)。尤其,中文詞具備很高的流動性(Hoosain, 1992),

各種新詞(小確幸)、專有名詞(谷歌)、仿真詞(factoid,如 11 月 30 日、23.5 度等)和構詞法衍生詞(如上下班、吃了飯)等都讓斷詞是一個非常具挑戰性 的任務。

過去研究曾以兩種方法讓電腦自動分詞。首先,詞典法由研究者事先準備 一組詞典,並以最大匹配法(又可細分為正向、逆向最大匹配和最少切分法)

尋找文本裡面符合詞典裡的字串。若演算法發現有兩種以上可能的切分法,則 搭配其他的經驗法則(heuristic)來解決歧異,例如,長詞優先、標準差較小者 優先等。

第二種斷詞模式以統計模式搭配大量已人工事先斷詞的語料庫,讓電腦學 習文本中的每個字是屬於詞首、詞中、詞尾或單獨成詞(Xue & Shen, 2003)。

例如「台北市長明確表示」,統計模式法會將上述句子標記為「台(B)/北(E)/市

(B)/長(E)/明(B)/確(E)/表(B)/示(E)」,其中 B 代表該字是一個詞彙的詞首、E 是 一個詞彙的詞尾。統計模式法應用不同的模式讓電腦學習字和類別的關係,例 如最大熵值法(maximum entropy)(Xue & Shen, 2003)或條件隨機場

(conditional random field)模式(Tseng, Chang, Andrew, Jurafsky, & Manning,

2005)等。統計模式法的優點在於遇到訓練材料未出現的新詞時(out-of-vocabulary, OOV)時,其斷詞正確率顯著高於詞典法(黃昌寧、趙海,2007)。

在2006 年的中文斷詞競賽中,各中文斷詞演算法的正確率可高達 97.2%,

但有趣的是,若請人類標記者手動斷詞,則不同人之間的斷詞一致性平均為 76%(黃昌寧、趙海,2007)。胡志偉與方文熙(1995)在實驗中亦發現「斷詞 歧異」的結果,他們認為「斷詞」是一項運用後設語言知識的行為,當參與者 斷詞時,使用者會運用到「詞」以外的知識來進行作業,故會出現斷詞不一致 的現象。

斷詞是中文自然語言處理的第一步,且在目前的自然語言處理技術中,斷 詞也是之後詞頻計算、詞類標記、甚至句法剖析、建立語義空間等必須經過的 步驟。但是,即便中文斷詞在演算法上已漸臻成熟,但中文「詞的地位」

(wordhood)的問題(Huang, Hsieh, & Chen, 2017)仍然深深影響著之後的每 一步自然語言處理的結果和詮釋。

貳、詞類標記

在詞單位化或中文斷詞後,下一步則是瞭解每個詞的詞類(part-of-speech)。英文的詞類有非常久遠的傳統,早在西元前 2 世紀,Thrax 的「語法 的藝術」(The art of grammar)就已經將詞彙分成 8 個類別:名詞、動詞、分詞

(participle)、冠詞(article)、代名詞、介系詞、副詞和連接詞。這 8 個詞類直 到現在並無太大的變動,僅有「分詞」的類別消失,並加入感嘆詞

(interjection)。相較之下,中文第一次引入西方語言的詞類觀念是在 19 世紀末 的《馬氏文通》(馬建忠,1989)。該書中將漢語詞類分為九類,分別是五類實 詞:名詞、代詞、動詞、形容詞和副詞,以及四類虛詞:介詞、連詞、助詞和 嘆詞。晚近研究者如程祥徽與田小琳(2015),大致延續此分類架構,將漢語詞 類分為12 類:名詞、動詞、形容詞、數詞、量詞、代詞、副詞、介詞、連詞、

助詞、歎詞和擬聲詞。亦有些研究者提出較不同的詞類定義,如中研院中文詞 知識庫小組(2004)則以訊息為本的格位語法(information-based case grammar, ICG)界定出 8 類詞類,分別為述詞、非謂形容詞、體詞、副詞、介詞、連接 詞、語助詞和感歎詞。

自然語言的詞類標記法大致上遵循著英文的自然語言研究發展。在英文的 研究中,詞類標記可被視為是一個消岐(disambiguation)作業。亦即,雖然大 多數的英文詞只有單一詞性(80-86%),但其他多詞性的詞卻有較高的使用頻 率,在文本中約佔據了55-67%的詞例。詞類標記的目的是要賦予這些多詞類的 詞彙正確的詞類。在詞類標記作業中,詞類通常來自於一個已標記好詞類的語 料庫,該語料庫會定義一組詞類標籤集(tagset),讓電腦學習詞彙和詞類之間 的關係。目前在漢語中常用的語料庫及詞類標籤集包含中央研究院詞庫小組的 詞類(中文詞知識庫小組,2004),或者是中文句法庫(Chinese Treebank)所 使用的賓州大學詞類集(Chinese Penn Treebank part-of-speech tagset)。詞類標記 的演算法常使用最大熵值法或隱式馬可夫模式(Hidden Markov Model)

(Jurafsky & Martin, 2008)。其他研究亦嘗試使用雙向依存網路(cyclic

dependency network)訓練詞類標記,該模式可在中文句法庫(Chinese Treebank 7)中達到 93.99%的正確率(Toutanova, Klein, Manning, & Singer, 2003)。

漢語的詞類標記的挑戰除了少了語言的屈折變化作為線索,漢語的特性更 讓詞類標記的問題更具挑戰性。例如漢語的述詞本身(有時再加上「的」或

「地」之後)就可以被用來修飾主要謂語。例如「他們非法入境」中的「非

法」本身是述詞,但在這個句子中卻是以「副詞」的形式修飾謂語「入境」。又 例如,漢語的述詞常常可作名詞使用,像是「他努力完成研究」裡的「研究」

本身是「述詞」,但在句子中卻被放在名詞的位置,甚至還可以被定量詞修飾,

如「他努力完成那一項研究」。這些例子反映出當漢語詞彙被標記上詞類之後,

其在句子中的功能可能還需要詞彙以外的線索來詮釋。

參、句法剖析

文本裡的句子不僅僅是一連串的詞彙序列。句子中的詞彙是依循特定句法

(syntax)規則組織成更大的單位(如片語或句子),甚至彼此包含或鑲嵌其 中。在自然語言處理中,句法剖析的工作即試圖自動地將詞彙的句法關係具體 的呈現出來。然而,由於自然語言的模糊性,即便一句簡單的句子,都可能有 句法剖析上的歧異性(Jurafsky & Martin, 2008)。此歧異性可能來自語句的

(1)附著模糊(attachment ambiguity)。例如「他是我剛認識的朋友的小孩」,

這句話中「剛認識的」修飾的可能是「朋友的小孩」,也有可能是「朋友」。或 者是(2)並列模糊(coordination ambiguity),如「臺北和高雄的鄉下」,可以 指「臺北和高雄」的鄉下,或者是「臺北」和「高雄的鄉下」。有些模糊性可仰

這句話中「剛認識的」修飾的可能是「朋友的小孩」,也有可能是「朋友」。或 者是(2)並列模糊(coordination ambiguity),如「臺北和高雄的鄉下」,可以 指「臺北和高雄」的鄉下,或者是「臺北」和「高雄的鄉下」。有些模糊性可仰