首页 / 专利库 / 人工智能 / 数据库知识发现 / 基于PRMATC算法的知识库补全方法

基于PRMATC算法知识库补全方法

阅读:93发布:2020-05-08

专利汇可以提供基于PRMATC算法知识库补全方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于PRMATC 算法 的 知识库 补全方法,包括以下步骤:步骤S1:将大规模语义网络知识库KB中的所有事实三元组以及实体导入、存储到分布式集群Neo4j图 数据库 中;步骤S2:构建BILSTM-CRF模型,并训练;步骤S3:通过训练好的BILSTM-CRF模型对关系两侧的实体进行识别与分类,转换得到关系的定义域和值域;步骤S4:改进FP-Growth算法;步骤S5:挖掘出事务间隐含的强关联规则;步骤S6:根据得到的关系的定义域和强关联规则转换成Horn逻辑规则;步骤S7:根据得到Horn逻辑规则,获取新的知识,并添加至知识库KB中。本发明能够高效地找到代表知识库Horn规则的同时,挖掘规则的数量和准确率方面也更优于其他规则挖掘系统,能更好的补全知识库。,下面是基于PRMATC算法知识库补全方法专利的具体信息内容。

1.一种基于PRMATC算法知识库补全方法,其特征在于,包括以下步骤:
步骤S1:将大规模语义网络知识库KB中的所有事实三元组以及实体导入、存储到分布式集群Neo4j图数据库中;
步骤S2:构建BILSTM-CRF模型,并训练;
步骤S3:通过训练好的BILSTM-CRF模型对关系两侧的实体进行识别与分类,进而转换得到关系的定义域和值域;
步骤S4:在FP-Growth算法的基础上,优化数据均衡分组以及FP树构建和挖掘,得到改进后的FP-Growth算法;
步骤S5:根据改进后的FP-Growth算法,挖掘出事务间隐含的强关联规则;
步骤S6:根据得到的关系的定义域和强关联规则转换成Horn逻辑规则;
步骤S7:根据得到Horn逻辑规则,获取新的知识,并添加至知识库KB中。
2.根据权利要求1所述的基于PRMATC算法的知识库补全方法,其特征在于:所述BILSTM-CRF模型由双向LSTM和CRF两部分组成。
3.根据权利要求2所述的基于PRMATC算法的知识库补全方法,其特征在于:所述双向LSTM由前向的LSTM与后向的LSTM构成;
LSTM计算过程就是通过对细胞状态中信息的遗忘和记忆,其中遗忘、记忆与输出是由上一刻的隐层状态ht-1和当前输入Xt所决定的,具体计算公式4所示。
式(4)中,Xt、Ct、ht、ft、it、Ot分别对应模型t时刻的输入、细胞状态、隐藏层状态、忘记以及输出门;词向量作为BILSTM层的输入,然后输出值是一句话中每个单词对应的每个标签的预测分数,这些分数便是CRF层的输入。
4.根据权利要求2所述的基于PRMATC算法的知识库补全方法,其特征在于:所述CRF层采用线性条件随机场P(y|x),如下式所示:
式(5)中λk和μl为权重系数,tk和sl为特征函数,Z(x)是规范化因子
BILSTM层的输出作为CRF层的输入,经过CRF层特征函数运算以及归一化操作之后,输出每个单词的合法预测标签。
5.根据权利要求1所述的基于PRMATC算法的知识库补全方法,其特征在于,所述步骤S3具体为:
步骤S31:将每个输入三元组X=(x1,x2,...xi,...xn)经过BILSTM层和CRF层,得到所有可能的预测序列y=(y1,y2,...,yi,...yn);
每个预测序列y的得分S(X|y),如下式所示:
式(7)中 为第i个位置输出为yi的概率,A为转移概率矩阵
步骤S32:计算序列最大得分y*,如下式所示:
y*=argmaxy∈YS(X|y)
步骤S33:通过关系类型约束转换函数进行转换,关系类型约束转换函数f,如下所示:
f({t1,t2,...ti,...,tn})=(pd,p,pr)
式中ti=(si,pi,oi)、tj=(sj,pj,oj)表示关系p的事实三元组,
通过下式,根据关系两侧的实体类别转换得到该关系的定义域和值域
si SubClassOf Elsi,oi SubClassOf Eloi,sj SubClassOf Elsj,oj SubClassOf Eloj,Elsi,Eloi,Elsj,
其中Elsi、Eloi、Elsj、Eloj分别表示实体si、oi、sj、oj所属子类类别,分别表示实体si、oi、sj、oj所属大类类别。
6.根据权利要求1所述的基于PRMATC算法的知识库补全方法,其特征在于:所述优化数据均衡分组通过聚类算法自动发现高度相关的关系,随后将与该类关系相关的关系路径划分到同一分区,实现数据均衡且独立分组。
7.根据权利要求1所述的基于PRMATC算法的知识库补全方法,其特征在于:所述步骤S4具体为:
步骤S41;逐条遍历事务Ti,将Ti从前往后遍历,
步骤S42:根据项a1确定是否存在以该项为根节点的分,若存在返回分块编号,否则添加以该项为根节点的分块信息并返回;
步骤S44:根据分块编号以及项ai先查找是否存在与该项相同且祖先节点相同的项,若存在该项计数加1,否则添加该项到指定分块。
步骤S41:找到拥有的项的集合中存在项m的分块编号,然后在对应的分块中,查找项m的所有祖先节点,即为m的条件模式基
步骤S45:m的条件模式基为<(f:2),(c:2),(a:2)>和<(f:1),(c:1),(a:1),(b:1)>,同理p的条件模式基为<(f:2),(c:2),(a:2),(m:2)>和<(c:1),(b:1)>,将每个项的条件模式基作为该项的mapper阶段的输入,创建条件FP树,挖掘该项的频繁项集。
8.根据权利要求1所述的基于PRMATC算法的知识库补全方法,其特征在于,所述步骤S6具体为:
步骤S61:通过步骤S3和S4得到的,挖掘出的强关联规则 和关系的定义域和值域Elid,Elir,rj domain Eljd,ri range Eljr,rz domain Elzd,rz range Elzr;
步骤S62:根据下式将强关联规则转换成Horn规则
其中Elid、Elir分别表示关系ri的定义域和值域,Eljd、Eljr表示关系rj的定义域和值域,Elzd、Elzr表示关系rz的定义域和值域。

说明书全文

基于PRMATC算法知识库补全方法

技术领域

[0001] 本发明涉及所属知识图谱下的海量数据存储与推理领域,具体涉 及一种基于PRMATC算法的知识库补全方法。

背景技术

[0002] 从大规模语义网络知识库中挖掘Horn规则,进而利用这些规则 帮助推断和添加知识库中缺少的知识是实现知识库动态增长极其有 效的手段之一。关联规则挖掘算法是数据挖掘领域中的重要算法之一, 其目的是挖掘事务之间存在的隐含关系。传统的算法包括Apr i or i算 法[1]和FP-Growth算法[2]。传统的关联规则挖掘算法,在小规模 数据集中取得了不错的效果,但近年来随着互联网技术的快速发展, 网络数据呈现爆炸性增长,传统的关联规则挖掘算法存在单一节点无 法计算以及运行内存不足等问题,从而无法满足网络大数据的需求。

发明内容

[0003] 有鉴于此,本发明的目的在于提供一种基于PRMATC算法的知 识库补全方法,能高效地挖掘出一组可表示知识库语义信息的Horn 逻辑规则并更好的补全知识库。
[0004] 为实现上述目的,本发明采用如下技术方案:
[0005] 一种基于PRMATC算法的知识库补全方法,包括以下步骤:
[0006] 步骤S1:将大规模语义网络知识库KB中的所有事实三元组以及 实体导入、存储到分布式集群Neo4j图数据库中;
[0007] 步骤S2:构建BILSTM-CRF模型,并训练;
[0008] 步骤S3:通过训练好的BILSTM-CRF模型对关系两侧的实体进行 识别与分类,进而转换得到关系的定义域和值域;
[0009] 步骤S4:在FP-Growth算法的基础上,优化数据均衡分组以及 FP树构建和挖掘,得到改进后的FP-Growth算法;
[0010] 步骤S5:根据改进后的FP-Growth算法,挖掘出事务间隐含的强 关联规则;
[0011] 步骤S6:根据得到的关系的定义域和强关联规则转换成Horn逻 辑规则;
[0012] 步骤S7:根据得到Horn逻辑规则,获取新的知识,并添加至知识 库KB中。
[0013] 进一步的,所述BILSTM-CRF模型由双向LSTM和CRF两部分 组成。
[0014] 进一步的,所述双向LSTM由前向的LSTM与后向的LSTM构 成;
[0015] LSTM计算过程就是通过对细胞状态中信息的遗忘和记忆,其 中遗忘、记忆与输出是由上一刻的隐层状态ht-1和当前输入Xt所决定 的,具体计算公式4所示。
[0016]
[0017] 式(4)中,Xt、Ct、ht、ft、it、Ot分别对应模型t时刻的输入、细胞 状态、隐藏层状态、忘记以及输出门;词向量作为BILSTM层的 输入,然后输出值是一句话中每个单词对应的每个标签的预测分数, 这些分数便是CRF层的输入。
[0018] 进一步的,所述CRF层采用线性条件随机场P(y|x),如下式所示:
[0019]
[0020] 式(5)中λk和μl为权重系数,tk和sl为特征函数,Z(x)是规范化 因子[0021]
[0022] BILSTM层的输出作为CRF层的输入,经过CRF层特征函数运 算以及归一化操作之后,输出每个单词的合法预测标签。
[0023] 进一步的,所述步骤S3具体为:
[0024] 步骤S31:将每个输入三元组X=(x1,x2,...xi,...xn)经过BILSTM层和 CRF层,得到所有可能的预测序列y=(y1,y2,...,yi,...yn);
[0025] 每个预测序列y的得分S(X|y),如下式所示:
[0026]
[0027] 式(7)中 为第i个位置输出为yi的概率,A为转移概率矩阵
[0028] 步骤S32:计算序列最大得分y*,如下式所示:
[0029] y*=argmaxy∈YS(X|y)
[0030] 步骤S33:通过关系类型约束转换函数进行转换,得到知识库中每 个关系的定义域和值域,关系类型约束转换函数f,如下所示:
[0031] f({t1,t2,...ti,...,tn})=(pd,p,pr)
[0032] 式中ti=(si,pi,oi)、tj=(sj,pj,oj)表示关系p的事实三元组,
[0033] 通过下式,根据关系两侧的实体类别转换得到该关系的定义域和 值域
[0034] si SubClassOf Elsi,oi SubClassOf Eloi,sj SubClassOf Elsj,oj SubClassOf Eloj, Elsi,Eloi,Elsj,
[0035]
[0036]
[0037] 其中Elsi、Eloi、Elsj、Eloj分别表示实体si、oi、sj、oj所属子类  类别,分别表示实体si、oi、sj、oj所属大 类类别。
[0038] 进一步的,所述优化数据均衡分组通过聚类算法自动发现高度相 关的关系,随后将与该类关系相关的关系路径划分到同一分区,实现 数据均衡且独立分组。
[0039] 所述步骤S4具体为:
[0040] 步骤S41;逐条遍历事务Ti,将Ti从前往后遍历,
[0041] 步骤S42:根据项a1确定是否存在以该项为根节点的分,若存 在返回分块编号,否则添加以该项为根节点的分块信息并返回;
[0042] 步骤S44:根据分块编号以及项ai先查找是否存在与该项相同且祖 先节点相同的项,若存在该项计数加1,否则添加该项到指定分块。
[0043] 步骤S41:找到拥有的项的集合中存在项m的分块编号,然后在 对应的分块中,查找项m的所有祖先节点,即为m的条件模式基
[0044] 步骤S45:m的条件模式基为<(f:2),(c:2),(a:2)>和 <(f:1),(c:1),(a:1),(b:1)>,同理p的条件模式基为<(f:2),(c:2),(a:2),(m:2)>和 <(c:1),(b:1)>,将每个项的条件模式基作为该项的mapper阶段的输入, 创建条件FP树,挖掘该项的频繁项集。
[0045] 进一步的,所述步骤S6具体为:
[0046] 步骤S61:通过步骤S3和S4得到的,挖掘出的强关联规则 和关系的定义域和值域 Elid,Elir,rj domain Eljd,ri rangeEljr,rz domain Elzd,rz range Elzr;
[0047] 步骤S62:根据下式将强关联规则转换成Horn规则
[0048]
[0049] 其中Elid、Elir分别表示关系ri的定义域和值域,Eljd、Eljr表示关系 rj的定义域和值域,Elzd、Elzr表示关系rz的定义域和值域。
[0050] 本发明与现有技术相比具有以下有益效果:
[0051] 本发明能够高效地找到代表知识库Horn规则的同时,挖掘规则 的数量和准确率方面也更优于其他规则挖掘系统,能更好的补全知识 库。附图说明
[0052] 图1是本发明一实施例中方法流程图
[0053] 图2是本发明一实施例中应用Horn逻辑规则实现知识库补全示 例图;
[0054] 图3是本发明一实施例中PRMATC算法框架图;
[0055] 图4是本发明一实施例中BILSTM-CRF模型原理图;
[0056] 图5是本发明一实施例中簇间重叠度;
[0057] 图6是本发明一实施例中优化链头表结构原理图
[0058] 图7是发明一实施例中修改的频繁模式树。

具体实施方式

[0059] 下面结合附图及实施例对本发明做进一步说明。
[0060] 请参照图1,本发明提供一种基于PRMATC算法的知识库补全 方法,包括以下步骤:
[0061] 步骤S1:将大规模语义网络知识库KB中的所有事实三元组以及 实体导入、存储到分布式集群Neo4j图数据库中;
[0062] 步骤S2:构建BILSTM-CRF模型,并训练;
[0063] 步骤S3:通过训练好的BILSTM-CRF模型对关系两侧的实体进行 识别与分类,进而转换得到关系的定义域和值域;
[0064] 步骤S4:在FP-Growth算法的基础上,优化数据均衡分组以及 FP树构建和挖掘,得到改进后的FP-Growth算法;
[0065] 步骤S5:根据改进后的FP-Growth算法,挖掘出事务间隐含的强 关联规则;
[0066] 步骤S6:根据得到的关系的定义域和强关联规则转换成Horn逻 辑规则;
[0067] 步骤S7:根据得到Horn逻辑规则,获取新的知识,并添加至知识 库KB中。
[0068] 在本实施例中,设定t=表示实例三元组。其中s表示主语 (Subject),p表示谓语(Predicate),o表示宾语(Object)。一个RDF 数据图由多个实例三元组构成。
[0069] 由一系列RDF实例三元组相互连接构成的有向图我们称为RDF 数据图rg,rg={t1,t2,...,ti,...,tn}, ti中的节点si,oi为图 中的顶点,pi为图中一条有向边,它的起始节点为si,终止节点为oi。
[0070] 给定三元组ti(si,pi,oi)和tj(sj,pj,oj),如果(si=sj&&oi≠oj)或者 (si=oj&&oi≠sj)或者(oi=sj&&si≠oj)或者(oi=oj&&si≠sj),则称ti与tj相邻, 可以进行三元组连接。
[0071] 知识库KB=,其中E表示Entity(实体)的集合,R 表示Relation(关系)的集合,F代表知识库中事实的集合,P表示 Property(属性)的集合,V表示Value(属性值)的集合。
[0072] 实体集E={e1,e2,...,en}=∏subject(KB)∪∏object(KB),它描述了 语义网络知识库数据层中的所有实体,并且对应RDF中的实例集合。
[0073] 关系集R={r1,r2,...,rn}=∏relation(KB),它表示实体与实体之间的 关系。
[0074] 事实集 它表示知识库中所有实例三元 组的集合。
[0075] 属性集P表示全体属性的集合P={p1,p2,...,pn},它将E与属性值 V关联起来。
[0076] 属性值集V表示全体属性值的集V={v1,v2,...,vn},它表示文本等 节点。
[0077] 设实体标签集EL={El1,El2,...,Eln},它表示可代表知识库中所有实 体类别的标签集合。针对YAGO、DBpedia等常用数据集,本实施例 对PER、LOC、ORG分别进行扩展,定义了39种类型作为本文的实 体标签集,表示为EL,其中Cf={PER|ORG|LOC}表示三大类的集合。 如表1所示。
[0078] 表1 实体标签集
[0079]
[0080]
[0081] 本实施例中,采用较为常用的序列标注模式BIO,其中B表示开 始(Begin),I表示中间(Intermediate),O表示其他(Other)用于 标记无关字符。
[0082] 在本实施例中,Redis分布式内存数据库集群来存储知识库中每 个关系的定义域和值域以及该算法所挖掘出的Horn逻辑规则。具体 的表及存储内容如表2所示。
[0083] 表2 Redis表设计及存储内容说明
[0084]
[0085] 在本实施例中BILSTM-CRF模型由双向LSTM和CRF两部分组 成,所述双向LSTM由前向的LSTM与后向的LSTM构成;
[0086] LSTM计算过程就是通过对细胞状态中信息的遗忘和记忆,其 中遗忘、记忆与输出是由上一刻的隐层状态ht-1和当前输入Xt所决定 的,具体计算式1所示。
[0087] ft=σ(Wf·[ht-1,xt]+bf)
[0088] it=σ(Wi·[ht-1,xt]+bi)
[0089]
[0090]
[0091] Ot=σ(Wo·[ht-1,xt]+bo)
[0092] ht=Ot*tanh(Ct)
[0093] 式中,Xt、Ct、ht、ft、it、Ot分别对应模型t时刻的输入、细胞状态、 隐藏层状态、忘记门以及输出门;词向量作为BILSTM层的输入, 然后输出值是一句话中每个单词对应的每个标签的预测分数,这些分 数便是CRF层的输入。本实施例采用BIO标注模式,因此每个单词 对应79个标签分数。
[0094] 双向LSTM能有效结合词语的上下文语境,能够更好地识别实 体以及预测实体所对应的类型标签。举例说明,例如,我们对“姚明 国籍中国”进行编码,前向LSTM依次输入“姚明”,“国籍”, “中国”得到三个向量分别为hl0,hl1,hl2,同理后向LSTM依次输入 “中国”,“国籍”,“姚明”也分别得到三个向量hr0,hr1,hr2,最后 的向量是由前向向量与后向向量拼接得到的,因此每个单词向量包含 更加丰富的语料信息,使得识别实体准确率更高。
[0095] CRF层:条件随机场(conditional random field简称CRF)[9]是 给定一组输入序列条件下另一组输出序列的条件概率分布模型。其实 不难发现,即使没有CRF层,仅仅通过BILSTM模型也能完成命名 实体识别及预测,因为BILSTM层的输出是每个单词对应的每个标 签的预测分数,可以选择每个单词得分最高的标签组合成最佳预测标 签。然而,很多情况下得分最高的序列并不合法,例如,“B-PER I-PER” 有效,但“B-PER I-ORG”无效,CRF层的作用可以为最后预测的标 签添加一些约束来保证预测的标签的合法性。对于命名实体识别序列 标注问题,通常采用线性条件随机场(linear-CRF)。
[0096] 所述线性条件随机场P(y|x),如下式所示:
[0097]
[0098] 式中λk和μl为权重系数,tk和sl为特征函数,Z(x)是规范化因子
[0099]
[0100] BILSTM层的输出作为CRF层的输入,经过CRF层特征函数运 算以及归一化操作之后,输出每个单词的合法预测标签。
[0101] 在本实施例中,当模型训练完毕后,即可进行预测。知识库中每 个RDF三元组作为输入,例如“姚明国籍中国”。预测的时 候,根据训练好的模型参数求得输入语句中所有可能的预测序列得分, 取最大值。所述步骤S3具体为:
[0102] 步骤S31:将每个输入三元组X=(x1,x2,...xi,...xn)经过BILSTM层和 CRF层,得到所有可能的预测序列y=(y1,y2,...,yi,...yn);
[0103] 每个预测序列y的得分S(X|y),如下式所示:
[0104]
[0105] 式中 为第i个位置输出为yi的概率,A为转移概率矩阵
[0106] 步骤S32:计算序列最大得分y*,如下式所示:
[0107] y*=argmaxy∈YS(X|y)
[0108] 步骤S33:通过关系类型约束转换函数进行转换,得到知识库中每 个关系的定义域和值域,关系类型约束转换函数f,如下所示:
[0109] f({t1,t2,...ti,...,tn})=(pd,p,pr)
[0110] 式中ti=(si,pi,oi)、tj=(sj,pj,oj)表示关系p的事实三元组,
[0111] 通过下式,根据关系两侧的实体类别转换得到该关系的定义域和 值域
[0112] si SubClassOf Elsi,oi SubClassOf Eloi,sj SubClassOf Elsj,oj SubClassOf Eloj, Elsi,Eloi,Elsj,
[0113]
[0114]
[0115] 其中Elsi、Eloi、Elsj、Eloj分别表示实体si、oi、sj、oj所属子类  类别,分别表示实体si、oi、sj、oj所属大 类类别。
[0116] 在本实施例中,所述优化数据均衡分组通过聚类算法自动发现高 度相关的关系,随后将与该类关系相关的关系路径划分到同一分区, 实现数据均衡且独立分组。
[0117] 本实施例中,通过综合考虑时间复杂度和空间复杂度,得出 均衡分组策略,即通过聚类算法自动发现高度相关的关系,随后将与 该类关系相关的关系路径(事务)划分到同一分区,真正实现数据均 衡且独立分组。共享更多公共相似路径的关系更应该耦合,具体来说, 我们从关系簇|R|开始,每个簇代表一个关系r∈R,簇内每个点表示 与该关系相关的关系路径,然后迭代的计算每个簇与其余各个簇之间 的距离d。它本质上是度量两个簇之间的重叠度,重叠越大,相似度 越高。因此共享大量公共相似路径的关系将被划分到同一分区。本文 通过计算两个簇之间的圆心距离d来衡量关系的相似度,d越小,相 似度越高。具体如图5所示。
[0118] 二维空间两个簇之间的圆心距离d计算公式,如下式所示:
[0119]
[0120] 如图5所示,若d满足图5中(a)或图5中(b),则认为两个关系 在一定程度上是相似的,d越小,相似度越高,否则是离散的、独立 的。聚类算法的具体步骤如下所示。
[0121]
[0122] 第3行通过word2Vec将每条关系路径转换为100维向量;第4-5 行通过TSNE对高维数据进行降维,维度为2;第6行返回每个关系r 以及对应的关系路径集合p;第7-11行首先对每个关系的关系路径 集合进行离群点检测,然后通过距离函数确定该关系所代表的簇的圆 心坐标O以及半径m。
[0123] FP-growth算法挖掘频繁项集的基本过程分为两部分:构建FP 树和从FP树中挖掘频繁项集。
[0124] (1)构建FP树
[0125] 现有的FP-Growth算法在构建一棵频繁模式树时,在任意一条事 务执行完插入操作后,都需要对事务数据集采取排序的方法进行更 新,而排序依据即事务的项在链头表内的具体位置。为了降低时间复 杂度,本文提出了一种优化构建频繁模式树的算法。该算法用到的存 储结构定义如下所示:
[0126] linkList={<rooti,blocki,itemSeti>},
[0127] bloacki={<itemij,{(frequencyItemijk,ancestorNodeijk)}>}
[0128] rooti=itemi1
[0129] itemSeti={itemi1,...,itemij}
[0130] 本实施例以事务数据集D为例进行阐述,数据集详细信息如表4 所示。
[0131] 表4 事务数据D
[0132]
[0133] 将数据集的最小支持度设置为3,采取从大到小的原则,对支持 度进行排序得到结果:f:4,c:3,a:3,b:3,m:3,p:3,并根据该结果将原数据 集按照支持度递减方式进行排序,结果如表4最右侧一列所示。SFP 算法用到两种数据结构:链头表和频繁模式树。下面给出优化链头表 结构的原理,如图6所示。
[0134] 构建频繁模式树的具体步骤伪代码如下所示:
[0135]
[0136] 代码第3行开始逐条遍历事务Ti,将Ti从前往后遍历,第4-7行 进行判断,根据项a1确定是否存在以该项为根节点的分块,若存在 返回分块编号,否则添加以该项为根节点的分块信息并返回(对应图 5中的①),第8行根据分块编号以及项ai先查找是否存在与该项相 同且祖先节点相同的项,若存在该项计数加1,否则添加该项到指定 分块(对应图5中的②)。
[0137] 从时间复杂度来看,假设事务数据库中每条事务中包含k个项, 频繁一项集中元素的个数是m,事务总条数为n,那么按照原来的项 头表结构,将每条事务插入到频繁模式树中的时间复杂度为O(m2), 构建整棵频繁模式树的时间复杂度为O(m2*n);改进后的链表结构, 将每条事务插入到频繁模式树中的时间复杂度为O(k),构建整棵频繁 模式树的时间复杂度为O(k*n)。如图5所示,左图为修改前的频繁模 式树,右图为修改后的频繁模式树。
[0138] 在改进频繁模式树之前,查找子节点的时间复杂度为O(m),本文 改进后的链头表结构,时间复杂度降低为O(1)。
[0139] 尽管递归算法使代码更加易于理解且简洁,但其带来的时间与空 间的开销使得算法执行效率低下,所以减少递归运算可以提高频繁项 集的挖掘效率。
[0140] (2)挖掘频繁项集
[0141] 以表4中事务数据库D构建的频繁模式树为例,假设要找出项m 的条件模式基。首先,找到拥有的项的集合中存在项m的分块编号, 然后在对应的分块中,查找项m的所有祖先节点,即为m的条件模 式基。如图4所示,m的条件模式基为<(f:2),(c:2),(a:2)>和 <(f:1),(c:1),(a:1),(b:1)>,同理p的条件模式基为<(f:2),(c:2),(a:2),(m:2)>和 <(c:1),(b:1)>。然后,将每个项的条件模式基作为该项的mapper阶段 的输入,创建条件FP树,挖掘该项的频繁项集。
[0142] 进一步的,所述步骤S6具体为:
[0143] 步骤S61:通过步骤S3和S4得到的,挖掘出的强关联规则 和关系的定义域和值域 Elid,Elir,rj domainEljd,ri rangeEljr,rz domainElzd,rz rangeElzr;
[0144] 步骤S62:根据下式将强关联规则转换成Horn规则
[0145]
[0146] 其中Elid、Elir分别表示关系ri的定义域和值域,Eljd、Eljr表示关系 rj的定义域和值域,Elzd、Elzr表示关系rz的定义域和值域。
[0147] 在本实施例中,以SFP算法挖掘出的两条强关联规则为例,比 较说明通过关系类型约束将强关联规则转换成Horn逻辑规则的优势。
[0148] (1) 产生的Horn逻辑规则如下 所示:。
[0149]
[0150] (2) 产生的Horn逻辑规则如下所 示:
[0151]
[0152] 我们不难发现,式(15)中虽然有无利用关系类型约束都产生合 理的Horn逻辑规则,但是,很多情况下关系的方向不总是一致的, 大多情形与式(16)类似。利用关系类型约束可以为关系指明方向, 因为共享变量的连接实体应属于同一标签类型,这使得转换成的 Horn逻辑规则更加完整。
[0153] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所 做的均等变化与修饰,皆应属本发明的涵盖范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈