• 沒有找到結果。

實驗二:Training Data 評比

四、  實驗

4.3  實驗二:Training Data 評比

4.3 實驗二:Training Data 評比 

4.3.1 實驗方法 

在實驗二中,將以dataset 為主角,試驗這九款 datasets,作為 training data 的效能。測試與驗證的方法,是每次以一個dataset 作為 training data,分別以 hidden Markov models 和 conditional random fields 兩種模型訓練,再以其餘八 款dataset 作 test data,驗證斷句的效果。藉此,可以觀察該 training data 是否 有足夠的代表性和一般性,使得訓練出來的模型,面對不同時代、不同作者、不 同體裁的文本,也能準確斷句。如果,某個dataset 所訓練出來模型,對諸多文 本都有很好的效能,則將來實際應用古漢語斷句的系統時,這個dataset 就非常 合適作為最終的training data。 

然而,上古漢語混合這個dataset,由《論語》、《孟子》、《莊子》、《左傳》、

《史記》等五個dataset 組合而成,內容有重疊之處,拿來互相作訓練和測試,

就犯了training data 與 test data 重覆的問題。所以,上古漢語混合只與清代奏 摺互相驗證,而不涉入其他上古漢語文本的訓練和測試。 

本實驗中,conditional random fields 的兩項參數,依循實驗一的設定,。 

 

4.3.2 實驗結果與分析 

經過驗實發現,《春秋三傳》的同質性相當高,無論用於training data 或是 test data,三者的表現幾乎一致。為了便於呈現和分析,我僅取篇幅最長,最重

要的《左傳》作為三傳的代表,而略去《公羊傳》和《穀梁傳》。表格9 和表格 10,列出在 hidden Markov model 和 conditional random fields 這兩種模型下,

以《論語》、《孟子》、《莊子》、《左傳》、《史記》這五個dataset,分別作為 training  data,而以其餘四個 dataset 為 test data 的平均效能表現。 

 

表格  9  以各 dataset 作為 training data,訓練 hidden Markov models 的平均斷句效能 

Training Data  Accuracy  Precision  Recall  Specificity  F­Measure  NIST –SU    Error Rate 

Labeling    Accuracy 

《論語》  82.18% 62.36% 56.12% 90.36% 57.61% 80.96% 67.48%

《孟子》  82.93% 68.56% 54.52% 92.57% 59.10% 72.99% 68.49%

《莊子》  83.45% 69.95% 55.76% 92.77% 60.68% 70.50% 69.56%

《春秋左傳》  84.47% 64.73% 64.26% 90.32% 63.57% 73.77% 71.62%

《史記》  86.31% 75.56% 65.48% 93.56% 68.86% 57.97% 74.46%

平均  83.87% 68.23% 59.23% 91.92% 61.96% 71.24% 70.32%

   

表格  10  以各 dataset 為 training data,訓練 conditional random fields 的平均斷句效能 

Training Data  Accuracy  Precision  Recall  Specificity  F­Measure  NIST –SU    Error Rate 

Labeling    Accuracy 

《論語》  80.75%  57.95% 62.12% 86.80% 58.93% 88.16%  66.26%

《孟子》  82.92%  64.91% 65.27% 89.12% 63.90% 75.12%  69.81%

《莊子》  84.00%  68.61% 63.80% 91.00% 65.08% 68.97%  71.33%

《春秋左傳》  84.21%  62.56% 73.84% 87.37% 67.00% 75.93%  72.12%

《史記》  87.93%  76.93% 73.46% 93.23% 74.11% 51.19%  77.96%

平均  83.96% 66.19% 67.70% 89.50% 65.80% 71.87% 71.50%

 

比較這兩張表格,可以觀察到,除了《史記》之外,兩個模型的表現相當接 近。然而,以《史記》去訓練的conditional random fields,卻是所有組合中表 現最佳的。與實驗一相較,conditional random fields 在大多數的 dataset 上並沒 有優勢,和hidden Markov models 表現當相。個人推測,這和實驗一當中,

con 如果 field mod

nditional ra 果training d

ds 面對變化

ining data 之斷

上古漢語混合

能表

,dataset 作 預期的假設 作為trainin 設。 

ning data 之斷

能表現有所 呈現一致。在

dden Marko ds 上,相差

dataset 的 明顯較好, ov models 上 差更是明顯

各個datase 型上,《史記

ataset 的長度

itional rando

ining data 的 好的效能,

個百分點,在 圖12 和圖 curves 其實

、《孟子》、

4.4

練hidden M 清代奏摺的 為training 作為training on。接下來 ning data 和

又分a 與 b 為

和test data

為兩個部份 dels 和 con 圖14 所示。實

語文本的效

圖。以hidden 古漢語文本為 training data

跨時代的適

語的範疇,時 其效能表現都

甚好,接近在 將training d

隔千年以上

之a,以各種 andom field

b 則改以清 15。 

dels 和 condi a,為清代奏摺

語的datase 模型,測試模

training dat

m fields 兩模

年,

4.4

圖。以hidden 代奏摺為train

分析 

datasets 作為

training da 摺斷句的效能

Recall  Spe

42.56%

dels 和 condi 為上古漢語文本

ta,訓練 hid 能。 

ecificity  F­M

90.40% 4

easure  NIST Error 41.05% 123 42.00% 119 42.50% 120 34.36% 168 40.35% 138 38.85% 146 39.85% 136

m fields 兩模

models 對清代

T –SU   

表格  12  各種 datasets 作為 training data,訓練 conditional random fields 對清代奏摺斷句 的效能。 

Training Data  Accuracy  Precision  Recall  Specificity  F­Measure  NIST –SU    Error Rate 

Labeling    Accuracy 

《論語》  73.44%  33.55% 50.25% 79.17% 37.26% 195.26%  52.17%

《孟子》  73.38%  33.12% 51.20% 79.03% 37.22% 194.35%  52.06%

《莊子》  76.94%  37.80% 51.59% 83.13% 40.75% 166.21%  58.00%

《春秋左傳》  71.65%  32.19% 56.42% 76.16% 37.66% 209.51%  48.84%

《史記》  77.33%  38.55% 53.61% 83.24% 41.82% 165.20%  58.55%

上古漢語混合  75.10%  35.01% 52.54% 80.88% 38.77% 182.38%  54.71%

平均  74.64% 35.04% 52.60% 80.27% 38.91% 185.49% 54.06%

 

以上兩個表格,是實驗三之a 的斷句成效。表格 11 的數據,是分別以《論 語》、《孟子》、《莊子》、《春秋左傳》、《史記》、上古漢語混合等6 個 datasets,

訓練hidden Markov models,再對清代奏摺斷句的效能。表格 12 則改以

conditional random fields 為模型,作相同測驗的效能。然而,在這樣的試驗裡,

兩個模型的效能都不理想。 

「以古鑑近」的成效不彰,再看實驗三之b「以近鑑古」的狀況。表格 13 是以清代奏摺為training data,訓練 hidden Markov models,再對《論語》、《孟 子》、《莊子》、《春秋左傳》、《史記》、上古漢語混合等6 個 datasets 作斷句試驗 的效能。表格14 是相同的檢驗,唯斷句模型改為 conditional random fields。 

 

表格  13  以清代奏摺為 training data,訓練 hidden Markov models 對各 datasets 斷句的效 能 

Test Data  Accuracy  Precision  Recall  Specificity  F­Measure  NIST –SU    Error Rate 

Labeling    Accuracy 

《論語》  77.77%  EREF _  39.90%  91.32%  47.15%  87.23%  60.27% 

《孟子》  80.80%  56.88%  41.26%  91.55%  46.95%  90.74%  65.05% 

《莊子》  80.75%  58.59%  43.67%  91.31%  48.35%  91.24%  64.52% 

《春秋左傳》  78.79%  75.77%  41.59%  95.16%  50.41%  73.65%  60.55% 

《史記》  80.29%  53.83%  31.32%  93.18%  37.73%  97.01%  63.19% 

上古漢語混合  79.86%  61.77%  40.06%  92.57%  46.59%  87.16%  63.14% 

平均  79.71% 61.63% 39.63% 92.52% 46.20% 87.84% 62.79%

   

表格  14  以清代奏摺為 training data,訓練 conditional random fields 對各 datasets 斷句的 效能 

Test Data  Accuracy  Precision  Recall  Specificity  F­Measure  NIST –SU    Error Rate 

Labeling    Accuracy 

《論語》  78.43%  70.19% 32.85% 94.67% 43.12% 83.79%  59.92%

《孟子》  81.69%  64.42% 32.49% 95.01% 42.13% 86.50%  65.49%

《莊子》  82.32%  66.12% 38.29% 94.63% 46.52% 83.46%  66.82%

《春秋左傳》  79.83%  83.96% 38.53% 97.73% 49.01% 68.96%  61.69%

《史記》  81.80%  63.96% 25.77% 96.49% 34.35% 88.89%  65.41%

上古漢語混合  80.81%  69.39% 33.44% 95.76% 42.72% 82.50%  63.81%

平均  80.81% 69.67% 33.56% 95.72% 42.98% 82.35% 63.86%

 

「以近鑑古」的效能仍然不佳,但略勝於「以古鑑近」。最顯著的差異是 NIST‐SU error rate 指標,在「以近鑑古」的情況下,在 80%‐90%之間,不若「以 古鑑近」的測試,error rate 動輒破百。特別是 conditional random fields,在「以 古鑑近」的情況下,表現相當差,而在此卻又有勝於hidden Markov models 的 效能。對於這樣的差異,或許可以這麼解釋:語言文字,隨著時空遞嬗不斷演化,

越晚期的語言,越複雜多變,涵蓋大多數前期語言的特色。所以,近代漢語,可 以視為是上古漢語的super set,包含了許多上古漢話的特色。因此,以代近漢 語作training data,「以近鑑古」,會有相對為佳的成效,但效能仍然頗差,recall 只有三成左右,無法實用。縱觀實驗三的結果,二千年前的上古漢語的經典和近 代的清朝奏摺,都不是夠好的training data,得以跨越時代的鴻溝,幫助歲月彼 端的文本作好斷句工作。對照實驗一的結果,斷句模型本身並不受時代限制,只

要有恰當的training data,對於上古漢語或是清朝奏摺,都能有不錯的斷句成果。

然而,training data 卻有時代性,以上古漢語文本構成的 training data,對同時 代的文本有適用性,但不宜用在近代漢語上,反之亦然。 

 

4.5 評量指標的討論 

在實驗當中,使用accuracy、precision、recall、specificity、F‐measure、

NIST‐SU error rate、labeling accuracy 等七種評量指標來量化斷句模型的表現。

然而,從實驗的結果發現,並不是每個指標都非常合適用來評估斷句的效能。特 別是accuracy 和 specificity 這兩個指標,無論斷句的表現再差,總是有 70%‐80%

以上。舉例來說,在表格11 與表格 12 裡,「以古鑑近」的斷句成果非常不理想,

然而,accuracy 和 specificity 卻有 70%以上,在表格 11 裡 specificity 甚至高達 90%。而同樣表格裡的 recall 和 precision 卻只有四成上下,NIST‐SU error rate 也超過了一百。在此,也顯示出accuracy 這個指標的盲點。雖然 accuracy 很方 便,單一數字就可以全面性地評估整個系統的效能,但面臨古漢語斷句這 種”imbalance problem”,該斷的地方,遠少於不斷的地方,單看 accuracy 實難 以判斷系統的好壞。所以,如果想以單一數值來概括斷句的效能,recall 和 precision 的調合平均數(harmonic mean)  F‐measure 是更合宜的選擇。NIST‐SU  error rate 在理想的情況,數值多半在 50%之內,而當數值超過 100%,則表示 系統已經荒腔走板,效能嚴重不良。因此,對斷句系統而言,要快速評估效能,

最簡便的方式就是參考F‐measure 和 NIST‐SU error rate 這兩個指標。而想了解 系統斷句的行為,則可以再參考recall 和 precision。Recall 高,表示斷句模型儘 可能地找出了所有該斷開的地方;precision 高則表示斷句模型很謹慎,不會隨 便把不該斷開的地方錯斷。除此之外,若要同時比較多個斷句系統、多次測試的

總體效能,ROC curves 則相當實用。   

五、 結論 

在二十世紀,西方的標點符號傳入中國之前,中文的書寫,並沒有使用標點 符號的習慣。自古以來,絕大多數的漢語的典籍,段落與段落之間有所分隔,同 一段落內的文字,則串連在一起,沒有任何分隔句子和子句的符號。因此,斷句 的工作,或稱為「句讀」,必須交由讀者,在閱讀典籍時自行判斷。然而,斷句 並沒有固定的章法,也沒有明確的規則可循,全憑讀者依賴經驗和語感判定。因 此,面對同一篇文本,不同的讀者,往往有不同的斷法,而不同斷法,影響了讀 者對文義的理解。由此可知,古漢語斷句是閱讀古籍時,困難而重要的第一步驟。 

儘管諸多古文典籍,在今天都已經有經過斷句和標點的版本,但其實仍然有 更多古漢語文獻,至今尚未經過斷句作業。目前有許多數位典藏計劃,利用文字 辨識的技術,將紙本上的古漢語文本數位化,然而,斷句的工作,仍然必須交付 專人,耗費極鉅的精力和時間處理。因此,如果有自動化的古漢語斷句工具,快 速準確的為大批古文獻斷句,將能大幅減省時間和人力,並將整個數位藏典,文 獻處理的流程,推向全自動化的理想。 

 

在本研究中,我提出了自動化古漢語斷句的可能,並從相關領域中,找尋適 當的素材和工具,實現了古漢語斷句系統。在探索斷句問題的過程當中,我處理 了三個子問題。第一,為古漢語斷句系統的效能評量,尋找適當的評估指標。第 二,蒐集上古漢語語料,並透過實驗,驗證這些語料作為training data 的效能。

第三,將斷句的問題,轉化為序列標記的問題,再使用hidden Markov models 和conditional random fields 這兩種序列標記模型,以統計式的方法設計古漢語 斷句系統。 

 

我從自然語言處理、機器學習、資料探勘、樣式辨識等相關領域中,提取可

能合適的評估方式。然後,在實驗之中,實際審核這些指標對斷句成果的評估能 力。最後,挑選specificity、f‐measure、NIST‐SU error rate 等三項作為斷句研究 的主要評估指標,並以ROC curves 比較多個斷句模型的效能。 

 

為了簡化問題的複雜性,我鎖定上古漢語的文本,作為斷句系統的datasets。

這些datasets 同時具備 training data 和 test data 的功用,必須有足夠的數量和 相當的代表性,才能訓練出一般化的斷句模型,適用在各種文本上。在本研究中,

我蒐集七種上古漢語的典經文本,逐一測驗這些文本作為training data 的效能。

其中,司馬遷的《史記》有最佳的成效,以《史記》訓練出來的模型,對其他文 本都有不錯的效能表現。 

在上古漢語之外,我和台大資工數位典藏與自動推論實驗室合作,取得一批 經過專人校對標點的清代奏摺。我將這批奏摺視為特殊的dataset,與其他上古 漢語文本比對。在實驗中發現,適用於上古漢語的斷句架構,如果改以清代的 dataset 作訓練,也能適用在近代漢語上,而且有不錯的斷句效能。由此推論,

在上古漢語之外,我和台大資工數位典藏與自動推論實驗室合作,取得一批 經過專人校對標點的清代奏摺。我將這批奏摺視為特殊的dataset,與其他上古 漢語文本比對。在實驗中發現,適用於上古漢語的斷句架構,如果改以清代的 dataset 作訓練,也能適用在近代漢語上,而且有不錯的斷句效能。由此推論,