标签推荐方法、装置及可读介质与流程

文档序号:18620044发布日期:2019-09-06 22:23阅读:198来源:国知局
标签推荐方法、装置及可读介质与流程

本申请实施例涉及标签推荐领域,特别涉及一种标签推荐方法、装置及可读介质。



背景技术:

个性化标签是指由用户通过标签库中的标签对资源进行标注的形式,其中,资源可以是任意形式的数据,如:音乐、视频、购物应用程序中的产品、图片等,而个性化标签推荐系统用于在展示资源的同时,向用户推荐用于对该资源进行标注的候选标签,用户可以优先在候选标签中选择一个或多个标签进行标注,也可以从标签库中选择其它标签进行标注。

相关技术中,由于对资源进行标签标注的过程中涉及用户、资源以及标签三个维度的交互关系,故提供一种塔克分解(tuckerdecomposition,td)模型,该td模型的具体形式如下:

y=c×uu×ii×tt

其中,y用于表示用户、资源和标签三者构成的三阶张量,该三阶张量被分解为一个核心张量c和三个因子矩阵,该三个因子矩阵分别为u、i和t,其中,u用于表示用户对应的矩阵、i用于表示资源对应的矩阵、t用于表示标签对应的矩阵,×u用于表示张量与因子矩阵进行乘法运算的运算符,下标u表示张量与因子矩阵相乘时张量的展开方向,同理可知×i以及×t的作用,上述td模型的以标量形式展开后可以得到概率y、用户u,资源i以及标签t之间的函数关系,并根据已知的用户u和资源i得到对应的标签t被该用户u选择的概率y,以此对标签t进行推荐。

然而,由于td模型分解得到的核心张量c依旧是三维张量,故该td模型在训练和预测中的时间复杂度较高,训练和预测所耗费的时长也会较高,无法适应现有网络环境中用户数据、资源数据以及标签数据中的至少一项数据的数据量较大的特点,即,无法应用于数据集较大的场景中。



技术实现要素:

本申请实施例提供了一种标签推荐方法、装置及可读介质,可以解决td模型在训练和预测中的时间复杂度较高,训练和预测所耗费的时长也会较高的问题。所述技术方案如下:

一方面,提供了一种标签推荐方法,所述方法包括:

获取待进行所述标签推荐的目标帐号和目标资源;

通过被张量分解的标签推荐模型确定标签数据中的标签分别与所述目标帐号和所述目标资源对应的推荐值,所述标签推荐模型被所述张量分解为核心张量和因子矩阵,所述标签推荐模型等于所述核心张量和所述因子矩阵的乘积,其中,所述核心张量包括n个子张量,所述n个子张量中的目标子张量在等式关系中与所述因子矩阵对应相乘,所述n个子张量中除所述目标子张量的其它子张量中的元素为0;

确定所述标签数据中推荐值最高的n个标签作为向所述目标帐号推荐的标签,所述n个标签用于对所述目标资源进行标注,n为正整数。

另一方面,提供了一种标签推荐装置,所述装置包括:

获取模块,用于获取待进行所述标签推荐的目标帐号和目标资源;

确定模块,用于通过被张量分解的标签推荐模型确定标签数据中的标签分别与所述目标帐号和所述目标资源对应的推荐值,所述标签推荐模型被所述张量分解为核心张量和因子矩阵,所述标签推荐模型等于所述核心张量和所述因子矩阵的乘积,其中,所述核心张量包括n个子张量,所述n个子张量中的目标子张量在等式关系中与所述因子矩阵对应相乘,所述n个子张量中除所述目标子张量的其它子张量中的元素为0;

所述确定模块,还用于确定所述标签数据中推荐值最高的n个标签作为向所述目标帐号推荐的标签,所述n个标签用于对所述目标资源进行标注,n为正整数。

另一方面,提供了一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的标签推荐方法。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的标签推荐方法。

另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中提供的标签推荐方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

在通过标签推荐模型对标签进行推荐的过程中,由于标签推荐模型被张量分解为核心张量和因子矩阵,且核心张量中除了目标子张量外的其它子张量中的元素为0,即在等式关系中,核心张量中参与等式关系的仅包括目标子张量对应的部分,而其余部分并不参与该等式关系,避免了完整的三维核心张量参与训练和应用时导致时间复杂度过高的问题,减少了冗余的计算过程,降低了训练和应用过程的时间复杂度,提高了标签推荐效率。

附图说明

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

图1是本申请一个示例性实施例提供的标签推荐系统的结构图;

图2是本申请一个示例性实施例提供的标签推荐方法的流程图;

图3是基于图2示出的实施例提供的核心张量的切割方法示意图;

图4是基于图2示出的实施例提供的核心张量以及因子矩阵之间的乘积关系示意图;

图5是本申请另一个示例性实施例提供的标签推荐方法的流程图;

图6是本申请另一个示例性实施例提供的标签推荐方法的流程图;

图7是本申请一个示例性实施例提供的标签推荐装置的结构框图;

图8是本申请另一个示例性实施例提供的标签推荐装置的结构框图;

图9是本申请一个示例性的实施例提供的计算机设备的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先,对本申请中涉及的名词进行简单介绍:

张量:是一个用来表示在矢量、标量和其它张量之间的线性关系的多线性函数,其中,一维张量被称为向量,二维张量被称为矩阵,通常三维及以上的张量被简单称为张量。可选地,张量的维度与该张量所包括的数据类别的数量有关,如:张量中包括帐号数据、资源数据以及标签数据,则该张量为三维张量。本申请实施例中,以三维张量来举例说明。

张量分解:是指将张量分解为多个部分的方式,其中,张量分解方式中至少包括正则分解(canonicaldecomposition,cd)、td、成对交互张量分解(pairwiseinteractiontensorfactorization,pitf)等方式。其中,cd是将张量的核心张量变成一个特殊的超对角张量来简化td模型,td是将张量分解为核心张量和因子矩阵的分解方式,pitf是将张量分解为主对角线参数都为1其余参数都为0的核心张量以及因子矩阵的分解方式。

其中,通过上述td方式对张量进行分解时,分解得到的核心张量依旧为三维核心张量,该核心张量依旧是考虑三维之间的交互关系,故模型训练和应用的时间复杂度较高;而cd方式对三维数据分解的解并非必然存在,即,存在分解后张量、核心张量和因子矩阵之间的等式关系转换为标量形式表达为函数关系后,函数关系中的未知参数无法求得解的情况,导致张量分解失败;而pitf方式中,由于在降维过程中仅保留了三维数据中,每两维数据之间的交互关系,而丢失了三维数据整体之间的交互关系,故模型应用时,标签推荐的准确度较低。

可选地,针对上述td、cd以及pitf张量分解方式的弊端,本申请实施例中,提供了一种基于成对交互张量分解(pairwiseinteractiontensordecomposition,pitd),该pitd是将目标张量分解为核心张量和因子矩阵的分解方式,其中,核心张量中包括n个子张量,该n个子张量中包括有目标子张量,该目标子张量与因子矩阵对应相乘后得到该目标张量。

系统数据:是指系统中已存储的用于进行标签推荐的数据。可选地,该系统数据中包括帐号数据、资源数据以及标签数据。其中,帐号数据中包括系统中已注册的或已生成的帐号,资源数据中包括系统中提供的可应用的资源,标签数据中包括对资源进行标注的标签。可选地,帐号数据中的帐号、资源数据中的资源以及标签数据中的标签之间的对应关系中包括如下关系中的至少一种:1、帐号对资源进行应用;2、标签对资源进行标注;3、帐号使用标签对资源进行标注。示意性的,该系统数据为音乐应用程序的系统数据,该系统数据中包括对该音乐应用程序进行应用的帐号数据、音乐应用程序中提供的音乐数据以及对音乐进行标注的标签,如:帐号数据中包括帐号a、帐号b以及帐号c,音乐数据中包括音乐a、音乐b以及音乐c,标签数据中包括标签“流行”、标签“古典”以及标签“摇滚”,以帐号a为例进行说明,该帐号a可以在音乐应用程序中对音乐a、音乐b或者音乐c进行收听,可选地,帐号a对上述音乐a、音乐b或者音乐c皆具备收听权限,可选地,以帐号a对音乐b进行收听为例进行说明,用户在登录有帐号a的音乐应用程序中对音乐b进行收听时,可以在标签数据(即标签库)中选择标签对该音乐b进行标注,如:在标签数据中选择标签“摇滚”标注该音乐b。

其次,对本申请提供的标签推荐方法所涉及的应用场景进行介绍。

本申请所提供的标签推荐方法适用于向用户提供对资源进行标注的候选标签的场景下,该场景至少包括如下情况:

示意性的,该标签推荐方法被应用于音乐播放应用程序中,该音乐播放应用程序的服务器中存储有系统数据,该系统数据中包括帐号数据、资源数据以及标签数据,服务器中还存储有被张量分解的标签推荐模型,该标签推荐模型是根据上述帐号数据、资源数据以及标签数据得到的,用户在安装有该音乐播放应用程序的终端中对该音乐播放应用程序进行使用时,登录有帐号a,并选择音乐a进行播放,终端将该帐号a以及音乐a发送至服务器后,服务器根据该帐号a以及音乐a,通过被张量分解的标签推荐模型,在标签数据中对用户标注该音乐a的标签进行预测,并预测得到n个推荐值最高的标签发送至终端。终端接收到该n个推荐值最高的标签后,对该n个标签进行展示,用户可以在该n个标签中选择对音乐a进行标注的标签,也可以从标签数据中选择其它标签对音乐a进行标注。

值得注意的是,上述应用场景为示意性的举例,在实际操作中,通过张量分解后的标签推荐模型对标签进行推荐的应用场景都可以使用本申请实施例中提供的标签推荐方法,本申请实施例对此不加以限定。

可选地,本申请实施例提供的标签推荐方法可以单独实现在一台计算机设备中,也可以实现在包括终端和服务器的实施环境中。其中,当本申请实施例提供的标签推荐方法单独实现在一台计算机设备中时,该计算机设备可以是终端,也可以是服务器,该计算机设备中存储有上述系统数据,该计算机设备根据上述系统数据中帐号数据中的目标帐号以及资源数据中的目标资源,从标签数据中获取推荐值最高的n个标签作为目标帐号对目标资源进行标注的候选标签。

可选地,当本申请实施例提供的标签推荐方法实现在包括终端和服务器的实施环境中时,请参考图1,图1是本申请一个示例性实施例提供的标签推荐系统100的结构示意图,如图1所示,该标签推荐系统100中包括终端11和服务器12;

其中,终端11中安装有向用户提供资源数据的应用程序110,该应用程序110为支持标签标注的程序,终端11中的应用程序110中登录有至少一个帐号,用户可以通过登陆的帐号对应用程序110中的资源进行应用,可选地,终端11中登陆的帐号可以是在应用程序110中注册的帐号,也可以是应用程序110根据终端11的终端标识码自动生成的帐号,还可以是其它应用程序中注册的帐号,并向应用程序110授权登录,本申请实施例对此不加以限定。

可选地,应用程序110中提供的资源数据是终端11通过应用程序110从服务器12中获取的,服务器12中存储有系统数据,该系统数据中包括应用该应用程序110或者其它关联的应用程序的帐号数据、该应用程序110向用户提供的资源数据以及用户可以对该资源数据进行标注的标签对应的标签数据。

可选地,终端11将自身登录的目标帐号以及选定的目标资源对应发送至服务器12,服务器12根据接收到的目标帐号以及目标资源生成n个推荐标签返回至终端11,该n个标签为服务器向终端推荐的对目标资源进行标注的标签。

可选地,上述终端11可以是手机、平板电脑、便携式膝上笔记本电脑等移动终端,也可以台式终端,上述服务器12可以是一台服务器,也可是多台服务器设备组成的服务器集群,该服务器12可以是物理服务器,也可以是虚拟的云服务器,本申请实施例对此不加以限定。

可选地,上述终端11和服务器12之间通过通信网络13进行连接,该通信网络13可以是有线网络,也可以是无线网络。

本领域技术人员可以知晓,上述终端11的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述计算机系统还包括终端14和其他终端15,可选地,当应用程序110为即时通讯应用程序时,该终端14中登录有与目标帐号存在好友关系的好友帐号。本申请实施例对终端的数量和设备类型不加以限定。

图2是本申请一个示例性实施例提供的标签推荐方法的流程图,以该方法应用于如图1所示的服务器12中为例进行说明,如图2所示,该方法包括:

步骤201,获取待进行标签推荐的目标帐号和目标资源。

可选地,获取该目标帐号和目标资源的方式包括如下方式中的至少一种:

第一,该方法应用于包括终端和服务器的实施环境中时,终端中登录有该目标帐号,当用户通过终端中登录的目标帐号对目标资源进行应用时,生成该目标帐号和目标资源的对应关系,并将该目标帐号和目标资源发送至服务器,服务器获取该目标帐号和目标资源,并向目标帐号针对目标资源进行标签推荐;其中,用户通过终端中登录的目标帐号对目标资源进行应用的过程,还可以实现为用户通过目标帐号针对目标资源选择标签标注功能,如:用户通过目标帐号对目标资源进行选择后,选择“对目标资源标注标签”以实现上述标签标注功能;

示意性的,服务器接收终端上传的目标帐号和目标资源,该终端中安装有视频应用程序,目标帐号为登录在视频应用程序中的帐号,目标资源为终端当前播放的视频资源,即,用户通过目标帐号在视频应用程序中对视频资源进行观看时,终端将该目标帐号与视频资源的对应关系发送至服务器,服务器对目标帐号向视频资源标注的标签进行推荐。

第二,该方法应用于单侧计算机设备时,可以通过输入的方式将目标帐号和目标资源输入该计算机设备,可选地,该输入方式包括通过外部输入设备对目标帐号和目标资源进行输入,以及通过麦克风进行语音输入的方式中的至少一种。

可选地,该目标帐号和目标资源与系统数据中的数据对应,该系统数据中包括帐号数据、资源数据和标签数据。可选地,帐号数据中包括上述目标帐号,资源数据中包括上述目标资源。

可选地,根据上述帐号数据、资源数据以及标签数据预先生成有标签推荐模型,该标签推荐模型是一个三维张量,其中,该三维张量中的每一维分别与帐号数据、资源数据以及标签数据对应。可选地,该标签推荐模型用于对帐号数据、资源数据以及标签数据之间的对应关系进行确定。

步骤202,通过被张量分解的标签推荐模型确定标签数据中的标签分别与目标帐号和目标资源对应的推荐值。

可选地,该目标帐号和目标资源具有对应关系,通过被张量分解的标签推荐模型确定标签数据中的每个标签分别与该对应关系对应的推荐值。

可选地,该标签推荐模型被张量分解为核心张量和因子矩阵,该标签推荐模型等于核心张量和因子矩阵的乘积。示意性的,该标签推荐模型被分解为一个核心张量和三个因子矩阵。

可选地,该被张量分解的标签推荐模型、核心张量以及因子矩阵对应有等式关系。可选地,标签推荐模型等于核心张量和因子矩阵的乘积。

其中,该核心张量包括n个子张量,该n个子张量中的目标子张量在等式关系中与因子矩阵对应相乘,该n个子张量中除目标子张量的其它子张量中的元素为0。

可选地,该目标子张量包括第一子张量和第二子张量,该第一子张量和第二子张量是对核心张量进行横向切割和纵向切割,得到立方体排列的2×2×2个子向量后,在2×2×2个子向量中位于主对角线上的子张量。示意性的,图3示出了核心张量30被分割为8个子向量的分割结果。如图3所示,主对角线上被标注有阴影的子张量31为第一子张量,子张量32为第二子张量,即在等式关系中与因子矩阵对应相乘的子张量。

可选地,针对上述核心张量的切割方式,图3中以该核心张量30在横向和纵向被平均分割为例进行示意,实际操作中,该核心张量30被分割时,横向和纵向的分割比例可以是不同的,也可以是相同的。

可选地,该因子矩阵包括帐号数据对应的第一矩阵、资源数据对应的第二矩阵以及标签数据对应的第三矩阵,该第一矩阵包括沿行向顺序拼接的帐号矩阵和第一数字矩阵,第二矩阵包括沿行向顺序拼接的第二数字矩阵和资源矩阵,第三矩阵包括沿行向顺序拼接的第一标签矩阵和第二标签矩阵,其中,第一数字矩阵和第二数字矩阵为元素为1的矩阵。可选地,第一数字矩阵的行向宽度与帐号矩阵的行向宽度一致,第一数字矩阵的列向高度与帐号矩阵的列向高度一致;第二数字矩阵的行向宽度与资源矩阵的行向宽度一致,第二数字矩阵的列向高度与资源矩阵的列向高度一致。

可选地,上述核心张量的分割方式根据第一矩阵、第二矩阵以及第三矩阵的矩阵大小相关。可选地,第一矩阵的列向高度与帐号数据中的帐号数量对应,第二矩阵的列向高度与资源数据中的资源数量对应,第三矩阵的列向高度与标签数据中的标签的数量对应。可选地,该核心张量的分割方式与第一矩阵的行向宽度、第二矩阵的行向宽度以及第三矩阵的行向宽度对应。

可选地,根据上述标签推荐模型、核心张量和因子矩阵之间的等式关系,以及上述因子矩阵中包括的第一矩阵、第二矩阵和第三矩阵,得到该标签推荐模型、核心张量、第一矩阵、第二矩阵以及第三矩阵之间的等式关系如下述公式一:

公式一:

其中,用于表示该标签推荐模型对应的三维张量,c用于表示分解得到的核心张量,用于表示上述帐号数据对应的第一矩阵,其中,上述符号用于表示矩阵之间的拼接关系,u用于表示上述帐号矩阵,与u拼接的1用于表示第一数字矩阵,用于表示上述资源数据对应的第二矩阵,其中,与i拼接的1用于表示第二数字矩阵,i用于表示上述资源矩阵,用于表示上述标签数据对应的第三矩阵,其中,tu用于表示上述第一标签矩阵,ti用于表示上述第二标签矩阵,可选地,该拼接关系为顺序拼接关系,可选地,以×u运算符号为例,×u用于表示张量与因子矩阵进行乘法运算的运算符,下标u表示张量与因子矩阵相乘时张量的展开方向。示意性的,图4是对上述核心张量40、第一矩阵42、第二矩阵44以及第三矩阵46之间的乘积关系进行示意的示意图,其中,核心张量40中包括第一子张量c1和第二子张量c2

将上述公式一进行展开后,得到公式二:

公式二:

其中,标签推荐模型对应的三维张量等于第一子张量c1、帐号矩阵u、第二数字矩阵1和第一标签矩阵tu的第一乘积,与第二子张量c2、第一数字矩阵1、资源矩阵i和第二标签矩阵ti的第二乘积之和,其中,第一子张量c1在等式关系中与帐号矩阵u和第一标签矩阵对应tu,第二子张量c2在等式关系中与资源矩阵i和第二标签矩阵ti对应。

步骤203,确定标签数据中推荐值最高的n个标签作为向目标帐号推荐的标签。

可选地,该n个标签为候选的对目标资源进行标注的标签,n为正整数。

可选地,服务器确定该n个标签后,向终端发送该n个标签作为目标资源的候选标注标签。示意性的,以上述步骤201中的视频应用程序为例,终端用于在视频应用程序中对标注有同一标签的视频资源进行观看。可选地,每个帐号对同一个视频资源标注的标签可以是不同的,当视频资源被标注的标签种类较多时,确定该视频资源被标注次数最多的m个标签作为对该视频资源进行标注的标签。

示意性的,视频应用程序中登录有目标帐号,该视频应用程序中播放有视频1,服务器确定该n个标签后,向终端发送该n个标签,该n个标签用于对视频1进行标注,如:服务器向终端发送了3个标签,分别为“幽默”“鸡汤”以及“美妆”,终端可以对该视频1选择标签“幽默”进行标注。可选地,视频1被标注标签“幽默”20次,“鸡汤”12次,“美妆”18次,最终确定标注次数最多的两个标签,即“幽默”和“美妆”作为该视频1的标签。

可选地,终端可以对视频应用程序中标注有“幽默”的所有视频资源进行观看,也可以对标注有标签“美妆”的所有视频资源进行观看,也可以对标注有标签“鸡汤”的所有视频资源进行观看。

可选地,向终端发送该n个标签后,服务器接收终端发送的标签选定信号,该标签选定信号是终端在视频资源的候选标注标签中的目标标注标签被选定后发送的信号,服务器根据该标签选定信号,将目标帐号、视频资源以及目标标注标签的对应关系存储至系统数据中。

综上所述,本实施例提供的标签推荐方法,在通过标签推荐模型对标签进行推荐的过程中,由于标签推荐模型被张量分解为核心张量和因子矩阵,且核心张量中除了目标子张量外的其它子张量中的元素为0,即在等式关系中,核心张量中参与等式关系的仅包括目标子张量对应的部分,而其余部分并不参与该等式关系,避免了完整的三维核心张量参与训练和应用时导致时间复杂度过高的问题,减少了冗余的计算过程,降低了训练和应用过程的时间复杂度,提高了标签推荐效率。

可选地,在通过上述等式关系确定标签的推荐值时,需要将上述等式关系转换为帐号数据、资源数据、标签数据以及推荐值之间的函数关系,请参考图5,图5是本申请一个示例性实施例提供的标签推荐方法的流程图,如图5所示,以该方法应用于如图1所示的服务器12中为例进行说明,该方法包括:

步骤501,获取待进行标签推荐的目标帐号和目标资源。

获取目标帐号和目标资源相关的内容请参考上述图2中的步骤201,此处不再赘述。

步骤502,根据被张量分解的标签推荐模型、核心张量和因子矩阵之间的等式关系确定帐号数据、资源数据、标签数据以及推荐值之间的目标函数关系。

可选地,该标签推荐模型被张量分解为核心张量和因子矩阵,该标签推荐模型等于核心张量和因子矩阵的乘积,其中,该核心张量包括n个子张量,该n个子张量中的目标子张量在等式关系中与因子矩阵对应相乘,该n个子张量中除目标子张量的其它子张量中的元素为0。

可选地,该目标子张量包括第一子张量和第二子张量,该第一子张量和第二子张量是对核心张量进行横向切割和纵向切割,得到立方体排列的2×2×2个子向量后,在2×2×2个子向量中位于主对角线上的子张量。

可选地,该因子矩阵包括帐号数据对应的第一矩阵、资源数据对应的第二矩阵以及标签数据对应的第三矩阵,该第一矩阵包括沿行向顺序拼接的帐号矩阵和第一数字矩阵,第二矩阵包括沿行向顺序拼接的第二数字矩阵和资源矩阵,第三矩阵包括沿行向顺序拼接的第一标签矩阵和第二标签矩阵,其中,第一数字矩阵和第二数字矩阵为元素为1的矩阵。

可选地,帐号矩阵和第一数字矩阵的行向宽度一致,资源矩阵和第二数字矩阵的行向宽度一致,第一标签矩阵和第二标签矩阵的行向宽度一致。

可选地,该目标函数关系是根据通过将等式关系转化为标量形式,得到的帐号数据、资源数据、标签数据以及推荐值之间的函数关系。可选地,结合上述步骤203中的公式一提供的等式关系,其中,以c×uu为例,对该运算符号的运算方式进行说明,y=c×uu用标量形式表示为下述公式三:

公式三:

其中,u表示帐号数据中的帐号,i表示资源数据中的资源,t表示标签数据中的标签。ku表示第一矩阵中帐号矩阵的行向宽度,则cu',i,t表示核心张量中的元素<u’,i,t>,uu,u'表示帐号矩阵中的元素<u,u’>,其中,u’的取值由1至ku,遍历u’的取值后,得到求得的所有cu',i,t和uu,u'的乘积之和。

将公式三带入上述公式二后,得到标量形式表达的等式关系,如公式四所示:

公式四:

可选地,上述求和符号为简写形式的求和符号,其中,u’的取值由1至ku,i’的取值由1至ki,以及t’的取值由1至kt,可选地,上述ku、ki以及kt的取值可以是预先设定的,也可以是通过系统数据中已有的历史标注数据训练得到的。其中,用于表示对于目标帐号u,对目标资源i标注标签t的推荐值。

值得注意的是,上述步骤501和步骤502,可以先执行步骤501再执行步骤502,也可以先执行步骤502再执行步骤501,本申请实施例对此不加以限定。

步骤503,将目标帐号、目标资源和标签数据中的标签带入目标函数关系,得到标签数据中的标签对应的推荐值。

可选地,将目标帐号作为u、目标资源作为i以及标签数据中的标签作为t带入上述公式四提供的目标函数关系后,得到标签t的推荐值y。

步骤504,确定标签数据中推荐值最高的n个标签作为向目标帐号推荐的标签。

可选地,该n个标签用于对目标资源进行标注,n为正整数。

综上所述,本实施例提供的标签推荐方法,在通过标签推荐模型对标签进行推荐的过程中,由于标签推荐模型被张量分解为核心张量和因子矩阵,且核心张量中除了目标子张量外的其它子张量中的元素为0,即在等式关系中,核心张量中参与等式关系的仅包括目标子张量对应的部分,而其余部分并不参与该等式关系,避免了完整的三维核心张量参与训练和应用时导致时间复杂度过高的问题,减少了冗余的计算过程,降低了训练和应用过程的时间复杂度,提高了标签推荐效率。

本实施例提供的方法,由于核心张量中第一子张量与帐号矩阵、第二数字矩阵以及第一标签矩阵对应相乘,核心张量中的第二子张量与第一数字矩阵、资源矩阵以及第二标签矩阵对应相乘,也即在等式关系中,省略了帐号数据和资源数据之间的交互关系,将用户数据和资源数据视为一个对应关系,避免了三维数据之间的交互关系较为复杂,对标签推荐模型的训练和应用过程中时间复杂度较高的问题。

可选地,上述ku、ki以及kt的取值可以是通过系统数据中已有的历史标注数据训练得到的,即,上述公式二中的c1、c2、u、i、tu以及ti是根据历史标注数据训练得到的,该历史标注数据中包括帐号数据中的帐号对资源数据中的资源的历史标注记录。

图6是本公开另一个示例性实施例提供的标签推荐方法的流程图,如图6图所示,以该方法应用于如图1所示的服务器中为例进行说明,该方法包括:

步骤601,获取待进行标签推荐的目标帐号和目标资源。

获取目标帐号和目标资源相关的内容请参考上述图2中的步骤201,此处不再赘述。

步骤602,将被张量分解的标签推荐模型、核心张量和因子矩阵之间的等式关系转化为标量形式,得到帐号数据、资源数据、标签数据以及推荐值之间的待解函数关系。

可选地,该待解函数关系中包括未知模型参数。可选地,该未知模型参数为上述公式二中的c1、c2、u、i、tu以及ti。可选地,该未知模型参数中包括用于表示上述帐号矩阵和第一数字矩阵的行向宽度的第一参数、用于表示第二数字矩阵和资源矩阵的行向宽度的第二参数,以及用于表示第一标签矩阵和第二标签矩阵的行向宽度的第三参数。

可选地,该待解函数关系为上述公式二中的c1、c2、u、i、tu以及ti处于未知状态时的函数关系,也即,标量表达时的公式四中的ku、ki以及kt的取值处于未知状态时的函数关系。

步骤603,通过历史标注数据对未知模型参数进行求解,得到目标模型参数。

可选地,在通过历史标注数据对未知模型参数进行求解时,采用最大后验估计算法,即,对于给定的p(u,i)通过优化模型参数θ,令如下公式五的取值最大:

公式五:p(θ|>u,i)∝p(>u,i|θ)·p(θ)

其中,模型参数θ用于整体表示公式二中的c1、c2、u、i、tu以及ti,即,计算其中,>u,i表示针对用户u和资源i的组合<u,i>对标签数据中的标签进行排列得到的全序关系,该全序关系满足如下性质:

1、完全性:

2、反对称性:

3、传递性:

其中,t表示标签数据,t1和t2都是标签数据中的标签。根据系统数据定义四元组(u,i,ta,tb),其中,该四元组用于表示帐号u在给资源i标注标签时,选择了标签ta,而未选择标签tb。如:标签数据中包括100个标签,帐号a在给资源b标注标签时,标注了标签1,则与帐号a和资源b对应的四元组为(a,b,1,2)、(a,b,1,3)、(a,b,1,4)、…(a,b,1,100),共计99个四元组。

即,根据该四元组得到训练集ds:

第一部分,针对公式五中的p(>u,i|θ)进行分析,由于ta>u,itb是一个伯努利实验,即得到如下公式六:

公式六:

其中,δ是指示函数,用来表达四元组(u,i,ta,tb)是否在训练集中,将其定义为如下等式情况:

即,由于上述标签数据为全序关系,则(u,i,tb,ta)∈ds的情况不成立,也即,上述公式六可简化实现为如下公式七:

公式七:

其中,公式六中的δ((u,i,ta,tb)∈ds)取值为1,δ((u,i,tb,ta)∈ds取值为0。

对上述公式七中的p(ta>u,itb|θ)进行定义,得到如下公式八:

公式八:

其中,σ用于表示逻辑函数σ(x)=1/(1+e-x),而用于表示帐号u在对资源i进行标注时,在ta和tb之间,选择ta而非tb的偏好得分。可选地,将该偏好得分定义为对ta的推荐值与对tb的推荐值之差,即定义得到如下公式九:

公式九:

将公式八和公式九对应带入公式七中,即可得到如下公式十:

公式十:

第二部分,针对公式五中的p(θ)进行分析,假定模型参数θ服从期望为0,方差为σθ的正态分布,即,其中,e表示单位矩阵,即主对角线为1,其余元素为0的矩阵。

而对于均值为0,方差为的d维高斯分布,其概率密度函数为如下公式十一:

公式十一:

根据上述正态分布表达方式,以及公式十一,可以得到如下公式十二:

公式十二:

其中,c1为常数。

将上述公式十和公式十二代入公式五后,得到如下公式十三:

公式十三:

其中,c2是常数,可以忽略不计。

结合上述第一部分的公式十二、第二部分的公式十三以及公式五,可得到如下公式十四:

公式十四:

结合上述公式四和上述公式十四,对标签推荐模型中的参数求偏导数,得到如下偏导数计算公式:

得到每个参数的偏导数计算公式后,通过梯度上升算法对标签推荐模型中的参数进行调整。可选地,对应该标签推荐系统预先设置有预设梯度步长和预设梯度参数,在通过梯度上升算法对参数进行调整时,获取历史标注数据ds、预设梯度步长和预设梯度参数,对上述未知模型参数进行初始化,得到初始化模型参数,即,对未知模型参数赋初始值,其中,对未知模型参数进行初始化时,可以根据正态分布关系对未知模型参数进行初始化。对历史标注数据进行采样后,得到采样数据,并通过预设梯度步长、预设梯度参数以及采样数据对初始化模型参数进行调整,当调整后的初始化模型参数对应的偏导数不收敛时,重复执行对历史标注数据进行采样的步骤,直至初始化模型参数对应的偏导数收敛。

可选地,该梯度上升算法请参考如下步骤:

输入:ds、α(预设梯度步长)、λ(预设梯度参数)

输出:调整后的c1,c2,u,i,tu和ti

步骤1,通过n(0,σ2i)对未知模型参数c1、c2、u、i、tu以及ti进行初始化,得到初始化模型参数。

步骤2,从ds中采样,得到四元组(u,i,ta,tb)

步骤3,将四元组代入公式四以及公式九,计算

步骤4,

步骤5,执行for循环for(u',i',t')∈ku×ki×ktdo

步骤6,

步骤7,

步骤8,endfor

步骤9,执行for循环for(i',t')∈ki×ktdo

步骤10,

步骤11,endfor

步骤12,执行for循环for(u',t')∈ku×ktdo

步骤13,

步骤14,endfor

步骤15,执行for循环for(u',i')∈ku×kido

步骤16,

步骤17,

步骤18,

步骤19,

步骤20,endfor

步骤21,重复步骤2~20,直到上述偏导数计算公式中的偏导数收敛后,输出c1,c2,u,i,tu和ti作为目标模型参数

步骤604,将目标模型参数代入待解函数关系,得到目标函数关系。

可选地,将目标模型参数c1,c2,u,i,tu和ti代入待解函数关系,也即公式二后,得到目标函数关系,即,ku,ki以及kt为已知参数的公式四。

值得注意的是,上述步骤601和步骤602至步骤604,可以先执行步骤601再执行步骤602至步骤604,也可以先执行步骤602至步骤604再执行步骤601,本申请实施例对此不加以限定。

步骤605,将目标帐号、目标资源和标签数据中的标签带入目标函数关系,得到标签数据中的标签对应的推荐值。

可选地,将目标帐号作为u、目标资源作为i以及标签数据中的标签作为t带入上述公式四提供的目标函数关系后,得到标签t的推荐值y。

步骤606,确定标签数据中推荐值最高的n个标签作为向目标帐号推荐的标签。

可选地,该n个标签用于对目标资源进行标注,n为正整数。

可选地,确定推荐值最高的n个标签,即计算如下公式十五:

公式十五:

综上所述,本实施例提供的标签推荐方法,在通过标签推荐模型对标签进行推荐的过程中,由于标签推荐模型被张量分解为核心张量和因子矩阵,且核心张量中除了目标子张量外的其它子张量中的元素为0,即在等式关系中,核心张量中参与等式关系的仅包括目标子张量对应的部分,而其余部分并不参与该等式关系,避免了完整的三维核心张量参与训练和应用时导致时间复杂度过高的问题,减少了冗余的计算过程,降低了训练和应用过程的时间复杂度,提高了标签推荐效率。

本实施例提供的方法,通过在历史标注数据中进行采样,通过梯度上升算法对初始化模型参数进行调整,避免了通过完整的历史标注数据进行调整时,由于历史标注数据的数据量过大,导致调整过程耗时的问题。

图7是本申请一个示例性实施例提供的标签推荐装置的结构框图,该装置包括:获取模块710以及确定模块720;

获取模块710,用于获取待进行所述标签推荐的目标帐号和目标资源;

确定模块720,用于通过被张量分解的标签推荐模型确定标签数据中的标签分别与所述目标帐号和所述目标资源对应的推荐值,所述标签推荐模型被所述张量分解为核心张量和因子矩阵,所述标签推荐模型等于所述核心张量和所述因子矩阵的乘积,其中,所述核心张量包括n个子张量,所述n个子张量中的目标子张量在等式关系中与所述因子矩阵对应相乘,所述n个子张量中除所述目标子张量的其它子张量中的元素为0;

所述确定模块720,还用于确定所述标签数据中推荐值最高的n个标签作为向所述目标帐号推荐的标签,所述n个标签用于对所述目标资源进行标注,n为正整数。

在一个可选的实施例中,所述目标子张量包括第一子张量和第二子张量,所述第一子张量和所述第二子张量是对所述核心张量进行横向切割和纵向切割,得到立方体排列的2×2×2个子向量后,在所述2×2×2个子张量中位于主对角线上的子张量。

在一个可选的实施例中,所述标签数据为系统数据中的数据,所述系统数据中还包括帐号数据和资源数据;

所述因子矩阵包括所述帐号数据对应的第一矩阵、所述资源数据对应的第二矩阵和所述标签数据对应的第三矩阵,所述第一矩阵包括沿行向顺序拼接的帐号矩阵和第一数字矩阵,所述第二矩阵包括沿行向顺序拼接的第二数字矩阵和资源矩阵,所述第三矩阵包括沿行向顺序拼接的第一标签矩阵和第二标签矩阵,其中,所述第一数字矩阵和所述第二数字矩阵为元素为1的矩阵;

其中,所述标签推荐模型等于所述第一子张量、所述帐号矩阵、所述第二数字矩阵和所述第一标签矩阵的第一乘积,与所述第二子张量、所述资源矩阵、所述第一数字矩阵和所述第二标签矩阵的第二乘积之和,其中,所述第一子张量在所述等式关系中与所述帐号矩阵和所述第一标签矩阵对应,所述第二子张量在所述等式关系中与所述资源矩阵和所述第二标签矩阵对应。

在一个可选的实施例中,所述确定模块720,还用于根据被张量分解的所述标签推荐模型、所述核心张量和所述因子矩阵之间的等式关系确定所述帐号数据、所述资源数据、所述标签数据以及所述推荐值之间的目标函数关系,所述推荐值是将所述目标帐号和所述目标资源代入所述目标函数关系后得到的。

在一个可选的实施例中,所述系统数据中还包括历史标注数据,所述历史标注数据中包括所述帐号数据中的帐号对所述资源数据中的资源的历史标注记录;

如图8所示,该确定模块720,包括:

转化单元721,用于将所述被张量分解的所述标签推荐模型、所述核心张量和所述因子矩阵之间的等式关系转化为标量形式,得到所述帐号数据、所述资源数据、所述标签数据以及所述推荐值之间的待解函数关系,所述待解函数关系中包括未知模型参数;

确定单元722,用于通过所述历史标注数据对所述未知模型参数进行求解,得到目标模型参数;

代入单元723,用于将所述目标模型参数代入所述待解函数关系,得到所述目标函数关系。

在一个可选的实施例中,所述未知模型参数中包括:

用于表示所述帐号矩阵和所述第一数字矩阵的行向宽度的第一参数、用于表示所述第二数字矩阵和所述资源矩阵的行向宽度的第二参数,以及用于表示所述第一标签矩阵和所述第二标签矩阵的行向宽度的第三参数。

在一个可选的实施例中,所述确定单元722,还用于获取所述历史标注数据、预设梯度步长和预设梯度参数;对所述未知模型参数进行初始化,得到初始化模型参数;对所述历史标注数据进行采样,得到采样数据;通过所述预设梯度步长、所述预设梯度参数以及所述采样数据对所述初始化模型参数进行调整;当调整后的所述初始化模型参数对应的偏导数不收敛时,重复执行所述对所述历史标注数据进行采样,直至所述初始化模型参数对应的所述偏导数收敛,得到所述目标模型参数。

在一个可选地实施例中,所述获取模块710,还用于接收终端上传的所述目标帐号和所述目标资源,所述终端中安装有视频应用程序,所述目标帐号为登录在所述视频应用程序中的帐号,所述目标资源为所述终端在所述视频应用程序中播放的视频资源;

所述装置,还包括:

发送模块730,用于向所述终端发送所述n个标签作为所述视频资源的候选标注标签。

在一个可选地实施例中,所述获取模块710,还用于接收所述终端发送的标签选定信号,所述标签选定信号是所述终端在所述视频资源的所述候选标注标签中的目标标注标签被选定后发送的信号;

所述确定模块720,还用于根据所述标签选定信号将所述目标帐号、所述视频资源以及所述目标标注标签的对应关系存储至所述系统数据中。

其中,获取模块710和确定模块720可以是由处理器和存储器共同实现的。

本申请还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的标签推荐方法。需要说明的是,该计算机设备可以是如下图9所提供的计算机设备。

请参考图9,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。具体来讲:所述计算机设备900包括中央处理单元(cpu)901、包括随机存取存储器(ram)902和只读存储器(rom)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。

所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读存储介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者cd-roi驱动器之类的计算机可读存储介质(未示出)。

不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。

存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元901执行,一个或多个程序包含用于实现上述标签推荐方法的指令,中央处理单元901执行该一个或多个程序实现上述各个方法实施例提供的标签推荐方法。

根据本发明的各种实施例,所述计算机设备900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的标签推荐方法中由计算机设备所执行的步骤。

本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器910加载并执行以实现如图2、图5以及图6任一所述的标签推荐方法。

本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的标签推荐方法。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图2、图5以及图6任一所述的标签推荐方法。

可选地,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、固态硬盘(ssd,solidstatedrives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistancerandomaccessmemory)和动态随机存取存储器(dram,dynamicrandomaccessmemory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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