陳果 周志鋒 楊小波 王成 歐陽純萍

摘 要: 在電子商務環境中,精確理解用戶的興趣,提供個性化商品推薦服務成為各大電商平臺關注的熱點。通過對實時獲取的人臉特征數據進行歸一化處理,計算出用戶對商品的評分和喜愛程度;再利用機器學習算法建立并修正“商品—人臉”興趣模型庫;最后通過用戶對商品的喜愛程度來實現商品的個性化推薦,并使用MVC框架實現了基于人臉識別的商品推薦系統。
關鍵詞: 人臉識別; 商品推薦; 個性化推薦; 推薦系統
中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2018)11-52-04
Abstract: In the e-commerce environment, accurately understanding the interests of users and providing personalized product recommendation services have become the hotspots of major e-commerce platforms. This paper normalizes the face feature data obtained in real time to calculate the user's rating and preference for the product; then uses the machine learning algorithm to establish and correct the "commodity-face" interest model library; finally, achieves personalized recommendation of the product by the user's preference for the product, and uses the MVC framework to implement a product recommendation system based on face recognition.
Key words: face recognition; product recommendation; personalized recommendation; recommendation system
0 引言
隨著互聯網信息技術和電子商務領域迅速發展,商品交易活動逐漸趨向于電子商務的形式。如何準確、高效地為用戶推薦個性化商品[1]是當前電子商務領域研究的熱門內容,而一個新穎有趣的購物體驗也將會成為用戶更高的追求。
近年來,各大平臺都開始采用不同的商品推薦技術,雖然略有成效,但依然存在很多問題。使用較多的推薦技術主要有基于協同過濾[2]、基于內容過濾[3]以及基于關聯規則過濾[4]的推薦技術。其中基于內容過濾的推薦,主要通過用戶行為和用戶偏好來向用戶推薦一系列類似產品,但是這種推薦技術很難推薦新的用戶感興趣的商品,例如亞馬遜商城就是利用用戶偏好,以及用戶購買記錄來向用戶推薦其他產品,然而這種推薦并不是很精確;基于協同過濾的推薦方式利用有著相似喜好的用戶群體來進行推薦,此類推薦大大地提高了推薦系統準確性,有著比較好的推薦效果,這也是目前使用范圍最廣的推薦技術;基于關聯規則過濾的推薦技術是通過獲取以往交易數據中的規則并建立商品之間的關聯規則進行推薦。上述推薦系統都各有不同程度的局限性,目前大部分的商品推薦系統都是向用戶推薦不同種類、不同樣的商品,但是卻很少有基于用戶正確的行為的推薦方式。
針對上述商品推薦技術的弊端,本文提出一種基于人臉識別[5]的商品個性化推薦技術,該技術旨在結合人臉識別功能打造一種全新的推薦系統,根據用戶的面部特征以及頭部動作給用戶推薦商品。
1 推薦系統的體系結構
基于人臉識別的商品推薦系統采用B/S模式進行設計。系統整體架構如圖1所示。
該系統擁有以下三個功能模塊。
⑴ 人臉識別模塊
從客戶端攝像頭實時獲取人臉圖片,使用Ajax發送POST請求將圖片發送到后臺服務器,后臺服務器通發送HTTP請求與face++[6]人臉識別服務進行交互,獲取實時的人臉特征數據。
⑵ “商品—人臉”興趣模型庫模塊
初始建立“商品—人臉”興趣模型庫,用于商品推薦。當用戶面對攝像頭做出反饋時,該模塊對實時獲取的用戶的人臉特征數據進行處理后得到相應的多維向量,使用機器學習算法對相應商品的人臉特征向量進行修正,從而使興趣模型更加精確。
⑶ 商品推薦模塊
通過使用人臉識別模塊實時獲取用戶的面部特征數據,該模塊根據用戶的面部特征數據通過“商品—人臉”興趣模型庫計算推薦商品,最后反饋給用戶。
2 系統模塊分析
2.1 人臉識別
2.1.1 人臉特征數據的采集
Web客戶端通過調用攝像頭接口實時獲取用戶頭部圖片,每10ms發送圖片發送給后臺服務器,后臺服務器通過發送HTTP請求給face++的人臉識別服務,通過對face++返回的數據進行歸一化,獲得每張圖片對應的人臉特征數據。具體的數據流圖如圖2所示。
具體調用的API參數如表1所示。
2.1.2 人臉特征數據的表示
對獲取到的人臉特征數據進行歸一化處理后,必須用適當的方式進行表示。我們用一個7維向量表示每一個商品與人臉的關系,該7維向量包含7個分量:age(W1)、gender(W2)、smile(W3)、pitch_angle(W4)、roll_angle(W5)、yaw_angle(W6)、glass(W7),分別表示年齡、性別、微笑指數、搖頭指數(抬頭角度,平面旋轉角度,搖頭角度)、是否佩戴眼鏡。具體如公式⑴所示:
2.2 “商品—人臉”興趣模型庫
人臉信息中隱式的含有對商品數據的“偏好”,例如,如果用戶是男性,那么他們可能對數碼產品感興趣;如果是女性,可能對衣妝感興趣;如果用戶戴眼鏡,可能對電腦游戲或書籍更感興趣。因此,系統通過建立人臉-商品二維矩陣模型,建立了人臉特征與商品之間的關系;通過推薦商品讓用戶形成反饋,并通過用戶對推薦的商品的反饋,不斷調節人臉-商品二維矩陣,以達到優化商品推薦模型的目的,最終能夠更加精確地給用戶推薦商品。
為了表示與計算的方便,商品—人臉興趣模型采用與人臉特征數據一樣的表示方式:用一個7維向量表示每個商品與人臉特征的關聯向量。每一個商品都有一組與人臉特征關聯的向量,初始每一個分量都是隨機數。
上文提到,“商品—人臉”興趣模型庫中每一個“商品—人臉”興趣模型的每一個分量都是隨機數。在客戶端使用過程中,用戶通過對商品做出與自己評價相應的動作,比如微笑和搖頭,微笑代表正反饋(喜歡),搖頭代表負反饋(不喜歡),系統通過采集用戶對被推薦商品的相應反饋,對對應商品—人臉興趣模型做出調整與修正,使未來的商品推薦越來越精確。修正過程如下。
結合微笑指數(smile)和搖頭指數(yaw_angle),通過公式⑵計算用戶對商品的評分:
計算后得到用戶對商品的評分,共五個等級(不滿意、較不滿意、中等、較滿意、滿意),然后在通過對比用戶對商品的評分和對商品的喜愛程度(計算方式參考小節2.3),并計算兩個數據之間的差值,設置一個機器學習[7]率,來控制修正模型調節的速度,于是得到最終的權值調節數值為,最后每個權值分別變成:
2.3 商品推薦
初始建立商品—人臉興趣模型庫之后,進行人臉識別獲取人臉特征數據,進行歸一化處理后得到表示人臉特征數據的7維向量,記為X1。
從數據庫獲取每個商品—人臉興趣模型,記為X2。
通過公式⑽(表示向量內積)計算,得到人臉對每個商品的喜愛程度,記為ans,
對計算結果進行排序后,將排名靠前的商品推薦給用戶。
3 商品推薦系統的實現
前面介紹了的人臉識別、興趣模型構建和商品推薦模塊,實現該推薦系統需要做的就是構建用戶交互的客戶端系統以及為推薦功能服務的服務器系統。
該系統后端采用Java語言的MVC框架[8]、Hibernate框架、MySQL數據庫、servlet通信等技術;前端采用Bootstrap前端框架、html5、JavaScript、jquery、Ajax等技術來實現客戶端UI界面。系統的通信使用HTTP通信協議,數據傳輸使用JSON格式,系統通信過程是先由客戶端發送請求至服務器端,服務器再發送給servlet,后臺進行數據處理并根據請求與參數去數據庫獲取結果,隨后servlet將獲取到的響應內容發送給服務器,服務器端再把響應的JSON數據返回給客戶端后動態更新界面。
在本系統的開發過程中,采用了面向對象的編程思想,使用MVC框架,該框架的優點在于耦合性低,實現了模型與控制器還有視圖層的相互分離,改變三層中的其中一層不會影響另外兩層,各模塊代碼之間重用性較高,項目更易于維護和修改。為了直觀地顯示實驗效果,截取了系統的主界面如圖3所示。
4 結束語
在電子商務不斷發展的今天,人們對商品信息的追求日趨個性化,個性化的產品推薦已經成為學者們研究的熱點。論文闡述了“商品—人臉”興趣模型庫和推薦算法的設計與實現,并采用B/S模式商品推薦系統進行架構設計,通過調用人臉識別接口,實現了基于人臉識別的商品個性化推薦系統。系統通過模型修正提高商品推薦的準確率,但人的情感因素有很多,不能僅憑本文所采用的人臉識別就準確推薦用戶真正喜愛的商品。在未來的工作中,還可以做出以下改進:增加更多情感輸入方式;使用更加合適、精確的機器學習算法。
參考文獻(References):
[1] 孫濤.個性化商品推薦系統的設計與實現[D].吉林大學,2015.
[2] 李詩羽.基于協同過濾算法的個性化推薦系統的設計與實現[J].信息與電腦(理論版),2018.11:53-54
[3] 沈華理.基于內容和協同過濾相融合的推薦算法[J].電腦知識與技術,2018.14(2):232-234,282
[4] 蔣同舟.基于關聯規則的個性化推薦[D].大連理工大學,2017.
[5] 劉衛凱,郝雅倩,鄭晗,齊立萍.人臉識別綜述[J].信息記錄材料,2018.19(7):13-14
[6] 李碧雯,史小兵.[曠視科技]“看”到曙光[J].中國企業家,2016.12:44-46
[7] 韓雪純.大數據時代下機器學習的應用研究[J].科技風,2018.19:63
[8] 王鶴琴,張林靜,朱珍元.基于Spring MVC的后臺管理系統開發研究[J].黃山學院學報,2018.20(3):18-22