• 沒有找到結果。

下雨天留客天天留我不留 Î

『下雨天,留客天;天留,我不留﹗』 vs. 『下雨天,留客;天天留,我不留。』 vs.

『下雨天,留客;天天留我,不留。』 vs. 『下雨,天留客;天天留我,不留。』 vs.

『下雨天,留客天;天留我不?留﹗』 (如表 4所示)

表 4:『下雨天留客天天留我不留』的可能斷法

『下雨天留客天天留我不留』

n 下雨天, 留客天; 天留, 我不留!

o 下雨天, 留客; 天天留, 我不留。

p 下雨天, 留客; 天天留我, 不留。

q 下雨, 天留客; 天天留我, 不留。

r 下雨天, 留客天; 天留我不? 留!

" CKIP自動斷詞: 下雨天 留客 天天 留 我 不 留

„ 中文自動斷詞 (Tokenization):

在自然語言處理(NLP)的研究領域中,所謂的『斷詞』(Word Segmentation),其目的 乃在於掃瞄一段文句後,將此文句斷開成各個可賦予詞類的詞彙、片語或單字,以做為 機器翻譯或是瞭解語意時的基礎。如眾所周知的,中文文本並沒有類似像英文文本用空

格之類的呈現方式來作為標示詞的邊界標幟。因此,在找出關鍵詞之前,勢必得先做斷 詞(Tokenization)之類的前置處理。而中文自動斷詞或分詞的任務,簡單地來說,就是要 由電腦機器在中文文本中的字或詞之間自動地加上空格;即便只是單純地輸入單一個句 子,亦必須將其構成句子的各個詞彙斷出來。例如:『輸入模組,用以輸入外部之影像 資料。』此句在透過CKIP 執行 “自動斷詞” 後就變成為『 輸入 模組 , 用以 輸入 外部 之 影像 資料 。』(如圖 17所示)。除此之外,在所斷出來的字彙或 詞彙當中亦可冠上組成句子的各式詞類 (亦即 所謂的 “詞性標記” ),如名詞、動詞、

形容詞、代名詞、連接詞、介系詞等等以供後續運用之。續以上例為例:在經過 CKIP 執行 “自動斷詞與標記” 後就會變成『 輸入(VC) 模組(Na) ,(COMMACATEGORY) ,(COMMACATEGORY) 用以(D) 輸入(VC) 外部(Ncd) 之(DE) 影像(Na) 資料 (Na) 。(PERIODCATEGORY)』 (如圖 18所示)。(*註: 代表一個空格或空白。)

圖 17:經過CKIP 執行“自動斷詞”後的結果

圖 18:經過CKIP 執行“自動斷詞與標記”後的結果

„ 詞性標記 (Part-of-Speech Tagging):

“詞類"是所有語言的基本架構單位,也是目前語言學家所公認建構語法的堅實基 礎。簡單說來,倘若我們設法把擁有無窮多語句的現代華語文縮減為數萬個詞排列組合 後的代表性樣本的話,即便如此,其規律性及相關訊息依然是相當地棘手複雜而不易於 掌握;但若把其內部的關係化簡成至數十個詞類之間的關係,則其規律性相對來說將較 為明顯而易於掌握,在統計上也比較容易來處理,有助於提高句子分析的正確性。因此,

無論對語言欲從事何種研究都可以善用這些詞類的特性,詞類標記是有其存在必要的 (如圖 18 所示)。在附錄五中,我們簡單列出了中央研究院 CKIP 現代漢語詞類標記及 其所對應之意義作為研究參考。

3.2.4 概念(Concepts)擷取技術

此部份元件可參考如圖 16所示之

q

的部份。由詞彙所驅動的『概念』可以說是領 域知識的單位。也就是說,當我們透過語言來表達知識的時候,它的最小單位就是一個

『概念』;而這個『概念』的表相就是一個詞彙[26]。照常理來看,並非所有文件當中 的關鍵詞彙都具有同等的重要性。一般來說,名詞與動詞的重要性顯然就要比冠詞、副 詞、形容詞或者是介系詞等詞類之重要性高出許多,『實詞』(Content word/Lexical word) 的重要性也會優先於『虛詞』(Function word)。

而這裡所謂的『概念擷取技術』就是要從數位文件內容當中擷取出有意義且具代表 性的詞彙(Keywords)、片語(Key Phrases)、字串(String)、或內容片段(Key Segments)等等,

以這些關鍵詞彙來表示此文件內的重要概念(Concepts) ,以便於日後可以更進一步地來 進行文件之探勘及各式剖析 [24]。基本上,每個中文語句都是由不定數目的基本字彙或 是詞彙(包含所謂的片語)所組合而成的;因此,假如語句中的關鍵詞彙擷取不當的話,

其結果便會大受影響、大相逕庭。正因這些『關鍵詞』是呈現文件主題意義的最小單位,

所以對絕大部分非結構化文件的自動化處理來說,如自動化摘要、自動化詢答系統、知

識探勘、索引典自動建立、事件偵測與追蹤、知識本體(Ontologies)分析及建立等等,在 在都須事先歷經關鍵詞的擷取過後,才能更進一步地進行其他方面的處理。然而,關鍵 詞的認定卻牽涉到個人主觀價值經驗之判斷,且相同的詞彙在不同的主題、不同的專業 領域下,也可能會有不同的解讀以及認定方式。

„

關於中文關鍵詞或是概念(Concepts)之擷取技術:

由於用途的差別,不同的研究,對此問題的定義、採用的方法、運用的條件與擷取 的成效也各有所差異。例如,在自然語言處理(NLP) 的領域中將此問題定義為所謂的『

斷詞』問題。而關於中文關鍵詞彙的擷取技術方面,其主流的方法大致上可以區分為『

詞庫比對法』、『文法剖析法』與『統計分析法』等三種[24],目前仍以『詞庫比對法』

最為普遍(詳請參閱 附錄四:三種主要的關鍵詞自動擷取技術比較一覽表 [24])。

然而,對大部分的現代漢語文句來說,可以是“單字”詞、或是“多字”詞的一部分,

而絕大多數的白話文中的關鍵詞則是屬於雙字詞居多。以實際的經驗來說,一個句子 其實是可以有相當多可能的斷法的 (如以表 4所示的員外留客:『下雨天留客天天留 我不留』為例,就有許許多多可能的斷法)。儘管在上述所提之例中有這麼多的斷詞斷 法,語句之意感覺似乎也通;但,當中可能只有一種情境的描述才是比較合乎人之常情 的。那麼,究竟我們該採取什麼樣的演算準則才足以讓機器能夠自動判斷出那一種的中 文斷詞之斷法才是較為精確的呢?

針對這些中文詞界不明的歧義現象,基本上我們可以採用『辭典比對』的方法,以 CKIP工具快速地協助我們先行做好斷詞(Word Segmentation)及詞性標記(Part-of-Speech Tagging) 的初步工作,然後再輔以『長詞優先』、『平均詞長』等等經驗法則或是採用 一種機率模型:HMM (Hidden Markov Model) [6]來協助我們找出有意義的概念(Concepts) 出來。以我們使用中文詞典的斷詞方法來說,通常可能會採用的原則是 “長詞優先” 的 經驗法則。一般來說,透過 “長詞優先” 會比 “短詞優先” 有較高的機率可將句子裡的

詞給正確地斷出。譬如說:『電子商務平台』這個詞,若是採用 “短詞優先” 法則的話,

經過拆解後之結果乃為──『電子』、『商務』、『平台』這三個獨立的普通名詞,而 這結果也正好與經由 CKIP 中文自動斷詞系統1.0 版執行後之結果──『 電子 商務 平台』相同;然而,若是採用 “長詞優先” 法則的話,其結果就是如眾所周知的專有 名詞──『電子商務平台』一詞了。所以,從上述之例我們可以稍稍體會出:透過 “長 詞優先” 法則所斷出來的詞彙比較能夠正確地將一個概念(Concept) 之意涵加以呈現出 來。這裡所謂的“比較……正確"乃是指它的語意會比較完整,也比較能夠反映、表達 出我們原本想表達的意思[30]。

有一種概念極其簡單、準確率又高的方法──名之為『最大匹配法』(Maximum Matching Algorithm) 的演算法,即可套用於 “長詞優先” 的經驗法則中。它的基本想法 如下:若某個語句S是由N個中文字(C1C2C3…Ck…Cn)所構成之語句,那麼在理論上就 共計有(2n-1) 種分詞或是斷詞的可能。首先,我們可以將句中第k 個字起的字串與一個 事先建立好、擁有極豐富詞項的詞彙庫(Lexicon)來進行比對,藉以找出所有可能之斷法

。假如Ck、Ck_Ck+1、Ck_Ck+1_Ck+2 都是詞庫中的詞項,那麼透過『最大匹配法』將會選 取詞長最長的部份(Ck_Ck+1_Ck+2)來輸出,然後再從Ck+3開始重覆同樣的流程,依此類推。

這個演算法非常的簡單,只是得需事先建構好一個夠大的詞庫才能夠順利地來進行。『最 大匹配法』(Maximum Matching Algorithm) 後來也衍生了許許多多不同的改良版本,以 下表 5為例,以Ck為首的三個詞的組合假設共有四種可能之斷詞斷法:

表 5:假定 Maximum Matching Algorithm 三個詞的可能組合

第一詞 第二詞 第三詞

n

Ck Ck+1 Ck+2

o

Ck_Ck+1 Ck+2 Ck+3

p

Ck_Ck+1 Ck+2_Ck+3 Ck+4

q

Ck_Ck+1 Ck+2_Ck+3 Ck+4_ Ck+5

那麼依據經驗法則來說,最後一種斷詞組合最有可能是正確的斷法,因為它的總詞長為

6個字最長。像這樣子簡單明瞭的演算法不但可以解決九成以上句子語意不明時之問題

1."之多(VH)"Replace 為Î "之(DE) 多(VH)"

2.動詞為三字詞者:轉換為(VG)、轉換成(VG)、

傳送給(VD)、...但『程式化(VHC)』則又不考慮 3. 將某一些特定字詞 Replace 為空字串 4.特例(前處理) --主要針對量詞部份 5. 將某一些特定字詞 Replace 為 "@C

【ABCDEFG..." ,再以 String.Split("@C")分割 6.再修正一些 Claim Tagging 後之結果

7. 將某一些特定字詞 Replace 為 "@C【" ,再以 String.Split("@C")分割

8. 將某一些特定字詞 Replace 為 "】@C【" ,再 以 String.Split("@C")分割

9. 將某一些特定字詞 Replace 為 "】@C" ,再以 String.Split("@C")

10.繼續一些後置處理,消除不必要的 Tag

1. 以 String.Split("@C") 裁切 2. 去掉結束符號"】"

"Nxxxx")且字數長度需大於等於 2

7. 處理"的(DE) 分割(VC)"Î "的(DE) 分割(Na) 8. 每一 Concept 的首字其詞性標記不可以為

(C...)、(D...) 9. 去掉 CKIP 的 Tags

10. 最後將這個 Concept 中的末字噪音字 Replace 掉 "中" 、"之" 、"上" ...

其中,第二個流程中關於『修正一些 Claim Tagging 後之結果』之部份,乃是針對斷詞 及詞性標記部份的謬誤現象,嘗試用一些通則作為 Heuristic Rules 來調校與修正。其內 部處理之邏輯,茲舉數例簡略描述如下:

假若 token(0)、 token(1)、...、 token(j-1)、 token(j)、 token(j+1)、 token(j+2)、...為經 CKIP 自動斷 詞及詞性標記後之連續相鄰的字詞元素,則:

一、 token(j)、 token(j+1)兩項一起比:

1. 若 j=0 And (token(0)中有 "(V" Or (token(0)中有 "以(" And token(1)中有"(V")) 則

二、 token(j)、 token(j+1)、 token(j+2)三項一起比:

1. 若 token(j)中有"(Ng)" And token(j + 1)中有 "(V" And (token(j + 1)中無 "欲" 亦無 "要") And (token(j + 2)中無 "進行") And token(j + 2)中無 "的" 則

token(j) + " " + token(j + 1) 轉換成Î token(j) + " " + token(j + 1) + "@C【"

2. 若 token(j)中有 "(V" And token(j + 1)中有 "及(Caa)" And token(j + 2)中有"(N" 則 token(j) + " " + token(j + 1) 轉換成Îtoken(j)之中文內容 + token(j + 1)

3. 令 Candidate_VC = "_用_成_為_得_做_作_出_入_供_與_有_應_達_遞_生_留_責_送_定_開_知_

取_立_"

3.2.5 衡量概念間的語意關聯度

此部份元件可參考如圖 16所示之

r

的部份。語意索引是利用語意矩陣為文件中的 關鍵詞建構「概念空間(Concept Space)」或「知識空間(Knowledge Space)」。而這種「概 念空間」乃是知識的一種表現形式,可以協助我們順利找到文件中關鍵詞與關鍵詞之間 的相似性[28]。在傳統文件中,建置語意索引的方法乃是利用關鍵詞在文件中出現的頻 率以及出現的文件總數做權重計算。有鑑於此,我們在本研究中參考了[17]中所述統計 共現(Statistical Co-occurrence)的量測公式(Fano 1961;Church and Hanks 1990)的計算方 法(如方程式 4所示),並稍加做了微幅的調整,以作為本研究計算概念(Concept)與概念

方程式 4:在[17]中所述的 mutual information measure for Statistical co-occurrence 計算公式

其中, tf

ij

:表示 i

j 兩關鍵字在(cmp-lg)語料庫中成對出現的最大頻率,