周玉寶
(重慶師范大學,重慶401331)
對于教育行業(yè)來說,隨著互聯(lián)網(wǎng)的高速發(fā)展,教育模式以及教育方法也從以往的線下教學發(fā)展到了線上線下同步。2020 年疫情期間,中國的大中小學紛紛展開線上教學,各個培訓機構也相繼展開網(wǎng)絡直播課。線上教學方式雖然也能完成教學任務,但卻存在一些問題急需解決:其一,老師不可能回答所有同學的提問,也無法及時了解每一個學生對知識的掌握情況;其二,老師可能需要對同一個問題回答多次。自然語言處理技術為解決這些問題提供了研究基礎。自動問答是自然語言處理的一個分支,從20 世紀60 年代Green 等人開發(fā)出BASEBALL 問答系統(tǒng)[1]至今,已發(fā)展出大量應運于不同領域的問答系統(tǒng)。
如何把自動問答技術應用于教育領域,一批研究者已經(jīng)進行了初步探索。例如,APP 端的作業(yè)幫、小猿搜題等,這類APP的使用對象主要為小學到高中的學生,他們可以在問答模塊中進行提問或回答他人問題,而問題檢索只是其中的一個小模塊,檢索的主要實現(xiàn)方式為拍照搜題,即將題目拍照后進行照片識別再進行搜索,它將人工問答與問題搜索相結合,并使用拍照的方式降低使用成本,可以滿足學生家長和教師的一部分需求,而這種方式也更適用于題目相對固定的場合。在國外也有許多實用較為廣泛的學習分析技術工具,例如ASSIST-ments,它會模擬教師為學生提供課堂反饋的模式,會給不能正確回答問題的學生提供漸進性的提示,目前有216 個地區(qū)使用該系統(tǒng);還有自動批改作業(yè)并反饋,利用學習數(shù)據(jù)生成個性化學習路徑的Bingel,為九至十二年級的學生提供數(shù)學課程學習活動和反饋的Cognitive Tutor Software 系統(tǒng)等等,這些系統(tǒng)均是將人工智能與教育相結合,從不同角度為教學互動提供幫助。
一個典型的基于檢索的問答系統(tǒng)通常由三部分組成:問題處理模塊、文本檢索與排序模塊、答案抽取模塊。問題處理模塊是對輸入的問題進行分詞、命名實體識別、詞性標注、和依存句法分析,并輸出一系列特定問題的語義標簽(例如問題類型、問題關鍵詞、答案類型等)。現(xiàn)有的基于檢索的問答系統(tǒng)中,一般把問答任務分為答案句子選擇和機器閱讀理解兩類,答案句子選擇指在檢索到的文本中查找一句與問題相符合的答案句子,機器閱讀理解是從檢索到的文本中抽取短語或單詞然后組合為一個答案句子。在答案句子選擇上有兩大類方法:基于特征的方法和基于深度學習的方法。
問題句子中的詞匯與可能答案句子中的詞匯的重疊度,可以反映答案與問題的匹配性,用函數(shù)l 表示這一匹配性:
l 表示A 中詞匯的個數(shù),I(w,q)檢查A 中詞匯w 是否出現(xiàn)在Q 中,如果出現(xiàn)則返回1,否則為0,分母是用于懲罰詞匯較多的答案候選句子。如果該函數(shù)值越大,說明答案越吻合。
相比于簡單的詞匯重疊性,基于查詢似然相似度的問題檢索模型有更強的表達能力,比如一元語言檢索模型LMIR,該模型是一個簡潔有效的模型,直接計算問句與檢索到的文檔中每一句的詞匯重疊度并找出最大值的一句作為答案句。的但在實際中,由于同一語義在自然語言中有不同的表示,采用這種精確詞匯匹配方法就無法處理這種情況。此外候選答案句子可能比問題包含更多的信息,這些信息能否提供回答該問題的答案,無法靠詞匯重疊度進行衡量。
翻譯模型的提出稍微緩解了上述兩個問題,Surdeanu 等人[5]使用翻譯特征完成問題和候選答案句子間的相關性計算。Wang等人從語法信息的角度提出了基于類同步文法的方法[7],該方法基于候選答案句子對應的依存句法樹,計算二者相互轉換的概率。Yih 等人[8]從語義信息的角度,包括同義詞關系、上下位關系和詞相似度這三個度量來判斷問題和答案句子之間的關系。
根據(jù)(15)和(16)式,可以計算出答案在檢索出的文本片段中的位置。
圖1 輔助教學問答系統(tǒng)流程圖
建立以課堂教學為主的輔助問答系統(tǒng),從實際課堂中獲取問答數(shù)據(jù),之后以此數(shù)據(jù)為基礎進行分析等處理,再進行相關模型的訓練,最后為學生提供圍繞該課堂的知識問答檢索服務。首先需要構建教學知識為基礎的問答對數(shù)據(jù)庫,再對數(shù)據(jù)庫中的內容進行向量化,在用戶進行搜索時對問句進行預處理和詞語替換等,再和數(shù)據(jù)庫中的句子進行匹配并排序,返回最終答案;若沒有匹配到答案,則交給多輪問答部分進行分析,查看是否有于省略、代指等情況,如果能檢索出答案則返回給學生,若是還不能,則把問題提交給待解決問題庫,等待教師解答后,把答案輸入問答庫。其流程如圖1 所示。
用戶在輸入問句后經(jīng)過預處理、句向量生成、距離對比、答案排序的步驟選擇出相關問題和答案。其中,預處理步驟包括對問題進行分詞、去停用詞等處理,再使用BERT 模型生成查詢語句的句向量,再將查詢語句的句向量與數(shù)據(jù)庫中已有問題句向量作對比。本文選擇余弦距離作為距離計算的方法,在得到不同語句的距離計算結果后進行排序,最后選擇排名較為靠前的答案作為結果返回。
本文將問答系統(tǒng)應用到教學領域,在課堂中不斷進行相關問答擴充數(shù)據(jù)庫保證內容的準確性和即時性,使用自然語言處理的相關技術對問答對進行處理以完成問答檢索功能,同時為了保證系統(tǒng)的完整性設計了系統(tǒng)相關的如管理功能等其他功能模塊。如圖2 所示,通過上文中對知識問答系統(tǒng)的功能性需求分析,將系統(tǒng)分為查看模塊、問答模塊、搜索模塊和管理模塊四個主要模塊。
查看模塊為系統(tǒng)主要的交互展示方式,包括了整個系統(tǒng)中包含的所有信息:課程、問題列表以及問題詳情。用戶在進行提問和回答后信息會保存在數(shù)據(jù)庫中并在本模塊進行展示以供他人進行查看,而用戶在進行問題搜索后也會以列表的形式返回給用戶相關答案供用戶選擇和查看。
系統(tǒng)的問答模塊最主要的目的為知識庫的積累,進行搜索時為其提供匹配內容。為了保證系統(tǒng)問題的相關性以及回答的正確性,整個模塊需由師生共同完成,學生在自己所上的課程中進行提問,而教師選擇自己教授的課程回答問題。
搜索模塊是核心模塊,主要是通過用戶自由輸入問題后,后臺在對問題進行一系列處理后將用戶輸入問題與知識庫中相關問題進行匹配,最后返回相似度較高的問題供用戶查看;按照前文所述,如不能在問答庫中檢索出答案,則提交給多輪問答模塊。
管理模塊的功能主要是為系統(tǒng)提供可視化的用戶管理信息,信息系統(tǒng)中存儲了相關的課程信息和用戶信息,為了方便的添加和刪除相關課程及教師信息設計了這個模塊。
圖2 課堂輔助教學問答系統(tǒng)框架設計