一、通用和领域知识图谱
- 知识图谱的本质是语义网络,一种基于图的数据结构,由“节点-边-节点”组成。
- 节点代表“概念”或“实体”。
- 边则代表两个节点之间的关系,用以描述现实世界中的概念、实体以及他们之间丰富的关联关系。
- 知识图谱分为通用知识图谱与领域知识图谱两类,两类图谱本质相同,其区别主要体现在覆盖范围与使用方式上。
- 通用知识图谱可以形象地看成一个面向通用领域的“结构化的百科知识库”,其中包含了大量的现实世界中的常识性知识,覆盖面广。
- 领域知识图谱又叫行业知识图谱或垂直知识图谱,通常面向某一特定领域,可看成是一个基于语义技术的行业知识库,因其基于行业数据构建,有着严格而丰富的数据模式,所以对该领域知识的深度、知识准确性有着更高的要求。
1、研究内容和关键科学问题
- 通用知识图谱主要强调知识的广度,通常运用百科数据进行自底向上(Top-Down)的方法进行构建。
- 领域知识图谱面向不同的领域,其数据模式不同,应用需求也各不相同,因此没有一套通用的标准和规范来指导构建,而需要基于特定行业通过工程师与业务专家的不断交互与定制来实现。
- 通用与领域知识图谱的构建过程可分为六个阶段,被称为知识图谱的生命周期。
(1)知识建模
- 知识建模是建立知识图谱的概念模式的过程,相当于关系型数据库的表结构定义。
- 知识建模通常采用两种方式:
- 一种是自顶向下(Top-Down)的方法,即首先为知识图谱定义数据模式,数据模式从最顶层概念构建,逐步向下细化,形成结构良好的分类学层次,然后再进行将实体添加进概念。
- 另一种则是自底向上(Bottom-Up)的方法,即首先对实体进行归纳组织,形成底层概念,然后逐步往上抽象,形成上层概念。该方法可基于行业现有标准转换生成数据模式,也可基于高质量行业数据源映射生成。
- 为保证知识图谱的质量,通常在建模时需要考虑以下关键问题:
- 概念划分的合理性,如何描述知识体系及知识点之间的关联关系
- 属性定义方式,如何在冗余程度最低的条件下满足应用和可视化展现
- 事件、时序等复杂知识表示,通过匿名节点的方法还是边属性的方法来进行描述,各自的优缺点是什么
- 后续的知识扩展难度,能否支持概念体系的变更以及属性的调整
(2)知识获取
- 知识获取是指从不同来源、不同数据中进行知识提取,形成知识存入到知识图谱的过程。
- 现有的数据源中,数据大致可分为三类:
- 一类是结构化的数据,这类数据包括以关系型数据库(Mysql,Oracle 等)为介质的关系型数据,以及之前提到的开放链接数据,如 Yago,Freebase 等。
- 第二类为半结构化数据,如百科数据(Wikipedia,百度百科等),或是垂直网站中的数据,如 IMDB,丁香园等。
- 第三类是以文本为代表的非结构化数据。
- 针对结构化数据中复杂关系的抽取是研究的重点,主要方法包括直接映射(Direct mapping)或者映射规则定义(R2RML)等。
- 半结构化数据通常采用包装器(Wrapper)的方式对网站进行解析,包装器是一个针对目标数据源中的数据制定了抽取规则的计算机程序。包装器的定义、自动生成以及如何对包装器进行更新及维护以应对网站的变更,是当前获获取需要考虑的问题。
- 非结构化数据抽取难度最高,如何保证抽取的准确率和覆盖率则是这类数据上进行知识获取需要考虑的科学问题。
(3)知识融合
- 知识融合指将不同来源的知识进行对齐、合并的工作,形成全局统一的知识标识和关联。
- 知识融合是构建知识图谱过程中的核心工作与研究重点问题。
- 知识图谱中的知识融合包含两个方面,即数据模式层的融合和数据层的融合:
- 数据模式层的融合包含概念合并、概念上下位关系合并以及概念的属性定义合并,通常依靠专家人工构建或从可靠的结构化数据中映射生成,在映射的过程中,一般会通过设置融合规则确保数据的统一。
- 数据层的融合包括实体合并、实体属性融合以及冲突检测与解决。
- 进行知识融合时需要考虑使用什么方式实现不同来源、不同形态知识的融合;如何对海量知识进行高效融合;如何对新增知识进行实时融合以及如何进行多语言融合等问题。
(4)知识存储
- 知识存储,针对构建完成的知识图谱设计底层存储方式,完成各类知识的存储,包括基本属性知识、关联知识、事件知识、时序知识、资源类知识等。
- 目前主流的知识存储解决方案包括单一式存储和混合式存储两种。
- 单一存储中,可以通过三元组,属性表或者垂直分割等方式进行知识的存储。其中,三元组的存储方式较为直观,但在进行连接查询时开销巨大;属性表指基于主语的类型划分数据表,其缺点是不利于缺失属性的查询;垂直分割指基于谓词进行数据的划分,其缺点是数据表过多,且写操作的代价比较大。
- 对于知识存储介质的选择,可以分为原生(neo4j,allegrograph 等)的和基于现有数据库(Mysql,Mongo 等)两类。
- 原生存储的优点是其本身已经提供了较为完善的图查询语言或算法的支持,但不支持定制,灵活程度不高,对于复杂节点等极端数据情况的表现非常差。
- 基于现有数据库的自定义方案,这样做的好处是自由程度高,可以根据数据特点进行知识的划分、索引的构建等,但增加了开发和维护成本。
- 目前尚没有一个统一的可以实现所有类型知识存储的方式。如何根据自身知识的特点选择知识存储方案,或者进行存储方案的结合,以满足针对知识的应用需要,是知识存储过程中需要解决的关键问题。
(5)知识计算
- 知识计算是领域知识图谱能力输出的主要方式,通过知识图谱本身能力为传统的应用形态赋能,提升服务质量效率。
- 知识计算中,图挖掘计算和知识推理是最具代表性的两种能力,如何将这两种能力与传统应用相结合是需要解决的一个关键问题。
- 图挖掘计算指基于图论的相关算法,实现对图谱的探索与挖掘。图计算能力可辅助传统的推荐、搜索类应用。知识图谱中的图算法一般包括图遍历、最短路径、权威节点分析、族群发现最大流算法、相似节点等,大规模图上的算法效率是图算法设计与实现的主要问题。
- 知识推理一般运用于知识发现,冲突与异常检测,是知识精细化工作和决策分析的主要实现方式。知识推理又可以分为基于本体的推理和基于规则的推理。一般需要依据行业应用的业务特征进行规则的定义,并基于本体结构与所定义的规则,执行推理过程,给出推理结果。知识推理的关键问题包括:大数据量下的快速推理,记忆对于增量知识和规则的快速加载。
(6)知识应用
- 知识应用指将知识图谱特有的应用形态与领域数据与业务场景相结合,助力领域业务转型。
- 知识图谱的典型应用包括语义搜索、智能问答以及可视化决策支持三种。
- 语义搜索指基于知识图谱中的知识,解决传统搜索中遇到的关键字语义多样性及语义消歧的难题,通过实体链接实现知识与文档的混合检索。语义检索需要考虑如何解决自然语言输入带来的表达多样性问题,同时需要解决语言中实体的歧义性问题。
- 智能问答指针对用户输入的自然语言进行理解,从知识图谱中或目标数据中给出用户问题的答案,其关键技术及难点包括:(1)准确的语义解析,如何正确理解用户的真实意图;(2)对于返回的答案,如何评分以确定优先级顺序。
- 可视化决策支持则是指通过提供统一的图形接口,结合可视化、推理、检索等,为用户提供信息获取的入口,需要考虑的关键问题包括:(1)如何通过可视化方式辅助用户快速发现业务模式;(2)如何提升可视化组件的交互友好程度,比如高效地缩放和导航;(3)大规模图环境下底层算法的效率。
- 如何针对业务需求设计实现知识图谱应用,并基于数据特点进行优化调整,是知识图谱应用的关键研究内容。
2、技术方案与研究现状
(1)知识图谱构建方案研究
自底向上的构建方法
通用知识图谱的构建采用自底向上的方法,主要依赖开放连接数据集和百科,从这些结构化的知识中进行自动学习,主要分为实体与概念的学习、上下位关系的学习、数据模式的学习。
对概念学习的方法有一种基于语言学和基于统计学的多策略概念抽取方法,该方法提高了领域内概念抽取的效果。
实体对齐的目标是将从不同百科中学习到的描述同一目标的实体或概念进行合并,再将合并后的实体集与开放链接数据中抽取的实体进行合并。
-
实体对齐过程主要分为六步:
- 1)从开放链接数据集中抽取同义关系;
- 2)基于结构化的数据对百科中的实体进行实体对齐;
- 3)采用自监督的实体对齐方法对百科的文章进行对齐;
- 4)将百科中的实体与链接数据中的实体进行对齐;
- 5)基于语言学模式的方法抽取同义关系;
- 6)实体基于 CRF 的开放同义关系抽取方法学习同义词关系。
实体对齐方法有了一种基于实体属性信息及上下文主题特征相结合进行实体对齐的方法,和一种独立于模式的基于属性语义特征的实体对齐方法。
-
对于上下位关系,开放链接数据集中拥有明确的描述机制,针对不同的数据集编写相应的规则直接解析即可获取。
- 百科中描述了两种上下位关系,一种是类别之间的上下位关系,对于概念的层次关系;另一种则是类别与文章之间的上下位关系,对应实体与概念之间的从属关系。
- 实体对齐可从开放链接数据集以及百科中抽取上下位关系。
- 有研究引入了弱监督学习框架来提取来自用户生成的类别关系,并提出了一种基于模式的关系选择方法,来解决学习过程中“语义漂移”。
-
数据模式的学习又称为概念的属性学习。一个属性的定义包含三个部分:属性名、属性的定义域、属性的值域。
- 概念属性的定义极为重要,通用知识图谱则可以从开放数据集中获取概念的属性,然后从在线百科中学习实体的属性,并对实体属性进行往上规约从而生成概念的属性。在进行属性往上规约的过程中,需要通过一定的机制保证概念属性的准确性,对于那些无法自动保证准确性的属性,需要进行人工校验。
- 实体属性的提取有一种新的半监督方法自动从维基百科页面自动提取属性,还有一种多模态属性提取的任务,用来提取实体的基础属性。
自顶向下的构建方法
- 领域知识图谱通常采用自顶向下的方法进行构建,针对特定的行业,由该行业专家定义数据模式,进行知识建模。
- 为保证可靠性,数据模式的构建基本都经过了人工校验,因此知识融合的关键任务是数据层的融合。工业界在进行知识融合时,通常在知识抽取环节中就对 数据进行控制,以减少融合过程中的难度及保证数据的质量。可采用属性映射方式、离线融合方式等进行知识融合。
- 接着需要根据数据源的不同进行知识获取,其方法主要分为三种:
- 第一种是使用 D2R 工具,该方法主要针对结构化数据,通过 D2R 工具将关系型数据映射为 RDF 数据。
- 第二种是使用包装器,该方法主要针对半结构化数据,通过使用构建面向站点的包装器解析特定网页、标记语言文本。包装器通常需要根据目标数据源编写特定的程序,因此学者们的研究主要集中于包装器的自动生成。
- 第三种是借助信息抽取的方法,该方法主要针对非结构化的文本。文本抽取按照抽取范围的不同可分为 OpenIE 和 CloseIE 两种。OpenIE 面向开放领域抽取信息,是一种基于语言学模式的抽取,无法实现获知待抽取知识的关系类型,通常抽取规模大,精度较低。CloseIE 面向特定领域抽取信息,因其基于领域专业知识进行抽取,可以预先定义好抽取的关系类型,且通常规模小,精度较高。
- 知识图谱的存储一般通过两种方式实现,分别是 RDF 存储和图数据库(Graph Database)。
- RDF 是语义网技术栈中的资源描述框架。基于RDF的存储设计有使用三元组表式存储、属性表方式、列式等。
- 图数据库是NoSQL 中的重要代表,较为知名的图数据库有 Neo4j,Titan 等。Neo4j是一个高度可扩展的图形数据库,将数据中的实体和关系作为顶层类型,支持节点及边上的属性操作。Titan是一个分布式的图数据库,支持横向扩展,支持事务,并且可以支撑上千并发用户和计算复杂图形遍历。
(2)知识图谱研究现状
- 通用知识图谱案例有国外的DBpedia,使用固定的模式从维基百科中抽取信息实体和国内的Zhishi.me 从开放的百科数据中抽取结构化数据。
- 领域知识图谱案例报告主要介绍了电商、企业商业、图书情报和创投几个例子,具体查看原文。
3、技术展望和发展趋势
- 知识图谱构建
- 知识表示方法会进行扩展,逐步扩充对于时序知识、空间知识、事件知识等的表示。
- 知识图谱本身也会逐步将关注重点转移到时序、位置、事件等动态知识中去,来更有效地描述事物发展的变化,为预测类的应用形态提供支持。
- 深度学习的思想和方法会越来越多的应用于文本信息抽取中,优化的抽取方式,提高知识的覆盖率与准确率。其他如跨语言知识融合,知识嵌入等方向也会在深度学习技术的加持下迸发新的研究浪潮。
- 知识图谱应用
- 知识图谱应用方面,未来将会出现更多应用形态。知识图谱作为人工智能技术中的知识容器和孵化器,会对未来 AI 领域的发展起到关键性的作用。无论是通用知识图谱还是领域知识图谱,其构建技术的发展和对应用场景的探索仍然会不断的持续下去。
- 知识图谱构建技术会朝着越来越自动化方向前进,同时知识图谱也会在越来越多的领域找到能够真正落地的应用场景,在各行各业中解放生产力,助力业务转型。
二、语义集成
- 语义集成式下一代万维网的发展方向。
- 语义集成的目标就是将不同知识图谱融合为一个统一、一致、简洁的形式,为使用不同知识图谱的应用程序间的交互提供语义互操作性。常用技术方法包括本体匹配(也称为本体 映射)、实例匹配(也称为实体对齐、对象共指消解)以及知识融合等。
- 语义集成是知识图谱研究中的一个核心问题,对于链接数据和知识融合至关重要。语义集成研究有助于提升基于知识图谱的信息服务水平和智能化程度,推动语义网以及人工智能、数据库、自然语言处理等相关领域的研究发展,具有重要的理论价值和广泛的应用前景,可以创造巨大的社会和经济效益。
1、研究内容和关键科学问题
- 语义集成的常见流程主要包括:输入、预处理、匹配、知识融合和输出5个环节。
(1)语义集成的输入
- 语义集成的输入包括待集成的若干个知识库以及配置、外部资源等。
- 待集成的知识库常见为两个,但也有一些工作支持输入更多的知识库,这些工作通过基于全局的优化方法来获得更好的结果。
- 待集成的知识库格式一般为 RDF/OWL 数据文件或 SPARQL 端点(endpoint)。
- 输入的配置通常包括需要预设的参数、阈值、规则等。除通过手动配置外,一些工作也使用了自动配置以减轻用户手动配置的难度。
- 外部资源可以被认为是语义集成过程中使用到的背景知识。
- 语义集成过程中也可能涉及人机交互,标注数据对语义集成的多个环节中均有作用,众包和主动学习是经常使用的技术,使用它们可以更为高效地利用昂贵的人力资源。
(2)预处理
- 预处理主要包括预先对输入知识库进行清洗和后续步骤的准备。
- 清洗主要是为了解决输入质量问题,与自由文本不同,知识库通常基于 RDF/OWL 语言构建,质量较好,并且现有工具已经可以较为全面地解析、调试知识库。
- 后续步骤的准备分为配置和数据两方面。
- 针对配置的准备,一些工作使用遗传算法自动生成适合输入知识库的集成规则,还有一些工作通过分析输入知识库自适应或者使用无监督学习计算出合适的模型参数;
- 针对数据的准备通常使用索引技术以提高后续环节的处理速度和规模,广泛使用分块技术,通过对索引的设计,可以避免例如匹配环节达到知识库规模平方级的复杂度。
- 就传统数据库而言,索引是对数据预先排序得到的一种存储结构,使用索引可以快速访问数据库中的记录。
- 知识库分块则是通过索引键值将知识库中的元素划分成一组不相交或相交的区块,后续仅考虑 对应区块间的匹配和融合。这种方法剪枝过滤掉完全无关的区块对,从而提高集成效率。这里的一个关键科学问题是对区块大小和数量的权衡,在尽量不丢失可能结果的情况下使分块尽可能的小
(3)匹配
- 根据匹配对象的不同,匹配一般分为本体匹配和实例匹配两方面。
- 本体匹配侧重发现(模式层)等价或相似的类、属性或关系。
- 实例匹配侧重发现指称真实世界相同对象的不同实例。
- 本体匹配和实例匹配间也可相互影响,例如基于实例匹配的本体匹配。
- 如何从语义上消解知识库间的异构性是匹配环节待解决的关键科学问题。
- 文本相似性度量是发现匹配的最基础方法。无论是本体匹配还是实例匹配,文本相似性度量方法均较为相似,大致分为四种类型:基于字符的、基于单词的、混合型和基于语义的。
- 基于图结构进行匹配,由于知识库通常可以表示为一个节点和边均带标签的有向图结构,从是否利用图结构上下文信息这一点来看,匹配方法可以分为两种:成对匹配和集体(collective)匹配。
- 成对匹配又叫基于元素的匹配,这类方法中匹配之间不会相互影响。
- 集体匹配又叫基于结构的匹配,这类方法会根据匹配之间的影响调整匹配的相似度,也是目前的研究焦点。
- 本体的图规模较小,并且结构更丰富,一些复杂的集体匹配方法多用在本体匹配上;而实例匹配更多使用一些简单或者局部的集体匹配方法以保证运行时间在一个可以接受的范围内。
(4)知识融合
- 在匹配的基础上,知识融合一般通过冲突检测、真值发现等技术消解知识成过程中的冲突,再对知识进行关联与合并,最终形成一个一致的结果。
- 如何处理冲突是知识融合环节的主要研究问题。
- 目前常见的冲突处理策略分为以下3类:冲突忽略、冲突避免和冲突消解。
- 冲突忽略选择忽略知识冲突,将冲突交给用户解决。
- 冲突避免承认冲突的存在,但是不解决冲突,对于所有情形使用统一的规则,例如不同知识来源具有不同优先级。
- 冲突消解聚焦于如何根据知识本身和元数据的特征来消解冲突,时目前的主流研究方向。冲突消解方法主要可以分为3类:第一类是基于投票的方法,第二类是基于质量的方法,这种方法在投票过程中考虑知识来源的可信度,从而推出高质量的结果,常见的方法主要是基于概率模型的。第三类基于关系的方法,这种方法在基于质量的方法上考虑不同知识来源之间的关系,关系会影响投票或可信度评估的结果。
(5)语义集成的输出
- 语义集成的输出是一个统一的、一致的、简洁的知识库。这个知识库可以是虚构形式。除此以外,输出还可以包括结果和过程的图形化展示。
2、技术方法和研究现状
(1)本体匹配
多本体全体匹配
- 现有大多数本体匹配方法处理的是成对的本体,但是成对匹配方法在同时匹配多个本体时会产生一些问题,最主要的问题是它们得到的结果从全局看可能存在冲突。
- LPHOM是一种多本体全体匹配方法,该方法在匹配多个本体的同时还能保证其结果是全局最优解。LPHOM 将全体匹配问题建模成基于最大权图匹配的线性规划问题,在这之上增加了 4 种针对本体匹配问题的一般性约束,这些约束用于保证匹配结果的一致性。约束具体包括:每个类和属性仅能参与最多一个匹配(1:1 规则);类和属性的匹配要满足本体中定义的不相交关系;对象属性的匹配与其定义域类、值域类的匹配结果相互制约;数据属性的匹配与其定义域类的匹配结果相互制约。
跨语言本体匹配
- 由于语言不同,跨语言本体匹配相较一般本体匹配更为困难,特别是影响文本相似性度量的准确性。
- EAFG是一个用于解决跨语言属性匹配问题的因子图模型,该模型同时考虑了属性对自身的特征和属性对之间的相关性。
- 双语主题模型也被用于解决跨语言本体匹配问题。在匹配的过程中,首先使用常规方法获得候选匹配对,之后使用双语主题模型从匹配对象的文本上下文中获得其主题分布,从而在相同的主题空间内表示不同语言的匹配对象。主题向量的余弦相似度被作为得分用于确定最终的匹配。
(2)实例匹配
基于人机协作的实例匹配
- 众包和主动学习等人机协作方法是目前实例匹配的研究热点。这些方法雇佣普通用户,通过付出较小的人工代价来获得丰富的先验数据,从而提高匹配模型的性能。
- Hike是一个解决大规模知识库间实例匹配的众包方法,该方法为实例对之间定义偏序关系,根据构建的偏序结构和已知问题答案可以推断未知问题答案。之后基于假设定义实例对和问题集的推断期望,根据推断期望选出最佳问题分发给众包参与者。
- 与通过众包直接解决大规模实例匹配不同,链接发现工具 Silk 和 LIMES 均通过结合主动学习和遗传算法来生成链接规约(link specification)。链接规约由以下两种操作组合得到:求值操作和相似度操作。求值操作根据输入的实例输出一组值,例如取出一组特定属性或者对特定属性、数据做小写、分词等变换处理;相似度操作则是针对输入的一对实例求得或者聚合相似度。Silk 和 LIMES 将学习到的链接规约组织成树的结构。在向用户提问的策略上,LIMES 选择能够最大化投票熵的候选,而 Silk 则选择能够最小化信息增益的候选。
基于表示学习的实例匹配
- 随着表示学习技术在诸如图像、视频、语音、自然语言处理等领域的成功,一些研究人员开始着手研究面向知识图谱的表示学习技术,将实体、关系等转换成一个低维空间中的实值向量(即分布式语义表示),并在知识图谱补全、知识库问答等应用中取得了不错的效果。
- MTransE 通过基于转移的方法解决跨语言知识图谱的表示学习和匹配问题。它首先使用 TransE 对单个知识图谱进行 表示学习,然后学习不同知识表示空间的线性变换来进行实例匹配。MTransE 包含了 3 种不同的转移方法:轴标定法,转移向量法和线性变换法。通过使用不同的损失函数,MTransE 一共设计了 5 种不同变种。
- IPTransE 和 JAPE 基于先验实例匹配,使 用联合表示学习技术直接将不同知识图谱中的实体和关系嵌入到统一的向量空间中,将不同知识图谱中实例间的匹配过程转换为计算它们的向量表示间距离的过程。IPTransE 使用迭代的方式不断更新实例匹配,而 JAPE 则利用了属性及文字描述信息来增强实例的表示学习。
基于强化学习的实例匹配
- ALEX是一个通过利用用户提供的查询答案反馈来提高实例匹配质量的系统。从一组候选链接开始,搜索与用户在先前查询反馈中批准的匹配相似的匹配,以发现新的匹配。具体而言,ALEX 使用蒙特卡罗强化学习方法来学习如何在某个匹配周边进行探索。其中,将每个匹配视作一个状态,用户反馈被转换为行为奖励,通过最大化收集到的行为奖励改善策略。
(3)知识融合
- 早期的知识融合主要是借鉴传统数据融合的方法,近几年比较流行的冲突消解方法是基于图模型的方法,这类方法通常为每条知识分配一个概率,将冲突消 解问题看作图中节点的概率预测问题,通过知识之间已有的关系或现有的外部知识来预测不同来源知识可能的真值。
- 长尾(long tail)实体是指那些拥有三元组数量很少的实体。虽然现有很多知识库中已经存在数以千万计的三元组,然而实验表明其中长尾实体仍占了相当大的比重。由于长尾实体本身拥有的信息很少,例如没有足够的文本描述或语义关系,传统的基于属性相似度或者结构相似性的方法可能效果较差。
(4)语义集成评测
- 标准的评测数据集对于语义集成的研究十分重要,这些数据集提供了一个横向比较各种方法优劣的平台。随着语义集成研究的蓬勃发展,用于语义集成评测的数据集也有了一些变化。
3、技术展望与发展趋势
- 语义集成在未来可能的研究方向包括:
- 针对语义集成的表示学习研究
- 针对语义集成的人机协作方法
- 针对语义集成的通用大规模评测数据集建立(目前有两类,人造数据集和真实世界数据集,前者质量较高但数据规模偏小,后者数据规模大,但参考标准质量低)
三、语义搜索
- 知识图谱是对客观世界认识的形式化表示,将字符串映射为客观事件的事务(实体、事件以及之间的关系)。当前基于关键词的搜索技术在知识图谱的知识支持下可以上升到基于实体和关系的检索,称之为语义搜索。
- 语义搜索利用知识图谱可以准确地捕捉用户搜索意图,借助于知识图谱,直接给出满足用户搜索意图的答案,而不是包含关键词的相关网页的链接。搜索引擎的工作不再拘泥于用户所输入请求语句的字面本身,而是透过现象看本质,准确地捕捉到用户所输入语句背后的真实意图,并依此来进行搜索,从而更准确地向用户返回最符合其需求的搜索结果。
- 语义搜索的目的即是准确理解用户输入,借助于对实体的理解,它们之间的交互行为,用户对这些实体的理解获取准确的答案而不是一条条链接,通过利用语义技术,将推理结合到检索过程中,可以极大的提高当前的搜索效果,在语义 Web 环境下,可以更高效地发现信息资源。
1、研究内容和关键科学问题
- 语义网背景下的语义搜索主要面临的问题有以下三点:
- 与传统的 Web 文档相比,语义网文档的本质是 RDF Graph。
- 理解一个 URI 所指称的实体对于判断语义网上的实体共指问题非常重要。
- 在现有缺乏必要的手段形成语义网的背景下,如何利用语义网技术改进传统的 Web 信息检索系统对用户来说极为重要。
2、技术方法和研究现状
- 语义搜索的研究涉及到多个领域,包括搜索引擎、语义 Web、数据挖掘和知识推理等。运用的主要方法可归纳为:
- 图理论;在语义网的技术框架中,RDF(Resource Description Framework)是一个非常基础、且又非常重要的数据模型。通过 RDF 数据模型可将语义网中的本体组织为图结构,图中的弧和由结点和弧组成的路径中都包含着信息,因此在语义搜索中应用到了不同形式的图遍历方法,如实例扩展及查询的形式化方法等;
- 匹配算法,在语义搜索中需进行概念与关键字或者实例与关键字的匹配,关键字提供了一种快速定位信息的入口,而关键字和概念的匹配方法是语义搜索中重要的一环;
- 逻辑特别是描述逻辑、模糊逻辑等。逻辑和推理已经被整合到未来的语义 Web 框架中。描述逻辑是知识的一种形式化表示方法,作为本体语言的基础为人们所熟知,如 OIL,DAML+OIL,OWL。
- 在新一代的语义搜索引擎中较为典型的有两个,且都是基于本体的语义搜索引擎,分别为:Swoogle 和 TUCUXI。目前已开发出许多建立于本体上的语义搜索引擎,如,Congnition、Hakia、DeepDyve、Factbites、Kngine 等。
- Swoogle
- 从搜索返回结果的 Web 文档中提取出本体,然后依据本体间的语义关联性确定出文档间的语义关系。
- 与通常的本体存储器或本体标注系统相比,其最大的与众不同之处在于能够鉴别出异源本体,此外还具有语义网文档自动发现化制。
- 核心功能有:提取语义网中的实例数据;支持对语义网的浏览,提供语义网中文档的元数据;搜寻语义网中的术语,譬如通过属性与类定义的 URIs 等;搜索提取语义网中的本体,并使用独有的算法提供高质量的排序结果;可存储各种类型的语义网文档。
- TUCUXI
- 通过所获得的本体在 Web 上以特定规则爬行,并通过语义处理找出最符合要求的网页。
- Congnition
- 目前可提供三个 Demo,Congnition Q&A,Medline Semantic Search 及 Wikipedia Semantic Search,涉及法律、医学与消费者信息等深度內容,且是首个真正实现人机对话界面的语义搜索引擎。
- Hakia
- 通过理解用户查询,并利用本体进行查询扩展,将各种基于主题的相关信息汇总。
- 其利用的技术包括:词形变换、同义词扩展、概念具体化、自然语言理解等,可为用户提供语义搜索范围内解决方案,能够满足用户对于低成本、高效率的捜索需求。其搜索范围包括新闻、网页、博客、维基词条、Pubmed 等,返回结果的呈现方式有深度语义(Galleries、Pubmed、可信站点)、表面语义(新闻、博客、网页)、常规搜索(Twitter 与图像)加结果页面链接。
- Factbites
- 可依据事实进行回答,与结果链接相比,其更专注于内容分析,并可使捜索结果更有意义,到目前也只有简单搜索方式。其捜索结果呈现方式是从网页中所抽取出的有意义的、完整的语句清单加 URL。
- DeepDyve
- 是深网或者隐形网络搜索引擎,可提供深度网络学术资源租赁服务与全文预览服务。
- 其搜索范围可包括来自 Nature、IEEE、Elsevier、Wiley-Blackwel、Springer 等一流出版社的有关健康科学、生命科学、人文社会科学、物理科学与工程学等领域的权威评审期刊与专利等等深度网络学术资源,并同时可搜索 Wikipedia,现正慢慢扩展至更多的领域。其搜索结果主要为 PDF 文档,而搜索结果呈现方式是结果过滤项(主题、类型(可租用、仅供预览、免费)、时间、作者、期刊)加结果页链接。
- Kngine
- 可对任何主题进行搜索,能够支持移动端搜索,其语种包括英语、德语、西班牙语、阿拉伯语。
- 以选项卡形式展现搜索结果,在选项卡下方可选择显示与每项相关的术语和网页,其搜索方式包括语音搜索和简单搜索。
- 语义搜索研究目前仍处于探索阶段,现有的有关语义搜索的研究点主要有:引入推理和关联关系的语义搜索、语义搜索中的查询扩展、语义搜索中的索引构建。
引入推理和关联关系的语义搜索
- 在语义 Web 设计中,Web 中的资源用 URI 统一标示,并利用 RDF/OWL标识资源的语义信息,由于数据间的语义明确便于计算机理解,基于此结构良好的数据的搜索克服了关键词查询的歧义性,同时在这些数据上还可以通过推理实现知识发现,推理出新的知识。
- 资源间由关联关系引入的链接路径在某些特定领域比资源本身更具价值。关联搜索中的主要问题在于如何定义链接的兴趣尺度,且这种定义方法不仅能够消除用户不感兴趣的关联关系,而且可以搜索到数据之间复杂的、隐藏的关联关系。
语义搜索中的查询扩展
- 用概念来描述查询主旨,找到与查询语义相关的概念对查询进行扩展,因为概念是专门用来描述现实世界对象的。基于概念,可以消除现实世界中人们对同一真实对象的不同表达方式的理解差异。
- 语义网的构建目标即是将网络中的概念构成网状结构,利用概念间的联系形成拓扑网络,而本体(语义网中的结点)则视为概念的具体表现形式。
- 目前语义搜索的研究侧重点围绕于查询语句或是文档中的语义发掘,注重发现目标资源间的关联,通过深度的查询理解而获得更高的查准率。
语义搜索中的索引构建
- 建立语义索引有助于解决一词多义、多词一义的问题。
- 利用语义网中的本体去分析文档和查询语句的语义信息,从而为海量的无结构网页数据建立语义索引,查询时通过匹配用户意图和文档中以本体标识的概念的相关性给出结果。这种方法避免了基于关键词搜索的一词多义和多词一义问题。
3、技术展望与发展趋势
- 未来的语义搜索研究方向可沿以下几点展开:
- 语义搜索概念模型。语义模型能改善当前搜索引擎的搜索效果,未来可扩展成为构建在语义Web上的新一代搜索引擎。
- 语义搜索本体知识库的构建、维护与进化。研究垂直领域的本体知识库构建方法、本体知识库设计方法和本体知识库查询方法,构建完备的领域本体知识库,探索本体知识库的维护方案,随着领域本体知识库的丰富还要研究并解决多领域异构的本体知识库的融合问题,提供本体相容性冲突检测方案。
- 语义搜索的推理机制。结合领域本体,研究语义搜索中基于描述逻辑及模糊逻辑的推理问题,提高基于描述逻辑的本体推理技术的推理效率,扩大其推理算法的适用范围,结合文本信息获取用户的查询语义,提高处理用户查询需求的准确度
- 语义搜索的结果排序。传统搜索引擎采用的排序方法只能对文本信息进行排序,不能对实体之间的复杂关系排序,无法实现语义搜索结果的排序,因此需研究基于语义的结果排序方法,实现本体知识库中实体及实体之间关系的排序,提高返回结果的相关性。
- 语义搜索的原型系统实现。基于以上研究,实现语义搜索引擎系统原型,在应用环境中进行测试并实现性能优化。
四、基于知识的问答
- 问答系统(Question Answering, QA)是指让计算机自动回答用户所提出的问题,是信息服务的一种高级形式。不同于现有的搜索引擎,问答系统返回用户的不再是基于关键词匹配的相关文档排序,而是精准的自然语言形式的答案。
- 基于图的结构化知识,分析用户自然语言问题的语义,进而在已构建的结构化知识图谱中通过检索、匹配或推理等手段,获取正确答案,这一任务称之为知识库问答(Question Answering over Knowledge Base, KBQA)。
1、研究内容与关键科学问题
- 知识库问答系统在回答用户问题时,需要正确理解用户所提的自然语言问题,抽取其中的关键语义信息,然后在已有单个或多个知识库中通过检索、推理等手段获取答案并返回给用户。其中所涉及的关键技术包括:词法分析、句法分析、语义分析、信息检索、逻辑推理、语言生成等。
- 传统知识库问答系统多集中在限定领域,针对有限类型的问题进行回答。现有研究趋向于开放域、面向大规模、开放域、多源异构知识库问答系统构建。
- 目前主要面临的关键科学问题有问句语义解析、大规模知识推理和异构知识关联。
(1)问句语义解析
- 问句语义解析是知识库问答研究所面临的首要科学问题。面对结构化知识库,需要将用户问题转化为结构化的查询语句,进而在知识图谱进行进行查询、推理等操作,获取正确答案。
- 具体过程需要分析用户问题中的语义单元与知识图谱中的实体、概念进行链接,并分析问句中这些语义单元之间的语义关系,将用户问题解析成为知识图谱中所定义的实体、概念、关系所组成的结构化语义表示形式。其中涉及词法分析、句法分析、语义分析等多项关键技术,需要自底向上从文本的多个维度理解其中包含的语义内容。
- 在词语层面,需要在开放域环境下,研究实体(Entity)和术语 (Terminology)的识别、答案类型词(Lexical Answer Type)识别、实体消歧(Entity Disambiguation)等关键技术。
- 在句法层面,需要解析句子中词与词之间、短语与短语之间的句法关系,分析出句子句法结构。
- 在语义层面,需要根据词语层面、句法层面的分析结果,将自然语言问句解析成可计算的结构化的逻辑表达形式(如一阶谓词逻辑表达式)。
(2)大规模知识推理
- 在问答过程中,并不是所有的答案都能通过在知识图谱中进行检索或查询就可以获取答案。主要原因是已有知识库本身的覆盖度有限。需要在已有的知识体系中,通过知识推理的手段获取这些隐含的答案。
- 如何将已有的基于符号表示的逻辑推理与基于分布式表示的数值推理相结合,研究融合符号逻辑和表示学习的知识推理技术,是知识推理任务中的关键难点问题。
(3)异构知识互联
- 用户问题的复杂性和多样性,使得问题的答案往往不能够在单一知识库中找到,需要综合多个知识库(多种语言、多种领域、多种模态)内的知识才能给出答案。
- 由于多源知识库之间存在结构差异、内容差异、语言差异、模态差异,要完成这一任务并不简单。
- 在面向多源异构知识库问答过程中,相对于面向单一知识库的问答,问句文本歧义更加严重。同一短语,在不同知识库中会映射为更多的概念(实体、关系)候选,这使得问 句的语义解析更加困难。
- 问句中不同的子问题需要在不同的知识库中进行求解,这需要问答系统对于子问题进行精准的划分,同时确定子问题求解范围。
- 不同源异构知识库之间存在冗余关联,不同知识库中的不同实体、关系间具有同指关系。
2、技术方法和研究现状
- 根据技术路线的不同,已有知识库问答技术大致可以分为两类:
- 基于语义解析(Semantic Parsing)的知识库问答方法;
- 基于检索排序的知识库问答方法。下面将分别简要介绍技术现状。
(1)基于语义解析的知识库问答方法
- 如何把用户的自然语言问句转化为结构化的知识库查询语句便是进行问答的核心所在,其关键是对于自然语言问句进行解析。
- 目前,主流方法是通过语义解析,将用户的自然语言问句转化成结构化的语义表示。
- 传统的语义分析方法存在以下几个缺陷:
- ·资源(例如词汇表、规则集)标注费时费力,传统方法在有限的训练数据下性能大打折扣。
- 大规模知识库的开放域特性使得文本歧义问题更加严重,传统语义分析方法难以处理这一问题。
- 在很多场景下,回答一个问题需要多个知识库的综合运用。不同来源知识库是异构的,如何处理多知识库间的冗余和差异性,是面向多知识库的问答系统面临的主要挑战。
(2)基于检索排序的知识库问答方法
- 基于语义解析的知识库问答系统的处理范式通常仍然是基于符号逻辑的,缺乏灵活性。在分析问句语义过程中,易受到符号间语义鸿沟影响。同时从自然语言问句到结构化语义表达需要多步操作,多步间的误差传递对于问答的准确度也有很大的影响。
- 与传统基于符号的知识库问答方法相比,基于表示学习的知识库问答方法更具鲁棒性,其在效果上已经逐步超过传统方法。这些方法的基本假设是把知识库问答看做是一个语义匹配的过程。通过表示学习,我们能够用户的自然语言问题转换为一个低维空间中的数值向量(分布式语义表示),同时知识库中的实体、概念、类别以及关系也能够表示成为同一语义空间的数值向量。那么传统知识库问答任务就可以看成问句语义向量与知识库中实体、边的语义向量相似度计算的过程。
3、技术展望与发展趋势
- 知识库问答技术的发展趋势是从限定领域向开放领域、从单个数据源向多个数据源、从浅层语义分析向深度推理不断推进。
- 未来的领域和行业的重点方向有:
- 面向复杂问句的深度学习知识库问答方法 。已有基于深度学习的知识库问答方法目前尚只能解决简单类型问题(包含单一关系的问题类型)。在面对复杂问题时,例如有限制条件的问题(what did obama do before he was elected president?)、聚合问题(when's the last time the steelers won the superbowl?)等,已有方法处理手段单一,常忽略知识库与文本语义的关联与约束,缺乏在已有知识资源约束下的文本语义表示学习手段。
- 分布式表示与符号表示相结合的知识库问答。目前,基于深度学习的知识库问答方法试图通过高质量已标注的问题-答案建立联合学习模型,同时学习知识库库和问题的语义表示及他们之间的语义映射关系,试图通过分布式表示(向量)间的简单数值运算对于复杂的问答过程进行建模。这类方法的优势在于把传统的问答语义解析的复杂步骤转变为一个可学习的过程。同时,问答过程也缺乏可解释性。从目前自然语言处理很多任务来看,将统计与知识相结合是未来技术的重点突破方向。
- 面向问答的深度推理。已有知识图谱规模已经十分巨大,能够覆盖多个领域,但仍旧面临信息缺失的现象。传统基于符号逻辑的逻辑推理方法基于严格的符号匹配,过分依赖于推理规则的生成, 因此具有领域适应性差、无法进行大规模推理的缺点。而深度学习基于分布式语义表示,利用语义空间中的数值模糊计算替代传统问答过程中的符号严格匹配,为解决上述问题供一种途径,但也存在推理结果准确度低、可解释性差的问题。利用深度学习大规模、可学习的特点,在深度神经网络框架下,融入传统的逻辑推理规则,构建精准的大规模知识推理引擎是自动问答迫切需要解决的难点问题。
- 对话中的自然语言形式回复。传统的自动问答都是采用一问一答的形式。然而在很多场景下,需要提问者和系统进行多轮对话交互,实现问答过程。需要系统返回用户的答案不再只是单一实体、概念、关系的形式,而是需要是以自然语言的形式返回答案。这就需要自动生成自然语言的回复。在这一过程中,如何与知识库相结合,将知识库问答的答案加入自然语言回复中,仍是亟待解决的问题。
详情请参考《KGDevReport2018知识图谱》