邱錫鵬,繆有棟,黃萱菁
(復旦大學計算機科學技術學院,201203上海)
問題分類(Question Classification,QC)是開放領域問題回答(Question Answering,QA)系統(tǒng)的基礎和前提,問題分類準確性直接影響整個問答系統(tǒng)的性能[1].在NIST舉辦的TREC QA評測會議推動下,問題分類的研究已取得很大的進展.但目前大部分問題分類的研究還集中在英文語料上,在中文問題分類的研究上,由于缺乏大規(guī)模的公開中文問題分類數(shù)據(jù)集,以及中英文的語言區(qū)別,因此中文問題分類的性能還達不到英文的水平,這給中文問題回答研究帶來了一個主要瓶頸.因此,標注一個大規(guī)模的中文問題分類數(shù)據(jù)集是中文問答系統(tǒng)研究中非常急迫的工作.
在語料標注中首先需要確定的是標注規(guī)范.目前問題分類語料主要是針對事實類問題進行答案類型的標注,這樣無法處理非事實類問題.本文根據(jù)問題類型和答案類型兩方面進行標注.問題類型是定義用戶提問的意圖,比如“事實類”、“評價類”、“比較類”等.不同問題類型對應不同的處理方式以及答案生成策略.答案類型是定義返回答案的類型,比如:“人物”、“歌名”等.答案類型和問答系統(tǒng)中的其他模塊一起配合工作,比如:命名實體識別、文檔摘要和答案抽取等.因此根據(jù)Z.Dong等[2]的實體分類體系來確定答案類型的標注規(guī)范.
在構建數(shù)據(jù)集的方法中,主動學習方法[3-4](Active Learning)已經(jīng)被證明是一種有效的減少標注工作量有效方法.主動學習是一種增量式的標注方法,每次只需要人工標注當前模型分類中最不確定的樣本,這樣可以盡量避免標注重復樣本,使得標注樣本的差異近可能大.要標注大規(guī)模的數(shù)據(jù)集,每次按順序或隨機選取樣本進行標注的代價相當大,而通過主動學習,每次選取對當前分類模型來說具有最不確定性的樣本,會極大程序上降低標注的工作量.本文采用快速的不確定樣本特征選取方式,利用Passive Aggressive(PA)算法來訓練線性分類器,并計算分類的置信度.
在英文問題分類方面,X.Li等[5-6]構建了一個簡單的英文問題分類數(shù)據(jù)集,采用了Winnow network算法進行問題分類,準確率達到82%,在使用了一些詞的特征以及一些語義特征后,準確率達到89%.D.Zhang等[7]使用基于語法樹核的方法,先進行句法分析,然后用支撐向量機(Support Vector Machine,SVM)進行分類,使得準確率提高到90%左右.Z.Huang等[8-9]利用英文問句的特點,結合英文疑問詞(wh-word,比如:who/what/where)、中心詞(Head word)以及該詞的同義詞和上位詞等特征,在這些特定的特征下,采用SVM或最大熵方法進行分類,準確率在89%左右,在減小特征情況下準確率并沒有顯著下降.
在中文問題分類方面,張宇等[10]采用了針對問題分類問題提出了改進的貝葉斯分類方法來改進分類,準確率為72.4%.文勖等[11]加入了句法結構特征,在有效的分詞和句法分析數(shù)據(jù)上,得到了73%的準確率.
PA算法是一種在線學習算法,其基本思想是為了保證更新后的分類器盡量保留以前的信息,每次總是選取與原有分類器參數(shù)向量最接近的新向量,并且利用合適的損失函數(shù)作為更新后的向量在當前樣本點上的懲罰,而這個懲罰是每次控制分類器更新程度的重要參數(shù).
假設:x為樣本;y為對應的類別;Φ(x,y)為定義在(x,y)上的特征向量.每個樣本x的預測類別為
式中:w為權重向量,文獻[12]中提供了3種不同的優(yōu)化準則來進行學習更新權重的策略.
在PA算法中,目標函數(shù)定義為
式中l(wèi)(w,Φ(x,y))為損失函數(shù),其定義為
式中:γ(w;Φ(x,y))=wT·Φ(x,y)-wT·Φ(x,y~),y~=argz≠myax (wT·Φ(x,z)).Y為樣本的真實類別;y~為分類器預測的最佳類別(除真實類別外).
對于式(1),使用拉格朗日算法來求解最優(yōu)化問題.這樣w的更新方法為
lt為當前第t次迭代時的損失值.
PA算法的具體訓練流程如圖1所示.
圖1 Passive aggressive算法的訓練過程
主動學習是一種半監(jiān)督學習算法,其核心思想是通過標注最少量的樣本,并使得分類模型的性能可以快速提高,減少人工標注的工作量.近年來主動學習方法已經(jīng)被廣泛應用于需要大量人工標注的數(shù)據(jù)集構建工作中.
在主動學習中,首先標注兩個數(shù)據(jù)集:訓練數(shù)據(jù)集L和測試數(shù)據(jù)集T.初始訓練集L僅僅包含少量的樣本,未標注的樣本都被分配到未標注數(shù)據(jù)集U.
首先使用訓練數(shù)據(jù)集L中的樣本學習出一個分類模型.用這個模型對未標注數(shù)據(jù)集U中的樣本進行預測,并選取出前k條預測置信度最低的樣本進行人工標注,并從U中刪除,標注的樣本后加入L中,并重新訓練分類模型.并不斷重復上述過程.測試集T用來檢驗當前模型的預測效果.當新的模型在測試集T上的性能增加小于一定閾值時,就停止標注或重新選取測試集T.
為了選取最不確定的樣本,定義一個預測置信度R.設y1和y2分別為兩個當前模型預測分數(shù)最高的類.標簽為
對于未標注集合U的所有數(shù)據(jù),本文都使用當前分類模型計算相應的置信度,排序找出置信度最小的前i個樣本進行人工標注,從U中刪除并加入到訓練集L中.標注流程圖如圖2所示.
圖2 基于主動學習的數(shù)據(jù)標注流程
在問題分類中,提取復雜特征增加了處理時間但并不能有效地改進模型性能.并且當處理口語或網(wǎng)絡問句時,深層語法分析不能取得很好的結果,這樣利于語法特征反而會降低性能.因此根據(jù)先驗知識提取一些有效特征有效提高模型性能.
本文提取線索詞(hint word)作為特征.當一個問句中出現(xiàn)多個線索詞上時,將多個線索詞之間的共現(xiàn)關系作為擴展特征.
本文從“百度知道”和“搜搜問問”兩個問答網(wǎng)站下載一百萬條娛樂相關的問句.然后將利于主動學習的方法標注.每次進行標注時,讓兩個標注者進行標注,當兩個標注者標注結果不一致時,讓一個校對人員進行最終確認.
為了驗證線索詞特征的有效性,與n-gram特征進行對比.
首先進行特征選取,采用圖3中的實驗流程,設定初始樣本集大小和每次增加的樣本數(shù)量都為100.實驗中,在30次循環(huán)后準確率收斂,此時抽取特征為400個特征.使用這400個特征進行后續(xù)實驗.
圖3是PA與感知器兩個分類器的結果比較.從圖3中明顯可以發(fā)現(xiàn)PA算法比感知器的性能有很大提升.因此之后的實驗都采用PA算法.
圖3 PA算法和感知器鐵問題分類性能比較
在感知器的n-gram特征和主動抽取線索詞特征的結果對比中看出通過加入線索詞特征可以快速提升分類模型的效果.
對于采用相同算法時,使用線索詞特征的收斂速度更快,并且分類性能更好.在最終的線索詞庫中,大部分為疑問詞或明顯指示詞的不同變換形式.
因此在數(shù)據(jù)構建過程中,用PA算法進行模型訓練.這里使用2種特征(n-gram特征(n=3)、線索詞特征)進行比較.并比較主動學習和隨機抽取樣本兩種不同的標注方法進行訓練,一共4組方式作為橫向比較.將這4組方式選取同樣的初始訓練集,之后每次根據(jù)不同選取樣本策略選取100條數(shù)據(jù)進行標注.
4組實驗的性能比較如圖4所示.基于主動學習的兩組方法在收斂速度上明顯快于另外兩組,當準確率達到80%時,采用基于主動學習的方法只需要基于隨機采樣的1/2數(shù)據(jù)量,這就減少了1/2的數(shù)據(jù)標注工作量.因此采用基于主動學習標注方法在減少人工方面是十分顯著的.
圖44 種抽取特征方式的比較
在使用線索詞作為特征時,錯別字會降低分類性能.例如:“歌->哥”,“專輯->專集”等.在以后研究中,需要進一步針對這個問題進行研究.
經(jīng)過基于主動學習的數(shù)據(jù)集標注,最終形成了包含12 309條問句的中文問題回答數(shù)據(jù)集.
4.3.1 問題類型
在所有問句中,目前包含11種問句形式,統(tǒng)計各類的數(shù)據(jù)量和樣例問題如表1所示.
表1 中文問題分類數(shù)據(jù)集的問題類型統(tǒng)計
每一類都有自己顯著的問句形式并且類與類之間沒有顯著的相關性,可作為分類器的類別進行學習.
4.3.2 答案類型
相對于問題類型,答案類型是協(xié)助問答系統(tǒng)進行答案抽取的一個重要依據(jù).目前數(shù)據(jù)集中包含答案類型可以分為7大類和66個小類.表2是66個小類的數(shù)據(jù)分布情況.
表2 中文問題分類數(shù)據(jù)集的答案類型統(tǒng)計
本文提出一種基于主動學習的構建中文問題分類數(shù)據(jù)集方法,并從問題類型和答案類型兩個方面定義了一套中文問題類別規(guī)范.實驗顯示該方法有效地減少了標注樣本的工作量.
[1]VOORHEES E M.Overview of the TREC 2003 question answering track[C]//Proceedings of the Twelfth Text Retrieval Conference(TREC 2003).[S.l.]:Computer Science Bibliography,2003:54-68.
[2]DONG Z,DONG Q.HowNet and the computation of meaning[M].[S.l.]:World Scientific Publishing Company,2006.
[3]FREUND Y,SEUNG H S,SHAMIR E,et al.Selective sampling using the query by committee algorithm[J].Machine Learning,1997,28(2/3):133-168.
[4]COHN D A,GHAHRAMANI Z,JORDAN M I.Active learning with statistical models[J].Journal of Artificial Intelligence Research,1996,4(1):129-145.
[5]LI X,ROTH D.Learning question classifiers[C]//Proceedings of the 19th International Conference on Computational Linguistics.Stroudsburg,PA:Association for Computational Linguistics,2002:1-7.
[6]LI X,ROTH D.Learning question classifiers:the role of semantic information[J].Natural Language Engineering,2006,12(3):229-249.
[7]ZHANG D,LEE W S.Question classification using support vector machines[C]//Proceedings of the 26th ACM SIGIR Conference in Information Retrieval.New York,NY:ACM,2003:26-32.
[8]HUANG Z H,THINT M,QIN Z C.Question classification using head words and their hypernyms[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing.Stroudsburg,PA:Association for Computational Linguistics,2008:927-936.
[9]HUANG Z H,THINT M,CELIKYILMAZ A.Investigation of question classifier in question answering[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing.Stroudsburg,PA:Association for Computational Linguistics,2009:543-550.
[10]張宇,劉挺,文勖.基于改進貝葉斯模型的問題分類[J].中文信息學報,2005,19(2):100-105.
[11]文勖,張宇,劉挺,等.基于句法結構分析的中文問題分類[J].中文信息學報,2006,20(2):33-39.
[12]CRAMER K,DEKEL O,KESHET J,et al.Online passive-aggressive algorithm[J].Journal of Machine Learning Research,2007,(7):551-585.