CN113569151B - 基于人工智能的数据推荐方法、装置、设备及介质 - Google Patents

基于人工智能的数据推荐方法、装置、设备及介质 Download PDF

Info

Publication number
CN113569151B
CN113569151B CN202111103139.5A CN202111103139A CN113569151B CN 113569151 B CN113569151 B CN 113569151B CN 202111103139 A CN202111103139 A CN 202111103139A CN 113569151 B CN113569151 B CN 113569151B
Authority
CN
China
Prior art keywords
row
matrix
vector
user
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111103139.5A
Other languages
English (en)
Other versions
CN113569151A (zh
Inventor
杨德杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202111103139.5A priority Critical patent/CN113569151B/zh
Publication of CN113569151A publication Critical patent/CN113569151A/zh
Application granted granted Critical
Publication of CN113569151B publication Critical patent/CN113569151B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Computational Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及人工智能,提供了基于人工智能的数据推荐方法、装置、设备及介质,先通过迁移学习获取目标用户的第一推荐数据集合、基于联邦学习获取目标用户的第二推荐数据集合,获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合,利用迁移学习和联邦学习的机器学习范式缓解了推荐系统中的冷启动问题和数据不共享问题,也有效提高了推荐模型的泛化能力,而且基于邻域关系的迁移方法和多方来源数据的方法能充分利用和挖掘已有源数据的价值,基于数据和模型驱动,避免了通过人工设定规则或者专家经验的局限性。

Description

基于人工智能的数据推荐方法、装置、设备及介质
技术领域
本发明涉及人工智能的智能决策领域,尤其涉及一种基于人工智能的数据推荐方法、装置、计算机设备及存储介质。
背景技术
智慧培训的重要目标之一是针对用户个性化需求实现差异化的培训课程推荐,这可以通过设计优良的推荐系统模型来实现。推荐模型往往需要利用大量的用户历史行为数据作为输入,同时借助其它辅助信息来预测用户对某一门课程的偏好需求,从而实现培训课程精准推送。
若按照预设标准将用户进行多等级分类后,可能有一些等级的用户缺乏历史行为数据,导致面临用户冷启动(User Cold Start)问题,即因缺少用户和课程的历史交互数据无法判断用户对课程的需求偏好,进而无法实施针对性的课程推荐。
发明内容
本发明实施例提供了一种基于人工智能的数据推荐方法、装置、计算机设备及存储介质,旨在解决现有技术中部分用户因缺乏历史行为数据,导致面临用户冷启动,无法实施针对性的数据推荐的问题。
第一方面,本发明实施例提供了一种基于人工智能的数据推荐方法,其包括:
响应于数据推荐指令,获取源数据域的第一矩阵,并获取目标数据域的第二矩阵;
若确定获取到目标用户唯一标识,则获取所述目标用户唯一标识在所述第一矩阵中对应的第一行向量,在所述第一矩阵或所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量,并将获取到的所述行向量组成相似向量集合;
根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,将所述相似用户行向量集合中每一行向量对应用户标识按所述目标用户唯一标识进行更新得到更新后向量集合,将所述更新后向量集合中所包括更新后行向量根据预设的合并策略进行合并得到第一向量集合;
将所述第一向量集合中的行向量根据预设的排序策略进行排序得到第二向量集合,获取所述第二向量集合中所具有行排序值未超出预设的行排序值阈值的行向量组成目标行向量集合,获取所述目标行向量集合中所具有预设的字段名称的取值组成第一推荐数据集合;
获取联邦学习模型,将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合;以及
获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合。
第二方面,本发明实施例提供了一种基于人工智能的数据推荐装置,其包括:
矩阵获取单元,用于响应于数据推荐指令,获取源数据域的第一矩阵,并获取目标数据域的第二矩阵;
相似向量集合获取单元,用于若确定获取到目标用户唯一标识,则获取所述目标用户唯一标识在所述第一矩阵中对应的第一行向量,在所述第一矩阵或所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量,并将获取到的所述行向量组成相似向量集合;
第一向量集合获取单元,用于根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,将所述相似用户行向量集合中每一行向量对应用户标识按所述目标用户唯一标识进行更新得到更新后向量集合,将所述更新后向量集合中所包括更新后行向量根据预设的合并策略进行合并得到第一向量集合;
第一推荐集获取单元,用于将所述第一向量集合中的行向量根据预设的排序策略进行排序得到第二向量集合,获取所述第二向量集合中所具有行排序值未超出预设的行排序值阈值的行向量组成目标行向量集合,获取所述目标行向量集合中所具有预设的字段名称的取值组成第一推荐数据集合;
第二推荐集获取单元,用于获取联邦学习模型,将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合;以及
最终推荐数据获取单元,用于获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于人工智能的数据推荐方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于人工智能的数据推荐方法。
本发明实施例提供了一种基于人工智能的数据推荐方法、装置、计算机设备及存储介质,先通过迁移学习获取目标用户的第一推荐数据集合、基于联邦学习获取目标用户的第二推荐数据集合,获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合,利用迁移学习和联邦学习的机器学习范式缓解了推荐系统中的冷启动问题和数据不共享问题,也有效提高了推荐模型的泛化能力,而且基于邻域关系的迁移方法和多方来源数据的方法能充分利用和挖掘已有源数据的价值,基于数据和模型驱动,避免了通过人工设定规则或者专家经验的局限性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于人工智能的数据推荐方法的应用场景示意图;
图2为本发明实施例提供的基于人工智能的数据推荐方法的流程示意图;
图3为本发明实施例提供的基于人工智能的数据推荐装置的示意性框图;
图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的基于人工智能的数据推荐方法的应用场景示意图;图2为本发明实施例提供的基于人工智能的数据推荐方法的流程示意图,该基于人工智能的数据推荐方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图2所示,该方法包括步骤S101~S106。
S101、响应于数据推荐指令,获取源数据域的第一矩阵,并获取目标数据域的第二矩阵。
在本实施例中,是以服务器为执行主体描述技术方案。为了更好的理解本申请的技术方案,下面以用户在资讯阅读的行为数据作为源数据域,以用户在课程培训的行为数据作为目标数据域。在源数据域中,利用用户资讯阅读数据构造用户-资讯矩阵W,W中每个元素的含义可用三元组(up,iq,Wu_pi_q)表示,即用户up对资讯iq阅读了Wu_pi_q次作为评分的量化指标;因为资讯的内容量非常大(远大于课程数量),矩阵W是一个稀疏矩阵,这不利于后续的计算和相似性度量。
在一实施例中,所述获取源数据域的第一矩阵包括:
获取源数据域的第一初始矩阵;
获取所述第一初始矩阵中每一行向量所属文章标签类别,将具有相同用户和相同文章标签类别的行向量进行汇总合并,得到第一矩阵。
在本实施例中,按资讯文章所属的类别标签进行汇总加工处理,预处理后得到新的矩阵R,由 W到R的关系表示如下式(1)所示,
(up,iq,Wu_pi_q) →(up,jr,Wu_pj_r) (1)
此时所得到的新的矩阵R即为表示用户up对jr文章标签类别的资讯阅读了Wu_pj_r次,将矩阵R作为从源数据域获取的第一矩阵。
同理,在目标数据域中,利用用户课程学习数据构造用户-课程矩阵C,C中每个元素的含义可用三元组(UP,IQ,WU_PI_Q)表示,即用户UP对课程IQ学习了WU_PI_Q时长作为评分的量化指标;因为课程数量是远小于资讯数量,此时无需参照对第一初始矩阵的汇总处理得到第一矩阵的过程,直接将所获取的用户-课程矩阵C作为第二矩阵即可。通过上述过程,获取了两个不同数据域之间的用户行为数据,且这两个数据域又互为相近域。其中,上述出现的参数p、q、P、Q均是正整数。
S102、若确定获取到目标用户唯一标识,则获取所述目标用户唯一标识在所述第一矩阵中对应的第一行向量,在所述第一矩阵或所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量,并将获取到的所述行向量组成相似向量集合。
在本实施例中,在服务器中最主要的任务就是根据用户指定的目标用户,根据其在第一矩阵中对应的行为数据(也就是目标用户在第一矩阵中对应的行向量)而在第一矩阵或第二矩阵中检索出近似的行为数据从而组成相似向量集合。其中,可通过用户操作用户端登录服务器后,通过用户登录信息确定目标用户唯一标识,然后再根据所述用户唯一标识确定该用户对应第一矩阵中的哪一行向量即可。
例如,对资讯领域和课程领域进行了偏好假设,即两个领域中的领域及结构相似。这里引入基于领域关系的迁移学习方法,将领域知识从资讯领域迁移到课程领域,主要思想是利用资讯领域中用户之间的相关性,并假定具有类似资讯阅读偏好行为的用户在课程学习中也具有其相似性。这时问题转化为如何度量用户之间的相似性上,通常使用余弦相似度来度量两个对象间相似性。
在一实施例中,步骤S102包括:
在所述第一矩阵中通过计算获得各行向量与所述第一行向量之间的余弦相似度,得到与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合;
或者在所述第二矩阵中通过计算获得各行向量与所述第一行向量之间的余弦相似度,得到与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合。
在本实施例中,若在所述第一矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合时,可采用如式(2)的余弦相似度计算方法:
Figure 126919DEST_PATH_IMAGE001
(2)
通过公式(2)来计算在第一矩阵R中选中的目标用户对应的第一行向量Ra与第一矩阵中R中其他用户对应的行向量Rb之间的余弦相似度以作为两个用户之间相似性的度量参数。根据余弦夹角来判断相似度,两个向量越相似,夹角越小,sim(a,b)的值越大。
在计算第一行向量Ra与第一矩阵中R中其他用户对应的行向量Rb之间的相似度时还可以利用改进的余弦相似度计算方法,改进后公式(3)如下:
Figure 450584DEST_PATH_IMAGE002
(3)
以上改进点主要是计算用户行向量各维度的均值
Figure 135381DEST_PATH_IMAGE003
,然后每个行向量在各维度减去均值后再计算余弦相似度。这种方法可以在考虑方向的同时兼顾具体数值大小,更准确地判断两个行向量之间的相似性。通过以上计算,删除具有较小相似度的用户(如sim(a,b)<0.15),取得相似的用户的行向量构成相似向量集合(也可以理解为领域集合Uu)。
在本实施例中,若在所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合时,可采用如式(4)的余弦相似度计算方法:
Figure 505490DEST_PATH_IMAGE004
(4)
通过公式(4)来计算在第二矩阵C中选中的目标用户对应的第一行向量Ra与第二矩阵中各用户对应的行向量Cb之间的余弦相似度以作为两个用户之间相似性的度量参数。根据余弦夹角来判断相似度,两个向量越相似,夹角越小,sim(a,b)的值越大。
可见,只要获取了目标用户唯一标识,即可先获取其在所述第一矩阵中对应的第一行向量,然后在第一矩阵或第二矩阵中或与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合,通过这一方式快速且准确的筛选出目标用户的相似用户。
S103、根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,将所述相似用户行向量集合中每一行向量对应用户标识按所述目标用户唯一标识进行更新得到更新后向量集合,将所述更新后向量集合中所包括更新后行向量根据预设的合并策略进行合并得到第一向量集合。
在本实施例中,当获取了相似向量集合后,可以根据所述相似向量集合中的各个相似向量在所述第二矩阵中获取相应的相似用户行向量集合。例如根据所述相似向量集合包括的用户标识集合在所述第二矩阵中获取相应的相似用户行向量集合,或是直接以相似向量集合作为相似用户行向量集合。通过这一方式可以快速在课程领域的用户行为数据中得到与目标用户为相似用户的用户行为数据,实现了将源数据域的目标用户参考其在目标数据域的近似用户群构建目标用户在目标数据域的行为数据。
在一实施例中,作为所述根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合的第一具体实施例,包括:
获取所述相似向量集合的用户标识集合,在所述第二矩阵中获取具有所述用户标识集合中用户标识的行向量组成相似用户行向量集合。
在本实施例中,例如所获取的目标用户对应第一矩阵中第一个行向量R1,R1对应的行向量为(u1,j1,Wu_1j_1)。此时在第一矩阵中获取到(u1,j1,Wu_1j_1)对应的相似向量集合包括如下行向量(u2,j2,Wu_2j_2)、(u3,j4,Wu_3j_4)、(u5,j6,Wu_5j_6)和(u6,j1,Wu_6j_4)。在相似向量集合中包括的用户标识集合有u2、u3、u5和u6。若在所述第二矩阵中同样有这4个用户的行为数据,例如用户 u2与第二矩阵中用户U2对应相同用户且用户U2在第二矩阵中对应行向量(U2,I1,WU_2I_1)、用户u3与第二矩阵中用户U3对应相同用户且用户U3在第二矩阵中对应行向量(U3,I1,WU_3I_1)、用户u5与第二矩阵中用户U5对应相同用户且用户U5在第二矩阵中对应行向量(U5,I2,WU_5I_2)、以及用户u6与第二矩阵中用户U6对应相同用户且用户U6在第二矩阵中对应行向量(U6,I2,WU_6I_2),上述4个在所述第二矩阵中具有所述用户标识集合中用户标识的行向量组成相似用户行向量集合。此时将相似用户行向量集合中所有行向量的用户标识(例如上述行向量中的U2、U3、U5和U6均为第二矩阵中的用户标识)用u1进行替代,则得到了如下4个行向量(u1,I1,WU_2I_1)、(u1,I1,WU_3I_1)、(u1,I2,WU_5I_2)以及(u1,I2,WU_6I_2),从而组成更新后向量集合,此时更新后向量集合中每一行向量均是针对目标用户唯一标识这一目标用户的行向量。
此时所获取到的行向量(u1,I1,WU_2I_1)表示用户u1对课程I1学习WU_2I_1的时长,(u1,I1,WU_3I_1)表示用户u1对课程I1学习WU_3I_1的时长,(u1,I2,WU_5I_2)表示用户u1对课程I2学习WU_5I_2的时长,(u1,I2,WU_6I_2) 表示用户u1对课程I2学习WU_6I_2的时长。可见在未进行处理的更新后向量集合中,同一用户u1针对同一课程具有不同的学习时长,此时可以将同一用户u1针对同一课程的学习时长进行求平均(如用户u1对课程I1学习(WU_2I_1+ WU_3I_1)/2的时长),从而实现了同一用户u1针对同一课程的学习时长只对应一个时长平均值,从而有效实现了将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并。显然,通过将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并只是一种合并策略,还可以预先设置其他合并策略,只要能实现将将同一用户针对同一课程的行向量进行合并即可。通过获取第一向量集合,即实现了将源数据域的目标用户参考其在目标数据域的近似用户群构建目标用户在目标数据域的行为数据。
在一实施例中,作为所述根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合的第二具体实施例,包括:
将所述相似向量集合中每一相似向量作为相似用户行向量,组成相似用户行向量集合。
在本实施例中,例如所获取的目标用户对应第一矩阵中第一个行向量R1,R1对应的行向量为(u1,j1,Wu_1j_1)。此时在第二矩阵中获取到的相似向量集合包括如下行向量(U2,I1,WU_2I_1)、(U3,I1,WU_3I_1)、(U5,I2,WU_5I_2)和(U6,I2,WU_6I_2)。此时直接以所述相似向量集合中每一相似向量作为相似用户行向量,组成相似用户行向量集合,也即相似用户行向量集合包括(U2,I1,WU_2I_1)、(U3,I1,WU_3I_1)、(U5,I2,WU_5I_2)和(U6,I2,WU_6I_2)。
此时将相似用户行向量集合中所有行向量的用户标识(例如上述行向量中的U2、U3、U5和U6均为第二矩阵中的用户标识)用u1进行替代,则得到了如下4个行向(u1,I1,WU_2I_1)、(u1,I1,WU_3I_1)、(u1,I2,WU_5I_2)和(u1,I2,WU_6I_2),从而组成更新后向量集合,此时更新后向量集合中每一行向量均是针对目标用户唯一标识这一目标用户的行向量。
此时所获取到的行向量(u1,I1,WU_2I_1)表示用户u1对课程I1学习WU_2I_1的时长,(u1,I1,WU_3I_1)表示用户u1对课程I1学习WU_3I_1的时长,(u1,I2,WU_5I_2)表示用户u1对课程I2学习WU_5I_2的时长,(u1,I2,WU_6I_2)表示用户u1对课程I2学习WU_6I_2的时长。可见在未进行处理的更新后向量集合中,同一用户u1针对同一课程具有不同的学习时长,此时可以将同一用户u1针对同一课程的学习时长进行求平均(如用户u1对课程I1学习(WU_2I_1+ WU_3I_1)/2的时长),从而实现了同一用户u1针对同一课程的学习时长只对应一个时长平均值,从而有效实现了将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并。显然,通过将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并只是一种合并策略,还可以预先设置其他合并策略,只要能实现将将同一用户针对同一课程的行向量进行合并即可。通过获取第一向量集合,即实现了将源数据域的目标用户参考其在目标数据域的近似用户群构建目标用户在目标数据域的行为数据。
S104、将所述第一向量集合中的行向量根据预设的排序策略进行排序得到第二向量集合,获取所述第二向量集合中所具有行排序值未超出预设的行排序值阈值的行向量组成目标行向量集合,获取所述目标行向量集合中所具有预设的字段名称的取值组成第一推荐数据集合。
在本实施例中,继续参考上述列举的实例,计算得到的第一向量集合中包括(u1,I1,(WU_2I_1+ WU_3I_1)/2)和(u1,I2,(WU_5I_2+ WU_6I_2)/2))这两个行向量,此时可以设置排序策略为根据行向量中指定字段的取值(如学习时长的取值)按降序顺序进行排序,若(WU_2I_1+WU_3I_1)/2是大于WU_5I_2+ WU_6I_2)/2),则第二向量集合中(u1,I1,(WU_2I_1+ WU_3I_1)/2)位于第一行,(u1,I2,(WU_5I_2+ WU_6I_2)/2))位于第二行。若此时预设的行排序阈值为1,此时取出(u1,I1,(WU_2I_1+ WU_3I_1)/2)这一行向量组成目标行向量集合。
由于需要对用户u1推荐课程,此时可以直接获取目标行向量集合(u1,I1,(WU_2I_1+WU_3I_1)/2)这一行向量中课程名称字段(课程名称字段可以理解为预设的字段名称)的取值I1进行获取,即可得到第一推荐数据集合。
在一实施例中,步骤S104包括:
将所述第一向量集合中的行向量根据预设字段的取值降序排序,得到第二向量集合。
在本实施例中,可以设置排序策略为根据行向量中学习时长这一字段的取值按降序顺序进行排序,第一向量集合中包括(u1,I1,(WU_2I_1+ WU_3I_1)/2)和(u1,I2,(WU_5I_2+WU_6I_2)/2))这两个行向量,若(WU_2I_1+ WU_3I_1)/2是大于WU_5I_2+ WU_6I_2)/2),则第二向量集合中(u1,I1,(WU_2I_1+ WU_3I_1)/2)位于第一行,(u1,I2,(WU_5I_2+ WU_6I_2)/2))位于第二行。若此时预设的行排序阈值为1,此时取出(u1,I1,(WU_2I_1+ WU_3I_1)/2)这一行向量组成目标行向量集合 。
S105、获取联邦学习模型,将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合。
在本实施例中,除了基于迁移学习的方式获取第一推荐数据集合,还可以基于联邦学习模型获取与更新后向量集合相应的第二推荐数据集合,从而实现从另一种方式再获取推荐数据集合。
在一实施例中,步骤S105之前还包括:
获取参与方集合以及模型更新轮次,并获取待训练联邦学习模型;
根据所述参与方集合中各个参与方的资源分配信息,获取各个参与方的本地模型更新所需时间及上传更新所需时间;
获取各个参与方发送的加密模型参数;
将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数;
将所述聚合模型参数加密得到加密聚合模型参数,将所述加密聚合模型参数发送至各个参与方;
若确定加密聚合模型参数未满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数未满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取各个参与方发送的更新加密模型参数,以所述更新加密模型参数对所述加密模型参数进行更新,返回执行将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数的步骤;
若确定加密聚合模型参数满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取所述聚合模型参数作为所述待训练联邦学习模型,得到联邦学习模型。
在本实施例中,若以服务器为聚合服务器(也可以理解为协调方)协调进行联邦学习,可以基于联邦学习来解决数据无法在不同域中共享数据的条件下从而无法完成课程推荐模型训练的问题。本申请中具体采用安全的联邦平均算法(即加法同态的加密模型平均算法)为例进行说明。
进行联邦学习模型的训练具体过程如下:
A1)协调方进行初始化,在各个参与方本地进行模型初始化训练。
对于这一步骤,可首先对于实际情况和计算资源进行评估,确定参与训练的参与方集合以及模型更新轮次。例如调查参与方资源分配,了解本地资源以及训练任务相关的数据规模;并且估计每一个参与方计算本地模型更新所需时间,以及上传更新所需时间。之后协调方基于这些估计选择哪一个参与方。在给定一个全局迭代轮次所需时间预算的情况下,协调方应选择尽可能多的参与方。同时可根据历史数据或者前期的抽测数据进行模型训练给出初始化模型参数。可随机选择一个参与方进行一轮模型迭代,对于基于用户-课程矩阵进行标签推荐的模型构建,给出机器学习的模型参数以及损失函数。对于不同域(如不同地区的用户课程学习信息)首先根据协调方发送的初始化模型设定进行模型训练,得到初始的课程标签的推荐值(0-1的概率输出),对于标签的概率值进行推荐排序。并参照实际推荐系统中的标签排序计算损失函数。
A2)从参与方发送加密的模型参数(梯度)至协调方。
对于更新的模型参数和损失函数对应值进行加密处理后发送给协调方的聚合服务器。在这个过程中可考虑两种策略减低在通讯过程中的开销:压缩的模型参数更新和结构化的模型参数更新。其中,压缩的模型参数更新是指参与方正常计算模型更新,之后进行本地压缩。压缩模型参数更新通常是真正更新的无偏估计,这意味着它们再平均之后是相同的。一种执行模型参数更新压缩的可行方法是使用概率分层。参与方之后给协调放发送压缩更新,这样可以降低通讯的开销。另外,结构化的模型参数更新是指在联邦模型的训练过程中,模型参数更新被限制为允许有效压缩操作的形式。例如,模型参数可能是被强制要求是稀疏的或者是低阶的,或者可能被要求在一个使用更少变量进行参数化的限制空间内进行模型参数的更新计算。之后优化过程将找出这种形势下最可能的更新信息,再将这个模型参数更新发送给协调方,以降低通信开销。
A3)在协调方进行聚合(参数加权平均)。
对于收到的各个参与方的模型参数和损失函数对应的数值,在聚合服务器进行聚合处理,对于聚合方法可以考虑加法同态或者标量乘法同态的方法,对于模型参数进行全局性的调整。
A4)从协调方发送加密的聚合参数至参与方,解密梯度并在本地进行模型更新。
根据当前对于模型参数的设置在不同参与方(地区)进行模型迭代,更新课程推荐模型的相关参数,同样根据推荐系统中的推荐标签排序计算损失函数对应值。继续进行加密和上传至协调方的处理,既保证模型进一步迭代,又保证数据安全隐私。
A5)重复步骤A2)-A4),直到损失函数收敛或者达到最大迭代次数。
对于最终得到的模型结果,分别分发回到各个参与方进行课程推荐结果预测,作为最终推荐给用户的课程列表清单。
当在协调方中完成了联邦学习模型的获取后,在服务器本地也是能获取到联邦学习模型,此时将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合。
S106、获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合。
在本实施例中,通过迁移学习得到了一个第一推荐数据集合,并基于联邦学习得到了一个第二推荐数据集合,而且服务器中原始就存在一个默认的课程排序结果即默认推荐数据集合,针对同一个用户可以得到三种课程推荐的标签排序。对于三种排序标签的可引入模型集成的方法,既考虑了相似人群的推荐结果,又全局最优模型的推荐结果,是一种泛化性较强的模型体系。常用的模型集成方法有:投票法(Voting),平均法(Averaging)。
B1)投票法。
投票法即常见的“少数服从多数”原则,可以统计在多个模型的分类结果,即选择频数高的类别。当不考虑课程推荐标签的顺序问题,只考虑平等的同时推荐若干的标签时,可参考这种方法。这种方法首先要设定三种模型方法对应的优先级排序,在这里默认原始的推荐系统模型给出的结果优先级最高,剩余两种方法可参考匹配的准确率进行排序,即模型准确率高的模型结果优先级较高,并可根据实际业务情况对于三种方法进行优先级赋值(例如,推荐系统3,迁移学习2,联邦学习1)。对应已经有的三个模型结果,提取目标用户的排序前十名的课程名称,统计每个课程名称的出现次数,如果三种方法都推荐了此课程名称,则认为该课程名称受到了三种模型体系的推荐,被推荐的力度较强。若某标签只有一种或者两种方法推荐,则默认该标签的推荐程度适中,并参考赋值后的优先级加和进行排序,可得到三种方法集成之后的标签排序。
B2)平均法。
平均法在回归问题及含阈值调节的场景更多一些。它的主要操作是对于多个模型计算的结果求平均作为最终的结果。对于三种方法输出的结果既可以提取模型输出所对应的概率值(例如,标签一0.8,标签二0.75等),将三种方法的概率输出结果进行求平均的计算,同时可以对于不同方法的优先级赋值进行加权平均。
还可以对于已有排序进行赋值(例如排名第一的推荐标签赋值为1,第二名0.9,第三名0.8以此类推),对于赋值结果进行求平均的计算。通过上述方法可以得到目标用户所对应的推荐课程名称清单。
最终,所述最终推荐数据集合可以有服务器发送至用户端,从而实现数据智能推荐。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
该方法利用迁移学习和联邦学习的机器学习范式缓解了推荐系统中的冷启动问题和数据不共享问题,也有效提高了推荐模型的泛化能力。
本发明实施例还提供一种基于人工智能的数据推荐装置,该基于人工智能的数据推荐装置用于执行前述基于人工智能的数据推荐方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的基于人工智能的数据推荐装置100的示意性框图。
其中,如图3所示,基于人工智能的数据推荐装置100包括矩阵获取单元101、相似向量集合获取单元102、第一向量集合获取单元103、第一推荐集获取单元104、第二推荐集获取单元105、最终推荐数据获取单元106。
矩阵获取单元101,用于响应于数据推荐指令,获取源数据域的第一矩阵,并获取目标数据域的第二矩阵。
在本实施例中,是以服务器为执行主体描述技术方案。为了更好的理解本申请的技术方案,下面以用户在资讯阅读的行为数据作为源数据域,以用户在课程培训的行为数据作为目标数据域。在源数据域中,利用用户资讯阅读数据构造用户-资讯矩阵W,W中每个元素的含义可用三元组(up,iq,Wu_pi_q)表示,即用户up对资讯iq阅读了Wu_pi_q次作为评分的量化指标;因为资讯的内容量非常大(远大于课程数量),矩阵W是一个稀疏矩阵,这不利于后续的计算和相似性度量。
在一实施例中,所述矩阵获取单元101包括:
第一初始矩阵获取单元,用于获取源数据域的第一初始矩阵;
行向量汇总合并单元,用于获取所述第一初始矩阵中每一行向量所属文章标签类别,将具有相同用户和相同文章标签类别的行向量进行汇总合并,得到第一矩阵。
在本实施例中,按资讯文章所属的类别标签进行汇总加工处理,预处理后得到新的矩阵R,由W到R的关系表示如上式(1)所示,此时所得到的新的矩阵R即为表示用户up对jr文章标签类别的资讯阅读了Wu_pj_r次,将矩阵R作为从源数据域获取的第一矩阵。
同理,在目标数据域中,利用用户课程学习数据构造用户-课程矩阵C,C中每个元素的含义可用三元组(UP,IQ,WU_PI_Q)表示,即用户UP对课程IQ学习了WU_PI_Q时长作为评分的量化指标;因为课程数量是远小于资讯数量,此时无需参照对第一初始矩阵的汇总处理得到第一矩阵的过程,直接将所获取的用户-课程矩阵C作为第二矩阵即可。通过上述过程,获取了两个不同数据域之间的用户行为数据,且这两个数据域又互为相近域。其中,上述出现的参数p、q、P、Q均是正整数。
相似向量集合获取单元102,用于若确定获取到目标用户唯一标识,则获取所述目标用户唯一标识在所述第一矩阵中对应的第一行向量,在所述第一矩阵或所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量,并将获取到的所述行向量组成相似向量集合。
在本实施例中,在服务器中最主要的任务就是根据用户指定的目标用户,根据其在第一矩阵中对应的行为数据(也就是目标用户在第一矩阵中对应的行向量)而在第一矩阵或第二矩阵中检索出近似的行为数据从而组成相似向量集合。其中,可通过用户操作用户端登录服务器后,通过用户登录信息确定目标用户唯一标识,然后再根据所述用户唯一标识确定该用户对应第一矩阵中的哪一行向量即可。
例如,对资讯领域和课程领域进行了偏好假设,即两个领域中的领域及结构相似。这里引入基于领域关系的迁移学习方法,将领域知识从资讯领域迁移到课程领域,主要思想是利用资讯领域中用户之间的相关性,并假定具有类似资讯阅读偏好行为的用户在课程学习中也具有其相似性。这时问题转化为如何度量用户之间的相似性上,通常使用余弦相似度来度量两个对象间相似性。
在一实施例中,相似向量集合获取单元102包括:
第一相似向量集合获取单元,用于在所述第一矩阵中通过计算获得各行向量与所述第一行向量之间的余弦相似度,得到与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合;
或者包括第二相似向量集合获取单元,用于在所述第二矩阵中通过计算获得各行向量与所述第一行向量之间的余弦相似度,得到与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合。
在本实施例中,若在所述第一矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合时,可采用如上式(2)的余弦相似度计算方法,通过公式(2)来计算在第一矩阵R中选中的目标用户对应的第一行向量Ra与第一矩阵中R中其他用户对应的行向量Rb之间的余弦相似度以作为两个用户之间相似性的度量参数。根据余弦夹角来判断相似度,两个向量越相似,夹角越小,sim(a,b)的值越大。
在计算第一行向量Ra与第一矩阵中R中其他用户对应的行向量Rb之间的相似度时还可以利用改进的余弦相似度计算方法,具体参照改进后的如上公式(3)。以上改进点主要是计算用户行向量各维度的均值
Figure 37971DEST_PATH_IMAGE003
,然后每个行向量在各维度减去均值后再计算余弦相似度。这种方法可以在考虑方向的同时兼顾具体数值大小,更准确地判断两个行向量之间的相似性。通过以上计算,删除具有较小相似度的用户(如sim(a,b)<0.15),取得相似的用户的行向量构成相似向量集合(也可以理解为领域集合Uu)。
在本实施例中,若在所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合时,可采用如上式(4)的余弦相似度计算方法,通过公式(4)来计算在第二矩阵C中选中的目标用户对应的第一行向量Ra与第二矩阵中各用户对应的行向量Cb之间的余弦相似度以作为两个用户之间相似性的度量参数。根据余弦夹角来判断相似度,两个向量越相似,夹角越小,sim(a,b)的值越大。
可见,只要获取了目标用户唯一标识,即可先获取其在所述第一矩阵中对应的第一行向量,然后在第一矩阵或第二矩阵中或与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合,通过这一方式快速且准确的筛选出目标用户的相似用户。
第一向量集合获取单元103,用于根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,将所述相似用户行向量集合中每一行向量对应用户标识按所述目标用户唯一标识进行更新得到更新后向量集合,将所述更新后向量集合中所包括更新后行向量根据预设的合并策略进行合并得到第一向量集合。
在本实施例中,当获取了相似向量集合后,可以根据所述相似向量集合中的各个相似向量在所述第二矩阵中获取相应的相似用户行向量集合。例如根据所述相似向量集合包括的用户标识集合在所述第二矩阵中获取相应的相似用户行向量集合,或是直接以相似向量集合作为相似用户行向量集合。通过这一方式可以快速在课程领域的用户行为数据中得到与目标用户为相似用户的用户行为数据,实现了将源数据域的目标用户参考其在目标数据域的近似用户群构建目标用户在目标数据域的行为数据。
在一实施例中,作为第一向量集合获取单元103的第一具体实施例,还用于:
获取所述相似向量集合的用户标识集合,在所述第二矩阵中获取具有所述用户标识集合中用户标识的行向量组成相似用户行向量集合。
在本实施例中,例如所获取的目标用户对应第一矩阵中第一个行向量R1,R1对应的行向量为(u1,j1,Wu_1j_1)。此时在第一矩阵中获取到(u1,j1,Wu_1j_1)对应的相似向量集合包括如下行向量(u2,j2,Wu_2j_2)、(u3,j4,Wu_3j_4)、(u5,j6,Wu_5j_6)和(u6,j1,Wu_6j_4)。在相似向量集合中包括的用户标识集合有u2、u3、u5和u6。若在所述第二矩阵中同样有这4个用户的行为数据,例如用户 u2与第二矩阵中用户U2对应相同用户且用户U2在第二矩阵中对应行向量(U2,I1,WU_2I_1)、用户u3与第二矩阵中用户U3对应相同用户且用户U3在第二矩阵中对应行向量(U3,I1,WU_3I_1)、用户u5与第二矩阵中用户U5对应相同用户且用户U5在第二矩阵中对应行向量(U5,I2,WU_5I_2)、以及用户u6与第二矩阵中用户U6对应相同用户且用户U6在第二矩阵中对应行向量(U6,I2,WU_6I_2),上述4个在所述第二矩阵中具有所述用户标识集合中用户标识的行向量组成相似用户行向量集合。此时将相似用户行向量集合中所有行向量的用户标识(例如上述行向量中的U2、U3、U5和U6均为第二矩阵中的用户标识)用u1进行替代,则得到了如下4个行向量(u1,I1,WU_2I_1)、(u1,I1,WU_3I_1)、(u1,I2,WU_5I_2)以及(u1,I2,WU_6I_2),从而组成更新后向量集合,此时更新后向量集合中每一行向量均是针对目标用户唯一标识这一目标用户的行向量。
此时所获取到的行向量(u1,I1,WU_2I_1)表示用户u1对课程I1学习WU_2I_1的时长,(u1,I1,WU_3I_1)表示用户u1对课程I1学习WU_3I_1的时长,(u1,I2,WU_5I_2)表示用户u1对课程I2学习WU_5I_2的时长,(u1,I2,WU_6I_2) 表示用户u1对课程I2学习WU_6I_2的时长。可见在未进行处理的更新后向量集合中,同一用户u1针对同一课程具有不同的学习时长,此时可以将同一用户u1针对同一课程的学习时长进行求平均(如用户u1对课程I1学习(WU_2I_1+ WU_3I_1)/2的时长),从而实现了同一用户u1针对同一课程的学习时长只对应一个时长平均值,从而有效实现了将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并。显然,通过将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并只是一种合并策略,还可以预先设置其他合并策略,只要能实现将将同一用户针对同一课程的行向量进行合并即可。通过获取第一向量集合,即实现了将源数据域的目标用户参考其在目标数据域的近似用户群构建目标用户在目标数据域的行为数据。
在一实施例中,作为第一向量集合获取单元103的第二具体实施例,还用于:
将所述相似向量集合中每一相似向量作为相似用户行向量,组成相似用户行向量集合。
在本实施例中,例如所获取的目标用户对应第一矩阵中第一个行向量R1,R1对应的行向量为(u1,j1,Wu_1j_1)。此时在第二矩阵中获取到的相似向量集合包括如下行向量(U2,I1,WU_2I_1)、(U3,I1,WU_3I_1)、(U5,I2,WU_5I_2)和(U6,I2,WU_6I_2)。此时直接以所述相似向量集合中每一相似向量作为相似用户行向量,组成相似用户行向量集合,也即相似用户行向量集合包括(U2,I1,WU_2I_1)、(U3,I1,WU_3I_1)、(U5,I2,WU_5I_2)和(U6,I2,WU_6I_2)。
此时将相似用户行向量集合中所有行向量的用户标识(例如上述行向量中的U2、U3、U5和U6均为第二矩阵中的用户标识)用u1进行替代,则得到了如下4个行向(u1,I1,WU_2I_1)、(u1,I1,WU_3I_1)、(u1,I2,WU_5I_2)和(u1,I2,WU_6I_2),从而组成更新后向量集合,此时更新后向量集合中每一行向量均是针对目标用户唯一标识这一目标用户的行向量。
此时所获取到的行向量(u1,I1,WU_2I_1)表示用户u1对课程I1学习WU_2I_1的时长,(u1,I1,WU_3I_1)表示用户u1对课程I1学习WU_3I_1的时长,(u1,I2,WU_5I_2)表示用户u1对课程I2学习WU_5I_2的时长,(u1,I2,WU_6I_2)表示用户u1对课程I2学习WU_6I_2的时长。可见在未进行处理的更新后向量集合中,同一用户u1针对同一课程具有不同的学习时长,此时可以将同一用户u1针对同一课程的学习时长进行求平均(如用户u1对课程I1学习(WU_2I_1+ WU_3I_1)/2的时长),从而实现了同一用户u1针对同一课程的学习时长只对应一个时长平均值,从而有效实现了将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并。显然,通过将同一用户针对同一课程的行向量进行求学习时长平均值方式的合并只是一种合并策略,还可以预先设置其他合并策略,只要能实现将将同一用户针对同一课程的行向量进行合并即可。通过获取第一向量集合,即实现了将源数据域的目标用户参考其在目标数据域的近似用户群构建目标用户在目标数据域的行为数据。
第一推荐集获取单元104,用于将所述第一向量集合中的行向量根据预设的排序策略进行排序得到第二向量集合,获取所述第二向量集合中所具有行排序值未超出预设的行排序值阈值的行向量组成目标行向量集合,获取所述目标行向量集合中所具有预设的字段名称的取值组成第一推荐数据集合。
在本实施例中,继续参考上述列举的实例,计算得到的第一向量集合中包括(u1,I1,(WU_2I_1+ WU_3I_1)/2)和(u1,I2,(WU_5I_2+ WU_6I_2)/2))这两个行向量,此时可以设置排序策略为根据行向量中指定字段的取值(如学习时长的取值)按降序顺序进行排序,若(WU_2I_1+WU_3I_1)/2是大于WU_5I_2+ WU_6I_2)/2),则第二向量集合中(u1,I1,(WU_2I_1+ WU_3I_1)/2)位于第一行,(u1,I2,(WU_5I_2+ WU_6I_2)/2))位于第二行。若此时预设的行排序阈值为1,此时取出(u1,I1,(WU_2I_1+ WU_3I_1)/2)这一行向量组成目标行向量集合。
由于需要对用户u1推荐课程,此时可以直接获取目标行向量集合(u1,I1,(WU_2I_1+WU_3I_1)/2)这一行向量中课程名称字段(课程名称字段可以理解为预设的字段名称)的取值I1进行获取,即可得到第一推荐数据集合。
在一实施例中,第一推荐集获取单元104还用于:
将所述第一向量集合中的行向量根据预设字段的取值降序排序,得到第二向量集合。
在本实施例中,可以设置排序策略为根据行向量中学习时长这一字段的取值按降序顺序进行排序,第一向量集合中包括(u1,I1,(WU_2I_1+ WU_3I_1)/2)和(u1,I2,(WU_5I_2+WU_6I_2)/2))这两个行向量,若(WU_2I_1+ WU_3I_1)/2是大于WU_5I_2+ WU_6I_2)/2),则第二向量集合中(u1,I1,(WU_2I_1+ WU_3I_1)/2)位于第一行,(u1,I2,(WU_5I_2+ WU_6I_2)/2))位于第二行。若此时预设的行排序阈值为1,此时取出(u1,I1,(WU_2I_1+ WU_3I_1)/2)这一行向量组成目标行向量集合。
第二推荐集获取单元105,还用于获取联邦学习模型,将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合。
在本实施例中,除了基于迁移学习的方式获取第一推荐数据集合,还可以基于联邦学习模型获取与更新后向量集合相应的第二推荐数据集合,从而实现从另一种方式再获取推荐数据集合。
在一实施例中,基于人工智能的数据推荐装置100还包括:
联邦学习初始获取单元,用于获取参与方集合以及模型更新轮次,并获取待训练联邦学习模型;
联邦学习参数获取单元,用于根据所述参与方集合中各个参与方的资源分配信息,获取各个参与方的本地模型更新所需时间及上传更新所需时间;
加密模型参数获取单元,用于获取各个参与方发送的加密模型参数;
参数聚合单元,用于将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数;
聚合参数分发单元,用于将所述聚合模型参数加密得到加密聚合模型参数,将所述加密聚合模型参数发送至各个参与方;
第一执行单元,用于若确定加密聚合模型参数未满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数未满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取各个参与方发送的更新加密模型参数,以所述更新加密模型参数对所述加密模型参数进行更新,返回执行将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数的步骤;
第二执行单元,用于若确定加密聚合模型参数满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取所述聚合模型参数作为所述待训练联邦学习模型,得到联邦学习模型。
在本实施例中,若以服务器为聚合服务器(也可以理解为协调方)协调进行联邦学习,可以基于联邦学习来解决数据无法在不同域中共享数据的条件下从而无法完成课程推荐模型训练的问题。对于最终得到的模型结果,分别分发回到各个参与方进行课程推荐结果预测,作为最终推荐给用户的课程列表清单。
当在协调方中完成了联邦学习模型的获取后,在服务器本地也是能获取到联邦学习模型,此时将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合。
最终推荐数据获取单元106,用于获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合。
在本实施例中,通过迁移学习得到了一个第一推荐数据集合,并基于联邦学习得到了一个第二推荐数据集合,而且服务器中原始就存在一个默认的课程排序结果即默认推荐数据集合,针对同一个用户可以得到三种课程推荐的标签排序。对于三种排序标签的可引入模型集成的方法,既考虑了相似人群的推荐结果,又全局最优模型的推荐结果,是一种泛化性较强的模型体系。常用的模型集成方法有:投票法(Voting),平均法(Averaging)。将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合。最终,所述最终推荐数据集合可以有服务器发送至用户端,从而实现数据智能推荐。
该装置利用迁移学习和联邦学习的机器学习范式缓解了推荐系统中的冷启动问题和数据不共享问题,也有效提高了推荐模型的泛化能力。
上述基于人工智能的数据推荐装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,也可以是服务器集群。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参阅图4,该计算机设备500包括通过装置总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作装置5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于人工智能的数据推荐方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于人工智能的数据推荐方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的基于人工智能的数据推荐方法。
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的基于人工智能的数据推荐方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 ( 可以是个人计算机,后台服务器,或者网络设备等 ) 执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U 盘、移动硬盘、只读存储器 (ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种基于人工智能的数据推荐方法,其特征在于,包括:
响应于数据推荐指令,获取源数据域的第一矩阵,并获取目标数据域的第二矩阵;
若确定获取到目标用户唯一标识,则获取所述目标用户唯一标识在所述第一矩阵中对应的第一行向量,在所述第一矩阵或所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量,并将获取到的所述行向量组成相似向量集合;
根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,将所述相似用户行向量集合中每一行向量对应用户标识按所述目标用户唯一标识进行更新得到更新后向量集合,将所述更新后向量集合中所包括更新后行向量根据预设的合并策略进行合并得到第一向量集合;
将所述第一向量集合中的行向量根据预设的排序策略进行排序得到第二向量集合,获取所述第二向量集合中所具有行排序值未超出预设的行排序值阈值的行向量组成目标行向量集合,获取所述目标行向量集合中所具有预设的字段名称的取值组成第一推荐数据集合;
获取联邦学习模型,将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合;以及
获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合;
所述获取联邦学习模型,将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合之前,还包括:
获取参与方集合以及模型更新轮次,并获取待训练联邦学习模型;
根据所述参与方集合中各个参与方的资源分配信息,获取各个参与方的本地模型更新所需时间及上传更新所需时间;
获取各个参与方发送的加密模型参数;
将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数;
将所述聚合模型参数加密得到加密聚合模型参数,将所述加密聚合模型参数发送至各个参与方;
若确定加密聚合模型参数未满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数未满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取各个参与方发送的更新加密模型参数,以所述更新加密模型参数对所述加密模型参数进行更新,返回执行将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数的步骤;
若确定加密聚合模型参数满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取所述聚合模型参数作为所述待训练联邦学习模型,得到联邦学习模型。
2.根据权利要求1所述的基于人工智能的数据推荐方法,其特征在于,所述获取源数据域的第一矩阵,包括:
获取源数据域的第一初始矩阵;
获取所述第一初始矩阵中每一行向量所属文章标签类别,将具有相同用户和相同文章标签类别的行向量进行汇总合并,得到第一矩阵。
3.根据权利要求1所述的基于人工智能的数据推荐方法,其特征在于,所述在所述第一矩阵或所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量,并将获取到的所述行向量组成相似向量集合,包括:
在所述第一矩阵中通过计算获得各行向量与所述第一行向量之间的余弦相似度,得到与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合;
或者在所述第二矩阵中通过计算获得各行向量与所述第一行向量之间的余弦相似度,得到与所述第一行向量之间的相似度超出预设相似度阈值的行向量组成相似向量集合。
4.根据权利要求3所述的基于人工智能的数据推荐方法,其特征在于,所述根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,包括:
获取所述相似向量集合的用户标识集合,在所述第二矩阵中获取具有所述用户标识集合中用户标识的行向量组成相似用户行向量集合。
5.根据权利要求3所述的基于人工智能的数据推荐方法,其特征在于,所述根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,包括:
将所述相似向量集合中每一相似向量作为相似用户行向量,组成相似用户行向量集合。
6.根据权利要求1所述的基于人工智能的数据推荐方法,其特征在于,所述将所述第一向量集合中的行向量根据预设的排序策略进行排序得到第二向量集合,包括:
将所述第一向量集合中的行向量根据预设字段的取值降序排序,得到第二向量集合。
7.一种基于人工智能的数据推荐装置,其特征在于,包括:
矩阵获取单元,用于响应于数据推荐指令,获取源数据域的第一矩阵,并获取目标数据域的第二矩阵;
相似向量集合获取单元,用于若确定获取到目标用户唯一标识,则获取所述目标用户唯一标识在所述第一矩阵中对应的第一行向量,在所述第一矩阵或所述第二矩阵中获取与所述第一行向量之间的相似度超出预设相似度阈值的行向量,并将获取到的所述行向量组成相似向量集合;
第一向量集合获取单元,用于根据所述相似向量集合,在所述第二矩阵中获取相应的相似用户行向量集合,将所述相似用户行向量集合中每一行向量对应用户标识按所述目标用户唯一标识进行更新得到更新后向量集合,将所述更新后向量集合中所包括更新后行向量根据预设的合并策略进行合并得到第一向量集合;
第一推荐集获取单元,用于将所述第一向量集合中的行向量根据预设的排序策略进行排序得到第二向量集合,获取所述第二向量集合中所具有行排序值未超出预设的行排序值阈值的行向量组成目标行向量集合,获取所述目标行向量集合中所具有预设的字段名称的取值组成第一推荐数据集合;
第二推荐集获取单元,用于获取联邦学习模型,将所述更新后向量集合输入至所述联邦学习模型进行运算,得到第二推荐数据集合;以及
最终推荐数据获取单元,用于获取默认推荐数据集合,将所述第一推荐数据集合、所述第二推荐数据集合及所述默认推荐数据集合通过预设的投票策略或平均策略进行数据集成,得到最终推荐数据集合;
所述基于人工智能的数据推荐装置还包括:
联邦学习初始获取单元,用于获取参与方集合以及模型更新轮次,并获取待训练联邦学习模型;
联邦学习参数获取单元,用于根据所述参与方集合中各个参与方的资源分配信息,获取各个参与方的本地模型更新所需时间及上传更新所需时间;
加密模型参数获取单元,用于获取各个参与方发送的加密模型参数;
参数聚合单元,用于将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数;
聚合参数分发单元,用于将所述聚合模型参数加密得到加密聚合模型参数,将所述加密聚合模型参数发送至各个参与方;
第一执行单元,用于若确定加密聚合模型参数未满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数未满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取各个参与方发送的更新加密模型参数,以所述更新加密模型参数对所述加密模型参数进行更新,返回执行将各个参与方发送的加密模型参数进行聚合,得到聚合模型参数的步骤;
第二执行单元,用于若确定加密聚合模型参数满足使所述待训练联邦学习模型的损失函数收敛,或者是确定加密聚合模型参数满足使所述待训练联邦学习模型的迭代次数达到所述模型更新轮次,获取所述聚合模型参数作为所述待训练联邦学习模型,得到联邦学习模型。
8.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于人工智能的数据推荐方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至6任一项所述的基于人工智能的数据推荐方法。
CN202111103139.5A 2021-09-18 2021-09-18 基于人工智能的数据推荐方法、装置、设备及介质 Active CN113569151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111103139.5A CN113569151B (zh) 2021-09-18 2021-09-18 基于人工智能的数据推荐方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111103139.5A CN113569151B (zh) 2021-09-18 2021-09-18 基于人工智能的数据推荐方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113569151A CN113569151A (zh) 2021-10-29
CN113569151B true CN113569151B (zh) 2021-12-17

Family

ID=78173930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111103139.5A Active CN113569151B (zh) 2021-09-18 2021-09-18 基于人工智能的数据推荐方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113569151B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114139052B (zh) * 2021-11-19 2022-10-21 北京百度网讯科技有限公司 用于智能推荐的排序模型训练方法、智能推荐方法及装置
CN115392592B (zh) * 2022-10-25 2023-03-24 浪潮电子信息产业股份有限公司 一种存储产品参数配置推荐方法、装置、设备及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110363305B (zh) * 2019-07-17 2023-09-26 深圳前海微众银行股份有限公司 联邦学习方法、系统、终端设备及存储介质
CN111079022B (zh) * 2019-12-20 2023-10-03 深圳前海微众银行股份有限公司 基于联邦学习的个性化推荐方法、装置、设备及介质
CN112287244A (zh) * 2020-10-29 2021-01-29 平安科技(深圳)有限公司 基于联邦学习的产品推荐方法、装置、计算机设备及介质
CN112231586A (zh) * 2020-12-15 2021-01-15 平安科技(深圳)有限公司 基于迁移学习的课程推荐方法、装置、设备及介质
CN113239879B (zh) * 2021-06-01 2023-07-04 平安科技(深圳)有限公司 联邦模型训练、证件检测方法、装置、设备及介质

Also Published As

Publication number Publication date
CN113569151A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN110084377B (zh) 用于构建决策树的方法和装置
CN113569151B (zh) 基于人工智能的数据推荐方法、装置、设备及介质
WO2019205325A1 (zh) 确定用户风险等级的方法、终端设备及计算机可读存储介质
CN113449048B (zh) 数据标签分布确定方法、装置、计算机设备和存储介质
CN103761254A (zh) 多领域服务主题匹配推荐方法
CN110413867B (zh) 用于内容推荐的方法及系统
CN110750658B (zh) 一种媒体资源的推荐方法、服务器及计算机可读存储介质
CN111510368B (zh) 家庭群组识别方法、装置、设备及计算机可读存储介质
CN113065045B (zh) 对用户进行人群划分、训练多任务模型的方法和装置
CN112751785B (zh) 待处理请求发送方法、装置、计算机设备及存储介质
CN111782782B (zh) 智能客服的咨询回复方法、装置、计算机设备和存储介质
CN113256335A (zh) 数据筛选方法、多媒体数据的投放效果预测方法及装置
CN117057445A (zh) 基于联邦学习框架的模型优化方法、系统和装置
CN111368060A (zh) 对话机器人的自学习方法、装置、系统、电子设备及介质
Zhang et al. A light-weight crowdsourcing aggregation in privacy-preserving federated learning system
CN115795156A (zh) 物料召回和神经网络训练方法、装置、设备及存储介质
CN113704624B (zh) 基于用户分流的策略推荐方法、装置、设备及介质
CN114463063A (zh) 数据处理方法及相关装置
CN115938600A (zh) 一种基于关联分析的心理健康状态预测方法与系统
Lee et al. An experimental analysis of anytime algorithms for Bayesian network structure learning
CN114268625B (zh) 特征选择方法、装置、设备及存储介质
CN113688762A (zh) 基于深度学习的人脸识别方法、装置、设备及介质
CN109308565B (zh) 人群绩效等级识别方法、装置、存储介质及计算机设备
KR20200036173A (ko) 사용자 그루핑 및 그룹별 선호 기계학습 분석 알고리즘을 추천하는 방법 및 장치
CN113806691B (zh) 一种分位数的获取方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant