11.40 面向知识库的实体链接
近年来,万维网上的数据量飞速增长,万维网已经成为世界上最大、最丰富的数据仓库之一。万维网上的数据大多是以自然语言的形式而存在,比如新闻网页、个人主页、微博、论坛等。自然语言本身具有很高的歧义性,特别是对于那些在数据中经常出现的实体来说。一个实体可能拥有多个不同的名字,一个名字也可能指代多个不同的实体。
另一方面,由于知识库在信息检索、问答系统等领域的关键作用,人们渐渐意识到知识库构建对于未来万维网的发展至关重要。并且随着知识共享社区(比如* 、百度百科 )的出现,以及信息抽取技术的发展,使得大规模全面的知识库的构建成为可能。一般来说,知识库中包含的信息主要关于世界上的实体、实体的类型,以及实体之间的相互关系。目前比较出名的知识库,包括 Google知 识 图 谱 、DBpedia [1] 、YAGO [2] 、Freebase [3] 、KnowItAll [4] 、ReadTheWeb [5] 和 Probase [6] 。 图 1 右边展示了 YAGO 知识库的示例。
由上面的描述可以看出,一方面互联网上有大量的数据,另一方面我们有大规模的机器可理解的知识库,那么将这两方面的信息联系起来是一个非常有意义的工作。因为这样能使我们更好地理解这些互联网上大量杂乱的数据,同时也对语义网[7]的建设做出贡献。为实现这个目标,一个关键步骤就是为文本中出现的实体名字,找到它们在知识库中的对应实体,这个任务叫做实体链接。图 1 展示了一个实体链接任务示例,图左边是一段万维网文本。实体链接的任务就是为左边文本中出现的实体Angela Merkel找到它在YAGO知识库中的对应实体。
实体链接任务非常有意义,它是知识库扩展、问答系统等应用领域的重要基础工作。由于世界在不停地演变和发展,不断有很多新的实体、新的实体关系涌现。因此,利用新知识对现有知识库进行扩充和更新是一个非常必要的工作。在向知识库添加新知识的过程中,首先需要为新知识中关联的实体找到它们在现有知识库中相对应的实体,以便准确地将新知识添加进知识库,因此实体链接被认为是知识库扩展的一个非常重要的子任务。
例如,关系抽取是指从文本中抽取出实体之间有意义的关系的过程[8–11] 。如果我们想将通过信息抽取方法从文本中抽取出来的实体关系添加到知识库中,首先需要将这个实体关系所关联的实体链接到知识库中的对应实体。如从文本中抽取以下一个关系:“李娜”的配偶是“姜山”。在将这个关系添加到知识库中之前,首先为这个关系所关联的两个实体(“李娜”和“姜山”)排歧,也就是找到它们在知识库中的对应实体。因为在知识库中有很多叫做“李娜”的人,包括著名网球运动员李娜、跳水运动员李娜、演员李娜、歌手李娜等。同样,知识库中也有很多叫做“姜山”的实体。因此必须根据这个关系被抽取出来的周围文本对这两个实体进行链接,找到它们在知识库中真正对应实体,从而才能将这个抽取出来的实体关系准确地添加进知识库。
问答系统通常依赖于它们背后支持的知识库来回答用户的问题。如图 2 所示,当用户向WolframAlpha 问答系统 询问“著名篮球运动员Michael Jordan 的生日”时,问答系统首先利用实体链接技术将用户问题中的“Michael Jordan”名字链接到那个著名的 NBA 球星 Michael JeffreyJordan,而不是同样叫做“Michael Jordan”的美国加州大学伯克利分校机器学习教授,或同样叫做“Michael Jordan”的英国足球运动员。接下来,问答系统才能准确地将知识库中 NBA 球星 MichaelJeffrey Jordan 的生日返回给用户。
实体链接任务的挑战主要来源于实体歧义。首先是多名问题,即一个实体可能拥有多个不同的名字,包括它的别名、缩写名、昵称等。比方说,北京航空航天大学这个实体拥有缩写名“北航”,北京故宫实体拥有别名“紫禁城”,重庆这个城市实体拥有别名“中国雾都”。不管实体在文本中是以怎样的名字出现,实体链接系统都要能够将其链接到它真正指代的实体。另外就是重名问题,即一个名字可能指代多个不同的实体。例如,“李娜”这个名字可能指的是著名的网球运动员、或者是跳水运动员、或演员、或者其他叫做“李娜”的人。实体链接系统需要对名字进行排歧,识别出在当前文本中的名字所真正指代的对应实体。
一般来说,实体链接任务的输入是文本中需要链接的实体名字,也就是说它假设这些实体名字已经被命名实体识别工具所发现。命名实体识别[12-16]是指从文本中识别具有特定意义的实体的过程,主要包括人名、地名、组织名、专有名词等。现在有很多公开的命名实体识别工具,例如 Stanford NER 、OpenNLP 和 LingPipe 。