2.4 常见开放域知识图谱的知识表示方法
不同的知识图谱项目都会根据实际的需要选择不同的知识表示框架。这些框架有不同的描述术语、表达能力、数据格式等方面的考虑,但本质上有相似之处。这里以三个最典型的开放域知识图谱(Freebase、Wikidata、ConceptNet)为例,尝试比较不同的知识图谱项目选用的知识表示框架,并总结影响知识表示框架选择的主要因素。为便于比较分析,以RDF、OWL的描述术语和表达能力为主要比较对象。
2.4.1 Freebase
Freebase的知识表示框架主要包含如下几个要素:对象-Object、事实-Facts、类型-Types和属性-Properties。“Object”代表实体。每一个“Object”有唯一的ID,称为MID (Machine ID)。一个“Object”可以有一个或多个“Types”。“Properties”用来描述“Facts”。例如,“Barack Obama”是一个Object,并拥有一个唯一的MID:“/m/02mjmr”。这个Object的一个type是“/government/us_president”,并有一个称为“/government/us_president/presidency_number”的Property,其数值是“44”。Freebase使用复合值类型(Compound Value Types,CVT)处理多元关系。
如图2-16所示,示例的CVT描述了关于Obama的任职期限的多元关系“government_position_held”。这个多元关系包含多个子二元关系:“office_holder”“office_position”“from”“to”等。一个CVT就是有唯一MID的Object,也可以有多个Types。为了以示区别,Freebase把所有非CVT的Object也称为“Topic”。
图2-16 Freebase的知识表示结构示例
2.4.2 Wikidata
Wikidata的知识表示框架主要包含如下要素:页面-Pages、实体-Entities、条目-Items、属性-Properties、陈述-Statements、修饰-Qualifiers、引用-Reference等。Wikidata起源于Wikipedia,因此与Wikipedia一样,以页面“Page”为基本的组织单元。Entities类似于OWL:Things,代指最顶层的对象。每一个Entity都有一个独立的维基页面。Entities主要有两类:Items和Properties。Items类似于RDF中的Instance,代指实例对象。Properties和Statements分别等价于RDF中的Property和Statement。通常一个Item的页面还包含多个别名-aliases和多个指向Wikipedia的外部链接-Sitelinks。
每个Entities有多个Statements。一个Statement包含一个Property、一个或多个Values、一个或多个Qualifiers、一个或多个References、一个标识重要性程度的Rank。
修饰-Qualifiers用于处理复杂的多元表示。如一个陈述“spouse: Jane Belson”描述了一个二元关系。可以使用Qualifiers给这个陈述增加多个附加信息来刻画多元关系,如“start date: 25 November 1991” and “end date: 11 May 2011”等。
引用-References用于标识每个陈述的来源或出处,如来源于某个维基百科页面等。引用也是一种Qualifiers,通常添加到Statements的附加信息中。
Wikidata支持多种数值类型,包括其自有的Item类型、RDF Literal、URL、媒体类型Commons Media,以及Time、Globe coordinates和Quantity三种复杂类型。
Wikidata允许给每个Statement增加三种权重:normal(缺省)、preferred和deprecated。
Wikidata定义了三种Snacks作为Statement的具体描述结构:PropertyValueSnack、PropertyNoValueSnack、PropertySomeValueSnack。PropertyNoValueSnack类似于OWL中的Negation,表示类似于“Elizabeth I of England had no spouse”的知识。PropertySomeValueSnack类似于OWL中的存在量词someValuesFrom,表示类似于“Pope Linus had a date of birth, but it is unknown to us”这样的知识。
Wikidata的URI机制遵循了Linked Open Data的URI原则,采用统一的URI机制:http://www.wikidata.org/entity/<id>。其中,<id>可以是一个Item,如Q49,或者一个Property,如P234。
2.4.3 ConceptNet5
ConceptNet5的知识表示框架主要包含如下要素:概念-Concepts、词-Words、短语-Phrases、断言-Assertions、关系-Relations、边-Edges。Concepts由Words或Phrases组成,构成了图谱中的节点。与其他知识图谱的节点不同,这些Concepts通常是从自然语言文本中提取出来的,更接近自然语言描述,而不是形式化的命名。Assertions描述了Concepts之间的关系,类似于RDF中的Statements。Edges类似于RDF中的Property。一个Concepts包含多条边,而一条边可能有多个产生来源。例如,一个“化妆Cause漂亮”的断言可能来源于文本抽取,也可能来源于用户的手工输入。来源越多,该断言就越可靠。ConceptNet5根据来源的多少和可靠程度计算每个断言的置信度。ConceptNet5示例如图2-17所示。
图2-17 ConceptNet5示例
ConceptNet5中的关系包含21个预定义的、多语言通用的关系,如IsA、UsedFor等,以及从自然语言文本中抽取的更加接近自然语言描述的非形式化的关系,如on top of,caused by等。
ConceptNet5对URI进行了精心的设计。URI同时考虑了类型(如是概念还是关系)、语言、正则化后的概念名称、词性、歧义等因素。例如“run”是一个动词,但也可能是一个名词(如basement比赛中一个“run”),其URI为:“/c/en/run/n/basement”。其中,n代指这是一个名词,basement用于区分歧义。
在处理表示“x is the first argument of y”这类多元关系的问题上,ConceptNet5把所有关于某条边的附加信息增加为边的属性,如图2-18所示。
图2-18 ConceptNet5的知识表示结构