許淞源,劉峰
1.中國科學院計算機網(wǎng)絡信息中心,北京 100083
2.中國科學院大學,北京 100049
隨著大數(shù)據(jù)時代的到來,國家級科學數(shù)據(jù)共享服務平臺建設快速發(fā)展,我國在地球科學、農(nóng)業(yè)、林業(yè)、海洋、氣象等領域陸續(xù)建立了一批具有資源優(yōu)勢的科學數(shù)據(jù)中心[1]。截至2019年6月,我國已經(jīng)建立了20 個國家級科學數(shù)據(jù)中心[2]??茖W數(shù)據(jù)作為大數(shù)據(jù)時代科學發(fā)現(xiàn)的新引擎,為科學發(fā)展進步帶來新機遇與新挑戰(zhàn)。
隨著地球科學領域觀測技術(shù)與數(shù)據(jù)共享平臺的不斷發(fā)展,越來越多有價值的科學觀測數(shù)據(jù)被記錄和共享,使得地球科學數(shù)據(jù)共享平臺的數(shù)據(jù)量呈現(xiàn)爆發(fā)式增長的趨勢[3],以中國科學院“地球大數(shù)據(jù)工程”數(shù)據(jù)共享服務平臺(CASEarth)為例[4],目前,平臺數(shù)據(jù)總量已達14PB。隨著數(shù)據(jù)資源的不斷增長,搜索、過濾篩選等主動檢索方法雖然可以幫助用戶獲取目標數(shù)據(jù)[5],但其存在的服務效率低、用戶體驗差的缺陷也十分突出。隨著大數(shù)據(jù)與深度學習技術(shù)的發(fā)展,推薦技術(shù)逐漸成熟,它通過各種算法或模型來捕捉用戶的興趣偏好,預測用戶可能會感興趣的內(nèi)容[6]。目前,在電子商務平臺、視頻平臺、新聞資訊平臺、社交平臺等各種領域的平臺中,推薦系統(tǒng)獲得了廣泛的應用,已經(jīng)成為一種提高用戶獲取信息效率的重要技術(shù)[7]。然而,目前關(guān)于科學數(shù)據(jù)推薦的研究還比較少。在地球科學數(shù)據(jù)共享平臺的建設中,推薦技術(shù)的應用也不如在新聞、商品、視頻和音樂等領域的應用成熟。
因此,本文面向CASEarth 平臺,結(jié)合現(xiàn)有的實驗數(shù)據(jù)與應用場景,設計一種地球科學數(shù)據(jù)推薦模型,幫助用戶更加高效地獲取地球科學數(shù)據(jù)。
深度學習在面對海量數(shù)據(jù)時,能夠從多種維度中學習符合用戶需求的特征,由于其在特征表示上的優(yōu)勢[8],因此有越來越多的研究將深度學習應用于推薦系統(tǒng)中。在基于深度學習的推薦中,模型的輸入通常為用戶、項目相關(guān)的數(shù)據(jù)以及各類輔助數(shù)據(jù),然后利用深度學習模型學習用戶的特征表示和項目的特征表示,在輸出層利用內(nèi)積、相似度計算等技術(shù)對用戶和項目的特征表示進行計算并生成推薦結(jié)果?;谏疃葘W習的推薦系統(tǒng)框架如圖1所示。
圖1 基于深度學習的推薦系統(tǒng)框架Fig.1 Framework diagram of recommendation system based on deep learning
在科學數(shù)據(jù)推薦領域,現(xiàn)有研究除了利用到傳統(tǒng)推薦技術(shù)和基于深度學習的推薦技術(shù),還利用了科學數(shù)據(jù)的元數(shù)據(jù)屬性來挖掘數(shù)據(jù)之間的關(guān)聯(lián)。例如,梁鳴霄[9]等人通過提取元數(shù)據(jù)的特征對數(shù)據(jù)進行特征表示,構(gòu)建了基于內(nèi)容的推薦方法,并根據(jù)用戶反饋信息對用戶的研究領域進行分類,將兩種方法混合應用于長三角科學數(shù)據(jù)中心平臺。Xue 等人[10]面向科學水資源數(shù)據(jù)共享平臺,使用內(nèi)容過濾與對用戶行為建模的主題模型實現(xiàn)了一個科學數(shù)據(jù)推薦系統(tǒng)。Youichi 等人[11]提出了一種科學數(shù)據(jù)元數(shù)據(jù)的關(guān)鍵詞推薦方法,通過計算數(shù)據(jù)集元數(shù)據(jù)之間的文本相似度為數(shù)據(jù)上傳者推薦相應的關(guān)鍵詞。羅侃等人[12]提出一種極地科學數(shù)據(jù)關(guān)聯(lián)方法,通過對語義信息的挖掘來構(gòu)建極地科學數(shù)據(jù)關(guān)聯(lián)指標的計算方法。趙紅偉等人[13]對地理空間元數(shù)據(jù)之間的語義關(guān)聯(lián)度計算進行研究,利用數(shù)據(jù)來源、時間特征、空間特征等元數(shù)據(jù)內(nèi)容構(gòu)建關(guān)聯(lián)網(wǎng)絡,為地理空間數(shù)據(jù)檢索、推薦等應用提供思路。在設計科學數(shù)據(jù)推薦系統(tǒng)時,不僅要考慮合適的推薦算法,還要結(jié)合不同領域科學數(shù)據(jù)的特征屬性來設計推薦算法。
本文面向CASEarth 平臺,結(jié)合平臺數(shù)據(jù)與應用場景,設計了一個地球科學數(shù)據(jù)推薦模型(Earth Science Data Recommendation Model,ESDRec),來提高用戶獲取目標數(shù)據(jù)的效率。首先使用元數(shù)據(jù)中的標題、簡介對科學數(shù)據(jù)進行特征表示,然后利用擅長處理序列變化數(shù)據(jù)的循環(huán)神經(jīng)網(wǎng)絡對其建模,考慮到普通循環(huán)神經(jīng)網(wǎng)絡在面對長序列的訓練過程中可能會出現(xiàn)梯度消失或梯度爆炸問題,因此本文使用雙向長短時記憶網(wǎng)絡模型來處理用戶行為序列。對于序列中的不同科學數(shù)據(jù),使用注意力機制為其賦予不同的重要程度,從而進一步優(yōu)化推薦模型。
對于地球科學數(shù)據(jù)而言,數(shù)據(jù)所屬的學科領域、數(shù)據(jù)記錄的開始與結(jié)束時間是重要的元數(shù)據(jù)屬性,也是用戶選擇數(shù)據(jù)的重要參考屬性。因此,為了設計出更加符合平臺應用場景的推薦系統(tǒng),進一步提高推薦準確性,本文設計了地球科學元數(shù)據(jù)特征屬性關(guān)聯(lián)度的計算方法,并將其計算結(jié)果加權(quán)融合到整體推薦模型中。最終,根據(jù)總體推薦預測評分的大小選取前N項科學數(shù)據(jù)推薦給用戶。本文提出的地球科學數(shù)據(jù)推薦模型ESDRec 的總體結(jié)構(gòu)如圖2所示。
圖2 地球科學數(shù)據(jù)推薦模型框架圖Fig.2 The framework of earth science data recommendation model
在對用戶歷史行為進行建模之前,首先要對歷史行為中的科學數(shù)據(jù)進行特征表示。在這里,本文主要使用科學數(shù)據(jù)的標題與簡介來構(gòu)造科學數(shù)據(jù)的特征表示,對于一名用戶來說,其歷史行為序列可表示為其中表示某一條科學數(shù)據(jù),并把看作是用戶正在訪問的科學數(shù)據(jù)。對所有科學數(shù)據(jù)的標題與簡介進行分詞、去除停用詞等操作,然后使用Word2Vec 對用戶歷史訪問序列中的標題與簡介中的單詞進行嵌入表示,得到單詞的嵌入向量,然后對文本包含的所有單詞向量求和,得到文本向量表示。同時,模型還要記錄科學數(shù)據(jù)的元數(shù)據(jù)中的時間范圍、學科分類體系,用于計算地球科學數(shù)據(jù)元數(shù)據(jù)特征屬性關(guān)聯(lián)度。
相比于一般的神經(jīng)網(wǎng)絡,循環(huán)神經(jīng)網(wǎng)絡能夠更好地處理序列數(shù)據(jù),但是在面對長序列問題時,普通的循環(huán)神經(jīng)網(wǎng)絡存在著梯度消失與梯度爆炸的問題。長短期記憶(Long-Short-Term Memory,LSTM)網(wǎng)絡屬于循環(huán)神經(jīng)網(wǎng)絡的改進[14],其保留了循環(huán)神經(jīng)網(wǎng)絡的基本結(jié)構(gòu),并添加了門控機制來記住和遺忘過去的信息,緩解循環(huán)神經(jīng)網(wǎng)絡的梯度消失問題。單層LSTM 在對序列進行建模時,只考慮了單向序列特征??紤]到在用戶歷史行為序列中,某一時刻的訪問會受到之前的狀態(tài)影響,還可能與之后訪問的科學數(shù)據(jù)有所聯(lián)系,因此本文使用雙向LSTM網(wǎng)絡對用戶訪問序列建模。雙向LSTM 將兩個單向LSTM 網(wǎng)絡疊加在一起,分別稱作前向LSTM與后向LSTM,將各自的輸出結(jié)果結(jié)合到一起構(gòu)成BiLSTM 輸出結(jié)果。在前向?qū)又姓蛴嬎愕玫诫[層狀態(tài),在反向?qū)又心嫦蛴嬎愕玫诫[層狀態(tài)。將兩個隱層狀態(tài)進行拼接得到BiLSTM 輸出。
考慮到序列中不同的科學數(shù)據(jù)對用戶的興趣偏好表示也會存在不同的影響,本文將自注意力機制應用到序列推薦模型中,使得模型在訓練時將注意力更多放在序列中重要的科學數(shù)據(jù)上,多頭自注意力機制可以用下面公式表示
為了挖掘序列內(nèi)部的相互依賴關(guān)系,使用多頭自注意力機制,此處,有并且等于雙向LSTM 網(wǎng)絡模型的輸出序列。為了避免梯度過小甚至消失的問題,使用縮放點積注意力計算公式,將與的點積結(jié)果進行縮放處理:
在經(jīng)過Concat 層與線性映射層之后,多頭自注意力網(wǎng)絡的輸出如下公式所示:
為了增強模型的擬合能力,本文在網(wǎng)絡中加入多個隱藏層對注意力網(wǎng)絡的輸出與候選科學數(shù)據(jù)的特征表示進行處理,將多個全連接層堆疊在一起,每一層的輸出都是下一層的輸入,直到生成最后的輸出。公式表示為:
模型采用Softmax Loss 損失函數(shù),通過交叉熵衡量預測分布與真實分布之間的距離計算損失,并使用Adam 算法對模型進行梯度更新,損失函數(shù)的公式表示如下:
在地球科學數(shù)據(jù)的元數(shù)據(jù)中,還可以使用科學數(shù)據(jù)的時間范圍、分類體系來計算科學數(shù)據(jù)之間的關(guān)聯(lián)度。本文希望通過此方法提升研究領域相同、數(shù)據(jù)記錄時間相近的科學數(shù)據(jù)在推薦結(jié)果列表中的權(quán)重。
(1)科學數(shù)據(jù)時間關(guān)聯(lián)度計算
科學數(shù)據(jù)元數(shù)據(jù)中包含科學數(shù)據(jù)記錄的開始時間與結(jié)束時間,描繪了數(shù)據(jù)所涵蓋的時間范圍,對用戶選擇科學數(shù)據(jù)具有一定的參考意義。因此本文設計了科學數(shù)據(jù)時間關(guān)聯(lián)度的計算方法。
CASEarth 平臺提供的科學數(shù)據(jù)開始時間與結(jié)束時間均為年/月/日的格式,科學數(shù)據(jù)時間關(guān)聯(lián)度計算方法將以天作為基本單位,把開始時間與結(jié)束時間映射到同一時間軸上,考慮到兩個科學數(shù)據(jù)在時間軸上的位置關(guān)系,可以將計算方法分為以下兩種情況:時間相交與時間相離。
時間相交指的是兩個科學數(shù)據(jù)的數(shù)據(jù)記錄時間范圍在時間軸上存在重疊區(qū)域;時間相離指的是兩個科學數(shù)據(jù)的數(shù)據(jù)記錄時間范圍在時間軸上互不相交。特殊的,若存在一條科學數(shù)據(jù)的結(jié)束時間等于另一條科學數(shù)據(jù)的開始時間這一情況,也將其定義為相離的范疇。
圖3 科學數(shù)據(jù)時間關(guān)聯(lián)度隨值的變化圖Fig.3 Graph of time relevance of scientifci data as a function ofvalue
(2)科學數(shù)據(jù)分類體系關(guān)聯(lián)度計算
在CASEarth 平臺中,地球科學數(shù)據(jù)存在兩個分類體系,分別是SDGs 分類體系與地球大數(shù)據(jù)分類體系。SDGs 分類體系是聯(lián)合國從社會、環(huán)境和經(jīng)濟三個方面制定的全球性可持續(xù)發(fā)展目標,可以為科學數(shù)據(jù)的分類提供參考。地球大數(shù)據(jù)分類體系從學科角度進行設計,以圈層結(jié)構(gòu)為核心,遵循數(shù)據(jù)分類扁平化的設計思想,并結(jié)合了平臺的實際需求與應用場景。本文利用的SDGs 分類體系與地球大數(shù)據(jù)分類體系的部分一級類與二級類如圖4所示。
圖4 SDGs 分類體系與地球大數(shù)據(jù)分類體系Fig.4 SDGs classification system and big earth data classification system
比如地球大數(shù)據(jù)分類體系中的“大氣”為一個一級類,包含溫度、降水、氣壓等二級分類[15]。當兩個科學數(shù)據(jù)屬于相同的一級類或二級類時,可以認為這兩個科學數(shù)據(jù)具有一定的關(guān)聯(lián)性。因此,本文設計了一種科學數(shù)據(jù)分類體系關(guān)聯(lián)度計算方法,根據(jù)兩個科學數(shù)據(jù)在分類體系中的位置關(guān)系來計算科學數(shù)據(jù)的分類體系關(guān)聯(lián)度,計算方法如下式所示:
最后,將地球科學數(shù)據(jù)推薦模型生成的預測評分與科學數(shù)據(jù)時間關(guān)聯(lián)度、科學數(shù)據(jù)分類體系關(guān)聯(lián)度進行加權(quán)融合,得出最終的推薦預測分數(shù),計算公式如下:
本文實驗基于CASEarth 平臺提供的數(shù)據(jù)開展,平臺的原始數(shù)據(jù)記錄了自2018年12月以來所有歷史訪問記錄約56 萬條。其中包含大量冗余數(shù)據(jù)與無用數(shù)據(jù),需對其進行過濾以增強訓練數(shù)據(jù)的真實性與合理性。由于在采集用戶行為數(shù)據(jù)時,平臺在較短的時間間隔內(nèi)會進行重復采集,因此數(shù)據(jù)集中存在大量冗余行為記錄數(shù)據(jù),根據(jù)用戶進行分組,過濾掉5 分鐘內(nèi)同一科學數(shù)據(jù)的訪問記錄以提高數(shù)據(jù)集的真實性,并將訪問序列長度小于等于2 的用戶從數(shù)據(jù)集中過濾掉,最終剩下約7 萬條歷史行為記錄,按照歷史記錄中的時間戳對用戶訪問序列進行排序,構(gòu)建用戶的項目序列。
本文實驗在模型訓練過程中,將學習率設置為0.001,將迭代周期epoch 最大設置為20 次,使用Adam 優(yōu)化器調(diào)整權(quán)重,利用交叉熵函數(shù)計算損失,將多頭注意力機制的頭個數(shù)設置為4 個。
為了驗證本文提出的推薦模型有效性,本文選擇以下四個推薦模型進行對比實驗:
(1)item-CF[16]:這是基于科學數(shù)據(jù)之間相似度的協(xié)同過濾推薦模型。該方法不考慮科學數(shù)據(jù)在訪問序列中出現(xiàn)的位置,僅根據(jù)當前科學數(shù)據(jù)訪問列表的相似性來預測用戶感興趣的科學數(shù)據(jù)。
(2)FPMC[17]:該方法是基于馬爾可夫鏈的序列推薦模型,能夠?qū)W習序列中短期的依賴關(guān)系。
(3)SASRec[18]:該方法基于自注意力機制實現(xiàn)序列推薦,采用自注意力機制對用戶的歷史行為數(shù)據(jù)進行建模,得到用戶嵌入特征向量,并與項目嵌入特征向量做內(nèi)積,按照相關(guān)性大小排序生成推薦結(jié)果。
(4)GRU4rec[19]:該方法是一種由GRU 單元組成的深度RNN 網(wǎng)絡模型,模型利用科學數(shù)據(jù)序列上下文以及序列順序進行訓練,輸出對下一個候選科學數(shù)據(jù)進行排名的得分向量。
本文實驗采用召回率(Recall@N)與平均倒數(shù)排名(MRR@N)來檢驗ESDRec 模型的有效性。下面的公式給出了兩個評價指標的計算方法,二者的值越高則表示推薦模型的實驗結(jié)果越好。
Recall@N:召回率定義為用戶真實交互序列的下一個項目出現(xiàn)在Top-N 推薦列表中的比例,即推薦系統(tǒng)給用戶推薦項目中用戶喜歡的項目所占比例。
MRR@N:平均倒數(shù)排名(Mean Reciprocal Rank)測量所有測試數(shù)據(jù)上真實目標項目的預測位置的平均倒數(shù)排名,第一個正確預測結(jié)果越靠前,則MRR@N 的值越高。
將本文提出的推薦模型ESDRec 與其他基線模型進行對比實驗,實驗結(jié)果如圖5和圖6所示。
圖5 在Recall@N 上的對比實驗結(jié)果Fig.5 Comparative experimental results on Recall@N
圖6 在MRR@N 上的對比實驗結(jié)果Fig.6 Comparative experimental results on MRR@N
在五個方法的對比實驗中,可以發(fā)現(xiàn)本文提出的模型在召回率與平均倒數(shù)排名上均取得了效果的提升。在其他四個基線模型中,SASRec 在召回率和平均倒數(shù)排名上取得了較好的效果。
對于Recall@N 評價指標來說,ESDRec 在N 小于12 時的提升較大,在N=10 時,與最佳基線模型SASRec 相比,提升了5.01%。隨著N 的不斷增大,召回率與其他基線模型的差距逐漸減小。
對于MRR@N 評價指標,ESDRec 在各個N上的表現(xiàn)也均好于其他基線模型。其主要原因是ESDRec 模型使用了雙向LSTM 網(wǎng)絡來學習序列中的上下文依賴信息,充分挖掘了用戶行為序列中前向與后向的依賴關(guān)系,然后利用多頭注意力機制來區(qū)分序列中每個科學數(shù)據(jù)的重要程度,在一定程度上減少了用戶序列中存在的噪聲,使得本文模型能夠更好地捕捉預測目標數(shù)據(jù)與序列上下文之間細化的關(guān)聯(lián)。另一方面,ESDRec 模型引入了地球科學數(shù)據(jù)特征屬性關(guān)聯(lián)度的計算機制,能夠幫助推薦模型找到與目標數(shù)據(jù)元數(shù)據(jù)更相似的其他科學數(shù)據(jù)。
另外,從實驗結(jié)果中還可以發(fā)現(xiàn)基于循環(huán)神經(jīng)網(wǎng)絡的方法均優(yōu)于傳統(tǒng)的模型(Item-CF,FPMC),主要原因在于循環(huán)神經(jīng)網(wǎng)絡結(jié)構(gòu)相比于傳統(tǒng)模型更加擅長學習序列中的上下文依賴關(guān)系,從而提高了推薦效果。而且,使用了注意力機制的模型(ESDRec,SASRec)在召回率和平均倒數(shù)排名上的表現(xiàn)更好,主要原因在于注意力機制能夠幫助推薦模型發(fā)現(xiàn)對預測結(jié)果影響更大的科學數(shù)據(jù),讓模型更專注于找到輸入數(shù)據(jù)中顯著的與當前輸出相關(guān)的有用信息,從而提高輸出的質(zhì)量。
其次,為了驗證地球科學數(shù)據(jù)特征屬性關(guān)聯(lián)度計算模塊對本文推薦模型效果的影響程度,本文設置了一組對照實驗,在地球科學數(shù)據(jù)推薦模型中去除科學數(shù)據(jù)元數(shù)據(jù)特征屬性關(guān)聯(lián)度的計算,與ESDRec 模型進行對比實驗,對比實驗結(jié)果如圖7和圖8所示。
圖7 在Recall@N 上的對比實驗結(jié)果Fig.7 Comparative experimental results on Recall@N
圖8 在MRR@N 上的對比實驗結(jié)果Fig.8 Comparative experimental results on MRR@N
若不使用元數(shù)據(jù)特征屬性關(guān)聯(lián)度的計算方法,推薦模型的MRR@N 與Recall@N 指標均存在一定程度的下降。其中,召回率指標略有下降。而MRR@N 指標在不使用元數(shù)據(jù)特征屬性關(guān)聯(lián)度計算時結(jié)果的下降較大,主要原因是推薦模型引入元數(shù)據(jù)特征屬性關(guān)聯(lián)度計算后,能夠較好地提升元數(shù)據(jù)特征相似的科學數(shù)據(jù)在推薦列表中的排名,進而提高了MRR@N 的結(jié)果。
本文面向CASEarth 平臺,提出了一個地球科學數(shù)據(jù)推薦模型ESDRec,來幫助用戶更高效地獲取科學數(shù)據(jù)。模型利用雙向長短時記憶網(wǎng)絡學習用戶的行為序列,結(jié)合多頭注意力機制識別序列中的關(guān)鍵信息,降低行為序列中的噪聲對推薦結(jié)果的影響,生成用戶偏好向量與候選集中科學數(shù)據(jù)計算推薦預測評分,并融合地球科學數(shù)據(jù)特征屬性關(guān)聯(lián)度對推薦結(jié)果進行綜合排序,將預測分數(shù)較高的科學數(shù)據(jù)作為推薦結(jié)果。在CASEarth 平臺真實數(shù)據(jù)集上的對比實驗結(jié)果表明本文提出的ESDRec 模型能夠準確地生成推薦結(jié)果。
利益沖突說明
所有作者聲明不存在利益沖突關(guān)系。