本节书摘来自华章出版社《短文本数据理解》一书中的第2章,第2.3节,作者:王仲远 编著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
本节首先直观地讨论属性的打分原则,进而介绍如何处理cb和ib列表以完成对属性的打分,最后讨论如何聚合不同数据源的属性得分。
2.3.1典型度得分
这项工作的目的在于计算属性概念对的p(a|c)数值。这个概率分数对机器推测有很大作用。
这个概率分数被定义为典型度(typicality)。在认知学和心理学上[104],典型度被用来研究为什么某些实体因为某个概念而被人类特别提起。例如,dog为pet的典型实体,因为它被频繁地当成pet提及,而且它与其他的pet实体具有很高的外形相似度[164]。同理,上述直觉可被用来研究属性的典型度。
如果属性a为概念c的典型属性,它应满足两个原则:
. a与c常常共同出现(频率)。
.a在c的实体的属性中很常见(家族相似度)。
根据上述直觉,population是country的一个典型属性,因为二者在cb和ib列表中被频繁观测。更进一步,这是由于大多数country的实体,比如china和germany,都有population这个属性。
上述论证证实了使用cb和ib量化p(a|c)的意义。二者都考虑了频率原则并且ib还考虑了家族相似度原则。相比之下,大多现有工作没有考虑这两项原则或只考虑了其中一项,如,参考文献[126,82,124,160]只考虑了频率;参考文献[125]只考虑了家族相似度;参考文献[122,138]没有考虑任何原则,而是使用属性的语境相似度。
下面将讲述如何从cb列表中将频率实体化,以及如何从ib列表中将频率和家族相似度实体化。
2.3.2根据cb列表计算典型度
回顾一下,cb列表的格式为(c,a,n(c,a))。按概念c为列表分组,可得到概念c的一系列属性a,以及它们的频率分布。给出这些信息,典型度得分p(a|c)可被计算为:
p(a|c)=n(c,a)∑a∈cn(c,a)
(2.7)
2.3.3根据ib列表计算典型度
下面阐述根据ib列表(i,a,n(i,a))计算典型度的方法。如前文所述,三组ib列表分别从网页文本、搜索日志和知识库中获取。这三组列表的质量在不同的概念c上有差异。因而,本章方法分别计算三组列表的典型度得分,然后将三组得分同cb列表的得分聚合。
为将ib模式联系到概念上,p(a|c)被展开为:
p(a|c)=∑i∈cp(a,i|c)=∑i∈cp(a|i,c)p(i|c)
(2.8)
基于这项展开式,任务被转化为计算p(a|i,c)和p(i|c)。举例而言,考虑ib模式“the age of george washington”,如果机器知道“george washington”是概念president的实体,那么这句话可以被用来计算属性age和概念president之间的典型度得分。在上式中,p(a|i,c)可将age和president间的典型度量化,而p(i|c)表示实体“george washington”对概念president的代表性。
通过probase计算p(a|i,c)和p(i|c):p(a|i,c)和p(i|c)可以基于probase计算。probase记录着“george washington”对概念president的代表性。为方便表达,下面假设一个实体只属于一个概念,后文将讨论去除该假设的情况。
首先计算p(a|i,c)。在p(a|i,c)=p(a|i)的假设下,p(a|i,c)可被计算为:
p(a|i,c)=p(a|i)=n(i,a)∑a∈in(i,a)
(2.9)
接下来计算p(i|c)。p(i|c)可被转化为:
p(i|c)=p(c|i)p(i)∑i∈cp(c|i)p(i*)
(2.10)
因此,这一任务被转化为从probase获取p(c|i)。在先前的简化假设下,p(c|i)表示概念c对某一实体i的代表性。在probase中如果这对概念和实体被观测到,则p(c|i)=1,否则p(c|i)=0。
在实际情况中,一个实体可能属于多个概念,从而衍生出如下两种情况:
[c1]有歧义的实体与不同的概念相关:“washington”可能表示president或state,而这两个概念的典型属性很不相同。简单的计算方式会导致将population错误地鉴别为概念president的典型属性。
[c2]无歧义的实体与相同的概念相关:即使某一实体没有歧义,它也有可能出现在不同的语境中。例如,“george washington”可能代表一个总统(president)、爱国者(patriot)或历史人物(historical figure)。属于不同概念的有歧义实体计算出的p(i|c)理论上应比属于相似概念的无歧义实体计算出的值低。简单的计算不能考虑概念间的相似性。
基于上述分析,我们的任务是无偏见地估算p(a|i,c)和p(c|i)的值。
p(a|i,c)和p(c|i)无偏见化:下面介绍如何无偏见化p(a|i,c)和p(c|i),以解决c1和c2两种情况。
首先计算p(a|i,c),如果实体i有歧义,一个从别的概念中获取的更高n(i,a)值不应被考虑。例如,虽然population与washington常常共现,在state name语境下,population不应被考虑成president的属性。因此,相交率(join ratio,jr)这个概念被使用来表示属性a与概念c相关的可能性。
jr(a,c)=jc(a,c)maxa∈c jc(a,c)
(2.11)
其中jc(a,c)被定义为概念c中的实体含有属性a的次数,这将a的家族相似度量化。通过观察,population之于president的jr得分接近0。这是由于概念president中的大多实体,如“george bush”,都没有population这个属性。
基于这个观念,式(29)可被去偏见化:
p(a|i,c)=n(i,a,c)∑an(i,a,c)
(2.12)
其中n(i,a,c)=n(i,a)jr(a,c)。
接下来计算p(c|i)。考虑一个实体属于多个概念的情况,如c2,p(c|i)可通过probase中的频率统计np(c,i)计算:
p(c|i)=np(c,i)∑cnp(c,i)
(2.13)
然而,使用上述公式不能很好地区分c1和c2。因而,我们通过计算两个概念c和c*之间的相似性来降低那些从不相似概念中获取的频率的权重。这一相似性可通过probase,使用两个实体集的jaccard相似分数来计算。通过这一取值为0~1的相似分数sim(c,c′),p(c|i)可被计算为:
p(c|i)=nu(c,i)∑c*nu(c′,i)
(2.14)
其中nu(c,i)=∑c′np(c′,i)sim(c,c′)。这样一来,不仅歧义问题得以处理,频率和家族相似度两项典型度原则也得以反映。
表2.4对比了式(213)和式(214)得出的p(i|c)。去偏见化前,有歧义实体的p(i|c)被过高估计,比如“washington”。去偏见化后,其数值明显降低。相比之下,实体“bush”虽与两个总统相关,但都对应president这个概念,因而应在president这个概念上得到较高得分。通过观察,去偏见化的结果符合这一原则,比如说“george washington”和“bush”的p(i|c)分数都比“washington”的要高。

表2.5描述了去偏见化是如何改进president这个概念的属性典型度排名的。表中所列的不属于president的属性在排名上都有不同程度的降低。这是由于在去偏见化前,“washington”的p(i|c)被高估,但其还可能属于state这个概念,这会导致与state相关的属性在president上也获得较高得分。
2.3.4典型度聚合
本节前面部分讨论了如何从cb网页文本列表中计算p(a|c),以及如何从ib的三个列表(网页文本、搜索日志和知识库)中计算该值。我们将这四个得分分别标记为pcb(a|c)、pib(a|c)、pqb(a|c)和pkb(a|c)。
要聚合这些得分并不是一项简单的工作,不同的分数来源对不同的概念有着互补的优势。对于包含很多有歧义的实体的概念,ib获取的得分置信度较低。比如,概念wine中的很多实体具有歧义,像“bordeaux”和“champagne”可以表示city的名字,从而具有city相关的属性,如mayor。在此例中,ib获取的得分置信度较低。然而在其他情况下,当概念可被扩展为大量无歧义的实体时,ib给出的得分则十分可靠。
这些观察表明单数据源不可能为所有概念给出可靠的得分,因而应将不同来源的得分聚合。我们希望算法能够基于概念特征自动为得分调整权重,从而为所有的概念给出可靠的得分。同现有的方法不同,这一新的算法框架可被应用于大量概念之上。
更为正式地,p(a|c)的计算可被转化为:
p(a|c)=wcbpcb(a|c)+wibpib(a|c)
+wqbpqb(a|c)+wkbpkb(a|c)
(2.15)
目标被转化为学习某一概念的相关权重。
这项任务采用线性核函数的ranking svm方法。该方法为一种常见的pairwise排序算法,同回归算法相比,其优势在于训练数据不需要具备准确的典型度得分标签。这符合问题的需求:虽然不能得到某一属性(比如population)的绝对得分,但可以陈述population比picture更典型这一事实。通过收集这样的成对比较数据作为训练数据,式(215)中的权重可被训练得到。
更为正式地阐述,来源m的权重wm为fim的线性组合,其中特征为实体i的歧义度或模式的统计显著性。
. f1m(avg mod bridging score:bridging score[121]通过实体是否属于不同概念来度量它的歧义度。
bridgingscore(i)=∑c1∑c2p(c1|i)p(c2|i)sim(c1,c2)
(2.16)
直观上说,这一分数在包含歧义的实体上较低,如“washington”。实验表明,bridging score的一种变换mod bridging score更为有效。
. f2m(avgp(c|i)):当实体属于很多不同的概念时,p(c|i)的值较低,因而它也可以作为实体歧义度的度量。
. f3m(∑(frequencym(a))/#attributem):当平均每属性的属性频率较低时,统计显著性较低。
. f4m(∑(frequencym(a))/#instancep):当平均每实体的属性频率较低时,统计显著性较低。
. f5m(#attributem/#instancep):当概念中实体的平均属性数较低时,对该概念的特征提取有效性较低。
更为正式地,wm可被表示为五个特征的线性合并wm=w0m+∑kwkmfkm。式(2.15)可被扩展为下式。
可见,这是一系列元素的线性变换。线性核函数的ranking svm算法可被用来学习参数。同已有的方法不同,上面提出的方法不需要覆盖所有概念的训练数据。
2.3.5同义属性集合
将概念和属性的关系量化后,我们得到一系列概念的属性。由于这些属性从网站获取,人们可能会使用不同的词来表示相同的含义,比如mission和goal都表示目的。
因而,另一项重要工作为将同义属性分组。若不进行这项工作,相同意义的属性会被分散稀释。
本章方法借助wikipedia[100]找寻同义属性,具体采用如下方式:
.wikipedia重定向:一些wikipedia链接没有自己的页面,访问这些链接会被重定向到相同主题的其他文章。下文使用xi→yi表示重定向。
. wikipedia内部链接:wikepedia的内部链接被表示为[[title|surface name]]。其中surface name为当前文本,title为链接到的网页。下文同样用xi→yi表示链接关系。
使用这些关系对可以链接同义属性。所有相连的属性可被视作一个属性聚类。在一个聚类内,频率最高的属性被当作该属性聚类的代表属性。