CN116361643A - 实现对象推荐的模型训练方法及对象推荐方法及相关装置 - Google Patents

实现对象推荐的模型训练方法及对象推荐方法及相关装置 Download PDF

Info

Publication number
CN116361643A
CN116361643A CN202310173248.7A CN202310173248A CN116361643A CN 116361643 A CN116361643 A CN 116361643A CN 202310173248 A CN202310173248 A CN 202310173248A CN 116361643 A CN116361643 A CN 116361643A
Authority
CN
China
Prior art keywords
node
vector
session
target
target session
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.)
Pending
Application number
CN202310173248.7A
Other languages
English (en)
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310173248.7A priority Critical patent/CN116361643A/zh
Publication of CN116361643A publication Critical patent/CN116361643A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种模型训练方法,包括:获取会话样本,所述会话样本是以会话过程的访问对象为节点的节点转移记录;将所述会话样本建模为节点转移图;将所述节点转移图提供给待训练的机器学习模型,获得表示目标会话样本的目标会话向量;根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估;根据性能评估结果调整所述机器学习模型。本申请同时提供一种使用上述模型进行对象推荐的方法,该方法利用上述经过训练的模型,采用搜集的会话过程,实现相关对象的推荐。本申请直接基于会话过程进行推荐,与会话主体的自身背景信息无关,解决了匿名或者隐私限制造成主体背景信息缺失情况下的对象推荐问题。

Description

实现对象推荐的模型训练方法及对象推荐方法及相关装置
技术领域
本发明涉及对象推荐领域,具体涉及一种实现对象推荐的模型训练方法以及装置;本申请同时涉及一种对象推荐方法以及装置。本申请还涉及相关的电子设备和存储介质。
背景技术
随着当今技术的飞速发展,数据量也与日俱增,人们越来越感觉在海量数据面前束手无策。为了解决信息过载的问题,人们提出了推荐系统。推荐系统通过用户的历史行为、兴趣偏好或者人口统计学特征来提供给推荐算法,然后运用推荐算法来产生用户可能感兴趣的项目列表。推荐系统广泛存在于商品推荐、小说推荐、视频推荐等各类网站中,作为一个应用为用户提供个性化的推荐。
业内常用的推荐算法大多数基于双塔模型。双塔模型并不是一个固定不变的网络,而是一种模型构造思路:即把模型分成用户模型和物品模型两部分,然后用互操作层把这两部分联合起来,产生最后的预测得分。双塔模型最大的特点就是用户和物品是独立的两个子网络,这两个塔的参数不共享,他们分别输出用户嵌入特征和物品嵌入特征,然后将2个嵌入特征作为互操作层的输入,计算它们的相似度,然后基于用户和物品的相似度进行推荐。
上述的双塔模型在建模时需要同时获得用户和物品的历史数据,即该模型十分依赖用户个人(即推荐系统所服务的主体)的背景信息,在当前隐私保护意识越来越强烈的大背景下,如果失去主体背景信息,因而缺少建模所足够的用户偏好的历史数据量时,此类模型便无法进行精准的训练和推荐,甚至无法工作。此外,双塔模型由于仅仅只会根据已访问对象猜测用户爱好,即仅能建模用户的偏好,因此只会推荐与已访问对象相似的物品,无法建模用户意图,存在一定的信息损失。这些缺点导致基于双塔模型的推荐系统在匿名场景下不能生成准确的推荐。
发明内容
本发明提供一种实现对象推荐的模型训练方法以及装置。本申请同时涉及一种对象推荐方法以及装置。该方法有助于解决现有的技术在用户匿名情况下无法生成更加准确的推荐的问题。
本申请提供了一种推荐模型训练方法,该方法包括:
获取会话样本,所述会话样本是以会话过程的访问对象为节点的节点转移记录;
将所述会话样本建模为节点转移图;
将所述节点转移图提供给待训练的机器学习模型,获得表示目标会话样本的目标会话向量;
根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估;
根据性能评估结果,对所述机器学习模型进行调整。
可选地,所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:
将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估;
根据所述相似度评估,以及目标会话向量的目标节点,确定各个所述节点相对于所述目标节点的第一损失函数;
采用所述第一损失函数,对所述机器学习模型进行性能评估。
可选地,所述将所述目标会话向量与各个可选择节点的节点向量比较,包括:
采用所述目标会话向量与各个可选择节点的节点向量进行向量乘法,获得向量乘法的乘积;
使用所述向量乘法的乘积,比较所述目标会话向量与具体的可选择节点的节点向量之间的相似度。
可选地,所述将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估,还包括:
对所述向量乘法的乘积,进一步进行归一化处理;将乘积经过归一化处理后的转换值,作为所述相似度值;
采用所述相似度值,评估目标会话向量与各个节点向量的相似程度。
可选地,所述机器学习模型包括第一机器学习模型和第二机器学习模型,所述将所述节点转移图提供给待训练的机器学习模型,获得表示所述会话样本的会话向量,包括:
将所述节点转移图提供给第一机器学习模型;
所述第一机器学习模型将所述节点转移图与预生成或者学习获得的各个节点的节点向量结合,更新各个节点的节点向量的表达方式;
将更新后的节点向量提供给第二机器学习模型读取;
所述第二机器学习模型根据更新后的节点向量,生成针对所述目标会话样本的目标会话向量。
可选地,根据所获得的会话样本包含的节点,构造全局节点图;
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,所述正样本节点、负样本节点,作为所述目标会话向量的关联节点;
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:
根据正样本节点、负样本节点,获得正样本节点向量、负样本节点向量;
使用所述正样本节点向量、负样本节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值;
根据所述正样本比较分值、负样本比较分值,生成第二损失函数;
采用所述第二损失函数,对所述机器学习模型进行性能评估。
可选地,使用目标节点向量与所述目标会话向量比较,获得目标节点比较分值;
根据所述目标节点比较分值与所述负样本比较分值,生成第三损失函数;
采用所述第三损失函数,对所述机器学习模型进行性能评估。
可选地,根据所获得的会话样本包含的节点,构造全局节点图;
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,以及,获得所述目标会话样本的目标节点,所述正样本节点、负样本节点、目标节点,作为所述目标会话向量的关联节点;
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:
根据正样本节点、负样本节点、目标节点,获得正样本节点向量、负样本节点向量、目标节点向量;
使用所述正样本节点向量、负样本节点向量、目标节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值、目标节点比较分值;
根据所述正样本比较分值、负样本比较分值,生成第二损失函数;根据所述负样本比较分值、目标节点比较分值,生成第三损失函数;
采用所述第二损失函数、第三损失函数,生成第四损失函数;
采用所述第四损失函数,作为针对所述机器学习模型的性能评估指标。
可选地,根据性能评估结果,对所述机器学习模型进行调整后,采用调整后的第一机器学习模型,获得各个节点的更新后的节点向量,并在后续的模型训练中使用。
本申请还提供了一种模型训练装置,该装置包括:
会话获取单元,用于获取会话样本,所述会话样本是以会话过程的访问对象为节点的节点转移记录;
会话建模单元,用于将所述会话样本建模为节点转移图;
会话向量获取单元,用于将所述节点转移图提供给待训练的机器学习模型,获得表示目标会话样本的目标会话向量;
性能评估单元,用于根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估;
模型调整单元,用于根据性能评估结果,对所述机器学习模型进行调整。
本申请还提供了一种对象推荐方法,该方法包括:
获取目标会话,所述目标会话是以会话过程的访问对象为节点的节点转移记录;
将所述目标会话建模为节点转移图;
将所述节点转移图提供给机器学习模型,获得表示所述目标会话的目标会话向量;
根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象。
可选地,所述根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象,包括:
将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估;
根据所述相似度评估,按照预定的标准,将相似度水平达到所述预定的标准的对象作为所述合适的推荐对象。
可选地,所述将所述目标会话向量与各个可选择节点的节点向量比较,包括:
采用所述目标会话向量与各个可选择节点的节点向量进行向量乘法,获得向量乘法的乘积;
使用所述向量乘法的乘积,比较所述目标会话向量与具体的可选择节点的节点向量之间的相似度。
可选地,所述将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估,还包括:
对所述向量乘法的乘积,进一步进行归一化处理;将乘积经过归一化处理后的转换值,作为所述相似度值;
采用所述相似度值,评估目标会话向量与各个节点向量的相似度。
本申请还提供一种针对匿名用户的对象推荐方法,该方法包括:
获取目标会话,所述目标会话是以所述匿名用户的会话过程的访问对象为节点的节点转移记录;
将所述匿名用户的目标会话建模为所述匿名用户的节点转移图;
将所述匿名用户的节点转移图提供给机器学习模型,获得表示所述匿名用户的目标会话的目标会话向量;
根据所述匿名用户的目标会话向量与关联节点的节点向量的相似度情况,向所述匿名用户提供符合预定要求的推荐对象。
本申请还提供了一种实现对象推荐的装置,该装置包括:
会话获取单元,用于获取目标会话,所述目标会话是以会话过程的访问对象为节点的节点转移记录;
会话建模单元,用于将所述目标会话建模为节点转移图;
会话向量获取单元,用于将所述节点转移图提供给机器学习模型,获得表示目标会话的目标会话向量;
对象推荐单元,用于根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象。
本申请还提供了一种电子设备,该电子设备包括:
处理器;
以及,
存储器,用于存储计算机程序,该设备通过所述处理器运行该计算机程序后,执行前面所述的方法。
本申请还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,该程序被处理器运行,执行前面任一项所述的方法。
与现有技术相比,本发明在缺失用户信息的情况下,根据源于同一用户的会话信息建模本次会话,在获得用户的会话样本后,利用图数据结构所具有的复杂特征的表征能力,将所述会话样本建模为节点转移图,并利用机器学习模型深入挖掘目标会话样本的特征,得到目标会话向量,该会话向量高度捕捉了用户此次会话的潜在意图。将所述目标会话向量与关联节点的节点向量进行比较,基于相似度情况对模型进行评估和调整,从而使得模型的推荐结果和目标对象不断靠近;本方法训练的对象推荐模型,能够充分适应匿名场景下的对象推荐,提高了推荐准确性,提升了用户的留存率。
在本申请的优选实施方式中,进一步提出将全局图的邻居集所具有的与会话意图高度相关的信息加入模型训练过程,该优选实施方式能够显著并且泛用性极强地提高推荐的准确度。
附图说明
图1是实现对象推荐的模型训练方法的流程图;
图2是模型训练方法所涉及各个环节的关系示意图;
图3是会话样本建模为节点转移图的示意图;
图4是模型训练方法中对比学习的框架示意图;
图5是模型训练方法在物品推荐场景下的应用示意图;
图6是实现对象推荐的模型训练装置的示意图;
图7是对象推荐方法的流程图;
图8是对象推荐方法在云环境的应用示意图;
图9是对象推荐装置的示意图。
具体实施方式
为了使本领域的技术人员能够更好的理解本申请的技术方案,下面结合本申请实施例中的附图,对本申请进行清楚、完整地描述。但本申请能够以很多不同于下述描述的其他方式进行实施,因此,基于本申请提供的实施例,本领域普通技术人员在不经过创造性劳动的情况下,所获得的所有其他实施例,都应属于本申请保护的范围。
需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请的第一实施例提供了一种实现对象推荐的模型训练方法。该模型使用的典型场合是在无法获得作为推荐接受者的用户的自身属性信息的场合下,通过用户在会话过程中反映的特征,向该用户推荐相应的对象。例如,某个购物网站中,通过用户在网站中的点击、搜索等会话信息,向用户推荐可能关注的商品。本申请第一实施例提供的就是实现对象推荐的模型训练方法,即如何获得能够向用户准确推荐其可能关注对象的模型的训练过程。本申请另外的实施例还提供如何使用上述模型实现对象推荐的方法。
本申请提供的对象推荐模型所采用的主要技术手段,是对获得的会话样本建模,生成节点转移图,将节点转移图提供给待训练的机器学习模型,由所述机器学习模型生成目标会话向量,利用该目标会话向量与关联节点的节点向量之间的相似度,对机器学习模型进行性能评估,根据评估结果,对所述待训练的机器学习模型进行调整。进一步地,本申请使用对比学习将全局会话的邻居集信息注入到推荐模型的训练过程中,可以进一步提升整体模型对于全局拓扑信息的提取效率,强化推荐系统的准确度。
通过上述过程,在使用大量会话样本的情况下,该模型最终能够使用所获得的会话,通过上述机器学习模型形成会话向量,通过该会话向量与节点向量的相似度情况,将与会话向量相似的节点向量对应的节点对象推荐给用户。该节点对象很可能能够满足客户内心的期待。即,通过建立会话向量和节点向量之间的内在相关性,找出了会话与对象之间的相关性。这其中,关键在于机器学习模型如何根据具体会话建立合适的会话向量,这是整个过程的核心。此外,在整个训练过程中,优选的实施例中,还对节点向量的编码做出调整,实现两者从两方面相互靠近的训练、调整过程。
图1为本申请第一实施例的流程图,下面结合图1进行详细说明。并请同时参考图2,图2为整个模型训练方法所涉及各个环节的关系示意图。
步骤S101,获取会话样本,所述会话样本是以会话过程的访问对象为节点的节点转移记录。
本步骤用以获得训练推荐模型所用的会话样本数据。
会话指的是用户在短时间内访问的对象节点序列。这里的用户既可以是登录用户,也可以是匿名用户。对于匿名用户,可以根据客户浏览网站时保留在客户机上的简单文本文件等信息获取,从而确认同一序列中每个节点的访问来自同一匿名用户,但无法获取该用户的身份信息。用户所访问的对象依据用户的需求而具体确定,可以是店铺、商品、视频、小说或者社交网络中的用户等。
如图2所示,会话样本101即用作训练对象推荐模型的基于会话的样本。这些会话样本包含有多个会话,这些会话样本可能属于同一个用户,也可能属于不同用户,这个不做限制。
会话样本应当包括完整的会话,即包含会话过程中的对象节点以及最终的目标对象节点。会话过程中的对象节点,将作为本申请的输入来预测最终的目标对象节点。目标对象节点,可以为所属会话的最后一个对象节点,它被认为是反映了用户的实际意图。例如,在一个商品选购的会话中,一般将用户退出前的最后一个实际点击选择的商品作为用户实际想要的目标商品。会话的目标对象节点,用以评估基于前述会话过程中的对象节点所预测出的目标对象节点的准确程度。
举例而言,如图3所示,用户访问一个购物网站,先后依次点击访问了v1-v3-v4-v3-v2,并最终选择了v2节点的对象。此时,可以将上述依次访问的节点记录为一个会话。具体记录方式可以采用数组形式,即[v1,v3,v4,v3,v2]。其中,v2被认为是目标对象节点。
本步骤所获得的会话样本为后续的基于图的建模提供了基础。
步骤S102,将所述会话样本建模为节点转移图。
本步骤将会话样本转化为一种图数据结构,以便利用后续的图模型。该步骤获得的结果为图2中的节点转移图102。
图是一种数据结构,由节点及连接节点的边构成。在现实世界中,如社交网络、商品-店铺-人之间的关系、分子结构等等,是一种对象内部的“多对多”的一种复杂关系,这种复杂关系可以用图结构来表示。
图一般分为有向图和无向图。如果连接节点的边是有方向性的,则称这样的图为有向图,否则称为无向图。用户浏览节点以及跳转到另一节点的过程,与有向图这种数据结构有较大的相似,因此,对于给定的会话,可以将其建模为有向图。
图3给出了一个简单的示例。示例中,如前所述,用户依次浏览了节点[v1,v3,v4,v3,v2],建模为节点转移图后,节点之间的转移关系体现在连接节点的边的方向上,比如用户从v3转移至v4后又转移至v3,在节点转移图中建模为双向箭头的边。通过此建模过程,节点序列中相邻两节点在会话图中建模为邻居节点,节点的转移关系在会话图中建模为两节点的有向边,可以体现会话中对象之间的复杂拓扑关系。
这些会话样本将被输入给后续的机器学习模型,挖掘其中的结构转换信息。
步骤S103,将所述节点转移图提供给待训练的机器学习模型,获得表示目标会话样本的目标会话向量。
本步骤将上述的节点转移图作为输入,将节点转移图数据作为机器学习模型的输入,经过机器学习模型处理后,输出了反映会话意图的特征数据。
机器学习模型是在指定的假设空间中,确定学习策略,通过优化算法去学习到的由输入到输出的映射。机器学习的过程一般可以概括为:计算机程序基于给定的、有限的学习数据出发,选择基于某个假设空间的模型,通过算法更新模型的参数值,以优化处理任务的指标表现,最终学习出较优的模型,并运用模型对数据进行分析与预测以完成任务。机器学习模型是在训练数据上运行机器学习算法后保存的“东西”,它表示用于进行预测所需的规则、数字和任何其他特定于算法的数据结构。
在本实施例中,机器学习模型包括第一机器学习模型103和第二机器学习模型105,请参看图2,下面依次进行介绍。
节点转移图102提供给第一机器学习模型103后,将所述节点转移图102与预生成或者学习获得的各个节点的节点向量结合,更新各个节点的节点向量的表达方式。即,通过第一机器学习模型后,各节点的向量发生了更新。如图2所述,第一机器学习模型103开始获得初始节点向量,即为表达各个推荐对象,在最初阶段为各个节点设置的向量,可以基于预设的某种规则,具体方式不做限定,但该初始节点向量具有某种规定的表达形式。以某个具体商品对象为例,可以根据该商品的编号、商品的种类、商品的价格、商品与其他商品的关系等等因素,确定一个数组,代表该具体商品。
需要注意,这种初始节点向量只是对模型训练尚未开始时设置的,在模型训练开始以后,即可以通过不断获取的会话样本,不断进行节点向量的更新,即,第一机器学习模型103在不断获得会话样本101的过程中,会将会话样本101中反映的信息不断学习进去,从而获得更新节点向量,并代替所述初始节点向量。一个获得初始节点向量的表达方式的重要方面是,利用全局节点图104,该全局节点图104是根据搜集的大量会话内容,以图的形式表达在一个完整的全局图上,其中各个节点之间存在于不同会话中,从而形成节点之间的连接关系,这样,可以反映节点和节点之间的关系,使初始节点向量生成后,节点之间的关系能够得到体现。
由于不同类型的邻居节点与给定节点的关联程度不同,第一机器学习模型103采用基于注意力机制的图神经网络,从结构角度捕捉不同邻居节点对于给定节点的重要程度。当然,也可以采用其他的图神经网络,这里不做限制。
图神经网络是深度学习在图结构上的一个分支,通过网络中节点之间的信息传递的方式来获取图中的依存关系。图神经网络通过从节点任意深度的邻居节点来更新该节点状态,这个状态能够表示状态信息。该网络的目标就是学习每个节点的表示向量,而每个节点的向量表示由该节点的特征、与该节点连接的边的特征、该节点的邻居节点向量表示和它邻居节点的特征计算得到。
给定节点,它和邻居节点的邻接关系可以分为四种类型,分别是输入型、输出型、双向型,自身型。输入型指的是由邻居节点单向转移到给定节点;输出型指的是由给定节点单向转移到邻居节点;双向型指的是给定节点和邻居节点可以双向转移,而自身型指的是给定节点转移到自身。
每一种邻接关系都对应有一个邻接矩阵。邻接矩阵是表示图中顶点之间相邻关系的矩阵。矩阵的行值和列值分别对应图中的点,行和列交叉的位置对应图中的边的权值。这里所述的边的权值,反映了有向图中邻居节点对给定节点的影响或贡献,或者说,反映了邻居节点对给定节点的重要程度。这个重要程度,可以被用作基于注意力机制的神经网络。
注意力机制源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息,这种机制通常被称为注意力机制。在深度学习领域,模型往往需要接收和处理大量的数据,然而在特定的某个时刻,往往只有少部分的某些数据是重要的。另外,当输入的信息过多时,模型也会变得更复杂。通过引入注意力机制,可以减少处理的信息量,从而减小需要的计算资源。这种将注意力集中到更重要的一部分的输入数据或特征的能力称为神经网络的注意力机制,而具有这种注意力机制的神经网络称为基于注意力机制的神经网络。
在第一实施例中,第一机器学习模型103将会话样本的节点转移图102作为输入,其中所有节点的表示向量在初始阶段可以随机生成,即获得所述初始节点向量。下面阐述第一机器学习模型103的处理过程。
以输入型邻接关系为例,在会话图中节点vj到节点vi的输入类型的邻接矩阵采用如下的公式(1)进行计算:
Figure BDA0004101979480000111
在公式(1)中,
Figure BDA0004101979480000112
表示在会话图中节点vi对其邻居vj节点的贡献。/>
Figure BDA0004101979480000113
Figure BDA0004101979480000114
表示会话中vi节点的向量,⊙为Hadamard乘积,/>
Figure BDA0004101979480000115
为待训练的四组独立的可训练参数,LeakyReeLU为图神经网络所使用的激活函数,/>
Figure BDA0004101979480000116
表示会话图中vi节点的邻居节点集。所有四种类型的邻接矩阵构成了会话的完整邻接矩阵。其中,α,w中的元素属于(0,1),h无限定。
基于给定节点的邻接矩阵,以及邻居节点的向量,则基于注意力机制,给定节点的向量按照公式(2)更新如下:
Figure BDA0004101979480000117
在公式(2)中,
Figure BDA0004101979480000118
表示会话中vi节点的向量。/>
Figure BDA0004101979480000119
表示会话图中vi节点的邻居节点集,/>
Figure BDA00041019794800001110
表示邻居vj节点的向量,αji表示在会话图中邻居vj节点对其vi节点的贡献。其中,α中的元素属于(0,1),h无限定。
为了确保生成的节点向量与初始的归一化节点向量嵌入处于相同的超球面向量空间,稳定模型的训练过程,在本实施例中,可以对上述生成的节点向量进行归一化操作。归一化操作的方式有很多,本实施例仅以L2范数为例进行归一化,其他归一化方式不做限制。
节点向量的L2归一化具体表示为公式(3):
Figure BDA00041019794800001111
在公式(3)中,
Figure BDA00041019794800001112
表示节点向量/>
Figure BDA00041019794800001113
的L2范数,/>
Figure BDA00041019794800001114
为经过归一化的节点向量。/>
Figure BDA0004101979480000121
范围为(0,1),其余h无限定。
经过第一机器学习模型的处理后,所有节点的向量得到更新,并输入给下一步的第二机器学习模型。第二机器学习模型根据更新后的节点向量,生成针对所述目标会话样本的目标会话向量。下面阐述第二机器学习模型105的处理过程。
第二机器学习模型105将会话涉及的节点的向量聚合,获得一个针对整个会话样本的全局的表示信息,该表示信息形成目标会话向量,即会话样本通过第一机器学习模型103和第二机器学习模型105,最终形成了对该目标会话样本的特殊表达形式:目标会话向量。该目标会话向量与具体的会话样本具有一一对应的关系。
第二机器学习模型105可以采用的向量聚合的方法不做限制,如做池化、门控或其他方法。在本实施例中,以基于软注意力机制的多层感知机MLP为例进行介绍。
多层感知机也叫人工神经网络,底层是输入层,中间是隐藏层,最后是输出层。层与层之间是全连接的,即上一层的任何一个神经元与下一层的所有神经元都有连接。多层感知机待训练的参数就是各个层之间的连接权重以及偏置。
软注意力是注意力机制的一种类别,指在选择信息的时候,不是从N个信息中只选择1个,而是计算N个输入信息的加权平均,再输入到神经网络中计算。
基于软注意力机制的多层感知机,指的是多层感知机通过将输入的信息经加权平均后输出,具体阐述如下:
第二机器学习模型105的输入为经过更新的会话涉及的节点向量,这些节点向量是第一机器学习模型所输出的节点向量的子集。
节点向量没有包含节点序列的顺序信息,位置向量可以弥补这一不足。位置向量的构造方式为,将每个节点的位置编号,然后每个编号通过编码映射为一个向量,结合位置向量和节点向量,就给每个节点都引入了一定的位置信息。
在第二机器学习模型105中,首先按照公式(4)计算增强后的位置信息向量
Figure BDA0004101979480000122
Figure BDA0004101979480000123
在公式(4)中,
Figure BDA0004101979480000124
b1∈Rd表示可训练的模型参数,l表示当前会话长度。p∈Rl×d表示简单的静态位置编码向量,/>
Figure BDA0004101979480000131
为vi节点的归一化的节点向量,||表示逻辑或运算。其中,W、p、/>
Figure BDA0004101979480000132
b都在(0,1)范围内。
按照公式(5)计算当前会话s∈Rd的简单表示
Figure BDA00041019794800001311
Figure BDA0004101979480000133
在公式(5)中,
Figure BDA0004101979480000134
为vi节点的归一化向量,l表示当前会话长度。
其次,按照公式(6)利用软注意力机制生成当前会话中每个节点的注意力系数βi
Figure BDA0004101979480000135
在公式(6)中,W2,W3∈Rd×d,q,b2∈Rd表示可训练参数,
Figure BDA0004101979480000136
为增强后的位置向量,/>
Figure BDA0004101979480000137
为当前会话s∈Rd的简单表示。
最后,将所有以注意力系数加权的节点向量进行聚合,按照公式(7)生成目标会话向量
Figure BDA0004101979480000138
Figure BDA0004101979480000139
在公式(7)中,βi为vi节点的注意力系数,
Figure BDA00041019794800001310
为vi节点的归一化向量。
通过第一机器学习模型103和第二机器学习模型105的联合使用,系统获得了经过更新的节点向量以及目标会话向量。
步骤S104,根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估。
本步骤计算会话向量和关联节点向量的相似度,得到会话与关联节点的相似度,基于相似度进行推荐。根据推荐的结果计算损失函数,并对机器学习模型进行评估。
关联节点包括所述目标会话样本的目标节点;所述目标节点是目标会话样本在目标会话中最终选择的节点。例如,图3的例子中,若最终,经过上述会话过程[v1,v3,v4,v3,v2],用户最后选择了v5并执行了购买动作,则可以将v5作为目标节点。除了目标节点,还可以根据全局节点图104,获得与目标节点具有相邻关系或者其他表明两者比较类似的关系的节点,这些节点也可以作为关联节点;如前所述,每个节点均具有表达该节点的节点向量。
在本实施例中,将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估。根据所述相似度评估,以及目标会话向量的目标节点,确定各个所述节点相对于所述目标节点的第一损失函数。
在本实施例中,采用所述目标会话向量与各个可选择节点的节点向量进行向量乘法,如公式(8)所示,获得向量乘法的乘积;使用所述向量乘法的乘积,比较所述目标会话向量与具体的可选择节点的节点向量之间的相似度
Figure BDA0004101979480000141
Figure BDA0004101979480000142
在公式(8)中,hV∈Rd×m表示所有对象的节点向量,m表示节点总数。
所述将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估,还包括:对所述向量乘法的乘积,进一步进行归一化处理;将乘积经过归一化处理后的转换值,作为所述相似度值;采用所述相似度值,评估目标会话向量与各个节点向量的相似程度。
本实施例中,对向量乘积的归一化以Softmax函数为例进行介绍,也可以采用其他方法,这里不做限制。Softmax函数可以将原始输入数据进行归一化,转化为一个(0,1)之间的数值,这些数值可以被当做概率分布,用来作为多分类的目标预测值。本实施例中,概率最高的N个节点对应的对象将被推荐。
对于推荐模型的性能评估,一般采用损失函数进行衡量。损失函数是用来度量模型的预测值与真实值的差异程度的运算函数,损失函数越小,模型的在数据集上的表现就越好。损失函数使用主要是在模型的训练阶段,每个批次的训练数据送入模型后,通过前向传播输出预测值,然后损失函数会计算出预测值和真实值之间的差异值,也就是损失值。得到损失值之后,模型通过反向传播去更新各个参数,来降低真实值与预测值之间的损失,使得模型生成的预测值往真实值方向靠拢,从而达到学习的目的。
在本实施例中,如公式(9)所示,采用预测节点和目标节点的交叉熵来作为模型的第一损失函数
Figure BDA0004101979480000143
Figure BDA0004101979480000144
在公式(9)中,yi表示目标节点的one-hot二进制编码向量,
Figure BDA0004101979480000145
表示对应的第i个节点的相似度。
为了能够更加精准的捕捉到用户需求与偏好,从而进一步提升匿名情况下
推荐系统的推荐效果,本申请进一步利用了全局图的邻居集所具有的与会话意图高度相关的信息进行对比学习,通过强化会话向量与正样本的联系,减弱会话向量与负样本的相似度来将全局邻居集的信息注入整个深度学习的过程,能够显著并且泛用性极强地提高推荐的准确度。
下面结合图2进行详细说明。并请同时参考图4,图4为对比学习所涉及各个环节的关系示意图。
根据所获得的会话样本包含的节点,构造全局节点图104。
全局会话图指的是,将所有会话样本所建模的节点转移图进行合并,其中每个节点的全局图邻居集为其在所有会话图中的邻居节点集的并集。全局会话图将大量的会话内容汇集到一个更为综合性的图表达中,以期进一步从中提取节点对象在转移过程中所存在的固有关联。
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,所述正样本节点、负样本节点,作为所述目标会话向量的关联节点。这些关联节点为后续的对比学习提供必要的输入。
对比学习是一种无监督的深度学习方法。对比学习的目标是缩小锚样本与正样本间的距离,扩大锚样本与负样本间的距离,使正样本与锚点的距离远远小于负样本与锚点的距离。所谓无监督,指的是训练的监督信息不是人工标注的,而由算法在大规模无监督数据中自动构造监督信息,来进行监督学习或训练。
对比学习实质是一个辅助的学习任务。具体地,围绕锚样本,构建其正样本集、负样本集,然后锚样本和正样本集的相似度要远大于锚样本和负样本集的相似度。锚样本指的是对比学习的参考点,表征对比学习需要接近的目标。正样本也称正例,指的是和锚样本高度相关、可以看做同一类别的样本。负样本,也称负例,指的是除锚样本和正样本之外的其他样本。
在本实施例中,锚样本指的是目标会话样本。为了方便训练,可以对会话向量进行归一化操作。关于归一化操作,前文已经有过说明,这里不再赘述。
正样本节点的选择方法是:首先计算邻居节点向量与目标节点向量之间的相似度,然后选择相似度最高的若干个节点作为正样本节点。这样的选择可以有效地消除全局会话邻居中与目标无关节点的噪声效应。具体计算如公式(10)、公式(11)、公式(12)所示:
Figure BDA0004101979480000161
zneighbor=VsupV (11)
Figure BDA0004101979480000169
在公式(10)中,
Figure BDA0004101979480000162
表示会话S的全局会话邻居节点集,vi∈R1×d表示对应节点的向量。在公式(11)中,vsup∈R1×d表示目标节点的向量。在公式(12)中,Top-N中的N是一个超参数,表示从全局会话邻居中采样的正样本的数量。如果小于N,全局会话邻居的大小将通过重复扩展到N。/>
Figure BDA0004101979480000163
表示正样本的相似度得分,Npos代表正样本的大小。
负样本节点的选择方法是:从整个节点集中减去目标节点和全局会话邻居节点,从剩下的节点中以随机采样的方式选择若干个节点作为负样本节点。具体计算如下:
Figure BDA0004101979480000164
Figure BDA0004101979480000165
在公式(13)中,N表示整个节点集,
Figure BDA0004101979480000166
表示会话S的全局会话邻居节点集,/>
Figure BDA0004101979480000167
表示目标节点的全局邻居节点集,ui∈R1×d表示对应节点的向量,Nneg代表负样本的大小。在公式(14)中,/>
Figure BDA0004101979480000168
表示负样本的相似度得分。
在获得所述的关联节点即锚样本、正样本节点和负样本节点后,根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估。下面介绍相似度的具体计算方法。
根据正样本节点、负样本节点,获得正样本节点向量、负样本节点向量。本步骤根据第一机器学习模型103中获得的所有节点的向量,以及根据全局节点图104中得到的正样本、负样本,获得对应的正样本节点向量、负样本节点向量。
使用所述正样本节点向量、负样本节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值。本步骤将正样本节点向量和目标会话向量进行点积,获得正样本比较分值,表征正样本节点向量和目标会话向量的相似性。将负样本节点向量和目标会话向量进行点积,获得负样本比较分值,表征负样本节点向量和目标会话向量的相似性。
根据所述正样本比较分值、负样本比较分值,生成第二损失函数。第二损失函数如公式(15)所示:
Figure BDA0004101979480000171
在公式(15)中,
Figure BDA0004101979480000172
表示采样项的相似度得分向量,/>
Figure BDA0004101979480000173
表示上述得分向量的第i个值。τ为嵌入温度,用于控制模型对于较难与正样本分割的负样本的有效分割程度,较好的τ值可以令模型在尽可能分割困难负样本的情况下不破坏原有学习到的潜在语义结构。
采用所述第二损失函数,对所述机器学习模型进行性能评估。
为了进一步强调目标节点的重要性,可以进一步在对比学习中引入目标节点向量作为监督信号,增强对比学习的性能。下面予以说明。
根据所获得的会话样本包含的节点,构造全局节点图。
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,以及,获得所述目标会话样本的目标节点,所述正样本节点、负样本节点、目标节点,作为所述目标会话向量的关联节点。
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:
根据正样本节点、负样本节点、目标节点,获得正样本节点向量、负样本节点向量、目标节点向量;
使用所述正样本节点向量、负样本节点向量、目标节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值、目标节点比较分值;
使用目标节点向量与所述目标会话向量比较,获得目标节点比较分值,如公式(16)所示:
Figure BDA0004101979480000174
在公式(16)中,vsup表示目标节点的向量。
根据所述正样本比较分值、负样本比较分值,生成第二损失函数。
根据所述负样本比较分值、目标节点比较分值,生成第三损失函数,具体如公式(17)所示:
Figure BDA0004101979480000175
在公式(17)中,
Figure BDA0004101979480000176
表示目标节点的相似度分数。
采用所述第二损失函数、第三损失函数,生成第四损失函数,具体如公式(18)所示:
Figure BDA0004101979480000181
在公式(18)中,λpos∈[0,1]是平衡对比学习方法在相关全局会话邻居和目标项之间的偏好的超参数。
采用所述第四损失函数,作为针对所述机器学习模型的性能评估指标。
上述的第四损失函数表征了对比学习的总体性能,是对基于图神经网络的基础学习的第一损失函数的有效补充,因此,将所述第一损失函数和所述第四损失函数融合,作为模型训练总的损失函数,如公式(19)所示:
Figure BDA0004101979480000182
在公式(19)中,超参数λcl∈[0,1],用以平衡整个训练框架中基本图神经网络方法和对比学习方法之间的偏好。为了防止过拟合,可以在总的损失函数的基础上增加一个惩罚项,如模型权值的L2范数等。
采用所述总损失函数,作为针对所述机器学习模型的性能评估指标。
步骤S105,根据性能评估结果,对所述机器学习模型进行调整。
本步骤基于前述的第四损失函数,对机器学习模型的参数进行更新调整,使损失函数最终满足阈值。机器学习模型的参数包括第一机器学习模型参数和第二机器学习模型参数。
在机器学习中,基于损失函数,通过反向传播来更新机器学习模型的参数。反向传播的学习过程由正向传播过程和反向传播过程组成。在正向传播过程中,输入信息通过逐层处理并传向输出层。如果在输出层得不到期望的输出值,则通过构造输出值与真实值的损失函数作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯度,作为修改权值的依据,网络的学习在权值修改过程中完成。输出值与真实值的误差达到所期望值时,网络学习结束。为了控制每次根据估计误差对模型权重更新的多少,可以选择一个合适的学习率参数,该参数可确定每次迭代中的步长,使损失函数在合适的时间内收敛到最小值。
在本实施例中,基于总损失函数,依次对第二机器学习模型参数和第一机器学习模型参数进行反向传播更新。采用调整后的第一机器学习模型和第二机器学习模型,获得各个节点的更新后的节点向量,并在后续的模型训练中使用,直至模型在验证集上的表现达到需求指标且总损失函数满足阈值要求。
基于公开数据集Tmall,本实施例提供了一种具体的扩展应用实例。需要注意的是,所述实例中所涉及的具体环境、参数等设置仅仅是示意性的,本领域技术人员应当根据自己的应用场景进行灵活考虑。
运行环境包括硬件环境和软件环境。硬件环境为:CPU为In-tel(R)Xeon(R)Gold6126CPU@2.60GHz,GPU为GeForce RTX 2080Ti;软件环境为:使用python3.6.5编程语言,在pytorch1.6.1,cuda10.1版本的神经网络训练环境。
模型训练相关参数的设置如下:
一个训练批次的数据量:设置为100;
图神经网络的层数:设置为1;
表示向量的维度d:设置为200;
对比学习中从正样本中采样的样本数Npos,参见公式(12):设置为10;
对比学习中从负样本中采样的样本数Nneg,参见公式(13):设置为1000;
对比学习中的嵌入温度τ:参见公式(15)(17),设置为0.1;
对比学习任务中正负样本损失与目标项损失的比重λpos:参见公式(18),设置为0.5;
对比学习与推荐任务的比重λcl:参见公式(19),设置为0.95;
反向传播过程中更新各个参数时的幅度:设置为0.0001;
学习率衰减触发条件:设置为3,即每迭代3代,学习率衰减一次;
学习率衰减倍率:当模型进过一定迭代次数的训练后,通过令学习率衰减来防止过拟合。设置为0.1,即每经过一定迭代次数后,学习率降低为原本的10%;
L2范数惩罚项:设置为10-5
对模型的训练步骤如下:
首先,将数据集处理为会话样本。
将数据集按照时间顺序进行分割,前70%用作训练集,后30%用作测试集;将分割后的数据集按照小段时间进一步分割成一个个会话,并将会话数据的最后一个访问物品作为目标物品,生成一系列的会话;将会话建模为会话图,会话图上的每个节点表示一个物品,且每个物品具有随机初始化的节点表示向量。
其次,对会话样本进行机器学习。
从训练集中的会话数据中每次抽取一个训练批次的数据量的会话图,直至所有训练数据都被抽取完,则完成一代训练;每次抽取的数据会通过图神经网络与基于软注意力机制的多层感知机学习到每个会话的表示向量;将学习到的会话表示向量与所有物品向量进行向量乘积,并将得到的结果进行Softmax操作,可以得到每个物品与会话的相似度量,并通过该相似度量生成第一损失函数;将学习到的会话表示向量与采样得到的负样本与正样本进行比较,生成第二损失函数与第三损失函数;将上述得到的三个损失函数融合,得到最终的总的损失函数;根据该损失函数,反向传播并更新神经网络模型以及物品表示向量中的参数。
最后,获取实验结果。
每次一代训练完后,按相同的方式对测试集中的数据进行计算,唯一不同之处在于不使用损失函数进行反向传播;计算后根据Top-N预测的Recall与MRR的定义统计模型在测试集上的表现性能,并选取性能指标叫较好的一代模型作为最终模型。
基于最终确定的推荐模型,可以对任意给定会话进行建模,生成会话表示向量,并且与所有物品向量进行比较,生成下一个更为可能访问的物品,或者按照概率大小对下一最有可能访问的物品进行排序。
图5展示了本实施例的一种更为具体的应用场景,请参看图5。不同的用户在各种自助终端上通过APP、网页等形式进入购买物品的界面,这里的自助终端可以是手机、PC等电子设备。用户在现有推荐系统的支持下,经过一系列对若干物品的浏览后实施购买行为,其本次购买过程中的浏览对象的序列被远程记录在一个日志服务器中,这里的浏览记录可以不包括用户身份信息。经过一段时间的数据采集,得到作为训练样本的原始数据集。此后,训练样本集被送入训练服务器中进行训练,模型训练方法为本实施例所描述的模型训练方法,所用的训练服务器可以是本地计算服务器,也可以是云计算服务器。训练后所得到的模型参数将被送入现有的推荐系统,用以更新现有推荐系统的模型参数,并最终应用到用户购买物品的推荐过程中。用户即使在匿名访问的情况下,也可以通过本推荐系统获取物品的推荐列表。
本申请第二实施例提供一种实现对象推荐的模型训练装置。在上述的实施例中,提供了一种实现对象推荐的模型训练方法,与之相对应的,本申请还提供一种实现对象推荐的模型训练装置。请参看图6,其为本申请的一种实现对象推荐的模型训练装置实施例的单元框图。由于本实施例基本相似于第一实施例,所以描述得比较简单,相关之处参见第一实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供的一种实现对象推荐的模型训练装置,包括:
会话获取单元201,用于获取会话样本,所述会话样本是以会话过程的访问对象为节点的节点转移记录。
会话建模单元202,用于将所述会话样本建模为节点转移图。
会话向量获取单元203,用于将所述节点转移图提供给待训练的机器学习模型,获得表示目标会话样本的目标会话向量。
所述机器学习模型包括第一机器学习模型和第二机器学习模型,所述会话向量获取单元,用于:将所述节点转移图提供给第一机器学习模型;所述第一机器学习模型将所述节点转移图与预生成或者学习获得的各个节点的节点向量结合,更新各个节点的节点向量的表达方式;将更新后的节点向量提供给第二机器学习模型读取;所述第二机器学习模型根据更新后的节点向量,生成针对所述目标会话样本的目标会话向量。
性能评估单元204,用于根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估。
具体地,将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估。将所述目标会话向量与各个可选择节点的节点向量比较,包括:采用所述目标会话向量与各个可选择节点的节点向量进行向量乘法,获得向量乘法的乘积;使用所述向量乘法的乘积,比较所述目标会话向量与具体的可选择节点的节点向量之间的相似度。
所述将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估,还包括:对所述向量乘法的乘积,进一步进行归一化处理;将乘积经过归一化处理后的转换值,作为所述相似度值;采用所述相似度值,评估目标会话向量与各个节点向量的相似程度。
根据所述相似度评估,以及目标会话向量的目标节点,确定各个所述节点相对于所述目标节点的第一损失函数;采用所述第一损失函数,对所述机器学习模型进行性能评估。
所述性能评估单元204,还包括:
根据所获得的会话样本包含的节点,构造全局节点图;
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,所述正样本节点、负样本节点,作为所述目标会话向量的关联节点;
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:根据正样本节点、负样本节点,获得正样本节点向量、负样本节点向量;使用所述正样本节点向量、负样本节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值;根据所述正样本比较分值、负样本比较分值,生成第二损失函数;采用所述第二损失函数,对所述机器学习模型进行性能评估。
所述性能评估单元204,还包括:
使用目标节点向量与所述目标会话向量比较,获得目标节点比较分值;根据所述目标节点比较分值与所述负样本比较分值,生成第三损失函数;采用所述第三损失函数,对所述机器学习模型进行性能评估。
所述性能评估单元204,还包括:
根据所获得的会话样本包含的节点,构造全局节点图;
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,以及,获得所述目标会话样本的目标节点,所述正样本节点、负样本节点、目标节点,作为所述目标会话向量的关联节点;
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:根据正样本节点、负样本节点、目标节点,获得正样本节点向量、负样本节点向量、目标节点向量;使用所述正样本节点向量、负样本节点向量、目标节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值、目标节点比较分值;根据所述正样本比较分值、负样本比较分值,生成第二损失函数;根据所述负样本比较分值、目标节点比较分值,生成第三损失函数;采用所述第二损失函数、第三损失函数,生成第四损失函数;采用所述第四损失函数,作为针对所述机器学习模型的性能评估指标。
模型调整单元205,用于根据性能评估结果,对所述机器学习模型进行调整。
对所述机器学习模型进行调整,包括基于损失函数调整第一机器学习模型和第二机器学习模型。根据性能评估结果,对所述机器学习模型进行调整后,采用调整后的第一机器学习模型,获得各个节点的更新后的节点向量,并在后续的模型训练中使用。
本申请第三实施例提供一种对象推荐方法。请参看图7,该图为本申请第三实施例的流程图。本实施例是将第一实施例训练获得的模型,实际用于对象推荐,因此以下仅结合图6对本申请第三实施例提供一种对象推荐方法进行简要说明,详细说明请参考第一实施例的相关内容。
本实施例提供的一种对象推荐方法,包括:
步骤S301,获取目标会话,所述目标会话是以会话过程的访问对象为节点的节点转移记录;
步骤S302,将所述目标会话建模为节点转移图;
步骤S303,将所述节点转移图提供给机器学习模型,获得表示所述目标会话的目标会话向量;
步骤S304,根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象。
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象,包括:将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估;根据所述相似度评估,按照预定的标准,将相似度水平达到所述预定的标准的对象作为所述合适的推荐对象。
所述将所述目标会话向量与各个可选择节点的节点向量比较,包括:采用所述目标会话向量与各个可选择节点的节点向量进行向量乘法,获得向量乘法的乘积;使用所述向量乘法的乘积,比较所述目标会话向量与具体的可选择节点的节点向量之间的相似度。
所述将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估,还包括:对所述向量乘法的乘积,进一步进行归一化处理;将乘积经过归一化处理后的转换值,作为所述相似度值;采用所述相似度值,评估目标会话向量与各个节点向量的相似度。
图8展示了本实施例的一种更为具体的部署在云环境的应用场景,请参看图8。首先在云环境部署可以运行推荐模型所必须的代码和工具环境,并将本地训练完成的模型以及相关参数上传至所述云环境中。当本地终端用户通过软件建立会话进行访问操作时,系统会在后台实时生成会话数据,并将所述会话数据上传至所述的已部署推荐模型的云环境,云环境中的所述推荐模型对于输入的用户会话数据进行按照本实施例所提供过的推荐方法进行处理,给出和用户会话高度匹配的推荐物品集合,并发送至本地终端软件。本地终端软件接收到来自云环境的推荐物品信息后,通过软件界面以可视化的方式呈现给用户,供用户进行选择。
本申请的第四实施例提供了一种针对匿名用户的对象推荐方法。上述的实施例中,提供了一种对象推荐方法,特别地,本申请还提供一种针对匿名用户的对象推荐方法。由于本实施例,基本相似于第三实施例提供的方法实施例,所以描述得比较简单,相关之处参见第三实施例的部分说明即可。
匿名用户,指的是由于系统安全、个人隐私等原因而不能或不愿提供具体的个人身份信息或个体档案信息的用户。当匿名用户访问对象时,由于系统无法获悉该用户的具体的身份属性,因此也就无法利用该匿名用户在本次会话之前所存储的历史偏好数据进行推荐,而只能利用该匿名用户本次会话过程中的对象访问记录进行推荐。对于匿名用户的对象推荐,推荐系统仅仅可以确定所述目标会话来自同一用户,但是无法知悉该用户个人信息,即,推荐系统在对匿名用户进行对象推荐时,用户身份信息是隔绝在推荐算法之外的。向上述匿名用户进行对象推荐,是本申请的比较典型的应用,一个特别典型的场景是匿名用户登录购物网站浏览各类商品,本申请提供的对象推荐方法在完全没有该匿名用户的背景信息的情况下,仅仅根据其在购物网站中的各种操作行为,就能够实现较为精准的商品推荐;本实施例提供的正是本申请的一种典型应用场景。以下在讲解该实施例时,假定该实施例是在匿名用户对购物网站进行访问的场景下,进行针对匿名用户的对象推荐。
本实施例提供的一种针对匿名用户的对象推荐方法,包括:
步骤S401,获取目标会话,所述目标会话是以所述匿名用户的会话过程的访问对象为节点的节点转移记录;
匿名用户通过匿名的方式登录或访问对象推荐界面时,就自动建立了一个匿名的目标会话过程。在目标会话期间,匿名用户执行如点击、浏览、下单等访问对象的操作,形成了一个持续累积的、以访问对象为节点的不含用户具体身份信息的节点转移记录,直至目标会话结束,如用户退出登录或关闭整个访问界面。步骤S402,将所述匿名用户的目标会话建模为所述匿名用户的节点转移图;
针对匿名用户的目标会话,根据目标会话当前所具有的节点转移记录,将其建模为相应的节点转移图。即,按照图的表达方式,将匿名用户的节点转移记录转化为具有图结构的节点转移图,该节点转移图针对该具体的匿名用户建立,即目标会话建模后获得所述匿名用户的节点转移图。
步骤S403,将所述匿名用户的节点转移图提供给机器学习模型,获得表示所述匿名用户的目标会话的目标会话向量;
在获取匿名用户的节点转移图后,将其输入到已训练的机器学习模型,生成可以表示匿名用户的目标会话的目标会话向量。所述目标会话向量表征了该匿名用户的当前会话状态的仅基于对象节点转移记录的意图特征,所述机器学习模型包括第二机器学习模型。
步骤S404,根据所述匿名用户的目标会话向量与关联节点的节点向量的相似度情况,向所述匿名用户提供符合预定要求的推荐对象。
基于匿名用户的目标会话向量,系统将其和所有关联节点的节点向量进行相似度比较,以便评估所述目标会话和关联节点的相似度情况,从而按照相似度排列情况以及推荐范围要求,选择top N的关联节点作为候选推荐对象,并推荐给所述匿名用户。
当匿名用户在本次目标会话中继续访问了新的对象而导致目标会话状态发生变化时,重复执行上述步骤S401-S404,直至本次会话结束。
本申请的第五实施例提供了一种对象推荐装置。上述的实施例中,提供了一种对象推荐方法,与之相对应的,本申请还提供一种对象推荐装置。请参看图9,其为本申请的一种对象推荐装置实施例的单元框图。由于本实施例基本相似于第三实施例提供的方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例提供的一种对象推荐装置,包括:
会话获取单元501,用于获取目标会话,所述目标会话是以会话过程的访问对象为节点的节点转移记录;
会话建模单元502,用于将所述目标会话建模为节点转移图;
会话向量获取单元503,用于将所述节点转移图提供给机器学习模型,获得表示目标会话的目标会话向量;
对象推荐单元504,用于根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象。
本申请第六实施例提供一种电子设备,该电子设备包括:
处理器;
以及,
存储器,用于存储计算机程序,该设备通过所述处理器运行该计算机程序后,执行第一实施例、第三实施例、第四实施例提供的任意一项所述方法。
本申请第七实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该程序被处理器运行,执行第一实施例、第三实施例提供的任意一项所述方法。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

Claims (14)

1.一种模型训练方法,其特征在于,包括:
获取会话样本,所述会话样本是以会话过程的访问对象为节点的节点转移记录;
将所述会话样本建模为节点转移图;
将所述节点转移图提供给待训练的机器学习模型,获得表示目标会话样本的目标会话向量;
根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估;
根据性能评估结果,对所述机器学习模型进行调整。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:
将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估;
根据所述相似度评估,以及目标会话向量的目标节点,确定各个所述节点相对于所述目标节点的第一损失函数;
采用所述第一损失函数,对所述机器学习模型进行性能评估。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标会话向量与各个可选择节点的节点向量比较,包括:
采用所述目标会话向量与各个可选择节点的节点向量进行向量乘法,获得向量乘法的乘积;
使用所述向量乘法的乘积,比较所述目标会话向量与具体的可选择节点的节点向量之间的相似度。
4.根据权利要求1所述的方法,其特征在于,所述机器学习模型包括第一机器学习模型和第二机器学习模型,所述将所述节点转移图提供给待训练的机器学习模型,获得表示所述会话样本的会话向量,包括:
将所述节点转移图提供给第一机器学习模型;
所述第一机器学习模型将所述节点转移图与预生成或者学习获得的各个节点的节点向量结合,更新各个节点的节点向量的表达方式;
将更新后的节点向量提供给第二机器学习模型读取;
所述第二机器学习模型根据更新后的节点向量,生成针对所述目标会话样本的目标会话向量。
5.根据权利要求1-4任意一项所述的方法,其特征在于,包括:
根据所获得的会话样本包含的节点,构造全局节点图;
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,所述正样本节点、负样本节点,作为所述目标会话向量的关联节点;
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:
根据正样本节点、负样本节点,获得正样本节点向量、负样本节点向量;
使用所述正样本节点向量、负样本节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值;
根据所述正样本比较分值、负样本比较分值,生成第二损失函数;
采用所述第二损失函数,对所述机器学习模型进行性能评估。
6.根据权利要求5所述的方法,其特征在于,包括:
使用目标节点向量与所述目标会话向量比较,获得目标节点比较分值;
根据所述目标节点比较分值与所述负样本比较分值,生成第三损失函数;
采用所述第三损失函数,对所述机器学习模型进行性能评估。
7.根据权利要求6所述的方法,其特征在于,包括:根据所获得的会话样本包含的节点,构造全局节点图;
在所述全局节点图中,根据目标会话样本,获得所述目标会话样本的正样本节点、负样本节点,以及,获得所述目标会话样本的目标节点,所述正样本节点、负样本节点、目标节点,作为所述目标会话向量的关联节点;
所述根据所述目标会话向量与关联节点的节点向量的相似度情况,对所述机器学习模型进行性能评估,包括:
根据正样本节点、负样本节点、目标节点,获得正样本节点向量、负样本节点向量、目标节点向量;
使用所述正样本节点向量、负样本节点向量、目标节点向量与所述目标会话向量比较,分别获得正样本比较分值、负样本比较分值、目标节点比较分值;
根据所述正样本比较分值、负样本比较分值,生成第二损失函数;根据所述负样本比较分值、目标节点比较分值,生成第三损失函数;
采用所述第二损失函数、第三损失函数,生成第四损失函数;
采用所述第四损失函数,作为针对所述机器学习模型的性能评估指标。
8.根据权利要求4所述的方法,其特征在于,包括:根据性能评估结果,对所述机器学习模型进行调整后,采用调整后的第一机器学习模型,获得各个节点的更新后的节点向量,并在后续的模型训练中使用。
9.一种对象推荐方法,其特征在于,包括:
获取目标会话,所述目标会话是以会话过程的访问对象为节点的节点转移记录;
将所述目标会话建模为节点转移图;
将所述节点转移图提供给机器学习模型,获得表示所述目标会话的目标会话向量;
根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象。
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标会话向量与关联节点的节点向量的相似度情况,提供符合预定要求的推荐对象,包括:
将所述目标会话向量与各个可选择节点的节点向量比较,获得彼此之间的相似度评估;
根据所述相似度评估,按照预定的标准,将相似度水平达到所述预定的标准的对象作为所述合适的推荐对象。
11.根据权利要求10所述的方法,其特征在于,所述将所述目标会话向量与各个可选择节点的节点向量比较,包括:
采用所述目标会话向量与各个可选择节点的节点向量进行向量乘法,获得向量乘法的乘积;
使用所述向量乘法的乘积,比较所述目标会话向量与具体的可选择节点的节点向量之间的相似度。
12.一种针对匿名用户的对象推荐方法,其特征在于,包括:
获取目标会话,所述目标会话是以所述匿名用户的会话过程的访问对象为节点的节点转移记录;
将所述匿名用户的目标会话建模为所述匿名用户的节点转移图;
将所述匿名用户的节点转移图提供给机器学习模型,获得表示所述匿名用户的目标会话的目标会话向量;
根据所述匿名用户的目标会话向量与关联节点的节点向量的相似度情况,向所述匿名用户提供符合预定要求的推荐对象。
13.一种电子设备,其特征在于,包括:
处理器;
以及,
存储器,用于存储计算机程序,该设备通过所述处理器运行该计算机程序后,执行如权利要求1-12任意一项所述方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该程序被处理器运行,执行如权利要求1-12任意一项所述方法。
CN202310173248.7A 2023-02-22 2023-02-22 实现对象推荐的模型训练方法及对象推荐方法及相关装置 Pending CN116361643A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310173248.7A CN116361643A (zh) 2023-02-22 2023-02-22 实现对象推荐的模型训练方法及对象推荐方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310173248.7A CN116361643A (zh) 2023-02-22 2023-02-22 实现对象推荐的模型训练方法及对象推荐方法及相关装置

Publications (1)

Publication Number Publication Date
CN116361643A true CN116361643A (zh) 2023-06-30

Family

ID=86932193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310173248.7A Pending CN116361643A (zh) 2023-02-22 2023-02-22 实现对象推荐的模型训练方法及对象推荐方法及相关装置

Country Status (1)

Country Link
CN (1) CN116361643A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473457A (zh) * 2023-12-25 2024-01-30 四川省大数据技术服务中心 基于数字化业务的大数据挖掘方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473457A (zh) * 2023-12-25 2024-01-30 四川省大数据技术服务中心 基于数字化业务的大数据挖掘方法及系统
CN117473457B (zh) * 2023-12-25 2024-02-27 四川省大数据技术服务中心 基于数字化业务的大数据挖掘方法及系统

Similar Documents

Publication Publication Date Title
You et al. Image-based appraisal of real estate properties
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN110209922B (zh) 对象推荐方法、装置、存储介质及计算机设备
CN109544306B (zh) 一种基于用户行为序列特征的跨领域推荐方法及装置
De Winter et al. Combining temporal aspects of dynamic networks with node2vec for a more efficient dynamic link prediction
CN109033107B (zh) 图像检索方法和装置、计算机设备和存储介质
US20150254554A1 (en) Information processing device and learning method
CN113222700B (zh) 基于会话的推荐方法及装置
CN114004328A (zh) Ai模型更新的方法、装置、计算设备和存储介质
CN110222838B (zh) 文档排序方法、装置、电子设备及存储介质
CN112989169B (zh) 目标对象识别方法、信息推荐方法、装置、设备及介质
CN113761359B (zh) 数据包推荐方法、装置、电子设备和存储介质
CN114925270A (zh) 一种会话推荐方法和模型
CN116361643A (zh) 实现对象推荐的模型训练方法及对象推荐方法及相关装置
CN114741599A (zh) 基于知识增强和注意力机制的新闻推荐方法及系统
CN113590976A (zh) 一种空间自适应图卷积网络的推荐方法
Li et al. Session Recommendation Model Based on Context‐Aware and Gated Graph Neural Networks
Dash DECPNN: A hybrid stock predictor model using Differential Evolution and Chebyshev Polynomial neural network
CN115564532A (zh) 序列推荐模型的训练方法及装置
CN114528491A (zh) 信息处理方法、装置、计算机设备和存储介质
Tan et al. Fuzzy trust based collaborative filtering analysis for mobile user preferences
Doan et al. Pacela: A neural framework for user visitation in location-based social networks
CN117786234B (zh) 一种基于两阶段对比学习的多模态资源推荐方法
CN116881575B (zh) 内容推送方法、装置、计算机设备和存储介质
CN116628310B (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