基于时空超图的服务推荐方法及装置
文献发布时间:2024-01-17 01:26:37
技术领域
本申请涉及数据分析技术领域,特别涉及一种基于时空超图的服务推荐方法及装置。
背景技术
随着服务计算概念的兴起以及服务互联网的进一步发展,与服务相关的数据呈现爆炸式增长,服务推荐方法能够有效利用服务系统信息,能够生成针对用户的个性化服务推荐。
相关技术中,可采用基于统计算法模型与基于神经网络模型的服务推荐方法,常见的服务推荐方法包括基于循环神经网络的服务推荐方法,基于注意力机制的服务推荐方法,以及基于图神经网络的服务推荐方法等。
然而,相关技术中,因用户的服务调用记录存在数据稀疏现象,使得服务推荐难以对用户画像进行良好建模,从而限制了服务推荐的推荐表现,且难以实现针对复杂高阶时空关联关系的自然建模,导致服务推荐的个性化水平不足,推荐结果的准确度下降,影响了用户的使用体验,亟待解决。
发明内容
本申请提供一种基于时空超图的服务推荐方法及装置、电子设备及存储介质,以解决相关技术中,因用户的服务调用记录存在数据稀疏现象,使得服务推荐难以对用户画像进行良好建模,从而限制了服务推荐的推荐表现,且难以实现针对复杂高阶时空关联关系的自然建模,导致服务推荐的个性化水平不足,推荐结果的准确度下降,影响了用户的使用体验等问题。
本申请第一方面实施例提供一种基于时空超图的服务推荐方法,包括以下步骤:根据服务系统中存在的用户与服务的调用交互信息以及服务的地理位置信息构建时空超图;利用所述时空超图神经网络和注意力机制学习,得到用户偏好表征与服务表征;使用所述用户偏好表征与所述服务表征预测用户对于任一服务的感兴趣程度的大小,并根据所述感兴趣程度的大小生成服务的推荐信息。
可选地,在本申请的一个实施例中,所述根据服务系统中存在的用户与服务的调用交互信息以及服务的地理位置信息构建时空超图,包括:采集预设时段内的用户对服务的调用交互信息作为服务的时间数据集和相关的服务的地理位置信息作为服务的空间数据集;对所述时间数据集和所述空间数据集进行预处理,得到处理后的时间数据集和空间数据集;利用所述处理后的时间数据集和空间数据集构建时间超图和空间超图。
可选地,在本申请的一个实施例中,所述利用所述时空超图神经网络和注意力机制学习,得到用户偏好表征与服务表征,包括:分别在所述时间超图和所述空间超图上,使用服务嵌入层获得所述服务的空间和时间的初始表征;使用时空超图神经网络以及注意力机制分别学习并获得所述服务的空间表征和时间表征;根据所述服务的空间表征和时间表征获取用户的偏好表征。
可选地,在本申请的一个实施例中,所述使用所述用户偏好表征与所述服务表征预测用户对于任一服务的感兴趣程度的大小,包括:基于所述服务的空间表征和时间表征和所述用户的偏好表征,通过各自的内积操作计算用户从时空两个角度上对目前所有服务的感兴趣程度大小。
可选地,在本申请的一个实施例中,所述感兴趣程度大小的计算公式为:
其中,
本申请第二方面实施例提供一种基于时空超图的服务推荐装置,包括:构建模块,用于根据服务系统中存在的用户与服务的调用交互信息以及服务的地理位置信息构建时空超图;获取模块,用于利用所述时空超图神经网络和注意力机制学习,得到用户偏好表征与服务表征;推荐模块,用于使用所述用户偏好表征与所述服务表征预测用户对于任一服务的感兴趣程度的大小,并根据所述感兴趣程度的大小生成服务的推荐信息。
可选地,在本申请的一个实施例中,所述构建模块包括:采集单元,用于采集预设时段内的用户对服务的调用交互信息作为服务的时间数据集和相关的服务的地理位置信息作为服务的空间数据集;预处理单元,用于对所述时间数据集和所述空间数据集进行预处理,得到处理后的时间数据集和空间数据集;构建单元,用于利用所述处理后的时间数据集和空间数据集构建时间超图和空间超图。
可选地,在本申请的一个实施例中,所述获取模块包括:嵌入单元,用于分别在所述时间超图和所述空间超图上,使用服务嵌入层获得所述服务的空间和时间的初始表征;学习单元,用于使用时空超图神经网络以及注意力机制分别学习并获得所述服务的空间表征和时间表征;获取单元,用于根据所述服务的空间表征和时间表征获取用户的偏好表征。
可选地,在本申请的一个实施例中,所述推荐模块包括:计算单元,用于基于所述服务的空间表征和时间表征和所述用户的偏好表征,通过各自的内积操作计算用户从时空两个角度上对目前所有服务的感兴趣程度大小。
可选地,在本申请的一个实施例中,所述感兴趣程度大小的计算公式为:
其中,
本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的基于时空超图的服务推荐方法。
本申请第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,该程序被处理器执行时实现如上的基于时空超图的服务推荐方法。
本申请实施例可以通过构建服务的时空超图推断用户偏好与服务的时空表征,并预测用户对于服务的感兴趣程度,以实现针对用户的服务推荐,从而提升了个性化服务推荐的完成精度,保障了用户的使用体验,准确性与客观性更强。由此,解决了相关技术中,因用户的服务调用记录存在数据稀疏现象,使得服务推荐难以对用户画像进行良好建模,从而限制了服务推荐的推荐表现,且难以实现针对复杂高阶时空关联关系的自然建模,导致服务推荐的个性化水平不足,推荐结果的精度下降,影响了用户的使用体验等问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于时空超图的服务推荐方法的流程图;
图2为本申请一个实施例的服务推荐操作流程的示意图;
图3为本申请一个实施例的时空超图概念的示意图;
图4为根据本申请实施例的基于时空超图的服务推荐装置的结构示意图;
图5为根据本申请实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于时空超图的服务推荐方法及装置。针对上述背景技术中提到的相关技术中,因用户的服务调用记录存在数据稀疏现象,使得服务推荐难以对用户画像进行良好建模,从而限制了服务推荐的推荐表现,且难以实现针对复杂高阶时空关联关系的自然建模,导致服务推荐的个性化水平不足,推荐结果的精度下降,影响了用户的使用体验的问题,本申请提供了一种基于时空超图的服务推荐方法,可以通过构建服务的时空超图推断用户偏好与服务的时空表征,并预测用户对于服务的感兴趣程度,以实现针对用户的服务推荐,从而提升了个性化服务推荐的完成精度,保障了用户的使用体验,准确性与客观性更强。由此,解决了相关技术中,因用户的服务调用记录存在数据稀疏现象,使得服务推荐难以对用户画像进行良好建模,从而限制了服务推荐的推荐表现,且难以实现针对复杂高阶时空关联关系的自然建模,导致服务推荐的个性化水平不足,推荐结果的精度下降,影响了用户的使用体验等问题。
具体而言,图1为本申请实施例所提供的一种基于时空超图的服务推荐方法的流程示意图。
如图1所示,该基于时空超图的服务推荐方法包括以下步骤:
在步骤S101中,根据服务系统中存在的用户与服务的调用交互信息以及服务的地理位置信息构建时空超图。
可以理解的是,在本申请的实施例中,用户与服务的调用交互信息可表征用户与服务的时间相关信息,服务的地理位置信息可表征用户与服务的空间信息相关信息,从而构建服务的时空超图。
本申请实施例可以根据服务系统中存在的用户与服务的调用交互信息以及服务的地理位置信息构建时空超图,通过引入服务的地理位置信息,缓解了服务调用时的数据稀疏现象,同时超图能够实现服务之间高阶关联关系的自然直观建模。
可选地,在本申请的一个实施例中,根据服务系统中存在的用户与服务的调用交互信息以及服务的地理位置信息构建时空超图,包括:采集预设时段内的用户对服务的调用交互信息作为服务的时间数据集和相关的服务的地理位置信息作为服务的空间数据集;对时间数据集和空间数据集进行预处理,得到处理后的时间数据集和空间数据集;利用处理后的时间数据集和空间数据集构建时间超图和空间超图。
可以理解的是,在本申请的实施例中,服务的时间超图可由基于用户对于服务调用的时间序列所构建的时间超边组成,时间超边与该时间序列中每一个服务具有入向关系和出向关系的多个服务构成的服务集合所组成。服务的空间超图则可由服务的空间超边组成,服务的空间超边根据同属于一个空间服务组的服务集合所构成。
需要说明的是,预设时段可由本领域技术人员根据实际情况进行设置,在此不作具体限定。
举例而言,可从某一真实世界的服务平台中,采集某一段时间内的用户对服务的调用记录作为服务的时间数据集,以及采集相关的服务的地理位置信息作为服务的空间数据集。对收集到的服务的时间数据集以及服务的空间数据集进行预处理,首先对服务的时间数据集以及服务的空间数据集中的重复项进行去除,并使得数据集中数据格式统一。进而针对处理过后的服务的时间数据集以及服务的空间数据集,分别构建一个服务的时间超图和一个服务的空间超图。此处可以选择使用基于欧式距离的K均值聚类方法,其中服务的坐标即为服务的经纬度坐标。
在步骤S102中,利用时空超图神经网络和注意力机制学习,得到用户偏好表征与服务表征。
可以理解的是,在本申请的实施例中,可以根据上述步骤所得的时间超图和空间超图,使用时空超图神经网络以及注意力机制进行学习,从而获取用户偏好表征与服务表征。
可选地,在本申请的一个实施例中,利用时空超图神经网络和注意力机制学习,得到用户偏好表征与服务表征,包括:分别在时间超图和空间超图上,使用服务嵌入层获得服务的空间和时间的初始表征;使用时空超图神经网络以及注意力机制分别学习并获得服务的空间表征和时间表征;根据服务的空间表征和时间表征获取用户的偏好表征。
在实际执行过程中,可以使用服务嵌入层获得服务的空间和时间的初始表征,进而使用时空超图神经网络以及注意力机制分别进行学习,并获得服务的空间表征和时间表征。对于服务p的时空表征更新学习过程可表示为:
其中,
其中,
其中,p表示服务的表征,δ(·)为一个S型曲线激活函数,γ(·)为一个双曲正切激活函数,x为可学习的位置编码嵌入,k为用户的服务调用记录序列
其中,p表示服务的表征,ω
在步骤S103中,使用用户偏好表征与服务表征预测用户对于任一服务的感兴趣程度的大小,并根据感兴趣程度的大小生成服务的推荐信息。
可以理解的是,在本申请的实施例中,可以根据上述步骤所得用户偏好与服务的时空表征,针对用户对于任一服务的感兴趣程度的大小进行预测,根据感兴趣程度的大小最终生成服务的推荐信息,以实现针对用户的个性化推荐。
本申请实施例可以使用用户偏好表征与服务表征预测用户对于任一服务的感兴趣程度的大小,并根据感兴趣程度的大小生成服务的推荐信息,通过对用户与服务画像良好地建模表示,为用户提供精准的个性化的服务推荐。
可选地,在本申请的一个实施例中,使用用户偏好表征与服务表征预测用户对于任一服务的感兴趣程度的大小,包括:基于服务的空间表征和时间表征和用户的偏好表征,通过各自的内积操作计算用户从时空两个角度上对目前所有服务的感兴趣程度大小。
在实际执行过程中,可以利用所得用户偏好与服务的时空表征,通过各自的内积操作计算用户从时空两个角度上对目前所有服务的综合感兴趣程度大小,并使用目标函数指导方法的学习,当所有可训练参数的学习过程收敛之后,可以对所有服务进行计算得到的感兴趣程度的大小,选取感兴趣程度最大的对应的服务作为最终服务推荐结果,从而相应对用户提供个性化服务推荐。
可选地,在本申请的一个实施例中,感兴趣程度大小的计算公式为:
其中,
具体而言,可以利用上式,获取用户从时空两个角度上对目前所有服务的综合感兴趣程度大小,其中,Softmax(·)表示一个Softmax函数操作。为能够训练所有可训练参数,以达到精确的个性化服务推荐目的,可使用目标函数来指导方法的学习,具体为:
其中,log表示一个对数函数,
下面结合图2-3,以一个具体实施例对本申请实施例的工作内容进行详细阐述。
首先,从某一真实世界的服务平台中,采集某一段时间内的用户对服务的调用记录作为服务的时间数据集US,以及采集相关的服务的地理位置信息作为服务的空间数据集GEO。对服务的时间数据集US以及服务的空间数据集GEO进行预处理,并对服务的时间数据集US以及服务的空间数据集GEO中的重复项进行去除,并使得数据集中数据格式统一。对处理过后的服务的时间数据集US以及服务的空间数据集GEO,分别构建一个服务的时间超图和一个服务的空间超图。此处使用一种基于欧式距离的K均值聚类方法,K均值聚类方法的簇数选为50。
进而根据所得的时间超图和空间超图使用服务嵌入层获得服务的空间和时间的初始表征,进而使用时空超图神经网络以及注意力机制来分别学习并获得服务的空间表征和时间表征。并采用基于软注意力机制的方法来获取用户偏好的表征。
最终,通过用户偏好与服务的时空表征的内积操作计算用户从时空两个角度上对目前所有服务的综合感兴趣程度,使用目标函数指导方法的学习,以训练所有可训练参数,当所有可训练参数的学习过程收敛之后,可对所有服务进行计算得到的感兴趣程度的大小,选取感兴趣程度最大的对应的服务作为最终服务推荐结果。其中,服务的时空表征各自维度的大小设置为64,优化器的算法选用适应性矩估计优化算法,学习率设定为0.001,批大小设置为512。
根据本申请实施例提出的基于时空超图的服务推荐方法,可以通过构建服务的时空超图推断用户偏好与服务的时空表征,并预测用户对于服务的感兴趣程度,以实现针对用户的服务推荐,从而提升了个性化服务推荐的完成精度,保障了用户的使用体验,准确性与客观性更强。由此,解决了相关技术中,因用户的服务调用记录存在数据稀疏现象,使得服务推荐难以对用户画像进行良好建模,从而限制了服务推荐的推荐表现,且难以实现针对复杂高阶时空关联关系的自然建模,导致服务推荐的个性化水平不足,推荐结果的精度下降,影响了用户的使用体验等问题。
其次参照附图描述根据本申请实施例提出的基于时空超图的服务推荐装置。
图4是本申请实施例的基于时空超图的服务推荐装置的结构示意图。
如图4所示,该基于时空超图的服务推荐装置10包括:构建模块100、获取模块200和推荐模块300。
其中,构建模块100,用于根据服务系统中存在的用户与服务的调用交互信息以及服务的地理位置信息构建时空超图。
获取模块200,用于利用时空超图神经网络和注意力机制学习,得到用户偏好表征与服务表征。
推荐模块300,用于使用用户偏好表征与服务表征预测用户对于任一服务的感兴趣程度的大小,并根据感兴趣程度的大小生成服务的推荐信息。
可选地,在本申请的一个实施例中,构建模块100包括:采集单元、预处理单元和构建单元。
其中,采集单元,用于采集预设时段内的用户对服务的调用交互信息作为服务的时间数据集和相关的服务的地理位置信息作为服务的空间数据集。
预处理单元,用于对时间数据集和空间数据集进行预处理,得到处理后的时间数据集和空间数据集。
构建单元,用于利用处理后的时间数据集和空间数据集构建时间超图和空间超图。
可选地,在本申请的一个实施例中,获取模块200包括:嵌入单元、学习单元和获取单元。
其中,嵌入单元,用于分别在时间超图和空间超图上,使用服务嵌入层获得服务的空间和时间的初始表征。
学习单元,用于使用时空超图神经网络以及注意力机制分别学习并获得服务的空间表征和时间表征。
获取单元,用于根据服务的空间表征和时间表征获取用户的偏好表征。
可选地,在本申请的一个实施例中,推荐模块300包括:计算单元。
其中,计算单元,用于基于服务的空间表征和时间表征和用户的偏好表征,通过各自的内积操作计算用户从时空两个角度上对目前所有服务的感兴趣程度大小。
可选地,在本申请的一个实施例中,感兴趣程度大小的计算公式为:
其中,
需要说明的是,前述对基于时空超图的服务推荐方法实施例的解释说明也适用于该实施例的基于时空超图的服务推荐装置,此处不再赘述。
根据本申请实施例提出的基于时空超图的服务推荐装置,可以通过构建服务的时空超图推断用户偏好与服务的时空表征,并预测用户对于服务的感兴趣程度,以实现针对用户的服务推荐,从而提升了个性化服务推荐的完成精度,保障了用户的使用体验,准确性与客观性更强。由此,解决了相关技术中,因用户的服务调用记录存在数据稀疏现象,使得服务推荐难以对用户画像进行良好建模,从而限制了服务推荐的推荐表现,且难以实现针对复杂高阶时空关联关系的自然建模,导致服务推荐的个性化水平不足,推荐结果的准确度下降,影响了用户的使用体验等问题。
图5为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序。
处理器502执行程序时实现上述实施例中提供的基于时空超图的服务推荐方法。
进一步地,电子设备还包括:
通信接口503,用于存储器501和处理器502之间的通信。
存储器501,用于存放可在处理器502上运行的计算机程序。
存储器501可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器501、处理器502和通信接口503独立实现,则通信接口503、存储器501和处理器502可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,在具体实现上,如果存储器501、处理器502及通信接口503,集成在一块芯片上实现,则存储器501、处理器502及通信接口503可以通过内部接口完成相互间的通信。
处理器502可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于时空超图的服务推荐方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
- 基于人脸识别的数据推荐方法、装置、服务器端及客户端
- 基于日志挖掘的商品推荐方法、装置、服务器及存储介质
- 基于加权时空效应的情境感知Web 服务推荐方法
- 基于序列图和超图的推荐模型训练方法及装置