• 沒有找到結果。

以序列標記方法解決古漢語斷句問題

N/A
N/A
Protected

Academic year: 2021

Share "以序列標記方法解決古漢語斷句問題"

Copied!
84
0
0

加載中.... (立即查看全文)

全文

(1)國立交通大學 資訊科學與工程研究所 碩 士 論 文. 以序列標記方法解決古漢語斷句問題 Classical Chinese Sentence Division by Sequence Labeling Approaches. 研 究 生:黃瀚萱 指導教授:孫春在. 教授. 中 華 民 國 九 十 七 年 六 月.

(2) 以序列標記方法解決古漢語斷句問題 Classical Chinese Sentence Division by Sequence Labeling Approaches. 研 究 生:黃瀚萱. Student:Hen-Hsen Huang. 指導教授:孫春在. Advisor:Chuen-Tsai Sun. 國 立 交 通 大 學 資 訊 科 學 與 工 程 研 究 所 碩 士 論 文. A Thesis Submitted to Institute of Computer Science and Engineering College of Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master in. Computer Science June 2008 Hsinchu, Taiwan, Republic of China. 中華民國九十七年六月.

(3)  . 以序列標記方法解決古漢語斷句問題  . 學生:黃瀚萱. 指導教授:孫春在. 國立交通大學資訊科學與工程研究所碩士班 摘. 要.   斷句是古漢語處理的特殊議題。在 20 世紀之前,中文的書寫系統,並沒有 使用標點符號的習慣。在閱讀古籍的時候,讀者必須從文句中,辨別應該停頓或 分隔的地方,而後才能理解文義。由於斷句並沒有明確的規則和方法,全憑讀者 的語感和經驗來判斷,同一個句子,不同的讀者,往往會有不同的斷法,而不同 的斷法,造成了不同的文義解讀。所以,在處理古籍的時候,斷句是重要而困難 的第一步驟。  過去沒有理想的自動化斷句方法,斷句的工作,多半交由文史專家,以人力 來處理。雖然常見的經史典籍,目前已有斷句標點過的版本,但隨著歷史文獻不 斷地發掘出土,仍然有無數的古代文獻,尚待斷句處理。  在本研究中,我以 hidden Markov models(HMMs)和 conditional random  fields(CRFs)等兩種序列標記模型,設計古漢文斷句系統,並在實驗中獲得不 錯的斷句結果。同時,在實驗中也發現,只要 training data 的質量足夠,則具有 跨文本、跨作者、跨體裁的適用性。例如,以《史記》作 training data,對於其 他上古漢語的文本,都有頗佳的斷句表現。本研究的成果,展現了自動化古漢語 斷句的可行性,並得以實用在數位典藏、文字探勘、資訊擷取等工作上,輔助人  . 力,更快速地處理大量歷史文獻。  i   .

(4)  . Classical Chinese Sentence Division  by Sequence Labeling Approaches   . Student: Hen‐Hsen Huang . Advisor:  Chuen‐Tsai  Sun. Institute of Computer Science and Engineering  National Chiao Tung University  ABSTRACT    Sentence  segmentation  is  a  special  issue  in  Classical  Chinese  language  processing. To facilitate reading and processing of the raw Classical Chinese data,  I  proposed  a  statistical  method  to  split  unstructured  Classical  Chinese  text  into  smaller  pieces  such  as  sentences  and  clauses.  To  build  this  segmenter,  I  transformed  the  sentence  segmenting  task  to  a  character  labeling  task,  and  utilized  two  sequence  labeling  models,  hidden  Markov  models  (HMMs)  and  conditional random fields (CRFs), to perform the labeling work. My methods are  evaluated  on  nine  datasets  from  several  eras  (from  the  5th  century  BCE  to  the  19th  century).  My  CRF  segmenter  achieves  an  acceptable  performance  and  can  be applied on a variety of data from different eras.     .  . ii   .

(5)  . 誌謝  感謝我的指導老師,孫春在老師。從孫老師身上散發出來的活力與熱情,讓 我深深感受到研究的奧妙。在我就讀碩士班的兩年之間,老師安排了一系列的訓 練,透過實際的練習和摸索,讓我逐步了解作研究的門道和興味。老師非常注重 題目的創新和價值,在實驗室的聚會中,老師不厭其煩地闡釋什麼樣的題目,才 是好的題目。更重要的是,老師引領我去思考,好的題目為什麼好,題目的背後, 潛藏了哪些重要的價值和意義。經過這一連串的啟發,我對學術的本質有更深入 的認識,也激起了繼續探索、繼續研究的動力。  感謝國立清華大學中國文學系劉承慧老師和蔡柏盈老師。在決定研究古漢語 斷句之時,我對語言學,特別是古漢語的語言學一無所知,而劉老師在這個時候 給我重要的指引。她提到斷句問題在古漢語語言學上的難處,介紹我找《馬氏文 通》一書作為古漢語言語學的入門,並推薦我由《左傳》 、 《孟子》 、 《莊子》作為 研究的起點。而蔡老師在研究的關節處,提出許多寶貴的意見,並出借相關書籍 于我參考。  感謝中央研究院張復老師。在偶然的機會裡,我與張老師有一次短暫的會面。 張老師在唔談當中,向我介紹最新的機器學習技術,讓我對這個完全陌生的領域, 有了下手的方向。於是,我才知道 hidden Markov models 和 conditional randon  fields 等序列標記模型,並順利地援用到我的題目上。  感謝國立台灣大學資訊工程系項潔老師。項老師大方提供了一批珍貴的清代 語料,讓我的實驗更為豐富完整。在口試和私下的會談間,項老師對古漢語斷句 這個目題本身,提出很好的見解,讓我更深刻地了解這個研究的價值和貢獻。同 時,也感謝另外兩位口試委員,國立清華大學資訊工程系張智星老師與國立交通 大學資訊工程系梁婷老師,他們的意見,都成為我修改論文的重要參考。  感謝實驗室的學長和同學。特別是謝吉隆學長,對我的研究相當關照,三番 iii   .

(6)  . 兩次給我提醒和建言,讓我論文的呈現,更為完整妥善。  再次感謝以上所有的師長和朋友,沒有他們的支持和幫助,我的論文不可能 順利完成。在埋頭研究的過程中,想起師友的鼓勵和期許,我有了更堅強的信心 和力量,向茫茫未知的世界繼續前進。   .  . iv   .

(7)  . 目錄  中文摘要 ......................................................................................................................................... i  英文摘要 ........................................................................................................................................ ii  誌謝 ................................................................................................................................................ iii  目錄 ................................................................................................................................................. v  表目錄 ........................................................................................................................................... vii  圖目錄 ......................................................................................................................................... viii  一、 . 緒論 .............................................................................................................................. 1 . 1.1 . 研究動機 ............................................................................................................... 1 . 1.2 . 問題描述 ............................................................................................................... 5 . 1.3 . 研究目標 ............................................................................................................... 6 . 二、 . 相關研究 .................................................................................................................... 8 . 2.1 . 中文斷詞 ............................................................................................................... 9 . 2.2 . 句式邊界偵測(Sentence Boundary Detection) ........................... 13 . 2.3 . 詞性標記(Part‐of‐Speech Tagging) .................................................. 16 . 2.4 . Markov Model Taggers ................................................................................. 17 . 2.5 . Conditional Random Fields ........................................................................ 19  2.5.1 . 簡介 ........................................................................................................... 19 . 2.5.2 . 模型定義 ................................................................................................. 19 . 2.5.3 . 參數評估 ................................................................................................. 23 . 2.5.4  Averaged Perceptron Training ....................................................... 24  2.6  三、  3.1 . 古漢語的語言特徵 ......................................................................................... 25  系統設計 ................................................................................................................. 28  評量準則(metrics) ................................................................................... 29  v .  .

(8)  . 3.2 . 3.3 . Datasets .............................................................................................................. 35  3.2.1 . 語料選擇 ................................................................................................. 35 . 3.2.2 . 資料蒐集與處理 .................................................................................. 36 . 古漢語斷句模型 .............................................................................................. 39  3.3.1 . 序列標籤化方法 .................................................................................. 39 . 3.3.2 . 斷句系統基本架構 ............................................................................. 41 . 3.3.3  Markov Model Tagger ......................................................................... 42  3.3.4  Conditional Random Fields ............................................................. 43  四、 . 實驗 ........................................................................................................................... 46 . 4.1 . 實驗設計 ............................................................................................................ 46 . 4.2 . 實驗一:斷句模型效能 ............................................................................... 47 . 4.3 . 4.4 . 4.5  五、 . 4.2.1 . 實驗方法 ................................................................................................. 47 . 4.2.2 . 實驗結果與分析 .................................................................................. 49 . 實驗二:Training Data 評比 ..................................................................... 59  4.3.1 . 實驗方法 ................................................................................................. 59 . 4.3.2 . 實驗結果與分析 .................................................................................. 59 . 實驗三:Training Data 跨時代的適用性 ............................................. 63  4.4.1 . 實驗方法 ................................................................................................. 63 . 4.4.2 . 實驗結果與分析 .................................................................................. 64 . 評量指標的討論 .............................................................................................. 67  結論 ........................................................................................................................... 68 . 參考文獻 ..................................................................................................................................... 71     .  . vi   .

(9)  . 表目錄  表格  1  二元分類器分類結果 ................................................................................. 32  表格  2 Dataset 的統計資料 ..................................................................................... 38  表格  3  古漢語斷句標籤 ........................................................................................... 39  表格  4  搭配 conditional random fields 使用的特徵模版 ......................... 43  表格  5 Hidden Markov Models 斷句效能 ......................................................... 49  表格  6 Hidden Markov Models 斷句效能標準差 ........................................... 49  表格  7 Conditional Random Fields 斷句效能 ................................................. 50  表格  8 Conditional Random Fields 斷句效能標準差 ................................... 50  表格  9  以各 dataset 作為 training data,訓練 hidden Markov models 的平均斷句效能................................................................................................... 60  表格  10  以各 dataset 為 training data,訓練 conditional random fields 的平均斷句效能................................................................................................... 60  表格  11  各種上古漢語 datasets 作為 training data,訓練 hidden Markov  models 對清代奏摺斷句的效能。 ............................................................... 64  表格  12  各種 datasets 作為 training data,訓練 conditional random  fields 對清代奏摺斷句的效能。 .................................................................. 65  表格  13  以清代奏摺為 training data,訓練 hidden Markov models 對各 datasets 斷句的效能 .......................................................................................... 65  表格  14  以清代奏摺為 training data,訓練 conditional random fields 對各 datasets 斷句的效能 ............................................................................... 66     .  . vii   .

(10)  . 圖目錄  圖 1  清末奏摺 ................................................................................................................... 2  圖  2  清《七俠武義》刻本 ......................................................................................... 2  圖  3 Machine learning 示意圖 .................................................................................. 7  圖  4  古漢語斷句的相關研究 .................................................................................... 9  圖  5  鏈狀結構的 conditional random fields 圖形 ........................................ 20  圖  6  古漢語斷句研究系統架構圖 ....................................................................... 29  圖  7 ROC Curve  範例 ................................................................................................. 31  圖  8  分類結果示意圖 ................................................................................................ 32  圖  9  中文斷句標籤的 Markov 鏈,以  北/LL  冥/MM  有/MM  魚/RR  為 例。 ........................................................................................................................... 40  圖  10 Averaged Perceptron 學習演算法 ........................................................... 45  圖  11 Hidden Markov Models 與 Conditional Random Fields 的 ROC  Curve 比較.............................................................................................................. 51  圖  12  五種 training data 之斷句效能比較,使用 hidden Markov models。  ..................................................................................................................................... 61  圖  13  五種 training data 之斷句效能比較,使用 conditional random  fields。 .................................................................................................................... 62  圖  14  實驗三之 a 示意圖。以 hidden Markov models 和 conditional  random fields 兩模型,配合上古漢語文本為 training data,為清代 奏摺斷句。 ............................................................................................................ 63  圖  15  實驗三之 b 示意圖。以 hidden Markov models 和 conditional  random fields 兩模型,配合清代奏摺為 training data,為上古漢語 文本斷句。 ............................................................................................................ 64  viii   .

(11)  . 一、 緒論  1.1. 研究動機 . 現今通行的標點符號,是 20 世紀之後,由西方傳入轉化而成。在此之前, 中文的書寫系統沒有使用標點符號的習慣。如圖 1 和圖 2,過去的書籍文本,段 與段之間有所間隔,句子則是串連在一起,必須由讀者在閱讀時,依據經驗和語 感斷句,將文本切成一段段句子(sentences)或子句(clauses),然後才能理解 文義。從漢代開始,有些讀者在斷句之後,會在書上留下斷句的符號,通常以圈 代表句子的結尾(類似現今的句號「。」的作用),以點表示句子中語氣的停頓 (類似現今逗號「,」的作用)。這種斷句的過程,就稱做句讀或圈點。雖然句 讀符號類似今日句號與逗號的作用,但這是讀者在閱讀時所標記,而不是作者或 印刻出版者在寫作制版過程中,事先標記在文本上。宋人岳珂在《九經三傳沿革 例》說道:「監蜀諸本皆無句讀,惟建監本始仿館閣校書式從旁加圈點,開卷瞭 然,於學者為便。然亦但句讀經文而已。惟蜀中卞本與興國本並點注文,益為周 盡。」可知宋代有少數刻本,在刻書製版時加上句讀符號。雖然如此,從宋代到 清末,有斷句標點的刊物甚少,並沒有成為風氣,更不是書寫習慣的一部份。直 到民國以後,西元 1919 年胡適等人提出《請頒行新式標點符號議案》,引入西 方的標點符號,漢語的書寫系統,才開始普遍使用標點符號。因此可知,在民國 之前,絕大多數的漢語典籍文本,都沒有標點符號。 《三字經》說: 「詳訓詁,明 句讀」,斷句實是閱讀典籍文章的第一步驟。 . 1   .

(12)  .   圖 1  清末奏摺 .  .   圖  2  清《七俠武義》刻本  2   .

(13)  . 古漢語的文本,在段落與段落之間有分隔,但在同一個段落裡,並沒有任何 標點劃分句子與句子之間的界線。例如《莊子.逍遙遊》的開頭兩原文:        北冥有魚其名為鯤鯤之大不知其幾千里也化而為鳥其名為鵬鵬之背不知 其幾千里也怒而飛其翼若垂天之雲是鳥也海運則將徙於南冥南冥者天池 也    齊諧者志怪者也諧之言曰鵬之徙於南冥也水擊三千里摶扶搖而上者九萬 里去以六月息者也野馬也塵埃也生物之以息相吹也天之蒼蒼其正色邪其 遠而無所至極邪其視下也亦若是則已矣    而經過後人斷句之後,今日通行的文本則是:    北冥有魚.其名為鯤.鯤之大.不知其幾千里也.化而為鳥.其名為鵬. 鵬之背.不知其幾千里也.怒而飛.其翼若垂天之雲.是鳥也.海運則將 徙於南冥.南冥者.天池也.    齊諧者.志怪者也.諧之言曰.鵬之徙於南冥也.水擊三千里.摶扶搖而 上者九萬里.去以六月息者也.野馬也.塵埃也.生物之以息相吹也.天 之蒼蒼.其正色邪.其遠而無所至極邪.其視下也.亦若是則已矣.    由於斷句的符號並非原作者所加,沒有明確的規則與方法,全憑讀者自行判 斷而來,因此同一篇文本,不同的讀者,往往有不同的斷法。舉例來說, 《老子》 中的第一句「道可道非常道名可名非常名」 ,有人斷作「道.可道.非常道.名. 可名.非常名.」 ,也有人斷為「道可道.非常道.名可名.非常名」 。又如《論 3   .

(14)  . 文.八佾篇》中的「祭如在祭神如神在子曰吾不與祭如不祭」 ,常見的斷法是「祭 如在.祭神如神在.子曰.吾不與祭.如不祭.」 ,有人卻認為應斷作「祭如在. 祭神如神在.子曰.吾不與.祭如不祭.」意義才明瞭  [1]。清人趙恬養則針對 句讀沒有明確規則,摸稜兩可的特性,寫下「下雨天留客天留我不留」一例。1  這 個句子共有七種斷法,每種斷法都通,但意義各不相同。由此可知,斷句對於文 義的理解,不時有巨大的影響。從古至今,文人於對某些文本的斷句,時常有相 歧的見解,對文義也因而有全然不同的解釋。所以,斷句不但沒有明確的規則, 而且對熟讀詩書的古代文人來說,也是頗為困難的消除歧義(disambiguation) 程序。    由於斷句相當依賴人類的經驗和語感,到目前為止,斷句的工作都以人力處 理,並沒有自動化的斷句工具。儘管諸多古漢語的經典文本,都已經有人工斷句 完成的版本,但隨著歷史文獻不斷地發掘,仍然有難以數計的文件,尚待斷句整 理。因此,如果有自動化的工具,快速地處理大量的文件,將文本作初步斷句, 後續再由專人修訂校對,自然可以大幅簡省時間和人力,並且增進斷句成果的正 確性  [2], [3]。於此之外,在建立自動化斷句系統的過程當中,同時會釐清斷句 的模式與特性,歸納出斷句的模型與基本規則。這將增進我們對古漢語的了解, 有助於今人對古漢語的學習和研究,更可作為日後研究古漢語處理的基礎。  字與字之間沒有空白,句與句之間沒有標點,這些都是中文等亞洲語言的傳 統與特質。中文的自動化斷詞(Chinese word segmentation)研究,已經有多年 歷史,在自動翻譯、中文辨識、中文輸入法等領域,也都有普遍的應用。相對於 斷詞研究的豐碩成果,自動化古漢語斷句尚有很大的可能性,值得研究探索。 .                                                          1 . 趙恬養, 《增訂解人頤新集》  4 .  .

(15)  . 1.2. 問題描述 . 在開始斷句工作之前,必須先定義斷句的目標和產物。以中文斷詞為例,斷 詞所得的產物就是詞(word) ,換句話說,斷詞是在連成一串的中文字元(漢字) 中,辨別每一個詞的邊界。而古漢語斷句(或說句讀),目前在語言學上卻沒有 明確的定義。其中, 「句」是辨識句子(sentences)的邊界,類似句式邊界偵測 (sentenece boundaries detection) ,這部份比較沒有疑問。而「讀」的部份,一 般來說,是進一步將句子再切分為「子句」(clauses)的單位。但是,除了子句 需要斷開,中文在閱讀和傳述時,也習慣在「話題」 (topics)之後稍作停頓。例 如《莊子.逍遙遊》的句子「野馬也.塵埃也.生物之以息相吹也.」 ,其中「野 馬也」 、 「塵埃也」都屬於話題,不是子句。因此, 「讀」的工作,比較接近 shallow  parsing(chunking) 。綜合以上,斷句的產物,其實有多個層次,最大的單位是 句子,其次是子句,而子句之中,有時又可以再按話題切開。換句話說,古漢語 斷句工作,涵蓋了句子、子句、話題等三種邊界辨識的任務。  然而,中文句子和子句的分際,並不像英文那麼嚴謹。對一段很長的子句, 在適當的地方插入逗點,便能將子句拆成多個較短的子句;對一句很長的句子, 將部份逗點替換為句點,長句子就變為多個短句子。也就是說,句子或子句的邊 界,其實有模糊的空間。不同的斷法,或多或少改變了文本的語氣,但在文法上 都是合法的。在這樣的情況下,要明確地區別句子、子句、話題這三種層次,斷 句工作勢必更為複雜困難。而且,目前的數位化古漢語文獻,其中較嚴謹的版本, 多以單一符號如「.」作為斷句的分界(delimit)符號,並不細分句號和逗號, 故而以 supervised learning 的技術,無法透過這樣的資料學習分辨斷開的地方, 究竟是句子的結尾,還是子句的結尾。  所以,在本研究中,斷句的目標,是找出句子、子句、話題的結尾,將其斷 開,但並不分辨斷出來的產物,屬於哪一種單位。也就是說,給定一段未經標點 5   .

(16)  . 的漢語文本,斷句系統在理想的情況下,會找出所有應該斷開的地方。至於斷開 的地方,應該插入哪一種標點符號,是「讀」還是「句」,則不在本研究的範圍 之內。   . 1.3. 研究目標 . 自動化斷句系統是一個新的研究,沒有前人的標準可循,所以研究的首要工 作,即是設定斷句成果的評估指標(metrics)。有了評估指標,計算斷句成果的 精確度,而後才能以量化的方式,分析斷句系統的效能,評比系統的好壞,並作 為系統改進時的參考基準。因此,為斷句問題尋找合用的效能評估方法,量化斷 句結果「好」或「壞」的程度,是基本工作,也是本研究的重要環節。  其次,蒐集適當的語料(corpus) ,建立 dataset。Dataset 可以作為 machine  learning 系統的 training data,也可以作為驗證斷句成果、評估系統效能的 benchmark data。Dataset 必須有一般性,才能使斷句系統在 dataset 上的效能表 現,得以推廣到大多數的文本。作為系統建立的 training data,這套 dataset 也 必須有足夠的數量,和相當的代表性,才能幫助系統從中找出斷句通則,建構精 確的斷句系統。  有了基礎的工具和素材,於是可以建立斷句模型。斷句是自然語言處理 (natural language processing)的問題,在本研究中,我以 empiricist 的方法作 為基礎。斷句模型可以視為一種機器學習器(machine learner),從大量斷句完 成的 training data 中汲取斷句規則,調整參數;而後,面對未斷句的資料,便可 以判斷哪些地方應該斷開。機器學習的基本架構,如圖 3 所示。截至目前,機器 學習已有多年的研究,應用在諸多自然語言處理的問題,都有很好的成果。機器 學習器的架構和實作方法也相當多樣,為斷句系統設計一套適合的學習模型,是 本研究的核心。  6   .

(17)  .  .   圖  3 M Machine learn ning 示意圖.     為了簡化 化問題的複雜 雜度,本研究 究鎖定在先 先秦兩漢的文 文本。古漢 漢語隨著時代 代演 進, ,有演化的現 現象,不同 同的時代,語 語言也有各 各自的特徵。將斷句系 系統鎖定在單 單一 時代 代,會比找出 出符合所有 有時代的斷句 句系統來得 得實際。先秦 秦兩漢的文 文本,句子比 比較 短, ,句子中的 的子句也短,句型相對 對單純,而且 且許多詞彙 彙(words)都以單一漢 漢字 表示 示,可以略微 微排除斷詞 詞的需求。此 此外,漢語 語在先秦兩漢 漢已經相當 當成熟,諸多 多經 典著 著作,都完成 成於先秦兩 兩漢。例如《四書》 、 《五經》 、 《老 老子》 、 《莊子 子》 、 《史記 記》, 這些 些典籍都是 是後代文人研 研讀學習的 的素材,相當 當有代表性,是古漢語 語的根本基礎 礎。 所以 以,本研究聚焦在先秦 秦兩漢的文 文本,從中選 選擇 dataseets,作為設 設計斷句系統 統的 主要 要目標,並佐 佐以清代的 的奏摺語料,實驗斷句 句系統,面對 對不同時代 代的文本,有 有哪 些效 效能上的差 差異。       .  . 7   .

(18)  . 二、 相關研究  古漢語斷句是自然語言處理的問題,有幾項自然語言處理的典型議題,對本 研究來說,頗有借鏡的價值。所以,我將討論中文斷詞(Chinese word  segmentation)、句式邊界偵測(sentence boundary detection)、詞性標記 (part­of­speech tagging)等議題目前的發展,以及這些領域的研究成果中,對 斷句研究有所幫助的層面。  自然語言處理可以從方法上概分為 rationalist 和 empiricist 這兩類。在 1960 到 1985 年之間,rationalist 方法是自然語言處理的主流。Rationalist 以專家系 統(expert systems)的框架建立推論模型。首先,由語言學家(linguists)或語 言專家(language experts)以其專業知識,針對目標問題,預先制定推論規則。 然後,電腦程式便依循規則,進行推理判決。換句話說,電腦透過專家制定的規 則,去重現人腦的判斷過程,所以電腦是在模擬、逼近專家的知識和經驗。而 empiricist 方法則是以機器學習的框架建立推論模型。人類不必具備太多語言方 面的專業知識,只要提供資料與恰當的學習模型,用統計、樣式辨識(pattern  recognition)、機器學習等技術,讓電腦直接從大量的資料上歸納出有意義的規 則、調校模型參數,便可以進行推理。在此,電腦不再試著重覆人類的推理思維, 而挾著其鉅大的記憶容量和快速的運算能力,用量化的觀點解決問題。由於 empiricist 方法是近年來自然語言處理的主流,在主要的議題上有很好的成果, 因此,在本研究中,我也依循 empiricist 方法,以機器學習的架構,設計斷句模 型。  古漢語斷句其實是一項 text segmentation 的工作,所以,我將特別關注相關 領域中,序列處理的議題(即 sequence labeling 或 sequence segmentation),並 在以下探討序列標籤化(sequence labeling)的典型方法 hidden Markov models (HMMs)和當前主流技術 conditional random fields(CRFs)。  8   .

(19)  . 由於古漢 漢語本身的特 特性,頗不同 同於西方語 語言,也有別 別於現代漢 漢語。在處理 理斷 句之 之前,對古漢 漢語要有基 基本的了解。我將從古 古漢語的特質 質中,找尋 尋有助於人類 類斷 句的 的特徵,並 並討論這些特 特徵是否合 合適應用在自 自動化的斷 斷句系統中。     .   圖  4 古漢語斷句的 的相關研究.    . 2 2.1. 中 中文斷詞   . 西方語文 文在詞(worrd)與詞之 之間,通常有 有空白作為 為分界(dellimit),從文 文字 之中 中,抓出每一 一個詞彙,並不是太困 困難的任務 務。但中文、日文、泰文 文等東亞語文 文, 卻沒 沒有使用 deelimit 的習 習慣,在兩個 個標點符號之 之間,所有 有的字元(如 如漢字、Chinese  character 或 hanzi)都連 h 連在一起,沒 沒有空白或 或其他分隔符 符號,界定 定出詞的範 範圍。 所以 以,在處理 理中文資料時 時,往往不 不能避開斷詞 詞(word segmentatio on)的工作 作, 必須 須決定句子 子之中,每一 一個詞彙的 的邊界,進而 而將句子中 中的所有詞彙 彙辨識出來 來。  9   .

(20)  . 依據語言學上的定義,漢字的地位,介於西方語言中的字元(character)和 詞彙(word)之間,相當接近 morpheme(詞索)的概念。一個或多個 morphemes 即可組成一個詞,以英文來舉例,dog 是 morpheme,同時也是由單一 morpheme 構成的詞。而 dogs 也是一個詞,但卻是由 dog 和 s 這兩個 morphemes 組成。英 文等西方語言,morpheme 是連在一起的,但詞和詞之間有空白為分界。而中文 的詞彙既然由一個或多個 morphemes 構成,但缺乏詞與詞中間的分隔符號,故 判斷中文斷詞的分界相當困難。  以這個句子為例:    日文章魚怎麼說?    正確的斷法是:    日文  章魚 . 怎麼 . 說  ? .   但卻也可以斷為:    日 . 文章 . 魚  怎麼 . 說  ? .   第一個斷法當然是對的。然而,就字面上來說,第二個斷法所斷出來的詞, 也都是常見的詞彙,但整句話卻沒有意義。其中,「文」字可以和「日」字組成 「日文」這個詞彙,卻也可以和「章」字組成另一個詞彙「文章」 ; 「魚」字可以 作為單一字(morpheme)的詞彙,也可以和「章」字組成雙字的詞彙「章魚」。 所以,斷詞的工作,必須在許多可能的斷法中,排除各式各樣的歧義(ambiguities) , 找出最合理的一種斷法。  10   .

(21)  . 中文斷詞的方法,主要分為兩個大方向:字典式和機器學習式。字典式的方 法(dictionary­based approaches),是預先建立詞彙的字典,然後由專家定義一 套斷詞的規則,讓系統按照預定的規則,佐以字典上的資訊,作出斷詞判斷。但 受限於人力,字典法很難訂立周延的規則和詞彙,應付各式各樣的字詞組合以及 未知的新詞(unknown words 或作 out­of­vocabulary)。機器學習式的方法 (machine learning approaches) ,則完全不依賴字典和專業知識,直接由大量經 過斷詞的資料,統計歸納出斷詞的規則,藉此訓練 N‐gram 或序列標記等模型, 再用經過訓練的模型去斷詞。這兩種方向,可以互相搭配運用,這也是目前中文 斷詞研究的主流。例如,Gao et al. [4]  將中文的詞彙分成四類,配合字典與詞類 的資訊,利用 improved source‐channel models 作斷詞;Zhang et al. [5]  使用階 層式的 hidden Markov model,搭配專業的詞彙知識,建立斷詞系統。    在 Xue 的研究中,將中文斷詞轉化為字元標記(character tagging)的問題, 再以 maximum entropy model 來作序列標記  [6]。原本斷詞的工作,是在每一個 漢字與漢字之間,決定是否要斷開。Xue 則定義了四種標籤:LL、RR、LR、MM, 為每一個漢字加上標記。被標示為 LL 的漢字,就是某個詞的左界,是該詞的首 字;被標示為 RR 的漢字,則是某個詞的右界,是該詞的尾字;MM 表示該漢字 是在詞的中間,不是首字也不是尾字;LR 則代表該漢字是單一字的詞,同時是 詞的首字,也是尾字。舉例來說,下面這段文字:    汽車  用  時速  四十五  英里  瘋狂  地  穿過  空地    將每個字標記之後,成為:    汽/LL  車/RR  用/LR  時/LL  速/RR  四/LL  十/MM  五/RR  英/LL  里/RR  11   .

(22)  . 瘋/LL  狂/RR  地/LR  穿/LL  過/RR  空/LL  地/RR    於是,LL 代表詞的開始,RR 表代詞的結束,LR 表代單一個字的詞,其他 位於詞內部的字,則以 MM 表示;文字經由如此標記,斷詞就成為很簡單的工 作。換句話說,在 Xue 的方法中,斷詞的任務,轉變為標記(tagging、labeling) 的任務,於是便可以用諸多序列標記的演算法,如 Xue 所用的 maximum entropy  models,來解決這個問題。  Peng et al. [7]  也用類似的策略處理中文斷詞問題。但與 Xue 在  [3]  的方法, 有兩個主要的不同。第一,Xue 使用了 LL、RR、MM、LR 四種標籤,而 Peng et  al.  只用 START 與 NON‐START 兩種標籤,被標為 START 的漢字,是詞的開始, 其他漢字則是 NON‐START。這樣的作法接近傳統的 segmentation,當某個漢字 被標為 NON‐START,而下一個漢字是 START,就表示這兩個字中間應該斷開。 第二,Xue 使用 maximum entropy model 來作 sequence labeling,而 Peng et al.  則 以更新的技術 conditional random fields [8]  作為標記的模型。  古漢語斷句和中文斷詞,都是中文特有的議題,並且都是 text segmentation 的工作。如前所述,Xue [6]  和 Peng et al. [7]  的研究,對本斷句研究有很大的 幫助。Xue 使用 LL、MM、RR、LR 四種標籤,將 segmentation 的工作,轉變為 labeling 的工作。Xue 所處理的單位是詞,但也可以擴大為短語(chunks)或子 句(clauses),LL 可以改為標記子句的句首;RR 則是子句的句尾,MM 就是子 句句中的字,LR 則是構成短句的單一字,如《孟子.告子下》裡的「告子曰. 性.猶鳏柳也.義.猶桮棬也.」中的「性」字和「義」字。而 Peng et al.將 conditional  random fields 這個在 2001 年由 Lafferty et al. [8]提出來的序列標記技術,首次 應用在中文斷詞的領域,並獲得很好的效能。   . 12   .

(23)  . 2.2. 句式邊界偵測(Sentence Boundary Detection) . 句子(sentences)是構成文章的重要單位,有許多文件處理的應用,例如 句式分析(syntactic parsing)、機器翻譯(machine translation)、自動摘要 (document summarization)等,首先要將文本切分為一連串的句子,才能進行 後續的工作。在許多語言中,所謂句子,多半以句點(period, “ . “) 、問號(question  mark, “ ? ”)、驚嘆號(exclamation mark, “ ! “)作結尾。所以,這些符號可以視 為句子與句子之間的分界符號(delimit) ,並能藉此將文件分割成一連串的句子。 然而,真實的情況並不是這麼單純。  大多數的西方語文,句點(period, “ . “)符號固然常用在句子的最末,表示 句子完結,但有時卻也用來表示縮寫(abbreviation),如  “No. 1”,有時又可以 作為刪節號(ellipsis, “ … ”)的一部份,或是數字中的小數點(如  ”3.1415926”)。 所以,在文本中判斷句子的結尾,辨識句子的邊界,並不是簡單直觀的任務。在 自然語言處理中,把這個問題稱為句式邊界偵測(sentence boundary detection, 又稱作 sentence boundary disambiguation 或  sentence boundary identification, 也可稱為 sentence segmentation) 。  句式邊界偵測有很多種作法。最簡單是 period­space­capital letter 演算法  [9]。 凡是句點之後緊接著一個空白字元,又接一個大寫的字母,則可以假定這個句點 標示句子的結尾。這個方法實作簡單,可以寫成 regular expression [.?!][ ]+[A‐Z]  的形式,簡便地運用在許多地方,但效果卻差強人意。舉例來說,在  He stopped  to see Dr. White . . .  句中,Dr.  中的句點,是用來表示縮寫,但因為其後接著一個 空白,又接著大寫字母 W,在 period‐space‐capital letter 演算法的判斷下,會將 這個句點視為句子結尾,於是切出 He stopped to see Dr.  這樣錯誤的句字。對於 這樣的錯誤,固然可以準備一套字典,羅列各種縮寫詞彙,讓 period‐space‐capital  letter 盡量涵蓋各種例外情況,但必須耗費極鉅的人力和工時,而且還未必能應 13   .

(24)  . 付層出不窮的特殊情況。  目前主流的研究,捨棄了 rule‐based 的框架,改以統計式(statistical)的 思維切入這個問題。統計式的作法,就是機器學習的方法,將句式邊界偵測,視 為一個分類(classification)的問題。首先,利用機器學習的技術,建立適當的 分類器,繼而從大量的語料中,訓練分類器。訓練完成之後,分類器對輸入文本 中的每一個句點、問號、驚嘆號作二元分類,判斷是否為句子的結尾,而判斷的 依據,就是符號前後的文字。分類器的實作方式很多,前人研究中,使用了回歸 樹(regression trees)  [10]、類神經網路(artificial neural networks)  [11], [12]、 決策樹(decision trees)  [13]、maximum entropy modeling [14]  等分類器,效 能和最佳的 rule‐based 演算法差不多,錯誤率在 0.8%‐1.5%之間  [9]。    句式邊界偵測,乍看之下,和古漢語斷句頗有類似之處,但是現有的句式邊 界偵測模型,卻無法直接套用到古漢語斷句的系統上。第一,傳統的句式邊界偵 測所 disambiguating 的對象,是文本中的每一個句點、問號、驚嘆號,斷句所 disambiguating 的對象,卻包括所有字與字之間的間隙。在這點來說,古漢語斷 句更接近中文斷詞。第二,只要用簡單的 rules,例如前述的 period‐space‐capital  letter 演算法,就堪能辨識大多數的案例。但在古漢語斷句問題,卻沒簡單的規 則,足以應付大多數的狀況。第三,句式邊界偵測的問題,主要出現在西方語言, 相關的研究,自然都以西語(特別是英語)為主。然而,許多西語的性質,為中 文所無,所以,許多有助於句式邊界辨識的語言特徵,不能完全套用在中文上。 舉例來說,西文的大小寫(capitalization) 、字首變化(prefix) 、字尾變化(suffix) 等特徵,在句式邊界判定中,有顯著的參考意義,但中文卻沒有相應的特性可以 利用。    儘管無法直接從句式邊界偵測的現有研究中,找到合乎斷句需求的模型,但 14   .

(25)  . 卻可以借用此一領域的效能準則(performance metrics),來作古漢語斷句系統 的評估指標。句式邊界偵測的常用指標是 F­measure 和 NIST­SU error rate [15]。  F‐measure 是 recall 和 precision 這兩個數值的 harmonic mean。先不考慮問 號和驚嘆號,假設某個文本,共有 k 個句點,其中的 m 個是實際的句尾標示(故 該文本共有 m 個句子,且 . ) ,而句式邊界偵測系統判定這 k 個句點中,有. n 個句尾標示,其中判定正確的有 c 個(故  代表,所有的句尾當中,獲得正確判斷的比例; . ,. )。則 .   ,即.   ,代表句式邊界. 偵測系統所判定的句尾當中,真正是句尾的比例。這兩個量值的範圍都在 0%到 100%之間,數值越高,判斷的效能越好。F‐measure 綜合了 recall 和 precision 這兩個指標,合成單一指標,方便評估比較。F‐measure 也介於 0%到 100%之 間,並接近 recall 和 precision 當中,較低的一邊,只有當 recall 和 precision 均 高的時候,F‐measure 才會高。  NIST‐SU error rate 是另一個常見的指標,除了句式邊界偵測,這指標也經 出現在其他 segmentation 的議題。NIST‐SU error rate 計算是 segmentation 的錯 誤率,所以其值越低,代表判斷的錯誤越少,最低為 0%,最大值則可能超過 100%。  F‐measure、recall、precision 這三個指標,在中文斷詞和諸多 classification 的研究經常出現,作為評估效能的參考。而 NIST‐SU error rate 則常見於各類 text  segmentation 研究。我將在第三章中,詳細介紹這幾項指標,並作定義。進而使 用這些指標,來作斷句效能的評量。並會對照實驗結果,檢討這些指標在斷句研 究中的適用性。   . 15   .

(26)  . 2.3. 詞性標記(Part­of­Speech Tagging) . 詞性標記(part‐of‐speech tagging, POS tagging,簡稱 tagging)是自然語言 處理的基礎課題。在研究如何讓機器理解(understanding)自然語言之前,必 須先能解析(parsing)自然語言,而要達成解析的工作,則先要能辨識文本中 每一個詞的詞性(syntactic category) 。舉例來說,The representative put chairs on  the table 這句話,可以加上詞性標記,得到:    The/AT representative/NN put/VBD chairs/NNS on/IN the/AT table/NN.    詞性的分類方式有許多種,有精有粗,但總不脫名詞(nouns) 、動詞(verbs)、 形容詞(adjectives)、副詞(adverbs)等幾個大類為基礎。在上面的例子中, AT 為冠詞(article) 、NN 為單數名詞、VBD 為過去式動詞、NNS 為複數名詞、 IN 為介繫詞(preposition)。  因為一個詞,可能同時有許多種詞性,所以詞性標記也是 disambiguation 的工作。舉例來說,前述的句子,也可以標記為:    The/AT representative/JJ put/NN chairs/VBZ on/IN the/AT table/NN.    在此,representative 被標記為 JJ(形容詞,adjectives)、put 被標為名詞、 chairs 被標為 VBZ(第三人稱現在式動詞) 。第二種標記方法,在文法的角度上 完全正確,但在文義上卻沒有意義。因此,詞性標記所面對的問題,是在各種可 能的標記方案中,選擇最有可能的一種。  自動化的詞性標記,從 1950 年代開始。早期以 rule‐based 為主,依靠人工 建立 disambiguation 的規則,如今則以 machine learning 的方式為主流,,達到 16   .

(27)  . 96%‐97%以上的精確度。由於詞性標記是自然語言處理,基礎而重要的工具, 在西語之外,中文、日文等許多語言也都有類似的研究,甚至還有古漢語的詞性 標記  [16]。在 Huang et al. [16]  的詞性標記研究中,也有提到古漢語斷句的需求。 在他們的系統中,古漢語文本必須先經過斷句,然後才能標記詞性。但 Huang et  al.  並沒有處理古漢語斷句的問題,而是直接拿經由人工斷句完成的資料,來作 測試。  詞性標記是典型的序列標記(sequence labeling)任務,對應到 Xue [6]  的 中文斷詞研究,序列標記不只可以應用在為詞性標記,也可以為單一漢字標上其 在詞中的位置(Xue 以 LL、RR、LR、MM 四種標籤來標記) 。再以此推廣,序列 標記的目的,也可以化為對每一個漢字,標上其在子句中的位置(如句首、句中、 句尾等),於是便達成斷句的工作。   . 2.4. Markov Model Taggers . 典型的 machine learning 架構,包含 decision trees、Bayesian networks、 support vector machines、neural networks 等方法  [17], [18]。這些基本的方式, 通常假定每一次處理的 instance 互相獨立,也就是說,每個 instance 的處理結 果,並不會影響到其他 instance。但在本研究中,處理的對象是一段一段連續的 漢字字串,在一個長句中任何一個地方斷開,對整個句型和句意都有莫大的影響, 必然牽連到下一處的斷句判定。在面對漢字字串這樣前後相依的序列性資料 (sequence data)時,則很合適以序列標記(sequence labeling)的模型來解決。  目前,序列標記技術,在資料探勘(data mining)、樣式辨識(pattern  recognition)(特別是語音辨識)等領域,皆有廣泛的應用。近十年來,除了 maximum entropy models [19]、conditional random fields [8]  等典型的序列標 記模型之外,也有人將一般性的 large margin 分類器,如 support vector machine 17   .

(28)  . 和 AdaBoost 化用在序列標記的工作上,並得到不錯的效果  [20], [21]。但是, 截至今日,最典型,最簡單而好用的序列模型,仍然是具有數十年歷史的 hidden  Markov models [22]。    Hidden Markov models 是 generative models。當給定模型參數 λ 之後,對於 observation sequence 的隨機變數 X 和其所對應的 label sequence 隨機變數 Y, 具有 joint 機率分布 . ,. 。於是可以利用此特姓,處理三種典型的 sequence. 問題:    1. 估測(evaluation) :給定模型λ,計算某一特定的 observation sequence X 的出現機率 . | 。 .   2. 解碼(decoding):給定模型λ,和某個特定的 observation sequence X, 找出 X 背後出現機率最高的 label sequence .  arg max. , | 。在. 此,通常使用 Viterbi 演算法實作  [22], [23]。    3. 學習(learning) :在未知 λ 的情況下,給定許多組 observation sequence  X,作為 training set。從中找出最符合 training set 的模型   argmax. | 。 .   古漢語斷句轉化為序列標記的問題之後,便很合適運用 hidden Markov  models 來處理 labeling 的工作。首先,以統計的方式,從眾多的古漢語典籍中, 建立出斷句的序列標記模型參數 λ。得到 λ 之後,再利用問題 2 的方式,為尚未 斷句的文本,找出最佳的斷句決定。由於 λ 可以直接從 training data 中統計得知, 而不必透過問題 3 的方法,從 unsupervised 的資料中模索調整,所以這個方法 18   .

(29)  . 又可稱為 Visible Markov Model Tagger [24]。   . 2.5 2.5.1. Conditional Random Fields  簡介 . Hidden Markov models 是經典的 sequence models,然而,最近幾年,效能 最好,獲得許多領域廣泛使用的序列模記模型,則是 conditional random fields  (CRFs)。Lafferty et al. [8]  提出 conditional random fields,主要針對 hidden  Markov models 和 maximum entropy Markov models [25]  的缺點,改進而來。 相較於傳統的 hidden Markov models,以 conditional models 為基礎的 conditional random fields 沒有 generative models 的限制,所以可以如 maximum  entropy models 或 maximum entropy Markov models,自由地在 model 中,增加 各種形式的 features。而相較於同樣是 conditional probabilistic based 的序列模 型的 maximum entropy Markov models,conditional random fields 迴避了惡名 昭彰的 label bias problem [8], [26], [27]。除了理論上的優點,conditional random  fields 也確實在實驗中,超越 hidden Markov models 和 maximum entropy Markov  models,而迅速成為主流的序列標記模型。目前已經應用在詞性標記 (part‐of‐speech tagging)  [8]、部份短語標記(shallow parsing)  [28]、中文 斷詞  [7]、語音資料的句式邊界偵測  [29]  等問題,並且展現優秀的效能。   . 2.5.2. 模型定義 . 在一般情況下,conditional random fields 是一種 undirected graphical  models(無向圖模型),但在作序列標記時,則只使用其中的特例:鏈狀結構 19   .

(30)  . (chain‐structured)無向圖,如圖 5 所示。 .   圖  5  鏈狀結構的 conditional random fields 圖形 .   設   為 observation sequence 的隨機變數,Y 是對應於 X 的 label sequence 的隨機變數,在此假設    和    有相同的長度。 的每一個項目 .   的內容都是. 一個 label,例如詞性標記中的詞性,或是中文斷詞中,漢字在詞中的位置(舉  [6]    的例子,就是 LL、RR、MM、LR 這些標籤) 。Conditional random fields 定義 . |.  . 是給定輸入序列  X 之後,label sequence Y 的條件機率分布。    定義:設無向圖 .  . ,. ,故 Y 裡的每一項,都是 G. ,且 . 上的頂點。當 X 條件成立,且隨機變數  | ,. | ,. ,.   符合 Markov property . , ~ ,   則 . ,.   是 conditional random fields。 . 2 . 由於我們在此只考慮鏈狀結構(chain‐structured)的 conditional random  fields,因此,G 可以簡化為鏈狀形式: 其中 1.  .  . ,. , … . ,. 在此,  ~    表示 w 和 v 是 G 上的相鄰點  20 .  . ,. 1. ,. ,…. ,其對應的 label (state) . ,則可以透過 conditional random fields 計算給定 X.                                                          2 . ,. 。 . 設輸入的 observation sequence  sequence . 1, 2, 3, ….

(31)  . 時,Y 的條件機率:    1. |. exp. ,. , ,.                        1  .    . 其中,. 是正規化因數(normalization factor) ,使所有 . 所有 Y 值的機率總合為 1。而 . ,. , …  和 . ,. |. 對. , …   則分別是參數. (parameters)和特徵函數(feature functions)。  特徵函數 . ,. , ,. 則可以視為是這個函數   . 相依(.   通常是二元值(binary‐valued)函數,而參數   .   的 weight。由於特徵函數的格式,考慮了標籤前後的. )、整個 observation sequence X、以及目前在序列中的位置 t,. 所以在使用 conditional random fields 時,可以針對問題特質,設計各式各樣的 特徵函數。以古漢語斷詞來說,被標記為 RR 的字(詞的尾字),下一個字很可 能就是 LL(詞的首字)。所以對應的特徵函數就是:    ,. , ,. 1, 0,. if   and  otherwise.  .  .   由於在 RR 後面接著 LL 的可能性極高(另一個可能是 RR 之後接 LR,但 LR 是極少數),所以這個特徵函數所對應的參數. 經過訓練之後,理應有相當高的. 權重。  而像「汽車」這個詞, 「汽」字是 LL, 「車」字是 RR,則可以用這個特徵函 數來描述:    ,. , ,. 1, if   and  0, otherwise 21 .  .  .  and . 汽 and . 車  .  .

(32)  .   將 feature function 改寫為比較簡短的形式,得到:    ,. ,. , ,.                             2  .   再將  (1)  式改寫為:    |. 1. exp. ,.                        3  .   特徵函式可以由人工設計、從外部的字典檔產生,也可以透過自動化的方法, 從 training data 中汲取。而每一個特徵函式 .   所對應的 weight   .   值,無法. 用分析式的方法計算,而必須要用 parameters estimation 求出。    有了特徵函數  f  以及參數  ,對於給定的 input sequence X,其最有可能的 label sequence 就是:    arg max  . |.  .  . 此時,只要套用典型的解碼演算法 Viterbi [22], [23],便可以很有效率地算 出 label sequence    [8],和 hidden Markov models 的解碼過程相似。   . 22   .

(33)  . 2.5.3. 參數評估 . 對 conditional random fields 而言,training 就是對 作參數評估(parameter  estimation) 。  假設總共有 n 筆 training data,data i 以 . ,.    表示,其中 是 observation . sequence, 是 label sequence。則 training 的目的,要找到一組 ,使得 training  data 的 log‐likelihood 最大化,即 maximum log‐likelihood estimation:     . log.  .  . log. 1. ,.  .   由於 L 是 concave function,必然收斂,而且可以找到 global maximum,而 收斂的點在 L 微分為 0 的地方:    0. ,. y,.  . y.  .   參數值    無法用分析式的方法計算,必須用數值方法迭代逼近。在 Lafferty  et al. [8]  原始的論文中,沿用 maximum entropy models 的研究成果  [19], [30], 用 improved iterative scaling algorithms(IIS)作 conditional random fields 的 training。雖然 improved iterative scaling algorithms 實作簡單,也保證必定收斂, 但速度並不理想。Sha et al. [28]  在 shallow parsing 的研究裡,測試了許多種優 化演算法(optimization algorithms),包括 preconditioned conjugate‐gradient  (CG)、limited‐memory quasi‐Newton (L‐BFGS)、generalized iterative scaling (GIS)、 non‐preconditioned CG,並指出 L‐BFGS 收斂速度最快,而且時間只有 GIS 的 23   .

(34)  . 2.27%,是目前最理想的評估方法。而後,其他的研究也都以 L‐BFGS 作為主流  [7],  [29], [31]。   . 2.5.4. Averaged Perceptron Training . 在 Sha et al. [28]  的研究中,將 Collins [32]  的 averaged perceptron 視為 conditional random fields 的變形,也將 averaged perceptron 當作參數評估的方 法之一,和其他評估方法比較。  原始的 perceptron 演算法由 Rosenblatt [33]  年提出,是一種簡單的類神經 網路。Freund et al. [34]  依據 perceptron 的精神,提出 voted perceptron 和 averaged perceptron,並證明這兩種演算法的效能,足以和 support vector  machines 等主流的分類器相提並論。而後,Collins  再將  Freund et al.  的成果擴 展,用 voted perceptron 和 averaged perceptron 處理序列標籤的問題  [32],  [35]。  Collins [32]用於 parsing 和 tagging 的 perceptron 演算法,機率模型與 conditional random fields 完全一樣,不同之處在於,傳統的 conditional random  fields 用 maximum likelihood estimation 求參數最佳化,而 Collins 改以 perceptron 的方法作參數逼近。Perceptron 的 training 概念是,儘量使特徵函數 在 training data 上的適用度   . ,. ,. ,接近特徵函數與系統預測結果的適用度 . 。舉例來說,在第 t 回合時,對於每一筆 training data i,用以下的方. 法更新所有參數:    ,.  . ,.   for all   .   其中,. 是以目前的. 為基礎,透過 Viterbi 演算法求得:  24 .  .

(35)  .   arg max  . |.  .  . Perceptron 不像其他參數評估法,擔保必定收斂。但 Collins [32]和 Sha et al.  [28]  的實驗指出,perceptron 以非常快的速度逼近 global maximum,通常只要 將整個 training data 掃過十數個回合,就能得到很好的成果。但是,經過前幾回 合快速地逼近之後,成長速度會大幅衰減,甚至還有可能退步。根據 Collins 的 實驗,將每一代的參數平均,作為最終的模型參數,比只取最後一代的參數有更 好效能。這個方法,Collins 便稱之為 averaged parameters,而後又有人稱呼此 版本的 perceptron 為  averaged perceptron。在 Sha et al. [28]  的研究中,averaged  perceptron 僅僅訓練兩個回合,shallow parsing 的 F‐measure 已超過 93%,但 再經過許多回合之後,得到最佳的成績是 94.09%,成長極微。即使如此,只訓 練兩個回合的成績,其實已經逼近以 L‐BFGS 優化,傳統 conditional random fields 的成績(94.38%)。    Collins [32]  的 averaged perceptron 演算法,和 conditional random fields 有相同的機率模型,雖然並不更精確,但實作相對容易,訓練的速度也快,卻又 能達到逼近 conditional random fields 的表現。因此,averaged perceptron 在自 然語言社群,受到廣泛的歡迎  [36]。   . 2.6. 古漢語的語言特徵 . 清末馬建忠所著的《馬氏文通》,是第一部中文的文法書。馬建忠挪用西洋 拉丁語系的文法概念,分類歸納古漢語的語法,其中,也討論到了句讀的問題, 並整理出一部份粗略的斷句規則。民國初年的語言學家楊樹達,繼馬建忠之後, 25   .

(36)  . 建立詞類劃分為中心的體系,研究古漢語語法。其著作《詞詮》  [37],收錄古 書中常用的 470 多個虛詞,分門別類,舉例說明用法。楊樹達的另一著作《古 書句讀釋例》  [1]  則以「句讀之事,視之若甚淺,而實則頗難」為由,從「誤 讀的類型」 、 「誤讀的貽害」 、 「誤讀的原因」 、 「特殊的例句」四個層面,舉例探討 句讀錯誤的因素。該書假定讀者預先具備斷句的基礎,講述細微而容易誤讀的案 例。因此,雖然《古書句讀釋例》是斷句的重要知識來源,畢竟無法單憑書中的 條例與片面的規則,建立真正具備斷句能力的 rule‐based 系統。    前面介紹了許多種序列標籤化的方法,然而,無論是哪一種方法,都必須從 data 中汲取有意義的特徵(features) ,利用這些特徵作 training,也利用這些特 徵資訊,為未知的 sequence 作 labeling。所以,如果能從  data 中粹取(extraction) 越多特徵,將有助於增進分類器的效能。在本研究中,training data 是一段一段 經過斷句的文字。漢字本身固然可以當作一種特徵,但藉由中文的特性,由漢字 出發,還能找到更多有助於斷句的間接特徵,這些特徵包含聲韻、詞性、對句等。  以聲韻來說,某些音韻很少連在一起使用,當相鄰兩個字的聲韻屬於這種情 況時,表示這兩個字很可能必需斷開。楊樹達  [1]  提到「因不識古韻而誤讀」, 可知聲韻也是斷句辨識的線索之一。在詞性則有助於分析句子的結構:某些虛詞 常用在句首,如「夫」 、 「蓋」 ,而某些常用在句末,如「也」 、 「矣」 ,這些都可以 作為斷句的識別符號。對句在古漢語中,有頗高的出現頻率,這種特殊的性質, 也有助於斷句。比如說,當我們發現上下兩段文字的句型結果類似,如「賢者以 其昭昭.使人昭昭.今以其犷犷.使人昭昭」,或者有明顯的詞對,如「堯舜. 性之也.湯武.身之也」 (「堯舜」對「湯武」 、 「性」對「身」 。以上兩句出自《孟 子.盡心篇》),都可以從中把句子切為對稱的兩半。  然而,這些由字面連結出去的間接特徵,都需要相關資料庫的配合,才能附 加到 training data 上。目前,台灣大學中國文學系和圖書資訊學系提供線上音韻 26   .

(37)  . 字典3,供一般大眾查詢漢字的聲韻,收有中古音、中原音韻、中州音韻、吳語 等幾種聲韻資料,並以反切和擬音等記號標示發音。雖然,這個資料庫並沒有上 古漢語的資訊,但仍然可以借用中古音來作現階段暫時性的材料。至於詞性和對 詞,目前則尚未找到合用的資料庫。雖然有《幼學瓊林》 、 《馬氏文通》 、 《高等國 文法》 、 《詞詮》等包含詞性和對詞資料的書籍,但將紙本文件數位化和結構化需 要人工處理,曠日費時,只能留待將來解決。   .  .                                                          3 . http://moodle.lips.tw/~yinyun  27 .  .

(38)  . 三、 系統設計  本研究的主要目標有三:    1. 找尋適合評估斷句成效的準則(metrics)  2. 蒐集語料、建立 datasets  3. 以 machine learning 技術,建立古漢語斷句模型    這三項工作,在古漢語斷句研究上,如圖 6 所示,其實環環相扣,互相依賴。 少了任何一部份,古漢語斷句研究便無法進行。斷句模型,居於斷句系統的核心 位置,也是本研究的核心議題。Dataset 在本研究中,有兩種功能,訓練(training) 和測試(testing) 。所謂 training,是讓斷句模型從中汲取有意義的語言特徵,並 統計出每一個特徵的權重,建立模型的參數(parameters),然後,斷句模型始 能運作。而 testing 則在斷句模型上線之前,測試系統的功能,評估斷句模型的 表現。當 test data 經過斷句之後,成為一篇篇有斷句符號的文件,此時固然可 以用肉眼分析斷句的成果,觀察斷句的效能,但若 test data 相當龐大,成千上 萬,單純用肉眼判斷,不但費時耗力,而且也很難從繁浩的文件中,理出有意義 資訊。這時,就必須藉由評量準則(metrics) ,將文字性的測試成果,轉換成量 化的數據,並將龐大的數據統計成少數幾項指標,人類再透過這些量化的指標去 了解測試結果,觀察斷句模型的特性,評量斷句系統的效能。   . 28   .

(39)  .   圖  6  古漢語斷句研究 古 究系統架構圖 圖 .   自然語言處理 理議題,都各 各有其常用 用的 datasetts 和評估指 指標。但古漢 漢語 典型的自 斷句 句是新的研 研究,沒有前 前人的標準可 可用,所以 以,本研究雖 雖然以斷句 句模型的研究 究為 核心 心,但為了 了訓練斷句模 模型和檢驗 驗斷句模型的 的效能,所 所以也將擬定 定 metrics 和 dataasets 的工作 作,納入本 本研究的目標 標。  本章以下 下的篇幅,將 將逐項介紹這 這三項工作 作的設計內容 容,並重心 心放在古漢語 語斷 句模 模型設計,詳細探討我 我的設計觀 觀點和援用技 技術。   . 3 3.1. 評 評量準則 (metriccs) . 古漢語斷 斷句是自然語 語言處理(natural lan nguage proccessing)的 的問題,牽涉 涉到 機器 器學習(machine learn ning) 、樣式 式辨識(patttern recogn nition) 、語音 音辨識(speeech  reco ognition) 、 、資料探勘 (data min ning) 、資訊 訊擷取(infformation rretrieval)等 等領 域的 的技術。所以 以,我先從 從這些領域中 中的相關議 議題下手,找 找尋通用的 的、適當的評 評量 準則 則。  29   .

(40)  . 在分類器(classification)的評量上,最常見的測量方式是精確度(accuracy  measure) ,也就是正確判斷的次數,除以判斷的總次數。在古漢語斷句來說, 斷句模型決定了每兩個相鄰的漢字之間,是否應該斷開。倘若一段文字,共有 n 個漢字,斷句模型則需作  中,有 m 個是正確的(0. 1  次「斷或不斷」的判決。若這  1),則整體斷句的精確度就是 . 1  個判決當 / 。 . 用精確度來作評量,雖然簡單方便,但應用在斷句的評估上,卻有盲點。以 《孟子》為例,不含標點和篇名,總字數為 35392 字,而用來將句子斷開的標 點則有 7091 個4。平均來說,每五個字為一斷,相鄰的字與字之間,不斷的機率 遠高於斷,斷句模型即使對所有的 case 一概作出「不斷」的判斷,也能達到 80% 的精確度。在這種度量標準下,一個幾乎完全不斷句,但每次斷都斷錯的分類器, 也可以得到不錯的精確度,然而,這種斷句成果在實質上並沒有用處。反之,積 極斷句,但有時會錯斷的分類器,對人類或許有參考價值,卻會在精確度的評量 上吃虧。由此可見,精確度可以參考,但不能作為評量斷句成果的單一準則。    字與字之間,「斷」與「不斷」的機率分佈懸殊,這樣的情況叫做 class  imbalance problem [17],許多醫療診斷的問題也是如此。在檢驗疾病時,健康無 病的受驗者,通常會遠多於真正患了該病的受驗者。所以,在評量測驗工具時, 偏向陰性(無病)判斷的測驗工具,在精確度上會有較佳的表現,但此種較為樂 觀的判斷,可能忽略真正得病的患者,而延誤就醫時機。所以,在 class imbalance 的情況下,評估分類器效能,在精確度之外,會合併考慮 recall(又作 sensitivity, 敏感度)和 specificity(特異度)這兩個準則,作為評比的參考。Recall 是指所 有患了某病的人,被正確檢驗出患病的機率;specificity 和 recall 互補,指是所 有的沒有患該病的人,被正確判斷出無病的機率。所以,如果將這兩個指標應用 在斷句評估,則 recall 就是該斷的地方,有正確斷開的機率;specificity 則是不                                                          4 . 統計自中央研究院漢籍電子文獻之《斷句十三經經文.孟子》  30 .  .

(41)  . 該斷 斷開的地方 方,沒有被錯 錯斷的機率 率。recall 和 specificity y 是相對的 的,如果某種 種分 類器 器的 recall 和 specificiity 都相當高 高,則表示 示此分類器有 有相當高的 的準確性,而 而不 像單 單一的精確 確度容易受類 類別分佈懸 懸殊的影響。  在評估系 系統的 recalll‐specificity y 的關係時 時,常配合 ROC curve R (receiver  opeerating charracteristic curve)輔助 助  [17], [24 4]。ROC cu urve 是二維 維的圖,縱軸 軸通 常是 是 recall,橫 橫軸是 fallo out(= 1 – sspecificity) ) 。對於某個 個分類器,每次的效能 能表 現, ,便可以取 recall 和 specificity 兩項指標, 兩 約化為二維 維圖型上的 的點,最後由 由(0,  0)開 開始,沿著橫 橫軸,將每 每一個點連 連線,最後再 再接到(100 0%, 100%),便得到一 一條 曲線 線。這條曲 曲線的涵蓋面 面積(AUC,area und der the curv ve)越大,代示該分類 類器 的整 整體 recall‐specificity 表現較好。如圖 7 的範例,A 的 與 B 是兩個 個分類器,各 各有 兩次 次表現。由圖 圖上所示,A 的 ROC C Curve 涵蓋面 面積,明顯 顯大於 B。因 因此可以推論 論, 整體 體來說,A 在 recall‐sp pecificity 關係上,效 關 效能勝於 B。   .   圖 7 ROC Curv 圖  ve  範例 . 31   .

數據

圖 1  清末奏摺 
圖  5  鏈狀結構的 conditional random fields 圖形 

參考文獻

相關文件

本實驗中的限量試劑(limiting reagent)為何?NaNO 2 是否適合做為限量試

2-1 化學實驗操作程序的認識 探究能力-問題解決 計劃與執行 2-2 化學實驗數據的解釋 探究能力-問題解決 分析與發現 2-3 化學實驗結果的推論與分析

推理論證 批判思辨 探究能力-問題解決 分析與發現 4-3 分析文本、數據等資料以解決問題 探究能力-問題解決 分析與發現 4-4

Google Science Journal 簡介..

1.學生體驗Start on tap、一個角色同 時可觸發多於一 個程序及經歷運 用解決問題六步 驟編寫及測試程 序.

這些問題目前尚未找到可以在 polynomial time 內解決的 algorithm.. 這些問題目前尚未被證明無法在 polynomial time

• 測驗 (test),為評量形式的一種,是觀察或描述學 生特質的一種工具或系統化的方法。測驗一般指 的是紙筆測驗 (paper-and-pencil

一、高斯消去法:將方程組的某一列乘以定數加到另一列的方法,稱為高斯消去法