CN111723292A - 基于图神经网络的推荐方法、系统、电子设备及存储介质 - Google Patents
基于图神经网络的推荐方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111723292A CN111723292A CN202010591548.3A CN202010591548A CN111723292A CN 111723292 A CN111723292 A CN 111723292A CN 202010591548 A CN202010591548 A CN 202010591548A CN 111723292 A CN111723292 A CN 111723292A
- Authority
- CN
- China
- Prior art keywords
- node
- new
- sample data
- data set
- nodes
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Biophysics (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于图神经网络的推荐方法,包括:获取第一样本数据集;将每个用户和项目分别作为节点;将每个节点对应的各邻近节点的TF‑IDF值与预先生成的随机噪声相加,得到每个节点与对应的各邻近节点之间的权重;根据权重,获取每个节点对应的目标邻近节点;根据每个节点对应的目标邻近节点,生成网络图;利用第一样本数据集、网络图以及每个节点与对应的各邻近节点之间的权重,训练得到目标神经网络模型;根据目标神经网络模型,获取每个节点的嵌入向量;根据每个节点的嵌入向量,获取不同节点之间的相似度,并进行项目推荐。本发明可以在保证推荐准确度的前提下,避免采用随机游走算法生成图结构,从而减小生成图结构的计算开销。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于图神经网络的推荐方法、系统、电子设备及存储介质。
背景技术
目前,如何能够高效地为用户提供符合其需求的商品信息以及服务,成为了各个平台重要的议题之一。在提供的商品或服务本身没有太大差异的前提下,谁能够更快地为用户找到所需内容,谁就能够在行业竞争中取得优势,因此推荐系统成为了各平台的核心竞争力构成要素之一。各类推荐算法也正是在这一背景下,在近年得到了快速发展。
在各类推荐算法中,深度学习模型中表征学习模型(representation learning)的发展引人注目。这一类模型一般通过对历史数据的学习,能够得到推荐系统中的物品或者用户的嵌入向量(embedding vectors)表征。基于这样的向量表征,可以通过节点之间的相似度计算,寻找到与用户最为匹配的推荐物品,并可以复用在与之相关的其他业务场景中,例如主题推荐,或者寻找最相似物品等。相比传统的推荐算法,例如协同过滤或者基于排序的推荐模型而言,其适用范围更广。
而在表征学习深度模型当中,基于图的图卷积神经网络模型(GraphConvolutional Networks,GCNs)具备有多种优良的特性。图数据结构广泛存在于各种线上服务当中,例如:电商业务中用户和商品构成了图的节点(vertex),节点之间可以通过用户行为(点击,订购,收藏等)建立起图的边(edge);在社交网络平台中,最直观地可以认为用户为图的节点,用户之间的好友关系是图的边;在OTA(在线旅行社)平台的酒店订购应用中,则可以认为用户和酒店为图的节点,用户订购行为则构成了连接两者的边。
不同于传统的基于内容(contents based)的深度学习模型,或者单纯基于嵌入向量的模型,图卷积模型不仅能够使用节点的特征(例如电商平台中,用户属性数据和商品属性数据),还可以同时使用节点之间的连接关系,也就是图结构信息,共同得到节点的嵌入向量。通过综合这两种信息,当前图卷积模型的效果在多个推荐系统中处于领先。
和本发明最相关的图卷积推荐算法为pinsage模型(参考Pinterest公司和Stanford联合发表的论文《Graph Convolutional Neural Networks for Web-ScaleRecommender Systems》)。不同于基于另一种主流的使用拉普拉斯矩阵提取全局图结构信息的图卷积算法,pinsage是通过卷积聚合函数聚合邻近图节点,从而得到图中节点的嵌入向量表示,并将节点的向量表示用于进行推荐的模型。由于每次仅处理整个图结构中的一个子图,相比基于拉普拉斯矩阵的算法,该模型在同一时间需要处理的数据量大大减小,从而能够高效处理包含数十亿节点的图结构数据。
然而,pinsage模型在投入具体使用时,还需要面对下面的不足:生成图结构的计算花费较大。具体来说,在选择节点的邻近节点用于生成图结构时,pinsage模型的做法是通过将某一节点作为起点,应用随机游走算法,计算到达其他节点的规范化访问次数,再依据访问次数降序排列,从中选择排在最前的K个节点作为起点的邻近节点。这样的处理方法能够较好地融入随机性,从而增加模型的鲁棒性,但随机游走算法本身作为独立的推荐算法,运行该算法存在较大的额外开销,并且需要额外的算法部署成本。
发明内容
针对上述现有技术的不足,本发明的目的在于提供一种基于图神经网络的推荐方法、系统、电子设备及存储介质,以在保证推荐准确度的前提下,避免采用随机游走算法生成图结构,从而减小生成图结构的计算开销。
为了实现上述目的,本发明提供一种基于图神经网络的推荐方法,包括:
获取第一样本数据集,所述第一样本数据集包含在第一时间段内采集的若干用户的用户数据以及若干项目的项目数据;
将每个所述用户和每个所述项目分别作为节点,并根据所述用户数据和所述项目数据分别获取各节点对应的邻近节点集合;
获取每个所述节点对应的各邻近节点的TF-IDF值;
将每个所述节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述节点与对应的各邻近节点之间的权重;
根据每个所述节点与对应的各邻近节点之间的权重,获取每个所述节点对应的目标邻近节点;
根据每个所述节点对应的目标邻近节点,生成网络图;
利用所述第一样本数据集、所述网络图以及每个所述节点与对应的各邻近节点之间的权重,对预设的神经网络模型进行训练,得到目标神经网络模型;
根据所述目标神经网络模型,获取每个所述节点的嵌入向量;
根据每个所述节点的嵌入向量,获取不同节点之间的相似度,并根据所述不同节点之间的相似度进行项目推荐。
在本发明一个实施例中,所述获取每个所述节点对应的各邻近节点的TF-IDF值的步骤,包括针对每个所述节点执行以下步骤:
从当前节点对应的邻近节点集合中,获取对应各邻近节点出现的频次占比作为所述当前节点的各邻近节点的TF值;
获取所述当前节点的各邻近节点分别对应的邻近节点数量;
获取与所述当前节点类型相同的同类型节点总数;
根据所述当前节点的各邻近节点分别对应的邻近节点数量、以及所述同类型节点总数,获取所述当前节点的各邻近节点的IDF值;
将所述当前节点的对应邻近节点的TF值与IDF值相乘,得到所述当前节点对应的各邻近节点的TF-IDF值。
在本发明一个实施例中,在所述根据所述目标神经网络模型,获取每个所述节点的嵌入向量的步骤之前,所述方法还包括:
获取第二样本数据集,所述第二样本数据集包含在第二时间段内采集的若干用户的用户数据以及若干项目的项目数据、以及各所述用户与对应所述项目的交互时间信息;
在保持所述目标神经网络模型中已经训练得到的参数不变的情况下,利用所述第二样本数据集对所述目标神经网络模型进行再次训练。
在本发明一个实施例中,在所述获取第一样本数据集的步骤之后,所述方法还包括:对所述第一样本数据集进行预处理。
在本发明一个实施例中,在所述获取第二样本数据集的步骤之后,所述方法还包括:对所述第二样本数据集进行预处理。
在本发明一个实施例中,当有新增用户或新增项目时,根据所述新增用户的用户数据或新增项目的项目数据更新所述第一样本数据集,得到新样本数据集;
将所述新样本数据集中每个用户和每个项目分别作为新节点,并根据每个新节点对应的用户数据或所述项目数据分别获取各新节点对应的邻近节点集合;
获取每个所述新节点对应的各邻近节点的TF-IDF值;
将每个所述新节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述新节点与对应的各邻近节点之间的权重;
根据每个所述新节点与对应的各邻近节点之间的权重,获取每个所述新节点对应的目标邻近节点;
根据每个所述新节点对应的目标邻近节点,生成新网络图;
将所述新样本数据集、所述新网络图以及每个所述新节点与对应的各邻近节点之间的权重输入所述目标神经网络模型,得到每个所述新节点的嵌入向量;
根据每个所述新节点的嵌入向量,获取不同新节点之间的相似度,并根据不同新节点之间的相似度进行项目推荐。
为了实现上述目的,本发明还提供一种基于图神经网络的推荐系统,包括:
第一样本数据集获取模块,用于获取第一样本数据集,所述第一样本数据集包含在第一时间段内采集的若干用户的用户数据以及若干项目的项目数据;
邻近节点集合获取模块,用于将每个所述用户和每个所述项目分别作为节点,并根据所述用户数据和所述项目数据分别获取各节点对应的邻近节点集合;
TF-IDF值获取模块,用于获取每个所述节点对应的各邻近节点的TF-IDF值;
权重获取模块,用于将每个所述节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述节点与对应的各邻近节点之间的权重;
目标邻近节点获取模块,用于根据每个所述节点与对应的各邻近节点之间的权重,获取每个所述节点对应的目标邻近节点;
网络图生成模块,用于根据每个所述节点对应的目标邻近节点,生成网络图;
模型训练模块,用于利用所述第一样本数据集、所述网络图以及每个所述节点与对应的各邻近节点之间的权重,对预设的神经网络模型进行训练,得到目标神经网络模型;
向量获取模块,用于根据所述目标神经网络模型,获取每个所述节点的嵌入向量;
推荐模块,用于根据每个所述节点的嵌入向量,获取不同节点之间的相似度,并根据所述不同节点之间的相似度进行项目推荐。
在本发明一个实施例中,所述TF-IDF值获取模块包括:
TF值获取单元,用于从当前节点对应的邻近节点集合中,获取对应各邻近节点出现的频次占比作为所述当前节点的各邻近节点的TF值;
二级邻近节点数获取单元,用于获取所述当前节点的各邻近节点分别对应的邻近节点数量;
同类型节点总数获取单元,用于获取与所述当前节点类型相同的同类型节点总数;
IDF值获取单元,用于根据所述当前节点的各邻近节点分别对应的邻近节点数量、以及所述同类型节点总数,获取所述当前节点的各邻近节点的IDF值;
TF-IDF值计算单元,用于将所述当前节点的对应邻近节点的TF值与IDF值相乘,得到所述当前节点对应的各邻近节点的TF-IDF值。
在本发明一个实施例中,所述系统还包括:
第二样本数据集获取模块,用于获取第二样本数据集,所述第二样本数据集包含在第二时间段内采集的若干用户的用户数据以及若干项目的项目数据、以及各所述用户与对应所述项目的交互时间信息;
模型优化模块,用于在保持所述目标神经网络模型中已经训练得到的参数不变的情况下,利用所述第二样本数据集对所述目标神经网络模型进行再次训练。
在本发明一个实施例中,所述系统还包括:
第一预处理模块,用于对所述第一样本数据集进行预处理。
在本发明一个实施例中,所述系统还包括:
第二预处理模块,用于对所述第二样本数据集进行预处理。
在本发明一个实施例中,所述第一样本数据集获取模块还用于在有新增用户或新增项目时,根据所述新增用户的用户数据或新增项目的项目数据更新所述第一样本数据集,得到新样本数据集;
所述邻近节点集合获取模块还用于将所述新样本数据集中每个用户和每个项目分别作为新节点,并根据每个新节点对应的用户数据或所述项目数据分别获取各新节点对应的邻近节点集合;
所述TF-IDF值获取模块还用于获取每个所述新节点对应的各邻近节点的TF-IDF值;
所述权重获取模块还用于将每个所述新节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述新节点与对应的各邻近节点之间的权重;
所述目标邻近节点获取模块还用于根据每个所述新节点与对应的各邻近节点之间的权重,获取每个所述新节点对应的目标邻近节点;
所述网络图生成模块还用于根据每个所述新节点对应的目标邻近节点,生成新网络图;
所述向量获取模块还用于将所述新样本数据集、所述新网络图以及每个所述新节点与对应的各邻近节点之间的权重输入所述目标神经网络模型,得到每个所述新节点的嵌入向量;
所述推荐模块还用于根据每个所述新节点的嵌入向量,获取不同新节点之间的相似度,并根据不同新节点之间的相似度进行项目推荐。
为了实现上述目的,本发明还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法的步骤。
通过上述技术方案,本发明具有如下有益效果:
本发明根据每个节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声之和,得到每个节点与对应各邻近节点之间的权重;而后根据获得的权重确定各节点的目标邻近节点,进而生成网络图。与现有技术相比,本发明减少了使用随机游走这种启发式算法带来的额外计算开销,仅通过简单计算便可得到各节点间的权重,从而确定各节点的目标邻近节点;另外,通过在权重中引入随机噪声,又保留了随机游走算法带来的随机性,保证了模型的鲁棒性,从而保证了推荐准确度。
附图说明
图1为本发明实施例1的基于图神经网络的推荐方法的流程图;
图1A为本发明实施例1中步骤S103的流程图;
图2为本发明实施例2的基于图神经网络的推荐方法的流程图;
图3为本发明实施例3的基于图神经网络的推荐方法的流程图;
图4为本发明实施例4的基于图神经网络的推荐系统的结构框图;
图5为本发明实施例4中TF-IDF值获取模块的结构框图;
图6为本发明实施例5的基于图神经网络的推荐系统的结构框图;
图7为本发明实施例7的计算机设备的硬件架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
实施例1
本实施例提供一种基于图神经网络的推荐方法,如图1所示,具体包括以下步骤:
S101,获取第一样本数据集,第一样本数据集包含在第一时间段(通常为数月)内采集的若干用户的用户数据以及若干项目的项目数据。
在本实施例中,前述项目可以是具有一定用途和形态的物质产品(如电商平台下的商品),也可以是非物质形态的服务(如OTA平台下的酒店)。项目数据可以包含项目属性数据和交互记录等。例如,假设项目为某OTA平台下的酒店,则项目属性数据可以包括对应酒店的地理位置、酒店级别、价格、房间类型、是否含早餐等,交互记录可以包含酒店的点击、订购或收藏等记录。
用户数据可以包含对应用户的基础属性数据、统计类数据、挖掘类数据、行为数据等。基础属性数据例如可以包括姓名、性别、证件号、手机号、年龄等信息。统计类数据例如可以包括在目标平台下最近7天的成交订单数、最近30天的消费总额等,统计类数据通常通过统计得到。挖掘类数据例如包括消费水平、地点偏好、项目类型偏好等。挖掘类数据通常通过对用户的基础属性数据、行为数据和统计类数据进行分级处理或分类处理得到。行为数据是指用户在目标平台上发生的具体行为对应的数据,例如,用户订购(或点击/收藏)的具体酒店、订购(或点击/收藏)某酒店的具体次数,这些数据可以通过埋点获得或从平台产生的日志等途径获得。
优选地,在获取第一样本数据集之后,可以对第一样本数据集进行预处理。具体地,预处理可以包括清洗处理、数值化处理和/或归一化处理。其中,清洗处理是指删除不影响用户与项目发生交互的数据,如姓名、证件号、手机号等标识类数据。数值化处理是指将非数值化数据转换为数值化数据。例如,对于性别,若性别为男,转换为1,若性别为女,转换为0。归一化处理是指将数据进行处理后使之限定在一定的范围内。比如通常限制在区间[0,1],这是因为不同数据往往具有不同的量纲和量纲单位,这样的情况会影响到模型训练的结果,为了消除数据之间的量纲影响,需要进行数据归一化处理。
S102,将每个用户和每个项目分别作为节点,并根据用户数据和项目数据分别获取各节点对应的邻近节点集合。
在本实施例中,可以从用户数据和项目数据中获取节点间的交互关系,并根据节点间的交互关系确定各节点对应的邻近节点集合。例如,假设第一样本数据集中包含用户a、b、c,酒店x、y、z,用户a订购酒店x、y、z各一次,用户b订购酒店x、y各一次,用户c订购酒店x一次、订购酒店z两次,则将a、b、c和x、y、z分别作为一个节点,节点a对应的邻近节点集合为{x、y、z},节点b对应的邻近节点集合为{x、y},节点c对应的邻近节点集合为{x、z、z},以此类推。
S103,获取每个节点对应的各邻近节点的TF-IDF值。具体地,如图1A所示,本步骤包括针对每个节点执行以下步骤:
S1031,从当前节点i对应的邻近节点集合Set(neighbor_i)中,获取对应各邻近节点neighbor_i出现的频次占比作为对应各邻近节点neighbor_i的TF值TF(neighbor_i)。例如,对于前述节点c,其对应的邻近节点集合{x、z、z}中,x出现一次,z出现两次,则其邻近节点x的TF值为1/1+2,邻近节点z的TF值为2/1+2。
S1032,获取当前节点i的各邻近节点neighbor_i分别对应的邻近节点neighbor_neighbor_i的数量Number(neighbor_neighbor_i),其中neighbor_neighbor_i是指与neighbor_i有交互关系的节点。例如,对于前述节点c,其对应的邻近节点x与用户a、b、c均有交互关系,则节点c的邻近节点x所对应的邻近节点有a、b、c三个。
S1033,获取与当前节点i类型相同的同类型节点总数Number(class_i)。在本实施例中,节点类型包括用户类型和项目类型。例如,假设当前节点为前述用户节点c,则获取与c相同类型的节点总数,当用户节点包括a、b、c三个时,则与当前节点c类型相同的同类型节点总数为3。
S1034,根据当前节点i的各邻近节点neighbor_i分别对应的邻近节点数量Number(neighbor_neighbor_i)、以及同类型节点总数Number(class_i),获取当前节点i的各邻近节点neighbor_i的IDF值。具体地,通过如下式(1)获取各邻近节点neighbor_i的IDF值:
IDF(neighbor_i)=Number(class_i)/log(1+Number(neighbor_neighbor_i)(1)
例如,假设当前节点为前述用户节点c,则其邻近节点x对应的IDF值为3/log(1+3)。
S1035,将当前节点的各邻近节点的TF值与IDF值相乘,得到当前节点对应的各邻近节点的TF-IDF值。
例如,假设当前节点为前述用户节点c,其邻近节点x的TF值为1/3,x的IDF值为3/log(1+3),则其邻近节点x的TF-IDF值为(1/3)*(3/log(1+3))。
S104,将每个节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个节点与对应的各邻近节点之间的权重。例如,对于前述节点c,将其邻近节点x的TF-IDF值与预先生成的随机噪声相加,得到的和即为节点c与其邻近节点x之间的权重。
S105,根据每个节点与对应的各邻近节点之间的权重,获取每个节点对应的目标邻近节点。具体来说,按权重比例对每个节点的各邻近节点进行降序排列,将前K个邻近节点作为相应节点的目标邻近节点。例如,对于前述节点a,若其与邻近节点x之间的权重>其与邻近节点y之间的权重>其与邻近节点z之间的权重,当K取2时,则将节点x、y作为节点a的目标邻近节点。
S106,根据每个节点对应的目标邻近节点,生成网络图。具体来说,将每个节点与对应目标邻近节点相连,即可生成对应的网络图
S107,利用第一样本数据集、网络图以及每个节点与对应的各邻近节点之间的权重,对预设的神经网络模型进行训练,得到目标神经网络模型。在本步骤中,由于第一样本数据集不包含具体的时间信息,则将神经网络模型的时间维度输入值统一置0,训练过程与pinsage模型的训练过程一致,在此不再赘述。
S108,当没有新增用户或新增项目时,根据目标神经网络模型,获取每个节点的嵌入向量。具体地,将第一样本数据集、网络图以及每个节点与对应的各邻近节点之间的权重输入训练好的目标神经网络模型,即可得到每个节点的嵌入向量表示。
S109,根据每个节点的嵌入向量,获取不同节点之间的相似度,并根据不同节点之间的相似度进行项目推荐,以向各用户推荐最感兴趣的项目。本步骤可采用现有的任何一种基于相似度的推荐算法实现,在此不再赘述。
可见,本实施例根据每个节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声之和,得到每个节点与对应各邻近节点之间的权重;而后根据获得的权重确定各节点的目标邻近节点,进而生成网络图。与采用pinsage模型进行推荐的方案相比,本发明减少了使用随机游走这种启发式算法带来的额外计算开销,仅通过简单计算便可得到各节点间的权重,从而确定各节点的目标邻近节点,并生成网络图。另外,通过在权重中引入随机噪声,又保留了随机游走算法带来的随机性,保证了模型的鲁棒性,从而保证了推荐准确度。
实施例2
现有的pinsage模型未融入节点间的交互时间信息。然而,例如在电商业务中用户对某些商品的兴趣是具有时效的,而在酒店预订场景中更为明显:同一个用户夏季的旅行目的和冬季的旅行目的存在较大差异是极为常见的。在pinsage模型中,没有考虑融入节点之间的交互时间信息,这就意味着模型在对近期有交互记录的用户和对较长时间内没有交互历史的用户进行推荐时,所采用的预测方式是完全相同的,很明显这和实际情况并不相符合。
对此,如图2所示,本实施例的推荐方法在实施例1的步骤S107与S108之间增加了如下步骤,以对步骤S107得到的目标神经网络模型进行优化:
S201,获取第二样本数据集,第二样本数据集包含在第二时间段内采集的若干用户的用户数据以及若干项目的项目数据、以及各用户与对应项目的交互时间信息。
在本实施例中,第二时间段可以是第一时间段之后、时长较短(通常为数天)的一段时间。第二样本数据集中的用户和项目与第一样本数据集中的可以相同,也可以不同。用户与对应项目的交互时间信息是指用户与有交互关系的项目发生交互的具体时间。
优选,当获取第二样本数据集之后,也可以对第二样本数据集进行预处理。其中,对用户数据和项目数据的预处理过程与实施例1相同。对交互时间信息的预处理是指其进行归一化处理。当第二样本数据集中的用户和项目相同与第一样本数据集中的相同时,通过如下步骤进行归一化处理:假设某节点i在第一时间段内最后一次交互时间点为T,在第二时间段内的交互时间点为t,第二时间段最晚时间距离第一时间段开始时间之间的时长为T_total(也就是两个样本数据集的最大时间跨度),则时间点t对应的时间维度输入值可以为(t-T)/T_total,保证输入值范围在[0,1]区间。
S202,在保持目标神经网络模型中已经训练得到的参数不变的情况下,利用第二样本数据集对目标神经网络模型进行再次训练,从而对目标神经网络模型的参数调优。
本实施例通过融入节点间的交互时间信息,可以应对随着时间流逝带来的用户潜在兴趣变化,提升了推荐准确度。
实施例3
在实际推荐系统中,新增用户、新增项目很常见,而这也是传统基于嵌入向量推荐系统所面临的最大挑战。利用邻接节点之间的关系,在有新增节点到来时,可以使用已有节点作为新增节点的邻接节点,并使用已有模型给出新增节点的向量表示。但如何对这一部分进行高效实现,关于pinsage模型的论文中没有提及,这一缺失限制了该模型的适用性。
对此,如图3所示,本实施例的推荐方法在实施例1的步骤S107之后增加如下步骤:
S301,当有新增用户或新增项目时,根据新增用户的用户数据或新增项目的项目数据更新第一样本数据集,得到新样本数据集。优选地,新样本数据集的时间长度与第一样本数据集的时间长度一致。当有新增用户时,保持原有项目不变;当有新增项目时,保持原有用户不变。
S302,将新样本数据集中每个用户和每个项目分别作为新节点,并根据每个新节点对应的用户数据或项目数据分别获取各新节点对应的邻近节点集合。本步骤的具体实现过程可参考步骤S102。
S303,获取每个新节点对应的各邻近节点的TF-IDF值;本步骤的具体实现过程可参考步骤S103。
S304,将每个新节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个新节点与对应的各邻近节点之间的权重。本步骤的具体实现过程可参考步骤S104。
S305,根据每个新节点与对应的各邻近节点之间的权重,获取每个新节点对应的目标邻近节点。本步骤的具体实现过程可参考步骤S105。
S306,根据每个新节点对应的目标邻近节点,生成新网络图。本步骤的具体实现过程可参考步骤S106。
S307,将新样本数据集、新网络图以及每个新节点与对应的各邻近节点之间的权重输入前述目标神经网络模型,得到每个新节点的嵌入向量。
S308,根据每个新节点的嵌入向量,获取不同新节点之间的相似度,并根据不同新节点之间的相似度进行项目推荐,以向用户推荐最感兴趣的项目。
通过上述步骤,本实施例可以得到新增用户或新增项目的嵌入向量,进一步提高推荐准确度。
优选地,本实施例可使用分布式数据库实现,使得重新生成权重的处理时间压缩在一个可控的范围,从而可以高频率地对新增节点进行近实时处理,增加模型的可用性。
需要说明的是,对于实施例1-3,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
实施例4
本实施例提供一种基于图神经网络的推荐系统10,如图4所示,包括第一样本数据集获取模块101、邻近节点集合获取模块102、TF-IDF值获取模块103、权重获取模块104、目标邻近节点获取模块105、网络图生成模块106、模型训练模块107、向量获取模块108和推荐模块109。下面分别对各模块作详细说明:
第一样本数据集获取模块101用于获取第一样本数据集,第一样本数据集包含在第一时间段(通常为数月)内采集的若干用户的用户数据以及若干项目的项目数据。
在本实施例中,前述项目可以是具有一定用途和形态的物质产品(如电商平台下的商品),也可以是非物质形态的服务(如OTA平台下的酒店)。项目数据可以包含项目属性数据和交互记录等。例如,假设项目为某OTA平台下的酒店,则项目属性数据可以包括对应酒店的地理位置、酒店级别、价格、房间类型、是否含早餐等,交互记录可以包含酒店的点击、订购或收藏等记录。
用户数据可以包含对应用户的基础属性数据、统计类数据、挖掘类数据、行为数据等。基础属性数据例如可以包括姓名、性别、证件号、手机号、年龄等信息。统计类数据例如可以包括在目标平台下最近7天的成交订单数、最近30天的消费总额等,统计类数据通常通过统计得到。挖掘类数据例如包括消费水平、地点偏好、项目类型偏好等。挖掘类数据通常通过对用户的基础属性数据、行为数据和统计类数据进行分级处理或分类处理得到。行为数据是指用户在目标平台上发生的具体行为对应的数据,例如,用户订购(或点击/收藏)的具体酒店、订购(或点击/收藏)某酒店的具体次数,这些数据可以通过埋点获得或从平台产生的日志等途径获得。
优选地,在获取第一样本数据集之后,可以通过第一预处理模块对第一样本数据集进行预处理。具体地,预处理可以包括清洗处理、数值化处理和/或归一化处理。其中,清洗处理是指删除不影响用户与项目发生交互的数据,如姓名、证件号、手机号等标识类数据。数值化处理是指将非数值化数据转换为数值化数据。例如,对于性别,若性别为男,转换为1,若性别为女,转换为0。归一化处理是指将数据进行处理后使之限定在一定的范围内。比如通常限制在区间[0,1],这是因为不同数据往往具有不同的量纲和量纲单位,这样的情况会影响到模型训练的结果,为了消除数据之间的量纲影响,需要进行数据归一化处理。
邻近节点集合获取模块102用于将每个用户和每个项目分别作为节点,并根据用户数据和项目数据分别获取各节点对应的邻近节点集合。
在本实施例中,可以从用户数据和项目数据中获取节点间的交互关系,并根据节点间的交互关系确定各节点对应的邻近节点集合。例如,假设第一样本数据集中包含用户a、b、c,酒店x、y、z,用户a订购酒店x、y、z各一次,用户b订购酒店x、y各一次,用户c订购酒店x一次、订购酒店z两次,则将a、b、c和x、y、z分别作为一个节点,节点a对应的邻近节点集合为{x、y、z},节点b对应的邻近节点集合为{x、y},节点c对应的邻近节点集合为{x、z、z},以此类推。
TF-IDF值获取模块103用于获取每个节点对应的各邻近节点的TF-IDF值,如图5所示,其具体包括TF值获取单元1031、二级邻近节点数获取单元1032、同类型节点总数获取单元1033、IDF值获取单元1034和TF-IDF值计算单元1035,其中:
TF值获取单元1031用于从当前节点i对应的邻近节点集合Set(neighbor_i)中,获取对应各邻近节点neighbor_i出现的频次占比作为对应各邻近节点neighbor_i的TF值TF(neighbor_i)。例如,对于前述节点c,其对应的邻近节点集合{x、z、z}中,x出现一次,z出现两次,则其邻近节点x的TF值为1/1+2,邻近节点z的TF值为2/1+2。
二级邻近节点数获取单元1032用于获取当前节点i的各邻近节点neighbor_i分别对应的邻近节点neighbor_neighbor_i的数量Number(neighbor_neighbor_i),其中neighbor_neighbor_i是指与neighbor_i有交互关系的节点。例如,对于前述节点c,其对应的邻近节点x与用户a、b、c均有交互关系,则节点c的邻近节点x所对应的邻近节点有a、b、c三个。
同类型节点总数获取单元1033用于获取与当前节点i类型相同的同类型节点总数Number(class_i)。在本实施例中,节点类型包括用户类型和项目类型。例如,假设当前节点为前述用户节点c,则获取与c相同类型的节点总数,当用户节点包括a、b、c三个时,则与当前节点c类型相同的同类型节点总数为3。
IDF值获取单元1034用于根据当前节点i的各邻近节点neighbor_i分别对应的邻近节点数量Number(neighbor_neighbor_i)、以及同类型节点总数Number(class_i),获取当前节点i的各邻近节点neighbor_i的IDF值。具体地,通过如下式(1)获取各邻近节点neighbor_i的IDF值:
IDF(neighbor_i)=Number(class_i)/log(1+Number(neighbor_neighbor_i)(1)
例如,假设当前节点为前述用户节点c,则其邻近节点x对应的IDF值为3/log(1+3)。
TF-IDF值计算单元1035,用于将当前节点的各邻近节点的TF值与IDF值相乘,得到当前节点对应的各邻近节点的TF-IDF值。
例如,假设当前节点为前述用户节点c,其邻近节点x的TF值为1/3,x的IDF值为3/log(1+3),则其邻近节点x的TF-IDF值为(1/3)*(3/log(1+3))。
权重获取模块104用于将每个节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个节点与对应的各邻近节点之间的权重。例如,对于前述节点c,将其邻近节点x的TF-IDF值与预先生成的随机噪声相加,得到的和即为节点c与其邻近节点x之间的权重。
目标邻近节点获取模块105用于根据每个节点与对应的各邻近节点之间的权重,获取每个节点对应的目标邻近节点。具体来说,按权重比例对每个节点的各邻近节点进行降序排列,将前K个邻近节点作为相应节点的目标邻近节点。例如,对于前述节点a,若其与邻近节点x之间的权重>其与邻近节点y之间的权重>其与邻近节点z之间的权重,当K取2时,则将节点x、y作为节点a的目标邻近节点。
网络图生成模块106用于根据每个节点对应的目标邻近节点,生成网络图。具体来说,将每个节点与对应目标邻近节点相连,即可生成对应的网络图
模型训练模块107用于利用第一样本数据集、网络图以及每个节点与对应的各邻近节点之间的权重,对预设的神经网络模型进行训练,得到目标神经网络模型。在本实施例骤中,由于第一样本数据集不包含具体的时间信息,则将神经网络模型的时间维度输入值统一置0,训练过程与pinsage模型的训练过程一致,在此不再赘述。
向量获取模块108用于在没有新增用户或新增项目时,根据目标神经网络模型,获取每个节点的嵌入向量。具体地,将第一样本数据集、网络图以及每个节点与对应的各邻近节点之间的权重输入训练好的目标神经网络模型,即可得到每个节点的嵌入向量表示。
推荐模块109用于根据每个节点的嵌入向量,获取不同节点之间的相似度,并根据不同节点之间的相似度进行项目推荐,以向各用户推荐最感兴趣的项目。本模块可采用现有的任何一种基于相似度的推荐算法实现,在此不再赘述。
可见,本实施例根据每个节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声之和,得到每个节点与对应各邻近节点之间的权重;而后根据获得的权重确定各节点的目标邻近节点,进而生成网络图。与采用pinsage模型进行推荐的方案相比,本发明减少了使用随机游走这种启发式算法带来的额外计算开销,仅通过简单计算便可得到各节点间的权重,从而确定各节点的目标邻近节点,并生成网络图。另外,通过在权重中引入随机噪声,又保留了随机游走算法带来的随机性,保证了模型的鲁棒性,从而保证了推荐准确度。
实施例5
如图6所示,本实施例在实施例4的基础上增加了以下模块:
第二样本数据集获取模块201,用于获取第二样本数据集,第二样本数据集包含在第二时间段内采集的若干用户的用户数据以及若干项目的项目数据、以及各用户与对应项目的交互时间信息。
在本实施例中,第二时间段可以是第一时间段之后、时长较短(通常为数天)的一段时间。第二样本数据集中的用户和项目与第一样本数据集中的可以相同,也可以不同。用户与对应项目的交互时间信息是指用户与有交互关系的项目发生交互的具体时间。
优选,当获取第二样本数据集之后,也可以对第二样本数据集进行预处理。其中,对用户数据和项目数据的预处理过程与实施例1相同。对交互时间信息的预处理是指其进行归一化处理。当第二样本数据集中的用户和项目相同与第一样本数据集中的相同时,通过如下步骤进行归一化处理:假设某节点i在第一时间段内最后一次交互时间点为T,在第二时间段内的交互时间点为t,第二时间段最晚时间距离第一时间段开始时间之间的时长为T_total(也就是两个样本数据集的最大时间跨度),则时间点t对应的时间维度输入值可以为(t-T)/T_total,保证输入值范围在[0,1]区间。
模型优化模块202,用于在保持目标神经网络模型中已经训练得到的参数不变的情况下,利用第二样本数据集对目标神经网络模型进行再次训练,从而对目标神经网络模型的参数调优。
本实施例通过融入节点间的交互时间信息,可以应对随着时间流逝带来的用户潜在兴趣变化,提升了推荐准确度。
实施例6
本实施例中各模块在实施例4的基础上增加了新的功能,具体如下:
第一样本数据集获取模块101还用于在有新增用户或新增项目时,根据新增用户的用户数据或新增项目的项目数据更新第一样本数据集,得到新样本数据集。优选地,新样本数据集的时间长度与第一样本数据集的时间长度一致。当有新增用户时,保持原有项目不变;当有新增项目时,保持原有用户不变。
邻近节点集合获取模块102还用于将新样本数据集中每个用户和每个项目分别作为新节点,并根据每个新节点对应的用户数据或项目数据分别获取各新节点对应的邻近节点集合。
TF-IDF值获取模块103还用于获取每个新节点对应的各邻近节点的TF-IDF值;本步骤的具体实现过程可参考步骤S103。
权重获取模块104还用于将每个新节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个新节点与对应的各邻近节点之间的权重。
目标邻近节点获取模块105还用于根据每个新节点与对应的各邻近节点之间的权重,获取每个新节点对应的目标邻近节点。
网络图生成模块106还用于根据每个新节点对应的目标邻近节点,生成新网络图。
向量获取模块108还用于将新样本数据集、新网络图以及每个新节点与对应的各邻近节点之间的权重输入前述目标神经网络模型,得到每个新节点的嵌入向量。
推荐模块109还用于根据每个新节点的嵌入向量,获取不同新节点之间的相似度,并根据不同新节点之间的相似度进行项目推荐,以向用户推荐最感兴趣的项目。
通过上述各模块增加的新功能,本实施例可以得到新增用户或新增项目的嵌入向量,进一步提高推荐准确度。
优选地,本实施例可使用分布式数据库实现,使得重新生成权重的处理时间压缩在一个可控的范围,从而可以高频率地对新增节点进行近实时处理,增加模型的可用性。
实施例7
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1、2或3提供的基于图神经网络的推荐方法。
图7示出了本实施例的硬件结构示意图,如图7所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同系统组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1、2或3所提供的基于图神经网络的推荐方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例8
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1、2或3所提供的基于图神经网络的推荐方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1、2或3的基于图神经网络的推荐方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种基于图神经网络的推荐方法,其特征在于,包括:
获取第一样本数据集,所述第一样本数据集包含在第一时间段内采集的若干用户的用户数据以及若干项目的项目数据;
将每个所述用户和每个所述项目分别作为节点,并根据所述用户数据和所述项目数据分别获取各节点对应的邻近节点集合;
获取每个所述节点对应的各邻近节点的TF-IDF值;
将每个所述节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述节点与对应的各邻近节点之间的权重;
根据每个所述节点与对应的各邻近节点之间的权重,获取每个所述节点对应的目标邻近节点;
根据每个所述节点对应的目标邻近节点,生成网络图;
利用所述第一样本数据集、所述网络图以及每个所述节点与对应的各邻近节点之间的权重,对预设的神经网络模型进行训练,得到目标神经网络模型;
根据所述目标神经网络模型,获取每个所述节点的嵌入向量;
根据每个所述节点的嵌入向量,获取不同节点之间的相似度,并根据所述不同节点之间的相似度进行项目推荐。
2.根据权利要求1所述的基于图神经网络的推荐方法,其特征在于,所述获取每个所述节点对应的各邻近节点的TF-IDF值的步骤,包括针对每个所述节点执行以下步骤:
从当前节点对应的邻近节点集合中,获取对应各邻近节点出现的频次占比作为所述当前节点的各邻近节点的TF值;
获取所述当前节点的各邻近节点分别对应的邻近节点数量;
获取与所述当前节点类型相同的同类型节点总数;
根据所述当前节点的各邻近节点分别对应的邻近节点数量、以及所述同类型节点总数,获取所述当前节点的各邻近节点的IDF值;
将所述当前节点的对应邻近节点的TF值与IDF值相乘,得到所述当前节点对应的各邻近节点的TF-IDF值。
3.根据权利要求1所述的基于图神经网络的推荐方法,其特征在于,在所述根据所述目标神经网络模型,获取每个所述节点的嵌入向量的步骤之前,所述方法还包括:
获取第二样本数据集,所述第二样本数据集包含在第二时间段内采集的若干用户的用户数据以及若干项目的项目数据、以及各所述用户与对应所述项目的交互时间信息;
在保持所述目标神经网络模型中已经训练得到的参数不变的情况下,利用所述第二样本数据集对所述目标神经网络模型进行再次训练。
4.根据权利要求1所述的基于图神经网络的推荐方法,其特征在于,在所述获取第一样本数据集的步骤之后,所述方法还包括:对所述第一样本数据集进行预处理。
5.根据权利要求3所述的基于图神经网络的推荐方法,其特征在于,在所述获取第二样本数据集的步骤之后,所述方法还包括:对所述第二样本数据集进行预处理。
6.根据权利要求1所述的基于图神经网络的推荐方法,其特征在于,当有新增用户或新增项目时,所述方法还包括以下步骤:
根据所述新增用户的用户数据或新增项目的项目数据更新所述第一样本数据集,得到新样本数据集;
将所述新样本数据集中每个用户和每个项目分别作为新节点,并根据每个新节点对应的用户数据或所述项目数据分别获取各新节点对应的邻近节点集合;
获取每个所述新节点对应的各邻近节点的TF-IDF值;
将每个所述新节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述新节点与对应的各邻近节点之间的权重;
根据每个所述新节点与对应的各邻近节点之间的权重,获取每个所述新节点对应的目标邻近节点;
根据每个所述新节点对应的目标邻近节点,生成新网络图;
将所述新样本数据集、所述新网络图以及每个所述新节点与对应的各邻近节点之间的权重输入所述目标神经网络模型,得到每个所述新节点的嵌入向量;
根据每个所述新节点的嵌入向量,获取不同新节点之间的相似度,并根据不同新节点之间的相似度进行项目推荐。
7.一种基于图神经网络的推荐系统,其特征在于,包括:
第一样本数据集获取模块,用于获取第一样本数据集,所述第一样本数据集包含在第一时间段内采集的若干用户的用户数据以及若干项目的项目数据;
邻近节点集合获取模块,用于将每个所述用户和每个所述项目分别作为节点,并根据所述用户数据和所述项目数据分别获取各节点对应的邻近节点集合;
TF-IDF值获取模块,用于获取每个所述节点对应的各邻近节点的TF-IDF值;
权重获取模块,用于将每个所述节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述节点与对应的各邻近节点之间的权重;
目标邻近节点获取模块,用于根据每个所述节点与对应的各邻近节点之间的权重,获取每个所述节点对应的目标邻近节点;
网络图生成模块,用于根据每个所述节点对应的目标邻近节点,生成网络图;
模型训练模块,用于利用所述第一样本数据集、所述网络图以及每个所述节点与对应的各邻近节点之间的权重,对预设的神经网络模型进行训练,得到目标神经网络模型;
向量获取模块,用于根据所述目标神经网络模型,获取每个所述节点的嵌入向量;
推荐模块,用于根据每个所述节点的嵌入向量,获取不同节点之间的相似度,并根据所述不同节点之间的相似度进行项目推荐。
8.根据权利要求7所述的基于图神经网络的推荐系统,其特征在于,所述TF-IDF值获取模块包括:
TF值获取单元,用于从当前节点对应的邻近节点集合中,获取对应各邻近节点出现的频次占比作为所述当前节点的各邻近节点的TF值;
二级邻近节点数获取单元,用于获取所述当前节点的各邻近节点分别对应的邻近节点数量;
同类型节点总数获取单元,用于获取与所述当前节点类型相同的同类型节点总数;
IDF值获取单元,用于根据所述当前节点的各邻近节点分别对应的邻近节点数量、以及所述同类型节点总数,获取所述当前节点的各邻近节点的IDF值;
TF-IDF值计算单元,用于将所述当前节点的对应邻近节点的TF值与IDF值相乘,得到所述当前节点对应的各邻近节点的TF-IDF值。
9.根据权利要求7所述的基于图神经网络的推荐系统,其特征在于,所述系统还包括:
第二样本数据集获取模块,用于获取第二样本数据集,所述第二样本数据集包含在第二时间段内采集的若干用户的用户数据以及若干项目的项目数据、以及各所述用户与对应所述项目的交互时间信息;
模型优化模块,用于在保持所述目标神经网络模型中已经训练得到的参数不变的情况下,利用所述第二样本数据集对所述目标神经网络模型进行再次训练。
10.根据权利要求7所述的基于图神经网络的推荐系统,其特征在于,所述系统还包括:第一预处理模块,用于对所述第一样本数据集进行预处理。
11.根据权利要求9所述的基于图神经网络的推荐系统,其特征在于,所述系统还包括:第二预处理模块,用于对所述第二样本数据集进行预处理。
12.根据权利要求7所述的基于图神经网络的推荐系统,其特征在于,所述第一样本数据集获取模块还用于在有新增用户或新增项目时,根据所述新增用户的用户数据或新增项目的项目数据更新所述第一样本数据集,得到新样本数据集;
所述邻近节点集合获取模块还用于将所述新样本数据集中每个用户和每个项目分别作为新节点,并根据每个新节点对应的用户数据或所述项目数据分别获取各新节点对应的邻近节点集合;
所述TF-IDF值获取模块还用于获取每个所述新节点对应的各邻近节点的TF-IDF值;
所述权重获取模块还用于将每个所述新节点对应的各邻近节点的TF-IDF值与预先生成的随机噪声相加,得到每个所述新节点与对应的各邻近节点之间的权重;
所述目标邻近节点获取模块还用于根据每个所述新节点与对应的各邻近节点之间的权重,获取每个所述新节点对应的目标邻近节点;
所述网络图生成模块还用于根据每个所述新节点对应的目标邻近节点,生成新网络图;
所述向量获取模块还用于将所述新样本数据集、所述新网络图以及每个所述新节点与对应的各邻近节点之间的权重输入所述目标神经网络模型,得到每个所述新节点的嵌入向量;
所述推荐模块还用于根据每个所述新节点的嵌入向量,获取不同新节点之间的相似度,并根据不同新节点之间的相似度进行项目推荐。
13.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591548.3A CN111723292B (zh) | 2020-06-24 | 2020-06-24 | 基于图神经网络的推荐方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591548.3A CN111723292B (zh) | 2020-06-24 | 2020-06-24 | 基于图神经网络的推荐方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723292A true CN111723292A (zh) | 2020-09-29 |
CN111723292B CN111723292B (zh) | 2023-07-07 |
Family
ID=72568883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010591548.3A Active CN111723292B (zh) | 2020-06-24 | 2020-06-24 | 基于图神经网络的推荐方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723292B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417236A (zh) * | 2020-10-29 | 2021-02-26 | 汉海信息技术(上海)有限公司 | 训练样本获取方法、装置、电子设备及存储介质 |
CN112634043A (zh) * | 2020-12-28 | 2021-04-09 | 中国农业银行股份有限公司 | 一种数据监测方法及装置 |
CN113254803A (zh) * | 2021-06-24 | 2021-08-13 | 暨南大学 | 一种基于多特征异质图神经网络的社交推荐方法 |
CN114443783A (zh) * | 2022-04-11 | 2022-05-06 | 浙江大学 | 一种供应链数据分析和增强处理方法及装置 |
CN114925279A (zh) * | 2022-06-07 | 2022-08-19 | 支付宝(杭州)信息技术有限公司 | 推荐模型训练方法、推荐方法以及装置 |
CN116760193A (zh) * | 2023-08-17 | 2023-09-15 | 国网江苏省电力有限公司常州供电分公司 | 电力系统的全面数据监控方法和系统 |
WO2024021738A1 (zh) * | 2022-07-29 | 2024-02-01 | 腾讯科技(深圳)有限公司 | 数据网络图的嵌入方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014191501A (ja) * | 2013-03-26 | 2014-10-06 | Dainippon Printing Co Ltd | 情報推薦装置、推薦情報決定方法、推薦情報決定プログラム、及び情報推薦プログラム |
CN109241427A (zh) * | 2018-09-04 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 信息推送方法、装置、计算机设备和存储介质 |
CN110969516A (zh) * | 2019-12-25 | 2020-04-07 | 清华大学 | 一种商品推荐方法及装置 |
CN111241412A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 一种确定用于信息推荐的图谱的方法、系统、及装置 |
CN111241311A (zh) * | 2020-01-09 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 媒体信息推荐方法、装置、电子设备及存储介质 |
-
2020
- 2020-06-24 CN CN202010591548.3A patent/CN111723292B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014191501A (ja) * | 2013-03-26 | 2014-10-06 | Dainippon Printing Co Ltd | 情報推薦装置、推薦情報決定方法、推薦情報決定プログラム、及び情報推薦プログラム |
CN109241427A (zh) * | 2018-09-04 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 信息推送方法、装置、计算机设备和存储介质 |
CN110969516A (zh) * | 2019-12-25 | 2020-04-07 | 清华大学 | 一种商品推荐方法及装置 |
CN111241311A (zh) * | 2020-01-09 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 媒体信息推荐方法、装置、电子设备及存储介质 |
CN111241412A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 一种确定用于信息推荐的图谱的方法、系统、及装置 |
Non-Patent Citations (4)
Title |
---|
AMIT PANDE等: "SWAG:Item Recommendations using Convolutions on Weighted Graphs", 《ARXIV》 * |
REX YING等: "Graph Convolutional Neural Networks for Web-Scale Recommender Systems", 《ACM》 * |
刘子瑶: "基于用户信息的社交网络服务推荐", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
李阔: "电子文献资源的推荐方法研究", 《电子技术与软件工程》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417236A (zh) * | 2020-10-29 | 2021-02-26 | 汉海信息技术(上海)有限公司 | 训练样本获取方法、装置、电子设备及存储介质 |
CN112417236B (zh) * | 2020-10-29 | 2024-05-10 | 汉海信息技术(上海)有限公司 | 训练样本获取方法、装置、电子设备及存储介质 |
CN112634043A (zh) * | 2020-12-28 | 2021-04-09 | 中国农业银行股份有限公司 | 一种数据监测方法及装置 |
CN112634043B (zh) * | 2020-12-28 | 2023-10-13 | 中国农业银行股份有限公司 | 一种数据监测方法及装置 |
CN113254803A (zh) * | 2021-06-24 | 2021-08-13 | 暨南大学 | 一种基于多特征异质图神经网络的社交推荐方法 |
CN113254803B (zh) * | 2021-06-24 | 2021-10-22 | 暨南大学 | 一种基于多特征异质图神经网络的社交推荐方法 |
CN114443783A (zh) * | 2022-04-11 | 2022-05-06 | 浙江大学 | 一种供应链数据分析和增强处理方法及装置 |
CN114443783B (zh) * | 2022-04-11 | 2022-06-24 | 浙江大学 | 一种供应链数据分析和增强处理方法及装置 |
CN114925279A (zh) * | 2022-06-07 | 2022-08-19 | 支付宝(杭州)信息技术有限公司 | 推荐模型训练方法、推荐方法以及装置 |
WO2024021738A1 (zh) * | 2022-07-29 | 2024-02-01 | 腾讯科技(深圳)有限公司 | 数据网络图的嵌入方法、装置、计算机设备和存储介质 |
CN116760193A (zh) * | 2023-08-17 | 2023-09-15 | 国网江苏省电力有限公司常州供电分公司 | 电力系统的全面数据监控方法和系统 |
CN116760193B (zh) * | 2023-08-17 | 2023-11-14 | 国网江苏省电力有限公司常州供电分公司 | 电力系统的全面数据监控方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111723292B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723292B (zh) | 基于图神经网络的推荐方法、系统、电子设备及存储介质 | |
Zhou et al. | A study of recommending locations on location-based social network by collaborative filtering | |
CN108805598B (zh) | 相似度信息确定方法、服务器及计算机可读存储介质 | |
TW201939400A (zh) | 目標用戶群體的確定方法和裝置 | |
CN110866181A (zh) | 资源推荐的方法、装置及存储介质 | |
CN109471978B (zh) | 一种电子资源推荐方法及装置 | |
CN111709810A (zh) | 基于推荐模型的对象推荐方法及装置 | |
CN107818491A (zh) | 电子装置、基于用户上网数据的产品推荐方法及存储介质 | |
CN111488385B (zh) | 基于人工智能的数据处理方法、装置和计算机设备 | |
CN105069036A (zh) | 一种信息推荐方法及装置 | |
CN111861678B (zh) | 一种资源推荐方法、装置、电子设备及存储介质 | |
Sisodia et al. | Fast prediction of web user browsing behaviours using most interesting patterns | |
CN114118192A (zh) | 用户预测模型的训练方法、预测方法、装置及存储介质 | |
CN111429161B (zh) | 特征提取方法、特征提取装置、存储介质及电子设备 | |
CN113190702A (zh) | 用于生成信息的方法和装置 | |
Loukili et al. | Machine learning based recommender system for e-commerce | |
CN115423555A (zh) | 一种商品推荐方法、装置、电子设备及存储介质 | |
CN111696656A (zh) | 一种互联网医疗平台的医生评价方法、装置 | |
CN117557331A (zh) | 一种产品推荐方法、装置、计算机设备及存储介质 | |
US20200311761A1 (en) | System and method for analyzing the effectiveness and influence of digital online content | |
CN114925275A (zh) | 产品推荐方法、装置、计算机设备及存储介质 | |
CN111460300B (zh) | 网络内容推送方法、装置及存储介质 | |
CN114329231A (zh) | 对象特征处理方法、装置、电子设备及存储介质 | |
CN113781134A (zh) | 物品推荐方法、装置及计算机可读存储介质 | |
Wang et al. | Website recommendation with side information aided variational autoencoder |
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 |