Chapter 22 EVALUATION
Abstract
Evaluation在自然語言的應用上是一個很重要的技術,並且現今也發展出了許多有用的商用產品,然而在發展evaluation的過程卻是一個重大工程,從一開始以technology-based為主的evaluation轉換成後來以user-centred為主的evaluation,我們大概可以為這樣的轉變分成三個較成熟且明確的技術來說明它運作的流程,首先第一個是Analysis technologies的階段,此階段的目的是要接收language input,並且要產生一些抽象的陳述、一些經過labelled的語句或是parsing等等,也就是要對這樣的input先稍微做些tagging使其成為有用的資料,並且在此階段中,我們可以先使用test input產生一組 ”correct” output ( a gold standard ),並且計算它的evaluation score,做為與未來system output比較的依據;第二階段是Output technologies,此階段是一個複雜的程序,最主要的原因在於相同的input可能會產生出non-unique的solution,並且不一樣的comparison方法也會產生不同的translation或是summarization,故我們必須經由output的quality或是information來決定哪一個evaluation是最可被接受的;最後是Interactive technologies的階段,這是最困難的一個階段,原因在於它必須允許使用者與systems之間可以做interaction,並且要能夠經過多回合的彼此互動後才能夠被承認是一個成功的結果,所以困難度可想而知將會是最具挑戰性的。以上的簡介說明evaluation需要經過哪些technologies,並且在接下來的章節將會概括各自的technology目前已採用哪些不同的方法,並且也會比較其優點與缺點各是為何。
Evaluation of Analysis Components
我們定義analysis components是以language為input所產生出的抽象的陳述( abstract representation ) 或是一些分類 ( classification ) , 其中又分成了Gold-standard-based measures、Feature-based metrics for analysis以及Embedded-component evaluation。Gold-standard-based technology的優點是可以再複製(reproducible),也可以支援語言資源的產生,通常運用在machine learning的實驗上,缺點是對task的定義不好處理,會導致定義的問題太簡單,並且在設計時會消耗掉過多的資源。Feature-based evaluation消耗經費較低也較容易完成,採用全文(corpus)獨立所以容易產生不同的genres,此evaluation基本上會是task或是functionality的型式,而不像gold-standard-based的data-derived型式,因此resources會以概要式(schematic)的風格產生,但這對machine learning來說是並不實用的。Embedded component適用在Plug-and-Play這種特殊實驗上,好處是不需要經過複雜的安裝即可做experiment,但相對的component效能會受建構中的整體系統的影響,例如做statistical algorithm時,事先對noisy data做processing則可以在Embedded component有較好的表現,或是使用clean data也可以使rule set work better。
Evaluation of Output Technologies
分成了intrinsic measure以及extrinsic measure, intrinsic measure的目的是用來做本身系統測試,但卻有一些缺失,例如quality measure也許可以產生文法上正確的summary,但事實上卻可能是一篇文不對題的summary,也就是它容易使evaluation產生混淆;或是將Chinese(中國或是中國人或是中國話或是中國人的等等)翻譯成英文時,我們常常會忽略掉代名詞、arguments或是一些明確的資訊。相較於intrinsic measure,extrinsic measure對於output technology就有較大的影響力,並且可用來測試task的efficiency跟acceptability,例如Post-edit measure藉由計算為使資訊正確還需增加、減少或是轉換的字數總合,以此計算出來的總合表示需要做修正的依據,當然總合越小表示是越好越精確的,我們將總合視為此system準確性(accuracy)及可理解性(intelligibility)的程度,程度的好壞決定output的結果能否達到可接受的state。
Evaluation of Interactive Systems
這方面的運用包括即時線上文件的翻譯(例如Dr. eye軟體),web-based的搜尋(例如yam搜查引擎)以及電話存取資訊(例如鐵路定票)等等。Interactive的evaluation需要應用系統與user間的互動,因此我們必須要產生多次的subject variabilty,並且要有足夠的subject才能夠達到統計上的valid results,但這也會使得evaluation產生很大的cost。基本上此技術講求的是在某一段時間內去完成tasks,需要有一些solution的quality,並且能夠讓user滿意這樣結果。雖然已經有不少人提供了evaluations,然而目前仍然有一些research要克服的,例如如何讓subject-based的實驗更容易進行,如何更省經費,甚至如何更reusable,以及如何提供系統發展過程中的正確判斷。
Conclusion
Evaluation在過去的幾十年中已經成為扮演language analysis快速發展的重要角色,它開創可經由共享的evaluation criteria 去比較不同的technologies,並且從中取得一致性,它也能夠產生出可再生(reusable)的資源,並且再經由competition產生較佳的solution。Input technology採用gold-standard以及feature-based的方法來達到結果;然而Output technology跟Interactive technology就顯得較為困難,它需要就cost-effective以及user-centred,甚至是repeatable evaluation方面做更多的research,因為這些方法並沒有一定的準則,但如何找到一種方法能夠cover大部份的情況就是很大的issue,再者可嵌入性以及可攜性的軟體工程也是影響evaluation在市場上成功與否的主因,最後,隨著目前科技的發展,technology的life cycle可說是越來越短,這對發展evaluation來說也相對不利,因為我們就必須得在完成evaluation後更快得到一些商業的回饋,這再再都限制住了evaluation的未來發展。
心得
就看完此篇報告後,我個人認為evaluation在第一個class ( input technology ) 的stage是較容易在有限的時間內被實現的,藉由結合一些已提供的語言學資料,例如法律上的判決書,我們可以將這些資料做test data及training data的分類,經過machine learning的技術,將training data視為知識的來源並且從中做分析,也許可以用斷詞的方式將一篇判斷書做斷句並且我們去學習哪些”重要”的斷詞會”較容易”在哪一類的判決書中出現,進而藉由test data做evaluation,若是有較高的recall值或是precision值我們可再更進一步的往下一階段的technology做下去,但當我們往下做下去的時候就會變得更困難,原因在於可能沒有惟一解,例如語句的翻譯就是一個大問題,就如同我在期中作業提到的”今天星期幾”與”今天拜鬼”的笑話一樣,如何讓翻譯產生一致的答案是困難的,最終仍需得回歸到前後文的判斷才有可能找到那個最正確的解,最後要如何與system做interaction更是我現在無法想像的問題,尤其是如何做到multi-turn的interaction而不出錯更是難上加難的問題,也就是說system到底是因為有一個很大的database而搜集了成千上萬的彙話所以才能跟我interact,或是此system真的具有”思考”的能力來與我interact,若是屬於前者,那麼其實我一點也不會感到意外,因為現今即有這樣的技術,但若是後者,system是否能夠去面對我似是而非的問句而對我做出正確的回應,例如我說”今天寒流來襲”,”我在實驗室裡穿背心吹冷氣”,”我覺得我好熱”,我無法想像system會對我以上的對話提出怎樣的回答,因此一個interactive system也必須具有判斷ambiguous的能力,要設計這樣一個system我個人認為在目前的技術除非靠著龐大的database,否則很難實現目前人們日常生活中的正常對話。
感想
上完本學期的課後,其實感觸滿深刻的,我感受到台語文的日漸式微,也感受到有像李勤岸這樣的教授充滿熱忱地為台語文做復建的工作,然而以目前的趨勢來看,台語或是台語文似乎也將會步入客家話的後塵,為什麼我會這麼認為呢?因為現在的人越來越少說台語了,不是不會說,只是都懶得說,聽得懂台語但不說的後果就是造就出聽得懂但不會說的下一代,然後再造就出連聽跟說都不懂的下下一代,當前客家話現在就是面臨著這樣的危機,許多年輕的客家人雖然聽得懂客家話但大多都不太會說客家話了,想必再經過下一代的繁演客家話必定勢危,甚至消失,然而台語文現在也正面臨這樣的危機,可是我看到的是我們現在仍然沒有統一的文字,雖然大部份人們都是使用羅馬文,但是不管如何文字的統一是保持台語文不滅亡的第一要素,沒有人會想看不同版本卻又相同意思的台語文,再者必須將這些文化放入教材教育我們的下一代,也許不會有太大的功效,但仍然要努力的去做,就像李勤岸教授說的,即使知道台語文有勢危的趨勢甚至消滅的危機,我們也仍然要把它救起來,就好像即使知道某個病人得癌症也許活不久了,但不管是藥物或化療也好,病人當然都會希望醫生盡最大的努力將自己救活;並且文化的傳承也很重要,台灣經過日本的統治後也漸漸發展出帶點日本風格的台語話,尤其是跟大陸隔離近50年,台語話跟一般傳統的閩南語已經開始產生不同的文化了,這對我們來說是特有的,更應該珍惜才是。