基于马尔可夫逻辑网预测用户行为的方法及装置与流程

文档序号:33561648发布日期:2023-03-22 14:48阅读:68来源:国知局
基于马尔可夫逻辑网预测用户行为的方法及装置与流程

1.本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一基于马尔可夫逻辑网预测用户行为的方法及装置。


背景技术:

2.随着社会的发展和科技的进步,人们越来越多的使用服务平台中的服务,来满足生活、工作中的各种需求。为提升用户体验,向用户推荐贴合其偏好的产品或服务,服务平台通常希望对用户的行为偏好进行预测,例如,预测用户是否会购买某件商品。
3.然而,目前预测用户行为的方式难以满足实际应用中的更高要求。因此,需要一种方案,可以实现有效提高用户行为的预测准确度,等等。


技术实现要素:

4.本说明书实施例描述一种基于马尔可夫逻辑网预测用户行为的方法及装置,可以更好地满足实际应用需求。
5.根据第一方面,提供一种基于马尔可夫逻辑网预测用户行为的方法。该方法包括:获取基于多条实例化规则而构建的马尔可夫逻辑网;所述多条实例化规则用于限定用户行为之间的关系;所述马尔可夫逻辑网包括与用户行为相关的多个变量,所述多个变量包括若干观测变量和若干隐变量;所述若干观测变量包括,表征已知用户行为的变量,所述若干隐变量包括,表征未知用户行为的行为变量;所述多个变量中涉及同一条实例化规则的变量共同形成对应的团,所述团具有对应的团势能函数。基于所述马尔可夫逻辑网,对所述若干隐变量中各个隐变量在所述若干观测变量的观测值下的概率分布进行多轮次迭代更新;其中任一轮次迭代更新包括:将所述各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、所述各个团中其他隐变量的上一轮概率分布,确定与所述目标隐变量的两个逻辑值对应的两个目标势能;基于所述两个目标势能,确定所述目标隐变量的本轮概率分布。根据所述多轮次迭代更新后所述行为变量的概率分布,预测用户行为。
6.在一个实施例中,所述用户行为涉及与其他物品的交互;所述若干观测变量还包括,对用户属性的描述变量,和/或,对物品属性的描述变量。
7.在一个实施例中,所述多个变量中还包括描述多个用户之间关系的关系变量,和/或,描述多个物品之间关系的关系变量。
8.在一个实施例中,所述各个隐变量具有单变量势能函数;在基于所述马尔可夫逻辑网,对所述若干隐变量中各个隐变量的概率分布进行多轮次迭代更新之前,所述方法还包括:针对所述各个隐变量,基于其单变量势能函数确定与所述两个逻辑值对应的两个单变量势能;对所述两个单变量势能进行归一化处理,形成该隐变量的初始概率分布。
9.在一个实施例中,所述两个目标势能的确定包括:将所述各个团分别作为目标团,基于其中的其他隐变量的上一轮概率分布,确定该其他隐变量的多组逻辑值对应的多个联合概率;基于所述目标团的团势能函数、所述目标团中各个观测变量的变量值,确定在所述
两个逻辑值中的任一逻辑值下与所述多组逻辑值对应的多个团势能;利用所述多个联合概率对所述多个团势能进行加权求和,得到第一加权结果;基于所述若干团对应的若干第一加权结果,确定与所述任一逻辑值对应的目标势能。
10.在一个实施例中,所述多条实例化规则中的每条实例化规则包括前提部分和猜想部分;其中,所述两个目标势能的确定包括:确定在猜想部分包括所述目标隐变量的若干条实例化规则对应的所述若干团;将所述各个团分别作为目标团,根据其所对应的实例化规则的析取形式,确定所述目标团中的其他隐变量对应的一组目标逻辑值;基于该其他隐变量的上一轮概率分布,确定该组目标逻辑值对应的联合概率;基于所述目标团的团势能函数和所述两个逻辑值中的任一逻辑值,确定与该组目标逻辑值和该任一逻辑值对应的团势能;利用所述联合概率对所述团势能进行加权处理,得到第一加权结果;基于所述若干团对应的若干第一加权结果,确定与所述任一逻辑值对应的目标势能。
11.在一个具体的实施例中,将所述各个团分别作为目标团,根据其所对应的实例化规则的析取形式,确定所述目标团中的其他隐变量对应的一组目标逻辑值,包括:针对所述目标团中其他隐变量中的每个隐变量,将其所对应命题的逻辑值作为其目标逻辑值,所述命题为:该隐变量在所述析取形式中带有否定符号。
12.另一方面,在一个具体的实施例中,所述目标团的团势能函数包括:在所述任一逻辑值与命题逻辑值相同的情况下,所述团势能函数的输出为第一数值;所述命题逻辑值对应的命题是:所述目标隐变量在所述析取形式中带有否定符号;在所述任一逻辑值与所述命题逻辑值不同的情况下,所述团势能函数的输出为第二数值,所述第二数值大于所述第一数值。
13.进一步,在一个例子中,所述第二数值为1,第一数值为0。
14.在一个具体的实施例中,所述团的团势能函数关联所对应实例化规则的规则模板;其中,基于所述若干团对应的若干第一加权结果,确定与所述目标隐变量的任一逻辑值对应的目标势能,包括:基于所述若干团中各个团所对应规则模板的预设权重,对所述若干第一加权结果进行加权求和,得到第二加权结果,作为所述目标势能。
15.在一个实施例中,所述多条实例化规则是利用与所述用户行为相关的实体库对若干规则模板中的参数进行实例化处理而得到;其中每个规则模板包括对应的多个谓词表达式,每个谓词表达式中包括对应的参数;所述多条实例化规则涉及的多个实例化谓词表达式被作为所述多个变量;所述每个规则模板包括前提部分和猜想部分。所述任一轮迭代更新中,在将所述各个隐变量分别作为目标隐变量之前,所述方法还包括:将所述每个规则模板分别作为目标规则模板,针对其前提部分包含的若干谓词表达式中的各个谓词表达式,确定其对应的概率张量;所述概率张量的若干维度对应该谓词表达式中的若干参数,所述概率张量中每个元素的索引为利用实体库为所述若干参数赋予的一组实体标识,所述每个元素的元素值为用该一组实体标识实例化该谓词表达式而形成的变量在其逻辑值为第一命题逻辑值时其上一轮边缘分布中的概率值;所述第一命题逻辑值对应的命题是:该谓词表达式在所述目标规则模板的析取形式中带有否定符号;基于所述若干谓词表达式对应的若干概率张量进行乘积处理,得到乘积结果张量。其中,将所述各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、所述各个团中其他隐变量的上一轮概率分布,确定与所述目标隐变量的两个逻辑值对应的两个目标势能,包括:将所述各个隐变量
分别作为目标隐变量,基于所述乘积结果张量和团势能函数,确定在所述目标规则模板下所述目标隐变量的两个逻辑值对应的两个聚合势能;基于在所述若干规则模板下与所述目标隐变量的任一逻辑值对应的若干聚合势能,确定该任一逻辑值对应的目标势能。
16.在一个具体的实施例中,所述若干谓词表达式中包括第一谓词表达式和第二谓词表达式,所述第一谓词表达式和第二谓词表达式之间存在相同的参数。
17.在一个具体的实施例中,所述乘积结果张量中包括对应所述目标隐变量的向量元素;其中,基于所述乘积结果张量和团势能函数,确定在所述目标规则模板下所述目标隐变量的两个逻辑值对应的两个聚合势能,包括:将基于所述向量元素和所述目标团势能函数在所述任一逻辑值下的输出而得到的乘积结果,作为对应的聚合势能;所述目标团势能函数所对应的实例化规则在其猜想部分包含所述目标隐变量。
18.在一个更具体的实施例中,所述目标团势能函数包括:在所述任一逻辑值与第二命题逻辑值相同的情况下,所述目标团势能函数的输出为第一数值;所述第二命题逻辑值对应的命题是:所述目标隐变量在所述析取形式中带有否定符号;在所述任一逻辑值与所述第二命题逻辑值不同的情况下,所述目标团势能函数的输出为第二数值,所述第二数值大于所述第一数值。
19.在一个实施例中,基于在所述若干规则模板下与所述目标隐变量的任一逻辑值对应的若干聚合势能,确定该任一逻辑值对应的目标势能,包括:利用与所述若干规则模板对应的若干预设权重,对所述若干聚合势能进行加权求和,得到所述目标势能。
20.在一个实施例中,基于所述两个目标势能,确定所述目标隐变量的本轮概率分布,包括:基于对所述两个目标势能进行归一化处理的结果,形成所述本轮概率分布。
21.在一个实施例中,所述各个隐变量具有单变量势能函数;其中,基于所述两个目标势能,确定所述目标隐变量的本轮概率分布,包括:基于所述目标隐变量的单变量势能函数,确定所述两个逻辑值中任一逻辑值对应的单变量势能;对所述任一逻辑值对应的目标势能和单变量势能进行求和,得到对应的势能和值;基于对所述两个逻辑值所对应的两个势能和值进行归一化处理的结果,形成所述本轮概率分布。
22.根据第二方面,提供一种基于马尔可夫逻辑网进行逻辑推断的方法。该方法包括:获取基于多条实例化规则而构建的马尔可夫逻辑网;所述马尔可夫逻辑网包括多个变量,所述多个变量包括若干观测变量和若干隐变量;所述多个变量中涉及同一条实例化规则的变量共同形成对应的团,所述团具有对应的团势能函数。基于所述马尔可夫逻辑网,对所述若干隐变量中各个隐变量在所述若干观测变量的观测值下的概率分布进行多轮次迭代更新;其中任一轮次迭代更新包括:将所述各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、所述各个团中其他隐变量的上一轮概率分布,确定与所述目标隐变量的两个逻辑值对应的两个目标势能;基于所述两个目标势能,确定所述目标隐变量的本轮概率分布。根据所述多轮次迭代更新后所述各个隐变量的概率分布进行逻辑推断。
23.根据第三方面,提供一种基于马尔可夫逻辑网预测用户行为的装置,包括:逻辑网获取模块,配置为获取基于多条实例化规则而构建的马尔可夫逻辑网;所述多条实例化规则用于限定用户行为之间的关系;所述马尔可夫逻辑网包括与用户行为相关的多个变量,所述多个变量包括若干观测变量和若干隐变量;所述若干观测变量包括,表征已知用户行为的变量,所述若干隐变量包括,表征未知用户行为的行为变量;所述多个变量中涉及同一
条实例化规则的变量共同形成对应的团,所述团具有对应的团势能函数。概率分布更新模块,配置为基于所述马尔可夫逻辑网,对所述若干隐变量中各个隐变量在所述若干观测变量的观测值下的概率分布进行多轮次迭代更新;其中任一轮次迭代更新通过所述概率分布更新模块中的以下单元实现:目标势能确定单元,配置为将所述各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、所述各个团中其他隐变量的上一轮概率分布,确定与所述目标隐变量的两个逻辑值对应的两个目标势能;概率分布确定单元,配置为基于所述两个目标势能,确定所述目标隐变量的本轮概率分布。用户行为预测模块,配置为根据所述多轮次迭代更新后所述行为变量的概率分布,预测用户行为。
24.根据第四方面,提供一种基于马尔可夫逻辑网进行逻辑推断的装置,包括:逻辑网获取模块,配置为获取基于多条实例化规则而构建的马尔可夫逻辑网;所述马尔可夫逻辑网包括多个变量,所述多个变量包括若干观测变量和若干隐变量;所述多个变量中涉及同一条实例化规则的变量共同形成对应的团,所述团具有对应的团势能函数。概率分布更新模块,配置为基于所述马尔可夫逻辑网,对所述若干隐变量中各个隐变量在所述若干观测变量的观测值下的概率分布进行多轮次迭代更新;其中任一轮次迭代更新通过所述概率分布更新模块中的以下单元实现:目标势能确定单元,配置为将所述各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、所述各个团中其他隐变量的上一轮概率分布,确定与所述目标隐变量的两个逻辑值对应的两个目标势能;概率分布确定单元,配置为基于所述两个目标势能,确定所述目标隐变量的本轮概率分布。逻辑推断模块,配置为根据所述多轮次迭代更新后所述各个隐变量的概率分布进行逻辑推断。
25.根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当上述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
26.根据第六方面,提供了一种计算设备,包括存储器和处理器,上述存储器中存储有可执行代码,该处理器执行上述可执行代码时,实现第一方面或第二方面的方法。
27.通过采用本说明书实施例提供的上述方法和装置,可以实现对用户行为的精准预测。进一步,还可以有效降低计算的复杂度和提高计算效率。
附图说明
28.为了更清楚地说明本发明实施例的技术方案,下面对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
29.图1示出根据一个实施例的基于马尔可夫逻辑网预测用户行为的方法流程示意图;
30.图2示出一个马尔可夫逻辑网的网络结构样例;
31.图3示出基于图2省略规则枢纽的马尔可夫逻辑网的网络结构样例;
32.图4示出本说明书实施例披露的图2中步骤s121的子步骤执行流程示意图;
33.图5示出根据一个实施例的引入爱因斯坦求和的矩阵乘积运算索引示意图;
34.图6示出根据另一个实施例的基于马尔可夫逻辑网预测用户行为的方法流程示意图;
35.图7示出根据一个实施例的基于马尔可夫逻辑网预测用户行为的装置结构示意图;
36.图8示出根据另一个实施例的基于马尔可夫逻辑网预测用户行为的装置结构示意图。
具体实施方式
37.下面结合附图,对本说明书提供的方案进行描述。
38.本说明书实施例披露一种基于马尔可夫逻辑网(markov logic networks,简称mln)预测用户行为的方案,可以实现对用户行为的精准预测,同时有效降低计算量。
39.图1示出根据一个实施例的基于马尔可夫逻辑网预测用户行为的方法流程示意图,所述方法的执行主体可以为任何具有计算、处理能力的装置、平台或设备集群等,如服务平台。如图1所示,所述方法包括以下步骤:
40.步骤s110,获取基于多条实例化规则而构建的马尔可夫逻辑网,其中各条实例化规则用于限定用户行为之间的关系。
41.为便于理解,先描述图2中示出的一个马尔可夫逻辑网的网络结构样例,实际往往更复杂。如图2所示,其中包括6个变量,分别为:f(a,b)、s(a)、s(b)、f(b,a)、c(a)和c(b),其中a和b表示真实世界中的用户a和用户b;f、s和c的含义是朋友(friend)、搜索(search)预定对象和点击(click)预定对象,都属于谓词,用于描述用户等实体(entity)的属性或关系,比如,f(a,b)对应用户关系命题:用户a是用户b的朋友,s(a)对应用户行为命题:用户a搜索预定对象,c(b)对应用户属性命题:用户b点击预定对象,其他变量对应的命题可以类似推知。需理解,预定对象是预先设定的业务对象,例如,可以是某件商品、某个社会任务或某段文本。
42.观察图2中示出的6个圆圈可知,有的变量的取值已知,也即其取值可以被观测到,属于观测变量,例如,“f(a,b)=1”,即f(a,b)所表示命题的逻辑值为真;而有的变量的取值未知,也即其取值没有被观测到,属于未观测变量,又称隐变量,例如,“s(b)=?”。
43.图2中还示意4条实例化规则,即f1(a,b)、f1(b,a)、f2(a)和f2(b)。其中,f1(a,b)为:s(a)∧f(a,b)

s(b),此规则对应的逻辑命题是:如果用户a搜索预定对象且用户a是用户b的朋友,那么用户b搜索预定对象;f2(a)为:s(a)

c(a),此规则对应的逻辑命题是:如果用户a搜索预定对象,那么用户a点击预定对象。另外,f1(b,a)和f2(b)所对应的逻辑命题可以类似推知。
44.如图2所示,4条实例化规则起到了枢纽(pivot)的作用,6个变量通过这4条实例化规则建立起连接关系,例如,规则f1(a,b)中涉及变量f(a,b)、s(a)和s(b),于是,这3个变量通过链接到规则f1(a,b),彼此之间两两建立起了连接。
45.以上对图2示出的马尔可夫逻辑网样例进行描述,接下来,对马尔可夫逻辑网的构建进行更加通用的介绍。
46.在一种可能的实施方式中,可以先定义若干规则模板。需要理解,文中的若干指代一个或多个。每个规则模板包括对应的多个谓词表达式,谓词表达式中包括谓词和对应的参数,例如,对于规则模板f1(a1,a2):=s(a1)∧f(a1,a2)

s(a2),其中包括3个谓词表达式,即s(a1)、f(a1,a2)和s(a2),s(a1)中包括谓词s和参数a1,f(a1,a2)中包括谓词f以及参数a1和
参数a2,s(a2)中包括谓词s和参数a2;其中∧和

属于逻辑符号。可以理解的是,符号:=表示定义为,f1(a1,a2)可以视作规则s(a1)∧f(a1,a2)

s(a2)的规则标识或简化表示。
47.进一步,可以利用现实世界中的多个用户等实体,对若干规则模板中的参数进行赋值,从而实现对若干规则的实例化处理,得到多条实例化规则。比如,可以利用实体库(或称常量库)中包括的用户a和用户b对若干规则模板中包括的上述f1(a1,a2)进行实例化处理,从而得到两条实例化规则f1(a,b)、f1(b,a),也即,s(a)∧f(a,b)

s(b)、s(b)∧f(b,a)

s(a)。
48.又比如,可以利用实体库中包括的用户a、用户b和商品z,对规则模板f3(a1,a2,b):=p(a1,b)∧f(a1,a2)

p(a2,b)进行实例化处理,其中谓词p表示购买(purchase),谓词f表示朋友(friend),从而得到两条实例化规则f3(a,b,z)、f3(b,a,z),也即,p(a,z)∧f(a,b)

p(b,z)、p(b,z)∧f(b,a)

p(a,z)。
49.需要理解,规则模板被实例化后,其中包含的谓词表达式相应被实例化,实例化后的谓词表达式被作为马尔可夫逻辑网中的变量,例如,可以将实例化规则f1(a,b)中包括的s(a)、f(a,b)、s(b)归为马尔可夫逻辑网中的变量。
50.另外,还可以利用针对实体观察到的事实(facts),为马尔可夫逻辑网中的变量进行赋值,例如,假定观测到的事实包括:用户a搜索了预定对象,则变量s(a)为可观测变量,且其变量值(或称观测值)为1,例如,可参见图2中示出的“s(a)=1”。对于没有相关事实可以为其赋值的变量,属于隐变量,例如,可参见图2中示出的“f(b,a)=?”。需要理解,变量值为逻辑值,包括真或假,或者说,1和0。
51.基于以上,需要说明的是,在本说明书披露的实施例中,至少一部分规则模板被定义为用于限定用户行为之间的行为关系,相应,马尔可夫逻辑网中包括与用户行为相关的多个变量。需理解,用户行为可以是用户在互联上做出的行为,也可以是线下行为。
52.具体地,上述多个变量中的若干观测变量包括表征已知用户行为的变量,如图2中示出的s(a),观测到用户a搜索了预定对象而得到s(a)=1。另外,在上述多个变量中的若干隐变量中,还包括表征未知用户行为的行为变量,如图2中示出的s(b),用户b是否搜索了预定对象是未知的。
53.另一方面,用户行为可以涉及与其他物品的交互,由此,在一个实施例中,上述多个变量还可以包括对用户属性的描述变量,例如,变量g(a),其对应的命题是:用户a是女性。在另一个实施例中,上述若干观测变量还可以包括对物品属性的描述变量,例如,变量e(m),其对应的命题是:商品m是海鲜。
54.以上介绍了定义用户行为之间关系的多条实例化规则、多条实例化规则中涉及的与用户行为相关的多个变量,以及对多个变量中观测变量和隐变量的划分。
55.进一步,可以基于多个变量和多条实例化规则,构建马尔可夫逻辑网的网络结构,也即无向概率图,构建过程包括将多个变量作为无向概率图中多个节点,并以多条实例化规则为枢纽,建立节点之间的连接边,节点之间的连接边表示两个节点之间的依赖关系。为简洁描述,文中或将节点和变量这两个词进行互换使用。具体地,对于被包含在同一条实例化规则之间的变量,两两之间建立连接边。对此,可以参见图2,变量f(a,b)、s(a)和s(b)之间以规则f1(a,b)为枢纽,两两连接在了一起,为便于理解,还可以参见图3,其中示出隐去了规则枢纽而直接在变量之间建立连接边的概率图。需要理解,图3和图2在变量之间的连
接关系上是等价的。
56.在无向概率图中,节点之间的连接边是无向边,无向边连接的两个节点互相依赖但是没有明确的因果关系。在马尔可夫逻辑网络中,采用团势能(clique potential)函数,来衡量团中变量每一种可能的联合状态的密切程度,进而用作计算变量间联合概率的基础。
57.对于上述团的概念,在本说明书披露的实施例中,考虑与实例化规则对应的团,也就是,考虑由一条实例化规则中的所有变量形成的对应的团。对于团势能函数的确定,在一个实施例中,可以人为设定,例如,基于实例化规则f2(a):s(a)

c(a),其所对应的团中包括变量s(a)和变量c(a),可以由工作人员将该团的团势能函数设定为:
[0058][0059]
通过观察公式(1)可以看到,对于s(a)=1、c(a)=1,也即用户a搜索了预定对象且点击了预定对象的联合状态,分配了较高的势能,这会使得针对该联合状态计算出的的联合概率更高。
[0060]
在另一个实施例中,可以利用机器学习技术确定团势能函数中各种联合状态下的势能值。具体地,可以将多条实例化规则和其中观测变量的观测值,作为机器学习的输入数据,从而输出势能函数中的系数值,如公式(1)中的0.3、0.3、0.1和0.8。至于更加细节的实施手段可以参考已有的相关资料,在此不作赘述。
[0061]
另外,为了更好的计算变量的联合概率,还可以引入单势能函数(independent unary potential),或称单变量势能函数。可以理解,单势能函数只于单个变量的取值相关。类似地,单势能函数中的系数可以人为设定,也可以利用机器学习技术确定,后者的实施可以参考已有的相关资料,此处不作赘述。在一个示例中,针对变量s(a)确定出的单变量势能函数为:
[0062][0063]
由上,在确定出各个变量的单变量势能函数,以及各个团的团势能函数后,可以根据下式(3)求取基于多个变量而形成的任意变量组合的联合概率分布:
[0064][0065]
在公式(3)中,vh表示隐变量集合,vo表示观测变量集合,p(vh,vo)表示vh和vo的联合概率;符号

表示其两侧的表达式成正比关系;φu(vi)表示vh和vo中任意的第i个变量vi的单变量势能函数;f表示由若干规则模板形成的模板集合f中的任意一个规则模板;wf表示规则模板f的权重,可以人为设定;gf表示多条实例化规则中与规则模板f对应的实例化规则而形成的规则集合;g表示gf中任意的一条规则;vg表示由实例化规则g中的变量形成的集合;φf(vg)表示实例化规则g所对应团的团势能函数。需说明,为简洁描述,文中或将实例
化规则g所对应的团也用符号g表示。
[0066]
以上,介绍构建马尔可夫逻辑网的一种可能实施方式,以及涉及的多个概念,例如,用于限定用户行为之间关系的规则模板和实例化规则,与用户行为相关的多个变量、多个变量中的若干观测变量和多干隐变量,与每条实例化规则对应的团和团势能函数,等等。需要理解,还可以采用其他方式构建马尔可夫逻辑网,例如,前述对规则模板的定义和实例化处理可以不是分开先后进行,而是同时进行。
[0067]
在获取以上构建好的马尔可夫逻辑网后,执行步骤s120,基于马尔可夫逻辑网,对若干隐变量中各个隐变量在若干观测变量的观测值下的概率分布进行多轮次迭代更新。
[0068]
首先需要说明,因为马尔可夫逻辑网中基于实例化的逻辑规则在变量之间建立了数量巨大的高阶连接边,被连接起来的变量之间是互相依赖的。对于这样一个复杂的图结构,精确推断的复杂度将随着变量数目的增加呈指数增长。
[0069]
为了解决这个问题,本说明书实施例中提出使用平均场(meanfield,简称mf)算法,或称变分推断算法,求解马尔可夫逻辑网络。具体地,针对马尔可夫逻辑网络中需要推断的若干隐变量vh,其中包括表征未知的用户行为的行为变量,通过计算vh的联合分布q(vh)来近似vh在若干观测变量vo的观测值下的条件分布p(vh|vo)。
[0070]
联合分布q(vh)是vh中各个隐变量vi的独立边缘分布qi(vi)的乘积,对此可记作:
[0071]
q(vh)=π
i∈h
qi(vi)(4)
[0072]
其中,每个边缘分布中的边缘概率大于0,且和值为1,对此可记作:
[0073][0074]
实际上,vi的逻辑值非1即0,因此,上式(5)还可以记作:
[0075]
qi(0)+qi(1)=1,qi(0)、qi(1)≥0(6)
[0076]
基于以上,对马尔可夫网络的求解问题转化为最小化联合分布q(vh)和条件分布p(vh|vo)之间差异,此差异可以用kl(kullback-leibler)散度来度量,计算公式为:
[0077][0078]
公式(7)是通过将公式(3)和公式(4)代入kl散度的定义函数式而得到,因而对公式(7)中各个数学符号的含义不另作介绍。
[0079]
为了最小化公式(7),在本说明书披露的实施例中,对若干隐变量中各个隐变量vi的边缘分布qi(vi)进行多轮次迭代更新,直到收敛。可以理解,边缘分布qi(vi)用于近似vi在若干观测变量vo的观测值下的概率分布p(vi|vo),因而对qi(vi)进行迭代更新,实质就是对p(vi|vo)进行迭代更新。
[0080]
接下来,对上述多轮次迭代更新进行介绍,其中任意一个轮次的迭代更新包括两个子步骤,即,步骤s121和步骤s122。
[0081]
在步骤s121,将各个隐变量vi分别作为目标隐变量,基于其所在若干团中各个团g的团势能函数φf(vg)、该各个团g中其他隐变量v
g-i
的上一轮概率分布{qj(vj),j∈
g-i
},确定与目标隐变量vi的两个逻辑值对应的两个目标势能{φ(vi)|vi=0,1}。
[0082]
对于本步骤的执行,在一个实施例中,包括执行图4中示出的子步骤:s41至s44。
[0083]
在步骤s41,将各个团g分别作为目标团,基于其中的其他隐变量v
g-i
的上一轮概率分布{qj(vj),j∈g-i
},确定该其他隐变量的多组逻辑值对应的多个联合概率{∏
j∈g-i
qj(vj)}。
[0084]
对于上一轮概率分布qj(vj),若当前轮次的迭代更新是首轮,则上一轮概率分布qj(vj)是针对隐变量vj确定的初始概率分布。在一个实施例中,针对隐变量vj,可以先基于其单变量势能函数φu(vj),确定与两个逻辑值对应的两个单变量势能;再对该两个单变量势能进行归一化处理,形成隐变量vj的初始概率分布。在另一个实施例中,可以随机生成初始概率分布。
[0085]
若当前轮次的迭代更新不是首轮,则上一轮概率分布qj(vj)是隐变量vj经过上一轮迭代更新后的边缘分布。
[0086]
基于目标团中其他隐变量v
g-i
的上一轮概率分布{qj(vj),j∈g-i
},可以得到v
g-i
对应的多组逻辑值中各组逻辑值对应的联合概率∏
j∈g-i
qj(vj)。需理解,多个联合概率的计算主要针对目标团中其他隐变量,观测变量的边缘分布是已知的,可以不考虑团中的观测变量。对于任一观测变量,其边缘分布包括:观测变量取观测值时的概率为1,取观测值的相反值时的概率为0。示例性地,假定v
g-i
中包括3个隐变量,则其对应的逻辑值组数为23,这8个联合状态对应8个联合概率。
[0087]
由上,通过执行步骤s41,可以得到目标团中其他隐变量的多组逻辑值所对应的多个联合概率。另一方面,在步骤s42,基于目标团的团势能函数φf(vg)、目标团中各个观测变量的变量值,以及两个逻辑值中的任一逻辑值x,确定与多组逻辑值对应的多个团势能{φf(vi=x,v
g-i
)}。需理解的是,在φf(vi=x,v
g-i
)中没有示出目标团中的观测变量;另外,文中或将vi=x简记作vi。
[0088]
基于步骤s41和步骤s42的执行结果,在步骤s43,利用多个联合概率{∏
j∈g-i
qj(vj)}对多个团势能{φf(vi,v
g-i
)}进行加权求和,得到第一加权结果,对此可记作:
[0089][0090]
需说明,文中或将称为实例化消息(grounding msessage)。
[0091]
进一步,在步骤s44,基于目标隐变量vi所在若干团对应的若干第一加权结果确定与目标隐变量vi的任一逻辑值对应的目标势能。
[0092]
在一个例子中,可以将对若干第一加权结果进行求和的结果,作为任一逻辑值x对应的目标势能,对此可记作:
[0093][0094]
在式(9)中,g(i)表示由目标隐变量vi所在的若干团组成的集合。
[0095]
在另一个例子中,还考虑规则模板的权重。具体地,基于若干团中各个团所对应规则模板的预设权重,对上述若干第一加权结果进行加权求和,得到第二加权结果,作为对应的目标势能,对此可记作:
[0096][0097]
在上式(10)中,f表示规则模板集;f表示规则模板集合f中的任意一个规则模板;
wf表示规则模板f的预设权重;gf(i)表示由基于规则模板f得到的实例化规则中包括目标隐变量vi的部分规则所组成的集合;g表示gf(i)中的任一条实例化规则。
[0098]
由上,可以得到任一逻辑值x对应的目标势能φ(vi=x),于是,可以得到两个目标势能φ(vi=0)和φ(vi=1),或记作{φ(vi)|vi=0,1}。
[0099]
以上介绍基于图4中的子步骤,完成对步骤s121执行的过程。
[0100]
接下来,先对执行图4中步骤的计算复杂度进行分析,再介绍进一步的优化方式。
[0101]
在分析过程中,用n表示实体库中的实体总个数,用m表示任一规则模板中最大的参数数量,用l表示任一规则模板中最大的谓词表达式数量。比如,就规则模板s(a1)∧f(a1,a2)

s(a2)而言,m=2,l=3。
[0102]
不妨将图4中的步骤划分为两个阶段,第1个阶段对应步骤s41、s42和s43,实现计算公式(8)中的实例化消息或简记作第2个阶段对应步骤s44,实现对的聚合,从而得到目标势能φ(vi)。
[0103]
上述第1个阶段中的实例化消息表示由团g中的其他变量g-i
对目标隐变量vi产生的影响。在实例化消息的计算式中,∏
j∈g-i
qj(vj)的计算复杂度是,考虑v
g-i
的所有可能取值的复杂度是;于是,第1个阶段总的计算复杂度为
[0104]
对于上述第2个阶段,假定对实例化消息的聚合,或者说对目标势能φ(vi)的计算采用上述公式(10),观察等号右侧的计算式其中gf中的实例化规则数量|gf|对应复杂度,进一步,因为一条实例化规则会为其中涉及的所有隐变量传递实例化消息,所以一共有条实例化消息。
[0105]
因此,上述第1个阶段和第2个阶段的复杂度合计为
[0106]
由此,发明人提出执行上述步骤s121的其他方式,在一种可能的优化方式中,可以将第1个阶段的复杂度从降低到
[0107]
具体地,对于任意的一条实例化规则,可以将其划分为前提(premise)部分和猜想(hypothesis)部分,简单地,实例化规则中逻辑符号

的左侧为前提部分,右侧为猜想部分。进一步,对于实例化消息,可以视作从前提部分中的变量g-i
传递到目标变量i的影响,通过分析可知,只有当前提正确时,才认为产生的影响有价值,因此可以忽略不正确的前提。
[0108]
为清楚描述,此处先介绍实例化规则的析取形式(disjunctive form)。需说明,对于任意的一个规则模板或者说一条实例化规则,可以根据德
·
摩根律(de morgan law),将其转换为对应的析取形式。例如,规则模板s(a1)

c(a1)的析取形式为:可以理解,实例化规则与其析取形式具有相同的真值表,示例性地,可以参见表1。
[0109]
表1
[0110][0111]
通用化地,可以将析取形式记作f(
·
;nf),nf中的任一元素表示析取形式中第i个谓词表达式前是否带有否定符号,或者说,表示命题“第i个谓词表达式带有否定符号”的逻辑值。示例性地,对于析取形式其对应的nf为(1,0)。
[0112]
回到前面说到的,在计算实例化消息时,可以忽略不正确的前提。由此,可以得到引理1:
[0113]
错误的前提不参与消息传递(no msessage for false premise)。具体,将任意一条实例化规则g的析取形式记作f(
·
;nf),在其涉及的任一错误前提中,由此,可以将上述公式(8)中的计算优化为:
[0114][0115]
基于引理1,可以得到引理2:
[0116]
只考虑正确前提参与消息传递(message consider true premise only)。正确前提只有一个,记作其中由此,可以将公式(11)中的计算进一步优化为:
[0117][0118]
基于引理2,可以将上述第1阶段对实例化消息的计算优化为:先确定猜想部分包括目标隐变量vi的若干条实例化规则,并将该若干条实例化规则所对应若干团中的各个团分别作为目标团,根据其所对应的析取形式,确定目标团中其他隐变量对应的一组目标逻辑值,记作。进一步,基于该其他隐变量的上一轮概率分布,确定该组目标逻辑值对应的联合概率从而基于所述目标团的团势能函数φf(vi,v
g-i
)和目标隐变量vi的两个逻辑值中的任一逻辑值,确定与该任一逻辑值和该组目标逻辑值对应的团势能;再利用联合概率对团势能进行加权处理,得到第一加权结果,对此可记作上述公式(12)。
[0119]
对比公式(8)和公式(12),可以观察到计算复杂度从降低至
[0120]
基于公式(12),在一个示例中,可以将其中的势能函数确定为
含义是:当时函数输出为1,否则为0。此时,可以通过公式(13)计算实例化消息:
[0121][0122]
可以理解,势能函数还可以为其他形式,例如,
[0123][0124]
其中,y1>y2≥0。
[0125]
以上,描述基于引理1和引理2,将第1阶段中实例化消息的计算复杂度从采用公式(8)的降低至采用公式(12)的
[0126]
另外需说明的是,以上描述中主要以规则模板对应原子规则,如s(a1)

c(a1),为例进行介绍,而在实际应用中,存在规则模板对应复合规则,或者说合取范式(conjunctive normal form)的情况,复合规则可以被拆分成两个及以上的原子规则,例如,复合规则复合规则可以被拆分为两条原子规则:s(a1)∧f(a1,a2)

s(a2)和s(a2)∧f(a1,a2)

s(a1)。在本说明书披露的实施例中,可以将复杂规则模板都拆分为原子规则模板以后,再进行后续的实例化处理等,或者,在对规则模板进行实例化处理后,再将复合实例化规则拆分成原子实例化规则,进而进行后续处理。如此,可以使得猜想部分只包括一个变量,适配于引理4.1和4.2。
[0127]
接下来,描述对上述第2阶段的优化方式。通过优化第2阶段,实现对实例化消息的并行聚合,例如,可以利用图形处理器(graphics processing unit,简称gpu)实施并行计算,从而有效加快计算速度,提升计算效率。
[0128]
在一种可能的优化方式中,可以先计算出马尔可夫逻辑网络涉及的所有实例化消息,然后,基于所有实例化消息构建关系图谱,关系图谱中的变量为马尔可夫网络中的多个变量,关系图谱中的连接边为超边(hyper edges),一条超边对应一条实例化规则,且包括该条实例化规则中的全部变量。基于此,可以采用图神经网络(graph neural network,简称gnn)对构建出的关系图谱进行嵌入处理,从而得到各个隐变量的两个逻辑值对应的两个目标势能。
[0129]
在另一种可能的优化方式中,考虑引入爱因斯坦求和(einstein summation)算子降低第2阶段的计算复杂度。需要理解,爱因斯坦求和是一种针对求和公式的简洁高效的记法,其原则是当变量下标重复出现时,即可省略繁琐的求和符号。
[0130]
下面先介绍引入爱因斯坦求和的发明思路,再介绍使用爱因斯坦求和对实例化消息进行聚合得到聚合势能,从而计算目标势能的通用化方式。
[0131]
对于任意一个规则模板f的析取形式f(
·
;nf),换个角度,将其记作[f,k],k表示第k个谓词表达式,对应规则模板f的猜想部分。以[f,3]为例,假定f为:也即,s(a1)∧f(a1,a2)

s(a2)。基于此,使用表示以s(a2)为猜想部分的实例化规则集
合,其中c表示实体库。
[0132]
基于上述引理4.2和公式(13),可以将通过规则模板f聚合到s(a2)的实例化消息表示为:也即,需理解,中的1是指为简洁描述,提出使用表示边缘分布集合其中ri是规则模板f中的第i个谓词表达式,表示ri中的参数形成的集合。进一步,可以将聚合过程中的求和运算转化为矩阵的乘积运算,从而实现对的并行计算。具体地,可以使用表示,从而得到对于此公式涉及的矩阵运算,可以参见图5。
[0133]
在许多复杂情况中,例如,在规则模板前提部分包括的不同谓词表达式之间存在相同参数的情况下,采用矩阵乘积进行并行计算的方式可以大幅降低计算复杂度。例如,对于包括4个参数的规则模板f(a1,a2,a3,a4):=i(a1,a2)∧f(a2,a3)∧g(a3,a4)

s(a1,a4),谓词表达式i(a1,a2)和f(a2,a3)之间存在相同参数a2,f(a2,a3)和g(a3,a4)之间存在相同参数a3,实例化消息g
[f,4]
(s(a1,a4))的数量为而通过进行矩阵乘积运算,可以将复杂度降低至。具体,等价于由此,的计算可以被拆解为两次复杂度为的矩阵乘积运算,总的计算复杂度从降低至
[0134]
由上,通用化地,针对可以被归入[f,i]的所有实例化消息,对于实例化消息中第i个谓词表达式的消息聚合,可以利用下示引入了爱因斯坦求和运算的公式实现:
[0135][0136]
基于公式(15),可以计算目标势能的公式(10)变换为:
[0137][0138]
如此,可以大幅度降低目标势能的计算复杂度。需说明的是,公式(15)的计算基于将团势能函数设定为:实际上,团势能函数还可以为其他形式,例如,可以更为复杂。接下来,对引入爱因斯坦求和算子以完成步骤s121的执行过程进行更加通用的说明。
[0139]
具体地,将若干规则模板中的每个规则模板分别作为目标规则模板,先针对其前提部分包含的若干谓词表达式中的各个谓词表达式,确定其对应的概率张量。
[0140]
上述概率张量的若干维度对应该谓词表达式中的若干参数,也就是说,谓词表达式中包括几个参数,那么,其对应的概率张量就具有几个维度。例如,图5中的谓词表达式s(a1)包括1个参数a1,其对应的概率张量是一维向量,又例如,图5中的谓词表达式f(a1,a2)包括两个参数a1和a2,其对应的概率张量是二维矩阵。
[0141]
上述概率张量中每个元素的索引为利用实体库为对应谓词表达式中的若干参数赋予的一组实体标识,每个元素的元素值为用该一组实体标识实例化该谓词表达式而形成的变量的概率值,此概率值是该变量在其上一轮边缘分布中取第一命题逻辑值时的概率值,该第一命题逻辑值对应的命题是:该谓词表达式在目标规则模板的析取形式中带有否定符号。例如,参见图5,其示出规则模板中各个谓词表达式所对应概率张量中的元素索引,假定实体库中只包括实体a和实体b,相应,谓词表达式s(a1)对应的概率张量)对应的概率张量谓词表达式f(a1,a2)对应概率张量:
[0142][0143]
如此,可以得到目标规则模板的前提部分中若干谓词表达式对应的若干概率张量。例如,可以得到图5中规则模板s(a1)∧f(a1,a2)

s(a2)的前提部分中谓词表达式s(a1)和谓词表达式s(a2)所对应的概率张量:和
[0144]
接着,基于上述若干概率张量进行乘积处理,得到乘积结果张量。例如,参考图5,对概率张量和进行乘积处理,得到的乘积结果张量为向量,其中对应猜想部分的谓词表达式s(a1)。
[0145]
由上,可以得到目标规则模板对应的乘积结果张量,也就可以得到若干规则模板对应的若干乘积结果张量。可以理解,各个乘积结果张量均基于正确前提而得到。
[0146]
基于以上,将马尔可夫逻辑网中的各个隐变量分别作为目标隐变量,基于其对应各个规则模板的团势能函数,确定与目标隐变量的两个逻辑值对应的两个目标势能。需理解,团势能函数的设定粒度可以是规则模板,此时,基于同一规则模板进行实例化而得到的实例化规则所对应的团具有形式一致的团势能函数。示例性地,团势能函数可以被设定为前述公式(13)或公式(14)。
[0147]
针对目标隐变量的任一逻辑值,计算任一规则模板所对应的团势能函数在该逻辑值和正确前提下的团势能,基于此团势能和该任一规则模板所对应的乘积结果张量中对应该目标隐变量的向量元素进行乘积处理,可以得到该任一规则模板下传递到取值为该任一逻辑值的目标隐变量的聚合势能。
[0148]
进一步,基于若干规则模板下传递到取值为该任一逻辑值的目标隐变量的若干聚合势能,可以得到该任一逻辑值对应的目标势能。在一个实施例中,可以直接对该若干聚合势能进行求和,得到对应的目标势能。在另一个实施例中,获取与若干规则模板对应的若干预设权重,利用此若干预设权重对若干聚合势能进行加权求和,得到对应的目标势能。
[0149]
如此,可以实现利用爱因斯坦求和执行步骤s121,通过并行计算得到目标隐变量的两个逻辑值对应的两个目标势能,大幅提高计算效率并降低计算复杂度。
[0150]
回到图1,在执行步骤s120中的子步骤s121之后,执行步骤s122,基于上述两个目标势能,确定目标隐变量的本轮概率分布。
[0151]
在一个实施例中,对两个目标势能{φ(vi)|vi=0,1}进行归一化处理,形成目标隐变量的本轮概率分布。在一个具体的实施例中,归一化处理可以利用softmax函数实现。在另一个具体的实施例中,归一化处理可以利用求占比的方式实现。
[0152]
示例性地,假定目标隐变量为图2中示出的s(b),其两个目标势能分别为φ(s(b)=0)=2和φ(s(b)=1)=3,此时,利用softmax函数进行归一化处理,可以得到如下的概率分布:
[0153][0154]
在另一个实施例中,在确定本轮概率分布时还考虑目标隐变量vi的单变量势能函数φu(vi)。具体地,先基于目标隐变量的单变量势能函数,确定所述两个逻辑值中任一逻辑值对应的单变量势能,再对该任一逻辑值对应的目标势能和单变量势能进行求和,得到对应的势能和值;基于对两个逻辑值所对应的两个势能和值进行归一化处理的结果,形成所述本轮概率分布。
[0155]
在一个示例中,假定目标势能的计算基于公式(10),此时,可以将本轮概率分布的计算式记作:
[0156][0157]
上式(19)中,zi表示归一化因子,为公式(19)中exp()项在其中的vi分别取0和1时的两个运算结果的和值。
[0158]
在另一个示例中,假定目标势能是基于公式(16)求得,此时,可以将本轮概率分布的计算式记作:
[0159][0160]
上式(20)中,zr表示归一化因子,为公式(20)中exp()项在其中的vr分别取0和1时的两个运算结果的和值。
[0161]
如此,可以得到目标隐变量的本轮概率分布。
[0162]
以上,通过执行子步骤s121和s122,可以实现针对各个隐变量的概率分布的任一轮次迭代更新。于是,在步骤s120中,通过多次执行步骤s121和s122,可以实现对各个隐变量概率分布的多轮次迭代更新,直到达到收敛标准。例如,直到迭代轮次达到预定次数,或者,直到相邻两次或其他次数的迭代结果之间的差距小于预设阈值。
[0163]
之后,在步骤s130,可以根据经过多轮次迭代更新后的若干隐变量中行为变量的概率分布,预测用户行为。需要理解,任一行为变量的概率分布中包括用户做出对应行为的第一概率和不做出对应行为的第二概率。基于此,在一个实施例中,可以判断第一概率是否大于阈值,若大于,则将用户做出对应行为作为预测结果,否则,将用户没有做出对应行为作为预测结果。
[0164]
示例性地,可以查询图2中示出的行为变量s(b)的概率分布,若概率分布中对应用户b搜索预定对象的概率大于0.6,则可以将用户b搜索了预定对象作为预测结果,进一步,还可以向用户b推荐与预定对象相关的广告或内容资讯等。又例如,可以查询某个用户购买某件商品的概率分布,从而预测用户是否会购买商品,从而辅助决策是否向用户推送该件商品的广告信息。
[0165]
根据另一方面的实施例,还可以根据若干隐变量中除了行为变量以外的其他变量,进行相关预测,例如,根据图2中f(b,a)的概率分布,推测用户b是用户a的朋友的概率,从而决策是否向用户a推荐与用户b相关的社交账号。
[0166]
由上,可以实现基于马尔可夫逻辑网络预测用户行为。
[0167]
根据另一方面的实施例,发明人发现,上述方法除了可以应用于用户行为的预测,还可以应用于其他预测任务,如企业之间是否有望建立合作,等等。由此,图6示出根据另一个实施例的基于马尔可夫逻辑网预测用户行为的方法流程示意图,所述方法的执行主体可以为任何具有计算、处理能力的平台、装置、服务器或设备集群等。如图6所示,所述方法包括以下步骤:
[0168]
步骤s610,获取基于多条实例化规则而构建的马尔可夫逻辑网;该马尔可夫逻辑网包括多个变量,该多个变量包括若干观测变量和若干隐变量;该多个变量中涉及同一条实例化规则的变量共同形成对应的团,该团具有对应的团势能函数。步骤s620,基于该马尔可夫逻辑网,对该若干隐变量中各个隐变量在该若干观测变量的观测值下的概率分布进行多轮次迭代更新;其中任一轮次迭代更新包括:步骤s621,将该各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、该各个团中其他隐变量的上一轮概率分布,确定与该目标隐变量的两个逻辑值对应的两个目标势能;步骤s622,基于该两个目标势能,确定该目标隐变量的本轮概率分布。步骤s630,根据该多轮次迭代更新后该各个隐变量的概率分布进行逻辑推断。
[0169]
针对以上步骤,示例性的,用于生成上述多条实例化规则的实体库中包括企业标识、行业标识、业务标识、或地域标识等。示例性的,上述多个变量中包括描述企业之间关系的变量、描述企业属性的变量,等等。示例性的,上述逻辑推断包括,根据若干隐变量中描述企业之间关系的隐变量,预测其涉及的多个企业之间是否会建立合作关系。
[0170]
需要说明,对图6示出步骤的描述,可以参见对图1示出步骤的描述。
[0171]
与上述预测方法和逻辑推断方法相对应的,本说明书还披露预测装置和逻辑推断装置。图7示出根据一个实施例的基于马尔可夫逻辑网预测用户行为的装置结构示意图。如图7所示,所述装置700包括:
[0172]
逻辑网获取模块710,配置为获取基于多条实例化规则而构建的马尔可夫逻辑网;所述多条实例化规则用于限定用户行为之间的关系;所述马尔可夫逻辑网包括与用户行为相关的多个变量,所述多个变量包括若干观测变量和若干隐变量;所述若干观测变量包括,表征已知用户行为的变量,所述若干隐变量包括,表征未知用户行为的行为变量;所述多个变量中涉及同一条实例化规则的变量共同形成对应的团,所述团具有对应的团势能函数。
[0173]
概率分布更新模块720,配置为基于所述马尔可夫逻辑网,对所述若干隐变量中各个隐变量在所述若干观测变量的观测值下的概率分布进行多轮次迭代更新;其中任一轮次迭代更新通过所述概率分布更新模块中的以下单元实现:目标势能确定单元721,配置为将所述各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、所述各个团中其他隐变量的上一轮概率分布,确定与所述目标隐变量的两个逻辑值对应的两个目标势能;概率分布确定单元722,配置为基于所述两个目标势能,确定所述目标隐变量的本轮概率分布。
[0174]
用户行为预测模块730,配置为根据所述多轮次迭代更新后所述行为变量的概率
分布,预测用户行为。
[0175]
在一个实施例中,所述用户行为涉及与其他物品的交互;所述若干观测变量还包括,对用户属性的描述变量,和/或,对物品属性的描述变量。
[0176]
在一个实施例中,所述多个变量中还包括描述多个用户之间关系的关系变量,和/或,描述多个物品之间关系的关系变量。
[0177]
在一个实施例中,所述各个隐变量具有单变量势能函数;所述概率分布更新模块720还包括:初始化单元723,配置为针对所述各个隐变量,基于其单变量势能函数确定与所述两个逻辑值对应的两个单变量势能;对所述两个单变量势能进行归一化处理,形成该隐变量的初始概率分布。
[0178]
在一个实施例中,目标势能确定单元721具体配置为:将所述各个团分别作为目标团,基于其中的其他隐变量的上一轮概率分布,确定该其他隐变量的多组逻辑值对应的多个联合概率;基于所述目标团的团势能函数、所述目标团中各个观测变量的变量值,确定在所述两个逻辑值中的任一逻辑值下与所述多组逻辑值对应的多个团势能;利用所述多个联合概率对所述多个团势能进行加权求和,得到第一加权结果;基于所述若干团对应的若干第一加权结果,确定与所述任一逻辑值对应的目标势能。
[0179]
在一个实施例中,所述多条实例化规则中的每条实例化规则包括前提部分和猜想部分;目标势能确定单元721具体配置为:确定在猜想部分包括所述目标隐变量的若干条实例化规则对应的所述若干团;将所述各个团分别作为目标团,根据其所对应的实例化规则的析取形式,确定所述目标团中的其他隐变量对应的一组目标逻辑值;基于该其他隐变量的上一轮概率分布,确定该组目标逻辑值对应的联合概率;基于所述目标团的团势能函数和所述两个逻辑值中的任一逻辑值,确定与该组目标逻辑值和该任一逻辑值对应的团势能;利用所述联合概率对所述团势能进行加权处理,得到第一加权结果;基于所述若干团对应的若干第一加权结果,确定与所述任一逻辑值对应的目标势能。
[0180]
在一个具体的实施例中,目标势能确定单元721配置为将所述各个团分别作为目标团,根据其所对应的实例化规则的析取形式,确定所述目标团中的其他隐变量对应的一组目标逻辑值,具体包括:针对所述目标团中其他隐变量中的每个隐变量,将其所对应命题的逻辑值作为其目标逻辑值,所述命题为:该隐变量在所述析取形式中带有否定符号。
[0181]
在一个具体的实施例中,所述目标团的团势能函数包括:在所述任一逻辑值与命题逻辑值相同的情况下,所述团势能函数的输出为第一数值;所述命题逻辑值对应的命题是:所述目标隐变量在所述析取形式中带有否定符号;在所述任一逻辑值与所述命题逻辑值不同的情况下,所述团势能函数的输出为第二数值,所述第二数值大于所述第一数值。
[0182]
在一个更具体的实施例中,所述第二数值为1,第一数值为0。
[0183]
在一个更具体的实施例中,所述团的团势能函数关联所对应实例化规则的规则模板;其中,目标势能确定单元721具体配置为基于所述若干团对应的若干第一加权结果,确定与所述目标隐变量的任一逻辑值对应的目标势能,具体包括:基于所述若干团中各个团所对应规则模板的预设权重,对所述若干第一加权结果进行加权求和,得到第二加权结果,作为所述目标势能。
[0184]
在一个实施例中,所述多条实例化规则是利用与所述用户行为相关的实体库对若干规则模板中的参数进行实例化处理而得到;其中每个规则模板包括对应的多个谓词表达
式,每个谓词表达式中包括对应的参数;所述多条实例化规则涉及的多个实例化谓词表达式被作为所述多个变量;所述每个规则模板包括前提部分和猜想部分;
[0185]
所述概率分布更新模块720还包括:矩阵乘积运算单元724,配置为将所述每个规则模板分别作为目标规则模板,针对其前提部分包含的若干谓词表达式中的各个谓词表达式,确定其对应的概率张量;所述概率张量的若干维度对应该谓词表达式中的若干参数,所述概率张量中每个元素的索引为利用实体库为所述若干参数赋予的一组实体标识,所述每个元素的元素值为用该一组实体标识实例化该谓词表达式而形成的变量在其逻辑值为第一命题逻辑值时其上一轮边缘分布中的概率值;所述第一命题逻辑值对应的命题是:该谓词表达式在所述目标规则模板的析取形式中带有否定符号;基于所述若干谓词表达式对应的若干概率张量进行乘积处理,得到乘积结果张量;目标势能确定单元721具体配置为:将所述各个隐变量分别作为目标隐变量,基于所述乘积结果张量和团势能函数,确定在所述目标规则模板下所述目标隐变量的两个逻辑值对应的两个聚合势能;基于在所述若干规则模板下与所述目标隐变量的任一逻辑值对应的若干聚合势能,确定该任一逻辑值对应的目标势能。
[0186]
在一个具体的实施例中,所述若干谓词表达式中包括第一谓词表达式和第二谓词表达式,所述第一谓词表达式和第二谓词表达式之间存在相同的参数。
[0187]
在一个具体的实施例中,所述乘积结果张量中包括对应所述目标隐变量的向量元素;目标势能确定单元721进一步配置为:将基于所述向量元素和所述目标团势能函数在所述任一逻辑值下的输出而得到的乘积结果,作为对应的聚合势能;所述目标团势能函数所对应的实例化规则在其猜想部分包含所述目标隐变量。
[0188]
在一个更具体的实施例中,所述目标团势能函数包括:在所述任一逻辑值与第二命题逻辑值相同的情况下,所述目标团势能函数的输出为第一数值;所述第二命题逻辑值对应的命题是:所述目标隐变量在所述析取形式中带有否定符号;在所述任一逻辑值与所述第二命题逻辑值不同的情况下,所述目标团势能函数的输出为第二数值,所述第二数值大于所述第一数值。
[0189]
在另一个具体的实施例中,目标势能确定单元721进一步配置为:利用与所述若干规则模板对应的若干预设权重,对所述若干聚合势能进行加权求和,得到所述目标势能。
[0190]
在一个实施例中,概率分布确定单元722具体配置为:基于对所述两个目标势能进行归一化处理的结果,形成所述本轮概率分布。
[0191]
在一个实施例中,所述各个隐变量具有单变量势能函数;概率分布确定单元722具体配置为:基于所述目标隐变量的单变量势能函数,确定所述两个逻辑值中任一逻辑值对应的单变量势能;对所述任一逻辑值对应的目标势能和单变量势能进行求和,得到对应的势能和值;基于对所述两个逻辑值所对应的两个势能和值进行归一化处理的结果,形成所述本轮概率分布。
[0192]
图8示出根据另一个实施例的基于马尔可夫逻辑网预测用户行为的装置结构示意图。如图8所示,所述装置800包括:
[0193]
逻辑网获取模块810,配置为获取基于多条实例化规则而构建的马尔可夫逻辑网;所述马尔可夫逻辑网包括多个变量,所述多个变量包括若干观测变量和若干隐变量;所述多个变量中涉及同一条实例化规则的变量共同形成对应的团,所述团具有对应的团势能函
数。
[0194]
概率分布更新模块820,配置为基于所述马尔可夫逻辑网,对所述若干隐变量中各个隐变量在所述若干观测变量的观测值下的概率分布进行多轮次迭代更新;其中任一轮次迭代更新通过所述概率分布更新模块中的以下单元实现:目标势能确定单元821,配置为将所述各个隐变量分别作为目标隐变量,基于其所在若干团中各个团的团势能函数、所述各个团中其他隐变量的上一轮概率分布,确定与所述目标隐变量的两个逻辑值对应的两个目标势能;概率分布确定单元822,配置为基于所述两个目标势能,确定所述目标隐变量的本轮概率分布。
[0195]
逻辑推断模块830,配置为根据所述多轮次迭代更新后所述各个隐变量的概率分布进行逻辑推断。
[0196]
需说明,对图8示出的装置800的介绍,可以参见对图7中示出的装置700的介绍。
[0197]
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图1、或图4或图6所描述的方法。
[0198]
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图1、图4或图6所描述的方法。本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0199]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1