掌桥专利:专业的专利平台
掌桥专利
首页

基于属性图数据的预测规则生成方法、装置、设备及介质

文献发布时间:2024-04-18 19:58:30


基于属性图数据的预测规则生成方法、装置、设备及介质

技术领域

本申请适用于图数据分析技术领域,尤其涉及一种基于属性图数据的预测规则生成方法、装置、设备及介质。

背景技术

推荐系统已经被熟练的应用在电商、新闻资讯、音乐、视频等各类应用程序,现有的推荐系统算法有协同过滤(Collaborative Filtering,CF)算法、基于内容的推荐算法(Content-Based Recommendations,CB)和混合模型等。图预测规则可以用于提升推荐系统模型的准确率,减少假正样本(False Positives,FPs)和假负样本(False Negatives,FNs)的数量。

目前,很多的规则是由领域专家根据经验人工制定的,不仅成本非常高昂,而且准确率低、一致性差。当涉及到从图数据中发现规则时,大多数现有工作都集中在发现表达能力有限的规则上,只能发现具有图模式的规则,而不包含逻辑条件。而针对从图数据中发现结合图模式和逻辑条件的图预测规则而言,可以使用的level-wise发现算法,通过将发现过程分解为垂直拓展以及水平拓展,垂直拓展部分通过从边数为n-1的图模式增加一条边的方式得到边数为n的图模式,水平拓展部分对于每个图模式维护了一颗谓词生成树,通过在生成树上不断添加谓词约束来找到满足条件的图预测规则。在此基础上采用应用驱动的图过滤策略来选择相关谓词,并使用采样方法从图数据中生成一小部分数据,在准确性和效率之间取得平衡,然后使用level-wise发现算法从样本中生成规则。但是上述算法的发现效率较低,无法在合理时间内发现出规模较大的图预测规则,且需要在资源描述框架(Resource Description Framework,RDF)图中发现规则,针对常用地属性图而言无法使用,而将属性图转换为RDF图会使得其节点属性产生大量的RDF三元组,使得在对该RDF图进行规则发现时会表现出较差的可扩展性,进而无法有效性地发现用于提高机器学习的推荐模型准确率的规则。因此,如何高效地发现高质量的预测规则,以用于提升已有的推荐模型的准确率成为亟待解决的问题。

发明内容

有鉴于此,本申请实施例提供了一种基于属性图数据的预测规则生成方法、装置、设备及介质,以解决如何高效地发现高质量的预测规则,以用于提升已有的推荐模型的准确率的问题。

第一方面,本申请实施例提供一种基于属性图数据的预测规则生成方法,所述预测规则生成方法包括:

从一属性图数据中提取得到一双星形数据,所述双星形数据包括第一类节点和连接所述第一类节点的至少一条第一节点路径,以及第二类节点和连接所述第二类节点的至少一条第二节点路径,所述第一类节点和所述第二类节点为不同节点类别,且任两个节点路径上的节点不相交;

基于预设的推荐模型,构建推荐模型谓词,基于预设的谓词公式,对每条第一节点路径中第一属性节点和每条第二节点路径中第二属性节点进行谓词构造,得到至少一个候选逻辑谓词,所述第一属性节点与所述第二属性节点为相同属性;

根据所述至少一个候选逻辑谓词,构建至少一个候选谓词组合,针对任一候选谓词组合,结合所述推荐模型谓词,计算所述候选谓词组合在所述属性图数据中的支持度和置信度;

确定所述支持度和所述置信度均满足预设条件的候选谓词组合为目标谓词组合,将每个目标谓词组合分别与所述推荐模型谓词融合,得到融合结果为优化所述推荐模型的预测规则。

第二方面,本申请实施例提供一种基于属性图数据的预测规则生成装置,所述预测规则生成装置包括:

模式数据生成模块,用于从一属性图数据中提取得到一双星形数据,所述双星形数据包括第一类节点和连接所述第一类节点的至少一条第一节点路径,以及第二类节点和连接所述第二类节点的至少一条第二节点路径,所述第一类节点和所述第二类节点为不同节点类别,且任两个节点路径上的节点不相交;

谓词构建模块,用于基于预设的推荐模型,构建推荐模型谓词,基于预设的谓词公式,对每条第一节点路径中第一属性数据和每条第二节点路径中第二属性数据进行谓词构造,得到至少一个候选逻辑谓词,所述第一属性数据与所述第二属性数据为相同属性;

指标计算模块,用于根据所述至少一个候选逻辑谓词,构建至少一个候选谓词组合,针对任一候选谓词组合,结合所述推荐模型谓词,计算所述候选谓词组合在所述属性图数据中的支持度和置信度;

预测规则确定模块,用于确定所述支持度和所述置信度均满足预设条件的候选谓词组合为目标谓词组合,将每个目标谓词组合分别与所述推荐模型谓词融合,得到融合结果为优化所述推荐模型的预测规则。

第三方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的预测规则生成方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的预测规则生成方法。

本申请实施例与现有技术相比存在的有益效果是:本申请从一属性图数据中提取得到一双星形数据,基于预设的推荐模型,构建推荐模型谓词,基于预设的谓词公式,对双星形数据中每条第一节点路径中第一属性节点和每条第二节点路径中第二属性节点进行谓词构造,得到至少一个候选逻辑谓词,根据至少一个候选逻辑谓词,构建至少一个候选谓词组合,针对任一候选谓词组合,结合推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度,确定支持度和置信度均满足预设条件的候选谓词组合为目标谓词组合,将每个目标谓词组合分别与推荐模型谓词融合,得到融合结果为优化推荐模型的预测规则,通过分析提取的双星形数据来形成表征数据之间属性关系的逻辑谓词,能够有效地发现属性间关联关系,再结合支持度和置信度对逻辑谓词进行组合和筛选,以得到优化的谓词组合即准确地关联关系,并将其与推荐模型的推荐逻辑结合得到高质量的预测规则,从而在推荐模型使用时对推荐结果的正负误差进行优化,提高了推荐模型的准确率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例一提供的一种基于属性图数据的预测规则生成方法的一应用环境示意图;

图2是本申请实施例二提供的一种基于属性图数据的预测规则生成方法的流程示意图;

图3是本申请实施例三提供的一种基于属性图数据的预测规则生成方法的流程示意图;

图4是本申请实施例四提供的一种基于属性图数据的预测规则生成方法的流程示意图;

图5是本申请实施例五提供的一种基于属性图数据的预测规则生成方法的流程示意图;

图6是本申请实施例六提供的一种基于属性图数据的预测规则生成方法的流程示意图;

图7是本申请实施例七提供的一种一种基于属性图数据的预测规则生成方法的流程示意图;

图8是本申请实施例八提供的一种基于属性图数据的预测规则生成装置的结构示意图;

图9是本申请实施例九提供的一种计算机设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

为了说明本申请的技术方案,下面通过具体实施例来进行说明。

本申请实施例一提供的一种基于属性图数据的预测规则生成方法,可应用在如图1的应用环境中,其中,服务端与数据库进行通信。其中,服务端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、云端计算机设备、个人数字助理(personal digital assistant,PDA)等计算机设备。数据库可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

参见图2,是本申请实施例二提供的一种基于属性图数据的预测规则生成方法的流程示意图,上述基于属性图数据的预测规则生成方法应用于图1中的服务端,服务端连接数据库,以获取存储在数据库中的属性图数据等,另外,推荐模型为服务端中运行或者在服务端连接的一服务器中的模型,在本申请中服务端用到推荐模型对应的推荐逻辑。如图2所示,该基于属性图数据的预测规则生成方法可以包括以下步骤:

步骤S201,从一属性图数据中提取得到一双星形数据。

本申请中,双星形数据包括第一类节点和连接第一类节点的至少一条第一节点路径,以及第二类节点和连接第二类节点的至少一条第二节点路径,第一类节点和第二类节点为不同节点类别,且任两个节点路径上的节点不相交。

该双星形数据是基于双星形图模式从属性数据图中挖掘生成的一组数据,该数据由节点和对应的标签、属性等信息构成。其中,定义节点路径ρ是一组节点的列表(x

双星形数据即包括两个上述的星形图,以星形图S

该双星形图模式可以被定义为

针对上述双星形图模式从属性图数据中得到双星形数据,需要用到编码和生成两个阶段,定义两个阶段由相应地图模式生成器(即GenQ模块)来实现。假设三个可数无限的符号集,分别表示为Γ、Υ和U,分别表示为标签、属性和常数。

在编码阶段,可以将每个双星状图模式映射到Γ∪Υ∪{#,*}上的序列,#和*是两个不在Γ∪Υ中的新标签(即不能与Γ∪Υ中的标签重复),用于表征编码中节点之间的边和区别编码的两个星形图。

使用字典序定义Γ∪Υ在序列上的偏序关系,双星形图模式被编码为ρ

其中,针对ρ

在生成阶段,GenQ模块采用长短期记忆网络(Long Short-Term Memory,LSTM)来生成编码序列,直到最后遇到结束符号“*”。在每轮次的生成中,会给双星形数据的节点数量设置上限α,因此,GenQ模块生成的编码序列最长长度为(α-2)(4+2|Υ|)+2。

为了使得LSTM可以生成所有可能的双星形数据,并避免过度拟合,给定双星形数据Q,令p(Q)表示Q可以被LSTM生成的概率,然后,GenQ模块更新修改p(Q)为

步骤S202,基于预设的推荐模型,构建推荐模型谓词,基于预设的谓词公式,对每条第一节点路径中第一属性节点和每条第二节点路径中第二属性节点进行谓词构造,得到至少一个候选逻辑谓词。

本申请中,预设的推荐模块可以为基于任一中推荐场景的训练数据集所训练好的模型,用于实现针对该推荐场景下的目标推荐,其中,该推荐场景的训练数据集与上述的属性图数据应为同一种类的数据,使得本申请对预测规则的发现能够较好地修正对应的推荐模型。该推荐模型可以是CF模型、CB模型或者混合模型等。

例如,若推荐模型为向用户推荐物品,则在上述属性图数据中生成的双星形数据应该为用户星形数据和物品星形数据,从而才能够发现属性图数据中的规则,从而形成修正推荐模型的预测规则。

推荐模型谓词可以是指根据模型的推荐逻辑构建的谓词表示,谓词表示是将推荐逻辑以公式编码的形式进行表达,例如,推荐模型的谓词表示如下:

式中,

预设的谓词公式为根据实际需求和推荐模型的推荐逻辑而设定的谓词表示公式,可以包括变量谓词、变量谓词等组成部分。预设的谓词公式用于对双星形数据中的一些属性之间的逻辑以公式编码的形式进行表达,具体是将每条第一节点路径中第一属性节点和每条第二节点路径中第二属性节点进行逻辑表达,得到对应的候选逻辑谓词,第一属性节点与第二属性节点为相同属性。

例如,预设的谓词公式如下:

式中,

另外,

常量谓词中属性值可能存在离散值属性、连续值属性等,离散值属性对应一些离散值,连续值属性一般为连续的数值。假设某个节点的属性值x.C是离散值属性,则为每个不同的值都添加属性约束

进一步地,限定上述的变量谓词

步骤S203,根据至少一个候选逻辑谓词,构建至少一个候选谓词组合,针对任一候选谓词组合,结合推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度。

本申请中,针对要生成的预测规则,评价的指标有两个分别为支持度和置信度,因此,就需要对构建的候选谓词组合(预测规则的一部分),在推荐模型对应的推荐模型谓词(预测规则的一部分)的驱动下,来计算对应预测规则的可信度,从而找到支持度和置信度较高的预测规则,才能够用于提高推荐模型的准确率。

支持度可以用于衡量候选谓词组合和推荐模型谓词结合(即预测规则)能够在属性图数据中应用的频率,置信度可以用于衡量候选谓词组合与推荐模型之间的关联强度,也即是适用该候选谓词组合和推荐模型谓词结合进行推荐预测时所能够取得的精度。

候选谓词组合为一个谓词组合,即由至少一个逻辑谓词构成的组合,该过程的目的是为了便于发现高质量的预测规则。推荐模型谓词能够用于在属性图数据中找到能够被推荐模型处理的数据集,从而保证候选谓词组合能够在限定的方向上执行。

该步骤S202和步骤S203可以在一谓词生成器(即GenX模块)中执行,该GenX模块中配备有谓词的构建、谓词的组合和谓词的筛选等功能,并且与上述的GenQ模块连接,实现谓词组合的发现,用于构建预测规则。

在上述举例中定义的基础上,针对预测规则(predicTIon rulEs,TIE),一个

其中,

在一实施方式中,计算候选谓词组合在属性图数据中的支持度和置信度,包括:

从属性图数据中确定满足候选谓词组合和推荐模型谓词的第三匹配结果,从属性图数据中确定满足推荐模型谓词的第四匹配结果;

根据第三匹配结果与第四匹配结果的交集,计算得到支持度;

从属性图数据中确定满足与推荐模型谓词对立的逻辑谓词的第五匹配结果,根据第四匹配结果和第五匹配结果的并集与第三匹配结果的交集,结合支持度,得到置信度。

其中,如果给定一个

推荐模型在训练时采用的训练数据集Γ是G中的(v,u)实体对,其中,正样本是G中已有交互记录的(v,u),负样本是G中没有交互记录的(v,u),因此,支持度可以表示为

其中,

置信度可以表示为

其中,(v,u)|(v,unlikes,u)∈Γ为第五匹配结果,τ是likes或unlikes,具有高置信度的预测规则有助于减少推荐模型的FPs和FNs。

步骤S204,确定支持度和置信度均满足预设条件的候选谓词组合为目标谓词组合,将每个目标谓词组合分别与推荐模型谓词融合,得到融合结果为优化推荐模型的预测规则。

本申请中,如果支持度和置信度均满足预设条件,则可以确定对应的候选谓词组合是最终发现的目标谓词组合,其中,满足预设条件对应的目标谓词组合可能为一个,也可能为多个,在实际使用时,根据需求设置来确定目标谓词组合的个数。进一步地,如果只选用一个目标谓词组合,则可以将所有满足预设条件的目标谓词组合的支持度和置信度进行比较,保留支持度和置信度最高的目标谓词组合。

预设条件可以为一预设阈值,支持度对应有预设支持度阈值,置信度对应有预设置信度阈值,若支持度大于预设支持度阈值,则支持度满足预设条件,若置信度大于预设置信度阈值,则置信度满足预设条件。

目标谓词组合与上述推荐模型的推荐模型谓词进行融合,得到融合结果即为最终的预测规则,该预测规则是对推荐模型的推荐规则的优化,如果推荐模型谓词的方向为推荐方向,则加入目标谓词组合后的预测规则能够对推荐的规则做进一步限定,以减少误判为推荐的情况,如果推荐模型谓词的方向为不推荐方向,则加入目标谓词组合后的预测规则能够对不推荐的规则限定的范围进行的补充推荐,以减少误判为不推荐的情况。

以上述定义的编码方式为例,针对

又如,针对

举例说明,以用户和演出票为例,其中,用户对应上述的x,演出票对应上述的y,GenQ模块使用LSTM对属性图数据G中用户类节点的节点路径和演出票等物品类节点的节点路径进行发现双星形数据,以及编码该双星形数据。例如,一双星形数据的编码表达为“user,book,flight ticket,destination#user,buy,theater ticket,genre#*theaterticket,location,city,name#theater ticket,of,genre,name#*”,其中,user为中心节点x,theater ticket为中心节点y,book和buy可以记为边,即连接user节点与flight ticket节点或者theater ticket节点的边,destination、genre、name等对应节点的属性信息,相应地每个属性信息可以对应属性值。

如果推荐模型谓词为M(x,y)≥0.7,则得到的预测规则是为了减少推荐模型的FPs,基于上述双星形数据,构造候选谓词组合,其中,首先需要构造包含所有的变量谓词和常量谓词的候选谓词组合,如x

x

X:x

针对上述场景的解释如下:尽管用户x之前购买过现场剧院的门票,但如果用户x已经预订了飞往与演出地点不同的城市的航班,或者该演出与用户的购买历史偏好信息不符,就不能向用户x推荐即将上映的演出票y,而推荐模型忽视了这种情境感知的特征,可能会高概率地产生错误的推荐,生成FPs。

本申请实施例从一属性图数据中提取得到一双星形数据,基于预设的推荐模型,构建推荐模型谓词,基于预设的谓词公式,对双星形数据中每条第一节点路径中第一属性节点和每条第二节点路径中第二属性节点进行谓词构造,得到至少一个候选逻辑谓词,根据至少一个候选逻辑谓词,构建至少一个候选谓词组合,针对任一候选谓词组合,结合推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度,确定支持度和置信度均满足预设条件的候选谓词组合为目标谓词组合,将每个目标谓词组合分别与推荐模型谓词融合,得到融合结果为优化推荐模型的预测规则,通过分析提取的双星形数据来形成表征数据之间属性关系的逻辑谓词,能够有效地发现属性间关联关系,再结合支持度和置信度对逻辑谓词进行组合和筛选,以得到优化的谓词组合即准确地关联关系,并将其与推荐模型的推荐逻辑结合得到高质量的预测规则,从而在推荐模型使用时对推荐结果的正负误差进行优化,提高了推荐模型的准确率。

参见图3,为本申请实施例三提供的一种基于属性图数据的预测规则生成方法的流程示意图。如图3所示,在步骤S203的进一步改进,可以包括以下步骤:

步骤S301,根据属性图数据中满足每个候选逻辑谓词的第一匹配结果,计算得到对应候选逻辑谓词的基尼指数,将基尼指数最小的候选逻辑谓词作为初始的谓词组合。

本申请中,在构建候选谓词组合之前,需要判断每个候选逻辑谓词分别作为逻辑限定时所能取得的效果,其中,效果以基尼指数为判断标准,基尼指数是衡量一个谓词在多大程度上将一组数据划分为不同类别的有效标准。

在属性图数据中基于每个候选逻辑谓词分别进行数据匹配,该数据匹配即为生成相应地双星形数据,判断双星形数据是否满足对应的候选逻辑谓词,所有的匹配结果用来计算该候选逻辑谓词的基尼指数。

基尼指数计算公式如下:

Gini(G)=1-f

式中,f

步骤S302,以初始的谓词组合为一候选谓词组合,根据候选谓词组合和推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度。

本申请中,在本轮次的筛选过程中筛选出基尼指数最小的候选逻辑谓词,将该候选逻辑谓词与推荐模型谓词结合,来计算该候选逻辑谓词在属性图数据中的支持度和置信度。上述步骤S301和步骤S302可以在上述步骤S203中所给出的GenX模块中执行。

本申请实施例中GenX模块在谓词生成阶段使用基尼指数挑选逻辑谓词,从而实现对候选谓词组合的剪枝筛选,减少level-wise的搜索空间,提高了预测规则发现的效率。

参见图4,为本申请实施例四提供的一种基于属性图数据的预测规则生成方法的流程示意图。如图4所示,该预测规则生成方法在上述步骤S302之后,还包括以下步骤:

步骤S401,检测支持度和置信度是否均满足预设条件,若检测到支持度或者置信度不满足预设条件,则在初始的谓词组合中分别加入一个其它逻辑谓词,得到更新的谓词组合。

本申请中,其它逻辑谓词为至少一个候选逻辑谓词中未出现在初始的谓词组合内的任一逻辑谓词,也即是上述候选谓词组合在属性图数据中的支持度和置信度达不到期望,则需要寻求新的候选谓词组合。

将不属于原来的初始的谓词组合中的其他逻辑谓词增加入该初始的谓词组合,形成新的谓词组合,如果其他逻辑谓词有n个,则分别一一加入初始的谓词组合,形成的更新的谓词组合的个数也为n个。

步骤S402,计算每个更新的谓词组合的基尼指数,从所有更新的谓词组合中选取基尼指数最小的更新的谓词组合,将更新的谓词组合作为初始的谓词组合。

本申请中,对每个更新的谓词组合的基尼指数进行计算,以实现对更新的谓词组合的剪枝,来提高筛选出谓词组合的效率。此时,针对更新的谓词组合的基尼指数的计算可以参考上述步骤S301中的计算方式。当然,为了减少计算量,降低对资源的占用,该基尼指数的计算可以在初始的谓词组合的处理结果的基础上执行,具体详见下述实施例五的内容。

步骤S403,返回执行以初始的谓词组合为一候选谓词组合,根据候选谓词组合和推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度的步骤,直至检测到支持度和置信度均满足预设条件或者迭代达到预设次数。

本申请中,循环构建候选谓词组合,并计算支持度和置信度,从而能够不断地对候选谓词组合进行筛选,以得到需求的、满足一定条件的候选谓词组合。

其中,在循环过程中,可以形成不止一个的支持度和置信度满足预设条件的候选谓词组合,从而在一定情况下可以获取到高质量甚至更高质量的预测规则。例如,在第一轮次中即找到了支持度和置信度满足预设条件的谓词组合X

该过程可以用于GenQ模块的训练,GenQ模块是基于LSTM模型的,对于LSTM模型中的参数,需要使用相应地训练集进行训练。具体时间,在每一轮次结束之后,GenX模块给GenQ模块传回满足预设条件的高质量的谓词组合,GenQ模块通过该高质量的谓词组合,继续调整训练LSTM模型,以使得其下一轮次生成更高质量的谓词组合。

针对上述GenQ模块的训练,如下:

输入:属性图数据G、训练数据集Γ、迭代轮数I、推荐模型、预设支持度阈值r

输出:至少一个

使用上述实施例四的方案,执行迭代训练,GenQ模块和GenX模块先后交替工作。在每一轮中,GenQ模块首先训练一个LSTM模型来生成双星形数据Q以及Q中每个节点的重要属性,然后,GenX模块从GenQ模块挑选后的重要属性中,构建候选谓词组合,然后从中挑选生成与Q相关的谓词组合X,与Q结合生成集合TIEs。在每轮迭代结束时,GenX模块通过支持度和置信度评估生成集合TIEs的质量,保留满足阈值的高质量的集合TIEs,将其反馈给GenQ模块,GenQ模块更新LSTM的参数进行优化,在后续轮次中生成更多高质量集合TIEs,直至迭代次数达到I。采用反馈的方法,GenX模块将高质量的集合TIEs返回给GenQ模块,以指导其LSTM参数调整,使其在下一轮可以生成更多高质量的双星形数据。

在保证经过足够多的轮次后,有很高的概率能够发现符合给定要求的所有谓词组合,其中,GenQ模块可以生成所有可能的双星形数据,而GenX模块能够在Req(r

式中,k和ω是GenQ模块的两个超参数。

参见图5,是本申请实施例五提供的一种基于属性图数据的预测规则生成方法的流程示意图,如图5所示,在上述步骤S402中计算每个更新的谓词组合的基尼指数的过程,可以包括以下步骤:

步骤S501,获取属性图数据中满足初始的谓词组合的第二匹配结果。

本申请中,该初始的谓词组合的匹配结果在之前的步骤中已经执行过了,例如,在初始的谓词组合为步骤S301中的任一个候选逻辑谓词时,此时更新的谓词组合是在该任一个候选逻辑谓词的基础上增加其他逻辑谓词,计算该更新的谓词组合时,该任一个候选逻辑谓词已经进行过匹配,存在对应的匹配结果,匹配结果可以被留存,以在后续处理中使用。

步骤S502,针对任一更新的谓词组合,从第二匹配结果中确定满足更新的谓词组合的第一数据,以及不满足更新的谓词组合的第二数据。

步骤S503,根据第二匹配结果、第一数据和第二数据,计算得到对应更新的谓词组合的基尼指数。

本申请中,更新的谓词组合的基尼指数的计算,在上述第二匹配结果的基础上可以得到,具体需要得到第二匹配结果中满足和不满足该更新的谓词组合的数据,并结合相应地计算公式即可得到该更新的谓词组合的基尼指数。

例如,在已有X(即初始的谓词组合)的基础上,要新加入一个谓词p,计算基尼指数的公式如下:

Gini_index(X,p)=|D

式中,D为属性图数据中满足X的所有匹配结果,D

本申请实施例在已有的匹配结果的基础上,执行基尼指数的计算,避免了重新对所有更新的谓词组合执行匹配,减少了匹配对资源的占用量,提高了运算的效率。

基于此,在已有X的基础上,每次GenX挑选具有最小基尼指数的谓词p加入,组成新的谓词组合。我们可以很快地找到多组谓词组合,与pattern组成新的高质量TIE,以减少FPs和FNs。此外,这也可以使得我们的TIEs尽可能少地拥有谓词数量,从而易于解释。

参见图6,为本申请实施例六提供的一种基于属性图数据的预测规则生成方法的流程示意图。如图6所示,针对实施例二中步骤S203的一个实施方式中,从属性图数据中确定满足候选谓词组合和推荐模型谓词的第三匹配结果的过程,可以包括以下步骤:

步骤S601,从属性图数据中确定满足候选谓词组合和推荐模型谓词的第一类节点和第二类节点构成的节点对,确定每个节点对对应的双星形数据。

本申请中,针对候选谓词组合和推荐模型谓词,在属性图数据中可以确定满足二者的第一类节点和第二类节点形成的节点对,第一类节点对对应自身的星形数据,第二类节点对对应自身的星形数据,从而形成了对应该节点对的双星形数据。

此过程中,需要上述实施例中记载的GenQ模块来生成相应地双星形数据,随后,判断每个双星形数据是否满足上述的候选谓词组合和推荐模型谓词,从而确定满足的双星形数据。

步骤S602,对每个节点对对应的双星形数据进行压缩表示,得到压缩表示结果,确定压缩表示结果中不为空集的双星形数据为第三匹配结果。

本申请中,压缩表示为将任一双星形数据中除第一类节点和第二类节点以外的任一节点的所有匹配结果合并,若任一节点为空集,则确定对应的双星形数据的压缩表示结果为空集。使用压缩表示可以降低对双星形数据的存储量,从而有助于减少资源的浪费,同时,有助于提高后续使用第三匹配结果进行支持度和置信度的计算效率。

例如,针对步骤S201中的双星形数据

C(x

参见图7,为本申请实施例七提供的一种基于属性图数据的预测规则生成方法的流程示意图。如图7所示,在检测到候选谓词组合为在一原始谓词组合的基础上增加一个逻辑谓词得到(即此时需要得到第三匹配结果的候选谓词组合是通过增加一逻辑谓词得到)时,针对实施例二中步骤S203的一个实施方式中,从属性图数据中确定满足候选谓词组合和推荐模型谓词的第三匹配结果的过程,可以包括以下步骤:

步骤S701,获取原始谓词组合在计算对应的支持度时得到的历史匹配结果。

步骤S702,在历史匹配结果中确定满足增加的逻辑谓词的匹配结果为第三匹配结果。

本申请中,如果针对当前的候选谓词组合计算支持度而言,该当前的候选谓词组合为在一个原始谓词组合的基础上增加了一个逻辑谓词得到,例如,在原始谓词组合X的基础上增加了逻辑谓词p,得到新的谓词组合X+p即为当前的候选谓词组合。

由于在上一轮次的计算中,已经对该原始谓词组合和推荐模型谓词进行了匹配运算,也即原始谓词组合对应有历史匹配结果,在该历史匹配结果中满足增加的逻辑谓词的数据即为第三匹配结果,无需对候选谓词组合在属性图数据中进行匹配,从而可以减少计算量。具体在匹配过程中,首先更新增加的逻辑谓词所在节点的匹配结果,然后沿着节点路径传播更新该条节点路径中所有节点的匹配结果,其中,在每次更新时,需要检查每个节点是否满足同态语义要求。

上述过程为一动态维护过程,由于星形结构的限制,新加入的p只会影响其所在的节点所在的节点路径的匹配结果,进而影响到中心节点的匹配结果。通过设计的增量算法,在历史的匹配结果中增量计算得到,不用去重新计算其余所有节点路径中节点的匹配结果,减少了计算量。

对应于上文实施例的基于属性图数据的预测规则生成方法,图8示出了本申请实施例八提供的基于属性图数据的预测规则生成装置的结构框图,上述预测规则生成装置应用于图1中的数据库,数据库可以为金融系统连接的一数据库,其中,数据库用于支持金融系统对应的客户端进行检索,以给出相应数据。客户端通过相应地功能组件,收集用户提供的检索语料,并以该检索语料为基础,从数据库中获取到对应检索语料的检索结果。为了便于说明,仅示出了与本申请实施例相关的部分。

参见图8,该预测规则生成装置包括:

模式数据生成模块81,用于从一属性图数据中提取得到一双星形数据,双星形数据包括第一类节点和连接第一类节点的至少一条第一节点路径,以及第二类节点和连接第二类节点的至少一条第二节点路径,第一类节点和第二类节点为不同节点类别,且任两个节点路径上的节点不相交;

谓词构建模块82,用于基于预设的推荐模型,构建推荐模型谓词,基于预设的谓词公式,对每条第一节点路径中第一属性数据和每条第二节点路径中第二属性数据进行谓词构造,得到至少一个候选逻辑谓词,第一属性数据与第二属性数据为相同属性;

指标计算模块83,用于根据至少一个候选逻辑谓词,构建至少一个候选谓词组合,针对任一候选谓词组合,结合推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度;

预测规则确定模块84,用于确定支持度和置信度均满足预设条件的候选谓词组合为目标谓词组合,将每个目标谓词组合分别与推荐模型谓词融合,得到融合结果为优化推荐模型的预测规则。

可选的是,指标计算模块83,包括:

指数计算单元,用于根据属性图数据中满足每个候选逻辑谓词的第一匹配结果,计算得到对应候选逻辑谓词的基尼指数,将基尼指数最小的候选逻辑谓词作为初始的谓词组合;

指标计算单元,用于以初始的谓词组合为一候选谓词组合,根据候选谓词组合和推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度。

可选的是,该预测规则生成装置还包括:

指标检测模块,用于在根据候选谓词组合和推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度之后,检测支持度和置信度是否均满足预设条件,若检测到支持度或者置信度不满足预设条件,则在初始的谓词组合中分别加入一个其它逻辑谓词,得到更新的谓词组合,其它逻辑谓词为至少一个候选逻辑谓词中未出现在初始的谓词组合内的任一逻辑谓词;

更新计算模块,用于计算每个更新的谓词组合的基尼指数,从所有更新的谓词组合中选取基尼指数最小的更新的谓词组合,将更新的谓词组合作为初始的谓词组合;

返回执行模块,用于返回执行以初始的谓词组合为一候选谓词组合,根据候选谓词组合和推荐模型谓词,计算候选谓词组合在属性图数据中的支持度和置信度的步骤,直至检测到支持度和置信度均满足预设条件或者迭代达到预设次数。

可选的是,更新计算模块,包括:

匹配结果获取单元,用于获取属性图数据中满足初始的谓词组合的第二匹配结果;

数据提取单元,用于针对任一更新的谓词组合,从第二匹配结果中确定满足更新的谓词组合的第一数据,以及不满足更新的谓词组合的第二数据;

更新指数计算单元,用于根据第二匹配结果、第一数据和第二数据,计算得到对应更新的谓词组合的基尼指数。

可选的是,指标计算模块83,包括:

匹配结果确定单元,用于从属性图数据中确定满足候选谓词组合和推荐模型谓词的第三匹配结果,从属性图数据中确定满足推荐模型谓词的第四匹配结果;

支持度计算单元,用于根据第三匹配结果与第四匹配结果的交集,计算得到支持度;

置信度计算单元,用于从属性图数据中确定满足与推荐模型谓词对立的逻辑谓词的第五匹配结果,根据第四匹配结果和第五匹配结果的并集与第三匹配结果的交集,结合支持度,得到置信度。

可选的是,匹配结果确定单元,包括:

数据匹配子单元,用于从属性图数据中确定满足候选谓词组合和推荐模型谓词的第一类节点和第二类节点构成的节点对,确定每个节点对对应的双星形数据;

匹配结果压缩子单元,用于对每个节点对对应的双星形数据进行压缩表示,得到压缩表示结果,确定压缩表示结果中不为空集的双星形数据为第三匹配结果,其中,压缩表示为将任一双星形数据中除第一类节点和第二类节点以外的任一节点的所有匹配结果合并,若任一节点为空集,则确定对应的双星形数据的压缩表示结果为空集。

可选的是,若检测到候选谓词组合为在一原始谓词组合的基础上增加一个逻辑谓词得到,则匹配结果确定单元,包括:

历史匹配获取子单元,用于获取原始谓词组合在计算对应的支持度时得到的历史匹配结果;

动态匹配子单元,用于在历史匹配结果中确定满足增加的逻辑谓词的匹配结果为第三匹配结果。

需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图9为本申请实施例九提供的一种计算机设备的结构示意图。如图9所示,该实施例的计算机设备包括:至少一个处理器(图9中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个基于属性图数据的预测规则生成方法实施例中的步骤。

该计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图9仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。

所称处理器可以是CPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器包括可读存储介质、内存储器等,其中,内存储器可以是计算机设备的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是计算机设备的硬盘,在另一些实施例中也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

本申请实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述方法实施例中的步骤。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 基于大数据的报表生成方法及装置、电子设备、存储介质
  • 基于数据分析的支付订单生成方法、装置、设备及介质
  • 基于事件的数据预测方法、装置、计算机设备和存储介质
  • 规则生成方法、装置、计算机设备和存储介质
  • 基于大数据的走势图生成方法、装置、存储介质和设备
  • 基于建筑矢量图的房间数据生成方法、装置、设备及介质
技术分类

06120116496020