资源描述
對談系統應用於學生模型
Applying Dialogue System to Student Model
許聞廉、吳世弘、戴良友、夏昊霝
中央研究院資訊所
email:{hsu, shwu, masia, markshia}@iis.sinica.edu.tw
電腦教學系統要能建立一個有效的學生模型,除了要事前進行大量的錯誤分析來決定錯誤類型外,也要能經由互動來準確的掌握學生錯誤的來源。本文提出如何設計對談系統和學生進行互動。在對談系統中,不可避免地需要處理到概念以及自然語言的理解。處理概念理解的一個困難在於它的歧義性。由於電腦缺乏掌握脈絡的機制,致使對於多義性的字詞或具有模糊性的概念,無法確定其意義。理論上,將對談系統應用在教學上似乎已是老生常談。多年來這樣的想法並未落實在系統上,可見其難度極高。本論文中,我們將討論學生模型設計困難之處以及應如何利用一個對談系統來進行輔助。
To build an effective student model, we need to first determine error types by analyzing a large amount of student errors. Since different students committing the same mistake might be based on different causes, the system needs also to interact with the student to identify the real reason. In this paper we consider the problem of how to design a dialogue system that can interact with the student. In a dialogue system it is crucial to deal with the understanding of concepts and natural language. A major difficulty lies in their inherent ambiguity. Since it is difficult for the computer to grasp the context of a word or a fuzzy concept, it is hard to catch their “meaning”. There have been many papers discussing the application of dialogue system to instruction and learning. However, we have not seen a real system capable of executing such an idea effectively. Perhaps, this is due to the high barrier of “concept understanding”. In this paper we shall discuss the intrinsic difficulty in building a student model and how one can apply a dialogue system to ease that problem.
關鍵字:對談系統、學生模型、自然語言處理、概念關係
1 引言
設計學生模型有兩個挑戰:如何準確掌握學生錯誤的來源以及適性教學。本文中,我們提出利用對談系統來幫助解決上述兩個問題。在提及對談系統時,不可避免的會牽涉到自然語言處理的問題。所以,我們會先討論相關的自然語言的語意處理,再解釋如何將對談系統應用在學生模型上。
2 自然語言處理的困難:多中選一
對人類來說,語言的理解是很「自然而然」的。像Pinker等人即認為,語言之於人類,就像吐絲之於蜘蛛,即語言乃人的本能。 參考Steven Pinker, Language Instinct, 1994, HarperPerennial.
我們是幸運的,因為自然的演化,已幫我們減去不少學習、理解語言的困難。然而,自然語言對於電腦系統,卻一點也不自然。如何讓電腦系統準確的處理(反應)使用者所輸入的自然語言,本身已是困難,更不論理解了。其中的兩個困難 這裡只舉出自然語言處理的兩個困難,並不表示只有這兩種困難。會舉它們為代表,主要是因為這些困難都能利用對談系統加以解決。
即在於:
1. 字詞的多義性,即相同的一個字詞,卻有多於一個的意義,如「下游」,可以是指河流的後半段,也可以是提供原料的工廠
2. 意義的模糊性,即同樣一個句子卻可以有多重面向的意義。如,「那有什麼『好玩的』?」這句話中,「好玩的」相對於不同的人,會有不同的詮釋。有些人認為要「刺激、冒險」,而有些人只想要「逛街、買東西」。
(1)的困難常可以利用它們出現在怎樣的句子或和其它詞的搭配來解決,比如「河的下游」中的「下游」就可以很容易的和「下游工廠」中的「下游」區分。但也不是每回都這麼清楚,如「我要去華盛頓一趟」(「華盛頓」是華盛頓DC還是華盛頓州)或「他覺得上、中、下游都不錯」(是指河流的風貌還是整個產業的情況)。
(2)的情形則牽涉到了所謂的「句子的意義」(sentence meaning)和「說話者的意義」以下是Sentence meaning和Speaker’s meaning不同的其它種情況:我們在表達一個想法或感受甚或陳述一件事時,偶爾會碰到不知要用什麼字詞來表達的情況,或者,由於誤解了某些字詞的用法而在表達時,會出現句子意義和說話者想表達的意義不同的情況。參考R. M. Martin, The Meaning of Language, 1987, MIT。
(speaker’s meaning,或稱之為「意圖」intention)之間的差別。也就是,句子本身是有確切意義的,不過它的意義的實質內容卻和說話者本身的意圖、信念有關。例如「好玩的」,是指能讓說話者開心、滿足的事物,可是究竟那些事物能達到此一條件,是因人而異的。這裡主要的問題是,如果我們把「句子的意義」看成是具有某種程度的客觀性,可是「說話者的意義」卻是很主觀的。我們真的有可能從「句子的意義」猜測出「說話者的意義」嗎?我們假設了「合作原則」 由哲學家Grice所提,內容詳下。
及對談雙方是理性的,所謂理性的是指有能力計畫及執行以達成目標,並且有能力去從別人有意義的言談中推論出他人的計劃。 參考[5].
因而在一個確定領域內,為了要達成某一確定目標,「句子的意義」和「說話者的意義」的差異是有限的。
無論是1或2,基本上我們都可以將之看成是系統如何在「多中選一」的問題。尤其是在某一個確定領域內,此一情形更為顯然,處理上也較為簡單。而對談系統(dialogue system)在面對「多中選一」的問題時,會是一個很好的工具。
必須指出的一點是,「對談系統」並非唯一的解決之道。其它方法包括從前後文,即脈絡(context)著手等等,而使用目的會決定我們用何種進路來面對同樣的問題。我們的目的主要是用於處理單句的QA系統等。這並不表示我們就忽略了脈絡。畢竟建構對談的環境就是為了能夠重建原本不夠清楚的脈絡。
在回答對談系統如何解決「多中選一」的問題之前,先讓我們來討論何謂對談(或對話) 本文將「對談」、「對話」、「交談」等視為同義,對應英文的dialogue或conversation。
以及為何它能有效的解決該問題。
3 對談及其目的
在對談中,無論目的為何或如何進行,本質上都可以將之視為一種「關係的排除與建立的過程」。這裡的關係指的是「概念關係」。比如,某人說出「下游不錯」這句話,這句話可以被理解成「某一個工廠做得不錯」,也可以被理解成「某個河流的流域風景不錯」。前句中,「下游」這個概念與「工廠」這個概念被加以連結,而後一句話說,「下游」這個概念則與「河流的流域」有所關連。正因為「下游」這個概念有可能與「工廠」或「流域」建立關係,才使得「下游不錯」這句話產生了語意不清的狀況。透過對話的機制,我們可以對「下游」與其他觀念的關係進行「建立」與「排除」。比如,我們問這個人「你說的是工廠嗎?」然後等待其回答,由他的答案中,我們就可以由這個語意脈絡,建立或排除「下游」與「工廠」間的概念關係。而這樣一來一往的過程,就是我們所謂「關係的排除與建立的過程」,也就是對話的過程。
為了使得關係的排除與建立成為可能,所以我們要先給系統必要的知識。比如,若系統不知道「下游」和「工廠」或「下游」和「河流」有關係,對它來說,「下游」就不是一個多義性的字詞。這情況和人是一樣的。又如,若有人問「中研院怎麼去?」,如果系統不知道去中研院可以開車,也可以搭公車等,它就只能給使用者一個預設的答案。但是若系統已經具備相關知識,它就能反問使用者:「你要開車,還是搭公車前往中研院?」系統就能根據使用者的答案給予適當的回應。這樣整個對談系統對使用者來說就更為友善了。
理想上,在一個確定領域(specific domain)範圍內,我們可以把概念與概念之間的關係,都內建在系統中。所謂關係都內建在系統內,並不必然表示我們非得把所有概念間的關係都建入。實際上,只要把必要的關係放入即可。當然,我們必須先知道何謂必要的?這就和系統的目的及要讓系統表現得多麼聰明來決定了。因為,即使是一個人類專家,也無法把其專長領域的所有關係都完全掌握,如果人都是如此,一個以模擬人類理解能力為目的的電腦系統,又何需有超過人本身所具有的理解標準呢?同樣的,一個人類專家也不是把所有的關係都記著,而有更多是靠著推理(推論)、類比甚或隱喻等方式掌握知識,即概念間的關係。所以,一個聰明的系統似乎應該朝向此一目標發展。
對於任何可能產生多義字詞或模糊性的句子,都可以看成是因為這些概念與概念間有多重的關係。即每一個概念可以與多於一個概念有關係,而且兩個概念之間的關係可以有不只一種。舉例來說,「狗」和「人」及「狗」和「哺乳動物」都可以有關係;而「狗」和「人」可以是「喜歡」的關係,但也可以「厭惡」的關係。這些關係的建立是必要的,它能使得系統在對談的過程中,很輕易的掌握對談的發展方向。因為系統能夠從已知的概念關係中,預測使用者下一步可能的回答或發問。
預測是重要的。我們在這裡使用了Grice的一個假設,「合作原則」(CP, cooperative principle),即對談雙方是相互合作的,他們有共同的一個或一組目的。 參考H. P. Grice (1975).為什麼CP是有必要的呢?一個直接的答案是,系統不處理無意義的對話。所以,CP使得系統只進行有意義的對話。但是,這會有一個盲點:即所謂有意義與否,端視我們為系統所建立的知識。那麼,如何保證我們所建立的知識是足夠充份的呢?老實說,沒有辦法。一個可能的解決辦法是,讓系統具有學習的能力。
因而對談雙方的言談將是有意義的(make sense),或者說對談雙方的言談內容必定是相關的。如果不是這樣的話,兩者的溝通將形同「雞同鴨講」,也沒有人能掌握他們說話的精確意義,這種情況不是我們要處理的。所以預測使用者的下一步,將能夠檢測系統是否掌握了使用者的意圖或目的,也因此能確認是否正在一條正確的道路上。
如何可能預測呢?我們可以把推論的想法用在於此,因為所有的對談都是有目的性的。由其目的,再加上已經做過的事件,我們就可以推論出還有那幾件是會必然或可能接著出現的。我們無需要求很精準的(exactly)給出唯一的預測,而是給出一個可能的範圍即可。預測可以分為兩個情況:其一為當出現多義性或模糊性時,系統可以很容易的從已知的關係中,確定使用者有多少個可能的選擇。其二為在任一確定領域中,皆是由一群「主題概念」 主題概念,可以將之看成一個概念的集合(或概念群),也就是在該主題下的概念將呈現出這個主題的概念內容。在一個確定領域內,如旅遊,可分為如「旅遊地點」、「旅遊方式」等等,在這些主題概念之下,又是由許多概念所組成,如「旅遊地點」內可以分為「國內」、「國外」等等。
所組成,這些主題與主題間也有一定的關係存在。有時在一個主題完成後,會進入下一個確定主題,有時則是任何其它一個主題。只要有一定的關係存在,系統都能將之限制在某一範圍內。上述兩個情況的差別只是大小的差異,即前者可以看成是依據點與點之間的關係來預測,後者則是依附在集合與集合間的關係上,而它們的做法是相同的。
因此,我們的對談系統具有兩個主要功能:
1. 關係的排除及建立,因為內建的知識使得在這樣一個過程中達成了「多中選一」的目標;
2. 預測使用者下一步可能的走向,以確認對談雙方的主題。
4 學生模型及其困難
為了能掌握對談系統在學生模型(student model)的應用,我們應該先大略陳述所謂的學生模型究竟是什麼及其目的。我們認為學生模型是為了輔助教師的教學用具,它要能夠診斷學生解題錯誤及這些錯誤來源。學生模型會分為下述三部份:
1. 專家模組(expert module):負責題型的分類、自動出題、甚至題目難易的區分,同時,偵測使用者的答案正確與否;
2. 學生模組(student module):負責學生的理解模式,即它能夠從使用者的解題過程中,得知使用者的理解程度;換句話說,能夠從使用者的錯誤表現中,找出他們的錯誤來源(是少了一些概念還是誤解某個概念)。
3. 指導模組(instructor module):針對不同的錯誤來源,可以有適當的指導策略,以適應於不同的使用者。
這些並非新穎的想法。早在七十年代時就已經有了。 參考[3].
但三十多年來,這些想法並沒有真正的落實。就拿自動出題來說,並不是簡單的、隨機的丟出一個又一個問題給使用者就了結的。而是必須根據使用者對前一個問題的回應結果,給以適當的下一題。這樣才能更有效的掌握使用者對學習目標的理解。所以上述學生模型的三個部份並不是各自獨立存在的,而是必須相互配合應用的一個整體。然而我們的重點並不在於學生模型的設計上,故將不繼續對此一問題加以討論,而是回到對談系統如何增進學生模型的效能。
我們認為,上述三個模組是不足夠的。所以我們建議引入「對談系統」。
學生模型能夠成為一個好的輔助教學用具,最主要的一個優勢在於它能和學生一對一的應對。而一對一教學對學校老師而言,則是一個即使花上許多時間,也難以顧及全面的工作。如果一對一的教學也不過是用固定的教案,一層不變的一步一步的教學生,就不能發揮一對一教學的功效。一對一教學,最重要的目的在於做到適性,即根據學生的反應,給以適當的指導。所以個人化(personalization)是學生模型成功與否的一個很重要的指標。
另外一個重要指標為,是否能準確判斷出學生的錯誤來源。同樣的一個錯誤表現,可能有好幾種錯誤的來源。一個例子是在減法中,題目143-28,而答案是125。這有可能是(1)學生用較大的數減較小的數,而忽略了那一個是減數,那一個是被減數;或(2)學生從十位數的4借了1去減個位數,但卻忘了十位已經借過位了,因此依然是用4減去十位的2而非3減2。問題是:(1)與(2)那一個才是學生真正的所犯的錯誤呢?
行為主義(behaviorism)試圖用行為來定義人的心理狀態的理論之失敗告訴我們行為和心理狀態間有一段很大的距離。然而是先天的局限,又或者是當前的局限,使我們只能透過外顯行為來猜測他人的心理。但是人的行為或多或少都反應了自身的心理狀態,因此和行為主義不同的是,我們並不是用行為來定義心理狀態,而是試圖從行為來回溯行為者的心理。當然,想要從人的外在行為表現來回溯其內在的心理狀態本身就是很困難的一件事。這不僅僅是對電腦系統而言,對人也是如此。還可以從對方的表情、手勢、音調等等來輔助判斷,學生模型卻只能由學生所寫下的答案來分析,其難度由此可見。
5 對談系統在學生模型的應用
我們發現,分析學生錯誤來源也可以看成是「多中選一」的問題。不同於前述利用概念與概念間的關係排除或建立來消解多義性及模糊性,這裡處理的主要是問題與錯誤類型間的關係。系統事先蒐集了許多錯誤的實例,進行歸納分類,並由教育專家對每一類錯誤提出可能的原因。當學生犯下錯誤時,系統會依據已有的實驗資料猜測那一個錯誤來源最有可能,再丟出該錯誤類型內的問題集(每一個錯誤類型都會有本身的問題集,雖然學生在面對這些問題時所犯的錯誤,不必然的就屬於該錯誤類型所造成的。我們雖然可以利用實驗來檢測學生碰到那一些問題時,最常是由那一個(些)錯誤來源所所造成的。但是系統也不會就因此完全認定所有學生或使用者在碰到某一類型內的問題時所犯的錯誤就必然屬於該錯誤來源。原因詳下。)的問題,再根據使用者的回應來加以建立或排除該使用者所犯的錯誤表現是否是肇因於該錯誤來源。一個簡單的判斷方法是,若使用者的答案是正確的,關係被排除;反之則建立關係。
使用者在使用學生模型時,可以分成兩個階段:練習階段以及檢測階段。在「練習階段」時,每個題目都會一步一步的以「對談」進行,也就是系統會把問題拆解。如此我們就更清楚使用者的錯誤表現是在那一步出現差錯。這樣的做法,也使得我們可以把學生在「練習階段」時所犯下的錯誤加以記錄,以用來在「檢測階段」時錯誤來源診斷時的一個資料依據。而「練習階段」的另一個功能就是調整系統本身關於問題和錯誤類型的預設值。因為這些預設值是統計結果,透過練習的過程,對不適當的預設加以改變。我們也就同時為每一個使用者都建立其常犯錯誤及這些錯誤來源的歷史記錄,這些學生的個人資料夾除了使我們的系統落實「個人化」外,對於錯誤來源的診斷也會有更佳的準確率及效率(因為當學生出現錯誤表現時,系統就可以根據練習階段的記錄,直接猜測可能的錯誤並檢驗之,所以可以更快些得出結果)。
我們的「對談系統」要怎樣進行呢?我們以解數學題為例。一般說來,數學解題可以分為以下四個步驟 參考[1].
:
1. 問題轉譯:為了達到該目標,又必須具有以下兩類知識,「語言知識」和「事實知識」。所謂「語言知識」即使用者是否明白句子的意義,如「小惠參加健行,已走33公里,再走9公里就結束,全程長幾公里?」這個句子中,學生是否知道「參加健行」、「已走」、「再走」、「全程」、「公里」等等是什麼意思,而整個句子的意思是否能掌握到。而「事實知識」指的則是一些基本常識,如「小明的父親在去年(2000)2月15號到美國,兩個星期後回來,請問小明的爸爸是在幾月幾號回國?」,學生是否知道在2000年2月有29天這個事實。
2. 問題整合:需要掌握「基模知識」,即能夠為題目分類,具有「題型」的觀念。
3. 解題計劃及監控:為了要順利解題,「策略知識」是必要的,即針對不同的題型給予不同的方法來解題。
4. 解題執行:確定解題策略後,如何一步一步的執行,就要靠「程序性知識」。
上述的每一個解題步驟都有其相應所應具備的知識。這樣的劃分使得我們比較容易確認學生最後的錯誤表現是在那一個地方出了差錯。因為我們能透過對談的方式,來掌握學生是否在每一步都有正確的反應。如在這個問題「小明的父親在去年(2000)2月15號到美國,兩個星期後回來,請問小明的爸爸是在幾月幾號回國?」後,系統可以問:「請問2000年的2月有幾天?」為了確定學生是否明白問題的意思,也可以讓學生針對問題來發問。對於「問題整合」方面,我們可以問學生那幾個問題是類似的,以此來判斷學生是否已經掌握了題型的觀念。解題步驟的3和4可以合在一起看,因為學生所採用的解題策略就會表現在他怎麼去執行解題的行為上。一旦系統掌握學生所使用的解題策略,往往就可以排除某些錯誤類型。這是由於不同的解題策略會造成不同的錯誤類型。 參考胡志偉老師實驗室關於小學加減法的實驗報告。
如何知道學生採用那一種解題策略呢?每一種解題策略的步驟都不同,而且是有連帶關係的。因此透過分析這些解題略,我們就可以看看學生所選擇的步驟而找出學生所採取的策略。就在這樣一來一往的過程中,系統試著從學生的行為反應回溯其對於相關知識的掌握程度。
學生可以用選擇或填空的方式來回應系統的問題(他們也可以以自然語言來詢問),各有其優劣:
以選擇題的方式讓學生回應,可以確定學生的所有反應都在已內建的知識庫中;也有可能學生只是隨便猜一個答案,因為選擇中並沒有他想要的答案,或者他就只是想碰運氣而已。這使得分析結果並無法正確反映出學生的程度。選擇題也限制了學生的反應能力,對於學生的想像力或多或少有些負面的影響。
以填空的方式雖然可以避免上述的問題。但這對系統而言,則是一個很大的挑戰。因為系統的知識庫很難是完備的,所以就會出現一些系統無法分析的情況。縱然如此,我們還是認為後者優於前者。畢竟電腦內的學生模型只是一個教學輔助用具,是老師的幫手,它並沒有必要取代老師的地位。所以遇到無法分析的情況,只要詳細的將之記錄下來,留待老師個別處理即可。
6 範例
在結束本論文前,讓我們來看一個非常簡單的小例子:
系統:5輛三輪車共有幾個輪子?
學生:什麼是三輪車?【系統可以知道學生在問一個問題,因為「事物-意義」是一個問的關係,為什麼不直接用「事物-什麼」來建關係呢?因為「事物-什麼」至少有兩個可能,一是問「這東西是什麼」,二是問「這東西有什麼」。由於概念關係必須要清楚說明兩者是在那一個面向(aspect)上有怎樣的關係。所以,才不直接用「事物-什麼」。】
系統:三輪車是只有三個輪子的車(同時系統給相關的圖片)。【並且能夠輕易利用字典有回答問題。由此可知有許多知識並不需要自己去建,而是利用已有的知識庫。】
系統:那麼,5輛三輪車共有幾個輪子,你知道答案了嗎?【系統有一個關係仍未被滿足,即「問題-答案」這個關係,系統丟出了問題,但還沒得到答案。所以可以再次用問題來提醒。】
學生:15。
系統檢查答案,正確時跳到下一題,反之則進行診斷。如:
系統:143-28是多少?
學生:125
【系統知道學生答錯了,進行診斷。這個錯誤有兩個可能,(1)學生用較大的數減較小的數,而忽略了那一個是減數,那一個是被減數;及(2)學生從4借了1,但是他卻忘了,依然是用4減去2而非3減2。所以,系統會問以下的問題:】
系統:那麼,154-36又是多少?
【系統會問這個問題因為學生的答案可能能夠幫助系統確認錯誤來源。若答案是22則為(1),若為28則為(2)。】
7 結論
本文中我們說明了對談系統如何解決自然語言處理中關於「多中選一」的問題,並將之應用在學生模型上。然而對談系統並不僅僅限於對話,即使是讀一篇文章,也可以看成是某種形式的對談(與作者的對談)。由上述可知,對話的過程是「關係的排除與建立的過程」,同樣的,在讀一篇文章時,也是一種「關係的排除與建立」交互出現的過程。比如說,在讀一篇文章的第一個句子:「今天天氣晴朗」時,我們會發現,這個句子可以有很多可能的關連。但是,在讀到第二句「真是郊遊的好日子」時,我們已經可以把許多關連排除了。如此一句接一句,我們就可以從建立起來的關係,知道文章的主題及其所要表達的內容了。這樣看來,這「似乎」使得系統「理解」文章成為可能。 無可否認的,這牽涉到了所謂「知識表徵」(knowledge representation)的複雜問題。
。當我們考慮到在輔助教學中,瞭解學生錯誤概念這個嚴肅的課題時,一個系統化的分析以及軟體的設計就變成一個相當具體的問題了。我們希望未來從實際的系統驗證中,能夠發掘出設計學生模型的一種最合適的對談模式。
Acknowledgement:
本論文是「中研院資訊所智慧型代理人實驗室」和「台灣大學心理系」的合作計劃──學生模型(89-H-FA07-1-4-2)的研究成果之一。
參考文獻
[1] 林清山譯,《教育心理學:認知取向》,遠流出版社 (1991)。
[2] 蔣建智(台大胡志偉老師學習科技實驗室):國小學童數學加減法的錯誤類型分析(初步報告)
[3] A. Barr & E. A. Feigenbaum (eds.), The handbook of Artificial Intelligence, Volume 2, Chapter IX, William Kaufmann, Inc (1982).
[4] H. P. Grice (1975), Logic and Conversation, in Basic Topics in the Philosophy of Language, edited by R. M. Harnish, Prentice-Hall, Inc (1994).
[5] James Allen, Natural Language Understanding, The Benjamin/Cummings Publishing Company, Inc (1987).
[6] J. S. Brown and R. R. Burton , Dianostic Models for Procedural Bugs in Basic Mathematical Skills, in Cognitive Science, 2, 155-192 (1978).
[7] R. M. Martin, The Meaning of Language, MIT (1987).
[8] Steven Pinker, Language Instinct, HarperPerennial (1994).
展开阅读全文