宋雪亞,王傳安
(安徽科技學(xué)院,安徽 鳳陽 233100)
?
基于中文分詞的主觀題自動評分算法研究
宋雪亞,王傳安
(安徽科技學(xué)院,安徽 鳳陽 233100)
目的 為了對在線考試系統(tǒng)中主觀題進(jìn)行更合理的評分,提出一種基于中文分詞的算法對主觀題進(jìn)行評分。方法 對中文分詞進(jìn)行了詳細(xì)介紹,并對已有的算法進(jìn)行研究和改進(jìn),利用基于中文分詞技術(shù)并結(jié)合文本相似度對主觀題進(jìn)行自動評分,從文本串長度相似度、文本串詞形相似度和文本串詞序相似度,再結(jié)合影響因子,形成最終的綜合相似度。結(jié)果 通過綜合考慮考試科目的特征,合理的設(shè)置3個相對影響因子的值,對試卷通過4個實驗進(jìn)行測試,試卷題目分別為4個Office簡答題,標(biāo)準(zhǔn)答案控制在100字內(nèi),每個實驗回收電子試卷50份,與使用原算法的實驗結(jié)果進(jìn)行比對。實驗測試表明,優(yōu)化后的算法準(zhǔn)確率有了很大提高。結(jié)論 優(yōu)化后的算法準(zhǔn)確率有明顯提高,在詞形相似度較高的情況下評分效果與原算法差距不大,依然有改進(jìn)的空間。
中文分詞;自動評分;文本相似度
考試是學(xué)校教育過程中的一個關(guān)鍵環(huán)節(jié),是考核評估學(xué)生學(xué)習(xí)效果的重要標(biāo)準(zhǔn),也用來對教師教育質(zhì)量進(jìn)行評價。傳統(tǒng)模式的考試方式,閱卷工作是極其費(fèi)時費(fèi)力的一個環(huán)節(jié),如《大學(xué)計算機(jī)基礎(chǔ)》課程,是涉及到全校性質(zhì)的公共基礎(chǔ)課程,考試后的閱卷評分工作給教師帶來沉重負(fù)擔(dān),同時還會降低工作效率,以及由于主觀原因造成的考試不公平等。本文利用中文分詞的思想對主觀題進(jìn)行自動評分,使考試的公平性和客觀性得到了提高,使教師的工作量大大減少,工作效率得到了提高[1]。
對于主觀題的自動評分,目前已有很多相關(guān)的算法研究。但由于人工智能和計算機(jī)技術(shù)的影響,對主觀題的自動評分至今還不夠理想。目前,主觀題自動評分做的比較好的是程序應(yīng)用題[2]。為了更好地解決當(dāng)前在線考試系統(tǒng)中主觀題自動評分的問題,本文提出了基于中文分詞,并結(jié)合文本相似度對在線考試系統(tǒng)中主觀題進(jìn)行評分的方法,其方法原理如圖1所示。經(jīng)實驗測試表明,該算法的準(zhǔn)確性基本滿足在線考試系統(tǒng)中主觀題自動評分的需求,是有效可行的方法。
圖1 主觀題自動評分流程圖
下面介紹主觀題自動評分中用到的主要技術(shù):分詞技術(shù)和文本串匹配度,然后從文本串長度、文本順序以及文本的詞形相似度三者結(jié)合的多層次比較算法,進(jìn)行語句相似度的計算,最后利用該算法實現(xiàn)主觀題的自動評分。
因為中文比較特殊,不能像英文可以利用空格來進(jìn)行詞與詞之間的劃分,在中文語法表示方法中,一般用詞語作為表達(dá)語義的基本單元,因此要想使計算機(jī)能處理好中文,首先要利用分詞把文本分成很多個詞語。目前該技術(shù)已然很完善,能夠滿足要求。目前分詞方式主要有兩種:一種是基于詞典的,一種是基于統(tǒng)計的。前一種方法有3種匹配方式;后一種方法要求制定相應(yīng)的標(biāo)準(zhǔn),然后人工制定一個比較大的語料庫,最后利用機(jī)器學(xué)習(xí)的方式,訓(xùn)練得到相應(yīng)的統(tǒng)計模型[3]。在分詞時,根據(jù)該模型,對需要分割的字符串進(jìn)行計算,做出最優(yōu)選擇,得到最好的切分結(jié)果。
分詞[4]是使用分詞技術(shù),把一個中文的語句序列分割成很多個有意義的詞,又可以叫做切詞。它的基本原理是先對文件進(jìn)行預(yù)處理,把答案文件中的標(biāo)點(diǎn)符號、表格、圖標(biāo)、圖片等刪除,去掉和分詞無關(guān)的干擾項,再從知識庫中獲取各詞的概念定義[5],然后利用中文分詞技術(shù),對所給答案進(jìn)行分詞處理,得到文本串文件。其模式如圖2所示。
圖2 分詞處理流程
圖3 分詞結(jié)果
目前,很多分詞技術(shù)已經(jīng)比較成熟,如跨平臺的Phpanalysis、IKanalyzer、Paoding等,以及基于Windows平臺的ICTCLMS和HTTPCWS等[6]。把“中央處理器”利用Paoding分詞技術(shù)進(jìn)行分詞以后的結(jié)果如圖3所示。
分詞工作完成以后,就可以對文本進(jìn)行相似度計算。一般情況下,文本的相似度取決于文本長度相似度、詞形相似度和詞序相似度,其中起關(guān)鍵作用的是詞形相似度,長度相似度起次要作用,最后是詞序相似度[7],基于以上分析,為了更好地使文本相似度計算的精度達(dá)到最高,采取了綜合以上三者因素的方法來判斷文本的相似度。
文本A與文本B相似程度的大小取決于兩個文本的文本相似度。兩個文本的文本相似度越高表明兩個文本串的意思越接近,則學(xué)生答案文本與參考答案文本的相似度越高。文本相似度的算法有兩種:一種是基于語義詞典,一種是基于語料庫。這兩種方法共同的問題是過于依賴各自的詞典以及語料庫[8]。
受人工智能的啟發(fā),本文綜合文本長度相似度、詞形相似度和詞序相似度,不僅提升了文本串匹配度計算的效率,也提高了評分的準(zhǔn)確率。
在文本通過上述的中文分詞技術(shù)被分割成具有獨(dú)立意義的文本后,兩種文本之間的相似度就可以通過計算隸屬于兩個文本的文本串的相似度來進(jìn)行判斷。在批改主觀題時,一般首先看學(xué)生所給試題的解答字?jǐn)?shù)多少,是否達(dá)到題目的基本要求,字?jǐn)?shù)的多少可以用文本長度相似度表示;接著再看學(xué)生答案有沒有給出參考答案中應(yīng)有的關(guān)鍵詞,該問題可描述為文本串的詞形相似度;接下來最重要的是看這些關(guān)鍵詞在語句中的順序與所給參考答案中的詞序是否一致,該問題可描述為文本串詞序相似度。以上3點(diǎn)相互結(jié)合,便是人工閱卷評分的思想。
本文將文本長度相似度、詞形相似度、詞序相似度結(jié)合各自的影響因子,得到最終的綜合相似度。具體算法如下。
3.1 文本串A與單文本B長度相似度計算
根據(jù)《大學(xué)計算機(jī)基礎(chǔ)》課程知識可以看出,如果學(xué)生提交的試題答案內(nèi)容與參考答案一致,則文本長度應(yīng)該大致相同。由此可以把文本串A和B的長度分別用Length(StringA)和Length(StringB)來表示,則文本串A和B的長度相似度可以利用公式(1)得出:
(1)
上式中StringA代表試卷參考答案所給答案經(jīng)預(yù)處理和分詞后得到的文本A,StringB代表考生考試時所給題目答案文本經(jīng)預(yù)處理和分詞后得到的文本串B,StringLengthSimila表示文本串A和B的長度相似度。從公式(1)可以看出,StringLengthSimila∈[0,1]。StringLengthSimila的值的大小,反應(yīng)兩個文本串相同的長度相近的程度和兩個句子含義相似的程度。
例如:CPU的全稱是?
A1:處理器(不完全得分答案)
A2:中央處理器(標(biāo)準(zhǔn)答案)
A3:中間處理機(jī)(不得分答案)
答案A2分詞處理的結(jié)果見圖3,則有Length(StringA)=3,如果考生考試時給出的解答為A1,則Length(stringB)=2,考生給出的解答為A2,則Length(StringB)=3,因而得出StringLengthSimila分別為0.67和1。
基于以上分析,可以看出,StringLengthSimila的值越大,考生考試時給出的答案與標(biāo)準(zhǔn)答案越接近。但是如果只靠這一個參數(shù)進(jìn)行評分就會出現(xiàn)完全錯誤的評分結(jié)果,例如假設(shè)考生給出的試題答案是A3,經(jīng)分詞可得到結(jié)果:中間|處理|處理機(jī),文本串長度也為3,如果僅僅依據(jù)文本串長度給出分?jǐn)?shù),這個完全錯誤的答案會得到滿分,很顯然是不合理的。
3.2 文本串A與文本串B詞形相似度計算
由上面分析可知,僅僅靠文本串A和文本串B的長度相似度來給出主觀題分?jǐn)?shù)是不合理的。在對考生考試時給出的文本和標(biāo)準(zhǔn)答案進(jìn)行分詞后,分別得到了相應(yīng)的文本串A和文本串B,此時可以通過計算隸屬于文本串A和文本串B中的文本的詞形相似度來判斷兩種文本之間的相似度。
在此,可以把兩個文本分別看作兩個詞的集合:A=(A1,A2,A3……,Aj)和B=(B1,B2,B3……,Bi);文本串A和文本串B的長度分別由Length(StringA)和Length(StringB)來表示。其中文本中文本的個數(shù)由長度表示;文本串A和文本串B的詞形相似度可以通過公式(2)得出:
(2)
公式2中,CharSimila表示文本串A與文本串B的詞形相似度,Simila表示文本串A和文本串B中相似詞形的個數(shù),maxLen表示兩者之中文本個數(shù)的最大值。仍以上面的題目為例,依據(jù)此算法得到A1的詞形相似度為0.67,A2的詞形相似度為1,A3的詞形相似度約為0.33。
由以上分析可知,ChrSimila的值越大,表明文本A和文本B的相似度越高,說明考生答題時的試題答案就更和參考答案更接近。
3.3 文本串A與文本串B詞序相似度計算
為了提高考生所給試題答案與標(biāo)準(zhǔn)答案的一致性,用以下方法來計算文本串A與文本串B詞序的相似度。在文本串A與文本串B中出現(xiàn)并且僅出現(xiàn)一次的詞的集合用Only1(strA,strB)來表示[9],文本串A與文本串B的逆序數(shù)用Count(strA,strB)來表示?;谝陨霞僭O(shè),文本串A與文本串B的詞序相似度SortSimila則可以由公式(3)來表示:
(3)
公式(3)中,SortSimila表示文本串A與文本串B的詞序相似度,Count統(tǒng)計文本串A和B的逆序數(shù),Only1表示2個文本串中都出現(xiàn)并且只出現(xiàn)1次的單詞。同樣以上述的例子為例,則有:
A2中央處理處理器123A1處理處理器12A3中間處理處理機(jī)/1/A4計算機(jī)科學(xué)技術(shù)///
根據(jù)以上算法,可得學(xué)生答案A1、A2、A3的SortSimila都是1,很明顯,SortSimila在上述例子的評分方法中還是有很大差別的,但是仍需考慮SortSimila的因素[10],比如學(xué)生的答案是A4(計算機(jī)科學(xué)與技術(shù)),此時Only1<1,則SortSimila=0,因此在文本相似度的計算中把詞序相似度作為一個限定條件,所占的比重最小。
3.4 文本A與文本B相似度計算
通過對上述的文本串A和文本串B的長度相似度、詞形相似度和詞序相似度的分析和描述,可以得出文本A和B的相似度SyntlesizeSimila,可用式(4)來表示:
SynthesizeSimila=aStringLengthSimila+βCharSimila+γSortsimila
SynthesizeSimila∈[0,1]
α,β,γ∈[0,1]
(4)
公式(4)中,α、β、γ是常數(shù),分別表示文本串的長度相似度、詞形相似度以及詞序相似度的影響因子,并且有α+β+γ=1,不同課程的考試評分可以根據(jù)它們的特點(diǎn)定義三者的大小,最后綜合三者的評分。根據(jù)《大學(xué)計算機(jī)基礎(chǔ)》課程的特點(diǎn),為了使評分的準(zhǔn)確率更高,本文設(shè)定詞形相似度起主要作用,長度相似度起次要作用,詞序相似度只是作為一個限定條件,所以有β>α>γ的關(guān)系。
根據(jù)上述算法,對本文上面提到的4個答案依次計算其綜合相似度,根據(jù)α、β、γ三者的關(guān)系,對α、β、γ分別取0.09、0.9、0.01,計算得到的4個答案的綜合相似度分別為A1=0.67,A2=1,A3=0.3,A4=0.09。
3.5 分?jǐn)?shù)評定
文本相似度計算出來以后,就可以根據(jù)文本相似度對學(xué)生考試時所給的答案進(jìn)行評分。在本系統(tǒng),根據(jù)《大學(xué)計算機(jī)基礎(chǔ)》課程的特點(diǎn),對于某道簡答題,設(shè)定一個最高相似度H和最低相似度L,規(guī)定對于學(xué)生的試題答案和參考答案相似度高于H的題目得分為該試題的滿分Sm,對于學(xué)生的試題答案和參考答案相似度低于L的題目得分為0分,對于相似度在之H和L之間的學(xué)生得分用該試題滿分乘以考生答案和參考答案的相似度即Sm*SyntlesizeSimila來計算[11],因此某試題的得分S可以用式(5)來計算:
S={|(SmSyntlesizeSimila|H@Sm|Synt|esizeSimila|
(5)
公式(5)中,S表示試卷中某道主觀題的得分,Sm表示該主觀題滿分分值,SyntlesizeSimila為考生答案和參考答案的文本相似度。
這樣對于有n道簡答題試題的試卷,主觀題總分可以由公式(6)求得:
(6)
公式(6)中,TotalS表示該試卷中主觀題所得的總分,Si表示某一主觀題得分,n表示某試卷中主觀題題目的個數(shù)。
本文采用了基于中文分詞技術(shù)并結(jié)合文本相似度算法,考慮文本長度相似度、詞形相似度以及詞序相似度的同時,還綜合考慮了考試科目的特征,合理設(shè)置3個相對影響因子α、β、γ的值。對于一般的科目,β的值要遠(yuǎn)遠(yuǎn)大于α和γ的值,也就是說詞形相似度是起決定作用的,本系統(tǒng)中β=0.9,依據(jù)以上算法,對本文上面提及的4個答案進(jìn)行綜合相似度計算,對α、β、γ分別賦值0.2、0.7、0.1,則計算到的4個答案的綜合相似度A1=0.67、A2=1、A3=0.42、A4=0.07。
對試卷通過4個實驗進(jìn)行測試,試卷題目分別為4個Office簡答題,標(biāo)準(zhǔn)答案控制在100字內(nèi),每個實驗回收電子試卷50份,與使用原算法的實驗結(jié)果進(jìn)行比對,結(jié)果如表1所示。
表1 原算法與優(yōu)化算法準(zhǔn)確率測試比對(%)
通過以上測試結(jié)果可知,優(yōu)化后的算法準(zhǔn)確率在實驗1、2和4上有明顯提高,但在實驗3上提高百分點(diǎn)不大。分析其原因,在人工查看實驗3的每個答案后,發(fā)現(xiàn)實驗3的答案在SortSimila度上已經(jīng)很接近標(biāo)準(zhǔn)答案,故評分差距不大。
本文算法由3個算法綜合而成,評分在綜合考慮長度、詞形與詞序相似度的同時,還要根據(jù)考試科目的特性相對設(shè)置影響因子α、β、γ的值。一般而言,影響因子β的值所占比重要遠(yuǎn)遠(yuǎn)高于α、γ,即詞形相似度的比重應(yīng)充分考慮。本文在詞形相似度較高的情況下的評分效果與原算法差距不大,依然有改進(jìn)的空間。
[1]郭偉.基于ASP.NET的在線考試系統(tǒng)設(shè)計與實現(xiàn)[D].南京:南京大學(xué),2011.
[2]謝磊.基于ASP.NET和Ajax技術(shù)制作的在線考試系統(tǒng)[D].廣州:中山大學(xué),2014.
[3]劉件,魏程.中文分詞算法研究[J].微計算機(jī)應(yīng)用,2014,29(08):11-16.
[4]南鉉國,崔榮一.基于多層次融合的語句相似度計算模型[J].延邊大學(xué)學(xué)報(自然科學(xué)版),2014,33(03):191-194.
[5]謝俊.通用題庫管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)時代,2013(03):20-22.
[6]JERALD J,ASOKAN P.SiAultaneous scheduling of parts and autoAated guided vehicles in an FAS environAent using adaptive genetic algorithA[J].The International Journal of Advanced Aanufacturing Technology,2012,29(05):584-589.
[7]劉相濱,陽波,王勝春,等.基于組件的計算機(jī)考試系統(tǒng)研究與實現(xiàn)[J].計算機(jī)工程與應(yīng)用,2011(05):210-212.
[8]BAGLEY J D.The behavior of adaptive system which employ genetic and correlation algorithm[J].Dissertation Abstracts International,2013,28(12).
[9]SOMMERVILLE L.Software engineering[M].7th ed.England:Pearson Education Limited,2013:266-283.
[10]CHOUC,Construeting a computer-assisted testing and evaluation system on the world wide web-the CATES experience[J].IEEE Transactions on Education,2000(43):266-272.
[11]劉暢.《大學(xué)計算機(jī)基礎(chǔ)》無紙化考試系統(tǒng)的設(shè)計與實現(xiàn)[D].哈爾濱:黑龍江大學(xué),2010.
[責(zé)任編輯:馮 浩 英文編輯:劉彥哲]
Automatic Scoring Algorithm for Subjective Questions Based on Chinese Word Segmentation
SONG Xue-ya,WANG Chuan-an
(Anhui Science and Technology College,Fengyang,Anhui 233100,China)
Objective To improve the scoring validity of subjective test questions,a Chinese word segmentation algorithm was presented.Methods The algorithm,proposed after detailed introduction of Chinese word segmentation and literature review of the previous algorithms,helped to realize automatic scoring of subjective test questions.The similarities of text string length,text string formation and text string sequence,combined with the impact factor,led to the final comprehensive similarity.Results Fifty experiment papers,which included same four Office short answer questions with answers no more than one hundred words,were scored with both proposed algorithm and unmodified algorithm,with values of the three relative influencing factors properly set according to the characteristics of the test subject.Conclusion The accuracy of the optimized algorithm is obviously improved.In the condition of higher similarity,the scoring effect is not much different from that of the original algorithm,and there is still room for improvement.
Chinese words segmentation;automatic grading;text similarity
安徽科技學(xué)院校級一般項目:“互聯(lián)網(wǎng)+技術(shù)下的無線移動視頻智能監(jiān)控技術(shù)研究”(ZRC2016495)
宋雪亞(1983-),女,河南扶溝人,安徽科技學(xué)院講師,碩士,主要從事計算機(jī)科學(xué)與技術(shù)方面的研究。
TP 306.1
A
10.3969/j.issn.1673-1492.2017.09.002
來稿日期:2016-11-16