CN109783628B - 结合时间窗口和关联规则挖掘的关键词搜索ksaarm方法 - Google Patents
结合时间窗口和关联规则挖掘的关键词搜索ksaarm方法 Download PDFInfo
- Publication number
- CN109783628B CN109783628B CN201910039057.5A CN201910039057A CN109783628B CN 109783628 B CN109783628 B CN 109783628B CN 201910039057 A CN201910039057 A CN 201910039057A CN 109783628 B CN109783628 B CN 109783628B
- Authority
- CN
- China
- Prior art keywords
- entity
- attribute
- query
- association rule
- transaction
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种结合时间窗口和关联规则挖掘的关键词搜索KSAARM算法。考虑到知识图谱蕴含丰富的语义信息并且具有时效特性,所以该算法结合时间窗口挖掘出当前数据中蕴含的语义强关联,即实体间的强关联规则和属性间的强关联规则;在关键词检索阶段,首先根据这两类强关联规则对查询关键词进行扩展,接着将扩展后的查询关键词映射到模式层上,再次结合两类关联规则扩充查询类图,形成候选种子模型,通过评分函数对候选种子模型进行排序,然后将高评分的候选种子作为查询种子,并以此为指引在数据层上进行分布式搜索,得到查询结果。
Description
技术领域
本发明涉及一种结合时间窗口和关联规则挖掘的关键词搜索KSAARM方法。
背景技术
查询扩展是实现智能检索的重要技术之一,它基于语义库将用户的查询需求进行相应的扩展,以达到检索智能化,提高查准率和查全率的目的。目前实现查询扩展的主要方式有以下几种:(1)使用用户自身的日志记录来扩展查询;(2)使用Web上相似查询的历史日志文档来扩展关键词,并且添加了点击量作为扩展查询的来源;(3)利用关联规则挖掘技术,来自动挖掘出词语之间的关联性,由此构建关联库,再利用关联库来有效扩展查询。
现存的查询扩展方案虽然在一定程度上提高了查询结果的查准率和查全率,但是它们仅适用于静态知识库,没有考虑到知识碎片的到来给知识库带来动态变化的情况,因此本发明基于知识图谱的背景下,提出了结合关联规则挖掘的关键词搜索算法,该算法通过时间窗口与改进的YAFIM算法相结合,分别挖掘最新的属性与实体间的强关联规则,然后利用关联规则对查询进行扩展,然后将新的查询映射至模式层中构建查询种子模型,最后利用查询种子为指引在数据层上进行分布式检索,得到包含丰富语义信息的查询结果。因此,本发明算法能够适应动态实时变化的知识库。
发明内容
本发明的目的在于提供一种结合时间窗口和关联规则挖掘的关键词搜索KSAARM方法,不但提高了查询结果的查准率和查全率,而且能够适应动态实时变化的知识库。
为实现上述目的,本发明的技术方案是:一种结合时间窗口和关联规则挖掘的关键词搜索KSAARM方法,包括两个阶段:
关联规则挖掘阶段:在知识碎片的知识图谱数据库上采用时间窗口来分析新的属性强关联规则与实体强关联规则;
关键词查询阶段:首先根据实体强关联规则和属性强关联规则对查询关键词进行扩展,接着将扩展后的查询关键词映射到模式层上,再次结合实体强关联规则和属性强关联规则扩充查询类图,形成候选种子模型,通过评分函数对候选种子模型进行排序,最后将高评分的候选种子模型作为查询种子模型,并以此为指引在数据层上进行分布式搜索,得到查询结果。
在本发明一实施例中,在关联规则挖掘阶段中,所述在知识碎片的知识图谱数据库上采用时间窗口来分析新的属性强关联规则与实体强关联规则,具体是采用结合时间滑动窗口与并行化频繁项集挖掘算法的基于时间窗口的并行化关联规则挖掘算法,来分析知识图谱数据库中数据的新的属性强关联规则与实体强关联规则。
在本发明一实施例中,所述并行化频繁项集挖掘算法,具体实现如下:
步骤S31、构建属性事务集和实体事务集:
属性事务集的定义为:
Transactio nsProperty={TP1,TP2,...,TPi,...,TPn}
其中,TPi={subjecti:(propertyj,...,propertyk)},它表示一个属性事务,其主键subjecti是数据层中的实体三元组的主语,其值(propertyj,...,propertyk)表示该数据集三元组中主语同为subjecti的所有属性的集合;
实体事务集的定义为:
TransactionsEntity={TE1,TE2,...,TEi,...,TEn}
其中,TEi={propertyi:(objectj,...,objectk)},它表示一个实体事务,其主键propertyi是数据层中的实体三元组的属性,其值(objectj,...,objectk)表示该数据集三元组中属性同为propertyi的所有宾语的集合;
步骤S32、属性频繁项集与实体频繁项集挖掘:
第一阶段:首先,通过属性与实体事务集文件中获取属性以及实体事务集;接着,从属性事务集与实体事务集中获取所有的属性项目以及实体项目;最后,进行键/值对转换,并计算属性事务数据集和实体事务数据集中的每个项目的频率,修剪频率小于最小支持度的项目,则所有超过阈值的项目即为属性频繁1-项集和实体频繁1-项集;
第二阶段:首先,从属性频繁1-项集和实体频繁1-项集中获取属性候选2-项集与实体候选2-项集;然后,进行键/值对转换;最后,计算每个候选属性项目与候选实体项目的频率,并修剪频率小于最小支持度的项目,则所有超过阈值的项目即为属性频繁2-项集和实体频繁2-项集,亦即所需的属性频繁项集和实体频繁项集。
在本发明一实施例中,在关键词查询阶段中,评分函数的具体构建过程如下:
步骤S41、关键词扩展评分阶段:设给定关键词查询Q={k1,k2,...,kn},根据实体强关联规则和属性强关联规则对查询关键词进行扩展,则得到扩展后的查询集合Q={Q1,...,Qt,...,Qm};根据公式(5)对扩展后的查询集合Q={Q1,...,Qt,...,Qm}中的查询进行评分,其中Qt={k1,k2,...,kn};
上式中,support()函数用于求两个关键词之间的支持度,若两个关键词不为频繁项集,则两者之间的支持度为0;因此,上式的计算结果表示的是查询Qt中关键词间的紧密程度;
步骤S42、候选种子模型评分阶段:首先根据下式求得类间联系紧密的候选种子;
上式中,Length(G)表示的是任意两个类之间的距离之和,距离越小,其值越小,则知识图谱数据G的内容联系越紧密;I(ci)表示类ci定义的属性集合,|I(ci)|表示属性集合的数量,I(ci)∩I(cj)表示类ci与类cj所共有的属性的集合,因此sim(C)的值越大表明语义结构特征越相似;所以上式的评分越高,候选种子成为查询种子的概率越大;但是,当上式求得的多个评分相同时,就需要通过下式进一步计算,求得高评分的作为查询种子;
上式中,w(ei)表示边的权值,即以ei为主键时的类对的数量表示其权值;因此,上式表示候选知识图谱数据G的所有边的权值之和。
相较于现有技术,本发明具有以下有益效果:
1、现有的关键词检索方案难以动态挖掘关联规则,并且关联规则种类单一,通常是实体之间的关联规则,而本发明提出的算法能够利用时间窗口在动态变化的知识库上实时挖掘关联规则,并且挖掘出的关联规则分为两类,分别是实体间关联规则和属性间关联规则;
2、现有的关键词检索方案主要通过在实体数据层直接构建结果子图集,效率相对较慢,而本发明提出的算法通过在模式层上构建查询种子模型,再利用查询种子为指引在实体数据层上检索得到Top-k个结果,该方法使得检索效率大大提高。
附图说明
图1为本发明KSAARM算法框架图。
图2为属性事务时间滑动窗口示例。
图3为第一阶段流程图。
图4为第二阶段流程图。
图5为查询种子模型生成的流程图。
图6为优先扩展的图例。
图7为关联类图。
图8为候选种子集合。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种结合时间窗口和关联规则挖掘的关键词搜索KSAARM方法,包括两个阶段:
关联规则挖掘阶段:在知识碎片的知识图谱数据库上采用时间窗口来分析新的属性强关联规则与实体强关联规则;具体是采用结合时间滑动窗口与并行化频繁项集挖掘算法的基于时间窗口的并行化关联规则挖掘算法,来分析知识图谱数据库中数据的新的属性强关联规则与实体强关联规则;
关键词查询阶段:首先根据实体强关联规则和属性强关联规则对查询关键词进行扩展,接着将扩展后的查询关键词映射到模式层上,再次结合实体强关联规则和属性强关联规则扩充查询类图,形成候选种子模型,通过评分函数对候选种子模型进行排序,最后将高评分的候选种子模型作为查询种子模型,并以此为指引在数据层上进行分布式搜索,得到查询结果。
所述并行化频繁项集挖掘算法,具体实现如下:
步骤S31、构建属性事务集和实体事务集:
属性事务集的定义为:
Transactio nsProperty={TP1,TP2,...,TPi,...,TPn}
其中,TPi={subjecti:(propertyj,...,propertyk)},它表示一个属性事务,其主键subjecti是数据层中的实体三元组的主语,其值(propertyj,...,propertyk)表示该数据集三元组中主语同为subjecti的所有属性的集合;
实体事务集的定义为:
TransactionsEntity={TE1,TE2,...,TEi,...,TEn}
其中,TEi={propertyi:(objectj,...,objectk)},它表示一个实体事务,其主键propertyi是数据层中的实体三元组的属性,其值(objectj,...,objectk)表示该数据集三元组中属性同为propertyi的所有宾语的集合;
步骤S32、属性频繁项集与实体频繁项集挖掘:
第一阶段:首先,通过属性与实体事务集文件中获取属性以及实体事务集;接着,从属性事务集与实体事务集中获取所有的属性项目以及实体项目;最后,进行键/值对转换,并计算属性事务数据集和实体事务数据集中的每个项目的频率,修剪频率小于最小支持度的项目,则所有超过阈值的项目即为属性频繁1-项集和实体频繁1-项集;
第二阶段:首先,从属性频繁1-项集和实体频繁1-项集中获取属性候选2-项集与实体候选2-项集;然后,进行键/值对转换;最后,计算每个候选属性项目与候选实体项目的频率,并修剪频率小于最小支持度的项目,则所有超过阈值的项目即为属性频繁2-项集和实体频繁2-项集,亦即所需的属性频繁项集和实体频繁项集。
在关键词查询阶段中,评分函数的具体构建过程如下:
步骤S41、关键词扩展评分阶段:设给定关键词查询Q={k1,k2,...,kn},根据实体强关联规则和属性强关联规则对查询关键词进行扩展,则得到扩展后的查询集合Q={Q1,...,Qt,...,Qm};根据公式(5)对扩展后的查询集合Q={Q1,...,Qt,...,Qm}中的查询进行评分,其中Qt={k1,k2,...,kn};
上式中,support()函数用于求两个关键词之间的支持度,若两个关键词不为频繁项集,则两者之间的支持度为0;因此,上式的计算结果表示的是查询Qt中关键词间的紧密程度;
步骤S42、候选种子模型评分阶段:首先根据下式求得类间联系紧密的候选种子;
上式中,Length(G)表示的是任意两个类之间的距离之和,距离越小,其值越小,则知识图谱数据G的内容联系越紧密;I(ci)表示类ci定义的属性集合,|I(ci)|表示属性集合的数量,I(ci)∩I(cj)表示类ci与类cj所共有的属性的集合,因此sim(C)的值越大表明语义结构特征越相似;所以上式的评分越高,候选种子成为查询种子的概率越大;但是,当上式求得的多个评分相同时,就需要通过下式进一步计算,求得高评分的作为查询种子;
上式中,w(ei)表示边的权值,即以ei为主键时的类对的数量表示其权值;因此,上式表示候选知识图谱数据G的所有边的权值之和。
以下为本发明的具体实现过程。
本发明提出了一个简称为KSAARM的算法,该算法的主要处理过程分为两个阶段:第一阶段,关联规则挖掘阶段(即数据预处理阶段),该阶段在知识碎片的知识库上使用时间窗口来分析新的属性强关联规则与实体强关联规则;第二阶段,关键词查询阶段,该阶段考虑到知识图谱的模式层相较于数据层数据量小,提出了查询种子模型,该模型根据属性以及实体强关联规则对关键词进行扩展,然后将扩展后的关键词映射到模式层上形成候选种子模型,接着通过评分函数对其进行排序,然后将高评分的候选种子作为查询种子,再将查询种子在数据层上进行分布式搜索,得到Top-k个查询结果。KSAARM算法的总体框架设计如图1所示。
以下给出本文的相关定义。
问题定义:给定关键词查询Q={k1,k2,...,kn},知识图谱数据G,返回Top-k个查询结果。
定义1(知识图谱,G)设知识图谱G=<S,E,A,P,V,L>,其中S表示Semantic Class(语义类,即概念)的集合,E表示Entity(实体)的集合,A表示Attribute(自身属性)的集合,P表示Property(属性)的集合,V表示Value(自身属性值)的集合,L表示Literal。知识图谱主要分为模式层与数据层。
定义2(语义类,S)语义类集S表示全体的语义类的集合S={S1,S2,...,Sn},它描述了知识图谱模式层中的所有概念,并且对应RDF(资源描述框架)中的本体集合。
定义3(实体,E)实体集E表示全体的实体的集合E={E1,E2,...,En},它描述了知识图谱数据层中的所有实体,并且对应RDF中的实例集合。
定义4(自身属性,A)自身属性集A表示全体的属性的集合A={A1,A2,...,An},它将S或E与文本对应的类L或自身属性值V关联起来。
定义5(自身属性值,V)自身属性值集V表示全体的自身属性值的集合V={V1,V2,...,Vn},它表示文本等节点。
定义6(文本对应的类,L)文本对应的类L表示所有文本映射到模式层上的同一个类Literal上。
定义7(属性,P)属性集P表示全体的属性的集合P={P1,P2,...,Pn},它表示实体与实体,或者语义类与语义类之间的关系。
1、本发明KSAARM算法的分布式存储方案设计
该算法使用Redis分布式内存数据库集群作为数据存储的媒介。集群中内存数据库的数量可以根据需求动态增加或者减少。具体的表及存储内容说明如表1所示:
表1 Redis表设计及存储内容说明
2、基于时间窗口的并行化关联规则挖掘
由于知识碎片构成的知识库具有动态增长以及时间相关的特性,所以在对这类知识库进行关联规则挖掘时将会遇到如下几个挑战:第一,知识库数据量非常大,但是挖掘处理的速度需要尽可能的快;第二,由于这类知识库具有时间特性,因此挖掘方案应该能够及时对新数据进行处理,并且动态更新关联规则。第三,由于在知识库中,不但实体之间可能具有紧密联系,而且属性之间也可能具有紧密的联系,因此本文的挖掘方案不仅能够挖掘出实体之间的强关联规则,还能够挖掘出属性之间的强关联规则。所以,基于以上问题,本文提出了基于时间窗口的并行化关联规则挖掘算法。以下将分别介绍时间窗口与并行化关联规则挖掘的相关概念。
2.1时间窗口方案
上文已经提到,由于知识碎片构成的知识库具有随时间变化的趋势,因此先前挖掘的关联规则可能在当前已经不再适用,而当前的关联规则在将来也可能不再成为关联规则,所以为了能够及时更新关联规则,我们提出了时间窗口的解决方案,其相关定义如下:
定义10时间滑动窗口(TimeSW),即在事务数据流中沿着每个时间单元(TU)向前滑动的窗口。|TUi|表示时间单元的大小,每个时间单元都包含不同数量的事务。TimeSWN-w+1=[TUN-w+1,TUN-w+2,...,TUN]表示包含w个时间单元的时间滑动窗口,每个时间窗口都有一个固定大小为w的时间单元。|TimeSW|表示时间滑动窗口中事务的大小,其计算公式为|TimeSWN-w+1|=|TUN-w+1|+|TUN-w+2|+...+|TUN|。由于后文中需要构建属性事务集和实体事务集,为了更好区分,我们使用TimeSWProperty和TimeSWEntity分别代表属性事务时间窗口和实体事务时间窗口。
定义11FIProperty表示属性频繁项目集,FIEntity表示实体频繁项目集,它们应该分别满足如下条件:
support(X)TimeSWProperty≥sProperty·|TimeSWProperty| (1)
其中,support(X)TimeSWProperty表示属性事务时间滑动窗口TimeSWProperty中包含属性项集X的事务个数。sProperty表示属性项集的最小支持度因子,其范围为[0,1]。sProperty·|TimeSWProperty|表示TimeSWProperty的属性频繁支持度阈值。
support(X)TimeSWEntity≥sEntity·|TimeSWEntity| (2)
其中,support(X)TimeSWEntity表示实体事务时间滑动窗口TimeSWEntity中包含实体项集X的事务个数。sEntity表示实体项集的最小支持度因子,其范围为[0,1]。sEntity·|TimeSWEntity|表示TimeSWEntity的实体频繁支持度阈值。
为了进一步解释时间滑动窗口的工作过程,本文将以属性事务时间滑动窗口为例作相应的介绍,如图2所示。
如图2可知,初始时,属性事务时间滑动窗口TimeSWProperty1包含4个时间单元TU1~TU4,而每个时间单元所包含的事务个数是不同的,上图中,TU1包含2个事务,TU3包含3个事务,而其余两个时间单元不包含事务,因此TimeSWProperty1总共包含5个事务。接着,该时间滑动窗口会沿着时间单元向后滑动,此时该滑动窗口TimeSWProperty2只包含3个事务。很显然,既然滑动窗口TimeSWProperty1和TimeSWProperty2中的事务总数存在差别,因此在滑动窗口内进行属性强关联规则挖掘的时候,若和之前一样使用固定支持度阈值来进行非频繁项剪枝操作将是不符合实际的。所以,本文在定义11中使用了属性项集最小支持度因子sProperty,它会与滑动窗口内实际的事务总量共同作用,以此来决定每个窗口具体的频繁支持度阈值,并在此基础上进行剪枝操作。
当时间窗口内的事务数量特别大时,在单台计算机上的内存难以支持挖掘运算,因此,本文使用了并行化频繁项集挖掘方案来解决上述问题。
2.2并行化频繁项集挖掘方案
并行化频繁项集挖掘方案主要用于解决大数据条件下单机的内存资源不足以及传统的方法挖掘效率低下的问题。
(1)构建属性事务集和实体事务集
由于用户输入的关键词有可能为属性,也有可能为实体,因此为了能够有效扩展属性与实体,我们需要分别构建属性事务集和实体事务集,以便能够分别挖掘出频繁出现的属性与实体。
属性事务集的定义如下:
TransactionsProperty={TP1,TP2,...,TPi,...,TPn} (3)
其中,TPi={subjecti:(propertyj,...,propertyk)},它表示一个属性事务,其主键subjecti是数据层中的实体三元组的主语,其值(propertyj,...,propertyk)表示该数据集三元组中主语同为subjecti的所有属性的集合;
实体事务集的定义为:
TransactionsEntity={TE1,TE2,...,TEi,...,TEn} (4)
其中,TEi={propertyi:(objectj,...,objectk)},它表示一个实体事务,其主键propertyi是数据层中的实体三元组的属性,其值(objectj,...,objectk)表示该数据集三元组中属性同为propertyi的所有宾语的集合;
(2)属性频繁项集与实体频繁项集挖掘:
本申请分别进行了属性与实体频繁项集的挖掘。该算法分为两个阶段:
阶段一:该阶段的流程图如图3所示:
由图3可知,首先通过getPropertyTransaction()函数和getEntityTransaction()函数从属性与实体事务集文件中获取属性以及实体事务集。接着,通过getPropertyItems()函数和getEntityItems()函数从属性事务集中与实体事务集中获取所有的属性项目以及实体项目。然后,在map阶段,计算<propertyitem,1>键/值对和<entityitem,1>键/值对。最后,在reduce阶段,计算属性事务数据集和实体事务数据集中的每个项目的频率,并修剪频率小于最小支持度sProperty·|TimeSWProperty|以及sEntity·|TimeSWEntity|的项目,所有超过阈值的项目即为属性频繁1-项集和实体频繁1-项集。
阶段二:该阶段的流程图如图4所示:
由图4可知,首先通过getPropertyCandidateItemsets()函数和getEntityCandidateItemsets()函数从频繁1-项集中获取属性与实体的候选2-项集。然后,在map阶段计算<propertyitemset,1>键/值对和<entityitemset,1>键值对。最后,在reduce阶段计算每个候选属性项目与候选实体项目的频率,并修剪频率小于最小支持度sProperty·|TimeSWProperty|和sEntity·|TimeSWEntity|的项目,所有超过阈值的项目即为属性频繁2-项集及实体频繁2-项集。
3构建KSAARM相关的查询种子模型
随着互联网的发展,知识图谱的数据量早已是海量级别的。如果直接在知识图谱的数据层进行关键词的搜索,其效率一定是非常低的。而由于知识图谱的模式层上的数据不仅体量小,还能够清晰表达实体之间的语义联系,其实质就相当于数据层数据的摘要表示,因此,本算法考虑在知识图谱的模式层上构建查询种子模型,再将查询种子模型用于知识图谱的数据层上,以此来加快查询效率。同时,本算法将利用上节中提出的关联规则挖掘算法挖掘属性之间及实体之间的强关联规则,并且利用两类规则对关键词进行扩展,以便得到语义信息更加丰富的查询。接下来将详细介绍该算法。
3.1构建KSAARM相关的评分函数
评分函数的好坏能够直接影响最终搜索结果的优劣。本小节将介绍结合KSAARM算法特点的评分函数。
1、关键词扩展评分阶段,设给定关键词查询Q={k1,k2,...,kn},根据实体强关联规则和属性强关联规则对查询关键词进行扩展,则得到扩展后的查询集合Q={Q1,...,Qt,...,Qm};根据公式(5)对扩展后的查询集合Q={Q1,...,Qt,...,Qm}中的查询进行评分,其中Qt={k1,k2,...,kn};
式(5)中,support()函数用于求两个关键词之间的支持度,若两个关键词不为频繁项集,则两者之间的支持度为0;因此,公式(5)的计算结果表示的是查询Qt中关键词间的紧密程度;
2、候选种子模型评分阶段:首先根据公式(6)求得类间联系紧密的候选种子;
式(6)中,Length(G)表示的是任意两个类之间的距离之和,距离越小,其值越小,则知识图谱数据G的内容联系越紧密;I(ci)表示类ci定义的属性集合,|I(ci)|表示属性集合的数量,I(ci)∩I(cj)表示类ci与类cj所共有的属性的集合,因此sim(C)的值越大表明语义结构特征越相似;所以公式(6)的评分越高,候选种子成为查询种子的概率越大;但是,当公式(6)求得的多个评分相同时,就需要通过公式(7)进一步计算,求得高评分的作为查询种子;
式(7)中,w(ei)表示边的权值,即以ei为主键时的类对的数量表示其权值;因此,公式(7)表示候选知识图谱数据G的所有边的权值之和。
3.2查询种子模型生成
查询种子模型生成的总体思想是:首先将用户输入的关键词根据Property_Association_Rule和Entity_Association_Rule表进行扩展,生成扩展的查询集合;然后将查询集合映射到知识图谱的模式层上,生成关联类图集合;接着由关联类图集合获得候选种子集合;最后利用评分函数对候选种子集合进行排名,得分高的图作为查询种子,我们将使用查询种子指导我们在知识图谱数据层上进行分布式检索,得到Top-k个查询结果。构建该模型的流程图如图5所示。
查询种子模型生成的具体过程如下所示:
输入:查询Q
输出:查询种子模型
Step1.Q中的关键词若为属性,则通过表Property_Association_Rule进行扩展得到新的属性;关键词若为实体,则通过表Entity_Association_Rule进行扩展得到新的实体;
Step2.Q中的关键词与扩展出的新关键词进行组合,得到新的查询集合Query_New_Set;
Step3.根据公式(5)对Query_New_Set查询集合中的查询进行排名;
Step4.优先将Step3中排名高的查询映射至模式层,其中的实体通过表Entity_Class表将实体映射成语义类;
Step5.将Step4映射生成的模式层上的数据通过Property_Association_Rule、Entity_Association_Rule、C_C_Property、Subject_Class以及Object_Class等表进行扩展生成模式层上的关联类图;
Step6.由关联类图生成候选查询种子集合;
Step7.利用公式(6)、(7)对Step6中生成的候选种子集合进行评分,将排名高的候选种子作为查询种子;
Step8.返回查询种子;
Step9.算法结束。
以下为本发明的具体实例。
以LUBM(1000)数据集为例,其数据层上部分实体数据如下例1所示:
接着,根据公式(3)和公式(4)分别构建属性事务集和实体事务集如下表2和3所示:
表2属性事务集
表3实体事务集
现假设用户输入的关键词查询Q为“University1,Course1,AssociateProfessor1,workFor”,构建当前查询对应的查询种子模型的具体执行过程如下所示:
(1)根据Property_Association_Rule或者Entity_Association_Rule表对查询Q进行扩展
由查询Q可知,关键词“University1”、“Course1”和“AssociateProfessor1”为实体,而关键词“workFor”为属性,所以我们将分别查询Entity_Association_Rule表和Property_Association_Rule表来对实体和属性进行扩展,形成新的查询集合。针对当前的LUBM数据集,我们设置sProperty=0.3,sEntity=0.3,因此Entity_Association_Rule表如下表4所示,Property_Association_Rule表如下表5所示。
表4 Entity_Association_Rule表的存储内容
表5 Property_Association_Rule表的存储内容
由表4和5可知,关键词“AssociateProfessor1”可以扩展出关键词“FullProfessor1”,关键词“workFor”可以扩展出关键词“teacherOf”,而关键词“University1”和“Course1”无法扩展出其他关键词,因此查询Q扩展后的查询变为:Q1=(“University1”,“Course1”,“AssociateProfessor1”,“workFor”,“FullProfessor1”,“teacherOf”),因此将Q1进行模式层上的匹配操作。
(2)模式层上关联类图的生成
以Q1为例,针对每个关键词找到对应模式层上的类或者属性,如表6所示:
表6关键词映射的类或属性
在构建关联类图的过程中,关系紧密(即对应数据层上的数据存在属性或者实体强关联规则)且相邻的类或者属性优先进行扩展,因此该过程如图6所示。
接着判断图6中是否已经包含所有关键词对应的类或者属性,若包含,则将图6中的图融合为关联图;若不包含,则对图根据属性或者实体的强关联规则继续扩展,直到包含所有关键词。由于图6中已经包含所有关键词,因此其融合后生成的关联图如7所示。
由图7中的关联图可以得到如图8所示的包含Q1中所有关键词的子图集,即候选种子集合。
获得如图8所示的候选种子模型之后,我们将根据评分函数(上一小节提到,其中式子(6)中的α设置为0.5)对其进行排名,它们分别为:SE_Candidate(a)=5.17、SE_Candidate(b)=5.17、SE_Candidate(c)=6.17和SE_Candidate(d)=6.17,此时评分最高的候选种子有两个,分别为图8(c)和图8(d),所以应用公式(7)继续对这两个候选种子进行排名(因为本节没有给出模式层上的本体数据,为了便于描述,所以我们假设属性边“teacherOf”的权值为10,“workFor”的权值为5),分别为:SE_Candidate1(c)=25和SE_Candidate1(d)=20。所以,将排名高的候选种子图8(c)作为查询种子,然后以该查询种子为指引在数据层进行分布式的搜索,得到用户满意的Top-k个查询结果。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (1)
1.一种结合时间窗口和关联规则挖掘的关键词搜索KSAARM方法,其特征在于,包括两个阶段:
关联规则挖掘阶段:在知识碎片的知识图谱数据库上采用时间窗口来分析新的属性强关联规则与实体强关联规则;
关键词查询阶段:首先根据实体强关联规则和属性强关联规则对查询关键词进行扩展,接着将扩展后的查询关键词映射到模式层上,再次结合实体强关联规则和属性强关联规则扩充查询类图,形成候选种子模型,通过评分函数对候选种子模型进行排序,最后将高评分的候选种子模型作为查询种子模型,并以此为指引在数据层上进行分布式搜索,得到查询结果;
在关联规则挖掘阶段中,所述在知识碎片的知识图谱数据库上采用时间窗口来分析新的属性强关联规则与实体强关联规则,具体是采用结合时间滑动窗口与并行化频繁项集挖掘算法的基于时间窗口的并行化关联规则挖掘算法,来分析知识图谱数据库中数据的新的属性强关联规则与实体强关联规则;
所述并行化频繁项集挖掘算法,具体实现如下:
步骤S31、构建属性事务集和实体事务集:
属性事务集的定义为:
TransactionsProperty={TP1,TP2,...,TPi,...,TPn}
其中,TPi={subjecti:(propertyj,...,propertyk)},它表示一个属性事务,其主键subjecti是数据层中的实体三元组的主语,其值(propertyj,...,propertyk)表示数据集三元组中主语同为subjecti的所有属性的集合;
实体事务集的定义为:
TransactionsEntity={TE1,TE2,...,TEi,...,TEn}
其中,TEi={propertyi:(objectj,...,objectk)},它表示一个实体事务,其主键propertyi是数据层中的实体三元组的属性,其值(objectj,...,objectk)表示该数据集三元组中属性同为propertyi的所有宾语的集合;
步骤S32、属性频繁项集与实体频繁项集挖掘:
第一阶段:首先,通过属性事务集与实体事务集文件中获取属性事务集以及实体事务集;接着,从属性事务集与实体事务集中获取所有的属性项目以及实体项目;最后,进行键/值对转换,并计算属性事务数据集和实体事务数据集中的每个项目的频率,修剪频率小于最小支持度的项目,则所有超过阈值的项目即为属性频繁1-项集和实体频繁1-项集;
第二阶段:首先,从属性频繁1-项集和实体频繁1-项集中获取属性候选2-项集与实体候选2-项集;然后,进行键/值对转换;最后,计算每个候选属性项目与候选实体项目的频率,并修剪频率小于最小支持度的项目,则所有超过阈值的项目即为属性频繁2-项集和实体频繁2-项集,亦即所需的属性频繁项集和实体频繁项集;
在关键词查询阶段中,评分函数的具体构建过程如下:
步骤S41、关键词扩展评分阶段:设给定关键词查询Q={k1,k2,...,kn},根据实体强关联规则和属性强关联规则对查询关键词进行扩展,则得到扩展后的查询集合Q={Q1,...,Qt,...,Qm};根据下式对扩展后的查询集合Q={Q1,...,Qt,...,Qm}中的查询进行评分,其中Qt={k1,k2,...,kn};
上式中,support()函数用于求两个关键词之间的支持度,若两个关键词不为频繁项集,则两者之间的支持度为0;因此,上式的计算结果表示的是查询Qt中关键词间的紧密程度;
步骤S42、候选种子模型评分阶段:首先根据下式求得类间联系紧密的候选种子;
上式中,Length(G)表示的是任意两个类之间的距离之和,距离越小,其值越小,则知识图谱数据G的内容联系越紧密;I(ci)表示类ci定义的属性集合,|I(ci)|表示属性集合的数量,I(ci)∩I(cj)表示类ci与类cj所共有的属性的集合,因此sim(C)的值越大表明语义结构特征越相似;所以上式的评分越高,候选种子成为查询种子的概率越大;但是,当上式求得的多个评分相同时,就需要通过下式进一步计算,求得高评分的作为查询种子;
上式中,w(ei)表示边的权值,即以ei为主键时的类对的数量表示其权值;因此,上式表示候选知识图谱数据G的所有边的权值之和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039057.5A CN109783628B (zh) | 2019-01-16 | 2019-01-16 | 结合时间窗口和关联规则挖掘的关键词搜索ksaarm方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910039057.5A CN109783628B (zh) | 2019-01-16 | 2019-01-16 | 结合时间窗口和关联规则挖掘的关键词搜索ksaarm方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783628A CN109783628A (zh) | 2019-05-21 |
CN109783628B true CN109783628B (zh) | 2022-06-21 |
Family
ID=66500567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910039057.5A Active CN109783628B (zh) | 2019-01-16 | 2019-01-16 | 结合时间窗口和关联规则挖掘的关键词搜索ksaarm方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783628B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263140B (zh) * | 2019-06-20 | 2021-06-25 | 北京百度网讯科技有限公司 | 一种主题词的挖掘方法、装置、电子设备及存储介质 |
CN111401066B (zh) * | 2020-03-12 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 基于人工智能的词分类模型训练方法、词处理方法及装置 |
CN111506704B (zh) * | 2020-04-10 | 2023-09-12 | 上海携程商务有限公司 | 日语关键词组生成方法、装置、电子设备、存储介质 |
CN111932174B (zh) * | 2020-07-28 | 2024-05-28 | 中华人民共和国深圳海关 | 货运监管异常信息获取方法、装置、服务器及存储介质 |
CN112463895B (zh) * | 2020-12-01 | 2024-06-11 | 零氪科技(北京)有限公司 | 基于药物名称挖掘自动发现药物成分的方法和装置 |
CN113486191B (zh) * | 2021-06-25 | 2024-04-05 | 北京计算机技术及应用研究所 | 一种涉密电子文件定解密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567392A (zh) * | 2010-12-24 | 2012-07-11 | 华东师范大学 | 一种基于时间窗口兴趣主题挖掘的控制方法 |
CN104182527A (zh) * | 2014-08-27 | 2014-12-03 | 广西教育学院 | 基于偏序项集的中英文本词间关联规则挖掘方法及其系统 |
CN107609152A (zh) * | 2017-09-22 | 2018-01-19 | 百度在线网络技术(北京)有限公司 | 用于扩展查询式的方法和装置 |
CN108132927A (zh) * | 2017-12-07 | 2018-06-08 | 西北师范大学 | 一种融合图结构与节点关联的关键词提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110314010A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Keyword to query predicate maps for query translation |
-
2019
- 2019-01-16 CN CN201910039057.5A patent/CN109783628B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567392A (zh) * | 2010-12-24 | 2012-07-11 | 华东师范大学 | 一种基于时间窗口兴趣主题挖掘的控制方法 |
CN104182527A (zh) * | 2014-08-27 | 2014-12-03 | 广西教育学院 | 基于偏序项集的中英文本词间关联规则挖掘方法及其系统 |
CN107609152A (zh) * | 2017-09-22 | 2018-01-19 | 百度在线网络技术(北京)有限公司 | 用于扩展查询式的方法和装置 |
CN108132927A (zh) * | 2017-12-07 | 2018-06-08 | 西北师范大学 | 一种融合图结构与节点关联的关键词提取方法 |
Non-Patent Citations (2)
Title |
---|
"基于频繁子图模式挖掘的群体性抗议事件检测技术研究";陈科第;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20190115;全文 * |
"结合本体子图的RDF数据关键词分布式搜索";陈双 等;《福州大学学报(自然科学版)》;20171204;第45卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109783628A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783628B (zh) | 结合时间窗口和关联规则挖掘的关键词搜索ksaarm方法 | |
Lan et al. | A survey on advancing the dbms query optimizer: Cardinality estimation, cost model, and plan enumeration | |
CN110704743B (zh) | 一种基于知识图谱的语义搜索方法及装置 | |
US9092478B2 (en) | Managing business objects data sources | |
US7937397B2 (en) | Apparatus and method for term context modeling for information retrieval | |
US8938475B2 (en) | Managing business objects data sources | |
CN106874426B (zh) | 基于Storm的RDF流式数据关键词实时搜索方法 | |
Kenig et al. | MFIBlocks: An effective blocking algorithm for entity resolution | |
US11455313B2 (en) | Systems and methods for intelligent prospect identification using online resources and neural network processing to classify organizations based on published materials | |
US20150310073A1 (en) | Finding patterns in a knowledge base to compose table answers | |
US9501569B2 (en) | Automatic taxonomy construction from keywords | |
CN113157943A (zh) | 面向大规模金融知识图谱的分布式存储及可视化查询处理方法 | |
CN102063489B (zh) | 基于隐含分类信息的模式匹配方法 | |
Santos et al. | A sketch-based index for correlated dataset search | |
Gao et al. | Efficient k-closest pair queries in general metric spaces | |
Oo | Pattern discovery using association rule mining on clustered data | |
Kumar et al. | Efficient structuring of data in big data | |
Ravat et al. | A unified approach to multisource data analyses | |
Butka et al. | A proposal of the information retrieval system based on the generalized one-sided concept lattices | |
Tarun et al. | A novel fragmentation scheme for textual data using similarity-based threshold segmentation method in distributed network environment | |
Abdallah et al. | Towards a gml-enabled knowledge graph platform | |
US11416713B1 (en) | Distributed predictive analytics data set | |
Boghey et al. | A sequential tree approach for incremental sequential pattern mining | |
Hu et al. | Graphsdh: a general graph sampling framework with distribution and hierarchy | |
Maleszka et al. | Approximate Algorithms for Solving O 1 Consensus Problems Using Complex Tree Structure |
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 |