一种推荐模型的构建方法、装置及设备
技术领域
本文件涉及计算机技术领域,尤其涉及一种推荐模型的构建方法、装置及设备。
背景技术
随着网络化进程的不断推进,以及各种产品和资讯内容等越来越丰富,如何在合适的场景下为用户推送合适的产品或资讯内容等信息成为上述产品或资讯内容等运营的难点和痛点。
为了能够在合适的场景下为用户推送合适的产品或资讯内容等信息,可以通过大数据和相关算法的个性化推荐方案实现,具体地,当获取到信息推荐的需求时,需要根据该需求或信息推荐的场景构建相应的模型,并为构建的模型与相应的外部***构建相应的链路,从而使得通过模型输出的结果可以提供给相应的外部***,以便进行后续处理。然而,基于大数据和相关算法的个性化推荐方案中,每次获取到信息推荐的需求时都需要重新构建相应的模型以及相应的链路,从而使得信息推荐方案的上线需要很长时间,并且构建的模型很难量产,而且,考虑到信息推荐的场景往往较多,而每次获取到新的信息推荐需求时需要重新构建相应的模型和链路,导致碎片化较严重,因此,亟需提供一种通用营销推荐模型框架,以此来提升模型的上线效率。
发明内容
本说明书实施例的目的是提供一种推荐模型的构建方法、装置及设备,以提供一种通用营销推荐模型框架,以此来提升模型的上线效率。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种推荐模型的构建方法,所述方法包括:
获取进行信息推荐的目标场景信息;
如果所述目标场景信息对应的场景包含于预定的场景集合,则获取所述场景集合对应的特征类别,并根据所述特征类别,获取所述目标场景信息对应的样本数据;
基于所述特征类别,对所述样本数据进行特征提取,得到所述样本数据对应的目标特征;
使用所述目标特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
可选地,所述特征类别包括用户特征类、推荐的信息对应的特征类和用户对推荐的信息的行为特征类中的一种或多种。
可选地,所述根据所述特征类别,获取所述目标场景信息对应的样本数据,包括:
根据所述特征类别,确定所述目标场景信息对应的推荐的信息中的数据埋点;
将基于所述数据埋点得到的数据作为所述目标场景信息对应的样本数据。
可选地,所述方法还包括:
根据所述目标特征中包含的特征类型,对所述目标特征进行相应的特征抽取处理,得到抽取的特征;
使用所述目标特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型,包括:
使用所述抽取的特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
可选地,所述根据所述目标特征中包含的特征类型,对所述目标特征进行相应的特征抽取处理,得到抽取的特征,包括:
如果所述目标特征中包括字符型特征,则对所述目标特征中的字符型特征进行离散化处理,得到第一特征,将所述第一特征作为所述抽取的特征;
如果所述目标特征中包括数值型特征,则对所述目标特征中的数值型特征进行分箱处理和归一化处理,得到第二特征,将所述第二特征作为所述抽取的特征;
如果所述目标特征中包括预先定义的特征,则对所述目标特征中预先定义的特征进行笛卡尔积交叉抽取处理,得到第三特征,将所述第三特征作为所述抽取的特征。
可选地,所述推荐模型为深度学习模型。
可选地,所述推荐模型为Wide&Deep模型、深度因子分解机DeepFM模型、注意因子分解机AFM模型或深度兴趣网络DIN模型。
可选地,所述使用所述目标特征对所述目标场景信息对应的推荐模型进行训练的过程中,所述方法还包括:
基于预定的单机NoteBook调试机制对所述推荐模型进行调试;和/或,
基于预定的Yarn分布式训练机制对所述推荐模型进行训练。
本说明书实施例提供的一种推荐模型的构建装置,所述装置包括:
场景信息获取模块,用于获取进行信息推荐的目标场景信息;
样本获取模块,用于如果所述目标场景信息对应的场景包含于预定的场景集合,则获取所述场景集合对应的特征类别,并根据所述特征类别,获取所述目标场景信息对应的样本数据;
特征提取模块,用于基于所述特征类别,对所述样本数据进行特征提取,得到所述样本数据对应的目标特征;
训练模块,用于使用所述目标特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
可选地,所述样本获取模块,包括:
数据埋点确定单元,用于根据所述特征类别,确定所述目标场景信息对应的推荐的信息中的数据埋点;
样本获取单元,用于将基于所述数据埋点得到的数据作为所述目标场景信息对应的样本数据。
可选地,所述装置还包括:
特征抽取模块,用于根据所述目标特征中包含的特征类型,对所述目标特征进行相应的特征抽取处理,得到抽取的特征;
所述训练模块,用于使用所述抽取的特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
可选地,所述特征抽取模块,包括:
第一特征抽取单元,用于如果所述目标特征中包括字符型特征,则对所述目标特征中的字符型特征进行离散化处理,得到第一特征,将所述第一特征作为所述抽取的特征;
第二特征抽取单元,用于如果所述目标特征中包括数值型特征,则对所述目标特征中的数值型特征进行分箱处理和归一化处理,得到第二特征,将所述第二特征作为所述抽取的特征;
第三特征抽取单元,用于如果所述目标特征中包括预先定义的特征,则对所述目标特征中预先定义的特征进行笛卡尔积交叉抽取处理,得到第三特征,将所述第三特征作为所述抽取的特征。
可选地,所述推荐模型为深度学习模型。
本说明书实施例提供的一种推荐模型的构建设备,所述推荐模型的构建设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取进行信息推荐的目标场景信息;
如果所述目标场景信息对应的场景包含于预定的场景集合,则获取所述场景集合对应的特征类别,并根据所述特征类别,获取所述目标场景信息对应的样本数据;
基于所述特征类别,对所述样本数据进行特征提取,得到所述样本数据对应的目标特征;
使用所述目标特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过获取进行信息推荐的目标场景信息,如果目标场景信息对应的场景包含于预定的场景集合,则根据预定的场景集合对应的特征类别,获取目标场景信息对应的样本数据,进而得到该样本数据对应的目标特征,使用目标特征对预定的场景集合对应的推荐模型进行训练,得到目标场景信息对应的信息推荐模型,这样,通过预先将预定的场景集合对应的特征、样本数据和推荐模型进行标准化处理,为预定的场景集合中的每一个场景(目标场景信息对应的场景)提供一种通用营销推荐模型框架,使得预定的场景集合中的每一个场景均可以复用同一套推荐模型的构建方式和流程,从而简化了推荐模型的构建流程,大大节约了模型的上线效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种推荐模型的构建方法实施例;
图2为本说明书一种信息推荐***的页面示意图;
图3为本说明书另一种推荐模型的构建方法实施例;
图4为本说明书一种推荐模型的构建装置实施例;
图5为本说明书一种推荐模型的构建设备实施例。
具体实施方式
本说明书实施例提供一种推荐模型的构建方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种推荐模型的构建方法,该方法的执行主体可以为服务器,其中,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某网站(如网络购物网站或购物应用等)的后台服务器,或者可以是某业务(如信息推荐业务等)的服务器等。该方法可以用于提供一种通用营销推荐模型框架,以此来提升模型的上线效率等处理中。该方法具体可以包括以下步骤:
在步骤S102中,获取进行信息推荐的目标场景信息。
其中,目标场景信息可以是需要进行信息推荐的任意场景的信息,如进行某产品(如保险产品或某商品等)推荐的场景的信息、进行某权益信息(如优惠券等)的推荐的场景信息、进行某内容(如某文档等)的推荐的场景信息或进行某营销活动(如某店铺周年庆活动等)的推荐的场景信息等。
在实施中,随着网络化进程的不断推进,以及各种产品和资讯内容等越来越丰富,如何在合适的场景下为用户推送合适的产品或资讯内容等信息成为上述产品或资讯内容等运营的难点和痛点。为了能够在合适的场景下为用户推送合适的产品或资讯内容等信息,可以通过人工规则的方式来为待推荐的信息选取相应的用户,然而,上述方式中,如何在海量的信息推荐的场景下做到待推荐信息与用户的精准匹配成为急需解决的重要问题,而在实际应用中,在海量的信息推荐的场景下通常是难以做到待推荐信息与用户的精准匹配。由于上述方式下通常存在上述问题,因此,基于大数据和相关算法的个性化推荐方案应运而生,上述基于大数据和相关算法的信息推荐方案相比于上述人工规则的信息推荐方案,可以带来更好的用户体验,而且,在业务效果(如点击率和转化率等)上也有了明显的提升,同时,运营效率也有了巨大提升。基于大数据和相关算法的个性化推荐方案,具体为:当获取到信息推荐的需求时,需要根据该需求或信息推荐的场景构建相应的模型,并为构建的模型与相应的外部***构建相应的链路,从而使得通过模型输出的结果可以提供给相应的外部***,以便进行后续处理。然而,基于大数据和相关算法的个性化推荐方案中,每次获取到信息推荐的需求时都需要重新构建相应的模型,以及将模型与外部***相连接的链路,而在构建相应的模型的过程中,模型迭代过程的周期长,每次都要重新开发相应的模型,从而使得信息推荐方案的上线需要很长时间,并且构建的模型很难量产,而且,模型构建的过程中会依赖技术人员的经验,常以人工规则为主。基于上述内容,考虑到信息推荐的场景往往较多,进而导致碎片化较严重,而每次获取到新的信息推荐需求时需要重新构建相应的模型和链路,使得信息推荐的成本较高,因此,亟需提供一种通用营销推荐模型框架,以此来提升模型的上线效率。本说明书实施例中提供一种能够提升模型上线效率的技术方案,具体可以包括以下内容:
当某商户或某产品的供应商等需要对某商品或资讯信息向用户推荐时,可以预先设置的信息推荐***,该信息推荐***可以为上述商户或供应商等提供信息推荐方案,并可以基于确定的信息推荐方案将设定的信息推荐给相应的用户,如图2所示,该信息推荐***可以包括信息推荐需求的输入框、确定按键和取消按键等,该商户或该供应商可以通过该信息推荐***发送该商户或该供应商等的信息推荐需求,该信息推荐需求中可以包括需要向用户推荐的信息、被推荐用户的属性信息(如被推荐用户的年龄、职业和性别等)和进行信息推荐的场景的信息(即目标场景信息)等。当服务器接收到上述信息推荐需求后,可以从中获取进行信息推荐的目标场景信息。
在步骤S104中,如果目标场景信息对应的场景包含于预定的场景集合,则获取预定的场景集合对应的特征类别,并根据该特征类别,获取目标场景信息对应的样本数据。
其中,预定的场景集合可以是预先设定的多个场景的集合,预定的场景集合中可以包括一个或多个场景,预定的场景集合可以包括产品推荐的场景、资讯类信息推荐的场景和权益信息的推荐场景等中的一个或多个场景。特征类别可以是某个或多个特征所对应的类别,例如用户特征类、资讯信息特征类等,具体可以根据实际情况设定,本说明书实施例对此不做限定。样本数据可以是用于构建进行信息推荐的模型的样本数据。
在实施中,为了能够提升模型上线效率,可以设置一套通用营销推荐模型框架,该通用营销推荐模型框架中可以包括一套样本数据、一套特征、一套模型和一套与外部***连接的链路等,上述通用营销推荐模型框架可以应用于多种不同的场景,即对于预定的场景集合中的某一个具体场景,可以基于上述一套样本数据、一套特征、一套模型和一套与外部***连接的链路等分别为该具体场景构建样本数据、特征、模型和链路等。针对一套特征,可以构建基于多种不同场景下的通用特征体系,可以包含用户特征、推荐的信息的特征和用户对推荐的信息的行为特征,其中,用户特征主要可以包括趋于静态的用户画像特征,用户画像特征可以从用户的个人信息中获取,例如,可以从用户的个人信息中的性别、年龄、爱好和职业等信息中提取相应的特征等,此外,由于用户画像特征是趋于静态的特征,因此,可以被多种不同类型的场景进行复用。推荐的信息的特征主要可以包含推荐的信息的基本信息类特征和推荐的信息对应的流量类特征,其中,推荐的信息的基本信息类特征可以包括推荐的信息的名称、所属的信息类别和内容等信息对应的特征,推荐的信息对应的流量类特征可以是用于表征用户对推荐的信息的感兴趣程度的特征,例如,用户点击推荐的信息对应的特征或用户未点击推荐的信息对应的特征等。用户对推荐的信息的行为特征主要可以是用户对推荐的信息的历史行为的相关特征,例如,用户点击推荐的信息对应的特征、用户浏览推荐的信息对应的特征等。上述构建通用特征体系的核心在于使得用户画像特征更加精准,同时,可以使得推荐的信息的特征和用户对推荐的信息的行为特征的结构标准化,易于新推荐的信息的拓展。
需要说明的是,用户特征除了可以包含上述趋于静态的用户画像特征外,还可以包括如用户所处的位置和用户所处位置的环境等对应的特征,具体可以根据实际情况设定,本说明书实施例对此不做限定。
针对一套样本,可以基于转化日志(可以是用于记录推荐的信息被点击或被浏览等的日志)和特征日志(可以是用于记录用户画像特征外的其它相关特征等的日志)等拼接而形成的训练样本集合,构建上述样本的核心在于上述日志对应的埋点的标准化,这样,就需要用户的终端设备能够在埋点处及时记录响应的日志内容,具体如,记录标准化的推荐的信息的标识、推荐的信息的样式(或类型等)和会话标识,同时,还需要在特征日志中记录相应的会话标识,并可以通过该会话标识来关联特征日志和转化日志进而形成训练样本集合,这样也可以保证线上特征和线下训练样本对应的特征的一致性。
基于上述内容,多个场景可以共同具有一套样本数据、特征、模型和与外部***连接的链路,而且,不同类型的场景对应的一套样本数据、特征、模型和与外部***连接的链路等可以不同,因此,当获取到进行信息推荐的目标场景信息后,可以确定目标场景信息对应的场景属于哪一类型的场景,进而确定使用哪一套样本数据、特征、模型和与外部***连接的链路,具体地,可以获取目标场景信息对应的场景,然后,可以将获取的场景与预先存储的具有一套样本数据、特征、模型和与外部***连接的链路等的场景进行比较,如果目标场景信息对应的场景包含于预定的场景集合中,则表明目标场景信息对应的场景可以使用预定的场景集合对应的一套样本数据、特征、模型和与外部***连接的链路,此时,可以获取预定的场景集合对应的一套特征,可以基于预定的场景集合对应的一套特征,确定预定的场景集合对应的特征类别。同时,可以获取预定的场景集合对应的一套样本数据,即可以基于预定的场景集合对应的特征类别,并根据预定的场景集合对应的一套样本数据中确定的转化日志和特征日志对应的埋点的设置方式和设置位置等设置相应的埋点,然后,可以将设置后的推荐的信息推荐给相应的用户,并可以通过上述埋点记录用户的相关行为以及用户的相关特征(如位置特征和环境特征等),最终可以生成转化日志和特征日志,并可以基于记录的会话标识关联相应的转化日志和特征日志,从而形成样本数据,该样本数据即可以为目标场景信息对应的样本数据。
在步骤S106中,基于上述特征类别,对上述样本数据进行特征提取,得到该样本数据对应的目标特征。
在实施中,通过上述步骤S104的处理得到目标场景信息对应的样本数据后,可以针对不同的特征类别分别对该样本数据进行特征提取,例如,针对用户特征类,可以预先设定其包含的一种或多种特征类型,然后,可以从该样本数据中提取用户特征类中包含的特征类型的特征等。通过上述方式得到的特征的集合即可以作为该样本数据对应的目标特征。其中,对该样本数据进行特征提取可以通过多种方式实现,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S108中,使用目标特征对上述场景集合对应的推荐模型进行训练,得到目标场景信息对应的信息推荐模型。
其中,推荐模型可以是基于预先设定的某一种或多种算法构建的模型,具体可以根据实际情况设定,本说明书实施例对此不做限定。相应的,信息推荐模型是推荐模型训练后得到的模型,因此,信息推荐模型与推荐模型所使用的算法相同。
在实施中,基于上述内容,由于预定的场景集合对应有一套样本数据、特征、模型和与外部***连接的链路,因此,目标场景信息对应的场景与预定的场景集合使用的是同一套模型,因此,可以使用上述步骤S106中提取的目标特征对预定的场景集合对应的推荐模型进行训练,从而得到训练后的推荐模型,并可以将训练后的推荐模型作为目标场景信息对应的信息推荐模型。
然后,还可以对目标场景信息对应的信息推荐模型进行准确性等验证,如果验证通过,则可以基于预定的场景集合对应的与外部***连接的链路,为目标场景信息对应的信息推荐模型构建与外部***连接的链路,从而为相应的商户或供应商等提供信息推荐的相关服务。如果验证未通过,则可以继续通过上述处理过程获取样本数据、特征等,并对该推荐模型进行训练,并对训练后的推荐模型进行验证,重复上述处理过程,直到训练后的推荐模型通过验证为止。
本说明书实施例提供一种推荐模型的构建方法,通过获取进行信息推荐的目标场景信息,如果目标场景信息对应的场景包含于预定的场景集合,则根据预定的场景集合对应的特征类别,获取目标场景信息对应的样本数据,进而得到该样本数据对应的目标特征,使用目标特征对预定的场景集合对应的推荐模型进行训练,得到目标场景信息对应的信息推荐模型,这样,通过预先将预定的场景集合对应的特征、样本数据和推荐模型进行标准化处理,为预定的场景集合中的每一个场景(目标场景信息对应的场景)提供一种通用营销推荐模型框架,使得预定的场景集合中的每一个场景均可以复用同一套推荐模型的构建方式和流程,从而简化了推荐模型的构建流程,大大节约了模型的上线效率。
实施例二
如图3所示,本说明书实施例提供一种推荐模型的构建方法,该方法的执行主体可以为服务器,其中,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某网站(如网络购物网站或购物应用等)的后台服务器,或者可以是某业务(如信息推荐业务等)的服务器等。该方法可以用于提供一种通用营销推荐模型框架,以此来提升模型的上线效率等处理中。该方法具体可以包括以下步骤:
在步骤S302中,获取进行信息推荐的目标场景信息。
在步骤S304中,如果目标场景信息对应的场景包含于预定的场景集合,则获取该场景集合对应的特征类别。
其中,场景可以根据某些预定方式被划分为不同的类型,一种类型的场景可以包括多个具体的场景,例如,权益信息类场景可以包括如优惠券推荐场景和奖品推荐场景等,场景的类型不同,其包含的场景也可以不同。不同类型的场景对应的特征类别可以不同,本实施例中特征类别可以包括用户特征类、推荐的信息对应的特征类和用户对推荐的信息的行为特征类中的一种或多种,用户特征类可以是用户特征对应的类别,用户特征主要可以包括趋于静态的用户画像特征,用户画像特征可以从用户的个人信息中获取,例如,可以从用户的个人信息中的性别、年龄、爱好和职业等信息中提取相应的特征等,此外,由于用户画像特征是趋于静态的特征,因此,可以被多种不同类型的场景进行复用。推荐的信息对应的特征类可以是推荐的信息的特征对应的类别,推荐的信息的特征主要可以包含推荐的信息的基本信息类特征和推荐的信息对应的流量类特征,推荐的信息的基本信息类特征可以包括推荐的信息的名称、所属的信息类别和内容等信息对应的特征,推荐的信息对应的流量类特征可以是用于表征用户对推荐的信息的感兴趣程度的特征,例如,用户点击推荐的信息对应的特征或用户未点击推荐的信息对应的特征等。用户对推荐的信息的行为特征主要可以是用户对推荐的信息的历史行为的相关特征,例如,用户点击推荐的信息对应的特征、用户浏览推荐的信息对应的特征等。
在步骤S306中,根据上述特征类别,确定目标场景信息对应的推荐的信息中的数据埋点。
在实施中,为了获取目标场景信息对应的模型,需要为该模型构建样本数据,为了获取样本数据可以在推荐的信息中设置相应的数据埋点,通过设置的数据埋点可以记录用户对推荐的信息进行的操作行为,此外,还可以基于上述确定的特征类别,在推荐的信息中设置相应的埋点,以得到该特征类别对应的特征。因此,可以基于确定的特征类别等,确定目标场景信息对应的推荐的信息中的数据埋点。
在步骤S308中,将基于上述数据埋点得到的数据,确定目标场景信息对应的样本数据。
在实施中,可以将设置有数据埋点的推荐的信息通过预先设定的方式发送给相应的用户,例如,可以将设置有数据埋点的推荐的信息发送给注册的所有用户,或者,可以将设置有数据埋点的推荐的信息发送给预先接受本次样本数据采集的用户,或者,还可以将设置有数据埋点的推荐的信息发送给指定的用户等。然后,可以判断推荐的信息中的数据埋点是否被触发,如果某数据埋点被触发,则可以将相应的数据记录在预定的日志(如转化日志或特征日志等)中,日志中记录的信息可以包括标准化的推荐的信息的标识、推荐的信息的样式(或类型等)和会话标识,同时,还需要在特征日志中记录相应的会话标识,可以基于记录的会话标识关联相应的转化日志和特征日志,从而形成样本数据,最终得到的样本数据即可以作为目标场景信息对应的样本数据。
在步骤S310中,基于上述特征类别,对上述样本数据进行特征提取,得到该样本数据对应的目标特征。
在步骤S312中,根据目标特征中包含的特征类型,对目标特征进行相应的特征抽取处理,得到抽取的特征。
在实施中,为了保证训练的模型的稳定性,并且考虑到如果推荐模型为深度学习模型,则字符型特征将无法进行直接学习,并且高阶特征无法充分提取,因此,需要对从样本数据中提取的目标特征进行特征ID化处理和特征衍生处理等,以进行特征抽取处理,使得用于训练模型的特征更加离散化。
上述步骤S312的具体处理可以多种多样,以下提供一种可选的处理方式,通常,常用的特征抽取处理是通过人工经验实现的,然而,通过人工经验的方式进行特征抽取处理会使得特征抽取的效率低下,为此,可以对特征抽取过程进行适当简化,可以基于全表统计和特征分箱,对不同的特征类型适配相应的特征算子,具体可以包括以下情况一~情况三。
情况一,如果目标特征中包括字符型特征,则对目标特征中的字符型特征进行离散化处理,得到第一特征,将第一特征作为抽取的特征。
其中,字符型特征可以是其中包含有字符的相关特征。
在实施中,考虑到通常字符与字符之间是相互关联的、连续的,为了保证训练的模型的稳定性,可以对目标特征中的字符型特征进行离散化处理,并从中抽取离散化处理后的特征,得到第一特征,可以将第一特征作为抽取的特征。
情况二,如果目标特征中包括数值型特征,则对目标特征中的数值型特征进行分箱处理和归一化处理,得到第二特征,将第二特征作为抽取的特征。
其中,数值型特征可以是其中包含数值的相关特征。
在实施中,如果目标特征中包括数值型特征,则对目标特征中的数值型特征进行分箱处理,即可以对目标特征中的数值型特征进行离散分箱或分段,其中,分箱方法可以包括多种,例如有监督分箱方法和无监督分箱方法等,其中,有监督分箱方法中还可以包括卡方分箱方法和最小熵法分箱方法等,无监督分箱方法中可以包括等距分箱方法还等频分享方法等,具体可以根据实际情况选取相应的分箱方法对目标特征中的数值型特征进行分箱处理。此外,还可以对目标特征中的数值型特征进行归一化处理,最终可以得到第二特征,并可以将第二特征作为抽取的特征。
情况三,如果目标特征中包括预先定义的特征,则对目标特征中预先定义的特征进行笛卡尔积交叉抽取处理,得到第三特征,将第三特征作为抽取的特征。
其中,预先定义的特征可以是某组织结构或个人根据实际需要而设定的特征等。
需要说明的是,可以通过SQL语句来实现特征抽取配置的自动化生成,从而可以大大提升特征抽取的效率。
在步骤S314中,使用抽取的特征对预定的场景集合对应的推荐模型进行训练,得到目标场景信息对应的信息推荐模型。
其中,推荐模型可以为深度学习模型,该推荐模型具体可以为Wide&Deep模型、DeepFM(Deep Factorization Machine,深度因子分解机)模型、AFM(AttentionalFactorization Machine,注意因子分解机)模型或DIN(Deep Interest Network,深度兴趣网络)模型等,具体可以根据实际情况选择相应的推荐模型。
需要说明的是,在使用抽取的特征对预定的场景集合对应的推荐模型进行训练的过程中或在使用目标特征对目标场景信息对应的推荐模型进行训练的过程中,可以通过下述方式对模型进行调试和/或训练,即基于预定的单机notebook调试机制对推荐模型进行调试,这样,可以利用jupyter notebook的交互优势调试推荐模型的网络结构,同时,还可以基于预定的yarn分布式训练机制对推荐模型进行训练,这样,可以利用分布式集群的计算能力实现大数据集的训练。在实际应用中,可以实现如tensorflow estimator(或开发基于keras的神经网络等)的封装,单个设备和分布式***可以使用同一套处理代码,同时对数据处理和模型评估模块进行封装,这样,可以使得算法工程师只需关注推荐模型的核心网络结构,大大简化了开发的复杂性。
之后,可以根据预定的场景集合对应的一套与外部***连接的链路,通过推荐模型的运营平台统一对接外部***,完成整理链路的串联和闭环,让算法工程师更加关注推荐流程本身。
信息推荐模型的部署可以通过基于模型预测平台(如C++编译版等)进行部署。为了提升部署效率,可以将模型开发平台和模型部署平台打通,模型开发平台生成的推荐模型和特征配置可以方便地用于信息推荐模型的部署。同时,通过模型开发平台上的如自定义SQL组件mock测试数据,也便于模型部署测试环节的效率提升。信息推荐主要在推荐平台上实现,推荐平台可以集成特征视图配置、召回配置、模型调用、特征查询、特征日志回流、AB实验等核心功能,基于预定的信息推荐架构,进行信息推荐流程的编排,这样,可以通过少量代码便能够搭建完整的推荐流程。其中,特征视图可以支持多个场景共用一套线上特征,复用性大大增强。对模型调用进行封装和优化,使得少量代码即可实现模型调用,并且可以在性能上进行并行优化。特征日志插件的引入,使得特征日志的回流更加顺畅,同时可以支持额外的特征的扩展。AB实验方面,可以自动关联推荐场景,通过实验方案中定义的配置字段进行实验控制,支持全流程的AB实验(可以包括召回、排序、重排等)。整体链路搭建完后,模型的线上迭代过程中只需要修改AB实验配置,从而达到高效便捷。召回链路在内容排序项目中,可以引入搜索引擎能力,搭建业务***->搜索引擎-召回平台->推荐平台->业务***的链路,储备多路实时召回的能力。
本说明书实施例提供一种推荐模型的构建方法,通过获取进行信息推荐的目标场景信息,如果目标场景信息对应的场景包含于预定的场景集合,则根据预定的场景集合对应的特征类别,获取目标场景信息对应的样本数据,进而得到该样本数据对应的目标特征,使用目标特征对预定的场景集合对应的推荐模型进行训练,得到目标场景信息对应的信息推荐模型,这样,通过预先将预定的场景集合对应的特征、样本数据和推荐模型进行标准化处理,为预定的场景集合中的每一个场景(目标场景信息对应的场景)提供一种通用营销推荐模型框架,使得预定的场景集合中的每一个场景均可以复用同一套推荐模型的构建方式和流程,从而简化了推荐模型的构建流程,大大节约了模型的上线效率。此外,在实际应用中,可以实现如tensorflow estimator(或开发基于keras的神经网络等)的封装,单个设备和分布式***可以使用同一套处理代码,同时对数据处理和模型评估模块进行封装,这样,可以使得算法工程师只需关注推荐模型的核心网络结构,大大简化了开发的复杂性。之后,可以根据预定的场景集合对应的一套与外部***连接的链路,通过推荐模型的运营平台统一对接外部***,完成整理链路的串联和闭环,让算法工程师更加关注推荐流程本身。
实施例三
以上为本说明书实施例提供的推荐模型的构建方法,基于同样的思路,本说明书实施例还提供一种推荐模型的构建装置,如图4所示。
该推荐模型的构建装置包括:场景信息获取模块401、样本获取模块402、特征提取模块403和训练模块404,其中:
场景信息获取模块401,用于获取进行信息推荐的目标场景信息;
样本获取模块402,用于如果所述目标场景信息对应的场景包含于预定的场景集合,则获取所述场景集合对应的特征类别,并根据所述特征类别,获取所述目标场景信息对应的样本数据;
特征提取模块403,用于基于所述特征类别,对所述样本数据进行特征提取,得到所述样本数据对应的目标特征;
训练模块404,用于使用所述目标特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
本说明书实施例中,所述特征类别包括用户特征类、推荐的信息对应的特征类和用户对推荐的信息的行为特征类中的一种或多种。
本说明书实施例中,所述样本获取模块402,包括:
数据埋点确定单元,用于根据所述特征类别,确定所述目标场景信息对应的推荐的信息中的数据埋点;
样本获取单元,用于将基于所述数据埋点得到的数据作为所述目标场景信息对应的样本数据。
本说明书实施例中,所述装置还包括:
特征抽取模块,用于根据所述目标特征中包含的特征类型,对所述目标特征进行相应的特征抽取处理,得到抽取的特征;
所述训练模块,用于使用所述抽取的特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
本说明书实施例中,所述特征抽取模块,包括:
第一特征抽取单元,用于如果所述目标特征中包括字符型特征,则对所述目标特征中的字符型特征进行离散化处理,得到第一特征,将所述第一特征作为所述抽取的特征;
第二特征抽取单元,用于如果所述目标特征中包括数值型特征,则对所述目标特征中的数值型特征进行分箱处理和归一化处理,得到第二特征,将所述第二特征作为所述抽取的特征;
第三特征抽取单元,用于如果所述目标特征中包括预先定义的特征,则对所述目标特征中预先定义的特征进行笛卡尔积交叉抽取处理,得到第三特征,将所述第三特征作为所述抽取的特征。
本说明书实施例中,所述推荐模型为深度学习模型。
本说明书实施例中,所述推荐模型为Wide&Deep模型、深度因子分解机DeepFM模型、注意因子分解机AFM模型或深度兴趣网络DIN模型。
本说明书实施例中,所述装置还包括:
模型调试模块,用于基于预定的单机NoteBook调试机制对所述推荐模型进行调试;和/或,
分布式训练模块,用于基于预定的Yarn分布式训练机制对所述推荐模型进行训练。
本说明书实施例提供一种推荐模型的构建装置,通过获取进行信息推荐的目标场景信息,如果目标场景信息对应的场景包含于预定的场景集合,则根据预定的场景集合对应的特征类别,获取目标场景信息对应的样本数据,进而得到该样本数据对应的目标特征,使用目标特征对预定的场景集合对应的推荐模型进行训练,得到目标场景信息对应的信息推荐模型,这样,通过预先将预定的场景集合对应的特征、样本数据和推荐模型进行标准化处理,为预定的场景集合中的每一个场景(目标场景信息对应的场景)提供一种通用营销推荐模型框架,使得预定的场景集合中的每一个场景均可以复用同一套推荐模型的构建方式和流程,从而简化了推荐模型的构建流程,大大节约了模型的上线效率。此外,在实际应用中,可以实现如tensorflow estimator(或开发基于keras的神经网络等)的封装,单个设备和分布式***可以使用同一套处理代码,同时对数据处理和模型评估模块进行封装,这样,可以使得算法工程师只需关注推荐模型的核心网络结构,大大简化了开发的复杂性。之后,可以根据预定的场景集合对应的一套与外部***连接的链路,通过推荐模型的运营平台统一对接外部***,完成整理链路的串联和闭环,让算法工程师更加关注推荐流程本身。
实施例四
以上为本说明书实施例提供的推荐模型的构建装置,基于同样的思路,本说明书实施例还提供一种推荐模型的构建设备,如图5所示。
所述推荐模型的构建设备可以为上述实施例提供的服务器。
推荐模型的构建设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器501和存储器502,存储器502中可以存储有一个或一个以上存储应用程序或数据。其中,存储器502可以是短暂存储或持久存储。存储在存储器502的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对推荐模型的构建设备中的一系列计算机可执行指令。更进一步地,处理器501可以设置为与存储器502通信,在推荐模型的构建设备上执行存储器502中的一系列计算机可执行指令。推荐模型的构建设备还可以包括一个或一个以上电源503,一个或一个以上有线或无线网络接口504,一个或一个以上输入输出接口505,一个或一个以上键盘506。
具体在本实施例中,推荐模型的构建设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对推荐模型的构建设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取进行信息推荐的目标场景信息;
如果所述目标场景信息对应的场景包含于预定的场景集合,则获取所述场景集合对应的特征类别,并根据所述特征类别,获取所述目标场景信息对应的样本数据;
基于所述特征类别,对所述样本数据进行特征提取,得到所述样本数据对应的目标特征;
使用所述目标特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
本说明书实施例中,所述特征类别包括用户特征类、推荐的信息对应的特征类和用户对推荐的信息的行为特征类中的一种或多种。
本说明书实施例中,所述根据所述特征类别,获取所述目标场景信息对应的样本数据,包括:
根据所述特征类别,确定所述目标场景信息对应的推荐的信息中的数据埋点;
将基于所述数据埋点得到的数据作为所述目标场景信息对应的样本数据。
本说明书实施例中,还包括:
根据所述目标特征中包含的特征类型,对所述目标特征进行相应的特征抽取处理,得到抽取的特征;
使用所述目标特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型,包括:
使用所述抽取的特征对所述场景集合对应的推荐模型进行训练,得到所述目标场景信息对应的信息推荐模型。
本说明书实施例中,所述根据所述目标特征中包含的特征类型,对所述目标特征进行相应的特征抽取处理,得到抽取的特征,包括:
如果所述目标特征中包括字符型特征,则对所述目标特征中的字符型特征进行离散化处理,得到第一特征,将所述第一特征作为所述抽取的特征;
如果所述目标特征中包括数值型特征,则对所述目标特征中的数值型特征进行分箱处理和归一化处理,得到第二特征,将所述第二特征作为所述抽取的特征;
如果所述目标特征中包括预先定义的特征,则对所述目标特征中预先定义的特征进行笛卡尔积交叉抽取处理,得到第三特征,将所述第三特征作为所述抽取的特征。
本说明书实施例中,所述推荐模型为深度学习模型。
本说明书实施例中,所述推荐模型为Wide&Deep模型、深度因子分解机DeepFM模型、注意因子分解机AFM模型或深度兴趣网络DIN模型。
本说明书实施例中,所述使用所述目标特征对所述目标场景信息对应的推荐模型进行训练的过程中,所述方法还包括:
基于预定的单机NoteBook调试机制对所述推荐模型进行调试;和/或,
基于预定的Yarn分布式训练机制对所述推荐模型进行训练。
本说明书实施例提供一种推荐模型的构建设备,通过获取进行信息推荐的目标场景信息,如果目标场景信息对应的场景包含于预定的场景集合,则根据预定的场景集合对应的特征类别,获取目标场景信息对应的样本数据,进而得到该样本数据对应的目标特征,使用目标特征对预定的场景集合对应的推荐模型进行训练,得到目标场景信息对应的信息推荐模型,这样,通过预先将预定的场景集合对应的特征、样本数据和推荐模型进行标准化处理,为预定的场景集合中的每一个场景(目标场景信息对应的场景)提供一种通用营销推荐模型框架,使得预定的场景集合中的每一个场景均可以复用同一套推荐模型的构建方式和流程,从而简化了推荐模型的构建流程,大大节约了模型的上线效率。此外,在实际应用中,可以实现如tensorflow estimator(或开发基于keras的神经网络等)的封装,单个设备和分布式***可以使用同一套处理代码,同时对数据处理和模型评估模块进行封装,这样,可以使得算法工程师只需关注推荐模型的核心网络结构,大大简化了开发的复杂性。之后,可以根据预定的场景集合对应的一套与外部***连接的链路,通过推荐模型的运营平台统一对接外部***,完成整理链路的串联和闭环,让算法工程师更加关注推荐流程本身。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、***、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。