基于人脸识别的商品推荐系统的设计与实现

2018-01-04 11:35陈果周志锋杨小波王成欧阳纯萍
计算机时代 2018年11期
关键词:个性化推荐推荐系统人脸识别

陈果 周志锋 杨小波 王成 欧阳纯萍

摘 要: 在电子商务环境中,精确理解用户的兴趣,提供个性化商品推荐服务成为各大电商平台关注的热点。通过对实时获取的人脸特征数据进行归一化处理,计算出用户对商品的评分和喜爱程度;再利用机器学习算法建立并修正“商品—人脸”兴趣模型库;最后通过用户对商品的喜爱程度来实现商品的个性化推荐,并使用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

猜你喜欢
个性化推荐推荐系统人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
基于用户偏好的信任网络随机游走推荐模型
基于链式存储结构的协同过滤推荐算法设计与实现
基于个性化的协同过滤图书推荐算法研究
个性化推荐系统关键算法探讨
基于协同过滤算法的个性化图书推荐系统研究
浅谈Mahout在个性化推荐系统中的应用
基于类独立核稀疏表示的鲁棒人脸识别
基于K-L变换和平均近邻法的人脸识别