用于为关系数据创建数据模型的方法和系统与流程

文档序号:11829866阅读:189来源:国知局
用于为关系数据创建数据模型的方法和系统与流程

本发明的实施方式一般地涉及数据挖掘领域,更具体地,涉及一种用于为关系数据创建数据模型的方法和系统。



背景技术:

随着数据挖掘技术的日益发展,对实体间的关系信息进行建模成为机器学习领域的一个热点问题。实体间的关系信息是例如社交网络中人与人之间的联系,因特网上页面与页面之间的链接关系,科研文献中的引用与被引用关系,生命科学中蛋白质与蛋白质之间的交互作用等等之类的信息。概括来说,假定存在关于实体(也可称为对象)的两个有限集合,则术语“关系”可以指代分别来自这两个有限集合的实体所组成的实体对之间的联系。为了便于说明,本文中将来自这两个有限集合的实体分别称为第一类型实体和第二类型实体,这样,上述“关系”的示例可以包括,观看者(第一类型实体)对电影(第二类型实体)的评分(关系)、顾客(第一类型实体)对餐馆(第二类型实体)的评价(关系)、消费者(第一类型实体)对产品(第二类型实体)的购买(关系),等等。

在实践中,为关系数据创建数据模型是非常有用的。例如,可以利用所创建的数据模型来对实体加以聚类,从而直接指导对实体喜好的分析,或者为实体进行推荐。然而,现有技术中对数据模型的创建面临多方面的挑战。首先,在对实体进行聚类时,考虑到真实的社会属性,一个实体可能既属于第一类,也属于第二类,这要求所创建的数据模型要考虑分类之间具有重复的实体的情形。

另外,传统的数据往往采集自同一类型的实体,且样本与样本间经常是相互独立的,这样,对传统数据的聚类也只牵涉到一个维 度。举例来说,对某个人群进行调查,收集他们的生理信息(身高、体重等)以及他们的社会信息(受教育程度、职业等),然后依据这些信息对该人群进行分类,将各方面条件比较接近的人分成一个子群,就是一个传统的聚类问题。然而,大量的关系数据描述的是多类实体间的关系,所以对关系型数据进行聚类经常需要牵涉两个或两个以上的维度。举例而言,在收集一批观看者对一系列电影的评分、然后根据评分情况对用户和电影进行协同聚类的场景下,用户对于电影的评分就是关系型数据,从用户和电影两个维度对评分进行协同聚类就是关系数据聚类。因为信息使用较为完备,这样的聚类结果往往好于单从用户或者电影一个维度对评分进行聚类的结果。

现有技术中,能够表示分类与分类之间具有重叠的数据的建模方法主要是混合隶属度随机块模型(Mixed membership stochastic block model,MMSB)。然而,这一方法只能对同一类型的实体间的关系数据进行建模,无法处理前述的第一类型实体和第二类型实体之间的关系数据,因此具有非常大的局限性。



技术实现要素:

为了解决现有技术中存在的上述问题,本说明书提出如下方案。

根据本发明的一个方面,提出一种为关系数据创建数据模型的方法,所述关系数据基于多个第一类型实体和多个第二类型实体,所述方法包括:确定描述所述数据模型的多个变量,所述多个变量包括:第一变量集合,所述第一变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第一类型实体的特征;以及第二变量集合,所述第二变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第二类型实体的特征。该方法还包括:针对所述多个变量中的每个变量选择近似分布;并且迭代地更新所述近似分布的参数,直至所述数据模型收敛。

在本发明的可选实现中,所述第一变量和所述第二变量为布尔 型变量,并且其中,所述多个变量进一步包括:第三变量集合,所述第三变量指示所述第一变量和所述第二变量的变量组合对所述第一类型实体与所述第二类型实体的关系的联合影响。

在本发明的可选实现中,所述多个变量进一步包括:第四变量集合,所述第四变量指示所述多个第一类型实体中具有所述第一变量集合中的相应第一变量的第一类型实体的比例;以及第五变量集合,所述第五变量指示所述多个第二类型实体中具有所述第二变量集合中的相应第二变量的第二类型实体的比例。

在本发明的可选实现中,为所述第一变量和所述第二变量选择的近似分布包括伯努利分布,为所述第三变量选择的近似分布包括正态分布,为所述第四变量和所述第五变量选择的近似分布包括贝塔分布。

在本发明的可选实现中,所述迭代地更新所述近似分布的参数进一步包括:使用梯度上升算法来迭代地更新所述近似分布的参数。

在本发明的可选实现中,所述迭代地更新所述近似分布的参数进一步包括:迭代地更新所述第一变量和所述第二变量的所述近似分布的参数;以及迭代地更新所述第三变量、所述第四变量和所述第五变量的所述近似分布的参数。

在本发明的可选实现中,所述迭代地更新所述近似分布的参数包括:按照随机顺序更新所述三变量、所述第四变量以及所述第五变量的所述近似分布的参数。

在本发明的可选实现中,用于为关系数据创建数据模型的方法进一步包括:为所述一个或多个变量中的每个变量选择先验分布,其中,所述数据模型的收敛情况至少基于以下内容确定:

(1)所述一个或多个变量中的每个变量的后验分布与相应的近似分布的差异;以及

(2)对于任意给定的第一类型实体和第二类型实体,至少根据影响所述给定的第一类型实体和第二类型实体关系的第一变量和第二变量的当前值所获得的所述给定的第一类型实体和所述第二类型 实体的关系的似然值。

在本发明的可选实现中,所述第一类型不同于所述第二类型。

根据本发明的另一方面,提出一种为关系数据创建数据模型的装置,所述关系数据基于多个第一类型实体和多个第二类型实体,所述装置包括:确定单元,被配置为确定描述所述数据模型的多个变量,所述多个变量包括:第一变量集合,所述第一变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第一类型实体的特征;以及第二变量集合,所述第二变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第二类型实体的特征。该装置还包括:近似分布选择单元,被配置为针对所述多个变量中的每个变量选择近似分布;以及更新单元,被配置为迭代地更新所述近似分布的参数,直至所述数据模型收敛。

在本发明的可选实现中,所述第一变量和所述第二变量为布尔型变量,并且其中,所述多个变量进一步包括:第三变量集合,所述第三变量指示所述第一变量和所述第二变量的变量组合对所述第一类型实体与所述第二类型实体的关系的联合影响。

在本发明的可选实现中,所述多个变量进一步包括:第四变量集合,所述第四变量指示所述多个第一类型实体中具有所述第一变量集合中的相应第一变量的第一类型实体的比例;以及第五变量集合,所述第五变量指示所述多个第二类型实体中具有所述第二变量集合中的相应第二变量的第二类型实体的比例。

在本发明的可选实现中,为所述第一变量和所述第二变量选择的近似分布包括伯努利分布,为所述第三变量选择的近似分布包括正态分布,为所述第四变量和所述第五变量选择的近似分布包括贝塔分布。

在本发明的可选实现中,所述迭代地更新所述近似分布的参数进一步包括:使用梯度上升算法来迭代地更新所述近似分布的参数。

在本发明的可选实现中,所述迭代地更新所述近似分布的参数进一步包括:迭代地更新所述第一变量和所述第二变量的所述近似 分布的参数;以及迭代地更新所述第三变量、所述第四变量和所述第五变量的所述近似分布的参数。

在本发明的可选实现中,所述迭代地更新所述近似分布的参数包括:按照随机顺序更新所述三变量、所述第四变量以及所述第五变量的所述近似分布的参数。

在本发明的可选实现中,用于为关系数据创建数据模型的装置进一步包括:选择单元,被配置为为所述一个或多个变量中的每个变量选择先验分布,其中,所述数据模型的收敛情况至少基于以下内容确定:

(1)所述一个或多个变量中的每个变量的后验分布与相应的近似分布的差异;以及

(2)对于任意给定的第一类型实体和第二类型实体,至少根据影响所述给定的第一类型实体和第二类型实体关系的第一变量和第二变量的当前值所获得的所述给定的第一类型实体和所述第二类型实体的关系的似然值。

在本发明的可选实现中,所述第一类型不同于所述第二类型。

通过本发明的上述各种实现,可以实现相互之间具有重叠实体的分类,从而符合真实的社会属性,而同时对所处理的关系数据涉及的实体的类型和数量均没有要求。另外,本发明的示例实施方式通过对引入多个特定变量集合,使得数据模型创建的过程更为高效和准确。

附图说明

通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得明显。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中相同的参考标号表示相同或相似的元素。

图1A图示了MMSB所能处理的实体关系的示意图;

图1B图示了另一种较为普遍的实体间的关系的示意图;

图2图示了根据本发明示例实施方式的用于为关系数据创建数据模型的方法200;

图3图示了根据本发明示例性实施方式的用于为关系数据创建数据模型的装置300;

图4示出了适于用来实现本发明实施方式的示例性计算系统400的框图。

具体实施方式

下面将参考附图中示出的若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。另外,在本文中,相同的变量或符号表示相同的含义,不进行重复赘述。

如在背景技术中所描述的,能够处理分类之间具有重叠的情形的建模方式MMSB对所要建模的实体具有特殊要求。图1A图示了MMSB所能处理的实体关系的示意图。图1A的行和列各自代表关系所涉及的两方实体,其中黑色的方格代表相应的行和列实体之间具有关系,而白色的方格代表相应的行和列之间没有关系。可以看到,在图1A中,行实体和列实体是同一类型的实体(例如,都是用户),并且行实体和列实体的数量相等(例如,均为J个)。这种情形一般会在描述社区中的成员关系时出现。然而,在现实社会中,存在大量的具有更为复杂关系的数据。

例如,图1B图示了较为普遍的实体间的关系的示意图。同样,图1B的行和列各自代表关系所涉及的两方实体,其中黑色的方格代表相应的行和列实体之间具有关系,而白色的方格代表相应的行和列之间没有关系。可以看到,图1B所示的两方实体可以是不同类型的实体(例如,顾客VS餐馆),并且行实体和列实体的数量既可以相等也可以不同(例如,I个顾客VS J个餐馆)。容易理解,图1B所示出的关系数据比图1A所示出的关系数据更具有普适性。然而, 现有技术中缺乏对这种关系数据进行建模、而又能够表现分类间具有重叠情形的有效方法。

图2图示了根据本发明示例实施方式的用于为关系数据创建数据模型的方法200,其中关系数据基于多个第一类型实体和多个第二类型实体,其用于描述第一类型实体和第二类型实体之间的关系。需要说明的是,第一类型可以与第二类型相同或不同,相应地,第一类型实体与第二类型实体的数量也可以相同或不同。换而言之,方法200对所处理的关系数据所涉及的实体的类型和数量均没有限制。

为了便于说明,用I×J矩阵X来表示I个第一类型实体与J个第二类型实体的关系数据:

其中的每个元素xij代表第i个第一类型的实体与第j个第二类型实体之间的关系。在取值上,xij根据所描述的实际场景可以是二进制数、自然数或实数等等。例如,在关系数据描述的是顾客是否到过餐馆就餐的情况下,xij可以是二进制数,而在关系数据描述的是顾客对餐馆的评价的情况下,xij可以自然数,等等。本领域技术人员应当理解,上述对xij取值的说明仅是示意性的,不作为对本发明的限制。

如图2所示,方法200包括步骤S210,确定描述所述数据模型的多个变量。这里所称的多个变量可以包括第一变量集合和第二变量集合,其中,所述第一变量集合中的各第一变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第一类型实体的特征;而所述第二变量集合中的各第二变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第二类型实体的特征。需要注意的是,第一变量和第二变量的取值既可以是整型、实数型、也可以是布尔型等其他类型,根据实际情况而定,本发明在此方面不受限制。

考虑顾客对餐馆评价的示例。影响顾客对餐馆的评价的因素可能是多重的。这些因素例如包括来自顾客一方的因素,比如“年轻”还是“年老”、“高学历”还是“低学历”、“南方人”还是“北方人”,等等。类似的,这些因素也可以包括来自餐馆一方的因素,例如“有停车位”还是“无停车位”、“环境好”还是“环境差”,等等。本领域技术人员应当理解,其中,可以用于将实体区分开、有助于实体的聚类的因素在本上下文中称为实体的“特征”。因此,可以将影响顾客i(1≤i≤I)对餐馆j(1≤j≤J)的评价xij的顾客的特征表示为K个第一变量的集合U=(u1,u2,u3,…uK),在具体的示例中,顾客与所涉及的第一变量集合之间的关系可以例如表示为如下I×K的矩阵(I个顾客VS K个第一变量):

类似地,可以将影响顾客i(1≤i≤I)对餐馆j(1≤j≤J)的评价xij的餐馆的特征表示为L个第二变量的集合V=(v1,v2,v3,…vL),在具体的示例中,餐馆与所涉及的第二变量之间的关系可以例如表示为如下J×L的矩阵(J个餐馆VS L个第二变量):

需要注意的是,虽然在步骤S210中仅描述了第一变量集合和第二变量集合,但应当理解,该数据模型的多个变量还可以根据需要包括或不包括其他变量,本发明在此方面不受限制。

接下来,方法200前进到步骤S220,针对该多个变量中的每个变量选择近似分布(下文中用q表示)。为了便于计算,所选择的近似分布通常是性质较好的简单分布。在根据本发明的可选实现中,为每个第一变量uik和每个第二变量vjl选择的近似分布例如可以是伯努利分布,即,

<mrow> <msub> <mi>q</mi> <msub> <mi>&rho;</mi> <mi>ik</mi> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>ik</mi> </msub> <mo>)</mo> </mrow> <mo>~</mo> <mi>Bernoulli</mi> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>ik</mi> </msub> <mo>|</mo> <msub> <mi>&rho;</mi> <mi>ik</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow>并且

其中,和分别代表第一变量和第二变量的近似分布,ρik和分别代表相应分布中的参数,1≤i≤I,1≤k≤K,1≤j≤J,1≤l≤L。

本领域技术人员应当理解,虽然在示例中示出选择伯努利分布作为第一变量和第二变量的近似分布,然而本发明并不局限于此,选择其他分布也在本发明的范围之内。

接下来,方法200前进到步骤S230,迭代地更新该近似分布的参数,直至该数据模型收敛。

实现迭代更新的一个示例是通过使用梯度上升算法来进行,然而本领域技术人员应当理解,其他现有的迭代更新的算法也在本发明的构思之内。

另外,数据模型是否收敛的判定标准也可以采用多种不同的方式。例如,在根据本发明进一步实施方式的说明性而非限制性示例中,可以首先为步骤S210中所确定的多个变量中的每个变量选择先验分布(下文中用p表示)。在一个实现中,仍然可以为第一变量集合中的每个第一变量以及第二变量集合中的每个第二变量选择伯努利分布作为其的先验分布,即,

p(uik)~Bernoulli(πk),并且

p(vjl)~Bernoulli(τl)

其中,p(uik)和p(vjl)分别代表第一变量和第二变量的先验分布,πk和τl分别代表相应分布中的参数,其取值可以是经验值,或者根据具体情况来设定,1≤i≤I,1≤k≤K,1≤j≤J,1≤l≤L。

在此基础上,该数据模型的收敛情况可以至少基于以下内容来确定:

(1)所述多个变量中的每个变量的先验分布与相应的近似分布的差异;以及

(2)对于任意给定的第一类型实体和第二类型实体,至少根据影响所述给定的第一类型实体和第二类型实体关系的第一变量和第二变量的当前值所获得的所述给定的第一类型实体和所述第二类型实体的关系的似然值。

本领域技术人员可以理解,每个变量的先验分布与相应的近似分布的差异和所获得的似然值会共同影响数据模型的收敛情况。其中,在多个变量还包括除第一变量集合和第二变量集合之外的其他变量的情况下,似然值的获得也可能受到其他变量的影响,后文举例详述。

至此,方法200结束。

可以看到,一方面,通过引入第一变量集合和第二变量集合来描述数据模型,可以使得该数据模型所能处理的关系数据涉及的实体类型和数量均不受限制,克服了传统的MMSB方法所具有的缺陷;另一方面,在学习出数据模型收敛时所确定的第一变量集合和第二变量集合之后,可以容易地对第一类型的实体按照其所涉及的第一变量的取值来分类;以及对第二类型的实体按照其所涉及的第二变量的取值来分类,并且这样的分类之间可以具有重复的实体,更为符合真实的社会属性。

例如,在前述顾客对餐馆进行评价的示例中,可以按照“年龄”将顾客1和顾客2分为一组,而将顾客3分为另一组;或者按照“学历”将顾客1和顾客3分为一组,而将顾客2分为另一组;或者按照“籍贯”将顾客1和顾客3分为一组,而将顾客2分为另一组。

同样的,可以按照“停车便利度”将餐馆1和餐馆2分为一组,而将餐馆3分为另一组;或者按照“环境”将餐馆1和餐馆3分为一组,而将餐馆2分为另一组;或者按照“口味”将餐馆2和餐馆3 分为一组,而将餐馆1分为另一组。

由于这些分类结果是考虑到第一类型实体与第二类型实体的关系及其相应的特征而获得的,既符合真实的社会属性也具有较高的准确度,因此具有广泛的应用。比如,可以对关系数据中已涉及的某一第一类型实体和第二类型实体之间尚无关系时(例如顾客4没有对餐馆5进行评价),预测它们之间的关系。或者,可以在新加入一个新的第一类型实体时,根据其所涉及的特征进行分类,从而为该新加入的第一类型实体推荐第二类型实体。

如前所述,数据模型的多个变量可以包括除了第一变量集合和第二变量集合之外的其他变量。根据本发明的一个可选实施方式,在第一变量和第二变量是布尔型变量时,该多个变量可以进一步包括第三变量集合,其中的每个第三变量用于指示第一变量和第二变量的变量组合对第一类型实体和第二类型实体的关系的联合影响。

在第一变量和第二变量是布尔型变量时,顾客与所涉及的第一变量集合之间的关系例如可以是如下的I×K的矩阵(I个顾客VS K个第一变量):

餐馆与所涉及的第二变量集合之间的关系例如可以是如下的J×L的矩阵(J个餐馆VS L个第二变量):

将第一变量/第二变量的取值限定为布尔型使得第一变量/第二变量的取值使得能够容易且清晰地表明第一类型实体在与第二类型实体发生关系(例如,评价)时受到哪些第一变量及第二变量的影响(例如,取值为“1”表示受到该变量的影响,取值为“0”表示未受该变量的影响),这时,可以将第一变量和第二变量对第一类型实体和第二类型实体的关系的联合影响程度单独用第三变量集合W来表示,W可以表示为如下K×L的矩阵:

其中,wkl可以为任意实数值,其表示第一变量uk和第二变量vl对形成顾客与餐馆关系的联合影响。例如,在前述顾客对餐馆的评价的示例中,w11表示“年轻”和“有车位”共同对顾客评价餐馆的联合影响。

在引入了第三变量的情况下,步骤S220中为每个变量选择近似分布也包括为第三变量集合W中的每个wkl选择近似分布,在根据本发明的可选实现中,为wkl选择近似的分布的示例例如为正态分布,即,

其中,代表第三变量的近似分布,φkl和分别代表近似分布中的参数,1≤k≤K,1≤l≤L。

需要注意的是,在引入第三变量集合W的数据模型中,该数据模型的是否收敛的判定标准在前述的基础上也应当考虑到第三变量而加以调整。例如,可以为第三变量选择先验分布。在实现中,可采用正态分布作为第三变量的先验分布,即:

<mrow> <mi>p</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mrow> <mi>k</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>~</mo> <mi>Normal</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>,</mo> <msubsup> <mi>&sigma;</mi> <mi>w</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> </mrow>

其中,p(wkl)代表第三变量的先验分布,是该分布中的参数,表示W的方差,这里,采用先验值,同样1≤k≤K,1≤l≤L。

这样,前述数据模型的收敛情况所基于的内容(1)(即,各变 量的先验分布与近似分布的差异)中要包括第三变量的先验分布与其近似分布的差异;并且前述数据模型的收敛情况所基于的内容(2)(即,似然值的计算)中,给定的第一类型实体和所述第二类型实体的关系的似然值的计算还应当进一步考虑到第三变量集合中的每个变量的取值。

如上所述,通过将第一变量和第二变量设置为布尔型,同时引入描述第一变量和第二变量的组合对第一类型实体和第二类型实体之间关系的联合影响的第三变量集合,简化了第一变量和第二变量的形式,也使得各变量的含义对于机器学习而言更为明确,从而提高创建数据模型的效率。

此外,根据本发明的进一步实施方式,该数据模型的多个变量还可以可选地包括第四变量集合和第五变量集合。其中,第四变量指示所述多个第一类型实体中具有所述第一变量集合中的相应第一变量的第一类型实体的比例,每个第五变量指示所述多个第二类型实体中具有所述第二变量集合中的相应第二变量的第二类型实体的比例。

由于第四变量是反映具有某个第一变量的第一类型实体的统计值,第四变量集合中的每个第四变量对应于一个第一变量,因此可以将第四变量集合表示为π=(π123,…πK)。类似地,由于第五变量是反映具有某个第二变量的第二类型实体的统计值,第五变量集合中的每个第五变量对应于一个第二变量,因此可以将第四变量集合表示为τ=(τ123,…τL)。

在引入了第四变量和第五变量的情况下,步骤S220中为每个变量选择近似分布也包括分别为第四变量和第五变量选择近似分布。例如,可以为第四变量和第五变量选择贝塔分布,即,

<mrow> <msub> <mi>q</mi> <msub> <mi>a</mi> <mi>k</mi> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>&pi;</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>~</mo> <mi>Beta</mi> <mrow> <mo>(</mo> <msub> <mi>&pi;</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>a</mi> <mrow> <mi>k</mi> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>a</mi> <mrow> <mi>k</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow>并且

<mrow> <msub> <mi>q</mi> <msub> <mi>b</mi> <mi>l</mi> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> <mo>~</mo> <mi>Beta</mi> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>l</mi> </msub> <mo>|</mo> <msub> <mi>b</mi> <mrow> <mi>l</mi> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>b</mi> <mrow> <mi>l</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow>

其中,和分别代表第四变量和第五变量的近似分布,ak1,ak2,bl1,bl2为相应贝塔分布的参数,1≤k≤K,1≤l≤L。

本领域技术人员也应当理解,虽然在示例中示出选择贝塔分布作为第四变量和第五变量的近似分布,然而本发明并不局限于此,选择其他分布也在本发明的范围之内。

类似地,需要注意的是,在引入第四变量集合π和第五变量集合τ的数据模型中,该数据模型是否收敛的判定标准在前述的基础上也应当考虑到第四变量和第五变量而加以调整。例如,可以为第四变量和第五变量选择先验分布。在实现中,可采用贝塔分布作为第四变量和第五变量的先验分布,即:

p(πk)~Beta(α/K,1),并且

p(τl)~Beta(β/L,1)

其中,p(πk)代表第四变量的先验分布,p(τl)代表第五变量的先验分布,K和L分别是相应贝塔分布中的参数,这里,K和L采用先验值。此时,前述数据模型的收敛情况所基于的内容(1)(即,各变量的先验分布与近似分布的差异)中要包括第四变量和第五变量的先验分布与其近似分布的差异。

通过引入第四变量和第五变量这两个分别与第一变量和第二变量关联的统计变量,有助于第一变量和第二变量的更新,进一步提升创建数据模型的效率。

此外,根据本发明的可选实施方式,在具有第一变量至第五变量等五类变量的数据模型的创建过程中,方法200的步骤S230中迭代地更新各近似分布的参数可以进一步包括:迭代地更新所述第一变量和所述第二变量的所述近似分布的参数;以及迭代地更新所述第三变量、所述第四变量和所述第五变量的所述近似分布的参数。

也即,第一变量和第二变量的近似分布的参数在第三变量至第五变量的近似分布的参数之前更新。这样的更新顺序充分考虑了各变量的近似分布的参数在更新过程中对其他变量的影响,有助于进一步提高创建数据模型的效率。

根据本发明的另一可选实施方式,方法200的步骤S230中迭代地更新所述近似分布的参数还可以包括按照随机顺序更新所述三变 量、所述第四变量以及所述第五变量的所述近似分布的参数。通过将更新顺序随机化可以避免在对参数的更新过程中落入局部最优值,进一步提升数据模型创建的准确性。

为了更好地理解本发明,以下提供一个具体的实现流程。在流程中,假定为数据模型确定的多个变量包括第一变量集合至第五变量集合。并且在流程中,涉及的所有变量和参数与前述的说明一致,不再赘述。本领域技术人员还需理解,以下的描述仅仅是说明性的实现,并不作为对本发明任何方面的限制。

(i)首先,为第一变量集合中第一变量的数量K以及第二变量集合中第二变量的数量L设置不同的取值。例如,K=Kmin,…,Kmax;L=Lmin,…,Lmax,其中,Kmin、Kmax、Lmin和Lmax的具体取值根据实际的关系数据而定;

(ii)接着,对于K和L的每个取值的组合,进行如下步骤:

(a)初始化先验分布中所涉及的参数α,β和σw,以及近似分布中所涉及的参数a,b,ρ,和φ。本领域技术人员应当理解,可以通过取随机值的方式来初始化各参数,也可以为各参数初始化一个经验值,本发明在此方面不受限制。

(b)判断收敛标准是否满足,当收敛标准不满足时,进行步骤(b-1)至(b-4)。收敛标准的确定可以例如通过引入证据下界(Evidence Lower Bound,ELBO)L来进行。即,使得所计算出的证据下界L最大化:

L=Eq[log p(X,Λ|θ)]+H(q(Λ)),

其中,Eq表示近似分布q的期望,H(q(Λ))表示熵,p(X,Λ|θ)表示联合分布,q(Λ)表示近似分布,可以分别扩展为:

<mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>&Lambda;</mi> <mo>|</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>p</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>|</mo> <mi>U</mi> <mo>,</mo> <mi>V</mi> <mo>,</mo> <mi>W</mi> <mo>)</mo> </mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>U</mi> <mo>|</mo> <mi>&pi;</mi> <mo>)</mo> </mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>V</mi> <mo>|</mo> <mi>&tau;</mi> <mo>)</mo> </mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>W</mi> <mo>|</mo> <msubsup> <mi>&sigma;</mi> <mi>W</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>&pi;</mi> <mo>|</mo> <mi>&alpha;</mi> <mo>)</mo> </mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>&tau;</mi> <mo>|</mo> <mi>&beta;</mi> <mo>)</mo> </mrow> <mo>,</mo> </mrow>以及

其中,α,β是印度自助餐过程(India Buffet Process,IBP)的先验参数,用来控制期望得到的第一和第二变量的个数;是W的方差,在实现中,W可以采用0均值高斯先验。

通过进一步引入随机优化技术,ELBO的计算可以扩展如下:

其中,i’和j’是所采样的实体对(将在步骤b-1中详述),k=1,…,K,l=1,…,L。这样,模型的收敛条件可以转换为使得Li’j’最大化。

(b-1)在关系数据X中采样实体对的子集S,该子集中的每个元素代表相关实体对之间的关系。本文中用i’,j’表示所采样的实体对,i′~Uniform(1,…,I),j′~Uniform(1,…,J);

(b-2)对于子集S中的任意实体对i’,j’,更新参数ρi′一种示例的更新方法可以是在首先对参数进行求导得到梯度之后,再采用传统的梯度交替上升方法进行,或者将关于这两个参数的噪声自然梯度和设置为0,再求解等式来获得更新的参数ρi′

(b-3)计算参数的噪声自然梯度(称之为“噪声自然梯度”是因为此时的梯度尚不是准确值):以及其中,k=1,…,K,l=1,…,L;

(b-4)对任意k和l(k=1,…,K,l=1,…,L),更新参数a,b和φ: <mrow> <msub> <mi>a</mi> <mi>k</mi> </msub> <mo>&LeftArrow;</mo> <msub> <mi>a</mi> <mi>k</mi> </msub> <mo>+</mo> <msup> <mi>&lambda;</mi> <mi>t</mi> </msup> <mo>&PartialD;</mo> <msubsup> <mi>a</mi> <mi>k</mi> <mi>t</mi> </msubsup> <mo>,</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>&LeftArrow;</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>+</mo> <msup> <mi>&lambda;</mi> <mi>t</mi> </msup> <mo>&PartialD;</mo> <msubsup> <mi>b</mi> <mn>1</mn> <mi>t</mi> </msubsup> <mo>,</mo> <msub> <mi>&phi;</mi> <mrow> <mi>k</mi> <mn>1</mn> </mrow> </msub> <mo>&LeftArrow;</mo> <msub> <mi>&phi;</mi> <mrow> <mi>k</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msup> <mi>&lambda;</mi> <mi>t</mi> </msup> <mo>&PartialD;</mo> <msubsup> <mi>&phi;</mi> <mrow> <mi>k</mi> <mn>1</mn> </mrow> <mi>t</mi> </msubsup> <mo>,</mo> </mrow>其中,λt是给定的步长,可以表示为λt=(τ0+t)。在公式中,t表示迭代的次数,其取值为大于等于0的整数;κ表示控制迭代速度的参数,为事先设置的常数,优选取值在0.5至1之间;τ0用于调整t的取值对步长的影响,也是事先设定的常数,优选取值为大于等于0的小实数;

(iii)选择使得所计算的ELBO最大化的K和L,以及对应的参数值,由此建立数据模型。

接下来参照图3进一步描述根据本发明示例性实施方式的用于为关系数据创建数据模型的装置300。

如图所示,装置300包括确定单元301、近似分布选择单元302和更新单元303。其中,确定单元301被配置为确定描述所述数据模型的多个变量,所述多个变量包括:第一变量集合,所述第一变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第一类型实体的特征;以及第二变量集合,所述第二变量表示影响所述第一类型实体和所述第二类型实体的关系的、所述第二类型实体的特征。近似分布选择单元302被配置为针对所述多个变量中的每个变量选择近似分布。更新单元303被配置为迭代地更新所述近似分布的参数,直至所述数据模型收敛。

在本发明的可选实施方式中,所述第一变量和所述第二变量为布尔型变量,并且其中,所述多个变量进一步包括:第三变量集合,所述第三变量指示所述第一变量和所述第二变量的变量组合对所述第一类型实体与所述第二类型实体的关系的联合影响。

在本发明的可选实施方式中,所述多个变量进一步包括:第四变量集合,所述第四变量指示所述多个第一类型实体中具有所述第一变量集合中的相应第一变量的第一类型实体的比例;以及第五变量集合,所述第五变量指示所述多个第二类型实体中具有所述第二变量集合中的相应第二变量的第二类型实体的比例。

在本发明的可选实施方式中,为所述第一变量和所述第二变量选择的近似分布包括伯努利分布,为所述第三变量选择的近似分布包括正态分布,为所述第四变量和所述第五变量选择的近似分布包括贝塔分布。

在本发明的可选实施方式中,所述迭代地更新所述近似分布的参数进一步包括:使用梯度上升算法来迭代地更新所述近似分布的参数。

在本发明的可选实施方式中,所述迭代地更新所述近似分布的参数进一步包括:迭代地更新所述第一变量和所述第二变量的所述近似分布的参数;以及迭代地更新所述第三变量、所述第四变量和所述第五变量的所述近似分布的参数。

在本发明的可选实施方式中,所述迭代地更新所述近似分布的参数包括:按照随机顺序更新所述三变量、所述第四变量以及所述第五变量的所述近似分布的参数。

在本发明的可选实施方式中,装置300进一步包括:选择单元,被配置为为所述一个或多个变量中的每个变量选择先验分布,其中,所述数据模型的收敛情况至少基于以下内容确定:

(1)所述一个或多个变量中的每个变量的后验分布与相应的近似分布的差异;以及

(2)对于任意给定的第一类型实体和第二类型实体,至少根据影响所述给定的第一类型实体和第二类型实体关系的第一变量和第二变量的当前值所获得的所述给定的第一类型实体和所述第二类型实体的关系的似然值。

在本发明的可选实施方式中,所述第一类型不同于所述第二类型。

下面参考图4,其示出了适于用来实践本发明实施方式的计算机系统400的示意性框图。例如,图4所示的计算机系统400可以用于实现如上文描述的为关系数据创建数据模型的装置300的各个部件,也可以用于固化或实现如上文描述的用于为关系数据创建数据模型的方法200的各个步骤。

如图4所示,计算机系统可以包括:CPU(中央处理单元)401、RAM(随机存取存储器)402、ROM(只读存储器)403、系统总线404、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408、显示控制器409、硬盘410、键盘411、串行外部设备412、并行外部设备413和显示器414。在这些设备中,与系统总线404耦合的有CPU 401、RAM 402、ROM 403、硬盘控制器405、键盘控制器406、串行控制器407、并行控制器408和显示控制器409。硬盘410与硬盘控制器405耦合,键盘411与键盘控制器406耦合,串行外部设备412与串行接口控制器407耦合,并行外部设备413与并行接口控制器408耦合,以及显示器414与显示控制器409耦 合。应当理解,图4所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。

如上所述,装置300可以实现为纯硬件,例如芯片、ASIC、SOC等。这些硬件可以集成在计算机系统400中。此外,本发明的实施方式也可以通过计算机程序产品的形式实现。例如,参考图2描述的方法200可以通过计算机程序产品来实现。该计算机程序产品可以存储在例如图4所示的RAM 404、ROM 404、硬盘410和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统400上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图4中示出的CPU 401)执行的程序指令。所述程序指令至少可以包括用于实现方法200的步骤的指令。

上文已经结合若干具体实施方式阐释了本发明的精神和原理。根据本发明的用于为关系数据创建数据模型的方法和系统相对于现有技术具有诸多优点。例如,通过本发明所创建的数据模型可以实现相互之间具有重叠的分类,从而符合真实的社会属性;而又对所处理的关系数据涉及的实体的类型和数量均没有要求。另外,本发明的示例实施方式通过对引入多个特定变量集合,使得数据模型创建的过程更为高效和准确。

应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的 硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

说明书中提及的通信网络可以包括各类网络,包括但不限于局域网(“LAN”),广域网(“WAN”),根据IP协议的网络(例如,因特网)以及端对端网络(例如,ad hoc对等网络)。

应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1