首页> 中国专利> 一种用户筛选模型的训练、用户推送方法和相关装置

一种用户筛选模型的训练、用户推送方法和相关装置

摘要

本发明实施例提供了一种用户筛选模型的训练、用户推送方法和相关装置,该用户筛选模型的训练方法包括:确定生产多媒体数据的第一用户、消费多媒体数据的第二用户,在特征提取器中,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征,在聚类器中,使用第一用户特征对第一用户进行聚类,获得多个簇,在采样器中,使用第一用户特征从簇中采样第一用户,作为目标用户,计算用于评价目标用户的指标,以优化指标为目标,更新聚类器和/或采样器,特征提取器的更新和后续聚类器、采样器的更新不同步,能够通过低频率更新特征提取器,高频率更新聚类器、采样器的方式实现低计算量和高实时性要求的用户筛选模型。

著录项

  • 公开/公告号CN113190696A

    专利类型发明专利

  • 公开/公告日2021-07-30

    原文格式PDF

  • 申请/专利权人 百果园技术(新加坡)有限公司;

    申请/专利号CN202110518824.8

  • 发明设计人 王宝川;

    申请日2021-05-12

  • 分类号G06F16/435(20190101);G06F16/44(20190101);G06F16/45(20190101);

  • 代理机构11332 北京品源专利代理有限公司;

  • 代理人孟金喆

  • 地址 新加坡巴西班让路枫树商业城30号楼15层31A

  • 入库时间 2023-06-19 12:02:28

说明书

技术领域

本发明实施例涉及多媒体处理的技术领域,尤其涉及一种用户筛选模型的训练、用户推送方法和相关装置。

背景技术

随着科技的快速发展,尤其是移动通信网络与移动终端的广泛普及,网络上出现了多种多样的多媒体数据,许多用户可以随时随地生产多媒体数据,不同的厂商提供平台,一方面,收集一部分用户生产的多媒体数据,另一方面,通过不同的方式筛选优质的多媒体数据并推送至另一部分用户进行显示,降低另一部分用户获取优质多媒体数据的难度。

由于一个优质用户生产的多媒体数据具有质量的保证,因此,平台通常是通过特定的模型筛选一些优质的、生产多媒体数据的用户,将该用户推送至另一部分用户。

由于用户的数据更新较快,导致模型迭代较快,由于模型大多数都是整体的,因此,每次迭代更新时,模型大多都需要整体重新进行训练,耗费的时间、成本较高。

发明内容

本发明实施例提出了一种用户筛选模型的训练、用户推送方法,以解决筛选用户的模型整体重新进行训练,耗费的时间、成本较高的问题。

第一方面,本发明实施例提供了一种用户筛选模型的训练方法,所述用户筛选模型包括特征提取器、聚类器、采样器,所述方法包括:

确定生产多媒体数据的第一用户、消费所述多媒体数据的第二用户;

在所述特征提取器中,从所述第一用户的用户数据提取第一用户特征、从所述第二用户的用户数据中提取第二用户特征;

在所述聚类器中,使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

在所述采样器中,使用所述第二用户特征从所述簇中采样第一用户,作为目标用户;

计算用于评价所述目标用户的指标;

以优化所述指标为目标,更新所述聚类器和/或所述采样器。

第二方面,本发明实施例还提供了一种用户推送方法,其特征在于,包括:

当接收到客户端发送的请求时,加载用户筛选模型,所述用户筛选模型包括特征提取器、聚类器、采样器,第二用户登录于所述客户端;

在所述特征提取器中,从所述第一用户的用户数据提取第一用户特征、从所述第二用户的用户数据中提取第二用户特征;

在所述聚类器中,使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

在所述采样器中,使用所述第二用户特征从所述簇中采样第一用户,作为目标用户,所述目标用户满足预设的评价的指标;

将所述目标用户的信息推送至所述客户端进行显示。

第三方面,本发明实施例还提供了一种用户筛选模型的训练装置,所述用户筛选模型包括特征提取器、聚类器、采样器,所述装置包括:

用户确定模块,用于确定生产多媒体数据的第一用户、消费所述多媒体数据的第二用户;

特征提取模块,用于在所述特征提取器中,从所述第一用户的用户数据提取第一用户特征、从所述第二用户的用户数据中提取第二用户特征;

用户聚类模块,用于在所述聚类器中,使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

用户采样模块,用于在所述采样器中,使用所述第二用户特征从所述簇中采样第一用户,作为目标用户;

评价指标计算模块,用于计算用于评价所述目标用户的指标;

聚类采样更新模块,用于以优化所述指标为目标,更新所述聚类器和/或所述采样器。

第四方面,本发明实施例还提供了一种用户推送装置,包括:

用户筛选模型加载模型,用于当接收到客户端发送的请求时,加载用户筛选模型,所述用户筛选模型包括特征提取器、聚类器、采样器,第二用户登录于所述客户端;

特征提取模块,用于在所述特征提取器中,从所述第一用户的用户数据提取第一用户特征、从所述第二用户的用户数据中提取第二用户特征;

用户聚类模块,用于在所述聚类器中,使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

用户采样模块,用于在所述采样器中,使用所述第二用户特征从所述簇中采样第一用户,作为目标用户,所述目标用户满足预设的评价的指标;

用户信息推送模块,用于将所述目标用户的信息推送至所述客户端进行显示。

第五方面,本发明实施例还提供了一种计算机设备,包括:

特征提取器,用于从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征;所述第一用户用于生产多媒体数据,所述第二用户用于消费所述多媒体数据;

聚类器,用于使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

采样器,用于使用所述第二用户特征从所述簇中采样第一用户,作为目标用户,所述目标用户满足预设的评价的指标。

第六方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的用户筛选模型的训练或者如第二方面所述的用户推送方法。

第七方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的用户筛选模型的训练或者如第二方面所述的用户推送方法。

在本实施例中,确定生产多媒体数据的第一用户、消费多媒体数据的第二用户,在特征提取器中,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征,在聚类器中,使用第一用户特征对第一用户进行聚类,获得多个簇,在采样器中,使用第一用户特征从簇中采样第一用户,作为目标用户,计算用于评价目标用户的指标,以优化指标为目标,更新聚类器和/或采样器,特征提取器、聚类器、采样器相互分离,使得特征提取器、聚类器、采样器可以分离进行训练、更新,因此,特征提取器可以直接从现成的模型中迁移,通过与其他模型共享来减少计算量,同时,特征提取器的更新和后续聚类器、采样器的更新不同步,能够通过低频率更新特征提取器,高频率更新聚类器、采样器的方式实现低计算量和高实时性要求的用户筛选模型。

附图说明

图1为本发明实施例一提供的一种用户筛选模型的训练方法的流程图;

图2为本发明实施例一提供的一种用户筛选模型的结构示意图;

图3为本发明实施例二提供的一种用户筛选模型的训练方法的流程图;

图4是本发明实施例三提供的一种用户推送方法的流程图;

图5为本发明实施例四提供的一种用户筛选模型的训练装置的结构示意图;

图6为本发明实施例五提供的一种用户推送装置的结构示意图;

图7为本发明实施例六提供的一种计算机设备的结构示意图;

图8为本发明实施例七提供的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种用户筛选模型的训练方法的流程图,本实施例可适用于分离提取特征、聚类、采样构建用于筛选用户的模型的情况,该方法可以由用户筛选模型的训练装置来执行,该用户筛选模型的训练装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,具体包括如下步骤:

步骤101、确定生产多媒体数据的第一用户、消费多媒体数据的第二用户。

在多媒体平台上,通常存储大量的多媒体数据,形成多媒体库,这些多媒体数据的格式可以包括视频数据、音频数据、图像数据、文本数据,等等,其形式在不同的业务场景中有所不同,例如,直播节目、短视频、歌曲、漫画、有声小说、小说、新闻、文章,等等。

除了从版权方购买多媒体数据之外,在多媒体平台注册的用户可以使用移动终端、个人电脑等电子设备生产多媒体数据,将多媒体数据上传至多媒体平台。

对于不同的业务平台,生产多媒体数据的形式有所不同,例如,在直播的业务场景中,用户可以使用摄像机采集视频数据,对视频数据进行美颜、连麦等操作,从而生成直播节目,在短视频的业务场景中,用户可以使用摄像机采集视频数据,对视频数据进行美颜、剪辑、添加特效等操作,从而生成短视频,在新闻的业务场景中,用户可以使用键盘编辑文字、使用图像编辑工具编辑图片,并对文字、图片进行排版,从而生成新闻,等等。

多媒体平台在审核该多媒体数据合法之后,将该多媒体数据存储至多媒体库,并发布该多媒体数据,在多媒体平台注册的其他用户,可使用移动终端、个人电脑等电子设备消费该多媒体数据,例如,观看直播节目、短视频,收听歌曲、有声小说,阅读新闻、文章,等等。

如图2所示,为便于区分,生产多媒体数据的用户可称之为第一用户,消费多媒体数据的用户可称之为第二用户,对于某些多媒体平台,其注册的用户既可以生产多媒体数据、也可以消费多媒体数据,即该用户既是第一用户,也是第二用户,本实施例对此不加以限制。

一般情况下,该第一用户、第二用户均可以为自然人,也可以为团体、工作室、企事业单位,等等,本实施例对此不加以限制。

在不同的业务场景中,第一用户、第二用户的含义也有所不同,例如,在直播的业务场景中,第一用户为主播、第二用户为观众,在自媒体的业务场景中,第一用户为编辑、第二用户为读者,在音乐的业务场景中,第一用户为歌手、第二用户歌迷,等等。

在本实施例中,可以为多媒体平台训练用户筛选模型,该用户筛选模型可用于为消费多媒体数据的第二用户筛选生产多媒体数据的第一用户,从而将该第一用户的信息推送至该第二用户浏览,方便该第二用户关注其感兴趣的第一用户,和/或,消费该第一用户生产的多媒体数据。

其中,既可以以第二用户有正向行为的第一用户作为正样本训练用户筛选模型,也可以以第二用户有负向行为的第一用户作为负样本训练用户筛选模型,本实施例对此不加以限制。

进一步而言,如图2所示,该用户筛选模型可以为分离式的结构,包括特征提取器210、聚类器220、采样器230,即特征提取器210、聚类器220、采样器230为相互独立的模块,特征提取器210、聚类器220、采样器230均可以独立训练、更新,即特征提取器210、聚类器220、采样器230更新的频次可以相同、也可以不同。

特征提取器可以使用各种不同的神经网络生成,调整灵活,也可以使用现有的模型迁移使用,降低计算成本。

由于第一用户及其用户数据、第二用户及其用户数据是动态变化的,因此,用户筛选模型可以周期性更新,如5-7天更新一次,当更新用户筛选模型时,可以使用较低的频率更新编码器,使用较高的频率更新聚类器,甚至是仅更新采样器,从而减少更新的用户筛选模型的耗时、减少更新用户筛选模型的成本。

步骤102、在特征提取器中,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征。

在本实施例中,特征提取器可用于提取用户(第一用户、第二用户)的特征(即第一用户特征、第二用户特征),将用户(第一用户、第二用户)的特征(即第一用户特征、第二用户特征)映射到同一向量空间中,从而为聚类器提供规范格式(长度、不同位置的特征的含义等)的第一用户特征,为采样器提供规范的格式(长度、不同位置的特征的含义等)的第一用户特征、第二用户特征。

具体而言,特征提取器的结构可以包含一个或多个神经网络,例如,CNN(Convolutional Neural Network,卷积神经网络)、DNN(Deep Neural Networks,深度神经网络),等等。

在多媒体平台中,可存储有各个用户的用户数据,该用户数据可以为用户本身的属性数据,例如,ID(Identity document,身份标识)、国家、性别、年龄、语言,等等,也可以为用户的行为数据,例如,登录的总时长、每次登录的平均时长、登录的时间点、与其他用户的互动行为(如赠送虚拟礼物、点赞、发弹幕、评论等),等等,本实施例对此不加以限制。

一方面,将第一用户的用户数据输入至特征提取器中,特征提取器按照自身的逻辑对第一用户的用户数据进行处理,并输出特征,作为第一用户特征,另一方面,将第二用户的用户数据输入至特征提取器中,特征提取器按照自身的逻辑对第二用户的用户数据进行处理,并输出特征,作为第二用户特征。

需要说明的是,考虑到第一用户、第二用户在不同业务场景中的含义有所不同,因此,可以为第一用户训练一个特定的特征提取器、为第二用户训练一个特定的特征提取器,为第一用户训练的特征提取器、为第二用户训练的特征提取器可以全部结构不同,也可以部分结构不同、部分结构相同,从而将第一用户的用户数据输入为第一用户训练的特征提取器中提取第一用户特征、将第二用户的用户数据输入为第二用户训练的特征提取器中提取第二用户特征。

当然,第一用户、第二用户也可以共用一个特征提取器,即将该特征提取器生成多个实例,从而将第一用户的用户数据输入其中一个实例中提取第一用户特征、将第二用户的用户数据输入其他实例中提取第二用户特征,本实施例对此不加以限制。

在本发明的一个实施例中,如图2所示,特征提取器210包括编码器211、深度神经网络212,其中,编码器211用于将用户(第一用户、第二用户)的用户数据编码为向量(即第一用户向量、第二用户向量)、深度神经网络212用于从向量(即第一用户向量、第二用户向量)中提取更高层次的特征(即第一用户特征、第二用户特征)。

在本实施例中,步骤102包括如下步骤:

步骤1021、获取第一用户的用户数据、第二用户的用户数据。

若使用相似度训练特征提取器,为便于计算相似度,第一用户的用户数据的含义与第二用户的用户数据的含义相同。

在一个用户数据的示例中,如图2所示,第一用户的用户数据包括第一用户的用户ID、第一用户所属的国家、第一用户的性别,第二用户的用户数据包括第二用户关联的第一用户的用户ID、第二用户所属的国家、第二用户的性别,用户ID、国家、性别属于用户基础的属性数据,相对于行为数据,属性数据记录较为完整,获取的方式较为简便,相对于年龄、语言等扩展性的属性数据,基础的属性数据对于筛选用户的性能更好。

在一个构建用户数据的示例中,针对构建第二用户关联的第一用户的用户ID这个维度的用户数据,可以统计每个第二用户的行为数据,从而分别查询第一候选用户、第二候选用户,其中,第一候选用户为该第二用户产生正向行为的第一用户,第二候选用户为第二用户产生负向行为的第一用户。

在不同的业务场景中,正向行为、负向行为的定义有所不同,例如,对于直播的业务场景,正向行为包括关注、点赞、赠送虚拟礼物等,负向行为包括不关注、观看时间少、关闭推荐、扔鸡蛋等。

示例性地,对于直播、短视频等业务场景,第二候选用户包括如下至少一种:

第一用户未产生正向行为(如未关注)的第二用户。

在预设时间段(如30天)内、第一用户浏览多媒体数据的时间少于阈值(如10秒)的第二用户。

一方面,按照第二用户产生正向行为的时间、对第一候选用户进行排序,得到用户的序列(F

若排序完成,则对第一候选用户添加窗口,该窗口的长度为N(N为正整数)。

在滑动窗口的过程中,在窗口中分别取排序最前的第一候选用户、作为正例,取排序非最前的第一候选用户、在保持原有的排序顺序的情况下作为子序列。

另一方面,随机抽取第二候选用户、作为负例。

针对子序列、正例与负例,可以按照一定的组合方式组合子序列、正例与负例,并将子序列、正例与负例对应的用户ID设置为第二用户的用户数据。

以直播为例,观众关注的主播按照时间排序依次是1、2、3、4、5、6、7、9、10,观众并未关注的主播是甲、乙、丙、丁,观众30天内观看直播的时间少于10秒的主播是一、二、三、四,假设窗口是4,在滑动窗口时,窗口内的主播是1、2、3、4,抽取4作为正例,1、2、3为子序列,随机抽取甲、乙作为负例、随机抽取二、三作为负例,则该观众关联的主播用户为1、2、3|4|甲、乙、二、三。

当然,上述用户数据及其构建方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它用户数据及其构建方式,例如,如果使用其他方式训练特征提取器,第一用户的用户数据的含义与第二用户的用户数据的含义也可以不同,等等,本发明实施例对此不加以限制。另外,除了上述用户数据及其构建方式外,本领域技术人员还可以根据实际需要采用其它用户数据及其构建方式,本发明实施例对此也不加以限制。

步骤1022、在编码器中,分别将第一用户的用户数据编码为第一用户向量、将第二用户的用户数据编码为第二用户向量。

分别将第一用户的各个用户数据编码分别输入编码器中进行编码,将编码获得的向量Embedding拼接为第一用户向量V

分别将第二用户的各个用户数据编码分别输入编码器中进行编码,将编码获得的向量Embedding拼接为第二用户向量V

在一个示例中,如图2所示,若第一用户的用户数据包括用户ID、国家、性别,则在本示例中,在编码器211中,将多个第一用户的用户ID编码为多个第一候选向量Embedding241,将第一用户所属的国家编码为第二候选向量Embedding 242,将第一用户的性别编码为第三候选向量Embedding 243,按照一定的规范、将第一候选向量Embedding、第二候选向量Embedding与第三候选向量Embedding拼接得到第一用户向量。

若第二用户的用户数据包括多个与第二用户关联的第一用户的用户ID、国家、性别,则在本示例中,如图2所示,在编码器211中,分别将多个第二用户关联的第一用户的用户ID编码为多个第四候选向量Embedding 244,对多个第四候选向Embedding量进行平均池化操作(Average Pooling),得到第五候选向量Embedding 245,第四候选向量Embedding244与第五候选向量Embedding 245仍处在同一个向量空间中,将第二用户所属的国家编码为第六候选向量Embedding 246,将第二用户的性别编码为第七候选向量Embedding 247,按照一定的规范、将第五候选向量Embedding 245、第六候选向量Embedding 246与第七候选向量Embedding 247拼接得到第二用户向量。

步骤1023、在深度神经网络中,分别将第一用户向量映射为第一用户特征、将第二用户向量映射为第二用户特征。

在本实施例中,针对第一用户设置的深度神经网络与针对第二用户设置的深度神经网络可共享权值(又称权值复制)。

如图2所示,可以分别将第一用户的第一用户向量V

将第二用户的第二用户向量V

当然,上述特征提取器只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它特征提取器,可以保证第二用户与正样本的第一用户之间的相似度远大于第二用户与作为负样本的第一用户之间的相似度即可,本发明实施例对此不加以限制。另外,除了上述特征提取器外,本领域技术人员还可以根据实际需要采用其它特征提取器,本发明实施例对此也不加以限制。

步骤103、在聚类器中,使用第一用户特征对第一用户进行聚类,获得多个簇。

在本实施例中,聚类器可用于对第一用户进行聚类,得到多个簇,每个簇中具有多个相似的第一用户。

如图2所示,可以将第一用户的第一用户特征248输入到聚类器220中,聚类器220按照自身的逻辑进行聚类,从而输出多个簇。

聚类器所用的特征的来源灵活性高,可以采用与内容相关的特征,例如,第二用户生产的多媒体数据的特征,从而实现将内容纳入考虑的用户筛选模型,提高用户筛选模型的性能。

在本发明的一个实施例中,在聚类器中可应用K-Means算法,K-Means算法在处理大数据集的时候,可以保证较好的伸缩性,当簇近似高斯分布时,聚类效果较佳,并且,计算复杂度较低,适用于对生产多媒体数据的第一用户进行聚类,则在本实施例中,步骤103可以包括如下步骤:

步骤1031、设置指定数量的簇。

在本实施例中,可以使用随机、手肘法、Gap statistic(间隔统计)等方法设置簇的数量K,也可以由技术人员根据经验设置簇的数量K,本实施例对此不加以限制。

进一步而言,簇的数量K属于一个可调节的变量,调整簇的数量可以用于优化评价目标用户的指标。

步骤1032、针对每个第一用户,计算第一用户特征与所有中心点之间的距离。

在每一个簇中均具有中心点,该中心点位于第一用户特征V

针对每一个第一用户,可以计算该第一用户的第一用户特征与所有中心点之间的距离,如欧式距离等。

步骤1033、将第一用户划分至距离最小的簇中。

针对同一个第一用户,将该第一用户的各个距离进行比较,筛选出数值最小的距离,将该第一用户划分到数值最小的距离所对应的簇中。

步骤1034、判断目标值是否收敛;若是,则执行步骤1035,若否,则执行步骤1036。

针对聚类器,可以设置停止迭代的条件,当满足停止迭代的条件时,停止迭代、输出簇,当未满足停止迭代的条件时,进入下一次迭代。

在本实施例中,可以设置停止迭代的条件为目标值收敛,其中,各个第一用户的第一用户特征与各个簇的中心点之间差值的平方和,表示如下:

其中,J为目标值,x

目标值收敛是指最小化目标值,例如,目标值小于预设的阈值,或者,连续m(m为正整数)次代,该目标值的变化幅度均小于预设的阈值,等等,本实施例对此不加以限制。

步骤1035、确定簇聚类完成。

如果目标值收敛,则可以确定聚类完成,输出簇,从而得到第一用户到簇的映射关系。

步骤1036、在每个簇中,计算所有第一用户特征之间的平均值,作为新的中心点,返回执行步骤1032。

如果目标值收敛,则更新各个簇的中心点,中心点新的位置为计算所有第一用户特征之间的平均值。

当然,上述聚类器只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它聚类器,例如,DBSCAN(Density-Based Spatial Clustering of Applications withNoise,基于密度的聚类算法)、均值漂移聚类、高斯混合模型聚类,等等,本发明实施例对此不加以限制。另外,除了上述聚类器外,本领域技术人员还可以根据实际需要采用其它聚类器,本发明实施例对此也不加以限制。

步骤104、在采样器中,使用第二用户特征从簇中采样第一用户,作为目标用户。

在本实施例中,采样器可用于对第一用户进行采样,得到多个第二用户可能感兴趣的第一用户,为便于区分,该第一用户可称之为目标用户。

如图2所示,可以将第二用户的第二用户特征249输入到采样器230中,采样器230按照自身的逻辑在簇中进行采样,从而输出目标用户。

在本发明的一个实施例中,以第二用户为中心,在该中心邻域内的簇中采样第一用户,此方式称之为u2i,则在本实施例中,步骤104包括如下步骤:

步骤1041、确定与第二用户相邻的簇,作为第一目标簇。

对于每个第二用户的第二用户特征,计算到所有簇的中心点的距离(如欧氏距离),选择距离最近的多个簇,作为与第二用户相邻的簇,为便于区分,该与第二用户相邻的簇可记为第一目标簇。

进一步而言,该第一目标簇的数量为可调节的变量,初始可按照一定的方式计算数值,在更新采样器时,在初始的数值上进行调节,得到第一目标簇新的数量。

步骤1042、分别对每个第一目标簇分配第一目标值。

针对每个第一目标簇,可以按照第一目标簇的重要程度配置第一目标值,第一目标值为在第一目标簇中采样第一用户的数量上限。

其中,第二用户到第一目标簇的距离与第一目标值正相关,即,第二用户到第一目标簇的距离越大、第一目标值越大,反之,第二用户到第一目标簇的距离越小、第一目标值越小。

在一个示例中,可确定待采样的第一总数量,计算第二用户的第二用户特征与第一目标簇的中心点之间的距离(如欧式距离),从而确定第二用户到第一目标簇的距离。

对第二用户到第一目标簇的距离进行归一化,作为权重,针对每个第一目标簇,计算第一总数量与权重之间的第一乘积,作为第一目标值。

步骤1043、在每个第一目标簇中,分别基于质量值采样数量小于或等于第一目标值的第一用户,作为目标用户。

在本实施例中,可以统计第一用户的用户数据,得到用于控制质量的相关指标,通过一定的方式映射为质量值。

在每个第一目标簇中,在质量(以质量值表示)、数量(以第一目标值表示)的约束下,采样第一用户作为目标用户,其中,在每个第一目标簇中采样的目标用户的数量小于或等于该第一目标簇的第一目标值。

针对不同的业务场景,该质量值有所不同,例如,在直播的业务场景中,该质量值可以为被关注的观众用户的数量,观众用户的平均观看时长,新的观众用户的关注转换率,等等,在新闻的业务场景中,该质量值可以为被关注的观众用户的数量,文章的平均阅读量,文章转发分享的数量,等等。

在一种采样方式中,在每个第一目标簇中,可以按照质量值对第一用户进行降序排序,选择排序最高的、数量为第一目标值的第一用户,作为目标用户。

在另一种采样方式中,在每个第一目标簇中,可以按照质量值对第一用户进行降序排序,选择排序最高的、数量为第一目标值的第一用户,在这些第一用户中筛选质量值高于阈值的第一用户,作为目标用户,此时,已采样的第一用户的数量可能小于第一目标值,为了保证采样满足第一总数量的第一用户,可以将第一目标值剩余的名额留给下一个第一目标簇。

如果所有第一目标簇均已完成采样,已采样的第一用户的数量小于第一总数量,则可以在与第二用户相邻的其他簇中基于质量值采样第一用户,直至到达第一总数量。

进一步而言,该阈值为可调节的变量,初始可按照一定的方式计算数值,在更新采样器时,在初始的数值上进行调节,得到新的阈值。

在本发明的另一个实施例中,以第二用户偏好的第一用户为中心,在该中心邻域内的簇中采样第一用户,此方式称之为i2i,则在本实施例中,步骤104包括如下步骤:

步骤1044、确定第二用户偏好的第一用户所在的簇,作为第二目标簇。

在本实施例中,可以针对第二用户设置表示偏好的条件,统计第二用户针对第一用户触发的行为数据,如果该行为数据满足该偏好的条件,则可以认为该第二用户偏好该第一用户。

针对不同的业务场景,该偏好的条件有所不同,例如,在直播的业务场景中,该质量值可以为被关注的观众用户的数量,观众用户的平均观看时长,新的观众用户的关注转换率,等等,在新闻的业务场景中,该质量值可以为被关注的观众用户的数量,文章的平均阅读量,文章转发分享的数量,等等。

若筛选出第二用户偏好的第一用户,则可以依据簇到第一用户的映射关系,获知第二用户偏好的第一用户所在的簇,作为第二目标簇。

步骤1045、分别对每个第二目标簇分配第二目标值。

针对每个第二目标簇,可以按照第二目标簇的重要程度配置第一目标值,第二目标值为在第二目标簇中采样第一用户的数量上限。

其中,第二目标簇中包含第二用户偏好的第一用户的数量与第二目标值正相关,第二目标簇中包含第二用户偏好的第一用户的数量越多,第二目标值越大,反之,第二目标簇中包含第二用户偏好的第一用户的数量越少,第二目标值越小。

进一步而言,该第二目标值为可调节的变量,初始可按照一定的方式计算数值,在更新采样器时,在初始的数值上进行调节。

在一个计算初始数值的示例中,可确定待采样的第二总数量,统计第二用户针对第一用户触发的行为数据,使用该行为数据通过一定的方式计算第二用户偏好第一用户的程度,作为偏好值,例如,在直播的业务场景中,可以将第二用户观看第一用户主持的直播节目的时长、第二用户赠送给第一用户的虚拟礼物的价值、第二用户对第一用户的点赞的数量等行为数据,通过归一化之后组合映射为第二用户偏好第一用户的程度,作为偏好值。

对偏好值进行归一化,作为用户权重,在每个第二目标簇中,计算用户权重之和,作为簇权重,针对每个第二目标簇,计算第二总数量与簇权重之间的第二乘积,作为第二目标值。

步骤1046、在每个第二目标簇中,分别基于质量值采样数量小于或等于第二目标值的第一用户,作为目标用户。

在本实施例中,可以统计第一用户的用户数据,得到用于控制质量的相关指标,通过一定的方式映射为质量值。

在每个第二目标簇中,在质量(以质量值表示)、数量(以第一目标值表示)的约束下,采样第二用户作为目标用户。

在一种采样方式中,在每个第二目标簇中,可以按照质量值对第一用户进行降序排序,选择排序最高的、数量为第一目标值的第一用户,作为目标用户。

在另一种采样方式中,在每个第二目标簇中,可以按照质量值对第一用户进行降序排序,选择排序最高的、数量为第二目标值的第一用户,在这些第一用户中筛选质量值高于阈值的第一用户,作为目标用户,此时,第一用户的数量可能小于第二目标值,为了保证采样满足第二总数量的第一用户,可以将第二目标值剩余的名额留给下一个第二目标簇。

如果所有第二目标簇均已完成采样,已采样的第一用户的数量小于第二总数量,则可以在与第二用户相邻的其他簇中基于质量值采样第一用户,直至到达第二总数量。

进一步而言,该阈值为可调节的变量,初始可按照一定的方式计算数值,在更新采样器时,在初始的数值上进行调节,得到新的阈值。

在采样器中,无论是u2i,还是i2i,可以灵活调整用于计算质量值的指标,使得无需修改前期的体征提取器和聚类器,可以灵活地运用于不同的业务场景。

当然,上述采样器只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它采样器,本发明实施例对此不加以限制。另外,除了上述采样器外,本领域技术人员还可以根据实际需要采用其它采样器,本发明实施例对此也不加以限制。

步骤105、计算用于评价目标用户的指标。

如图2所示,在训练(Training)用户筛选模型的阶段,可以对用户筛选模型的效果进行评估,在本实施例中,用户筛选模型用于为第二用户筛选可能感兴趣的第一用户、作为目标用户,因此,该评估可以针对多个评价目标用户的各项指标进行。

需要说明的是,针对不同的业务场景,评估用户筛选模型的效果的尺度有所不同,在部分业务场景下,用户筛选模型的效果更加倾向准确率,在部分业务场景下,用户筛选模型的效果更加倾向正确率,等等,因此,在不同的业务场景下,评价目标用户的指标有所不同,本实施例对此不加限制。

在一个示例中,评价目标用户的指标包括如下的至少一种:

1、准确率

在直播等业务场景中,考虑到第二用户所登录的客户端中显示第一用户的信息的区域一般比较有限,因此,评估用户筛选模型的效果可以倾向准确率。

在本示例中,可统计第二用户偏好的目标用户的数量,计算数量与目标用户的数量之间的比值,作为评价目标用户的准确率的指标。

准确率Precision表示如下:

其中,R(u)为目标用户,U为目标用户的数量,P(u)为第二用户偏好的第一用户,U为第二用户偏好的第一用户的数量。

2、多样性

在直播等业务场景中,考虑到将同一类的第一用户的信息推送至第二用户,第二用户可可选性较少,对于第二用户的关注、订阅、支付等转化的效果存在一定影响,因此,评估用户筛选模型的效果可以倾向多样性。

在本示例中,针对目标用户所在的簇(即已采样第一用户的簇),计算簇之间的距离(以中心点之间的距离表征),如欧式距离(L2范数),对簇之间的距离计算平均值,将平均值乘以在簇中的目标用户的数量,获得分散度,计算分散度之间的和值,作为评价目标用户的多样性的指标。

多样性Diversity表示如下:

其中,C为目标用户所在的簇的集合,N(i)为在簇中目标用户的数量,N(C)指簇的数量,V(i)为第i个簇的中心点(向量),V(i)为第i个簇的中心点(向量),||V(i),V(j)||

3、质量

在直播等业务场景中,考虑到第一用户的能力有所不同,不同能力的第一用户对于第二用户的关注、订阅、支付等转化的效果存在一定影响,因此,评估用户筛选模型的效果可以倾向质量。

在本示例中,计算目标用户的质量值,计算目标用户的质量值的平均值,作为评价目标用户的质量的指标。

质量Quality表示如下:

其中,R为目标用户的数量,N(R)是目标用户,Q(i)指第i个目标用户的质量值。

当然,上述评价目标用户的指标只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它评价目标用户的指标,例如,召回率Recall、F值(F1-scores)、PR曲线、ROC曲线、KS曲线,等等,本发明实施例对此不加以限制。另外,除了上述评价目标用户的指标外,本领域技术人员还可以根据实际需要采用其它评价目标用户的指标,本发明实施例对此也不加以限制。

在直播、短视频等业务场景下,多使用以第二用户有正向行为的第一用户作为正样本进行训练,追求准确率为主,一般难以兼顾到多样性和质量等指标,而在本实施例中,既可以以第二用户有正向行为的第一用户作为正样本进行训练,也可以以第二用户有负向行为的第一用户作为负样本进行训练,除了准确率之外,还可以兼顾到多样性和质量等指标,最终能够将感兴趣的目标用户推送给第二用户、扩展第二用户的兴趣,同时又能保证内容的高质量。

步骤106、以优化指标为目标,更新聚类器和/或采样器。

在本实施例中,如图2所示,如果评价目标用户的指标并未到达预期的效果,则可以根据评价目标用户的指标,来调整聚类器220和/或采样器230中的参数,从而优化评价目标用户的指标,进入下一次迭代(即执行步骤102-步骤106)。

如果评价目标用户的指标到达预期的效果,则可以确定用户筛选模型训练完成,存储特征提取器210、聚类器220、采样器230的结构及特征提取器210、聚类器220、采样器230的参数。

一般情况下,多媒体平台中的技术人员可以观察指标,判断指标是否到达预期的效果,如果没有,则触发更新聚类器和/或采样器的操作,选定更新更新聚类器和/或采样器中的参数及其更新的幅度,进入下一次迭代。

当然,除了多媒体平台的技术人员触发更新聚类器和/或采样器的操作之外,也可以预先针对指标设置一个或多个条件,例如,某个指标是否大于某个阈值,某个指标是否在某个范围,多个指标加权求和之后是否小于某个阈值,等等,每个条件可映射聚类器和/或采样器中待更新的参数及其更新的幅度,若指标不满足某个条件,则可以确定该条件映射的聚类器和/或采样器中待更新的参数及其更新的幅度,以此更新聚类器和/或采样器,本实施例对此不加以限制。

在一个示例中,针对如下评价目标用户的指标,可以触发如下的至少更新的操作:

1、准确率

以提高评价目标用户的准确率的指标为目标,可执行如下至少一种更新操作:

1.1、在聚类器中增加簇的数量。

若聚类器使用K-Means算法,可按照一定的幅度增加簇的数量K的数值。

1.2、在采样器中增加第一目标簇的数量。

若采样器使用u2i,则可以增加第一目标簇的数量,第一目标簇为与第二用户相邻的簇。

1.3、在采样器中增加在第二目标簇中采样第一用户的数量

若采样器使用i2i,则可以增加在第二目标簇采样第一用户的数量,第二目标簇为第二用户偏好的第一用户所在的簇。

一般情况下,增加第二目标值最大的第二目标簇中采样第一用户的数量,可以减少在其他第二目标簇中采样第一用户的数量,从而保持第二总数量不变。

2、多样性

以增加评价目标用户的多样性的指标为目标,可执行如下至少一种更新操作:

2.1、在聚类器中增加簇的数量。

若聚类器使用K-Means算法,可按照一定的幅度增加簇的数量K的数值。

2.2、在采样器中增加第一目标簇的数量。

若采样器使用u2i,则可以增加第一目标簇的数量,第一目标簇为与第二用户相邻的簇。

2.3、在采样器中减少在第二目标簇中采样第一用户的数量

若采样器使用i2i,则可以减少在第二目标簇采样第一用户的数量,第二目标簇为第二用户偏好的第一用户所在的簇。

3、质量

以增加评价目标用户的质量的指标为目标,执行如下至少一种更新操作:

3.1、在采样器中新增阈值。

采样器无论是使用u2i还是使用i2i,在没有阈值的情况下,可以设置一个阈值,阈值用于过滤第一用户,即过滤质量值小于或等于阈值的第一用户,采样质量值大于该阈值的第一用户。

3.2、在采样器中提高阈值。

采样器无论是使用u2i还是使用i2i,在具有阈值的情况下,可以按照一定的幅度提高阈值的数值,阈值用于过滤第一用户,即过滤质量值小于或等于阈值的第一用户,采样质量值大于该阈值的第一用户。

当然,上述更新聚类器和/或采样器的操作只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它更新聚类器和/或采样器的操作,本发明实施例对此不加以限制。另外,除了上述更新聚类器和/或采样器的操作外,本领域技术人员还可以根据实际需要采用其它更新聚类器和/或采样器的操作,本发明实施例对此也不加以限制。

在本实施例中,确定生产多媒体数据的第一用户、消费多媒体数据的第二用户,在特征提取器中,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征,在聚类器中,使用第一用户特征对第一用户进行聚类,获得多个簇,在采样器中,使用第一用户特征从簇中采样第一用户,作为目标用户,计算用于评价目标用户的指标,以优化指标为目标,更新聚类器和/或采样器,特征提取器、聚类器、采样器相互分离,使得特征提取器、聚类器、采样器可以分离进行训练、更新,因此,特征提取器可以直接从现成的模型中迁移,通过与其他模型共享来减少计算量,同时,特征提取器的更新和后续聚类器、采样器的更新不同步,能够通过低频率更新特征提取器,高频率更新聚类器、采样器的方式实现低计算量和高实时性要求的用户筛选模型。

实施例二

图3为本发明实施例二提供的一种用户筛选模型的训练方法的流程图,本实施例以前述实施例为基础,进一步增加训练特征提取器的操作,该方法具体包括如下步骤:

步骤301、确定生产多媒体数据的第一用户、消费多媒体数据的第二用户。

步骤302、在特征提取器中,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征。

步骤303、计算第二用户特征分别与作为正样本的第一用户特征、作为负样本的第一用户特征之间的相似度。

如图2所示,在训练(Training)用户筛选模型的过程中,初始训练特征提取器,针对第二用户可以准备作为多个第一用户,部分第一用户为正样本、部分第一用户作为负样本。

其中,为提高训练特征提取器的效率,作为正样本的第一用户的第一用户特征的数量少于作为负样本的第一用户的第一用户特征的数量,例如,准备1份作为正样本的第一用户的第一用户特征、6份作为负样本的第一用户的第一用户特征。

通过点积等方式计算第二用户特征与作为正样本的第一用户特征之间的相似度,以及,通过点积等方式计算第二用户特征与作为负样本的第一用户特征之间的相似度。

步骤304、根据相似度计算损失值。

在本实施例中,如图2所示,将第一用户特征248与第二用户特征249之间的相似度代入预设的损失函数,在损失函数中,可以参考正样本、负样本的影响,计算损失值LOSS。

其中,损失值与正样本对应的相似度负相关、与负样本的相似度正相关,即第二用户特征与作为正样本的第一用户特征之间的相似度越大(第二用户与作为正样本的第一用户越相似)损失值LOSS越小,反之,第二用户特征与作为正样本的第一用户特征之间的相似度越小(第二用户与作为正样本的第一用户越不相似)损失值LOSS越大,以及,第二用户特征与作为负样本的第一用户特征之间的相似度越大(第二用户与作为负样本的第一用户越相似)损失值LOSS越大,反之,第二用户特征与作为负样本的第一用户特征之间的相似度越小(第二用户与作为负样本的第一用户越不相似)损失值LOSS越小。

在一种实施损失函数的方式中,可以将相似度代入预设的激活函数中,如Sigmoid函数(S型生长函数)、Tanh函数(双曲正切函数),ReLU函数(The Rectified Linear Unit),等等,对相似度进行激活。

以Sigmoid函数为例,激活相似度表示如下:

其中,p为激活之后的相似度,logits为激活之前的相似度。

若激活成功,则针对每个第一用户,基于相似度、正样本、负样本计算交叉熵,表示如下:

L=-[y*lnp+(1-y)ln(1-P)]

其中,L为交叉熵,y为标签label,正样本为1,负样本为0。

计算所有交叉熵之间的总和,作为损失值,在最小化损失值的过程中,可以最大化第二用户(以第二用户特征表示)与作为正样本的第一用户(以第一用户特征表示)之间的相似度,最小化第二用户与作为负样本的第一用户之间的相似度,这样子,第二用户偏好的第一用户在向量空间中与第二用户的距离更近,符合聚类的要求。

步骤305、根据损失值更新特征提取器。

在本实施例中,如图2所示,可以根据损失值LOSS、通过随机梯度下降、梯度下降等方式在特征提取器210反向传播、更新特征提取器210中的参数,包括深度神经网络212、编码器211中的参数,从而最小化损失值。

如果完成训练特征提取器,则可以应用已完成训练的特征提取器,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征,并更新聚类器和/或采样器。

步骤306、在聚类器中,使用第一用户特征对第一用户进行聚类,获得多个簇。

步骤307、在采样器中,使用第一用户特征从簇中采样第一用户,作为目标用户。

步骤308、计算用于评价目标用户的指标;

步骤309、以优化指标为目标,更新聚类器和/或采样器。

实施例三

图4为本发明实施例三提供的一种用户推送方法的流程图,本实施例可适用于分离提取特征、聚类、采样构建用于筛选用户的模型、从而为筛选用户的情况,该方法可以由用户推送装置来执行,该用户推送装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,具体包括如下步骤:

步骤401、当接收到客户端发送的请求时,加载用户筛选模型。

在多媒体平台中,存储有大量的多媒体数据,形成多媒体库,部分多媒体数据由第一用户生产,第二用户登录于客户端,客户端向多媒体平台发送请求,多媒体平台在接收到客户端的请求时,可以将用户筛选模型加载至内存,并应用其参数,等待筛选第二用户可能感兴趣的第一用户。

需要说明的是,客户端的请求可以由第一用户主动触发,例如,第二用户在客户端输入关键词并请求多媒体平台搜索与该关键词相关的第一用户,第二用户下拉已有的第一用户的列表请求多媒体平台刷新第一用户,等等,客户端的请求也可以并非第一用户主动触发,例如,客户端在显示主页时请求多媒体平台推送第二用户可能感兴趣的第一用户,客户端在当前多媒体数据结束播放前请求多媒体平台推送相关的第一用户,等等,本实施例对此不加以限制。

在本实施例中,用户筛选模型可以为分离式的结构,包括特征提取器、聚类器、采样器,该用户筛选模型可以应用本发明中任一用户筛选模型的训练方法训练。

步骤402、在特征提取器中,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征。

在具体实现中,如图2所示,可以每间隔预设的周期,离线调用特征提取器210,从第一用户的用户数据提取第一用户特征248、从第二用户的用户数据中提取第二用户特征249,并将第一用户特征248、第二用户特征249存储在数据库中,在服务(Sevring)时,从数据库读取第一用户特征248、第二用户特征249。

在本发明的一个实施例中,特征提取器包括编码器、深度神经网络,则在本实施例中,步骤402包括如下步骤:

步骤4021、获取第一用户的用户数据、第二用户的用户数据。

针对第一用户的用户数据,可查询第一候选用户、第二候选用户,第一候选用户为第二用户产生正向行为的第一用户,第二候选用户为第二用户产生负向行为的第一用户。

按照第二用户产生正向行为的时间、对第一候选用户进行排序,若排序完成,则对第一候选用户添加窗口。

在滑动窗口的过程中,在窗口中分别取排序最前的第一候选用户、作为正例,取排序非最前的第一候选用户为子序列。

随机抽取第二候选用户、作为负例;

将子序列、正例与负例对应的用户ID设置为第二用户的用户数据。

步骤4022、在编码器中,分别将第一用户的用户数据编码为第一用户向量、将第二用户的用户数据编码为第二用户向量。

在一个示例中,第一用户的用户数据包括用户ID、国家、性别,第二用户的用户数据包括多个与第二用户关联的第一用户的用户ID、国家、性别。

一方面,将第一用户的用户ID编码为第一候选向量,将第一用户所属的国家编码为第二候选向量,将第一用户的性别编码为第三候选向量,将第一候选向量、第二候选向量与第三候选向量拼接得到第一用户向量。

另一方面,分别将多个第二用户关联的第一用户的用户ID编码为多个第四候选向量,对多个第四候选向量进行平均池化操作,得到第五候选向量,将第二用户所属的国家编码为第六候选向量,将第二用户的性别编码为第七候选向量,将第五候选向量、第六候选向量与第七候选向量拼接得到第二用户向量。

步骤4023、在深度神经网络中,分别将第一用户向量映射为第一用户特征、将第二用户向量映射为第二用户特征。

步骤403、在聚类器中,使用第一用户特征对第一用户进行聚类,获得多个簇。

在具体实现中,如图2所示,可以每间隔预设的周期,离线调用聚类器220,使用第一用户特征对第一用户248进行聚类,获得多个簇,并将簇到第一用户的映射关系存储在数据库中,在在服务(Sevring)时,时,从数据库读取簇到第一用户的映射关系。

在本发明的一个实施例中,步骤403包括如下步骤:

步骤4031、设置指定数量的簇。

其中,簇具有中心点。

步骤4032、针对每个第一用户,计算第一用户特征与所有中心点之间的距离。

步骤4033、将第一用户划分至距离最小的簇中。

步骤4034、判断目标值是否收敛;若是,则执行步骤4035,若否,则执行步骤4036。

其中,目标值为各个第一用户特征与各个中心点之间差值的平方和。

步骤4035、确定簇聚类完成。

步骤4036、在每个簇中,计算所有第一用户特征之间的平均值,作为新的中心点,返回执行步骤4032。

步骤404、在采样器中,使用第一用户特征从簇中采样第一用户,作为目标用户。

在本实施例中,如图2所示,在服务(Sevring)时,可以将第二用户的第二用户特征249输入到采样器230中,采样器230按照自身的逻辑在簇中进行采样,从而输出目标用户。

由于在先训练用户筛选模型时,以多个评价目标用户的指标更新聚类器和/或采样器,因此,使用聚类器、采样器筛选的目标用户可满足多个评价的指标,例如,准确率、多样性、质量,等等。

在本发明的一个实施例中,步骤404包括如下步骤:

步骤4041、确定与第二用户相邻的簇,作为第一目标簇。

步骤4042、分别对每个第一目标簇分配第一目标值。

其中,第二用户到第一目标簇的距离与第一目标值正相关。

示例性地,确定待采样的第一总数量,确定第二用户到第一目标簇的距离,对第二用户到第一目标簇的距离进行归一化,作为权重,针对每个第一目标簇,计算第一总数量与权重之间的第一乘积,作为第一目标值。

步骤4043、在每个第一目标簇中,分别基于质量值采样数量小于或等于第一目标值的第一用户,作为目标用户。

在本发明的另一个实施例中,步骤404包括如下步骤:

步骤4044、确定第二用户偏好的第一用户所在的簇,作为第二目标簇。

步骤4045、分别对每个第二目标簇分配第二目标值。

其中,第二目标簇中包含第二用户偏好的第一用户的数量与第二目标值正相关。

示例性地,确定待采样的第二总数量,计算第二用户偏好第一用户的程度,作为偏好值,对偏好值进行归一化,作为用户权重,在每个第二目标簇中,计算用户权重之和,作为簇权重,针对每个第二目标簇,计算第二总数量与簇权重之间的第二乘积,作为第二目标值。

步骤4046、在每个第二目标簇中,分别基于质量值采样数量小于或等于第二目标值的第一用户,作为目标用户。

步骤405、将目标用户的信息推送至客户端进行显示。

若完成目标用户的采样,则可以对目标用户进行排序、去重(去除第二用户已浏览的目标用户)等处理,将目标用户的信息(如名称、头像等)发送至客户端,客户端按照顺序显示各个目标用户的信息,供第二用户浏览。

若第二用户发现感兴趣的的目标用户,则可以通过鼠标点击、触控点击等方式触发该目标用户的信息,客户端向多媒体平台请求该目标用户的页面,例如,目标用户正在主持直播节目的页面、聚合目标用户所发布的多媒体数据的页面,等等,加载该页面供第二用户进一步浏览。

在本发明实施例中,由于特征提取器、聚类器、采样器的应用与实施例一、二的应用基本相似,所以描述的比较简单,相关之处参见实施例一、二的部分说明即可,本发明实施例在此不加以详述。

在本实施例中,当接收到客户端发送的请求时,加载用户筛选模型,用户筛选模型包括特征提取器、聚类器、采样器,第二用户登录于客户端,在特征提取器中,从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征,在聚类器中,使用第一用户特征对第一用户进行聚类,获得多个簇,在采样器中,使用第一用户特征从簇中采样第一用户,作为目标用户,目标用户满足预设的评价的指标,将目标用户的信息推送至客户端进行显示,特征提取器、聚类器、采样器相互分离,使得特征提取器、聚类器、采样器可以分离进行训练、更新,因此,特征提取器可以直接从现成的模型中迁移,通过与其他模型共享来减少计算量,同时,特征提取器的更新和后续聚类器、采样器的更新不同步,能够通过低频率更新特征提取器,高频率更新聚类器、采样器的方式实现低计算量和高实时性要求的用户筛选模型。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例四

图5为本发明实施例四提供的一种用户筛选模型的训练装置的结构框图,用户筛选模型包括特征提取器、聚类器、采样器,该装置具体可以包括如下模块:

用户确定模块501,用于确定生产多媒体数据的第一用户、消费所述多媒体数据的第二用户;

特征提取模块502,用于在所述特征提取器中,从所述第一用户的用户数据提取第一用户特征、从所述第二用户的用户数据中提取第二用户特征;

用户聚类模块503,用于在所述聚类器中,使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

用户采样模块504,用于在所述采样器中,使用所述第二用户特征从所述簇中采样第一用户,作为目标用户;

评价指标计算模块505,用于计算用于评价所述目标用户的指标;

聚类采样更新模块506,用于以优化所述指标为目标,更新所述聚类器和/或所述采样器。

在本发明的一个实施例中,所述特征提取器包括编码器、深度神经网络;所述特征提取模块502包括:

用户数据获取模块,用于获取所述第一用户的用户数据、所述第二用户的用户数据;

用户向量编码模块,用于在所述编码器中,分别将所述第一用户的用户数据编码为第一用户向量、将所述第二用户的用户数据编码为第二用户向量;

用户向量映射模块,用于在所述深度神经网络中,分别将所述第一用户向量映射为第一用户特征、将所述第二用户向量映射为第二用户特征。

在本发明实施例的一个示例中,所述用户数据获取模块包括:

候选用户查询模块,用于查询第一候选用户、第二候选用户,所述第一候选用户为所述第二用户产生正向行为的所述第一用户,所述第二候选用户为所述第二用户产生负向行为的所述第一用户;

候选用户排序模块,用于按照所述第二用户产生正向行为的时间、对所述第一候选用户进行排序;

窗口添加模块,用于若排序完成,则对所述第一候选用户添加窗口;

第一用户抽取模块,用于在滑动所述窗口的过程中,在所述窗口中分别取排序最前的所述第一候选用户、作为正例,取排序非最前的所述第一候选用户为子序列;

第二用户抽取模块,用于随机抽取所述第二候选用户、作为负例;

ID设置模块,用于将所述子序列、所述正例与所述负例对应的用户ID设置为所述第二用户的用户数据。

在本发明实施例的一个示例中,所述第一用户的用户数据包括用户ID、国家、性别,所述第二用户的用户数据包括多个与所述第二用户关联的所述第一用户的用户ID、国家、性别;

所述用户向量编码模块包括:

第一候选向量编码模块,用于将所述第一用户的用户ID编码为第一候选向量;

第二候选向量编码模块,用于将所述第一用户所属的国家编码为第二候选向量;

第三候选向量编码模块,用于将所述第一用户的性别编码为第三候选向量;

第一用户向量拼接模块,用于将所述第一候选向量、所述第二候选向量与所述第三候选向量拼接得到第一用户向量;

第四候选向量编码模块,用于分别将多个所述第二用户关联的所述第一用户的用户ID编码为多个第四候选向量;

第五候选向量编码模块,用于对多个所述第四候选向量进行平均池化操作,得到第五候选向量;

第六候选向量编码模块,用于将所述第二用户所属的国家编码为第六候选向量;

第七候选向量编码模块,用于将所述第二用户的性别编码为第七候选向量;

第二用户向量拼接模块,用于将所述第五候选向量、所述第六候选向量与所述第七候选向量拼接得到第二用户向量。

在本发明的一个实施例中,还包括:

相似度计算模块,用于计算所述第二用户特征分别与作为正样本的所述第一用户特征、作为负样本的所述第一用户特征之间的相似度;

损失值计算模块,用于根据所述相似度计算损失值,所述损失值与所述正样本对应的相似度负相关、与所述负样本的相似度正相关;

特征提取器更新模块,用于根据所述损失值更新所述特征提取器。

在本发明的一个实施例中,所述损失值计算模块包括:

激活模块,用于对所述相似度进行激活;

交叉熵计算模块,用于若激活成功,则针对每个所述第一用户,基于所述相似度、所述正样本、所述负样本计算交叉熵;

交叉熵和计算模块,用于计算所有所述交叉熵之间的总和,作为损失值。

在本发明的一个实施例中,所述用户聚类模块503包括:

簇设置模块,用于设置指定数量的簇,所述簇具有中心点;

特征距离计算模块,用于针对每个第一用户,计算所述第一用户特征与所有所述中心点之间的距离;

用户划分模块,用于将所述第一用户划分至所述距离最小的所述簇中;

收敛判断模块,用于判断目标值是否收敛,所述目标值为各个所述第一用户特征与各个所述中心点之间差值的平方和;若是,则调用聚类完成确定模块,若否,则调用中心点更新模块;

聚类完成确定模块,用于确定所述簇聚类完成;

中心点更新模块,用于在每个所述簇中,计算所有所述第一用户特征之间的平均值,作为新的中心点,返回调用所述距离计算模块。

在本发明的一个实施例中,所述用户采样模块504包括:

第一目标簇确定模块,用于确定与所述第二用户相邻的簇,作为第一目标簇;

第一目标值分配模块,用于分别对每个所述第一目标簇分配第一目标值,所述第二用户到所述第一目标簇的距离与所述第一目标值正相关;

第一目标簇采样模块,用于在每个所述第一目标簇中,分别基于质量值采样数量小于或等于所述第一目标值的第一用户,作为目标用户。

在本发明的一个实施例中,所述第一目标值分配模块包括:

第一总数量确定模块,用于确定待采样的第一总数量;

第一用户距离计算模块,用于确定所述第二用户到所述第一目标簇的距离;

权重计算模块,用于对所述第二用户到所述第一目标簇的距离进行归一化,作为权重;

第一乘积计算模块,用于针对每个所述第一目标簇,计算所述第一总数量与所述权重之间的第一乘积,作为第一目标值。

在本发明的另一个实施例中,所述用户采样模块504包括:

第二目标簇确定模块,用于确定所述第二用户偏好的所述第一用户所在的簇,作为第二目标簇;

第二目标值分配模块,用于分别对每个所述第二目标簇分配第二目标值,所述第二目标簇中包含所述第二用户偏好的所述第一用户的数量与所述第二目标值正相关;

第二目标簇采样模块,用于在每个所述第二目标簇中,分别基于质量值采样数量小于或等于所述第二目标值的第一用户,作为目标用户。

在本发明的一个实施例中,所述第二目标值分配模块包括:

第二总数量确定模块,用于确定待采样的第二总数量;

偏好值计算模块,用于计算所述第二用户偏好所述第一用户的程度,作为偏好值;

用户权重计算模块,用于对所述偏好值进行归一化,作为用户权重;

簇权重计算模块,用于在每个所述第二目标簇中,计算所述用户权重之和,作为簇权重;

第二乘积计算模块,用于针对每个所述第二目标簇,计算所述第二总数量与所述簇权重之间的第二乘积,作为第二目标值。

在本发明的一个实施例中,所述评价指标计算模块505包括:

偏好数量偏好模块,用于统计所述第二用户偏好的所述目标用户的数量;

准确率指标计算模块,用于计算所述数量与所述目标用户的数量之间的比值,作为评价所述目标用户的准确率的指标;

和/或,

簇间距离计算模块,用于针对所述目标用户所在的簇,计算所述簇之间的距离;

平均值计算模块,用于对所述簇之间的距离计算平均值;

分散度计算模块,用于将所述平均值乘以在所述簇中的所述目标用户的数量,得到分散度;

多样性指标计算模块,用于计算所述分散度之间的和值,作为评价所述目标用户的多样性的指标;

和/或,

质量值计算模块,用于计算所述目标用户的质量值;

质量指标计算模块,用于计算所述目标用户的质量值的平均值,作为评价所述目标用户的质量的指标。

在本发明的一个实施例中,所述聚类采样更新模块506包括:

准确率更新模块,用于以提高评价所述目标用户的准确率的指标为目标,执行如下至少一种更新操作:

在所述聚类器中增加所述簇的数量;

在所述采样器中增加第一目标簇的数量,所述第一目标簇为与所述第二用户相邻的簇;

在所述采样器中增加在第二目标簇中采样所述第一用户的数量,所述第二目标簇为所述第二用户偏好的所述第一用户所在的簇;

和/或,

多样性更新模块,用于以增加评价所述目标用户的多样性的指标为目标,执行如下至少一种更新操作:

在所述聚类器中增加所述簇的数量;

在所述采样器中增加第一目标簇的数量,所述第一目标簇为与所述第二用户相邻的簇;

在所述采样器中减少在第二目标簇中采样所述第一用户的数量,所述第二目标簇为所述第二用户偏好的所述第一用户所在的簇;

和/或,

质量更新模块,用于以增加评价所述目标用户的质量的指标为目标,执行如下至少一种更新操作:

在所述采样器中新增阈值;

在所述采样器中提高阈值;

其中,所述阈值用于过滤所述第一用户。

本发明实施例所提供的用户筛选模型的训练装置可执行本发明任意实施例所提供的用户筛选模型的训练方法,具备执行方法相应的功能模块和有益效果。

实施例五

图6为本发明实施例五提供的一种用户推送装置的结构框图,具体可以包括如下模块:

用户筛选模型加载模型601,用于当接收到客户端发送的请求时,加载用户筛选模型,所述用户筛选模型包括特征提取器、聚类器、采样器,第二用户登录于所述客户端;

特征提取模块602,用于在所述特征提取器中,从所述第一用户的用户数据提取第一用户特征、从所述第二用户的用户数据中提取第二用户特征;

用户聚类模块603,用于在所述聚类器中,使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

用户采样模块604,用于在所述采样器中,使用所述第二用户特征从所述簇中采样第一用户,作为目标用户,所述目标用户满足预设的评价的指标;

用户信息推送模块605,用于将所述目标用户的信息推送至所述客户端进行显示。

本发明实施例所提供的用户推送装置可执行本发明任意实施例所提供的用户推送方法,具备执行方法相应的功能模块和有益效果。

实施例六

图7为本发明实施例六提供的一种计算机设备的结构框图,具体可以包括如下模块:

特征提取器701,用于从第一用户的用户数据提取第一用户特征、从第二用户的用户数据中提取第二用户特征;所述第一用户用于生产多媒体数据,所述第二用户用于消费所述多媒体数据;

聚类器702,用于使用所述第一用户特征对所述第一用户进行聚类,获得多个簇;

采样器703,用于使用所述第二用户特征从所述簇中采样第一用户,作为目标用户,所述目标用户满足预设的评价的指标。

在本发明的一个实施例中,所述特征提取器701包括:

编码器,用于分别将第一用户的用户数据编码为第一用户向量、将第二用户的用户数据编码为第二用户向量;

深度神经网络,用于分别将所述第一用户向量映射为第一用户特征、将所述第二用户向量映射为第二用户特征。

在本发明的一个实施例中,所述第二用户的用户数据包括子序列、正例与负例对应的用户ID;

所述正例为按照所述第二用户产生正向行为的时间、对第一候选用户进行排序之后,添加窗口,在所述窗口中排序最前的所述第一候选用户,所述子序列为所述窗口中排序非最前的所述第一候选用户;

所述负例为随机抽取的第二候选用户;

所述第一候选用户为所述第二用户产生正向行为的所述第一用户,所述第二候选用户为所述第二用户产生负向行为的所述第一用户。

在本发明的一个实施例中,所述第一用户的用户数据包括用户ID、国家、性别,所述第二用户的用户数据包括多个与所述第二用户关联的所述第一用户的用户ID、国家、性别;

所述编码器中还用于:

分别将所述第一用户的用户数据编码为第一用户向量、将所述第二用户的用户数据编码为第二用户向量,包括:

将所述第一用户的用户ID编码为第一候选向量;

将所述第一用户所属的国家编码为第二候选向量;

将所述第一用户的性别编码为第三候选向量;

将所述第一候选向量、所述第二候选向量与所述第三候选向量拼接得到第一用户向量;

分别将多个所述第二用户关联的所述第一用户的用户ID编码为多个第四候选向量;

对多个所述第四候选向量进行平均池化操作,得到第五候选向量;

将所述第二用户所属的国家编码为第六候选向量;

将所述第二用户的性别编码为第七候选向量;

将所述第五候选向量、所述第六候选向量与所述第七候选向量拼接得到第二用户向量。

在本发明的一个实施例中,所述聚类器702还用于:

设置指定数量的簇,所述簇具有中心点;

针对每个第一用户,计算所述第一用户特征与所有所述中心点之间的距离;

将所述第一用户划分至所述距离最小的所述簇中;

判断目标值是否收敛,所述目标值为各个所述第一用户特征与各个所述中心点之间差值的平方和;

若是,则确定所述簇聚类完成;

若否,则在每个所述簇中,计算所有所述第一用户特征之间的平均值,作为新的中心点,返回执行所述针对每个第一用户,计算所述第一用户特征与所有所述中心点之间的距离。

在本发明的一个实施例中,所述采样器703还用于:

确定与所述第二用户相邻的簇,作为第一目标簇;

分别对每个所述第一目标簇分配第一目标值,所述第二用户到所述第一目标簇的距离与所述第一目标值正相关;

在每个所述第一目标簇中,分别基于质量值采样数量小于或等于所述第一目标值的第一用户,作为目标用户。

在本发明实施例的一个示例中,所述采样器703还用于:

确定待采样的第一总数量;

确定所述第二用户到所述第一目标簇的距离;

对所述第二用户到所述第一目标簇的距离进行归一化,作为权重;

针对每个所述第一目标簇,计算所述第一总数量与所述权重之间的第一乘积,作为第一目标值。

在本发明的另一个实施例中,所述采样器703还用于:

确定所述第二用户偏好的所述第一用户所在的簇,作为第二目标簇;

分别对每个所述第二目标簇分配第二目标值,所述第二目标簇中包含所述第二用户偏好的所述第一用户的数量与所述第二目标值正相关;

在每个所述第二目标簇中,分别基于质量值采样数量小于或等于所述第二目标值的第一用户,作为目标用户。

在本发明实施例的一个示例中,所述采样器703还用于:

确定待采样的第二总数量;

计算所述第二用户偏好所述第一用户的程度,作为偏好值;

对所述偏好值进行归一化,作为用户权重;

在每个所述第二目标簇中,计算所述用户权重之和,作为簇权重;

针对每个所述第二目标簇,计算所述第二总数量与所述簇权重之间的第二乘积,作为第二目标值。

在具体实现中,所述指标包括如下的至少一种:

评价所述目标用户的准确率的指标;

评价所述目标用户的多样性的指标;

评价所述目标用户的质量的指标。

相应地,所述聚类器702中,所述簇的数量在增加时、用于提高评价所述目标用户的准确率的指标;

所述采样器703中,第一目标簇的数量在增加时、用于提高评价所述目标用户的准确率的指标,在第二目标簇中采样所述第一用户的数量在提高时、用于提高评价所述目标用户的准确率的指标,所述第一目标簇为与所述第二用户相邻的簇,所述第二目标簇为所述第二用户偏好的所述第一用户所在的簇;

和/或,

所述聚类器702中,所述簇的数量在增加时、增加评价所述目标用户的多样性的指标;

所述采样器703中,第一目标簇的数量在增加时、用于增加评价所述目标用户的多样性的指标为目标,在第二目标簇中采样所述第一用户的数量在减少时、用于增加评价所述目标用户的多样性的指标为目标,所述第一目标簇为与所述第二用户相邻的簇,所述第二目标簇为所述第二用户偏好的所述第一用户所在的簇;

和/或,

在所述采样器703中,

以增加评价所述目标用户的质量的指标为目标,执行如下至少一种更新操作:

阈值在新增或提高时、均用于增加评价所述目标用户的质量的指标;

其中,所述阈值用于过滤所述第一用户。

本发明实施例所提供的计算机设备可执行本发明任意实施例所提供的用户筛选模型的训练方法、用户推送方法,具备执行方法相应的功能模块和有益效果。

实施例七

图8为本发明实施例七提供的一种计算机设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图8显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的用户筛选模型的训练、用户推送方法。

实施例八

本发明实施例八还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述用户筛选模型的训练、用户推送方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号