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

摘 要: 在電子商務(wù)環(huán)境中,精確理解用戶的興趣,提供個性化商品推薦服務(wù)成為各大電商平臺關(guān)注的熱點。通過對實時獲取的人臉特征數(shù)據(jù)進行歸一化處理,計算出用戶對商品的評分和喜愛程度;再利用機器學(xué)習(xí)算法建立并修正“商品—人臉”興趣模型庫;最后通過用戶對商品的喜愛程度來實現(xiàn)商品的個性化推薦,并使用MVC框架實現(xiàn)了基于人臉識別的商品推薦系統(tǒng)。
關(guān)鍵詞: 人臉識別; 商品推薦; 個性化推薦; 推薦系統(tǒng)
中圖分類號:TP319 文獻標(biāo)志碼: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 引言
隨著互聯(lián)網(wǎng)信息技術(shù)和電子商務(wù)領(lǐng)域迅速發(fā)展,商品交易活動逐漸趨向于電子商務(wù)的形式。如何準(zhǔn)確、高效地為用戶推薦個性化商品[1]是當(dāng)前電子商務(wù)領(lǐng)域研究的熱門內(nèi)容,而一個新穎有趣的購物體驗也將會成為用戶更高的追求。
近年來,各大平臺都開始采用不同的商品推薦技術(shù),雖然略有成效,但依然存在很多問題。使用較多的推薦技術(shù)主要有基于協(xié)同過濾[2]、基于內(nèi)容過濾[3]以及基于關(guān)聯(lián)規(guī)則過濾[4]的推薦技術(shù)。其中基于內(nèi)容過濾的推薦,主要通過用戶行為和用戶偏好來向用戶推薦一系列類似產(chǎn)品,但是這種推薦技術(shù)很難推薦新的用戶感興趣的商品,例如亞馬遜商城就是利用用戶偏好,以及用戶購買記錄來向用戶推薦其他產(chǎn)品,然而這種推薦并不是很精確;基于協(xié)同過濾的推薦方式利用有著相似喜好的用戶群體來進行推薦,此類推薦大大地提高了推薦系統(tǒng)準(zhǔn)確性,有著比較好的推薦效果,這也是目前使用范圍最廣的推薦技術(shù);基于關(guān)聯(lián)規(guī)則過濾的推薦技術(shù)是通過獲取以往交易數(shù)據(jù)中的規(guī)則并建立商品之間的關(guān)聯(lián)規(guī)則進行推薦。上述推薦系統(tǒng)都各有不同程度的局限性,目前大部分的商品推薦系統(tǒng)都是向用戶推薦不同種類、不同樣的商品,但是卻很少有基于用戶正確的行為的推薦方式。
針對上述商品推薦技術(shù)的弊端,本文提出一種基于人臉識別[5]的商品個性化推薦技術(shù),該技術(shù)旨在結(jié)合人臉識別功能打造一種全新的推薦系統(tǒng),根據(jù)用戶的面部特征以及頭部動作給用戶推薦商品。
1 推薦系統(tǒng)的體系結(jié)構(gòu)
基于人臉識別的商品推薦系統(tǒng)采用B/S模式進行設(shè)計。系統(tǒng)整體架構(gòu)如圖1所示。
該系統(tǒng)擁有以下三個功能模塊。
⑴ 人臉識別模塊
從客戶端攝像頭實時獲取人臉圖片,使用Ajax發(fā)送POST請求將圖片發(fā)送到后臺服務(wù)器,后臺服務(wù)器通發(fā)送HTTP請求與face++[6]人臉識別服務(wù)進行交互,獲取實時的人臉特征數(shù)據(jù)。
⑵ “商品—人臉”興趣模型庫模塊
初始建立“商品—人臉”興趣模型庫,用于商品推薦。當(dāng)用戶面對攝像頭做出反饋時,該模塊對實時獲取的用戶的人臉特征數(shù)據(jù)進行處理后得到相應(yīng)的多維向量,使用機器學(xué)習(xí)算法對相應(yīng)商品的人臉特征向量進行修正,從而使興趣模型更加精確。
⑶ 商品推薦模塊
通過使用人臉識別模塊實時獲取用戶的面部特征數(shù)據(jù),該模塊根據(jù)用戶的面部特征數(shù)據(jù)通過“商品—人臉”興趣模型庫計算推薦商品,最后反饋給用戶。
2 系統(tǒng)模塊分析
2.1 人臉識別
2.1.1 人臉特征數(shù)據(jù)的采集
Web客戶端通過調(diào)用攝像頭接口實時獲取用戶頭部圖片,每10ms發(fā)送圖片發(fā)送給后臺服務(wù)器,后臺服務(wù)器通過發(fā)送HTTP請求給face++的人臉識別服務(wù),通過對face++返回的數(shù)據(jù)進行歸一化,獲得每張圖片對應(yīng)的人臉特征數(shù)據(jù)。具體的數(shù)據(jù)流圖如圖2所示。
具體調(diào)用的API參數(shù)如表1所示。
2.1.2 人臉特征數(shù)據(jù)的表示
對獲取到的人臉特征數(shù)據(jù)進行歸一化處理后,必須用適當(dāng)?shù)姆绞竭M行表示。我們用一個7維向量表示每一個商品與人臉的關(guān)系,該7維向量包含7個分量:age(W1)、gender(W2)、smile(W3)、pitch_angle(W4)、roll_angle(W5)、yaw_angle(W6)、glass(W7),分別表示年齡、性別、微笑指數(shù)、搖頭指數(shù)(抬頭角度,平面旋轉(zhuǎn)角度,搖頭角度)、是否佩戴眼鏡。具體如公式⑴所示:
2.2 “商品—人臉”興趣模型庫
人臉信息中隱式的含有對商品數(shù)據(jù)的“偏好”,例如,如果用戶是男性,那么他們可能對數(shù)碼產(chǎn)品感興趣;如果是女性,可能對衣妝感興趣;如果用戶戴眼鏡,可能對電腦游戲或書籍更感興趣。因此,系統(tǒng)通過建立人臉-商品二維矩陣模型,建立了人臉特征與商品之間的關(guān)系;通過推薦商品讓用戶形成反饋,并通過用戶對推薦的商品的反饋,不斷調(diào)節(jié)人臉-商品二維矩陣,以達(dá)到優(yōu)化商品推薦模型的目的,最終能夠更加精確地給用戶推薦商品。
為了表示與計算的方便,商品—人臉興趣模型采用與人臉特征數(shù)據(jù)一樣的表示方式:用一個7維向量表示每個商品與人臉特征的關(guān)聯(lián)向量。每一個商品都有一組與人臉特征關(guān)聯(lián)的向量,初始每一個分量都是隨機數(shù)。
上文提到,“商品—人臉”興趣模型庫中每一個“商品—人臉”興趣模型的每一個分量都是隨機數(shù)。在客戶端使用過程中,用戶通過對商品做出與自己評價相應(yīng)的動作,比如微笑和搖頭,微笑代表正反饋(喜歡),搖頭代表負(fù)反饋(不喜歡),系統(tǒng)通過采集用戶對被推薦商品的相應(yīng)反饋,對對應(yīng)商品—人臉興趣模型做出調(diào)整與修正,使未來的商品推薦越來越精確。修正過程如下。
結(jié)合微笑指數(shù)(smile)和搖頭指數(shù)(yaw_angle),通過公式⑵計算用戶對商品的評分:
計算后得到用戶對商品的評分,共五個等級(不滿意、較不滿意、中等、較滿意、滿意),然后在通過對比用戶對商品的評分和對商品的喜愛程度(計算方式參考小節(jié)2.3),并計算兩個數(shù)據(jù)之間的差值,設(shè)置一個機器學(xué)習(xí)[7]率,來控制修正模型調(diào)節(jié)的速度,于是得到最終的權(quán)值調(diào)節(jié)數(shù)值為,最后每個權(quán)值分別變成:
2.3 商品推薦
初始建立商品—人臉興趣模型庫之后,進行人臉識別獲取人臉特征數(shù)據(jù),進行歸一化處理后得到表示人臉特征數(shù)據(jù)的7維向量,記為X1。
從數(shù)據(jù)庫獲取每個商品—人臉興趣模型,記為X2。
通過公式⑽(表示向量內(nèi)積)計算,得到人臉對每個商品的喜愛程度,記為ans,
對計算結(jié)果進行排序后,將排名靠前的商品推薦給用戶。
3 商品推薦系統(tǒng)的實現(xiàn)
前面介紹了的人臉識別、興趣模型構(gòu)建和商品推薦模塊,實現(xiàn)該推薦系統(tǒng)需要做的就是構(gòu)建用戶交互的客戶端系統(tǒng)以及為推薦功能服務(wù)的服務(wù)器系統(tǒng)。
該系統(tǒng)后端采用Java語言的MVC框架[8]、Hibernate框架、MySQL數(shù)據(jù)庫、servlet通信等技術(shù);前端采用Bootstrap前端框架、html5、JavaScript、jquery、Ajax等技術(shù)來實現(xiàn)客戶端UI界面。系統(tǒng)的通信使用HTTP通信協(xié)議,數(shù)據(jù)傳輸使用JSON格式,系統(tǒng)通信過程是先由客戶端發(fā)送請求至服務(wù)器端,服務(wù)器再發(fā)送給servlet,后臺進行數(shù)據(jù)處理并根據(jù)請求與參數(shù)去數(shù)據(jù)庫獲取結(jié)果,隨后servlet將獲取到的響應(yīng)內(nèi)容發(fā)送給服務(wù)器,服務(wù)器端再把響應(yīng)的JSON數(shù)據(jù)返回給客戶端后動態(tài)更新界面。
在本系統(tǒng)的開發(fā)過程中,采用了面向?qū)ο蟮木幊趟枷耄褂肕VC框架,該框架的優(yōu)點在于耦合性低,實現(xiàn)了模型與控制器還有視圖層的相互分離,改變?nèi)龑又械钠渲幸粚硬粫绊懥硗鈨蓪樱髂K代碼之間重用性較高,項目更易于維護和修改。為了直觀地顯示實驗效果,截取了系統(tǒng)的主界面如圖3所示。
4 結(jié)束語
在電子商務(wù)不斷發(fā)展的今天,人們對商品信息的追求日趨個性化,個性化的產(chǎn)品推薦已經(jīng)成為學(xué)者們研究的熱點。論文闡述了“商品—人臉”興趣模型庫和推薦算法的設(shè)計與實現(xiàn),并采用B/S模式商品推薦系統(tǒng)進行架構(gòu)設(shè)計,通過調(diào)用人臉識別接口,實現(xiàn)了基于人臉識別的商品個性化推薦系統(tǒng)。系統(tǒng)通過模型修正提高商品推薦的準(zhǔn)確率,但人的情感因素有很多,不能僅憑本文所采用的人臉識別就準(zhǔn)確推薦用戶真正喜愛的商品。在未來的工作中,還可以做出以下改進:增加更多情感輸入方式;使用更加合適、精確的機器學(xué)習(xí)算法。
參考文獻(References):
[1] 孫濤.個性化商品推薦系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林大學(xué),2015.
[2] 李詩羽.基于協(xié)同過濾算法的個性化推薦系統(tǒng)的設(shè)計與實現(xiàn)[J].信息與電腦(理論版),2018.11:53-54
[3] 沈華理.基于內(nèi)容和協(xié)同過濾相融合的推薦算法[J].電腦知識與技術(shù),2018.14(2):232-234,282
[4] 蔣同舟.基于關(guān)聯(lián)規(guī)則的個性化推薦[D].大連理工大學(xué),2017.
[5] 劉衛(wèi)凱,郝雅倩,鄭晗,齊立萍.人臉識別綜述[J].信息記錄材料,2018.19(7):13-14
[6] 李碧雯,史小兵.[曠視科技]“看”到曙光[J].中國企業(yè)家,2016.12:44-46
[7] 韓雪純.大數(shù)據(jù)時代下機器學(xué)習(xí)的應(yīng)用研究[J].科技風(fēng),2018.19:63
[8] 王鶴琴,張林靜,朱珍元.基于Spring MVC的后臺管理系統(tǒng)開發(fā)研究[J].黃山學(xué)院學(xué)報,2018.20(3):18-22