发明内容
本发明要解决的问题是现有技术中以描述性文字作为过滤条件进行好友推荐的方法,无法较准确地满足目标用户对于好友外貌的偏好。
为解决上述问题,本发明技术方案提供一种SNS网络中好友推荐方法,包括:
对SNS网络中用户的头像图片进行人脸检测,并提取所述头像图片中的人脸区域以获得对应的人脸图片;
接收目标用户对于所述人脸图片的评价信息;
对具有所述评价信息的人脸图片进行训练,得到针对所述目标用户的外貌评测模型;
将候选好友的脸部图片输入所述外貌评测模型,以获得各个候选好友脸部图片的评测结果;
根据各个候选好友脸部图片的评测结果向所述目标用户推荐好友。
可选的,所述SNS网络中好友推荐方法还包括:在接收目标用户对于人脸图片的评价信息之前,以人脸超像素技术对所述人脸图片进行放大处理。
可选的,所述目标用户对于所述人脸图片的评价信息为绝对评价信息或相对评价信息,所述绝对评价信息反映所述目标用户对于每张人脸图片偏好的绝对评分,所述相对评价信息反映所述目标用户对于所有人脸图片偏好的评价排序。
可选的,以回归预测的方法训练得到所述外貌评测模型。
可选的,所述头像图片从预设的潜在好友头像推荐集中选取,所述潜在好友头像推荐集是按第一预设条件从SNS网络中获取并建立的,所述第一预设条件包括潜在好友的肤色、年龄和性别中的至少一种。
可选的,所述候选好友的脸部图片从预设的候选好友脸部图片集中选取,所述候选好友脸部图片集是按第二预设条件从SNS网络中获取候选好友的头像图片并从中提取出脸部图片后建立的,所述第二预设条件包括候选好友的肤色、年龄和性别中的至少一种。
可选的,所述SNS网络中好友推荐方法还包括:
将所述目标用户的脸部图片输入其他用户对应的外貌评测模型,以获得其他用户对于所述目标用户的脸部图片的评测结果;
根据所述目标用户的脸部图片的评测结果,将其他对所述目标用户存在外貌偏好的用户作为好友推荐给该目标用户。
可选的,所述根据各个候选好友脸部图片的评测结果向所述目标用户推荐好友包括:将各个候选好友脸部图片的评测结果与其他推荐指标结合,向所述目标用户推荐好友,所述其他推荐指标包括用户之间相匹配的个人信息,所述个人信息包括兴趣爱好、居住地、工作地点、职业、学历和毕业学校中的至少一种。
为解决上述问题,本发明技术方案还提供一种SNS网络中好友推荐系统,包括:
提取单元,适于对SNS网络中用户的头像图片进行人脸检测,并提取所述头像图片中的人脸区域以获得对应的人脸图片;
评价单元,适于接收目标用户对于所述人脸图片的评价信息;
建模单元,适于对具有所述评价信息的人脸图片进行训练,得到针对所述目标用户的外貌评测模型;
第一评测单元,适于将候选好友的脸部图片输入所述外貌评测模型,以获得各个候选好友脸部图片的评测结果;
第一推荐单元,根据各个候选好友脸部图片的评测结果向所述目标用户推荐好友。
与现有技术相比,本发明技术方案具有以下优点:
通过建立针对目标用户的外貌评测模型,将候选好友的脸部图片输入所述外貌评测模型,以获得的各个候选好友脸部图片的评测结果向所述目标用户推荐好友,从而能够在较准确地满足目标用户对于好友外貌的偏好的基础上实现SNS网络中的好友推荐。
一方面向目标用户推荐其偏好的候选好友,另一方面获得其他用户对当前目标用户的偏好度,反过来将其他对该目标用户有潜在外貌偏好的用户推荐给该目标用户,从而能够实现双向选择的用户体验。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。
图1是本发明实施方式提供的SNS网络中好友推荐方法的流程示意图。如图1所示,所述SNS网络中好友推荐方法包括:
步骤S101,对SNS网络中用户的头像图片进行人脸检测,并提取所述头像图片中的人脸区域以获得对应的人脸图片;
步骤S102,接收目标用户对于所述人脸图片的评价信息;
步骤S103,对具有所述评价信息的人脸图片进行训练,得到针对所述目标用户的外貌评测模型;
步骤S104,将候选好友的脸部图片输入所述外貌评测模型,以获得各个候选好友脸部图片的评测结果;
步骤S105,根据各个候选好友脸部图片的评测结果向所述目标用户推荐好友。
下面以具体实施例对上述SNS网络中好友推荐方法作详细说明。
本实施例中,SNS网络具体可以是各种类型的社交网站,在社交网站注册的用户往往基于共同的兴趣爱好、工作事业、学历背景等因素(在注册时提供),彼此建立起好友关系。如背景技术中所述,现有技术中,用户输入关键词和条件进行过滤是好友查找的主要方式,而好友推荐系统则通过将用户的某些个人信息与其他用户的个人信息进行匹配,最后返回能匹配的候选好友。但是,此类以描述性的文字作为过滤条件推荐好友的方式具有较大的局限性,在实际情况中,通过在虚拟网络中建立起好友关系的用户们,随着彼此交流的深入,存在将虚拟网络的好友关系转入到现实工作和生活中的好友关系的需求,例如一些婚恋网站,此时,用户对于好友相貌的偏好,是选择建立好友关系的一个很重要的因素。虽然通过文字性描述也可以对用户的相貌进行一些简单的反映,但每个人对外表的审美趋于个性化,无法简单的使用一些规则来衡量一张脸部图片是否受特定用户欢迎。因此,发明人考虑,可以基于所有用户在SNS网络注册时提供的头像图片,选取出属于某个特定用户(本发明实施方式中称为目标用户)的潜在好友的头像图片,经过一定的图像处理以及获取该目标用户对于潜在好友的人脸图片的评价信息后,分别建立针对目标用户的外貌评测模型,通过该外貌评测模型对输入的候选好友的脸部图片进行评测,根据评测结果向目标用户推荐好友便能在较准确地满足目标用户对于好友外貌的偏好的基础上实现SNS网络中的好友推荐。
下面介绍具体实施过程:
执行步骤S101,对SNS网络中用户的头像图片进行人脸检测,并提取所述头像图片中的人脸区域以获得对应的人脸图片。
由于SNS网络中用户的头像图片的形式各异,有的是头部相片,有的是半身相片,还有的是全身相片,此时需要检测并提取出所述头像图片中的人脸区域,以便于后续步骤中准确获取目标用户对于众多潜在好友的脸部的评价信息。
在具体实施时,对SNS网络中用户的头像图片进行人脸检测和提取可以使用成熟的Adaboost检测技术自动检测所述头像图片中的人脸区域,并进行截取以获得对应的人脸图片。本实施例中,对于像素过小的人脸图片,在接收目标用户对于人脸图片的评价信息(即步骤S102)之前,可以使用人脸超像素技术(face hallucination)对所述人脸图片进行放大处理,方便用户的辨认和评价;而对于分辨率过小的人脸图片,则可以忽略,即不将其作为后续步骤进行评价的对象。
在本实施例中,步骤S101中所述头像图片,即对其进行人脸检测并从中提取人脸区域的头像图片,是从预设的潜在好友头像推荐集中选取的,所述潜在好友头像推荐集是按第一预设条件从SNS网络中获取并建立的,所述第一预设条件是从SNS网络中所有用户的头像图片中选取出作为潜在好友的头像图片的筛选条件(或称为过滤条件),包括潜在好友的肤色、年龄和性别中的至少一种。虽然在其他实施例中,所述头像图片也可以直接从SNS网络中所有用户的头像图片中随机选取,但这种方式盲目性较大,难以准确地确定出目标用户的潜在好友的人脸特性。因此,可以预先建立一针对目标用户的潜在好友头像推荐集,所述潜在好友头像推荐集中的头像图片是按照一定筛选条件进行筛选处理后获得的,筛选条件可以是目标用户对肤色、年龄、性别、身高、体重等偏好,这样可以缩小属于目标用户潜在好友的范围,从而避免后续步骤中需要用户进行大量人脸图片的评价,也能够准确地确定出目标用户的潜在好友的人脸特性。
提取获得所述人脸图片之后,执行步骤S102,接收目标用户对于所述人脸图片的评价信息。所述评价信息是指由目标用户对所有提取获得的人脸图片进行评价,从而使每张被评价后的人脸图片都具有对应的评分结果。具体实施时,可以由一评价单元将所有提取获得的人脸图片按一定规则提供给用户进行评价,目标用户输入对于每张人脸图片的评分,该评分体现目标用户对于各人脸图片的偏好,所述评价单元接收目标用户对于各人脸图片的评分,即接收所述评价信息,以便为后续步骤建立外貌评测模型提供必要的数据支持。
本实施例中,所述目标用户对于所述人脸图片的评价信息为绝对评价信息或相对评价信息,所述绝对评价信息反映所述目标用户对于每张人脸图片偏好的绝对评分,所述相对评价信息反映所述目标用户对于所有人脸图片偏好的评价排序。
具体实施时,用户可以对人脸图片进行绝对评分,即给定一个评分范围,用户对每张看到的人脸图片进行打分,比如最低分0分,最高分10分,那么用户可以在0~10分的这一评分范围内输入评分结果,由所述评价单元汇总各人脸图片对应的评分结果,该评分结果即所述绝对评价信息。
对于需要多次评分的情况,也可以进行相对评分,即每次给用户若干张人脸图片,用户只需要对这些图片进行排序,无需打出具体评分。本实施例中,可以使用一种对于用户较为接受的两两比较的方法。具体地,每次向用户展示两张人脸图片,由用户选出一张相对更为偏好的人脸图片,最终获得目标用户对于所有人脸图片的评价排序,该排序反映出目标用户对于各人脸图片的偏好,即所述相对评价信息。举例来说,如果有5张人脸图片需要进行相对评分,分别称为图片A、B、C、D、E,在没有进行评价前它们的排序记为ABCDE,首先将图片A与图片B展示给目标用户进行评价,假设用户更偏好于图片B,则它们的排序不变,仍然为ABCDE,然后将图片B与图片C展示给目标用户进行评价,若用户仍然更偏好于图片B,则它们的排序变为ACBDE,然后将图片B与图片D展示给目标用户进行评价,若此时用户更偏好于图片D,则它们的排序仍然为ACBDE,然后将图片D与图片E展示给目标用户进行评价,假设用户仍然更偏好于图片D,则它们的排序为ACBED,至此第一轮比较排序的过程结束,进入下一轮比较排序,在下一轮比较排序过程中,仅需对ACBE进行排序,因为图片D在第一轮排序过程中已经被确定为5张图片中用户最偏好的人脸图片。上述对于多张人脸图片的排序过程通过常用的冒泡排序法即可便捷地实现,假设需要由目标用户进行评价的人脸图片的数目为n,则在完成整个评价过程之后,除了得到目标用户对于各人脸图片偏好的排序,还可以得到各个人脸图片的用户相对评分,例如最低为0,最高为n-1。
需要说明的是,本实施例结合冒泡排序法对所有人脸图片进行评价过程中,由于各人脸图片在初始时都没有数值大小之分,因此并非是对已知数列进行排序,而是需要由所述评价单元不断接收目标用户的反馈信息,即每次两两比较之后反馈的评价结果,所述评价单元基于目标用户反馈的信息进行排序处理,最终获得目标用户对于各人脸图片偏好的评价排序。
接收到目标用户对于所述人脸图片的评价信息后,执行步骤S103,对具有所述评价信息的人脸图片进行训练,得到针对所述目标用户的外貌评测模型。具体地,对有用户评分或完成排序的人脸图片进行机器学习和数据处理,得到一个训练好的针对目标用户的外貌评测模型,在本实施例中,可以使用回归预测的方法训练得到所述外貌评测模型,整个训练过程中,输入即步骤102处理后得到的人脸图片及其对应的评分,输出是训练好的回归预测模型。具体实施时,可以使用下式对回归预测进行训练:
公式(1)中,Si表示目标用户对于各人脸图片的评价信息,Ii是图像的像素矩阵,b和λ是固定的参数,而参数θ和权重参数w则是待求得的参数。ψ(Ii;θ)函数模型,可以选择本征脸(eigenface)模型使用的技术:对于输入的图像集合Ii,将其并排成一个大矩阵,首先计算该矩阵的奇异值分解(SVD,SingularValue Decomposition),Ii=UΩV,则ψ(Ii;θ)=UTIi。据此,可以求得回归模型对应的权重参数w。
建立所述外貌评测模型后,执行步骤S104,将候选好友的脸部图片输入所述外貌评测模型,以获得各个候选好友脸部图片的评测结果。具体地,将按一定规则产生的候选好友脸部图片输入训练好的外貌评测模型,得到候选各个好友的脸部图片的评分,在实际实施时,对于给定的候选好友的脸部图片,使用步骤S103中训练好的外貌评测模型可以按下式进行评分预测:
在本实施例中,步骤S104中所述候选好友的脸部图片从预设的候选好友脸部图片集中选取,所述候选好友脸部图片集是按第二预设条件从SNS网络中获取候选好友的头像图片并从中提取出脸部图片后建立的,所述第二预设条件是从SNS网络中所有用户的头像图片中选取出作为候选好友的头像图片的筛选条件(或称为过滤条件),包括候选好友的肤色、年龄和性别中的至少一种。当然,在其他实施例中,也可以直接从SNS网络中所有用户的头像图片中随机选取并提取获得候选好友的脸部图片,但这种方式同样盲目性较大,难以准确地确定出目标用户的候选好友的人脸特性,会导致在后续步骤中推荐好友的成功率以及准确率降低。因此,可以预先建立一针对目标用户的候选好友脸部图片集,所述候选好友脸部图片集中的脸部图片是按照一定筛选条件进行筛选处理后获得的,筛选条件可以是目标用户对肤色、年龄、性别、身高、体重等偏好,这样可以缩小属于目标用户候选好友的范围,从而提高后续步骤中推荐好友的成功率以及准确率。
需要说明的是,步骤S101中的所述潜在好友头像推荐集与步骤S104中的所述候选好友脸部图片集的目的略有区别:本实施例中的潜在好友头像图片是为了建立外貌评测模型的需要而从SNS网络中所有用户的头像图片中选取出来的,而候选好友头像图片是为了通过输入外貌评测模型以推荐好友的需求而从SNS网络中所有用户的头像图片中选取并经过一定图像处理后获得的。在实际实施时,两者也可以是同一个图片集合。
获得各个候选好友脸部图片的评测结果后,执行步骤S105,根据各个候选好友脸部图片的评测结果向所述目标用户推荐好友。由于所述外貌评测模型是分析了大量目标用户所偏好的人脸图片后建立的,能够较为准确地反映目标用户对于候选好友外貌的偏好,将某个给定的候选好友脸部图片输入外貌评测模型后,输出的评测结果也能够基本体现目标用户对于候选好友外貌的偏好,一般来说,若评测结果的得分较高(可以预设一定的标准),则说明目标用户倾向于将该候选好友加为正式好友,那么SNS网络的好友推荐系统便会将该候选好友推荐给目标用户,若评测结果的得分较低,则说明目标用户对该候选好友的外貌有所偏恶,那么SNS网络中的好友推荐系统便不会将该候选好友推荐给目标用户。
在实际情况中,用户选择好友时,不可能仅仅取决于外貌因素,还可能考虑其他因素,因此在本实施例中,步骤S105中所述根据各个候选好友脸部图片的评测结果向所述目标用户推荐好友可以包括:将各个候选好友脸部图片的评测结果与其他推荐指标结合,向所述目标用户推荐好友,所述其他推荐指标包括用户之间相匹配的个人信息,所述个人信息包括兴趣爱好、居住地、工作地点、职业、学历和毕业学校中的至少一种。将候选好友的脸部图片的评测结果结合其他推荐指标向用户推荐他可能偏好的候选好友,也可以认为是将该定制化的外貌偏好评价指标纳入其他推荐系统进行集成。
本发明实施方式中,通过用户之间对人脸图片的相互评分,来预测当前还不是好友关系的用户对对方外貌的偏好程度,对于某个用户,本方法可以向该用户推荐其偏好的候选好友,同时还可以推荐其他对该用户有偏好的候选好友,完全可以是一个双向选择的关系。因此,在本实施例中,所述SNS网络中好友推荐方法还包括:
步骤S106,将所述目标用户的脸部图片输入其他用户对应的外貌评测模型,以获得其他用户对于所述目标用户的脸部图片的评测结果;
步骤S107,根据所述目标用户的脸部图片的评测结果,将其他对所述目标用户存在外貌偏好的用户作为好友推荐给该目标用户。
具体实施时,将步骤S101至步骤S104用于其他用户,可以得到其他用户对当前目标用户的偏好度,将其他对该目标用户有外貌偏好的用户推荐给该目标用户,从而能够实现双向选择的用户体验。
对应于上述SNS网络中好友推荐方法,本发明实施方式还提供一种SNS网络中好友推荐系统。图2是本发明实施例一的SNS网络中好友推荐系统的结构示意图,如图2所示,本实施例提供的所述SNS网络中好友推荐系统包括:提取单元201,适于对SNS网络中用户的头像图片进行人脸检测,并提取所述头像图片中的人脸区域以获得对应的人脸图片;评价单元202,与所述提取单元201相连,适于接收目标用户对于所述人脸图片的评价信息;建模单元203,与所述评价单元202相连,适于对具有所述评价信息的人脸图片进行训练,得到针对所述目标用户的外貌评测模型;第一评测单元204,与所述建模单元203相连,适于将候选好友的脸部图片输入所述外貌评测模型,以获得各个候选好友脸部图片的评测结果;第一推荐单元205,与所述第一评测单元204相连,根据各个候选好友脸部图片的评测结果向所述目标用户推荐好友。
具体实施时,所述目标用户对于所述人脸图片的评价信息为绝对评价信息或相对评价信息,所述绝对评价信息反映所述目标用户对于每张人脸图片偏好的绝对评分,所述相对评价信息反映所述目标用户对于所有人脸图片偏好的评价排序。
所述建模单元203以回归预测的方法训练得到所述外貌评测模型。
图3是本发明实施例二的SNS网络中好友推荐系统的结构示意图。
本实施例中,除了包括实施例一中的所有单元,还包括:放大处理单元206,与所述提取单元201和评价单元202相连,适于在接收目标用户对于人脸图片的评价信息之前,以人脸超像素技术对所述人脸图片进行放大处理;第一建立单元200,与所述提取单元201相连,适于按第一预设条件从SNS网络中获取并建立潜在好友头像推荐集,所述第一预设条件包括潜在好友的肤色、年龄和性别中的至少一种,所述头像图片从所述潜在好友头像推荐集中选取;第二建立单元207,与所述第一评测单元204相连,适于按第二预设条件从SNS网络中获取候选好友的头像图片并从中提取出脸部图片后建立候选好友脸部图片集,所述第二预设条件包括候选好友的肤色、年龄和性别中的至少一种,所述候选好友的脸部图片从所述候选好友脸部图片集中选取。
此外,本实施例中,所述SNS网络中好友推荐系统还包括:
第二评测单元(图中未示出),适于将所述目标用户的脸部图片输入其他用户对应的外貌评测模型,以获得其他用户对于所述目标用户的脸部图片的评测结果;
第二推荐单元(图中未示出),适于根据所述目标用户的脸部图片的评测结果,将其他对所述目标用户存在外貌偏好的用户作为好友推荐给该目标用户。
本实施例中,所述第一推荐单元205将各个候选好友脸部图片的评测结果与其他推荐指标结合,向所述目标用户推荐好友,所述其他推荐指标包括用户之间相匹配的个人信息,所述个人信息包括兴趣爱好、居住地、工作地点、职业、学历和毕业学校中的至少一种。
本实施例中所述SNS网络中好友推荐系统的具体实施可以参考上述SNS网络中好友推荐方法的实施,在此不再赘述。
本领域技术人员可以理解,实现上述实施例中SNS网络中好友推荐系统的全部或部分是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM、RAM、磁碟、光盘等。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。