图神经网络模型适用性判定方法、装置和计算机设备
技术领域
本申请涉及人工智能
技术领域
,特别是涉及一种图神经网络模型适用性判定方法、装置和计算机设备。背景技术
随着人工智能技术的发展,神经网络模型在各个领域得到了广泛的应用,深度学习取得了很大的成功。
传统的机器学习所用到的数据是欧氏空间(Euclidean Domain)的数据,欧氏空间下的数据最显著的特征就是有着规则的空间结构,比如图片是规则的正方形栅格,语音数据是一维序列,这些数据能够通过一维或二维的矩阵进行表示,进行卷积操作是则较为高效。同时,存在一个核心的假设:样本之间是相互独立的。但是,在现实生活中许多数据都是不具备规则的空间结构,即是非欧氏空间下的数据,如电子交易、推荐系统等抽象出来的图谱,图谱中每个节点与其他节点的连接不是固定的。图神经网络可以对非欧氏空间的数据进行建模,捕获数据的内部依赖关系。图神经网络是不规则的、无序的。图神经网络包括:图卷积网络(Graph Convolutional Networks)、图注意力网络(Graph Attention Networks)等。
通过实验发现,不是什么任务都适合用图神经网络解决,图神经网络也存在局限性,有些任务应用图神经网络取得效果反而不如简单模型,但目前缺乏一种能够判定图神经网络模型适用性的方法。
发明内容
基于此,有必要针对上述技术问题,提供一种能够判定图神经网络模型适用性的图神经网络模型适用性判定方法、装置、计算机设备和存储介质。
一种图神经网络模型适用性判定方法,方法包括:
获取图数据样本,图数据样本包括训练样本和测试样本;
根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型;
将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果;
根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。
一种图神经网络模型适用性判定装置,装置包括:
样本获取模块,用于获取图数据样本,图数据样本包括训练样本和测试样本;
模型训练模块,用于根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型;
模型测试模块,用于将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果;
适用性判定模块,用于根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取图数据样本,图数据样本包括训练样本和测试样本;
根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型;
将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果;
根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取图数据样本,图数据样本包括训练样本和测试样本;
根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型;
将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果;
根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。
一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行以下步骤:
获取图数据样本,图数据样本包括训练样本和测试样本;
根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型;
将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果;
根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。
上述图神经网络模型适用性判定方法、装置、计算机设备和存储介质,通过获取图数据样本,根据图数据样本中的训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型,实现模型的训练,利用图数据样本中的测试样本对训练好的模型进行测试,通过将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果,以检测训练后的模型是否学到了图数据的结构,根据链接预测结果,进一步对图神经网络模型与图数据样本的适用性的判定,以确定选择的图神经网络模型是否适用于对图数据的分析,能够在模型的选择过程中,快速选定图数据适用的模型。
附图说明
图1为一个实施例中图神经网络模型适用性判定方法的应用环境图;
图2为一个实施例中图神经网络模型适用性判定方法的流程示意图;
图3为另一个实施例中图神经网络模型适用性判定方法的流程示意图;
图4为再一个实施例中图神经网络模型适用性判定方法的流程示意图;
图5为一个实施例中图神经网络模型适用性判定方法的图数据节点间关系的示意图;
图6为另一个实施例中图神经网络模型适用性判定方法的语义相关性准确率与图信噪比的关系示意图;
图7为另一个实施例中图神经网络模型适用性判定方法的流程示意图;
图8为再一个实施例中图神经网络模型适用性判定方法的流程示意图;
图9为又一个实施例中图神经网络模型适用性判定方法的流程示意图;
图10为还一个实施例中图神经网络模型适用性判定方法的流程示意图;
图11为一个实施例中图神经网络模型适用性判定装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的图神经网络模型适用性判定方法,可以应用于如图1所示的应用环境中。终端102通过网络与服务器104进行通信。其中,服务器104获取用户通过终端102上传的图数据样本,图数据样本包括训练样本和测试样本;根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型;将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果;根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在其他实施例中,上述图神经网络模型适用性判定方法也可以在单独的具备数据处理功能的终端或服务器上实现。
在一个实施例中,如图2所示,提供了一种图神经网络模型适用性判定方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤202至步骤208。
步骤202,获取图数据样本,图数据样本包括训练样本和测试样本。
图数据样本是指用于对模型进行训练和测试的图数据,其中,图数据是针对某些具备关联关系的数据的节点图的数据展示形式。具备关联关系的数据可以是某个用户的历史行为数据,历史行为数据的数量较多,对于某一项历史行为关联的数据可以是一项,也可以是多项。
例如用户要搜索“双色球”,在终端的搜索框输入“双色球”,并向服务器发送搜索请求,服务器在响应用户通过终端发送的搜索请求后,反馈与“双色球”对应的相关文档至终端,此时,若用户点击其中一个文档A,则与“双色球”关联的数据是用户点击的文档A,若用户觉得当前界面展示的文档都不是其想要的结果,在搜索框重新输入“福利彩票”,则与“双色球”关联的数据是用户重新搜索的“福利彩票”。可以理解,上述两种情况都发生时,则与“双色球”关联的数据既包括文档A,也包括“福利彩票”。通过图数据,可以将具有关联关系的数据通过连接的节点进行展示。
训练样本是指用于对模型进行训练的图数据样本。测试样本是指用于对模型进行测试的图数据样本。与应用过程中的图数据相比较,图数据样本中各个节点之间的关系是事先能够准确确定的,应用过程中的图数据是需要通过模型来预测节点之间是否存在关联关系。
在一个实施例中,训练样本和测试样本可以是将图数据样本按比例进行分配得到的。例如,将训练样本与测试样本的比例设置为9:1,将图数据样本按9:1进行分配,得到训练样本与测试样本。在其他实施例中,训练样本和测试样本也可以按照其他配置规则进行分配。通过对图数据样本进行分配的方式来得到训练样本和测试样本,能够使得测试样本与训练样本保持比较相似的水平,能够提高对模型的测试结果的准确性。
步骤204,根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型。
在实施例中,模型的训练可以通过监督学习的方式实现。监督学习是从标记的训练数据来推断一个功能的机器学习任务。通过事先确定训练样本要得到的结果,以该结果为模型的训练目标,对模型进行训练。在实施例中,图数据样本携带有标注信息,标注信息为期望的输出结果即期望模型能够预测出的节点间的关联关系。
选择的图神经网络模型可以是多个图神经网络模型构成的模型集合中的一个,图神经网络包括:图卷积神经网络、图注意力网络等。不同的图神经网络模型对图数据的处理能力和原理存在一定的差异,因此,图数据的处理结果也会存在不同。在实施例中,选择的图神经网络模型可以是随机选择的,也可以根据配置的规则进行选择。举例来说,配置的规则可以是根据预先配置的图数据的应用场景与图神经网络模型的匹配关系来选择,例如,文本搜索的应用场景与图卷积神经网络匹配,则可以优先选择图卷积神经网络进行训练。其中,应用场景与图神经网络模型的匹配关系可以基于历史的图神经网络模型与图数据样本的适用性判定结果或是基于模型的实际应用情况确定。
根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型。其中,图神经网络模型的训练过程可以通过限定迭代次数确定训练的终止条件,也可以通过限定模型精度等方式来确定训练的终止条件。
步骤206,将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果。
目标神经网络模型在训练过程中,实质上是对图结构的学习,服务器通过将测试样本输入目标神经网络模型,根据目标神经网络模型的学习结果,对测试样本进行处理,以预测测试样本节点间的关联关系,目标神经网络模型输出的数据为测试样本节点间的关联关系预测结果。
服务器根据测试样本节点间的实际关联关系与测试样本节点间的关联关系预测结果,通过链接预测(Link prediction)指标计算,确定预测结果与实际结果之间的差异性。其中,链接预测结果的目标是根据已知的节点和连边,得到新的连边(的权值/特征),确定得到的新的连边的准确性。
在实施例中,链接预测结果可以是取值范围为[0,1]的概率数据。在实施例中,链接预测结果可以是AUC(Area Under Curve,ROC曲线下与坐标轴围成的面积,是衡量学习器优劣的一种性能指标)或Precision(精确度)中的至少一种。
AUC从整体上衡量算法的准确性。链路预测算法在经过训练后可以得到网络中每一对节点的相似值Sim(similarity,边的相似值)。AUC指标即是基于测试集中边的相似值和不存在的边的相似值的比较(即以不存在的边作为基准)。
若Sim测试>Sim不存在,则数值的分子加1(此时证明预测效果良好);
若Sim测试=Sim不存在,则数值的分子加0.5(此时相当于随机选择)
若Sim测试<Sim不存在,数值的分子加0(此时预测效果非常差);
数值的分母则是测试集中的边的相似值与不存在的边的相似值比较的次数,AUC指标即为数值分子与数值分母的比值。
Precision只考虑前L位的边是否预测准确。链路预测算法经过训练后会得到节点对之间的相似值,去除训练集中的边,仅将测试集和不存在的边集合中的边的相似值进行排序,排序后取前L个。假设L个中有N个属于测试集,那么Precision值为N/L。
步骤208,根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。
链接预测结果是用于描述预测结果的准确性的概率数据,取值范围为[0,1],基于链接预测结果,可以区分模型问题还是图数据问题。具体来说,当链接预测结果趋近于1时,表征模型已经学到了图的结构,问题可能在图数据,当链接预测结果趋近于0时,表征模型没有学到图的结构,问题在选择的模型。
上述图神经网络模型适用性判定方法,通过获取图数据样本,根据图数据样本中的训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型,实现模型的训练,利用图数据样本中的测试样本对训练好的模型进行测试,通过将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果,以检测训练后的模型是否学到了图数据的结构,根据链接预测结果,进一步对图神经网络模型与图数据样本的适用性的判定,以确定选择的图神经网络模型是否适用于对图数据的分析,能够在模型的选择过程中,快速选定图数据适用的模型。
在一个实施例中,如图2所示,根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定即步骤208,包括步骤302至步骤304。
步骤302,当链接预测结果小于预设指标阈值时,判定图神经网络模型不适用于图数据样本。
步骤304,当链接预测结果不小于预设指标阈值时,根据测试样本的图信噪比,对图神经网络模型与图数据样本的适用性进行判定。
预设指标阈值是基于具体的应用场景需求设定的、用于评估链接预测结果的极限值。以预设指标阈值为0.5为例,当链接预测结果小于0.5时,如链接预测结果为0.2,则表征模型没有学到图的结构,问题在选择的模型,此时,判定图神经网络模型不适用于图数据样本,进一步地,对于选择的模型存在问题的情况,可以通过更换图神经网络模型的方式重新进行模型训练。当链接预测结果不小于0.5时,如链接预测结果为0.8,则表征模型已经学到了图的结构,问题可能在图数据,在此情况下,可以进一步对图数据进行判断,具体来说,可以根据测试样本的图信噪比,对图神经网络模型与图数据样本的适用性进行判定。
上述实施例中,一方面,简化了图神经网络模型不适用于图数据样本的情况的判定流程,通过链接预测结果小于预设指标阈值这一判定条件,能够快速地对不适用的模型进行筛选,另一方面,基于链接预测结果和图信噪比的结合,通过二次检测对图神经网络模型与图数据样本的适用性进行判定,能够实现对适用于图数据分析的图神经网络模型的有效选择。
在一个实施例中,当链接预测结果不小于预设指标阈值时,根据测试样本的图信噪比,对图神经网络模型与图数据样本的适用性进行判定即步骤304,包括步骤402至步骤408。
步骤402,当链接预测结果不小于预设指标阈值时,根据测试样本中的节点对应数据以及与节点关联的一阶邻居节点对应数据,确定节点与一阶邻居节点的平均语义相似度。
步骤404,根据平均语义相似度,得到测试样本的图信噪比。
步骤406,当图信噪比小于预设图信噪比阈值时,判定图数据样本不适用于图神经网络模型。
步骤408,当图信噪比不小于预设图信噪比阈值时,判定图数据样本适用于图神经网络模型。
测试样本中的节点是指构成图数据的节点,节点与节点通过连边关联,其中,对于任意一个节点来说,能够用一条连边直接与其关联的节点为与其关联的一阶邻居节点。同理,需要通过至少两条的连边间接与其关联的节点则是与其关联的二阶邻居节点,以此类推。在实施例中图数据可以是有向图,即从第一节点到第二节点之间的连边具有指示方向,其中,指示方向可以用箭头表示。在实施例中,有向图的一阶邻居节点为沿着箭头指示方向与某节点直接相邻的节点。在其他实施例中,图数据也可以是无向图,即节点直接的关联关系没有明确的指向关系,只要是通过一条连边可以连接的节点都互为一阶邻居节点。
节点对应的数据是指用于表征节点的内容。例如数据搜索场景下的节点对应的数据则为用户搜索的内容以及点击的文本的内容。在实施例中,数据搜索场景下涉及用户历史行为session,session是指用户一段时间内搜索行为,包括切换query(问题),点击doc(文档)。其中,query与doc互为异构。具体来说,两个文本互为异构意为,要匹配的文本A与文本B的语义空间不同。例如文本A对应用户输入query,文本B对应检索的文档。异构体现在:query长度一般较短,而doc长度较长。组成query的词较为口语化,组成doc的词包含较多专有名词。在实施例中,用户在服务搜索里发生的搜索、点击等行为会在后台留下记录,可以离线获取到这些数据,得到用户历史行为session。
在实施例中,可以根据测试样本中的节点对应文本以及与节点关联的一阶邻居节点对应文本,计算节点与一阶邻居节点的平均语义相似度。其中,平均语义相似度可以通过余弦相似度、欧式距离、明可夫斯基距离、Jaccard相似系数、皮尔森相关系数或是曼哈顿距离等方法中的任意一种来实现。
需要说明的是,若某节点为query,则其关联的一阶邻居节点可以是query,也可以是doc。例如,如图5所示,用户搜索“双色球”(即q1)之后,发现对应页面提供的可选项中没有想要的数据,重新输入搜索“福利彩票”(即q2),点击“福利彩票”对应的页面选项中的“福利彩票开奖”跳转至一个新页面(即d1),然后发现该新页面中没有其需要的数据,然后通过返回操作,退回到上一个页面,重新输入搜索“彩票开奖号码”(即q3),点击“彩票开奖号码”对应的页面选项中的“彩票彩票开奖”跳转至一个新页面(即d2)。在图数据中,q1、q2、q3、d1、d2为图数据中的节点。q1对应的一阶邻居节点为q2,q2对应的一阶邻居节点为q3和d1,q3对应的一阶邻居节点为d2。
图信噪比SNRi用于表征图数据中的噪声数据的情况,其中,噪声数据可以通过节点与一阶邻居节点的平均语义相似度判定该两个节点之间的关系是否为噪声数据。
其中,match-score(texti,textj)表示节点i与节点j之间的平均语义相似度评分,Ni是指第i个节点的一阶邻居节点的数量。
当图信噪比小于预设图信噪比阈值时,判定图数据样本不适用于图神经网络模型。当图信噪比不小于预设图信噪比阈值时,判定图数据样本适用于图神经网络模型。
如图6所示,通过计算图数据的邻近节点的语义相关性准确率(precision)可以发现,语义相关性准确率与图信噪比是成强相关的。进一步验证了通过图信噪比来判断图数据样本适用于该图神经网络模型的可靠性。具体来说语义相关性准确率可以通过基于人工标注embedding近邻节点里,语义相关的比例来得到。计算公式如下:
其中,labelij表示近邻节点i和j之间的人工标注标签,test_seti是指第i个节点的对应的测试集合。
如果图信噪比指标低于设定的预设图信噪比阈值,则说明当前图数据的数据分布不适合用图神经网络模型。此时应清洗数据,提升图信噪比指标,或者更换其余类型的模型,如深度神经网络模型等等。
在一个实施例中,如图7所示,当图信噪比小于预设图信噪比阈值时,还包括步骤702。
步骤702,对图数据样本进行数据清洗,直至图数据样本的图信噪比不小于预设图信噪比阈值。
可以理解,步骤702可以与步骤406中的判定步骤同时执行,也可先于判定步骤执行或后于判定步骤执行。
数据清洗是指对图数据样本中的噪声数据的处理过程。具体来说,可以根据节点之间的语义相似度来确定节点之间的关联关系是否为噪声数据,当节点之间的语义相似度小于预设的相似度阈值时,则可以确定该节点之间的关联关系为噪声数据,当节点之间的语义相似度不小于预设的相似度阈值时,则确定该节点之间的关联数据为正常数据。
通过数据清洗,可以去除图数据样本中的噪声数据,以调整图数据样本的数据分布,以使其适用于选择的图神经网络模型。若通过数据清洗之后,仍无法达到图数据样本的图信噪比不小于预设图信噪比阈值的情况,则应该替换掉选择的图神经网络模型。
在一个实施例中,如图8所示,当链接预测结果小于预设指标阈值时,还包括步骤802。可以理解,步骤802可以与步骤406中的判定步骤同时执行,也可先于判定步骤执行或后于判定步骤执行。
步骤802,基于预设的图神经网络模型集合,对选择的图神经网络模型进行模型替换,直至替换的图神经网络模型在基于训练样本进行模型训练后满足预设的测试条件。
其中,测试条件包括测试样本对应的链接预测结果不小于预设指标阈值、且测试样本对应的图信噪比不小于预设图信噪比阈值。
模型替换可以基于模型集合中的多个图神经网络模型来实现,替换的对象可以是模型集合中未被选中过的任意一个,也可以是基于配置的选择规则从模型集合中选择匹配程度最高的一个。
对于替换的图神经网络模型,需要基于图数据样本重新进行模型训练和测试,具体的训练和检测过程与上述替换之前的图神经网络模型的训练和测试过程相同,测试样本对应的链接预测结果与图信噪比也可以通过相同的方式得到,不再赘述。
若替换的图神经网络模型在基于训练样本进行模型训练后,通过测试样本进行模型测试,测试样本对应的链接预测结果不小于预设指标阈值、且测试样本对应的图信噪比不小于预设图信噪比阈值,则可以判定该替换的图神经网络模型与图数据样本之间具有较好的适用性。
通过替换图神经网络模型,对替换后的图神经网络模型进行训练和测试,能够便于找到合适于图数据样本的分析的图神经网络模型。
在一个实施例中,如图9所示,获取图数据样本包括步骤902至步骤904。
步骤902,获取用户历史行为数据。
步骤904,根据用户历史行为数据中的用户操作对应的记录数据,得到图数据样本。用户操作可以通过用户历史行为数据session来体现,session包括用户一段时间内搜索行为,包括搜索切换操作(切换query)和查看操作(点击doc)中的至少一种。搜索切换操作是指用户先后输入至少两个搜索关键词进行搜索的操作,搜索切换操作对应的记录数据包括先后输入的至少两个搜索关键词,搜索切换操作对应的记录数据用于表征先后输入的至少两个搜索关键词之间的相似性。例如,搜索切换操作可以是用户输入第一搜索关键词进行搜索后输入第二搜索关键词再次进行搜索的操作,此时,搜索切换操作对应的记录数据可用于表征第一搜索关键词与第二搜索关键词之间的相似性。查看操作是指用户输入搜索关键词后,触发搜索结果进入搜索结果的数据详情查看界面的操作,查看操作对应的记录数据包括输入的搜索关键词与搜索结果对应的文本,相应的查看操作对应的记录数据可用于表征搜索关键词与搜索结果之间的关联性。对于每一个用户都记录有对应的用户历史行为数据。通过对session进行图建模,构建该用户的用户历史行为数据对应的图数据。
在其中一个实施例中,根据用户历史行为数据中的用户操作对应的记录数据,得到图数据样本包括:将用户操作对应的记录数据作为节点,以用户操作作为节点之间的连边,建立节点之间的连接关系。根据用户操作对应操作次数,确定连边对应的权重。根据节点、连边以及连边对应的权重,得到图数据样本。
可以理解,用户操作可以是只有搜索切换操作或只有查看操作,也可以同时包括搜索切换操作和查看操作,同时将搜索切换操作和查看操作为数据处理对象,能够得到与输入的搜索词相关联的用词以及与输入的搜索词相关联文本,便于后续得到准确的搜索结果。
在一个实施例中,以同时包括搜索切换操作和查看操作为例,把query与doc作为节点,切换query或者点击doc作为连边,根据切换query或者点击doc在用户历史行为数据中的重复次数qv(query volume,搜索次数)所占比例作为连边的权重。具体来说,对于某节点A,其具有4条连边,其中,连边1的重复次数为1,连边2的重复次数为2,连边3的重复次数为3,连边4的重复次数为4则该节点对应的所有操作的总和为1+2+3+4=10,则连边1的权重为1/10=0.1,连边2的权重为2/10=0.2,连边3的权重为3/10=0.3,连边4的权重为4/10=0.4。基于节点、节点间的连边以及连边对应的权重,构建得到图数据样本。通过计算连边的权重数据,能够更叫准确有效地对数据之间的关联强度进行描述,提高图数据的准确性。
在一个实施例中,如图10所示,提供了一种图神经网络模型适用性判定方法,具体包括以下步骤1002至步骤1026。
步骤1002,获取用户历史行为数据。
步骤1004,将用户操作对应的记录数据作为节点,以用户操作作为节点之间的连边,建立节点之间的连接关系,用户操作包括搜索切换操作和查看操作。
步骤1006,根据用户操作对应操作次数,确定连边对应的权重。
步骤1008,根据节点、连边以及连边对应的权重,得到图数据样本,将图数据样本划分为训练样本和测试样本。
步骤1010,根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型。
步骤1012,将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果。
步骤1014,当链接预测结果小于预设指标阈值时,判定图神经网络模型不适用于图数据样本,进入步骤1026。
步骤1016,当链接预测结果不小于预设指标阈值时,根据测试样本中的节点对应数据以及与节点关联的一阶邻居节点对应数据,确定节点与一阶邻居节点的平均语义相似度。
步骤1018,根据平均语义相似度,得到测试样本的图信噪比。
步骤1020,当图信噪比小于预设图信噪比阈值时,判定图数据样本不适用于图神经网络模型,进入步骤1024或步骤1026。
步骤1022,当图信噪比不小于预设图信噪比阈值时,判定图数据样本适用于图神经网络模型。
步骤1024,对图数据样本进行数据清洗,直至图数据样本的图信噪比不小于预设图信噪比阈值。
步骤1026,基于预设的图神经网络模型集合,对选择的图神经网络模型进行模型替换,直至替换的图神经网络模型在基于训练样本进行模型训练后满足预设的测试条件。
本申请还提供一种应用场景,该应用场景应用上述的图神经网络模型适用性判定方法。具体地,以该图神经网络模型适用性判定方法在微信中的搜一搜的应用为例进行说明。
搜一搜是微信中的一个功能,可以根据关键词搜索朋友圈、文章、公众号、小说、音乐、表情等。在搜一搜中,具体指某类型结果搜索,例如公众号搜索、小程序搜索等属于垂直搜索。其中,垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索还包括服务搜索。服务搜索可以将满足用户query的服务直接展示给用户。例如,搜索保姆时,服务搜索可以直接提供找保姆服务菜单。
服务搜索的在线处理部分分为query意图识别,到召回排序,并经过精排,最后到后验模块。此方案应用于后验模块的数据挖掘,目标是根据用户行为数据,来离线发现相关性强的query-doc集合。例如从用户日志发现,大部分用户在某个query下都点击某个doc,我们便认为这两个query-doc的相关性强。有了这些相关性强的query-doc集合,可以作为服务搜索的基础数据积累,通过保证这些query-doc的复现,使我们服务搜索的体验稳定。
通过图神经网络作为模型,可以解决query-doc相关性的检测问题,但发现效果仍有提升空间,基于此,提出一种衡量图神经网络模型可行性的方法,从而为以后的方案选择提供指导意义。
首先,根据用户历史行为session,把query与doc作为节点,切换query或者点击doc作为连边,根据切换query或者点击doc在用户历史行为数据中的重复次数所占比例作为连边的权重,得到图数据。
Step1,根据图数据中的训练数据,对选择的图神经网络模型(图卷积网络GCN,Graph Convolutional Network或图注意力网络GAT,Graph Attention Network)进行训练。
Step2基于图数据中的测试数据,计算Link prediction指标,区分模型问题还是图数据问题;若Link prediction任务效果差,则表征选择的模型没有学到图的结构,问题在选择的模型。需要重新选择一种模型,重复Step1。
若Link prediction任务效果好,则表征选择的模型已经学到了图的结构,问题不在模型在数据,进入Step3。
Step3,计算测试数据的图信噪比SNRi(signal noise ratio,信噪比),即节点与他的一阶邻居节点的平均语义相似度。
通过计算语义相关性准确率precision(人工标注embedding近邻节点里,语义相关的比例),可以发现,语义相关性准确率与图信噪比是成强相关的。
如果图信噪比SNRi很低,则说明当前数据分布不适合用图神经网络模型。此时应清洗数据,提升图信噪比,或者更换其余类型的模型,如深度神经网络模型等等。通过上述处理,可以尽早发现如数据与选择的图神经网络的匹配方案是否存在问题,能够在模型的选择过程中,准确定位问题原因,少走弯路与做无用功,快速选定图数据适用的模型。
应该理解的是,虽然上述各实施例中涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种图神经网络模型适用性判定装置1100,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:样本获取模块1102、模型训练模块1104、模型测试模块1106和适用性判定模块1108,其中:
样本获取模块1102,用于获取图数据样本,图数据样本包括训练样本和测试样本;
模型训练模块1104,用于根据训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型;
模型测试模块1106,用于将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果;
适用性判定模块1108,用于根据链接预测结果,对图神经网络模型与图数据样本的适用性进行判定。
在其中一个实施例中,适用性判定模块还用于当链接预测结果小于预设指标阈值时,判定图神经网络模型不适用于图数据样本;当链接预测结果不小于预设指标阈值时,根据测试样本的图信噪比,对图神经网络模型与图数据样本的适用性进行判定。
在其中一个实施例中,适用性判定模块还用于当链接预测结果不小于预设指标阈值时,根据测试样本中的节点对应数据以及与节点关联的一阶邻居节点对应数据,确定节点与一阶邻居节点的平均语义相似度;根据平均语义相似度,得到测试样本的图信噪比;当图信噪比小于预设图信噪比阈值时,判定图数据样本不适用于图神经网络模型;当图信噪比不小于预设图信噪比阈值时,判定图数据样本适用于图神经网络模型。
在其中一个实施例中,图神经网络模型适用性判定装置还包括数据清洗模块,数据清洗模块用于对图数据样本进行数据清洗,直至图数据样本的图信噪比不小于预设图信噪比阈值。
在其中一个实施例中,图神经网络模型适用性判定装置还包括模型替换模块,模型替换模块用于基于预设的图神经网络模型集合,对选择的图神经网络模型进行模型替换,直至替换的图神经网络模型在基于训练样本进行模型训练后满足预设的测试条件,其中,测试条件包括测试样本对应的链接预测结果不小于预设指标阈值、且测试样本对应的图信噪比不小于预设图信噪比阈值。
在其中一个实施例中,样本获取模块还用于获取用户历史行为数据;根据用户历史行为数据中的用户操作对应的记录数据,得到图数据样本,用户操作包括搜索切换操作和查看操作中的至少一种,搜索切换操作对应的记录数据用于表征基于搜索切换操作先后获取到的至少两个搜索关键词之间的相似性,查看操作对应的记录数据用于表征搜索关键词与搜索结果之间的关联性。
在其中一个实施例中,样本获取模块还用于将用户操作对应的记录数据作为节点,以用户操作作为节点之间的连边,建立节点之间的连接关系;根据用户操作对应操作次数,确定连边对应的权重;根据节点、连边以及所述连边对应的权重,得到图数据样本。
上述图神经网络模型适用性判定装置,通过获取图数据样本,根据图数据样本中的训练样本对选择的图神经网络模型进行训练,得到目标图神经网络模型,实现模型的训练,利用图数据样本中的测试样本对训练好的模型进行测试,通过将测试样本输入目标神经网络模型,根据目标神经网络模型输出的测试样本节点间的关联关系预测结果,得到测试样本对应的链接预测结果,以检测训练后的模型是否学到了图数据的结构,根据链接预测结果,进一步对图神经网络模型与图数据样本的适用性的判定,以确定选择的图神经网络模型是否适用于对图数据的分析,能够在模型的选择过程中,快速选定图数据适用的模型。
关于图神经网络模型适用性判定装置的具体限定可以参见上文中对于图神经网络模型适用性判定方法的限定,在此不再赘述。上述图神经网络模型适用性判定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器1210、存储器1220和网络接口1250。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器1220包括非易失性存储介质1230、内存储器1240。该非易失性存储介质1230存储有操作系统1232、计算机程序1234和数据库1236。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于用户操作的记录数据和构建的图数据。该计算机设备的网络接口1250用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图神经网络模型适用性判定方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:高效的相似性搜索