李浩 孫媛
摘 要:文本是常用的一種信息獲取方式,但是互聯(lián)網(wǎng)上的英文教學(xué)文本資源十分龐大,由于語言障礙,學(xué)習(xí)者往往不能很好地在短時間選取。為了解決這個問題,文章用到了word2vec技術(shù),通過模型生成文本的詞向量。文本向量通過兩種方法生成:一種是用文本所有詞的詞向量的平均值表示;另一種是利用tf-idf計(jì)算出關(guān)鍵詞,用關(guān)鍵詞的平均向量來表示。進(jìn)而通過計(jì)算文本向量之間的距離來表示文本相似度。得出關(guān)鍵詞的方法的結(jié)果更優(yōu),從而解決了英文教育文本的推薦問題。
關(guān)鍵詞:文本相似度;詞向量;Word2vec;教育文本
中圖分類號:TP391 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2018)20-0091-03
教學(xué)資源不再僅僅局限于紙質(zhì)文本和黑板板書的方式來呈現(xiàn),而是利用到了計(jì)算機(jī)技術(shù),以Word、PDF、PowerPoint等方式呈現(xiàn),使得“教”與“學(xué)”兩個過程更加方便。但教學(xué)資源如何優(yōu)質(zhì)共享是一個亟待解決的困難[1]。教育文本種類繁多,很多學(xué)習(xí)者不能快速準(zhǔn)確地判斷是否為自己所需,這就需要一個能精準(zhǔn)推薦的技術(shù)。
一、相關(guān)研究
隨著英文信息處理技術(shù)的發(fā)展,無論是在字詞信息處理研究,還是在信息處理應(yīng)用開發(fā)方面,眾多科研人員進(jìn)行了不懈的努力和有益的探索。在基本完成以“詞”為單位的研究內(nèi)容后,以“句”、“段”、“篇”為主的研究也發(fā)展十分迅速。
要想進(jìn)行自然語言相關(guān)方面的研究,首先需要將人類語言數(shù)字化[2]。首先提出的是詞袋表示方法,但此模型向量的維度與詞典的大小成線性關(guān)系,會造成維度災(zāi)難。所以提出了詞向量模型,它是一種分布式詞向量[3]的表達(dá)方式,同時在分布式表達(dá)時常用的有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)向量空間模型來表示文本。
1.向量空間模型
向量空間模型以空間上的相似度表達(dá)語義的相似度。但是因?yàn)檫@種模型向量的維度與詞典的大小成線性關(guān)系,所以當(dāng)詞典數(shù)量大時,會造成維度災(zāi)難。同時,對于一些少量詞語的文本會造成高度稀疏問題。當(dāng)兩個文本沒有共同詞語時,通過模型計(jì)算,會得出兩篇文檔相似度為0,這對于一些相同語義、不同表達(dá)的文章進(jìn)行比較,顯然是不合理的。
2.詞向量模型
鑒于one-hot形式模型的缺點(diǎn),出現(xiàn)了另外一種詞向量表示方式——分布式詞向量。它的基本思想是:通過大規(guī)模的語料的訓(xùn)練,將一篇文檔中的每個詞語映射成一個維度預(yù)先設(shè)定的向量,一般可以為50維或100維,每個向量看成向量空間中的一個點(diǎn),然后計(jì)算這些點(diǎn)在向量空間上的“距離”,通過距離的大小來判斷對應(yīng)詞語之間的句法和語義的相似性。
二、英文文本向量的構(gòu)建
1.word2vec技術(shù)構(gòu)建詞向量
word2vec可以根據(jù)給定的語料庫,通過模型快速地將一個詞語表達(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億個單詞,訓(xùn)練出來的向量為300萬個300維的英文單詞向量。
2.文本向量構(gòu)建
本研究中文本向量的表示基于兩種方法:
(1)所有詞均值方法:求出該文檔所有詞對應(yīng)的詞向量的均值
此方法求出每篇文檔所有詞對應(yīng)的詞向量的均值,利用np.mean()函數(shù)計(jì)算出文檔向量的表示。mean()函數(shù)的功能為求取算術(shù)平均值。
numpy.mean(a,axis=None,dtype=None,out=None,keepdims=False)
其中a為一個數(shù)組,經(jīng)常操作的參數(shù)為axis,此研究中函數(shù)的具體用法為np.mean(word_vecs, axis=0),我們需要得到的文本向量為一行多列的向量,word_vecs為一個行數(shù)為一篇文檔的單詞數(shù),列為300的矩陣。所以將word_vecs壓縮行,對各列求平均值,返回了一個1*300的矩陣,以此來代表一篇文章的向量表示。
(2)關(guān)鍵詞表示法:求出文章關(guān)鍵詞的詞向量的均值
利用TF-IDF方法[5]求出每篇文檔的前10個關(guān)鍵詞。TF-IDF的主要思想是:如果某個詞或短語在一篇文章中出現(xiàn)的頻率高,并且在其它文章中很少出現(xiàn),則認(rèn)為此詞或者短語具有很好的類別區(qū)分能力,適合用來分類。詞頻(Term Frequency)指的是某一個給定的詞語在該文件中出現(xiàn)的頻率,即詞w在文檔d中出現(xiàn)的次數(shù)count(w, d)和文檔d中總詞數(shù)size(d)的比值,計(jì)算公式為:
tf(w,d)=count(w,d)/size(d)公式1
逆向文件頻率(Inverse Document Frequency)是一個詞語普遍重要性的度量。某一特定詞語的IDF,可以由總文件數(shù)目除以包含該詞語之文件的數(shù)目,再將得到的商取對數(shù)得到。即文檔總數(shù)n與詞w所出現(xiàn)文件數(shù)docs(w, D)比值的對數(shù),計(jì)算公式如為:
將公式1、2代入公式3中,計(jì)算出每篇文檔tfidf前10的詞作為此文本的關(guān)鍵詞。以這10個關(guān)鍵詞的詞向量的平均值來表示文本向量。
3.文本相似度計(jì)算
將文本數(shù)據(jù)化表示后,便可通過其在向量空間上的表示來計(jì)算向量之間的距離來代表文本之間的相似度。本文采用余弦相似度的方法[6],利用向量的余弦夾角來計(jì)算相似度,余弦值越大,相關(guān)性越大。源文檔的文本向量表示為ti,目標(biāo)文檔的文本向量表示為tj。計(jì)算公式為:
三、實(shí)驗(yàn)結(jié)果及分析
1.實(shí)驗(yàn)數(shù)據(jù)來源
本文用谷歌發(fā)布的word2vec的訓(xùn)練模型(googlenews_model)預(yù)先訓(xùn)練的詞向量。其中訓(xùn)練語料為基于GoogleNews的300萬個英文單詞。利用網(wǎng)絡(luò)爬蟲,從新聞網(wǎng)站爬取語料作為測試語料。具體如表1所示。
2.實(shí)驗(yàn)結(jié)果分析
分別將每種文本類型的第1篇作為源文件與其它14篇測試語料文本進(jìn)行比較,計(jì)算其文本相似度,在模型一用全部詞向量的平均值作為文本向量的方法中,分析結(jié)果,將與源文本相似度前4的文本及模型的估計(jì)評分值輸出來得出結(jié)果如表2所示。
對于一些有明確二分喜好的用戶系統(tǒng),評價指標(biāo)可以用到分類準(zhǔn)確度指標(biāo)[7]。此實(shí)驗(yàn)中,以源文本的類別為參照,將推薦的4篇文檔進(jìn)行類別對比,作為用戶對推薦的二分喜好。在推薦的這4個文檔中,對于一個未曾被用戶選擇或評分的文本,最終結(jié)果有4種,即系統(tǒng)推薦且屬于源文檔同一類別,系統(tǒng)推薦不屬于同一類別,系統(tǒng)未推薦且屬于同一類別,系統(tǒng)未推薦且不屬于同一類別,分別對應(yīng)的數(shù)目為Ntp、Nfp、Nfn、Ntn。其推薦準(zhǔn)確率為推薦的L個文本中用戶認(rèn)為正確的所占的比例,公式為:
其中M為總測試數(shù),u為個體。系統(tǒng)推薦的相對應(yīng)的4篇文章,讓10名真實(shí)用戶給其推薦打分(設(shè)定為0-1),平均分如表3所示。
在模型二中,將與源文本相似度最高的前4篇文本輸出來得出結(jié)果如表4所示。系統(tǒng)推薦的相對應(yīng)的4篇文章,讓10名真實(shí)用戶給其推薦打分(設(shè)定為0-1),平均分如表5所示。得出模型的評價指標(biāo)數(shù)據(jù)如表6所示。計(jì)算其平均絕對誤差MAE,公式為:
四、總結(jié)和展望
本實(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ù),此方法在詞向量表示時加入了語義信息,能更準(zhǔn)確地進(jìn)行文本推薦。將此法應(yīng)用到英文教育文本推薦技術(shù)中,能很好地對文本進(jìn)行分類處理,大大提高了學(xué)習(xí)者學(xué)習(xí)效率,使其能快速準(zhǔn)確地學(xué)習(xí)到相關(guān)文章,同時教學(xué)者能快速準(zhǔn)確地找到教學(xué)所需資源,更好地進(jìn)行備課,使得“教”與“學(xué)”的過程更加便利。
參考文獻(xiàn):
[1]高鐵剛,張佳,馬鑒.基礎(chǔ)教育信息化教學(xué)資源共享模式研究[J].中國電化教育,2009(6):70-74.
[2]張嘉偉.關(guān)于計(jì)算機(jī)理解自然查詢語言的研究[J].信息技術(shù)與信息化,2016(4):116-118.
[3]M. Gareth Gaskell William,D.Marslen-Wilson. Integrating Form and Meaning: A Distributed Model of Speech Perception[J].Language and Cognitive Processes,1997,12(5-6).
[4]JianqiangLi,JingLi,XianghuaFu,et al.Learning distributed word representation with multi-contextual mixed embedding[J].Knowledge-Based Systems,2016,106.
[5]施聰鶯,徐朝軍,楊曉江.TFIDF算法研究綜述[J].計(jì)算機(jī)應(yīng)用,2009,29(S1):167-170+180.
[6]Chen Erjing,Jiang Enbo. Research Review of Text Similarity Calculation Methods[J].Data Analysis and Knowledge Discovery,2017,1(6):1-11.
[7]朱郁筱,呂琳媛.推薦系統(tǒng)評價指標(biāo)綜述[J].電子科技大學(xué)學(xué)報(bào),2012,41(2):163-175.(編輯:魯利瑞)