梁圣*
?
基于RNN的試題相似度計算模型研究與實現
梁圣*
(湖南工業大學計算機學院,湖南株洲,412007)
由于對試題庫的管理缺乏相應的相似度檢測手段,導致試題庫會存在相似試題和重復試題。這些高相似度試題不僅會嚴重影響了試題庫的管理,而且對知識的考核與評估、考試系統測評等都造成不良影響,因此需要采取必要的技術針對知識庫中的相似試題進行處理。為此本文進行了試題庫相似度計算的相關研究,展開了基于循環神經網絡(RNN)的相似度計算模型的相關研究。
試題,循環神經網絡,長短時記憶網絡,TF-IDF,相似度
隨著信息技術的快速發展,各級學校都在大力發展信息化教育,紛紛建立起大規模試題庫,以便進行網絡化測評。但由于目前題庫在進行試題錄入時缺乏一定的檢測手段,導致試題庫會存在相似試題和重復試題,重復試題指的是完全一樣的試題,相似試題指的是不完全一樣,但是考察的知識點和出題方式或者答案是一樣的試題。試題庫中存在高相似度的試題,甚至重復的試題不僅會嚴重影響了海量試題的管理,而且對知識的考核與評估、考試系統測評等都造成不良影響,需要采取必要的技術對試題庫中的相似試題進行處理。
Wang針對海量題庫中存在雷同試題的問題, 提出一種識別雷同試題的方法及試題去重模型,用于實現試題相似度的計算[1]。Zhi應用文本分類的主流處理技術,開發出一個基于向量空間模型的試題分類系統[2]。Tang 基于多示例學習方法,結合文本的元數據特征對試題重復的檢測方法進行了改進,提出試題相似度計算方法[3]。Dong利用詞嵌入技術對試題庫數據進行處理,通過計算文本空間向量間的余弦值得出題干與知識點的語義相似度[4]。Chen提出的特征抽取算法, 解決了傳統的從單一或片面的測試指標進行特征抽取所造成的特征過擬合問題[5]。Yang通過構建關系樹提高了信息過濾的精確度[6]。
為了進行試題庫中試題間的相似度計算,需要首先給出句子編碼模型,本文結合RNN在文本分類任務中的良好表現,提出了基于BI-LSTM試題編碼模型,具體網絡結構如下:
針對兩個需要匹配的試題對,首先分別進行分詞、歸一化以及其它的預處理操作,然后采用詞向量進行詞的向量化表示,這樣每個試題都被表示成了L*D二維向量,L表示句子對應的最大詞序列長度,D為詞向量的維度。由于采用深度網絡進行編碼時需要保持輸入長度的一致性,因此,需要根據語料庫試題的平均長度提前設定好L的取值。如果試題的詞序列長度大于L,則進行截斷,即僅保留前L個詞;如果試題的詞序列長度不足L,則需采用特殊字符進行補位,補足至L個詞。將句子轉化為二維向量以后,便輸入到深度網絡進行編碼,以獲取試題的向量表示。為了保持用于編碼的深度網絡訓練充分通常,句子A和句子B采用的編碼網絡的權值是共享的。得到試題的向量化表示以后,通過相似度計算便可以得到兩個試題間的相似度。
基于上述試題編碼模型,可以得到整個試題相似度計算模型如下圖所示。

圖2 試題相似度計算模型
通過上圖可以看出,該模型采用了2層LSTM神經網絡進行試題內容編碼,首先采用兩個LSTM對試題內容進行正反向編碼。第一層采用正向LSTM對試題內容進行編碼,LSTM的隱含單元個數為N,第二層采用反向LSTM進行試題內容編碼,LSTM的隱含單元個數同樣為N,然后將正反向LSTM的編碼按照時間維度進行拼接,得到一個L*2N的二維向量,這里的256是正反向編碼按照時間維度累加的結果。用Bi-LSTM完成試題內容的編碼后,需要采用Max-Pooling進行池化,將Bi-LSTM編碼結果降維到1維,即1*2N。試題A和試題B經過Bi-LSTM網絡編碼以及Max池化以后,均轉變成了1*2N維度的向量,便可用相似度函數來衡量二者的相似度,LSTM權重均采用he_uniform方式進行初始化,激活函數為RELU。
相似度計算模型采用余弦相似度作為相似度的度量。亦可采用其它相似度度量方法,如點乘,或將兩個試題表示向量進行拼接,輸入到新的神經網絡進再進行相似度度量。
試題庫相似度模型以試題對作為輸入,即一對待計算相似度的試題。與基于詞向量的相似度計算模型不同,該模型無需對進行試題內詞匯TF-IDF的計算,也不必去除高頻詞以及停用詞,因為LSTM在處理時序輸入時由于各個控制門的存在,能夠自動的給不同時刻的輸入賦予不同的權重,如果編碼的當前輸入對整個輸入序列無關輕重,那么LSTM在編碼當前輸入時對整個LSTM上下文影響也就降低了,進而當前時刻的隱含狀態信息也不會有大的變化,這樣當前時刻輸入對LSTM后續狀態的影響也將降低。
試題對中的試題A和試題B通過查詢詞向量文件得到其相應的詞向量,這樣試題A和試題B變成L*D的二維矩陣,其中L指的是輸入試題的長度,D是指詞向量維度。隨后開始利用LSTM網絡對這個二維矩陣進行正反向編碼,分別得到兩個L*2N的二維矩陣,L同樣指的是輸入試題的長度,N是指循環神經網絡的隱含節點個數。之所以得到L*2N的二維矩陣是由于正反向編碼結果均是L*N,二者按照時間維度進行拼接后,變得到了L*2N的二維矩陣。通過池化操作,將二維矩陣降維到一維,進而通過相似度計算模塊進行試題A和試題B相似度的計算。
在試題相似度模型中采用了Max池化操作,能夠最大程度的保留試題特征,這也是在判斷試題相似度時主要考慮的因素。在后面實驗中,將進一步對比不同的池化操作對最終相似度判斷結果的影響。
本文在進行試題庫相似度研究時,實驗環境配置如下表1所示。

表1 實驗環境配置
實驗數據是從互聯網抓取的計算機相關題目,共標注出7124對相似試題,為了降低標注的工作量,在進行標注時僅通過0/1標注,表示當前試題對是否為相似試題,具體示例如下:

表2 標注示例
相似度結果為1表示試題1和試題2為重復試題;相似度結果為0則表示二者相似程度較低,不構成重復試題。對全部標注數據進行了8:2劃分,80%的數據作為訓練,20%的數據作為測試,具體語料劃分情況如下:

表3 數據劃分
訓練數據和測試數據分布相同。
考慮到當前的試題庫規模較小,在進行Bi-LSTM試題相似度計算模型時,同樣使用了預先訓練的詞向量進行試題庫相似度計算模型訓練時的詞匯分布式表示。詞向量訓練語料與訓練過程中滑窗大小直接影響訓練結果,超出窗口的詞語與當前詞語之間的關系不能正確的反映在模型之中,但如果單純的擴大窗口大小會增大訓練的復雜性也會大大增加訓練時間。本課題在訓練詞向量時將上下文窗口設置為7,迭代輪次為10,采用了CBOW方式進行詞向量訓練。分別訓練了不同維度的詞向量,進行對比試驗,比較不同維度詞向量對相似度計算結果的影響。
在本文中,訓練詞向量模型數據總量10W篇計算機相關文章以及部分計算機試題。在訓練完成后,觀察與“排序”,“數組”以及“矩陣”三個詞匯最為相似的Top15詞匯,具體如下表所示。
表4 Word2vec詞相似度

(1)不同詞向量維度下的實驗結果分析
基于分布式表示的詞向量可以表現文本的語義信息,詞向量維度影響文本語義信息的表現能力,從而影響試題相似度計算結果。訓練語料越多,詞向量的維度應該相應提高,同時詞向量在后續任務中可以表現出更好的性能。本文分別訓練不同維度的詞向量,然后進行對比實驗,實驗結果如下表5所示。實驗的LSTM隱含層個數均設置為128,采用Early-Stop避免訓練的過擬合。模型輸入的最大句子長度為128,長度大于128的部分將被丟棄,不足128句子將通過追加“OOV”補足到128,OOV表示out of vocab的詞匯。詞向量采用了預訓練的Word2vec,并伴隨著模型更新。模型采用Adam方式進行優化,初始學習率為2e-4,batch大小設置為64。
針對試題相似度計算模型的評價,采用分類模型中通用的評價,即查準率、召回率以及F1值。查準率計算公式如公式(1)所示。其中,Sr表示判斷為相似且真實相似的試題對個數,Sa表示模型認為相似的試題對個數。

召回率是正確分類的文本數與應有的文本數的比值,計算公式如公式(2)所示。其中,Sr表示判斷為相似且真實相似的試題對個數,So表示真實相似的試題對個數。

F1值是準確率和召回率的綜合衡量,如下:

不同詞向量維度下的具體實驗結果如下表所示。

表5 選取不同維度詞向量的訓練結果
隨著詞向量維度的增加,達到模型最優迭代所需的輪次越來越少,這是因為詞向量維度的增加導致了整個試題相似度計算模型的參數大幅度增加,從而使得模型整體上達到最優,所需進行的參數調整容易進行。
隨著詞向量維度的增加,模型在測試集上的準確率是先增后降的,具體如下圖所示。詞向量維度的增加導致模型整體參數規模增加,而訓練數據較少,從而使得模型訓練過程出現了過擬合,使得模型準確率下降。

圖3 不同維度詞向量的準確率
(2)不同隱含層個數下的實驗結果分析
在采用LSTM神經網絡進行模型訓練時,隱含層神經單元個數將直接影響整體模型的最終性能,為此本文進行了不同隱含層個數下的BI-LSTM對比實驗,具體實驗結果如表6所示。

表6 選取不同隱含層神經單元個數的訓練結果
隨著隱含層神經單元個數的增加,達到模型最優迭代所需的輪次越來越少,這是因為隱含層神經單元個數的增加導致了整個試題相似度計算模型的參數大幅度增加,使得模型整體上達到最優,使得參數調整容易進行。
隨著隱含層神經單元個數的增加,模型在測試集上的準確率是先增后降的,具體圖4所示。結果表明隱含層神經單元個數的增加導致模型整體參數規模增加,而訓練數據較少,使得模型訓練過程出現了過擬合,使得模型準確率下降。

圖4 不同神經單元個數的精確率
本文進行了試題庫相似度計算的相關研究,展開了基于循環神經網絡的相似度計算模型的相關研究,并對比了不同詞向量維度以及LSTM隱含層神經單元個數對相似度計算結果的影響。實驗結果表明,該模型能夠完成試題相似度評價任務。
[1] 王宇穎, 陳振, 蘇小紅. 自動組卷中試題去重技術研究[J]. 哈爾濱工業大學學報, 2009, 41(01): 85-88.
[2] 植兆衍, 彭宏. 基于向量空間模型的試題分類系統[J]. 計算機工程與設計, 2008, 29(12): 3227-3229, 3233.
[3] 湯世平, 樊孝忠. 基于多示例學習的題庫重復性檢測研究[J]. 北京理工大學學報, 2005, 25(12): 1071-1074.
[4] 董奧根, 劉茂福, 黃革新, 等. 基于向量空間模型的知識點與試題自動關聯方法[J]. 計算機與現代化, 2015, (10): 6-9.
[5] 陳治綱, 何丕廉, 孫越恒, 等. 基于向量空間模型的文本分類系統的研究與實現[J]. 中文信息學報, 2005, 19(1): 36-41.
[6] 楊玉珍, 劉培玉, 姜沛佩, 等. 向量空間模型中結合句法的文本表示研究[J]. 計算機工程, 2011, 37(3): 58-60.
Research and Implementation of Test-Items Similarity Computing Model Based on RNN
LIANG Sheng*
(School of Computer Science, Hunan University of Technology, Hunan Zhuzhou, 412007, China)
Due to the lack of corresponding measures of similarity in the management of the test-item database, there will be similar test items and duplicate test items in the test-item database. These high similarity questions will not only seriously affect the management of the test-item database, but also have an adverse effect on the assessment and assessment of knowledge, test system evaluation, etc. Therefore, it is necessary to adopt the necessary techniques to deal with similar questions in the knowledge base. In this chapter, the related researches on the similarity calculation of the test bank were carried out, and the related research on the similarity calculation model based on the recurrent neural network (RNN) was developed.
Test-Items; RNN; LSTM; TF-IDF; Similarity
10.19551/j.cnki.issn1672-9129.2018.01.007
TP39
A
1672-9129(2018)01-0015-03
梁圣. 基于RNN的試題相似度計算模型研究與實現[J]. 數碼設計, 2018, 7(1): 15-17.
LIANG Sheng. Research and Implementation of Test-Items Similarity Computing Model Based on RNN[J]. Peak Data Science, 2018, 7(1): 15-17.
2017-11-05;
2017-12-17。
梁圣(1986-),男,漢族,廣西梧州人,碩士,湖南工業大學,研究方向:數據挖掘。E-mail:2646069240@qq.com