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