李 浩,孫 媛①
(1.中央民族大學(xué) 信息工程學(xué)院,北京 100081;2.國家語言資源監(jiān)測與研究少數(shù)民族語言中心 北京 100081)
教學(xué)資源不再僅僅局限于紙質(zhì)文本和黑板板書的方式來呈現(xiàn),而是利用到了計(jì)算機(jī)技術(shù),以Word、PDF、PowerPoint等方式呈現(xiàn),使得“教”與“學(xué)”兩個(gè)過程更加方便。但教學(xué)資源如何優(yōu)質(zhì)共享是一個(gè)亟待解決的困難[1]。教育文本種類繁多,很多學(xué)習(xí)者不能快速準(zhǔn)確地判斷是否為自己所需,這就需要一個(gè)能精準(zhǔn)推薦的技術(shù)。
隨著英文信息處理技術(shù)的發(fā)展,無論是在字詞信息處理研究,還是在信息處理應(yīng)用開發(fā)方面,眾多科研人員進(jìn)行了不懈的努力和有益的探索。在基本完成以“詞”為單位的研究內(nèi)容后,以“句”、“段”、“篇”為主的研究也發(fā)展十分迅速。
要想進(jìn)行自然語言相關(guān)方面的研究,首先需要將人類語言數(shù)字化[2]。首先提出的是詞袋表示方法,但此模型向量的維度與詞典的大小成線性關(guān)系,會(huì)造成維度災(zāi)難。所以提出了詞向量模型,它是一種分布式詞向量[3]的表達(dá)方式,同時(shí)在分布式表達(dá)時(shí)常用的有NNLM模型、C&W模型。NNLM模型求解由于其softmax層,復(fù)雜度很高,C&W模型排序目標(biāo)函數(shù)不用計(jì)算復(fù)雜的softmax了,但仍然保留了全連接的隱藏層,這部分也要消耗不少計(jì)算資源。Google的Mikolov提出一種簡單的語言模型word2vector模型,就是簡單地把上面復(fù)雜模型中的非線性隱層去掉了。
文本推薦技術(shù)的重點(diǎn)在于文本相似度的計(jì)算,在一些郵件、網(wǎng)頁文本等推薦技術(shù)中,大多數(shù)都是用經(jīng)典分類算法,它們是用傳統(tǒng)向量空間模型來表示文本。
向量空間模型以空間上的相似度表達(dá)語義的相似度。但是因?yàn)檫@種模型向量的維度與詞典的大小成線性關(guān)系,所以當(dāng)詞典數(shù)量大時(shí),會(huì)造成維度災(zāi)難。同時(shí),對于一些少量詞語的文本會(huì)造成高度稀疏問題。當(dāng)兩個(gè)文本沒有共同詞語時(shí),通過模型計(jì)算,會(huì)得出兩篇文檔相似度為0,這對于一些相同語義、不同表達(dá)的文章進(jìn)行比較,顯然是不合理的。
鑒于one-hot形式模型的缺點(diǎn),出現(xiàn)了另外一種詞向量表示方式——分布式詞向量。它的基本思想是:通過大規(guī)模的語料的訓(xùn)練,將一篇文檔中的每個(gè)詞語映射成一個(gè)維度預(yù)先設(shè)定的向量,一般可以為50維或100維,每個(gè)向量看成向量空間中的一個(gè)點(diǎn),然后計(jì)算這些點(diǎn)在向量空間上的“距離”,通過距離的大小來判斷對應(yīng)詞語之間的句法和語義的相似性。
word2vec可以根據(jù)給定的語料庫,通過模型快速地將一個(gè)詞語表達(dá)成向量形式。其算法有兩種重要模型:Skip-gram(Continuous Skip-gram Model)與CBOW(Continuous Bag-of-Words Model)[4]。
此研究采用基于word2vec項(xiàng)目給出的googleNews語料得到詞匯向量,采用word2vec預(yù)訓(xùn)練的單詞向量模型。此訓(xùn)練語料庫大小為30億個(gè)單詞,訓(xùn)練出來的向量為300萬個(gè)300維的英文單詞向量。
本研究中文本向量的表示基于兩種方法:
(1)所有詞均值方法:求出該文檔所有詞對應(yīng)的詞向量的均值
此方法求出每篇文檔所有詞對應(yīng)的詞向量的均值,利用np.mean()函數(shù)計(jì)算出文檔向量的表示。mean()函數(shù)的功能為求取算術(shù)平均值。
numpy.mean (a,axis=None,dtype=None,out=None,keepdims=False)
其中a為一個(gè)數(shù)組,經(jīng)常操作的參數(shù)為axis,此研究中函數(shù)的具體用法為np.mean(word_vecs,axis=0),我們需要得到的文本向量為一行多列的向量,word_vecs為一個(gè)行數(shù)為一篇文檔的單詞數(shù),列為300的矩陣。所以將word_vecs壓縮行,對各列求平均值,返回了一個(gè)1*300的矩陣,以此來代表一篇文章的向量表示。
(2)關(guān)鍵詞表示法:求出文章關(guān)鍵詞的詞向量的均值
利用TF-IDF方法[5]求出每篇文檔的前10個(gè)關(guān)鍵詞。TF-IDF的主要思想是:如果某個(gè)詞或短語在一篇文章中出現(xiàn)的頻率高,并且在其它文章中很少出現(xiàn),則認(rèn)為此詞或者短語具有很好的類別區(qū)分能力,適合用來分類。詞頻(Term Frequency)指的是某一個(gè)給定的詞語在該文件中出現(xiàn)的頻率,即詞w在文檔d中出現(xiàn)的次數(shù)count(w,d)和文檔d中總詞數(shù)size(d)的比值,計(jì)算公式為:
逆向文件頻率(Inverse Document Frequency)是一個(gè)詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數(shù)目除以包含該詞語之文件的數(shù)目,再將得到的商取對數(shù)得到。即文檔總數(shù)n與詞w所出現(xiàn)文件數(shù)docs(w,D)比值的對數(shù),計(jì)算公式如為:
將公式1、2代入公式3中,計(jì)算出每篇文檔tfidf前10的詞作為此文本的關(guān)鍵詞。以這10個(gè)關(guān)鍵詞的詞向量的平均值來表示文本向量。
將文本數(shù)據(jù)化表示后,便可通過其在向量空間上的表示來計(jì)算向量之間的距離來代表文本之間的相似度。本文采用余弦相似度的方法[6],利用向量的余弦夾角來計(jì)算相似度,余弦值越大,相關(guān)性越大。源文檔的文本向量表示為ti,目標(biāo)文檔的文本向量表示為tj。計(jì)算公式為:
本文用谷歌發(fā)布的word2vec的訓(xùn)練模型(googlenews_model)預(yù)先訓(xùn)練的詞向量。其中訓(xùn)練語料為基于GoogleNews的300萬個(gè)英文單詞。利用網(wǎng)絡(luò)爬蟲,從新聞網(wǎng)站爬取語料作為測試語料。具體如表1所示。
表1 測試語料表
分別將每種文本類型的第1篇作為源文件與其它14篇測試語料文本進(jìn)行比較,計(jì)算其文本相似度,在模型一用全部詞向量的平均值作為文本向量的方法中,分析結(jié)果,將與源文本相似度前4的文本及模型的估計(jì)評分值輸出來得出結(jié)果如表2所示。
表2 模型-輸出的估計(jì)評分值表
對于一些有明確二分喜好的用戶系統(tǒng),評價(jià)指標(biāo)可以用到分類準(zhǔn)確度指標(biāo)[7]。此實(shí)驗(yàn)中,以源文本的類別為參照,將推薦的4篇文檔進(jìn)行類別對比,作為用戶對推薦的二分喜好。在推薦的這4個(gè)文檔中,對于一個(gè)未曾被用戶選擇或評分的文本,最終結(jié)果有4種,即系統(tǒng)推薦且屬于源文檔同一類別,系統(tǒng)推薦不屬于同一類別,系統(tǒng)未推薦且屬于同一類別,系統(tǒng)未推薦且不屬于同一類別,分別對應(yīng)的數(shù)目為Ntp、Nfp、Nfn、Ntn。其推薦準(zhǔn)確率為推薦的L個(gè)文本中用戶認(rèn)為正確的所占的比例,公式為:
召回率計(jì)算公式為:
將公式6代入公式5得出P(L),將公式8代入公式7得出R(L),F(xiàn)1指標(biāo)值計(jì)算公式為公式9。
其中M為總測試數(shù),u為個(gè)體。系統(tǒng)推薦的相對應(yīng)的4篇文章,讓10名真實(shí)用戶給其推薦打分(設(shè)定為0-1),平均分如表3所示。
表3 用戶真實(shí)打分表
在模型二中,將與源文本相似度最高的前4篇文本輸出來得出結(jié)果如表4所示。系統(tǒng)推薦的相對應(yīng)的4篇文章,讓10名真實(shí)用戶給其推薦打分(設(shè)定為0-1),平均分如表5所示。得出模型的評價(jià)指標(biāo)數(shù)據(jù)如表6所示。計(jì)算其平均絕對誤差MAE,公式為:
將公式 5和公式7代入公式10,可求出MAE。
本實(shí)驗(yàn)基于word2vec項(xiàng)目,得到項(xiàng)目給出的通過大規(guī)模的GoogleNews語料訓(xùn)練出的詞匯向量,進(jìn)而求出文本向量,通過余弦相似度方法計(jì)算向量之間的距離。在文本向量的表示中用到了兩種方法并進(jìn)行比較,得出提取文檔關(guān)鍵詞的詞向量求平均的方法效果更好,相比傳統(tǒng)的關(guān)鍵詞推薦技術(shù)和VSM模型推薦技術(shù),此方法在詞向量表示時(shí)加入了語義信息,能更準(zhǔn)確地進(jìn)行文本推薦。將此法應(yīng)用到英文教育文本推薦技術(shù)中,能很好地對文本進(jìn)行分類處理,大大提高了學(xué)習(xí)者學(xué)習(xí)效率,使其能快速準(zhǔn)確地學(xué)習(xí)到相關(guān)文章,同時(shí)教學(xué)者能快速準(zhǔn)確地找到教學(xué)所需資源,更好地進(jìn)行備課,使得“教”與“學(xué)”的過程更加便利。
表4 模型二輸出的估計(jì)評分值表
表5 用戶真實(shí)打分表
表6 評價(jià)指標(biāo)數(shù)據(jù)表