鐘啟東,張景祥
濟南大學(xué) 信息科學(xué)與工程學(xué)院,濟南250022
作文批改的工作量之巨是一線語文教師深有感觸的[1]。而要在大型考試閱卷中保證閱卷教師不產(chǎn)生閱讀疲勞且秉持客觀公正則更加困難。多數(shù)情況下,同一份試卷由同一位閱卷者在不同的時間段多次評閱往往會得到不同的分數(shù)。計算機自動閱卷系統(tǒng)應(yīng)運而生。國外已取得不少成果,其中典型的系統(tǒng)有作文自動評分(PEG)系統(tǒng)[2]和基于隱含語義分析(LSA)的系統(tǒng)[3]等。存在的問題是,基于統(tǒng)計學(xué)的系統(tǒng)往往缺乏自然語言處理;基于文本相似性比較的系統(tǒng)往往缺乏語言特性的分析。這些系統(tǒng)和技術(shù)很難直接應(yīng)用于漢語作文閱卷之中。
近年來國內(nèi)學(xué)者也對作文的機器評閱進行了有意義的研究與探索[4]。一些學(xué)者借鑒了英語作文自動評分,分析了類似于詞匯等級、錯別字等淺層語言特征,對作文作者語言特性的感知還不夠深入。有鑒于此,有學(xué)者針對作文的文采和優(yōu)美句型做了有益的探討[5-6]。
本文在對國內(nèi)語文教育和作文人工評閱分析的基礎(chǔ)上,對機器評閱與人工評閱的差異進行了思考,認識到對語感特征的認可是人工評閱優(yōu)于機器評閱的地方。將語感特征進行量化分析并應(yīng)用于漢語作文的自動評分中是提升機器評閱質(zhì)量的有效途徑,本文對此做了積極的探討,提升了對語言的深度感知,實現(xiàn)了比純粹數(shù)理統(tǒng)計更加貼合人類閱卷的評分。
觀察高中作文的整體教學(xué)過程以及相關(guān)語料可以很容易得出結(jié)論:優(yōu)秀作文通常具備段落的首尾呼應(yīng)或者“總分總”(總寫-分寫-總寫)的作文結(jié)構(gòu)。這類結(jié)構(gòu)可以使得整篇作文中心明確、條理整潔,猶如鏗鏘有力的演講將筆者的思想感情完美地展現(xiàn),使得閱讀者明顯在語感上更加有層次感和結(jié)構(gòu)性。
雖然不限文體但是考場作文的特性依然使得議論文無論出題傾向還是考生意愿都占據(jù)了很大的優(yōu)勢[7]。
從考場統(tǒng)計發(fā)現(xiàn),考生們較少使用臨場發(fā)揮式的靈感突現(xiàn)等散文性文體,而更傾向于呈現(xiàn)考生本人的素材積累以及文采、論調(diào)等議論性文體。
首尾呼應(yīng)、總分總等作文結(jié)構(gòu)并非議論文的專屬,已成為許多作文的得分點。因此對這些作文特征的計量對于計算機自動評分是至關(guān)重要的。
首尾呼應(yīng)一般在文章結(jié)構(gòu)中分為以下兩種形式。
(1)總分總結(jié)構(gòu)的首尾呼應(yīng)
這種形式的結(jié)構(gòu)是非常常見的一種作文結(jié)構(gòu)形式,開篇提出論點(開門見山),中間若干分論點,結(jié)尾總括論點(或重申論點,或總結(jié)引申)。幾個分論點之間可以是并列關(guān)系、層遞關(guān)系、對比關(guān)系等等,但不能是包含關(guān)系或交叉關(guān)系。文章整體的首尾呼應(yīng)一般體現(xiàn)在作文第一段和最后一段之間的關(guān)聯(lián)性。
以一篇2017 年全國一卷的優(yōu)秀高考作文為例,它在展示考生語言組織能力的同時也充分表達了構(gòu)思的邏輯和思想的傳遞,如圖1所示。結(jié)構(gòu)合理的作文會讓閱卷老師清晰感受到考生的思路并對作文成績給出較高評價。該作文第一段和最后一段緊扣主題,閱卷老師很容易對作文的中心進行解讀,進而使得全文語感上了一個層次。
(2)段落中的前后呼應(yīng)
圖1 首尾文本關(guān)聯(lián)示意圖
除了作文整體的首尾呼應(yīng),單獨段落中也可能存在前后呼應(yīng)。這些上下文關(guān)聯(lián)的存在讓段落的思想表達更加完整。
圖2給出了一則段落中上下文關(guān)聯(lián)的例子,它讓全段的強調(diào)語氣非常明顯。這樣的結(jié)構(gòu)可視作是考生邏輯思維能力的反映。
圖2 段前段尾關(guān)聯(lián)示意圖
本文針對這兩種形式的上下文關(guān)聯(lián)特征提出技術(shù)方法進行自動識別,如圖3 所示。該流程在經(jīng)過分詞、分句、段落截取、詞性標注等預(yù)處理抽取對應(yīng)各處文本之后進行識別。其流程包括以下步驟。
(1)工整性檢驗
工整性是對于文章結(jié)構(gòu)的契合度的要求。有些作文屬于殘篇或者作文結(jié)構(gòu)問題很大的情況就需要進行排除。比如,Paragraph ≤1 的時候,基本可以排除在檢測之外;段前段尾的檢測需要Sentence ≥2;在進行文本抽取的時候可以用多種方式進行分段,比如“?!薄埃骸薄埃俊钡鹊?。
圖3 抽取檢測首尾呼應(yīng)的示意圖
工整性檢驗可以降低因作文不齊整性對自動檢測的干擾,進一步減少檢測過程中可能出現(xiàn)的誤判。
(2)詞袋模型檢驗
上下文呼應(yīng)的一個特征就是主題的一致性,而一致性最直觀的表現(xiàn)就是共有關(guān)鍵詞。如圖2所示,段落開始是對“中國”“速度”的總領(lǐng)而段尾是對“中國”“速度”該意義的進一步闡述。這兩個部分都離不開這兩個核心關(guān)鍵字。通過構(gòu)造這樣的共有關(guān)鍵字詞袋,可以比較準確地判斷兩者的關(guān)聯(lián)性。
TextRank算法是一種用于文本的基于圖的排序算法[8],其基本思想來源于谷歌的PageRank 算法。TextRank算法通過把文本分割成若干句子并進行詞性標注,且過濾停用詞保留指定詞性的詞如名詞、形容詞等組成單元并建立圖模型,再利用投票機制對文本中的重要成分進行排序。
使用TextRank算法計算圖中各點的得分時,需要給圖中的點指定任意的初值并遞歸計算直到收斂。圖中任意一點的誤差率小于給定的極限值時就可以達到收斂。
和LDA、HMM等需要大量語料庫訓(xùn)練的模型和算法不同,TextRank 不需要事先對多篇文檔進行學(xué)習(xí)訓(xùn)練,它可以僅利用單篇文檔本身的信息即可實現(xiàn)關(guān)鍵詞提取、文摘。
(3)文本相似性的檢測
文本相似度計算在許多領(lǐng)域有著廣泛的應(yīng)用,如信息檢索、數(shù)據(jù)挖掘、機器翻譯、文檔復(fù)制查重檢測等。在上下文關(guān)聯(lián)的檢測中,進行文本相似度計算也是很重要的支持技術(shù)。它可進一步將詞袋模型中略過的信息進行確認。
文本相似度計算方法有很多種,如余弦相似度、歐氏距離、jaccard距離、編輯距離等[9-10]。根據(jù)不同的作文評閱環(huán)境可以選用不同的計算方案。
對短文本來說,本文經(jīng)比較后發(fā)現(xiàn)文本余弦相似度效果相對來說更理想且處理起來也相對簡便。這也是本文系統(tǒng)中采用的模型。
語感,即對使用語言既定用法的敏感性,是對語言用法的有效性或合適性的感覺,也是特定的文化背景的人對其語言產(chǎn)生的微妙因果關(guān)聯(lián)[11]。
語感是一個有著顯著文化、本土化特征的詞語。顯然,特定語言的特定文本的流暢性與之有著不可分割的密切聯(lián)系。
人們在學(xué)習(xí)外語時,常會提及語感這個概念。對于作為母語的漢語,人們往往習(xí)以為常并不覺察,但它發(fā)揮的作用其實比外語更加顯著[12],計算機閱卷應(yīng)該客觀地把它考慮進來。
從評分角度來看,語感很大程度表現(xiàn)成既定用法、語句以及語境適用性的指標,似乎比較主觀難以量化,這與作文評分的主觀性是不謀而合的。事實上,經(jīng)過量化建模,語感是可以成為衡量語句乃至作文的重要特征的。
語言的流暢性必然包含句子成分的完整性和通順程度。比如,“在水里游來游去,無數(shù)只魚兒歡快地唱著歌?!边@樣的句子雖然在口語中不妨礙人們理解其傳達的意思,但從書面語的角度看是不通順的。而作為改進,“無數(shù)只魚兒歡快地唱著歌,在水里游來游去”這樣的表述因為句子邏輯的通順性,使得其可讀性更好。因此在對作文表達能力的評分上,流暢性占據(jù)的權(quán)重是不可忽略的。
計算流暢度的技術(shù)流程從分詞開始。設(shè)經(jīng)過分詞處理后的語句集合為count(w)=w1,w2,…,wn,其中wn是句子分詞后第n 個詞組。接下來需要判定句子主成分是否缺失,以及是否符合漢語句子的典型句式。
由于漢語句子比較復(fù)雜,類似于“疑罪從無”的原則,本文采用的方法是計算不符合句式的“不流暢度”來標定流暢度。例如,經(jīng)過分詞和詞性過濾后,如果句子的主要成分是“n(wn-1)v(wn)n(wn+1)v(wn+2)n(wn+3)”,則判定這個句子為不通順句子。
實例計算存在明顯歧義的句子“牧童牽著牛在吃草”,經(jīng)過計算標識得到的結(jié)果也是不通順句。又例如“鐘樓傳遞著鐘聲,忽然驚醒了海的酣夢”該句在逗號前的部分經(jīng)過分詞和詞性過濾后,也是不通順句子。但如果改寫成“鐘樓悠揚的鐘聲,忽然驚醒了海的酣夢”則系統(tǒng)判定不屬于“不通順句”,即計入通順句。
在多種這樣的規(guī)則下,可以將作文的句子粗略分為兩組,一組是不完全通順句子M 組,一組是通順句子N組,這里就不再贅述。根據(jù)下面的公式就可以大致將作文的流暢度也就是表達項中的語言流暢計算出來,這也是通篇文章的閱讀語感比較直接的體現(xiàn),其公式如式(1):
作文本質(zhì)上是考生所學(xué)所思的一個綜合性展現(xiàn)。它對考生語言材料如成語、諺語、古詩詞、歇后語、名言甚至一些時政動態(tài)的掌握有一定程度的要求。在不同的場合,它可以被稱作作文素材,而在本系統(tǒng)中則被計入語感概念中的個人語言素材。
一篇優(yōu)秀的考場作文除了對作文本身的題目必須要有相當?shù)念I(lǐng)會并且能靈活處理表達關(guān)系以外,還應(yīng)該要表現(xiàn)考生的學(xué)識、知識儲備甚至?xí)r政觀念。
近些年的語文作文出題對一些時事熱點的傾向尤為明顯,比如2017 年高考全國一卷的高考作文的題目就是“外國人眼中的中國關(guān)鍵字”。如果考生對共享單車、長城甚至網(wǎng)購等新事物缺乏必要的了解,那無疑會在作文中難以把握事物的表象以及本質(zhì),更難形成令人信服的論點。
在作文中熟練引用各類學(xué)識能體現(xiàn)考生閱讀廣闊而且能對所學(xué)的課本知識活學(xué)活用。同樣的,如果一篇作文有著相當?shù)某烧Z、諺語等作文素材的增色,其閱讀語感必然比一般白話文式的作文要優(yōu)秀得多。
對于大量的詩詞、成語等等字符串的自動識別可以使用字符串匹配完成但是效率不高。因為傳統(tǒng)的字符串匹配系統(tǒng)是非常簡單粗暴的暴力匹配,也就是利用模式串和匹配串之間進行逐個字符進行匹配,如果是失敗則模式串位置歸0 并滑動一位。這樣的模式在有大量的素材進行檢索的任務(wù)中是非常低效率的。
本系統(tǒng)采用的AC自動機(Aho-Corasick automation)模式匹配是1975 年產(chǎn)生于貝爾實驗室的一個算法,可用于多模匹配,提高模式串匹配的效率。使用AC自動機自動檢測作文素材的流程如圖4所示。
圖4 作文素材自動識別流程圖
首先將素材預(yù)處理,并按Trie 數(shù)據(jù)結(jié)構(gòu)加以儲存,同時構(gòu)建失敗路徑(失敗指針),最后對長度為m 的匹配串檢測n 個模式串是否在其中存在,完成對作文素材的自動識別。
這里以“不可理喻”“美中不足”“不可救藥”“不到黃河不死心”這三個成語一個俗語作為例子,其最終形成的AC自動機如圖5。
圖5 AC自動機結(jié)構(gòu)圖
AC自動機在建立了Trie和失敗路徑的基礎(chǔ)上進行檢索作文素材在作文中是否存在甚至存在了多少次的速度是相當快的。其查找步驟如下:
(1)從根節(jié)點開始查找。
(2)取得匹配串字符,根據(jù)該字符選擇對應(yīng)的子樹并進入該子樹進行檢索,如果期間失配則根據(jù)失敗路徑跳躍至有共通前綴的相應(yīng)節(jié)點繼續(xù)檢索。如果該字符沒有對應(yīng)的子樹,則查找失敗。
(3)重復(fù)第二步。
(4)在某個節(jié)點,全部字符串被取出,表示查找完成。
在結(jié)合類似KMP算法的next數(shù)組思想和Trie字典樹[13]的構(gòu)想之后,對于作文這個匹配串就不需要和傳統(tǒng)方法一樣每一條作文素材都從頭開始蠻力匹配。這樣可以很好地提升需要識別大量作文素材的任務(wù)的識別效率。
實驗系統(tǒng)使用Java 開發(fā)了一個Forecasting 基礎(chǔ)模塊,在此基礎(chǔ)上完成高考語文模擬平臺。
計算機無法直接處理原始的作文的文本,必須經(jīng)過自然語言處理的分詞、關(guān)鍵詞提取等預(yù)處理之后再進行下一步處理。鑒于中科院計算所NLPIR 漢語分詞系統(tǒng)相對成熟[14-17],本系統(tǒng)預(yù)處理中的分詞部分也采用NLPIR接口。
Forecasting 模塊對作文的文本長度、段落數(shù)量、平均句長、作文實際名詞數(shù)、平均語句名詞數(shù)等特征進行了提取,作為系統(tǒng)的基礎(chǔ)特征。
本文采用皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient)、全局準確性、平均誤差對作文預(yù)測值和人工評分進行比較和評測。
(1)皮爾遜相關(guān)系數(shù)的計算公式如式(2):
其中,X,Y 分別代表通過本系統(tǒng)得出的預(yù)測分數(shù)序列和人工閱卷的實際得分序列,cov(X,Y)表示X 和Y 的協(xié)方差,σ 表示其序列的標準差。相關(guān)系數(shù)適用于觀察兩個序列之間的相關(guān)性,其值的范圍在-1和1之間,越靠近0 則相關(guān)性越低,反之絕對值越大越接近1 則相關(guān)性越強。通過皮爾遜系數(shù),得到本系統(tǒng)與人工閱卷的分數(shù)相關(guān)度。
(2)平均誤差(Average Error)可以用式(3)表示:
其中,size 是測試集的大小,Score 是實際得分,Predict是預(yù)測得分。
(3)全局準確率(Global Accuracy)可按式(4)計算:
其中,size 是測試集的大小,而CountCorret 指的是預(yù)測分數(shù)與實際分數(shù)的分差必須在閾值之內(nèi)才為正確。
該設(shè)置參考了獨特的高考作文評分規(guī)則總分雙評差值閾限[18],即一篇作文須由兩名閱卷老師進行獨立評分。如果出現(xiàn)對同一篇作文兩人的分數(shù)差距過大而且無法統(tǒng)一的情況下則交由閱卷組組長或者質(zhì)檢組(可視為第三位老師)進行第三次評分。
本文采用較高考語文作文更嚴格的閾值作為預(yù)測值,以此模擬閱卷老師和質(zhì)檢組之間的閱卷差異容忍度,并設(shè)為全局準確率。
依照新課標高考作文評分標準指導(dǎo),在基本要求達到的前提下(不離題、字數(shù)足夠、結(jié)構(gòu)正常等等),全文閱讀語感越流暢、蘊含豐富,閱卷老師給的分數(shù)就越高。因此,以本文所提出的語感的特征為指導(dǎo)量化的標準,本文設(shè)計了一系列特征如表1。實驗將把表1所提出的特征加入基礎(chǔ)特征之中,考察這些特征對作文的自動評分的影響。
表1 面向作文自動評分的語感特征
這些特征在Forecasting 模塊中均進行了實際測試。為確保樣本多樣性和可靠性,本文收集了38 個題目的作文數(shù)據(jù),訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)比例為3∶1,測試結(jié)果如表2。
表2 面向作文自動評分的語感特征
結(jié)果表明在加入本文提出的語感特征進行語言的深度之后有了一定的提升。單獨特征效果最顯著的就是作文素材的使用數(shù),相關(guān)度比原系統(tǒng)提升了0.172,平均誤差降低了0.204。但是,作文符合條件的段落中首尾斷句相似度sum 值這個特征表現(xiàn)不佳,相關(guān)度比原系統(tǒng)還低0.018,不過平均誤差卻降低了0.031。這可以理解為單獨段落的前后呼應(yīng)在作文的評分中起到的作用并不明顯。
最終融合所有本文所提的語感特征進行語言深度感知之后的作文評分比之前的系統(tǒng)有相當大的提升,相關(guān)度比原系統(tǒng)提升了0.242,平均誤差降低了0.432,全局準確率也提升到了83.3%。
由于不同文體在本文特征的預(yù)測下的表現(xiàn)可能存在差異性,而且本文特征比較著重于議論文的優(yōu)勢評分結(jié)構(gòu),所以本文格外設(shè)置對于議論文與非議論文的對比實驗。實驗將以Forecasting和AllBestFeatures綜合特征進行測試,主要比較平均誤差和全局準確性。
從表3中可知,語言深度感知的特征對于有著文章結(jié)構(gòu)明顯、平鋪直序、著重于知識積累等特點的議論文的分數(shù)預(yù)測有著比較明顯的效果,但是對于其他可能比較講究抒情和意境的文體效果欠佳。
表3 文體實用誤差比較
綜合表3、表4來看,本文所提出的語言深度感知的作文特征優(yōu)勢在于,特征的獨立性較強,不需要大量訓(xùn)練材料進行繁復(fù)的模型訓(xùn)練,且覆蓋作文評分的層面比較全面,劣勢在于評分比較偏向結(jié)構(gòu)性強的文體。
表4 各算法性能比較
以人工評分的作文為參考,本文提出的綜合前后對照、作文素材、語句流暢等語感特征對于作文自動評分系統(tǒng)有一定的提升作用。但是也存在著一些不足,如指標相較于評分標準來看依然比較少,有些指標效果不算理想,所以也可能會造成如一篇45 分的作文得到51 分這樣的較大偏差。
不僅如此,本文所提出的語言深度感知特征在評分上更偏向于議論文這樣強調(diào)結(jié)構(gòu)的文體,其用于其他文體的閱卷可能會有比較大的偏差。另外,實驗所采取的實驗數(shù)據(jù)本身較少,而且比較集中分布于40~52分的區(qū)間,這對于作文自動評分的客觀性存在一些制約。
但是它依然有一些可取之處:更合理貼合于新課標的評分體系和人工閱卷;覆蓋更多指標;量化作文的評分體系;相較于傳統(tǒng)的優(yōu)美句、文采這些的特征走出一條比較新穎的、從語言深度感知出發(fā)的嘗試之路。
豐富特征體系對積極貼合新課標語文教學(xué)的要求、提升作文自動閱卷的準確性是有積極意義的。在未來的工作中,將探索更多對評價作文水平和語言表達能力有意義的方法以更深層次感知語言,提升作文自動評分的精確度以及有效性。