劉娜
(咸陽師范學(xué)院 外國語學(xué)院, 陜西 咸陽 712000)
英文作文的內(nèi)容是否緊扣題目,是判斷作文質(zhì)量和給出評(píng)分的重要依據(jù)。目前英語教學(xué)中用于輔助作文評(píng)分的系統(tǒng)對(duì)于跑題文檔的檢測(cè)能力普遍不足[1-3]。因此,本文提出并設(shè)計(jì)了一種英文作文跑題智能化檢測(cè)算法,創(chuàng)建LDA(Latent Dirichlet Allocation,潛在Dirichlet分布)模型以獲取文檔的主題及其分布信息,利用Word2vec模型對(duì)詞向量進(jìn)行訓(xùn)練從而進(jìn)一步獲取詞項(xiàng)表達(dá)的語義,最后通過二者的結(jié)合進(jìn)行跑題檢測(cè)。該算法彌補(bǔ)了傳統(tǒng)算法對(duì)詞項(xiàng)語義信息缺少分析的不足,具有很強(qiáng)的實(shí)用性。
LDA模型是一種非監(jiān)督機(jī)器學(xué)習(xí)算法,主要用于提取包含在文檔集中的主題信息,其結(jié)構(gòu)為“文檔—主題—詞”的形式,描述了由詞匯表達(dá)主題,由主題構(gòu)成文檔的文檔集構(gòu)建過程[4-5]。LDA模型下的文檔集結(jié)構(gòu),如圖1所示。
圖1 LDA模型描述的文檔結(jié)構(gòu)
圖中,α、β均為模型的超參數(shù),α代表文檔集中的潛在主題與文檔思想的接近程度,β代表各潛在主題在文檔集中的概率分布;M代表文檔總數(shù);K代表主題總數(shù);N代表單個(gè)文檔中特征詞匯的數(shù)量;θm代表全部主題在第m個(gè)文檔中的概率分布;φk代表與某個(gè)主題對(duì)應(yīng)的特征詞匯的概率分布;Zm,n代表第m個(gè)文檔中第n個(gè)特征詞所屬的主題;wm,n代表第m個(gè)文檔中的第n個(gè)特征詞。
對(duì)于文檔集LDA模型的創(chuàng)建,θ與φ兩個(gè)參數(shù)的預(yù)估值最為重要。本文采用Gibbs抽樣法進(jìn)行參數(shù)值估算,具體過程如下。
(1) 將主題zi初始化,隨機(jī)得到一個(gè)(1,T)范圍內(nèi)的整數(shù),假定N為某個(gè)特征詞匯的數(shù)量,則i=1,2,…,N,全部主題初始化后得到初始Markow鏈。
(2) 循環(huán)采樣使Markow鏈不斷靠近目標(biāo)分布,迭代至二者無限接近時(shí)停止采樣,在此條件下θ與φ的估算式分別為式(1)、式(2)。
(1)
(2)
在創(chuàng)建LDA模型之前必須對(duì)單個(gè)文檔dm進(jìn)行去標(biāo)點(diǎn)符號(hào)、分詞等預(yù)處理,以縮減模型的計(jì)算步驟,以剩余的有用詞匯構(gòu)建新的文檔集D,其文檔—詞匯矩陣形式的表達(dá)方式為式(3)。
(3)
式中,M為文檔總數(shù)量;m為單個(gè)文檔在文檔集中的編號(hào);wmn為第m個(gè)文檔中的第n個(gè)詞匯。
單個(gè)文檔的LDA模型創(chuàng)建過程如下。
Step1.對(duì)狄利克雷分布α進(jìn)行取樣,獲取第m個(gè)文檔中所有主題的概率分布θm。
Step2.對(duì)θm進(jìn)行取樣,獲取第m個(gè)文檔中包含的第n個(gè)詞匯對(duì)應(yīng)的主題zm,n。
Step3.對(duì)狄利克雷分布β進(jìn)行取樣,獲取與主題zm,n相對(duì)應(yīng)的詞匯的概率分布φzm,n。
Step4.對(duì)φzm,n進(jìn)行取樣,最終得到特征詞匯wmn。
同時(shí),由圖1可見,單個(gè)文檔在文檔集中的概率分布表達(dá)式為式(4)。
(4)
由式(4)即可推算出特征詞匯的概率分布P(wn∣ti)。
Word2vec模型能夠?qū)⑻囟ㄎ臋n集中的詞匯轉(zhuǎn)換為實(shí)數(shù)向量,從而通過詞匯的上下文語境將文檔內(nèi)容的篩選轉(zhuǎn)化為簡(jiǎn)單的多維向量運(yùn)算,以向量空間中的相似度表征詞匯語義的相似度。Word2vec模型的架構(gòu)如圖2所示。
(a) CBOW
(b) skip-gram圖2 Word2vec模型結(jié)構(gòu)
Word2vec由CBOW和skip-gram兩種模型構(gòu)成。由圖2(a)可見,CBOW模型能夠基于特定詞匯的上下文w(t-2)、w(t-1)、w(t+1)、w(t+2)對(duì)該詞匯的詞向量w(t)進(jìn)行預(yù)估,而圖2(b)中的skip-gram模型則是基于詞匯w(t)預(yù)測(cè)其上下文w(t-2)、w(t-1)、w(t+1)、w(t+2),由此可以保證Word2vec的訓(xùn)練效果。
首先,利用Word2vec模型完成文檔集的訓(xùn)練,獲取各詞匯在文檔中的語義相似度。將詞匯轉(zhuǎn)換為向量,通過兩個(gè)詞向量的余弦值表征對(duì)應(yīng)詞匯語義的接近性,余弦值越大表明兩個(gè)詞匯的語義越接近。假定兩個(gè)n維詞向量a(x11,x12,…,x1n)與b(x21,x22,…,x2n),其余弦值表達(dá)式為式(5)。
(5)
其次,詞匯wj與主題ti的相關(guān)度可通過對(duì)應(yīng)ti的所有特征詞匯的余弦相似度的概率加權(quán)和S(wj,ti)來表示,即式(6)。
(6)
由此可對(duì)詞匯wj與文檔dm的相關(guān)度進(jìn)行計(jì)算,具體計(jì)算為式(7)。
(7)
最后,對(duì)文檔中所有詞匯與文檔相關(guān)度進(jìn)行求和計(jì)算得到主題相關(guān)度,即式(8)。
(8)
本文所提出的跑題檢測(cè)模塊,一方面基于LDA模型獲取文檔的主題及詞匯信息,另一方面通過Word2vec訓(xùn)練模型轉(zhuǎn)換的詞向量獲取詞匯的語義相似度,其具體檢測(cè)流程如下。
Step1.對(duì)文檔集中文檔的內(nèi)容進(jìn)行預(yù)處理。依據(jù)空格位置進(jìn)行分詞,將任何形式的大寫字母統(tǒng)一轉(zhuǎn)換為小寫字母,刪除停用詞和標(biāo)點(diǎn)符號(hào),去掉所有詞綴保留詞干,得到由具有特定語義的詞匯所形成的精簡(jiǎn)文檔。
Step2.基于新的文檔集生成文檔—詞匯矩陣。以式(3)表示向量形式的文檔,其中第i行的第j列向量表示第i個(gè)文檔中的第j個(gè)詞匯。
Step3.創(chuàng)建LDA模型,基于文檔—詞匯矩陣為所有文檔創(chuàng)建對(duì)應(yīng)的LDA模型,利用式(1)、式(2)分別得到模型參數(shù)θm與φk的預(yù)估值并進(jìn)行降序排列,獲取所有文檔中的主題和詞匯及其各自的概率分布。
Step4.基于Word2vec模型對(duì)詞向量進(jìn)行訓(xùn)練。將經(jīng)過預(yù)處理的新文檔集輸入Word2vec模型,訓(xùn)練后得到所有詞匯的詞向量,利用式(5)對(duì)詞匯的語義相似度進(jìn)行兩兩計(jì)算。
Step5.計(jì)算主題相關(guān)度,利用Word2vec模型計(jì)算文檔集中的每個(gè)詞匯與特定主題的特征詞匯的余弦相似度,然后通過式(6)—式(8)得到主題相關(guān)度,將得到的相關(guān)度數(shù)值與設(shè)定的闕值進(jìn)行對(duì)比,即可檢測(cè)出跑題的英文作文。
本次研究過程中共選取1 230篇不同題目的英文作文作為測(cè)試樣本,其中作文題目共分為6個(gè)類別,每個(gè)題目對(duì)應(yīng)的作文數(shù)量為205篇。每類題目的作文中都包含一定數(shù)量的跑題作文,每一篇作文都已經(jīng)過人工評(píng)分(專家給分的平均分),作文滿分為15分的情況下若人工評(píng)分低于5分則將其認(rèn)定為跑題作文。
通過本文所設(shè)計(jì)的檢測(cè)算法對(duì)1 230篇英文作文進(jìn)行跑題檢測(cè),得到的結(jié)果與人工評(píng)分結(jié)果進(jìn)行對(duì)比,以驗(yàn)證算法的效用。本次研究選取準(zhǔn)確率、召回率和F值作為所設(shè)計(jì)算法的評(píng)價(jià)指標(biāo)。假定T為得到正確認(rèn)定的跑題作文的數(shù)量;A為系統(tǒng)認(rèn)定為跑題的作文的總數(shù)量;B為實(shí)際跑題的作文的總數(shù)量,則準(zhǔn)確率P和召回率R的表達(dá)式分別為式(9)、式(10)。
(9)
(10)
F值是一個(gè)能夠綜合反映準(zhǔn)確率與召回率的評(píng)價(jià)指標(biāo),其表達(dá)式為式(11)。
(11)
創(chuàng)建LDA模型的過程中,假定主題數(shù)量K的初始值為2,模型超參數(shù)α按經(jīng)驗(yàn)進(jìn)行取值為α=50/K,α取值隨主題數(shù)量變化而變化,β按經(jīng)驗(yàn)取固定值β=0.01,同時(shí)對(duì)LDA模型的Gibbs抽樣共迭代1 000詞。
基于Word2vec模型進(jìn)行文檔集的訓(xùn)練時(shí)的參數(shù)設(shè)定為:詞向量維數(shù)(size)——50;上下文窗口(window)大小——5;詞語出現(xiàn)的最小閾值(min-count)——1;是否使用CBOW模型(cbow)——1(0為使用,1為不使用)。
當(dāng)主題數(shù)量K=2時(shí),通過本文所設(shè)計(jì)算法進(jìn)行跑題檢測(cè)得到的結(jié)果,如表1所示。
表1 K=2時(shí)算法的檢測(cè)結(jié)果/%
由表1中的數(shù)據(jù)可見主題數(shù)量為2時(shí)算法的準(zhǔn)確率平均值為86.5%,召回率平均值為90.49%,F(xiàn)值的平均值為88.5%。改變K的取值,依次取2、3、5、10、15、20、25重復(fù)檢測(cè)過程并以F值為評(píng)價(jià)指標(biāo)對(duì)檢測(cè)結(jié)果進(jìn)行評(píng)判。不同主題數(shù)量條件下的檢測(cè)結(jié)果,如圖3所示。
圖3 不同主題數(shù)量條件下的檢測(cè)結(jié)果
由圖3可見,主題數(shù)量為15時(shí)F值最高,因此可認(rèn)定最佳主題數(shù)量取值為15。按照K=15對(duì)α進(jìn)行取值并對(duì)所有英文作文樣本再次進(jìn)行跑題檢測(cè),最終得到的準(zhǔn)確率平均值為91.86%,召回率平均值為90.54%,F(xiàn)值的平均值為91.2%,可見本文所設(shè)計(jì)的算法具有很強(qiáng)的跑題檢測(cè)能力。
為了解決現(xiàn)有的跑題作文檢測(cè)算法在準(zhǔn)確性方面的不足,本文基于LDA模型與Word2vec模型提出并設(shè)計(jì)了一種英文作文跑題智能檢測(cè)算法,介紹了LDA模型的創(chuàng)建過程,闡述了基于Word2vec模型進(jìn)行主題相關(guān)度計(jì)算的方法,并基于二者的共同作用實(shí)現(xiàn)了跑題作文智能檢測(cè)算法的設(shè)計(jì)。通過實(shí)際應(yīng)用得到檢測(cè)結(jié)果并與人工評(píng)分結(jié)果進(jìn)行對(duì)比以驗(yàn)證所設(shè)計(jì)算法的檢測(cè)能力,對(duì)比結(jié)果顯示,算法的準(zhǔn)確度高于90%,具有很強(qiáng)的實(shí)用性。