事件的推理方法、装置、计算机设备和存储介质与流程

文档序号:28102609发布日期:2021-12-22 12:02阅读:100来源:国知局
事件的推理方法、装置、计算机设备和存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及一种事件的推理方法、装置、计算机设备和存储介质。


背景技术:

2.随着科学技术的发展,事件推理的研究涉及到了统计学、计算机科学、教育、公共政策和经济学等多个领域的重要研究课题。
3.现有推理技术包含精确推理和近似推理,但是每次推理时,需要使用全部变量,从而导致推理算法在变量较多的场景下效率较低。


技术实现要素:

4.本技术提出一种事件的推理方法、装置、计算机设备和存储介质。
5.本技术一方面实施例提出了一种事件的推理方法,包括:
6.获取目标事件集合;
7.分别获取所述目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集;
8.根据所述因图事件子集和所述事件因图,生成第一后续事件集,并根据所述果图事件子集、所述事件果图和所述事件因图,生成第二后续事件集;
9.根据所述第一后续事件集和所述第二后续事件集生成后续事件集。
10.本技术实施例的事件的推理方法,通过获取目标事件集合,并分别获取目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集,根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件子集、事件果图和事件因图,生成第二后续事件集,根据第一后续事件集和第二后续事件集生成后续事件集。由此,可以实现在已知某一或某些事件发生,推理后续发生的事件,并且通过利用事件因图和事件果图,对事件的时序进行因果推理,提高了推理效率。
11.本技术另一方面实施例提出了一种事件的推理装置,包括:
12.第一获取模块,用于获取目标事件集合;
13.第二获取模块,用于分别获取所述目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集;
14.第一生成模块,用于根据所述因图事件子集和所述事件因图,生成第一后续事件集,并根据所述果图事件子集、所述事件果图和所述事件因图,生成第二后续事件集;
15.第二生成模块,用于根据所述第一后续事件集和所述第二后续事件集生成后续事件集。
16.本技术实施例的事件的推理装置,通过获取目标事件集合,并分别获取目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集,根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件子集、事件果图和事件因图,生成第二后续
事件集,根据第一后续事件集和第二后续事件集生成后续事件集。由此,可以实现在已知某一或某些事件发生,推理后续发生的事件,并且通过利用事件因图和事件果图,对事件的时序进行因果推理,提高了推理效率。
17.本技术另一方面实施例提出了一种计算机设备,包括处理器和存储器;
18.其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述一方面实施例所述的事件的推理方法。
19.本技术另一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述一方面实施例所述的事件的推理方法。
20.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
21.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
22.图1为本技术实施例所提供的一种事件的推理方法的流程示意图;
23.图2为本技术实施例提供的一种事件因图示意图;
24.图3为本技术实施例提供的另一种事件的推理方法的流程示意图;
25.图4为本技术实施例提供的另一种事件的推理方法的流程示意图;
26.图5为本技术实施例提供的事件因图查询链条示意图;
27.图6为本技术实施例提供的另一种事件的推理方法的流程示意图;
28.图7为本技术实施例提供的事件果图和事件因图查询链条示意图;
29.图8为本技术实施例提供的另一种事件的推理方法的流程示意图;
30.图9为本技术实施例提供的事件同时图和事件因图查询链条示意图;
31.图10为本技术实施例提供的另一种事件的推理方法的流程示意图;
32.图11为本技术实施例提供的一种事件的推理装置的结构示意图。
具体实施方式
33.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
34.下面参考附图描述本技术实施例的事件的推理方法、装置、计算机设备和存储介质。
35.图1为本技术实施例提供的一种事件的推理方法的流程示意图。
36.本技术实施例的事件的推理方法,可由本技术实施例提供的事件的推理装置执行,该装置可配置于计算机设备中,以实现根据已发生事件推理出后续事件,并利用事件因图和事件果图,对事件的时序进行因果推理,提高推理效率。
37.如图1所示,该事件的推理方法包括:
38.步骤101,获取目标事件集合。
39.本实施例中,可获取某时刻发生的事件,从而获取目标事件集合。比如,目标事件
集合为{x1=1,x5=0,

},其中,1,0为事件的取值,比如,x1=1表示下雨,x1=0表示不下雨,x5=1表示有风,x5=0表示没有风。
40.需要说明的是,1和0是两种取值仅是示例,事件的取值也可以是两个以上,本实施例对此不作限定。比如,x5=0表示没有风,x5=1表示2

3级的风,x5=2表示4

5级的风,x5=3表示6级以上的风。
41.步骤102,分别获取目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集。
42.概率图模型本质上是一种利用图结构对随机变量联合概率分布进行表示的方法。概率图模型可以用来直观表示变量间的关系,概率图模型分为有向图模型和无向图模型。其中,概率图模型中节点表示随机变量,边表示依赖关系。
43.本实施例中,事件因图和事件果图具体是根据事件的时序先后确定因果的。其中,事件因图为有向图模型,比如事件因图中存在a

>b,a

>b表示a的后续结果为b;事件果图也是有向图模型,比如事件果图中存在c

>b,c

>b表示c的原因为b。也就是说,事件因图中父节点是因,子节点是果,事件果图中父节点是果,子节点是因。
44.在实际应用中,事件因图和事件果图中包含的事件可能有限,那么在获取目标事件集合后,查询事件因图,以确定目标事件集合中存在于事件因图中的事件,这些事件构成因图事件子集,并查询事件果图,以确定目标事件集合中存在于事件果图的事件,这些事件构成果图事件子集。
45.可以理解的是,因图事件子集可能为空,也可能包括一个事件,也可能包含多个事件,也可能包含目标事件集合中的所有事件。同样地,果图事件子集中也可能为空,也能为包含一个事件,也可能包含多个事件,也可能包含目标事件集合中的所有事件。
46.图2为本技术实施例提供的一种事件因图示意图。图2中节点表示变量,边表示变量之间的关系,箭头方向表示因果关系(箭头指向的是结果),参数表表示变量之间的条件概率分布。可以理解的是,事件果图与事件因图类似,与事件因图不同的是,事件果图中箭头的出发点为结果,箭头指向的是原因。
47.图2中,交通事故和下着暴雨的子节点为交通阻塞,晚起和交通阻塞的子节点为上班迟到,交通阻塞的子节点还有排长队。另外,图2中,a0=0.7表示交通事故不发生的概率,a1=0.3表示交通事故发生的概率0.3,r0=0.9表示没有下着暴雨的概率0.9,r1=0.1表示下着暴雨的概率0.1。
48.事件因图中的节点可学习到父节点发生的条件下其发生的条件概率,以节点交通阻塞为例,如图2中的节点交通阻塞的参数表所示,a0r0表示没有交通事故和没有下暴雨,在没有交通事故和没有下暴雨的条件下,交通不阻塞的概率为j0=0.95,交通阻塞概率为j1=0.05;对于排长队,在交通不阻塞的条件下,不排除长队的概率为0.95,在交通阻塞的条件下,排长队的概率为0.7。
49.若目标事件集合为{a=0,r=1,j=1,l=1,d=1},其中,d=1表示公交车发生故障,通过查询图2所示的事件因图,在事件因图中查询到事件a=0,r=1,j=1,l=1,可以获取因图事件子集为{a=0,r=1,j=1,l=1}。对于目标事件集合,可去事件果图中进行查询,若查询到事件a=0,r=1,d=1,那么果图事件子集为{a=0,r=1,d=1}。
50.步骤103,根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件
子集、事件果图和事件因图,生成第二后续事件集。
51.本实施例中,由于事件因图中父节点为因,子节点为果,那么根据事件因图可以确定因图事件子集中事件的后续事件,从而可以生成第一后续事件集。
52.由于事件果图中父节点为果,子节点为因,那么根据事件果图,可以确定果图事件子集中的事件发生的原因,再根据事件因图确定原因可能带来的事件,即后续事件,根据这些后续事件生成第二后续事件集。从而,根据事件的间接影响,获取第二后续事件集。
53.步骤104,根据第一后续事件集和第二后续事件集生成后续事件集。
54.本实施例中,可直接将第一后续事件集和第二后续事件集中的所有事件,作为目标事件集的后续事件,也就是将第一后续事件集和第二后续事件集的并集,作为后续事件集。
55.在实际应用中,可能有些后续事件发生的概率比较低,为了找到有意义的因果链条,第一后续事件集和第二后续事件集中还可包括各个事件发生的概率,可设定有效事件概率阈值,将第一后续事件集和第二后续事件集中各事件发生的概率与有效事件概率阈值进行比较,筛选出概率大于有效事件概率阈值的事件,生成后续事件集。从而,保证了后续事件集中的事件为后续大概率发生的事件,所查询的因果链条具有实际应用价值。
56.本技术实施例中,通过获取目标事件集合,并分别获取目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集,根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件子集、事件果图和事件因图,生成第二后续事件集,根据第一后续事件集和第二后续事件集生成后续事件集。由此,可以实现在已知某一或某些事件发生,推理后续发生的事件,并且通过利用事件因图和事件果图,对事件的时序进行因果推理,提高了推理效率。
57.在实际应用中,可能存在同时发生的事件,且同时发生的事件之间具有依赖关系。基于此,为了提高推理效率,在本技术的一个实施例中,还可确定目标事件集合在事件同时图中的同时图事件子集,从而根据事件同时图和事件因图,确定第三后续事件集,进而利用第一后续事件集、第二后续事件集和第三后续事件集生成后续事件集。下面结合图3进行说明,图3为本技术实施例提供的另一种事件的推理方法的流程示意图。
58.如图3所示,该事件的推理方法包括:
59.步骤201,获取目标事件集合。
60.本实施例中,步骤201与上述步骤101类似,故在此不再赘述。
61.步骤202,分别获取目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集,及在事件同时图之中的同时图事件子集。
62.本实施例中,获取因图事件子集和果图事件子集的方法与上述步骤102中记载的方法类似,故在此不再赘述。
63.本实施例中,事件同时图为无向图,无向图中两个节点之间有连接线,说明两个节点之间相互依赖。在获取同时图事件子集时,可通过查询事件同时图,确定目标事件集合中存在于事件同时图中的事件,这些事件构成了同时图事件子集。或者,目标事件集合中,在事件因图中查询不到的事件,可去事件同时图中进行查询,根据在事件同时图中查询到事件,得到同时图事件。
64.可以理解的是,同时图事件子集可能为空,可能包含一个事件,也可能包含多个事
件,也能包含目标事件集合中的所有事件。
65.以上述目标事件集合为{a=0,r=1,j=1,l=1,d=1}为例,因图事件子集为{a=0,r=1,j=1,l=1},对于事件d=1可在事件同时图中查询,如果在同时图中查询到事件d=1,那么同时图事件子集为{d=1}。
66.步骤203,根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件子集、事件果图和事件因图,生成第二后续事件集。
67.本实施例中,步骤203与上述步骤103类似,故在此不再赘述。
68.步骤204,根据同时图事件子集、事件同时图和事件因图,生成第三后续事件集。
69.本实施例中,由于事件同时图中,同时发生的两个节点事件之间可能存在依赖关系,那么根据事件同时图,可以确定与同时图事件子集中的事件同时发生的、具有依赖关系的事件,再根据事件因图确定这些事件的后续事件,根据这些后续事件生成第三后续事件集。
70.本实施例中,可通过查询事件同时图,确定事件同时图中包含的目标事件集合中的事件,得到同时图事件子集,从而通过根据事件的间接影响,获取第三后续事件集。
71.在实际应用中,若因图事件子集和果图事件子集的并集中未包含目标事件集中的所有事件,那么通过查询事件同时图,可确定其余事件是否存在于事件同时图中,如果存在可根据事件的间接影响,获取第三后续事件集。
72.步骤205,根据第一后续事件集、第二后续事件集和第三后续事件集生成所述后续事件集。
73.本实施例中,可直接将第一后续事件集、第二后续事件集和第三后续事件集中的所有事件,作为目标事件集的后续事件,也就是将第一后续事件集、第二后续事件集和第三后续事件集的并集,作为后续事件集。
74.在实际应用中,可能些后续事件发生的概率比较低,为了保证后续事件的发生概率,第一后续事件集、第二后续事件集和第三后续事件集中还可包括各个事件发生的概率,可设定有效事件概率阈值,将第一后续事件集、第二后续事件集和第三后续事件集中,各事件发生的概率与有效事件概率阈值进行比较,筛选出概率大于有效事件概率阈值的事件,生成后续事件集。从而,保证了后续事件集中的事件为后续大概率发生的事件,所查询的因果链条具有实际应用价值。
75.本技术实施例中,实现了已知某一或某些事件发生,推理出后续事件,并过事件因图、事件果图和事件同时图等多个概率图模型,推理后续事件,提高了推理效率。
76.在本技术的一个实施例中,可利用图4所示的方法,生成第一后续事件集。图4为本技术实施例提供的另一种事件的推理方法的流程示意图。
77.如图4所示,上述根据因图事件子集和事件因图,生成第一后续事件集包括
78.步骤301,通过查询事件因图,获取因图事件子集中独立节点事件的第一子节点事件及其发生的条件概率,以及非独立节点事件的第二子节点事件及其发生的条件概率。
79.本实施例中,可先通过查询事件因图,确定因图事件子集中各节点事件之间的独立性,具体地,若事件因图中两个节点没有共同的一级子节点,可以认为这两个节点是独立的,若两个节点或多个节点有共同的一级子节点,可以认为节点之间是非独立的。
80.对于因图事件子集中的独立节点事件,可通过查询事件因图,获取独立节点事件
的子节点事件及其发生的条件概率,为了便于区分这里称为第一子节点事件,其中,第一子节点事件可以是独立节点事件的一级子节点事件。由于与其他事件没有共同的一级子节点,则独立节点事件的一级子节点事件即为独立节点事件的后续事件。
81.对因图事件子集中的非独立节点事件,可通过联合查询事件因图,获取非独立节点事件的第二子节点事件及其发生的条件概率。
82.假如,目标事件集合为{x1=1,x3=0,x5=0,x7=1,x9=1,x11=1},因图事件子集为{x1=1,x5=0,x7=1,x9=1},其中,事件x1=1与x5=0、x7=1和x9=1之间均没有共同的一级子节点,x5=0与x1=1、x7=1和x9=1也没有共同的一级子节点,而x7=1和x9=1有共同的一级子节点x8=1,则x1=1和x5=0为独立节点,x7=1和x9=1为非独立节点。
83.通过查询事件因图,获取x1=1的子节点事件x2=1及发生的条件概率0.8,x5=0的子节点事件x6=0及发生的条件概率0.7,从而得到独立节点事件对应的子节点事件集合{“(x1=1)

(x2=1)”:0.8,“(x5=0)

(x6=0)”:0.7},事件因图查询链条如图5所示;通过查询事件因图,获取x7=1和x9=1的子节点事件x8=1及发生的条件概率0.49,获取非独立节点事件对应的子节点事件集合{“(x7=1,x9=1)

(x8=1)”:0.49},事件因图查询链条如图5所示。其中,“(x7=1,x9=1)

(x8=1)”:0.49表示在事件因图中x7=1和x9=1同时发生的情况下,x8=1发生的条件概率为0.49。
84.步骤302,根据第一子节点事件发生的条件概率,及第二子节点事件发生的条件概率,确定第一后续事件集。
85.本实施例中,可将每个第一子节点事件发生的条件概率,和每个第二子节点事件发生的条件概率,分别与设定的有效事件阈值进行比较,筛选出条件概率大于有效事件阈值的子节点事件,将条件概率大于有效事件阈值的子节点事件构成第一后续事件集。从而,通过有效事件阈值可将发生概率低的后续事件筛除。
86.比如,上述举例中,独立节点对应的子节点事件集合{“(x1=1)

(x2=1)”:0.8,“(x5=0)

(x6=0)”:0.7},非独立节点对应的子节点事件集合{“(x7=1,x9=1)

(x8=1)”:0.49},若有效事件阈值为0.5,那么筛选出子节点事件x2=1和x6=0,因此,第一后续事件集包括两个后续事件x2=1和x6=0,也就是说,因图事件子集{x1=1,x5=0,x7=1,x9=1}对应的第一后续事件集为{x2=1,x6=0}。
87.本技术实施例中,在上述根据因图事件子集和事件因图,生成第一后续事件集时,可通过查询事件因图,获取因图事件子集中独立节点事件的第一子节点事件及其发生的条件概率,以及非独立节点事件的第二子节点事件及其发生的条件概率;根据第一子节点事件发生的条件概率,及第二子节点事件发生的条件概率,确定第一后续事件集。由此,通过查询事件因图,根据因图事件子集中各节点事件之间的独立性,获取独立节点事件和非独立节点的子节点事件及其发生的条件概率,并根据子节点事件发生的条件概率,确定第一后续事件集。
88.在本技术的一个实施例中,可利用图6所示的方法,生成第二后续事件集。图6为本技术实施例提供的另一种事件的推理方法的流程示意图。
89.如图6所示,上述根据果图事件子集、事件果图和事件因图,生成第二后续事件集,包括:
90.步骤401,通过查询事件果图,获取果图事件子集中独立节点事件的第三子节点事
件及其发生的条件概率,以及非独立节点事件的第四子节点事件及其发生的条件概率。
91.本实施例中,可先通过查询事件果图,确定果图事件子集中各节点事件之间的独立性,具体地,若事件果图中两个节点没有共同的一级子节点,可以认为这两个节点是独立的,若两个节点或多个节点有共同的一级子节点,可以认为节点之间是非独立的。
92.对于果图事件子集中的独立节点事件,可通过查询事件果图,获取独立节点事件的子节点事件及其发生的条件概率,为了便于区分这里称为第三子节点事件,其中,第三子节点事件可以是独立节点事件的一级子节点事件。由于与其他事件没有共同的一级子节点,则独立节点事件的一级子节点事件即为独立节点事件的原因,可以称为独立节点事件的原因事件。
93.对果图事件子集中的非独立节点事件,可通过联合查询事件果图,获取非独立节点事件的第四子节点事件及其发生的条件概率。可以理解的是,这里的第四子节点事件为非独立节点的共同原因事件。
94.比如,果图事件子集为{x1=1,x5=0,x9=1,x11=1},其中,x1=1和x9=1为独立节点,x5=0和x11=1为非独立节点。通过查询事件果图,获取x1=1的子节点事件x4=1及x1=1发生的条件下,x4=1发生的条件概率0.75,x9=1的子节点事件x10=0及其发生的条件概率0.7,从而得到独立节点事件对应的子节点事件集合{“(x1=1)

(x4=1)”:0.75,“(x9=1)

(x10=0)”:0.7},图7中示出了事件果图查询链条,其中,“(x1=1)

(x4=1)”:0.75表示在x1=1发生的条件下,x4=1发生的条件概率为0.75,其中箭头指向是从原因指向结果;通过查询事件果图,获取x5=0和x11=1的子节点事件x12=1及其发生的条件概率0.6,获取非独立节点事件对应的子节点事件集合{“(x5=0,x11=1)

(x12=1)”:0.6},图7中示出了事件果图查询链条。其中,“(x5=0,x11=1)

(x12=1)”:0.6表示在x5=0和x11=1同时发生的条件下,x12=1发生的概率为0.6。
95.步骤402,通过查询事件因图,获取第三子节点事件的第五子节点事件及其发生的条件概率,以及第四子节点事件的第六子节点事件及其发生的条件概率。
96.本实施例中,在上述获取果图事件子集中事件发生的原因后,可查询事件因图,确定该原因在事件因图中带来的结果,即后续事件。
97.具体地,对于果图事件子集中独立节点对应的第三子节点事件,通过查询事件因图,获取第三子节点事件的第五子节点事件及其发生的条件概率。其中,第五子节点事件发生的条件概率是指在第三子节点事件发生的条件下,第五子节点事件发生的概率。
98.对于果图事件子集中的非独立节点对应的第四子节点事件,通过查询事件因图,获取四子节点事件的第六子节点事件及其发生的条件概率。其中,第六子节点事件发生的条件概率是指在第四子节点事件发生的条件下,第六子节点事件发生的概率。
99.步骤403,根据第三子节点事件发生的条件概率和第五子节点事件发生的条件概率,确定第五子节点事件发生的概率。
100.本实施例中,事件果图中独立节点事件发生的条件下,第三子节点事件发生的条件概率,与事件因图中第三子节点事件发生的条件下,第五子节点事件发生的条件概率的乘积,为第五子节点事件发生的概率。
101.步骤404,根据第四子节点事件发生的条件概率和第六子节点事件发生的条件概率,确定第六子节点事件发生的概率。
102.本实施例中,事件果图中非独立节点事件发生的条件下,第四子节点事件发生的条件概率,与事件因图中第四子节点事件发生的条件下,第六子节点事件发生的条件概率的乘积,为第六子节点事件发生的概率。
103.比如,上述步骤401中的例子,对于果图事件子集中独立节点事件对应的子节点事件集合{“(x1=1)

(x4=1)”:0.75,“(x9=1)

(x10=0)”:0.7},查询事件因图,获取x4=1的子节点事件为x13=0及在x4=1发生的条件下,x13=0发生的条件概率为0.8,及获取x10=0的子节点事件为x15=0及在x10=0发生的条件下,x15=0发生的条件概率为0.55,事件因图查询链条如图7所示。那么,x13=0发生的概率为0.75*0.8=0.6,x15=0发生的概率为0.7*0.55=0.385。从而,得到子节点事件集合{“((x1=1)

(x4=1):0.75)

(x13=0,0.8)”:0.6,“((x9=1)

(x10=0):0.7)

(x15=0,0.55)”:0.385},最终查询链条如图7所示。其中,(x13=0,0.8)表示在事件因图中x4=1发生的情况下,x13=0发生的条件概率为0.8。
104.对于果图事件子集中非独立节点事件对应的子节点事件集合{“(x5=0,x11=1)

(x12=1)”:0.6},通过查询事件因图,获取x12=1的子节点事件x17=0及其发生的条件概率0.5,那么x17=0发生的概率分为0.6*0.5=0.3,表示为{“(x5=0,x11=1)

(x12=1):0.6)

(x17=0,0.5)”:0.3}。其中,(x17=0,0.5)表示在x12=1发生的情况下,x17=0发生的条件概率为0.5。
105.步骤405,根据第五子节点事件发生的概率,及第六子节点事件发生的概率,确定第二后续事件集。
106.本实施例中,可将每个第五子节点事件发生的概率,和每个第六子节点事件发生的概率,分别与设定的有效事件阈值进行比较,筛选出概率大于有效事件阈值的子节点事件,将概率大于有效事件阈值的子节点事件构成第二后续事件集。从而,通过有效事件阈值可将发生概率低的后续事件筛除。
107.上述举例中,子节点事件集合{“((x1=1)

(x4=1):0.75)

(x13=0,0.8)”:0.6,“((x9=1)

(x10=0):0.7)

(x15=0,0.55)”:0.385},和{“((x5=0,x11=1)

(x12=1):0.6)

(x17=0,0.5)”:0.3},将x13=0发生的概率0.6、x15=0发生的概率0.385,以及x17=0发生的概率0.3分别与设定的有效事件阈值0.5进行比较,筛选出概率大于0.5的后续事件x13=0,生成第二后续事件集{x13=0}。
108.本实施例中,考虑到某些目标事件存在于事件果图中,可先在事件果图中查询这些事件发生的原因,再去事件因图中查询该原因可能导致的其他结果,将在事件因图中查询到的该结果事件,作为后续可能发生的事件,从而丰富了预测的后续发生事件的数量。
109.本技术实施例中,在通过根据果图事件子集、事件果图和事件因图,生成第二后续事件集时,可通过查询事件果图,获取果图事件子集中独立节点事件的第三子节点事件及其发生的条件概率,以及非独立节点事件的第四子节点事件及其发生的条件概率,并通过查询事件因图,获取第三子节点事件的第五子节点事件及其发生的条件概率,以及第四子节点事件的第六子节点事件及其发生的条件概率,根据第三子节点事件发生的条件概率和第五子节点事件发生的条件概率,确定第五子节点事件发生的概率,及根据第四子节点事件发生的条件概率和第六子节点事件发生的条件概率,确定第六子节点事件发生的概率,根据第五子节点事件发生的概率,及第六子节点事件发生的概率,确定第二后续事件集。由
此,对于果图事件子集,先通过查询事件果图,确定果图事件子集中各事件的子节点事件及发生的条件概率,再查询事件因图,确定子节点事件的后续事件发生的条件概率,并基于事件果图获取的条件概率和基于事件因图获取的条件概率,确定后续事件发生的概率,并根据发生的概率,生成第二后续事件集,从而通过根据事件的间接影响,获取第二后续事件集。
110.在本技术的一个实施例中,可利用图8所示的方法,生成第三后续事件集。图8为本技术实施例提供的另一种事件的推理方法的流程示意图。
111.如图8所示,上述根据同时图事件子集、事件同时图和事件因图,生成第三后续事件集,包括:
112.步骤501,通过查询事件同时图,获取同时图事件子集中独立节点事件的第一邻居节点事件及其发生的条件概率,以及非独立节点事件的第二邻居节点事件及其发生的条件概率。
113.本实施例中,可先通过查询事件同时图,确定同时图事件子集中各事件之间的独立性,具体地,若事件同时图中两个节点没有共同的一级邻居节点,可以认为这两个节点是独立的,若两个节点或多个节点有共同的一级邻居节点,可以认为节点之间是非独立的。
114.具体地,对于同时图事件子集中的独立节点事件,通过查询事件同时图,可以获取独立节点事件的邻居节点事件及其发生的条件概率,为了便于区分这里称为第一邻居节点事件。可以理解的是,独立节点事件发生时,第一邻居节点事件以一定的概率同时发生。
115.对于同时图事件子集中非独立节点事件,通过联合查询事件因图,可以获取非独立事件节点的第二邻居节点事件及其发生的条件概率。可以理解的是,非独立节点同时发生的情况下,第二邻居节点事件以一定的概率同时发生。
116.比如,同时图事件子集为{x1=1,x3=0,x5=0,x9=1},其中,x1=1和x3=0是独立节点事件,x5=0和x9=1是非独立事件,通过查询事件同时图,获取x1=1的邻居节点事件x14=0及其发生的条件概率0.8,x3=1邻居节点事件x16=0及其发生的条件概率0.7,从而获得同时图事件子集中独立节点事件对应的邻居节点事件集{“(x1=1)

(x14=0)”:0.8,“(x3=1)

(x16=0)”:0.7},图9中示出了事件同时图查询链条;通过查询事件同时图,获取非独立节点事件x5=0和x9=1的邻居节点事件x17=1及其发生的条件概率0.6,即同时图事件子集中非独立节点事件对应的邻居节点事件集为{“(x5=0,x9=1)

(x17=1)”:0.6},图9中示出了事件同时图查询链条。
117.步骤502,通过查询事件因图,获取第一邻居节点事件的第七子节点事件及其发生的条件概率,以及第二邻居节点事件的第八子节点事件及其发生的条件概率。
118.本实施例中,在上述获取与同时图事件子集中事件同时发生的事件后,可查询事件因图,确定同时发生的其他事件在事件因图中带来的结果,即后续事件。
119.在获取第一邻居节点事件后,查询事件因图,获取第一邻居节点事件的第七子节点事件及其发生的条件概率。
120.其中,第七子节点事件发生的条件概率是指在第一邻居节点事件发生的条件下,第七子节点事件发生的概率。在获取第二邻居节点事件后,可通过查询事件因图,获取第二邻居节点事件的第八子节点事件及其发生的条件概率。
121.其中,第八子节点事件发生的条件概率是指在第二邻居节点事件发生的条件下,
第八子节点事件发生的条件概率。
122.步骤503,根据第一邻居节点事件发生的条件概率和第七子节点事件发生的条件概率,确定第七子节点事件发生的概率。
123.本实施例中,第七子节点事件发生的概率是事件同时图中独立节点事件发生的情况下,第一邻居节点事件发生的条件概率,与事件因图中第一邻居节点事件发生的情况下,第七子节点事件发生的条件概率的乘积。
124.步骤504,根据第二邻居节点事件发生的条件概率和第八子节点事件发生的条件概率,确定第八子节点事件发生的概率。
125.本实施例中,第八子节点事件发生的概率是事件同时图中独立节点事件发生的情况下,第二邻居节点事件发生的条件概率,与事件因图中第二邻居节点事件发生的情况下,第八子节点事件发生的概率的乘积。
126.对于上述步骤501的例子,对于同时图事件子集中独立节点事件对应的邻居节点事件集{“(x1=1)

(x14=0)”:0.8,“(x3=1)

(x16=0)”:0.7},通过查询事件因图,获取x14=0的子节点事件x18=0及x14=0发生的条件下,x18=0发生的条件概率0.6,并获取x16=0的子节点事件及在x16=0发生的条件下,x20=1发生的条件概率0.5,事件因图查询链条如图9所示。那么,可以获取x18=0发生的概率0.8*0.6=0.48,和x20=1发生的概率0.7*0.5=0.35,从而得到对应子节点事件集合{“((x1=1)

(x14=0):0.8)

(x18=0,0.6)”:0.48,“((x3=1)

(x16=0):0.7)

(x20=1,0.5)”:0.35},最终查询链条如图9所示。
127.对于同时图事件子集中非独立节点事件对应的邻居节点事件集{“(x5=0,x9=1)

(x17=1)”:0.6},通过查询事件因图,获取事件因图中x17=1的子节点事件x19=0及其发生的条件概率0.9,那么x19发生的概率为0.6*0.9=0.54,获得到子节点事件子集合{“((x5=0,x9=1)

(x17=1):0.6)

(x19=0,0.9)”:0.54},最终查询链条如图9所示。
128.步骤505,根据第七子节点事件发生的概率,及第八子节点事件发生的概率,确定第三后续事件集。
129.本实施例中,可将每个第七子节点事件发生的概率,和每个第八子节点事件发生的概率,分别与设定的有效事件阈值进行比较,筛选出概率大于有效事件阈值的子节点事件,将概率大于有效事件阈值的子节点事件构成第三后续事件集。从而,通过有效事件阈值可将有效性低的后续事件筛除。
130.上述举例中,子节点集合{“((x1=1)

(x14=0):0.8)

(x18=0,0.6)”:0.48,“((x3=1)

(x16=0):0.7)

(x20=1,0.5)”:0.35和{“((x5=0,x9=1)

(x17=1):0.6)

(x19=0,0.9)”:0.54}中x18=0发生的概率0.48小于有效事件阈值0.5,x20=1发生的概率0.35小于0.5,x19=0发生的概率0.54大于0.5,则根据x19=0生成第三后续事件集。那么,根据第一后续事件集{x2=1,x6=0}、第二后续事件集{x13=0}和第三后续事件集{x19=0},生成后续事件集{x2=1,x6=0,x13=0,x19=0}。
131.本实施例中,考虑到某些目标事件存在于事件同时图中,可先在事件同时图中查询与这些事件可能同时发生的事件,再去事件因图中查询这些可能同时发生的事件可能导致的结果,将查询到的结果事件,作为后续可能发生的事件,从而丰富了预测的后续发生事件的数量。
132.本技术实施例中,在根据同时图事件子集、事件同时图和事件因图,生成第三后续集时,可先通过查询事件同时图,获取同时图子集中各事件的邻居节点事件及发生的条件概率,再通过查询事件因图,获取各邻居节点的子节点事件及发生的条件概率,再计算基于事件同时图和事件因图获取发生的条件概率,计算子节点事件发生的概率,根据子节点事件的概率,生成第三后续事件集,从而通过根据事件的间接影响,生成第三后续事件集。
133.下面通过图10对本技术的事件的推理方法作进一步说明,图10为本技术实施例提供的另一种事件的推理方法的流程示意图。
134.如图10所示,该事件的推理方法包括:
135.步骤601,生成事件因图、事件果图和事件同时图。
136.本实施例中,可获取按照时序排列的事件,根据按照时序排列的事件得到当前事件集,具体地,可根据获取按照时间升序排列的当前事件,获取当前事件集。
137.在获取当前事件集后,可根据当前事件集,获取当前事件集的滞后事件集。在获取滞后事件集后,可根据当前事件集和滞后事件集生成事件因图,具体地,可计算当前事件集和滞后事件集中对应事件的两两相关性,筛选出相关性大于阈值的多对事件,根据多对事件生成事件因图。比如,可将多对事件输入至贝叶斯网络中,通过训练得到事件因图。
138.比如,当前事件集set_1,定义滞后时长为diff个时间单位,滞后事件集set_lag中t时刻的变量x1对应set_1中t

diff时刻的x1,set_lag中某变量的发生时刻晚于set_1中该变量diff个时间单位。计算set_1和set_lag中变量的两两相关性,过滤出相关性大于阈值的变量对vars_1,比如(a,b),其中a表示set_1中的变量,b表示set_lag中的变量,发生时间上a比b先diff个时间单位,将获得的变量对vars_1导入贝叶斯网络中并进行参数学习,获得事件因图。
139.本实施例中,还可根据当前事件集,获取当前事件集的超前事件集,并根据当前事件集和超前事件集生成事件果图。具体地,可计算当前事件集和超前事件集中对应事件的两两相关性,筛选出相关性大于阈值的多对事件,根据多对事件生成事件果图。比如,可将多对事件输入至贝叶斯网络中,通过训练得到事件果图。
140.比如,获取当前事件集set_1的超前事件集为set_pre,其中,set_pre中t时刻变量x1对应set_1中t+diff时刻变量x1,set_pre中变量的发生时间上早于set_1中变量diff个时间单位。计算set_1和set_pre中变量的两两相关性,过滤出相关性大于阈值的变量对vars_2,如(c,d),其中c表示set_1中的变量,d表示set_pre中的变量,c时间上比d晚diff个时间单位发生,将获得的变量对vars_2导入贝叶斯网络中并进行参数学习,获得事件果图。
141.在生成事件同时图时,可计算当前事件集中两两事件之间的相关性,筛选出相关性大于阈值的两两事件对,得到当前目标事件集,并将当前目标事件集中的相关性大于阈值的两两事件对,输入至马尔科夫网中进行训练,生成事件同时图。
142.比如,当前事件集为set_1,计算set_1中变量的两两相关性,排除自相关变量对,筛选出相关性大于阈值的变量对vars_3,如(a,f),其中,a表示set_1中的变量,a与f时间上同时发生,将获得的变量对vars_3导入马尔科夫网中并进行参数学习,获得事件同时图。
143.步骤602,获取目标事件集合。
144.步骤603,分别获取目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集,及在事件同时图之中的同时图事件子集。
145.本实施例中,步骤602

603与上述步骤101

102类似,故在此不再赘述。
146.步骤604,根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件子集、事件果图和事件因图,生成第二后续事件集。
147.本实施例中,根据因图事件子集和事件因图,生成第一后续事件集的方法,与上述图3实施例中生成第一后续事件集的方法类似,故在此不再赘述。对于根据果图事件子集、事件果图和事件因图,生成第二后续事件集,可采用图6实施例所示的过程,在此不再赘述。
148.步骤605,根据同时图事件子集、事件同时图和事件因图,生成第三后续事件集。
149.本实施例中,根据同时图事件子集、事件同时图和事件因图,生成第三后续事件集,与上述图8实施例中生成第三后续事件集的方法类似,故在此不再赘述。
150.步骤606,根据第一后续事件集、第二后续事件集和第三后续事件集生成后续事件集。
151.本实施例中,可直接将第一后续事件集、第二后续事件集和第三后续事件集中的所有事件,作为目标事件集的后续事件,也就是将第一后续事件集、第二后续事件集和第三后续事件集的并集,作为后续事件集。
152.本实施例中,考虑到某些目标事件存在于事件同时图中,可通过事件因图查询到这些事件发生的原因,并考虑到某些目标事件存在于事件同时图中,可在事件同时图中查询与这些事件可能同时发生的事件,根据在事件果图和事件同时图中的查询结果,再去事件因图中查询这些结果可能导致的事件,将在事件因图中查询到的结果事件,作为后续可能发生的事件,从而大大丰富了预测的后续发生事件的数量。
153.上述实施例示出了根据事件因图和事件果图,获取目标事件集合对应的后续事件集,以及根据事件因图、事件果图和事件同时图,获取目标事件集合对应的后续事件集。
154.需要说明的是,本技术不仅限于上述两种方式。比如,若因图事件子集中包括目标事件集合中的所有事件,也可仅根据事件因图,获取目标事件集合对应的后续事件集,也可获取事件果图,根据事件因图和事件果图,获取目标事件集合对应的后续事件集,也可根据事件因图和事件同时图,获取目标事件集合对应的后续事件集。
155.若因图事件子中未包含目标事件集合中所有的事件,可在事件果图中查找因图事件子集中未包含的事件,如果因图事件子集和果图事件子集包括目标事件集合中所有的事件,可不去查询事件同时图,根据事件因图和事件果图,获取目标事件集合对应的后续事件集;如果因图事件子集和果图事件子集未包括目标事件集合中所有的事件,可在事件同时图中查找剩余的事件,如果查找到,可根据事件因图、事件果图和事件同时图,获取目标事件集合对应的后续事件集。
156.另外,上述实施例中获取的子节点事件为一级子节点事件,也可获取多级子节点事件,本实施例对此不作限定。
157.为了实现上述实施例,本技术实施例还提出一种事件的推理装置。图11为本技术实施例提供的一种事件的推理装置的结构示意图。
158.如图11所示,该事件的推理装置700包括:第一获取模块710、第二获取模块720、第一生成模块730和第二生成模块740。
159.第一获取模块710,用于获取目标事件集合;
160.第二获取模块720,用于分别获取目标事件集合在事件因图和事件果图之中的因
图事件子集和果图事件子集;
161.第一生成模块730,用于根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件子集、事件果图和事件因图,生成第二后续事件集;
162.第二生成模块740,用于根据第一后续事件集和第二后续事件集生成后续事件集。
163.在本技术实施例一种可能的实现方式中,第二获取模块740,还用于获取目标事件集合在事件同时图之中的同时图事件子集;
164.第一生成模块730,还用于根据同时图事件子集、事件同时图和事件因图,生成第三后续事件集;
165.第二生成模块740,用于根据第一后续事件集、第二后续事件集和第三后续事件集生成后续事件集。
166.在本技术实施例一种可能的实现方式中,第一生成模块730,包括:
167.第一获取单元,用于通过查询事件因图,获取因图事件子集中独立节点事件的第一子节点事件及其发生的条件概率,以及非独立节点事件的第二子节点事件及其发生的条件概率;
168.第一确定单元,用于根据第一子节点事件发生的条件概率,及第二子节点事件发生的条件概率,确定第一后续事件集。
169.在本技术实施例一种可能的实现方式中,第一生成模块730,包括:
170.第二获取单元,用于通过查询事件果图,获取果图事件子集中独立节点事件的第三子节点事件及其发生的条件概率,以及非独立节点事件的第四子节点事件及其发生的条件概率;
171.第三获取单元,用于通过查询事件因图,获取第三子节点事件的第五子节点事件及其发生的条件概率,以及第四子节点事件的第六子节点事件及其发生的条件概率;
172.第二确定单元,用于根据第三子节点事件发生的条件概率和第五子节点事件发生的条件概率,确定第五子节点事件发生的概率;
173.第二确定单元,还用于根据第四子节点事件发生的条件概率和第六子节点事件发生的条件概率,确定第六子节点事件发生的概率;
174.第三确定单元,用于根据第五子节点事件发生的概率,及第六子节点事件发生的概率,确定第二后续事件集。
175.在本技术实施例一种可能的实现方式中,第一生成模块730,包括:
176.第四获取单元,用于通过查询事件同时图,获取同时图事件子集中独立节点事件的第一邻居节点事件及其发生的条件概率,以及非独立节点事件的第二邻居节点事件及其发生的条件概率;
177.第五获取单元,用于通过查询事件因图,获取第一邻居节点事件的第七子节点事件及其发生的条件概率,以及第二邻居节点事件的第八子节点事件及其发生的条件概率;
178.第四确定单元,用于根据第一邻居节点事件发生的条件概率和第七子节点事件发生的条件概率,确定第七子节点事件发生的概率;
179.第四确定单元,还用于根据第二邻居节点事件发生的条件概率和第八子节点事件发生的条件概率,确定第八子节点事件发生的概率;
180.第五确定单元,用于根据第七子节点事件发生的概率,及第八子节点事件发生的
概率,确定第三后续事件集。
181.在本技术实施例一种可能的实现方式中,事件因图通过以下模块生成:
182.第三获取模块,用于获取按照时序排列的当前事件集;
183.第四获取模块,用于根据当前事件集,获取当前事件集的滞后事件集;
184.第三生成模块,用于根据当前事件集和滞后事件集生成事件因图。
185.在本技术实施例一种可能的实现方式中,事件果图通过以下模块生成:
186.第三获取模块,用于获取按照时序排列的当前事件集;
187.第五获取模块,用于根据当前事件集,获取当前事件集的超前事件集;
188.第四生成模块,用于根据当前事件集和超前事件集生成事件果图。
189.在本技术实施例一种可能的实现方式中,事件同时图通过以下步骤生成:
190.第三获取模块,用于获取按照时序排列的当前事件集;
191.第六获取模块,用于获取当前事件集中两两事件之间的相关性;
192.确定模块,用于根据两两事件的相关性,确定当前目标事件集;
193.第五生成模块,用于根据目标当前事件集,生成事件同时图。
194.需要说明的是,上述对事件的推理方法实施例的解释说明,也适用于该实施例的事件的推理装置,故在此不再赘述。
195.本技术实施例的事件的推理装置,通过获取目标事件集合,并分别获取目标事件集合在事件因图和事件果图之中的因图事件子集和果图事件子集,根据因图事件子集和事件因图,生成第一后续事件集,并根据果图事件子集、事件果图和事件因图,生成第二后续事件集,根据第一后续事件集和第二后续事件集生成后续事件集。由此,可以实现在已知某一或某些事件发生,推理后续发生的事件,并且通过利用事件因图和事件果图,对事件的时序进行因果推理,提高了推理效率。
196.为了实现上述实施例,本技术实施例还提出一种计算机设备,包括处理器和存储器;
197.其中,处理器通过读取存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述实施例所述的事件的推理方法。
198.为了实现上述实施例,本技术实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的事件的推理方法。
199.在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
200.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1