一种表情推荐方法和装置与流程

文档序号:15170380发布日期:2018-08-14 17:54阅读:108来源:国知局

本申请涉及网络通信技术领域,尤其涉及一种表情推荐方法和装置。



背景技术:

互联网交流中,进行交互的表情是指用于帮助用户更为准确表达信息(如,情绪或者状态等)的表情图片。如,在即时通讯过程中,即时通讯的发送方用户可以将表情作为会话消息发送给接收方用户。

随着网络技术的发展,互联网平台中包含有表情的表情包的数量日益增多。为了能够使得用户及时发现可用的表情包,互联网平台会向互联网用户推荐表情包。目前,互联网平台一般会根据表情包的使用热度,优先向互联网用户推荐使用热度较高的表情包。然而不同表情包中所包含的表情会存在差异,而且不同用户所喜好的表情也会有所差异,因此,根据使用热度向用户所推荐表情包有可能并不适合该用户,使得向用户推荐的表情包不被用户关注,而适合用户的表情包又不能及时被用户发现,从而造成互联网平台中的表情包资源的浪费。



技术实现要素:

有鉴于此,本申请提供了一种表情推荐方法和装置,以更为合理的向用户推荐表情包,提高表情包资源的利用率,避免表情包资源的浪费。

为实现上述目的,一方面,本申请提供了一种表情推荐方法,包括:

接收用户通过终端发送的表情推荐请求,确定所述用户发送过的历史表情图片所归属的至少一个历史表情包;

获取所述历史表情包的表情特征;

获取可供推荐的多个待推荐表情包各自的表情特征;

对于任意一个历史表情包,依据所述待推荐表情包的表情特征以及所述历史表情包的表情特征,计算所述待推荐表情包与所述历史表情包的相似度;

根据所述待推荐表情包与所述历史表情包的相似度,确定所述多个待推荐表情包的推荐排序;

基于所述推荐排序,向所述终端推荐所述待推荐表情包。

另一方面,本申请实施例提供了一种表情推荐装置,包括:

历史查询单元,用于接收用户通过终端发送的表情推荐请求,确定所述用户发送过的历史表情图片所归属的至少一个历史表情包;

第一特征获取单元,用于获取所述历史表情包的表情特征;

第二特征获取单元,用于获取可供推荐的多个待推荐表情包各自的表情特征;

相似度计算单元,用于对于任意一个历史表情包,依据所述待推荐表情包的表情特征以及所述历史表情包的表情特征,计算所述待推荐表情包与所述历史表情包的相似度;

顺序确定单元,用于根据所述待推荐表情包与所述历史表情包的相似度,确定所述多个待推荐表情包的推荐排序;

表情推荐单元,用于基于所述推荐排序,向所述终端推荐所述待推荐表情包。

由以上内容可知,服务器在接收到用户通过终端发送的表情推荐请求之后,会根据用户发送过的历史表情图片所归属的历史表情包的表情特征,以及可供推荐的多个待推荐表情包各自的表情特征,确定出每个待推荐表情包与历史表情包的相似度,由于相似度可以反映出待推荐表情包与用户使用过的历史表情包的表情特征之间的相似程度,因此,根据该相似度确定出的该多个待推荐表情包的推荐顺序,可以更为合理的反映出该用户对待推荐表情包的感兴趣程度,从而有利于更为合理的向用户推荐表情包,也使得用户根据该推荐顺序能够及时定位到感兴趣的表情包,提高了表情包的利用率,降低了表情包的资源浪费。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开一种表情推荐系统一种可能的组成架构示意图;

图2为本申请一种表情推荐方法一个实施例的流程示意图;

图3为本申请实施例公开的获取表情图片的表情特征的一种实现流程示意图;

图4示出了利用卷积神经网络模型提取表情图片的表情特征的提取流程示意图;

图5为本申请公开的确定表情包的表情特征的一种实现方式的流程示意图;

图6为本申请公开的一种表情推荐方法在一种应用场景下的一种流程示意图;

图7a示出了本申请实施例中终端的即时通讯应用中包含表情推荐按键的一个界面示意图;

图7b示出了终端依据服务器推荐的表情包所呈现出的一种表情推荐界面示意图;

图8示出了本申请实施例的一种表情推荐装置一种组成结构示意图;

图9示出了本申请实施例公开的一种服务器的一种组成结构示意图。

具体实施方式

本申请实施例的表情推荐方法可以应用于互联网平台中的表情推荐,如,即时通讯应用中所涉及到的表情推荐,或者是论坛、微博等场景中所涉及到的表情推荐。

如图1,其示出了本申请一种表情推荐系统的一种组成架构示意图,该系统可以包括:服务平台10和至少一台终端11。

其中,该服务平台10可以包括至少一台服务器101。

可选的,为了提高服务平台处理表情推荐请求的处理效率,该服务平台可以包括由多台服务器101组成的服务器集群。

可以理解的是,服务平台中的表情包可以存储于服务器,也可以是存储于数据库中。可选的,在服务平台还可以包括数据库102,该数据库可以存储服务平台中的表情包,也可以是存储服务平台相关的其他数据。

该终端11用于向服务平台的服务器发送表情推荐请求;

相应的,该服务平台10的服务器101用于响应于该表情推荐请求,确定需要向该终端推荐的表情包列表,并将表情包列表返回给该终端。

在一种应用场景中,该终端可以为运行有需要进行表情交互的应用所在的客户端。例如,该终端可以为运行有即时通讯应用的客户端,相应的,服务平台可以为即时通讯的服务平台,而该服务器可以为提供即时通讯服务的服务器,或者是提供即时通讯中所涉及到的表情服务的服务器。

在又一种应用场景中,该终端可以为浏览器所在的客户端,在该种场景中,终端可以通过浏览器登录服务平台,以基于该服务平台与其他网络用户进行交流。例如,终端可以通过浏览器登录微博的服务平台,以浏览其他用户发布的微博内容,并可以对其他用户的微博内容进行评论,或者给其他用户留言等,而在对微博内容进行评论或者给其他用户进行留言的过程中,用户可以通过浏览器,在微博页面中评论栏或留言栏中选择服务平台所提供的表情,而这些表情可以是由服务平台推荐给该用户的。

当然,在实际应用中,需要服务平台的服务器向用户所在的终端推荐表情包的场景还可以有其他可能的情况,在此不加以限制。

可以理解的是,无论在何种场景中,该终端均可以为任意能够实现访问服务平台的设备,如,该终端可以为手机、平板电脑、台式电脑等等。

结合图1,参见图2,其示出了一种表情推荐方法一个实施例的流程示意图,本实施例的方法可以包括:

s201,用户通过终端登录服务器。

举例说明,用户可以通过终端的浏览器登录论坛的服务器,以访问服务器所提供的论坛页面;又如,用户可以即时通讯应用所在的终端登录即时通讯应用的服务器。

其中,该步骤s201为可选步骤,其目的仅仅是为了便于理解本申请实施例的具体流程,但是可以理解的是,用户通过终端登录服务器之后,后续如果需要通过终端向服务器发送表情推荐请求,则无需每次都重复登录该服务器。

s202,终端向服务器发送表情推荐请求,该表情推荐请求携带有该用户的标识。

其中,表情推荐请求用于向服务器请求推荐表情包。

该表情推荐请求可以是终端在检测到用户当前的操作满足向用户推荐表情的条件时,触发生成的。

如,终端检测到用户请求打开表情选择列表时,则可以将表情列表展现请求作为表情推荐请求发送给服务器。例如,用户点击论坛评论栏下方的表情按钮时,终端可以向服务器发送表情推荐请求,以在服务器返回推荐的表情之后,为用户展现可供用户选择输入的表情包以及表情包中的表情图片。

又如,终端检测到用户点击表情推荐选项或者请求进入表情推荐页面时,则可以生成表情推荐请求并发送给服务器。例如,在一些应用中设置有表情推荐商城或者表情推荐按钮,如果用户请求访问表情推荐商城或者点击表情推荐按钮,则终端可以向终端发送服务器,以便服务器返回包含推荐的表情包的表情商城页面等表情推荐页面。

为了便于服务器识别出需要请求推荐表情包的用户,该表情推荐请求可以携带有用户的用户名、账号或者电话号码等等标识。当然,在表情推荐请求中携带用户的标识,仅仅是一种便于服务器识别该用户的方式,在实际应用中,还可以是根据用户登录服务器时,服务器为用户分配的通信通道等来识别该表情推荐请求所对应的用户,当然,还可以有其他方式来确定发送该表情推荐请求的用户,在此不加以限制。

s203,服务器响应于该表情推荐请求,确定该用户发送过的历史表情集合。

其中,该历史表情集合包括至少一个历史表情图片。

s204,服务器确定该历史表情集合包括的至少一个历史表情图片所归属的至少一个历史表情包。

为了便于区分,本申请实施例中将该用户在当前时刻之前发送过的表情图片称为历史表情图片,相应的,将历史表情图片所归属的表情包称为历史表情包。

可以理解的是,一个表情包可以包括一个或多个表情图片,属于同一个表情包的表情图片之间具有一定的关联性,如,反映同一个主题内容。表情包中的表情图片可以是单帧的图像,如,表情图片中可以包含静态的图像内容;一个表情图片也可以是一个连续动画或者是一个短视频等,在此不加以限制。

s205,对于任意一个历史表情包,服务器获取该历史表情包中每个历史表情图片的表情特征。

其中,表情图片所具有的表情特征是从表情图片中提取出的用于反映该表情图片所呈现出的表情状态的特征。可以理解的是,每一个表情图片的表情特征都是一个向量,该向量的维数可以根据需要设定,如,表情特征是可以是1x4096维的向量。

在本申请实施例中,表情图片的表情特征可以是实时获取到的,也可以预先获取并存储的,如,历史表情包中每个历史表情图片的表情特征可以预先提取并存储到该服务器中或者数据库中。

可以理解的是,提取表情图片的表情特征可以是通过对表情图片进行图像特征的提取,并提取出可以反映该表情图片所包含的表情的特征。其中,提取表情图片的图片特征时,可以有多种特征提取方式,如,可以将表情图片输入到预置的特征提取模型,从而提取表情图片中的表情特征。为了便于理解,可以参见图3,其示出了本申请一种提取表情图片的表情特征的一种流程示意图,由图3可知:

在s301部分,加载预先训练好的卷积神经网络模型,如,可以加载vgg卷积神经网络模型;

在s302部分,将表情图片输入到该卷积神经网络模型,并获取该卷积神经网络模型所输出的该表情图片的表情特征。

其中,将表情图片输入到该卷积神经网络模型之后,表情图片在该卷积神经网络中做前馈传输,并依次经过卷积神经网络模型的卷积层和全连接层,如图4所示,卷积神经网络包括c1-c4的卷积层,以及fc6、fc7以及fc8对应的全连接层。由图4可见,一个“阿狸”的表情图片401被输入到卷积神经网络模型,会依次经过c1、c2、c3和c4所表示的卷积层,然后经过fc6和fc7的全连接层,并在经过全连接层fc7之后输出该表情图片401的图像特征,该图像特征就是该表情图片的表情特征。

需要说明的是,当预先提取该表情图片的表情特征的情况下,可以是由该服务器提取出该表情图片的表情特征之后,在该服务器或者数据库中存储该表情图片;也可以是该服务器之外的其他设备预先提取出该表情图片的表情特征,并传输给该服务器或者存储到数据库。

s206,服务器计算该历史表情包中所有历史表情图片的表情特征的平均值,并将该平均值作为该历史表情包的表情特征。

具体的,对于任意一个表情包而言,该表情包的表情特征可以表示为:

其中,xi是该表情包中一个表情图片i的表情特征,其中,xi是一个向量,n是该表情包中的表情图片的总数量。

相应的,基于如上公式一,结合历史表情包中各个历史表情图片的表情特征,可以计算得到该历史表情包的表情特征。

需要说明的是,确定表情包(在s206中为历史表情包)的表情特征时,可以是如步骤s205和s206所示的方式实时计算表情包的表情包特征;然而在实际应用中,为了进一步提高确定表情包的表情特征的效率,还可以是服务器预先计算并存储了各个表情包的表情特征,如,表情包的表情特征可以由服务器预先计算好,并存储在该服务器或者数据库中。这样,在需要确定某一个或多个表情包的表情特征时,可以对存储的多个表情包的表情特征进行查询,以获取该表情包的表情特征。

相应的,对于历史表情包而言,可以从存储该多个表情包的表情特征中,获取该历史表情包的表情特征。

s207,服务器将表情包列表中不属于历史表情包的表情包确定为可供推荐的多个待推荐表情包。

其中,表情包列表中包含了服务平台中所有可用的表情包。

通过该表情包列表可以确定出不属于历史表情包的表情包集合,并将表情包集合所包含的多个表情包作为待推荐表情包。

需要说明的是,通过表情包列表维护服务器(或者说该服务平台)中的表情包仅仅是一种实现方式,在实际应用中,服务器还可以以集合等其他方式来维护所有的表情包。

可以理解的是,将不属于历史表情包的表情包作为待推荐表情包仅仅是一种确定推荐表情包的方式,该种方式可以适应于向用户推荐该用户未使用过的且适合该用户的表情包,例如,用户使用表情包之前需要下载表情包,对于用户已经下载的表情包,则无需重复向用户推荐。

但是,在实际应用中,服务器还可以有其他确定多个可推荐的表情包的方式,如,服务器可以将服务器中所有的表情包(可以包含用户使用过的表情包)均作为待推荐表情包,该种方式可以适用于用户实时输入表情的场景,例如,用户使用表情包无需下载,而每次服务器向用户推荐了表情包之后,用户可以直接使用表情包中的表情图片进行网络交流。

s208,对于任意一个待推荐表情包,服务器获取该待推表情包中每个表情图片的表情特征。

s209,服务器计算该待推荐表情包中所有表情图片的表情特征的平均值,并将该平均值作为该待推荐表情包的表情特征。

步骤s208和步骤s209为服务器确定待推荐表情包的表情特征的过程,该过程可以参见前面步骤s205和步骤s206的相关介绍,在此不再赘述。

相应的,本申请实施例是为了便于理解,以服务器实时计算该待推荐表情包的表情特征为例进行介绍,但是可以理解的是,服务器可以从预先存储的各个表情包的表情特征中,查询该待推荐表情包的表情特征,以直接获取到待推荐表情包的表情特征。

s210,对于每一个历史表情包,服务器分别根据每个待推荐表情包的表情特征,以及该历史表情包的表情特征,计算每个待推荐表情包与该历史表情包的相似度。

也就是说,对于任意一个待推荐表情包,需要分别计算该待推荐表情包与每个历史表情包的相似度。

举例说明,假设用户发送的5个历史表情图片,而这5个历史表情图片归属于3个历史表情包,分别为历史表情包a、历史表情包b以及历史表情包c;而可推荐的待推荐表情包为20个,则,需要分别计算这20个待推荐表情包中每个待推荐表情包与历史表情包a的相似度,相应的,分别计算这20个待推荐表情包中每个待推荐表情包与历史表情包b的相似度,分别计算这20个待推荐表情包中每个待推荐表情包与历史表情包c的相似度。

可以理解的是,依据待推荐表情包以及历史表情包各自的表情特征,计算该这两个表情包的相似度的方式可以有多种情况,如,可以计算待推荐表情包的表情特征与该历史表情包的表情特征之间的余弦相似度,从而得到待推荐表情包与历史表情包的相似度。当然,可以通过计算待推荐表情包的表情特征与历史表情包的表情特征之间的欧式距离,曼哈顿距离等,来得到待推荐表情包与历史表情包的相似度,在此不加以限制。

s211,对于任意一个待推荐表情包,服务器根据该待推荐表情包与每个历史表情包的相似度,计算该待推荐表情包与该至少一个历史表情包的综合相似度评分。

其中,该综合相似度评分相当于根据待推荐表情包每个历史表情包的相似度,确定出的表征该待推荐表情包与所有历史表情包的相似程度的评分。

可以理解的是,根据待推荐表情包与每个历史表情包的相似度,计算该待推荐表情包与所有表情包的综合相似度评分的实现方式可以有多种:

如,在一种实现方式中,可以将该待推荐表情包与每个历史表情包的相似度进行求和,将求和结果作为该待推荐表情包与该至少一个表情包的综合相似度评分。举例说明,历史表情包包括:历史表情包a、历史表情包b以及历史表情包c,而对于任意一个待推荐表情包mi的综合相似度评分score(mi)可以表示如下:

score(mi)=sim(a,mi)+sim(b,mi)+sim(c,mi)(公式二);

其中,sim(a,mi)为待推荐表情包mi与历史表情包a的相似度;sim(b,mi)为待推荐表情包mi与历史表情包b的相似度;sim(c,mi)为待推荐表情包mi与历史表情包c的相似度。

又如,在另一种实现方式中,可以依据待推荐表情包与每个历史表情包的相似度,计算该待推荐表情包与所有历史表情包的相似度的平均值,并将计算出的该平均值作为该待推荐表情包的综合相似度评分。仍以上面的公式二为例,可以将score(mi)的值除以历史表情包的总数量3,得到相似度平均值,并将该相似度平均值作为综合相似度评分。

又如,在另一种实现方式中,可以先确定该用户使用历史表情包的总次数,即,该历史表情包中所有历史表情图片被该用户发送过的次数的总和,然后,根据各个历史表情包被使用的总次数,确定各个历史表情包的权重;然后,对于任意一个待推荐表情包,可以将该待推荐表情包与各个历史表情包的相似度与相应的历史表情包的权重进行加权求和,得到的求和结果可以确定为该待推荐表情的相似度综合评分。仍以历史表情包包括历史表情包a、b和c为例,则待推荐表情包mi的综合相似度评分score(mi)可以表示如下:

score(mi)=qasim(a,mi)+qbsim(b,mi)+qcsim(c,mi)(公式三);

其中,sim(a,mi)、sim(b,mi)、sim(c,mi)为分别为待推荐表情包mi与历史表情包a、历史表情包b以及历史表情包c的相似度;qa、qb、qc分别为历史表情包a、历史表情包b以及历史表情包c的权重。

当然,还可以有其他方式确定待推荐表情包的综合相似度评分,在此不加以限制。

s212,服务器依据该综合相似度评分从高到低的排序,确定该多个待推荐表情包的推荐排序。

如,按照待推荐表情包的综合相似度评分从高到底的排序,对该多个待推荐表情包进行排序之后,可以将得到的排序确定为推荐排序。

需要说明的是,在本申请实施例中,步骤s211和步骤s212为可选步骤,其仅仅是一种确定待推荐表情包的推荐排序的一种方式。在实际应用中,在服务器确定出该待推荐表情包与该历史表情包的相似度,也可以直接根据该待推荐表情包与历史表情包的相似度,确定该多个待推荐表情包的推荐排序。

如,设定不同历史表情包的优先级别,例如,历史表情包被该用户使用的总次数越高,该历史表情包的优先级别越高,然后按照优先级别以及相似度,综合来待推荐表情包进行推荐排序。

举例说明,假设历史表情包包括历史表情包a和b,待推荐表情包包括6个,即待推荐表情包1、待推荐表情包2……待推荐表情包6。假设这6个待推荐表情包与该历史表情包a的相似度从高到低的排序可以依次为:待推荐表情包6、待推荐表情包4、待推荐表情包3、待推荐表情包1、待推荐表情包5、待推荐表情包2;这6个待推荐表情包与该历史表情包a的相似度从高到低的排序可以依次为:待推荐表情包5、待推荐表情包2、待推荐表情包1、待推荐表情包6、待推荐表情包3、待推荐表情包4。

同时,假设历史表情包a的优先级别高,而历史表情包b的优先级别低,则可以将这6个待推荐表情包与历史表情包a的相似度从高到底的排序,确定为这6个待推荐表情包的推荐排序。或者是,先与历史表情包a相似度最高的待推荐表情包6排在推荐排序的第一位,然后,从未被排序的待推荐表情包中,确定与历史表情包b相似度最高的待推荐表情包,即待推荐表情包5排在推荐排序的第二位;然后从未被排序的待推荐表情包中,确定与历史表情包a相似度最高的待推荐表情包,即待推荐表情包4排在推荐排序的第三位,依次类推,可以得到推荐排序为:待推荐表情包6、待推荐表情包5、待推荐表情包4、待推荐表情包2、待推荐表情包3、待推荐表情包1。

s213,服务器基于该推荐排序,向终端推荐待推荐表情包。

可以理解的是,服务器按照该推荐列表项终端推荐表情包可以是:将该多个待推荐表情包的推荐排序发送给终端,以在终端上依次呈现出各个待推荐表情包的标识。

可选的,考虑到服务器中除了历史表情包之外的可推荐的表情包的数量可能会较多,为了减少数据传输量,并能够更为合理的向用户推荐表情包,可以按照该推荐排序,从该多个待推荐表情包中,选取出推荐排序靠前的预设数量个目标表情包;然后,按照该预设数量个目标表情包对应的推荐排序,将该预设数量个目标表情包推荐给该终端。其中,该预设数量可以根据需要设定,如该预设数量可以为20个,或者30个等等。

可选的,在服务器向终端推荐预设数量个表情包的情况下,为了减少数据计算量,服务器无需计算出所有待推荐表情包的综合相似度评分,相应的,在步骤s210计算出待推荐表情包与每个历史表情包的相似度之后,针对每一个历史表情包,可以选取出于该历史表情包的相似度最高的目标数量个待推荐表情包,然后再分别计算选取出的每个待推荐表情包的综合相似度评分。

举例说明,假设历史表情包包括:历史表情包a,bc,服务器可以从可推荐的所有表情包中,选取出与历史表情包a的相似度最高n个表情包分别为a1,a2,a3...an;与表情包b的余弦相似度最高的n个表情包分别为b1,b2,b3...bn;与表情包c的相似度最高的n个表情包分别为c1,c2,c3...cn,其中,n为预先设定的目标数量,n的取值可以根据需要设定,如,n的取值可以与预设数量相同,也可以大于该预设数量;然后服务器可以仅仅计算选取出的这些表情包对应的综合相似度评分,并根据选取出的待推荐表情包的综合相似度评分,对选取出的待推荐表情包进行推荐排序,并最终选取出排序靠前的预设数量个待推荐表情包推荐给终端。

需要说明的是,在图2实施例中,步骤s206仅仅是根据表情包中的表情图片所具有的表情特征,确定该表情包的表情特征的一种实现方式。在实际应用中,基于表情包中表情图片所具有的表情特征确定表情包的表情特征的方式还可以有多种,如,参见图5,其示出了又一种确定表情包的表情特征的实现方式流程图,由图5可知,该流程可以包括:

s501,获取表情包中每个表情图片被发送的总发送次数。

其中,表情图片被发送的总发送次数是指该表情图片被网络中所有用户发送的次数的总和。

如,表情图片h被用户m1发送过10次,被用户m2发送过20次,被用户m3发送过5次,则表情图片h的总发送次数为35次。

s502,按照该表情包中表情图片的总发送次数从高到低的排序,选取出排序靠前的指定数量个表情图片。

其中,该指定数量可以根据需要设定,如,指定数量可以为5个。

s503,按照选取出的表情图片的总发送次数,确定选取出的表情图片的权重。

一般情况下,表情图片的总发送次数越多,该表情图片的权重也相应越大,具体可以根据需要设定。

s504,获取选取出的表情图片的表情特征。

获取表情图片的表情特征的方式可以参见前面实施例的相关介绍,在此不再赘述。

s505,依据选取出的表情图片各自的权重,对选取出的该指定数量个表情图片的表情特征进行加权求和,并加权求和的结果作为该表情包的表情特征。

可以理解的是,表情包中总发送次数较多的表情图片是用户更为关心的表情特征,因此,选取出总发送次数最多的指定数量个表情图片,并以选取出的表情图片的表情特征来确定表情包的表情特征,有利于更为合理的确定出表情包的表情特征。

需要说明的是,图5所示的确定表情包的表情特征的流程可以适用于服务器实时确定表情包的表情特征,也可以是由服务器预先执行图5所示的流程,以便预先得到各个表情包的表情特征并存储在服务器或数据库中。

为了便于理解本申请实施例,下面结合一种应用场景对本申请实施例的表情推荐方法进行介绍。以在即时通讯过程中,即时通讯服务器向即时通讯用户推荐表情包为例进行介绍。参见图6,其示出了本申请一种推荐表情包的方法应用于即时通讯应用场景下中的一种流程示意图,本实施例的方法可以包括:

s601,即时通讯的用户通过即时通讯客户端登录即时通讯的服务器;

s602,如果即时通讯客户端检测到用户点击即时通讯窗口的表情商城选项时,向服务器发送表情商城进入请求,该表情商城进入请求携带有该用户的标识;

如参见图7a,其示出了一种即时通讯窗口上所呈现出的表情选择界面的示意图,在该界面中如果用户点击用于触发推荐表情的“表情推荐按钮”701,则会触发即时通讯客户端向服务器发送表情商城进入请求。

当然,图7a仅仅是一种示例,在实际应用中,除了点击按键之外,还可以通过用户输入网址等其他方式来请求进入表情商城。

需要说明的是,本实施例是以表情推荐请求为表情商城进入请求为例进行介绍,但是可以理解的是,在不同应用场景下,终端发送的表情推荐请求可能会有所差异。

s603,服务器响应于该表情商城进入请求,依据该用户的标识,查询该用户发送过的历史表情集合,该历史表情集合中包括多个历史表情;

s604,服务器确定该历史表情集合包括的多个历史表情图片所归属的至少一个历史表情包;

s605,服务器将表情包列表中不属于历史表情包的多个表情包,确定为可供推荐的待推荐表情包;

s606,服务器根据存储的表情包的表情特征,查询历史表情包以及可推荐表情包的表情特征;

s607,对于每一个历史表情包,服务器分别根据每个待推荐表情包的表情特征以及该历史表情包的表情特征,计算每个待推荐表情包与该历史表情包的相似度;

s608,对于每一个历史表情包,服务器按照与该历史表情包的相似度从高到低的排序,选取出目标数量个待推荐表情包,得到多个选取出的待推荐表情包;

可以理解的是,针对每一个历史表情包可以选取出目标数量个待推荐表情包,而不同历史表情包所对应的待推荐表情包可能有部分重合,如,表情包l可能属于历史表情包a选取出的目标数量个待推荐表情包中的一个;同时,该表情包l还可能属于历史表情包b选取出的目标数量个待推荐表情包中的一个。

s609,对于任意一个选取出的待推荐表情包,服务器将该待推荐表情包与每个历史表情包的相似度进行求和,将求和结果作为该待推荐表情包的综合相似度评分;

s610,服务器依据该综合相似度评分从高到低的排序,确定选取出的多个待推荐表情包的推荐排序。

s611,服务器从该选取出的多个待推荐表情包中,确定出推荐排序靠前的预设数量个目标表情包;

s612,服务器将该预设数量个目标表情包对应的推荐排序发送给终端。

s613,终端按照该预设数量个目标表情包的推荐排序,在表情商城的页面中依次展现出该预设数量个目标表情包。

可选的,服务器将该目标表情包对应的推荐排序可以包括该目标表情包的标识以及该目标表情包的推荐排序的排序位等信息,相应的,终端所呈现出的表情商城的页面中可以依次展现出各个目标表情包的图标。如图7b,其示出了终端中呈现出的一种表情商城的界面示意图。由图7b可知,在表情商城中存在表情推荐栏,在该表情推荐栏中展现出了多个推荐出的表情包,如,表情包a、表情包b等等。

可选的,在本申请以上任意一个实施例中,为了能够能为合理的确定出与历史表情包相似程度较大的表情包作为可供推荐的表情包,且进一步减少服务器的计算量,服务器可以根据该服务器中多个表情包的表情特征,对该多个表情包进行聚类,以将表情特征相似的表情包聚类为一个类别。当然,聚类出多个类别之后,还可以为类别构建类别标签,以区分各个类别。

相应的,在确定该用户发送过的历史表情图片所归属的至少一个历史表情包之后,服务器可以从该多个类别中,确定该历史表情包所归属的类别;然后,从该历史表情包所归属的类别中,确定出可供推荐的多个待推荐表情包。如,将历史表情包所归属的类别中,该历史表情包之外的多个表情包作为可供推荐的多个待推荐表情包。

由于与历史表情包属于一个类别的表情包,与该历史表情包的表情特征的相似度较大,因此,将历史表情包所归属的类别中,该历史表情包之外的多个表情包作为可供推荐的多个待推荐表情包,可以在保证推荐出的表情包与该历史表情包具有较高相似度的前提下,减少待推荐表情包的数量,从而减少计算待推荐表情包与历史表情包的相似度以及进行推荐排序等所需耗费的数据计算量。

可以理解的是,在本申请实施例中,服务器中的各个表情包可以是由表情包的研发人员上传到该服务器中。在本申请实施例中,还可以基于表情包的表情特征,对所需上传的表情包与已存在的表情包进行相似度计算,以辅助审核并过滤掉抄袭的表情包。

具体的,在以上实施例中,服务器上存储的各个表情包可以通过如下方式得到:

如果接收到发布表情包的请求时,获取待发布的表情包;

分别提取所述待发布的表情包所包含的每个表情图片的表情特征;

根据所述待发布的表情包中表情图片的表情特征,确定所述待发布的表情包的表情特征;

存储的多个表情包的表情特征以及所述待发布的表情包的表情特征,分别计算待发布的表情包与存储的每个表情包之间的相似度;

如果存储的多个表情包中,不存在与所述待发布的表情包的相似度小于预设阈值的表情包,则发布所述待发布的表情包。

下面对本申请的一种表情推荐装置进行介绍。

参见图8,其示出了本申请一种表情推荐装置一个实施例的组成结构示意图,本实施例的装置可以包括:

历史查询单元801,用于接收用户通过终端发送的表情推荐请求,确定所述用户发送过的历史表情图片所归属的至少一个历史表情包;

第一特征获取单元802,用于获取所述历史表情包的表情特征;

第二特征获取单元803,用于获取可供推荐的多个待推荐表情包各自的表情特征;

相似度计算单元804,用于对于任意一个历史表情包,依据所述待推荐表情包的表情特征以及所述历史表情包的表情特征,计算所述待推荐表情包与所述历史表情包的相似度;

顺序确定单元805,用于根据所述待推荐表情包与所述历史表情包的相似度,确定所述多个待推荐表情包的推荐排序;

表情推荐单元806,用于基于所述推荐排序,向所述终端推荐所述待推荐表情包。

可选的,第一特征获取单元或第二特征获取单元中获取到的表情包的表情特征是根据表情包中的表情图片所具有的表情特征确定的,表情图片所具有的表情特征是从所述表情图片中提取出的用于反映所述表情图片所呈现出的表情状态的特征,所述表情包为所述历史表情包或者所述待推荐表情包。

可选的,所述第一特征单元或第二特征单元中所述表情包的表情特征具体通过如下方式得到:

获取表情包中每个表情图片的表情特征;

计算所述表情包中所有表情图片的表情特征的平均值,并将计算出的平均值作为所述表情包的表情特征。

可选的,所述第一特征获取单元具体为,用于从存储的多个表情包的表情特征中,获取所述历史表情包的表情特征;

所述第二特征获取单元具体为,用于从存储的多个表情包的表情特征中,获取可供推荐的多个待推荐表情包各自的表情特征。

可选的,所述顺序确定单元,包括:

综合评分子单元,用于对于任意一个待推荐表情包,根据所述待推荐表情包与每个所述历史表情包的相似度,计算所述待推荐表情包与所述至少一个历史表情包的综合相似度评分;

顺序确定子单元,用于依据所述综合相似度评分从高到低的排序,确定所述多个待推荐表情包的推荐排序。

可选的,综合评分子单元在根据所述待推荐表情包与每个所述历史表情包的相似度,计算所述待推荐表情包与所述至少一个历史表情包的综合相似度评分时具体用于,将所述待推荐表情包与每个所述历史表情包的相似度进行求和,将求和结果作为所述待推荐表情包与所述至少一个表情包的综合相似度评分。

可选的,表情推荐单元,包括:

推荐选取子单元,用于基于所述推荐排序,从所述多个待推荐表情包中,选取出排序靠前的预设数量个目标表情包;

顺序发送子单元,用于将所述预设数量个目标表情包对应的推荐排序发送给所述终端。

可选的,所述装置还可以包括:

表情类别确定单元,用于在所述历史查询单元确定所述用户发送过的历史表情图片所归属的至少一个历史表情包之后,从多个类别中,确定所述历史表情包所归属的类别,所述多个类别为根据服务器中各个表情包的表情特征,对所述各个表情包进行聚类得到的;

推荐包确定单元,用于从所述历史表情包所归属的类别中,确定出可供推荐的多个待推荐表情包。

可选的,所述装置还可以包括:

表情包获取单元,用于如果接收到发布表情包的请求时,获取待发布的表情包;

表情特征提取单元,用于分别提取所述待发布的表情包所包含的每个表情图片的表情特征;

包特征确定单元,用于根据所述待发布的表情包中表情图片的表情特征,确定所述待发布的表情包的表情特征;

包比对单元,用于存储的多个表情包的表情特征以及所述待发布的表情包的表情特征,分别计算待发布的表情包与存储的每个表情包之间的相似度;

包发布控制单元,用于如果存储的多个表情包中,不存在与所述待发布的表情包的相似度小于预设阈值的表情包,则发布所述待发布的表情包。

本发明实施例还提供了一种服务器,该服务器可以包括上述所述的任一种表情推荐装置。

图9示出了服务器的硬件结构框图,参照图9,服务器900可以包括:处理器901,通信接口902,存储器903和通信总线904;

其中处理器901、通信接口902、存储器903通过通信总线904完成相互间的通信;

可选的,通信接口902可以为通信模块的接口,如gsm模块的接口;

处理器901,用于执行程序;

存储器903,用于存放程序;

程序可以包括程序代码,所述程序代码包括计算机操作指令。

处理器901可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器903可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,程序可具体用于:

如果接收到登录服务器的用户通过终端发送的表情推荐请求,确定所述用户发送过的历史表情图片所归属的至少一个历史表情包;

获取所述历史表情包的表情特征;

获取可供推荐的多个待推荐表情包各自的表情特征;

对于任意一个历史表情包,依据所述待推荐表情包的表情特征以及所述历史表情包的表情特征,计算所述待推荐表情包与所述历史表情包的相似度;

根据所述待推荐表情包与所述历史表情包的相似度,确定所述多个待推荐表情包的推荐排序;

基于所述推荐排序,向所述终端推荐所述待推荐表情包。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1