?

支持冷啟動用戶推薦的區塊鏈服務發布方案

2021-02-28 04:45董學文劉昊哲喬慧鄭佳偉
通信學報 2021年1期
關鍵詞:冷啟動跨域服務提供者

董學文,劉昊哲,喬慧,鄭佳偉

(西安電子科技大學計算機科學與技術學院,陜西 西安 710071)

1 引言

自2004 年服務計算的概念被正式提出以來,服務計算和云計算一直在高速發展。越來越多的服務信息需要在互聯網上發布,并推薦給適合的用戶使用。在這個過程中,服務發布系統是核心和關鍵。

本文解決的問題主要針對冷啟動用戶(即新進入系統缺乏用戶行為特征的用戶)的區塊鏈服務發布和推薦。因為新用戶缺乏用戶特征,所以無法準確地用常用的協同過濾(CF,collaborative filtering)等算法進行推薦。

如圖1 所示,傳統的服務發布系統由以下3 個角色組成:服務請求者、服務提供者和服務管理中心。該系統的基本模型為:首先服務請求者向服務發布系統發出服務請求,服務管理中心在接收到服務請求之后發布其服務;然后有多個服務提供者競爭;最后服務請求者選擇服務提供者來滿足其請求。

圖1 傳統服務發布系統

但是,這種模型存在嚴重不足。首先,這種傳統的服務發布系統容易受到分布式拒絕服務(DDoS,distributed denial of service)攻擊、遠程劫持和惡作劇攻擊,使某些服務發布功能無法使用。其次,大多數服務發布系統都運行在集中式服務器上,極易受到攻擊,同時可能導致單點故障。再次,用戶的敏感信息(例如姓名、電子郵件地址和電話號碼)和任務解決方案保存在服務管理中心的數據庫中,這存在數據丟失或篡改的風險。最后,對于這種服務發布系統,傳統信任模型的弱點仍然是不可避免的挑戰。

當前,已經有一些工作試圖解決這些問題。例如,分布式體系結構用于確保傳統服務發布系統的正常運行,同時,采用加密等方法來保護用戶隱私與數據隱私,并提出了評分機制,以確保服務提供者和服務請求者之間相互信任,最大限度地避免作弊。

但是,這些問題很難被同時解決,而且這種傳統的三角形結構在信任方面也不可避免地存在弱點。因此,本文提出一種基于區塊鏈的分布式服務發布系統框架,以盡可能解決上述問題,使服務發布系統更加安全、可靠、公平。與傳統的服務發布系統架構不同,本文提出的模型中,服務提供者將可以提供的服務發布到互聯網上,然后服務管理中心向服務請求者推薦以進行瀏覽和選擇,最后服務請求者與服務提供者進行交易。同時,還應注意在各種服務中如何準確有效地推薦服務請求者所需要的服務。協同過濾算法是一種廣泛應用的推薦算法,利用某興趣相投、擁有共同經驗之群體的喜好來推薦用戶感興趣的信息,個人通過合作的機制給予信息相當程度的回應(如評分)并被記錄下來以達到過濾的目的,進而幫助別人篩選信息,回應不一定局限于特別感興趣的信息,特別不感興趣的信息的記錄也相當重要[1]。傳統的CF 模型側重于單域用戶偏好預測,存在數據稀疏的問題。實際場景中經常存在多個項目領域,并且不同域中的用戶偏好是相關的,例如喜歡幽默書的用戶通常偏愛喜劇電影。因此,跨域協同過濾(CDCF,cross-domain collaborative filtering)被提出以通過多域評估來豐富目標領域的知識,并且這已成為一個新興的研究主題。由于數據極為稀少,因此在一個區域內向冷啟動用戶提供可靠的推薦結果仍然具有挑戰性。但是,大多數CDCF 模型,例如CBT(code book transfer)[2]、RMGM(rating-matrix generative model)[3]和TCF(transfer by collective factorization)[4],都是為了減輕單域數據問題而設計的,未能充分討論如何有效地實現冷啟動用戶的精準推薦。

此外,還有一個問題亟待解決。一個不太喜歡參與某一項目領域的用戶可能參與另一個項目領域[5],例如電影和音樂代表著不同的領域。因此,本文專注于為冷啟動用戶提供跨域推薦,并根據其中的項目類型級別對域進行分類。例如,科幻電影和喜劇電影屬于同一領域。在本文的問題設置中,冷啟動用戶僅在輔助域中評分,這與以前的大多數工作不同。在不考慮冷啟動用戶的情況下,假設輔助域中的數據相對于目標域中的數據[6]更小,多個域中共同出現的用戶稱為鏈接用戶。鏈接用戶是模型跨領域的知識橋梁。向目標域中的冷啟動用戶進行推薦是一項艱巨的任務。首先,不同項目域的評分矩陣存在稀疏情況,因此如何更好地建模用戶在不同域中的獨特特征變得非常重要。其次,在目標域中沒有冷啟動用戶的評分數據,并且在不同域中用戶的評分行為或偏好設置是相關但不同的。因此,應該轉讓哪些知識以及如何跨域轉讓知識仍然是一個需要解決的問題。

2 相關工作

隨著網絡和移動設備的爆炸性增長,網頁和服務發布的組合研究已成為一種新興趨勢。研究人員已經提出了一些服務架構和推薦技術。

面向服務的體系結構(SOA,service-oriented architecture)具有比傳統體系結構更多的功能,如可重用性、可組合性、分布式部署和其他功能,因此在業界得到了廣泛認可。近年來,面向服務的體系結構已經被討論了很多次,但是尚未確定最合適的方法。Anurag 等[7]為了解決面向服務的體系結構中的服務識別問題,包括自下而上和自上而下的功能,提出了一種“中間相遇”方法模型。Zisman 等[8]提出了基于統一建模語言(UML,unified modeling language)的服務發現框架,它是面向服務的體系結構中最可靠的服務識別機制之一。Cheng 等[9]提出了一種面向SOA 的安全體系結構設計。Hasselbring 等[10]指出,微服務架構提供了可以彼此獨立部署和擴展的小型服務,并且可以使用不同的中間件堆棧來實現它們。微服務架構旨在克服單片架構的缺點,在單片架構中,所有應用程序邏輯和數據都在可部署單元中進行管理。Sill[11]在物聯網的背景下提出了一種微服務架構的新范式,同時指出了采用微服務架構的優勢。

推薦技術方面,為了更準確、更有效地擬合觀察到的等級,研究人員提出了大量的單域層、次矩陣分解模型[12-13]。Razzaque 等[14]認為,鄰域模型可以有效地檢測局部關系,而潛在特征模型通??梢杂行У毓烙嬚w結構。Wang 等[15]則利用這2 種方法,將用戶相似度納入矩陣分解過程。TagiCoFi[16]旨在提高傳統矩陣分解(MF,matrix factorization)模型[17-19]的性能,可以看作MF 模型的總結[20],其中每個域都有其自己的用戶因子矩陣,但它依賴于標簽信息,另外也未考慮冷啟動用戶。

對于冷啟動問題,目前已有基于標記和審查的跨域分解模型[21-24]。文獻[25-26]嘗試使用多層感知機(MLP,multilayer perceptron)和轉換矩陣來映射跨域用戶特征向量,但它們考慮了所有鏈接用戶,導致計算量較大,并且特征提取效果不佳。Wang 等[15]提出了一種針對目標域中冷啟動用戶的跨域潛在特征映射(CDLFM,cross-domain latent feature mapping)模型,該模型在矩陣分解過程中考慮了用戶相似性。但是,它僅包含一個輔助域,由于相似度的計算成本高而需花費更多時間,并且由于考慮每個冷啟動用戶的個性化功能而增加了模型的復雜性。本文以一種更易于解釋的方式綜合多個域中映射的潛在特征。

國內區塊鏈技術的應用研究方面,何蒲等[27]對區塊鏈技術的應用前景進行了總體性概述,對相關應用問題進行了深入探討。王妙娟[28]和張小華[29]論述了區塊鏈技術在物流快遞中的應用場景。許濤[30]從教育的維度,討論了在教育領域應用區塊鏈技術的可能性與現狀。王凱正[31]就眾籌模式存在的第三方支付信任問題,設計了基于區塊鏈技術的眾籌平臺。王博等[32]以區塊鏈技術為基礎,提出智慧平臺建設,利用智能合約將智慧城市各個部分進行整合,并結合大數據技術,有效解決了成本、開放度、靈活性等問題。韓爽等[33]針對傳統交易平臺不能保證資產安全性的問題,提出了利用區塊鏈技術實施新型數字資產安全交易的方案。

3 系統模型

本節描述基于區塊鏈的服務發布系統模型及其工作流程。

3.1 服務發布系統模型

本文所提的服務發布系統模型主要包含以下4種角色:服務請求者、服務提供者、服務管理中心以及區塊鏈,具體如圖2 所示。

圖2 服務發布系統模型

服務請求者將服務請求信息發送給服務管理中心,服務管理中心將這些信息存儲在區塊鏈上,并等待服務提供者接受服務請求信息,服務允許請求者和服務提供者瀏覽區塊鏈上所有已發布的服務請求。

3.2 區塊結構

區塊結構如圖3 所示。區塊結構中,首先是一個與其他塊區分的唯一編碼格式,稱為區塊格式。下一個字段是區塊的大小,其表示該字段之后區塊的大小。區塊頭在區塊大小之后,存儲了區塊的頭信息,主要由版本號、上一個區塊的哈希值、本區塊體的哈希值(Merkel 根),以及時間戳、難度目標、Nonce 等信息組成。其對區塊網絡中保持不變性起到至關重要的作用。當攻擊者想要修改區塊頭時,攻擊者應該能夠從創世塊開始修改所有區塊頭,以偽造該區塊的記錄。但是,區塊頭包含上一個區塊的哈希,即sha-256 哈希,此哈希值的作用是不更改上一個區塊頭就無法更改當前區塊頭,這樣可以最大限度地保證鏈上各區塊的完整性,有助于確保網絡的更高級別的安全性。在惡意活動的情況下,區塊不匹配將警告系統可觸發數據取證可疑事件。

區塊頭之后是區塊信息字段,存儲服務管理中心的節點簽名、服務提供者的信息、服務請求者的信息以及服務相關狀態的信息和服務進度情況。

3.3 工作流程

服務發布系統交互過程如圖4 所示。首先,服務請求者和服務提供者由服務管理中心進行注冊和統一管理。每個提供者都具有代表其服務質量的評分。該分數的初始值是此類服務的所有提供者的平均分數。服務請求者根據其提供的服務質量進行評價,使服務質量評分增加或減少。系統會將與該服務提供者過往評分相差較大的數據作為惡意數據剔除,并將其余有效數據計算平均分,作為該服務提供者的正式評分。服務發布系統會將每個服務提供者和請求者的用戶信息存儲在數據庫中,以便隨時查閱。

圖3 區塊結構

本文所提的服務發布系統中,要求服務提供者將他們可以提供的服務信息上傳到服務管理中心,并在數據庫中存儲信息。服務請求者創建賬戶后,服務管理中心將根據請求者的個人偏好向其推薦服務。同時,服務請求者可以查看任何服務提供者的服務評估,并決定是否向其發布請求。

圖4 服務發布系統交互過程

服務提供者接受請求后,服務管理中心將服務內容、服務提供者的詳細信息、服務傭金和其他相關內容通知服務請求者。當服務請求者確認信息并同意時,服務管理中心正式創建服務合同并將其上傳到區塊鏈。在服務合同生效期間,服務提供者將定期上傳當前服務的最新進度,以確保服務請求者可以隨時檢查請求進度。服務提供者終止服務時,將最后一次上傳服務進度,服務管理中心將結果反饋給服務請求者。服務請求者確認服務的完成,并支付相應的傭金。同時,服務提供者應根據服務的相關條件進行升級,以影響其當前得分的變化。最后,服務提供者收到傭金,服務合同正式終止。從服務請求者創建請求直到服務提供者收到傭金的過程中,服務管理中心都會在區塊鏈上記錄每個合同的更改,以防篡改。整個事務結束后,事務的備份將存儲在數據庫中。

3.4 推薦

本節詳細介紹解決冷啟動問題的具體推薦過程。本文的模型中有3 個域,包括2 個輔助域和一個目標域。輔助域中的評分矩陣為和。Rs表示對2 個輔助域中的數據進行篩選后形成的一個矩陣,即可以作為一個新的輔助域。目標域中的評分矩陣為,其中,?表示缺失的評分值,Uc和Pc分別表示聚類級矩陣Rc經過分解后,得到的輔助域中用戶和產品的潛在特征。Ut和Pt分別表示目標域中用戶和產品的集合。參考Wang 等[15]對2 個域情況下冷啟動用戶的跨域推薦的定義,本文定義了3個域的情況下冷啟動用戶的跨域推薦,具體定義參考文獻[15,34]。

本文的TADCDR(two auxiliary domains-base cross-domain recommendation)模型的工作流程如圖5 所示,主要包括3 個階段:潛在特征模型建立、潛在特征映射以及個性化的跨域推薦。在潛在特征模型的建立過程中,采用K-means 聚類算法建立用戶和產品之間的聚類級矩陣Rc。同時,本文考慮目標域中的用戶評分行為的相似性,以獲得目標域內用戶和項目的潛在特征。然后,在潛在特征映射過程中,為每個冷啟動用戶訓練一個基于MLP 的潛在特征映射函數。最后,根據冷啟動用戶的偏好為他們提供個性化的跨域推薦。

3.4.1 潛在特征模型

TADCDR模型工作流程的第一步旨在獲得輔助域和目標域中實體的潛在特征(即用戶或產品)。本節主要介紹對輔助域數據的處理和對目標域數據的處理。

圖5 TADCDR 模型的工作流程

1) 對輔助域數據的處理

①采用偏置矩陣分解,將評分矩陣R映射到低維度的潛在空間P∈?n×l和Q∈?m×l,其中R=PQT。

② 將K-means聚類算法應用于用戶潛在空間P和項目潛在空間Q,使用戶和項目分類到不同的聚類中。

某類用戶對某類項目的聚類級評分矩陣可表示為

2) 對目標域數據的處理

首先,對目標域的用戶?項目評分矩陣進行分解,并將用戶之間評分行為的相似度整合到傳統的矩陣分解過程中。

所述用戶評分行為相似度的計算包含3 個方面:基于共同評分的相似度、基于不感興趣猜測的相似度以及基于評分偏好值的相似度。

基于共同評分的相似度的計算式為

3.4.2 潛在特征映射

本節主要介紹知識遷移的過程。在這個過程中,系統可以通過訓練輔助域和目標域的評分數據來獲得一個特征映射函數以處理潛在特征匹配問題。使用MLP 方法作為映射函數具有以下優點。首先,MLP 可以很容易地捕獲input-output 結構,因為映射函數的輸入和輸出都是K維向量。其次,作為一個非線性變換,MLP 比線性映射函數更靈活。下面,本文將詳細描述一個基于MLP 的潛在特征映射模型。

對于冷啟動用戶,他們只能從輔助域獲得其潛在的特征,而且所獲得的潛在特征不能直接用于個性化且準確的推薦。然而,同一用戶在不同領域的潛在特征可能是高度相關的。所以,本文采用MLP方法來獲得映射函數Fu以及用戶u在輔助域中的潛在特征向量,通過計算得到其在目標域中的映射特征向量;冷啟動用戶對目標域中全體項目Pt的評分預測為

3.4.3 個性化跨域推薦

如果沒有給定目標域中某個用戶或者產品的足夠信息,系統就無法估計該用戶或者產品的潛在特征以進行推薦。通過對其在輔助域的潛在特征的學習,以及輔助域與目標域之間的映射函數,便可以得到其在目標域的相應仿射潛在特征。例如,對于目標域中的用戶ui,可以推導出它對應的仿射特征向量為

4 實驗過程

本節在所建立的原型系統中,對所提的服務發布框架和推薦方案進行性能測試。

4.1 推薦測試

本節研究本文所提模型在真實的評分數據集上的效果,并與其他相關的跨域推薦模型進行比較。具體如下。

CCBMF-PT[22]:一種具有個性化閾值的聚類級矩陣分解模型。

EMCDR[23]:一個跨域推薦嵌入和映射框架。EMCDR 是面向冷啟動用戶的最新跨域推薦方法之一。

CDLFM[13]:一種考慮用戶評分行為的跨域潛在特征映射模型。

4.1.1 實驗設置

本文從Amazon 平臺上的評分數據中提取了3 個真實的數據集用于性能評估,包括多個目標域,如圖書、電影和音樂。首先,過濾很少評分的錨用戶和產品。為了更好地評估實驗性能,在每個數據集中隨機選擇了300 個用戶的評分作為訓練數據,剩下的200 個用戶進行測試。潛在特征的維度K分別設置為5、10、20。

4.1.2 實驗結果

本文比較了不同模型在不同參數配置下的性能,調整了不同模型的參數,并基于多個參數設置的最優組合報告了最佳的實驗結果。本文以MAE(mean absolute error)為評價指標。

MAE 是平均絕對誤差,是所有單個觀測值與算術平均值的偏差的絕對值的平均。平均絕對誤差可以避免誤差相互抵消的問題,因此可以準確反映實際預測誤差的大小。其計算式為

其中,TE表示測試集,|TE|表示測試集中評分的數量,分別表示用戶u對產品i的真實評分和預估評分。MAE 值越小,評分預測準確度越高。

所有對比模型在不同參數配置下的MAE 性能如表1 所示。分別以圖書、電影、音樂為目標域,MAE 的性能如圖6 所示。從實驗結果可以看出,在所有推薦模型中,最優的是本文所提TADCDR模型。與EMCDR 模型相比,CDLFM 模型具有更好的性能,這表明考慮用戶相似性的方法可以獲得有意義的知識。TADCDR 模型優于CDLFM 模型,這意味著從中學習的潛在特征可以提高性能,從類似用戶中學習的映射函數更加合理。與現有模型相比,本文的TADCDR 模型對高級跨域潛在特征映射更有效。

表1 不同參數配置下模型的MAE 值

4.2 服務管理和區塊鏈測試

服務管理中心會在頁面上顯示所有已發布的服務以及針對冷啟動服務請求者的個性化推薦結果。同時,服務請求者可以查詢現有服務的服務調用。請求者可以通過服務被調用的次數和提供的服務的質量來大致了解服務提供者的可靠性,以便提出新的服務請求或直接選擇現有服務。

此外,區塊鏈功能測試如下:圖7 顯示了存儲在單個塊中的內容,包括區塊提示信息、區塊哈希塊號、數據和其他詳細信息。

4.3 系統性能測試

本文針對所提系統進行了壓力測試,主要針對系統服務發布能力的高并發性和吞吐量進行測試,并采用JMeter 線程組來模擬高并發情況下的服務吞吐量性能,實驗結果如表2 所示。

圖6 不同參數配置下的MAE 性能

圖7 單個區塊信息

根據實驗結果分析,系統的并發線程數可以達到1 100。當并發線程數達到1 150 和1 200 時,系統的異常率顯著增加,吞吐量顯著下降。

5 結束語

本文在傳統服務發布架構的基礎上,結合微服務架構,提出了一種具有松耦合、強大的容錯能力和服務子域部署的服務發布架構,引入了區塊鏈結構,可以更好地保證服務請求者和服務提供者的信息和財產安全。在向服務請求者提供服務建議方面,本文提出了一種TADCDR 模型,以便為冷啟動用戶提供更有效和個性化的跨域推薦。實驗結果表明,本文所提的針對冷啟動用戶的個性化跨域推薦模型優于其他推薦方法。此外,本文對服務發布系統進行了壓力測試,結果表明該系統可以為用戶提供穩定、可靠、高效和開放的服務能力。

表2 系統性能

猜你喜歡
冷啟動跨域服務提供者
“紅旗規則”視域下網絡服務提供者版權保護法定注意義務認定研究*
基于多標簽協同學習的跨域行人重識別
輕型汽油車實際行駛排放試驗中冷啟動排放的評估
為群眾辦實事,嶗山區打出“跨域通辦”組合拳
混合跨域神經網絡的草圖檢索算法
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
基于PEMS試驗的重型柴油車冷啟動 排放特征研究
基于學習興趣的冷啟動推薦模型
G-SRv6 Policy在跨域端到端組網中的應用
網絡服務提供者的侵權責任研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合