知识图谱技术研究
2021-12-20刘巍,陈霄,陈静,周觐,张斌
刘 巍,陈 霄,陈 静,周 觐,张 斌
(军事科学院,北京 100091)
随着人工智能、知识工程等技术的高速发展,知识图谱在知识的自动获取、知识表征和推理学习、基于图的深度挖掘等方面取得了突破性进展,知识图谱相关技术已经在智能语义搜索、问答系统,以及公安、医疗、军事等行业落地应用[1-3]。知识图谱涉及自然语言处理、机器学习、知识表示、图数据库等多方面的技术[4-5],随着知识图谱应用日趋广泛,相关技术研究已取得可喜的成果。文献[6]将知识图谱的技术架构分为信息抽取层、知识融合层和加工层,并对涉及的关键技术进行了综述和分析。文献[7]阐述了知识图谱的实现流程,分析了其组织、存储、管理和更新大规模知识的过程及相关技术。文献[8]阐述了目前主流的通用和领域知识图谱在构建过程中的区别,分类讨论了图谱构建过程中存在的问题和挑战,提出了解决措施。此外,文献[9-10]分别对知识图谱涉及的知识表示、抽取、融合、图划分算法、知识可视化等技术进行了综述和分析。上述研究均未对知识图谱的架构体系、生命周期、挑战及发展趋势等进行系统性、总体性的阐述和归纳分析。本文首先系统地分析了知识图谱的架构和构建方法,之后阐述了知识图谱相关技术的国内外研究进展和其在不同领域的落地应用,最后探讨了知识图谱未来发展趋势和存在的诸多挑战。
1 知识图谱的定义和架构
1.1 知识图谱的定义
知识图谱旨在描述各种概念、实体及其之间的关系。其中,实体是指客观世界中存在的、具有可区别性的具体事物,如NBA球员科比、百岁山矿泉水等,某个时刻、某个地点、某个数值也可以作为实体。概念通常反映的是一组实体的种类或对象的类型,如人、动物、气候、组织机构等。属性(值)是指某个实体具有的特征及参数,不同属性对应不同的边。关系是指连接不同实体的“边”,描述概念、实体之间客观存在的关联,可以是组成关系、隶属关系、因果关系、推论关系、相近关系等。
1.2 知识图谱架构
知识图谱架构包括逻辑架构和技术架构[11],分别如下。
1)逻辑架构
逻辑架构包括模式层和数据层。模式层是知识图谱的逻辑基础和概念模型,通常采用本体库进行管理,引入本体是为了知识的复用和共享,涉及的本体包括概念、属性以及概念之间的关系,可以对知识结构进行描述。因此,本体库可以看成结构化知识库的模板,具备精炼且标准的特点。
数据层是知识图谱的基础,是在模式层的规范和约束下,对本体库在实体层面的丰富和扩充。数据层由一系列的事实组成,并以(实体-关系-实体)或(实体-属性-属性值)的三元组形式进行存储。知识图谱的逻辑架构如图1所示。
图1 知识图谱的逻辑架构
2)技术架构
知识图谱的技术架构是指在构建图谱时选择的模式结构,技术架构如图2所示,主要包括信息抽取、知识表示、知识融合、知识加工等过程。
图2 知识图谱的技术架构
1.3 构建方法
知识图谱的构建方法有两种,即自底向上和自顶向下的构建方法。
1)自底向上的构建方法
如图3所示,首先,从各类数据源中提取实体、关系和属性,添加到图谱的数据层;然后,对数据层知识进行组织归纳并抽象为概念;最终,构建模式层。
图3 自底向上的构建方法
2)自顶向下的构建方法
如图4所示,首先从顶层开始构建本体概念,该阶段通常由领域专家结合经验和智慧从高质量的数据源中提取和构建本体,完成术语提取、规则定义等,即构建图谱的模式层。之后进行实例填充,从各类数据源中进行信息抽取,再经过知识融合、知识加工、质量评估等过程,将抽取的实体、属性、关系等填充到模式层本体中,完成数据层的构建。
图4 自顶向下的构建方法
2 知识图谱的全生命周期技术
本节从知识图谱生命周期的视角,从知识获取、表示、融合、推理和应用等层面阐述了知识图谱构建过程中所涉及关键技术的国内外研究进展及优缺点。
2.1 知识获取
2.1.1 面向非结构化数据源的知识获取
1)实体抽取
文本数据的实体抽取主要包括三类方法:基于深度学习的方法、基于统计模型的方法、基于规则和词典的方法。文献[12]采用基于语言规则的方法对药品说明书中的症状、疾病和致病菌进行抽取并评价其准确性,利用词性标注、术语表分词实现实体抽取,并基于语言规则实现医疗实体识别,准确率较高。文献[13]提出了一种基于键规则的XML实体抽取算法,其核心是基于键规则中有关实体的语义信息和XML查询提供实体的表示方法进行实体抽取。基于规则和词典的方法在少量数据集上能够实现较高的准确率和召回率,但不适用于大量数据集下的实体识别。文献[14]提出了一种融合最大熵和隐马尔可夫模型的汉语命名实体识别法,该方法将词性标注和命名实体识别相结合,实验结果表明针对地名、人名、组织名三种重要的命名实体有较好的效果。文献[15]提出了一种基于改进的规则和统计方法相结合的实体识别模型,核心是将规则引入自适应统计识别模型,能够有效修正基于统计模型识别的一些集中出现的识别错误。文献[16]提出了一种基于堆叠神经网络的医疗命名实体识别法,利用多层堆叠的双向循环神经网络对医疗文本进行编码,使用条件随机场选取最优序列标注路径,识别准确率较高。文献[17]给出了一种基于条件随机场和残差空洞卷积神经网络的网络安全实体识别模型。通过BERT模型对字符级的特征向量进行训练和表示,之后,利用残差卷积与空洞神经网络模型提取安全实体的重要特征,最后,通过条件随机场模型获得每个字符的BIO标注,识别效果比传统模型效果更佳。
2)关系抽取
目前,关系抽取的方法可分为基于模板的方法、基于监督学习的方法和基于弱监督学习的方法。早期的实体关系抽取方法多数基于模板匹配,优点是模板构建简便,在小规模数据集上可以实现快速关系抽取,但是随着数据规模的增大,手工构建模板需要耗费领域专家大量的时间,模板的数量有限,覆盖范围可能不够,并且可移植性较差。
基于监督学习的方法步骤包括预定义关系类型、人工标注数据、定义关系识别所需的特征、选择分类模型、模型训练、模型评估。随着人工智能技术的发展,研究人员提出基于深度学习的关系抽取方法,主要包括流水线法和联合抽取法[18-22]。文献[18]提出了一种基于分解标注策略的联合抽取模型,将实体和关系联合抽取转化为头实体识别、尾实体和关系抽取两个子任务,并且,在训练阶段引入偏置权重缓解了标注策略带来的类别不平衡问题,在预测阶段基于句子语义关系对模型结果进行修正,提高了模型的性能。文献[19]从数据和联合模型两个角度提出了四种实体关系抽取联合模型,并且分别探究了所提出模型的优势和不足。
当训练数据较少时,弱监督学习法能够基于少量的标注数据来训练模型,包括远程监督法和Bootstrapping法。文献[20]提出了深度残差网络来解决深层网络在实体关系识别提取过程中噪声增大的问题。针对弱监督错误标注问题,文献[21]给出了一种基于权衡机制的远程监督关系抽取神经网络框架,该框架在句子层级上结合文本语句与实体对的嵌入词向量表示所包含的语义信息以预测关系事实。
3)属性抽取
属性抽取的目标是补全实体信息,通过从样本源中获取实体属性信息或属性值。文献[22]提出了一种基于双向长短时记忆模型和随机场模型的实体属性抽取方法,该方法不依赖于规则和特征工程,利用双向长短时记忆模型从原始文本中自动地学习语句的语义表示,通过对有标注训练数据的学习,获得了属性的语义表示和上下文关系,然后,利用随机场模型对属性进行分类,将文本中每一个短语或者词汇按照对应的标签分类。
2.1.2 面向结构化数据源的知识获取
目前,已有一些标准和工具支持将结构化数据库转化为RDF数据、OWL本体等。W3C于2012年发布了两个RDB2RDF映射语言[23]:DM(Direct Mapping)直接映射和R2RML。两种语言均能够定义关系数据库转换为RDF数据的各类规则,如URI的生成、RDF类和属性、空节点的处理、关联关系表达等。
2.1.3 面向半结构化数据源的知识获取
半结构化数据源主要包括百科类和网页类数据。从百科类数据中获取知识通过知识提取器实现,目前已有较为成熟的知识图谱,如DBpedia和Zhishi.me。从网页中获取结构化信息一般通过包装器实现,包装器的生成方法有三类:手工法、包装器归纳法和自动抽取法。
手工法需查看网页结构和代码,经人工分析,手工编写出适合当前网站的抽取表达式。包装器归纳法是利用有监督学习方法从已标注的训练数据中学习抽取的规则,然后,对相同模板的其他网页进行信息抽取。以上两种方法的缺点在于对不同结构的网页要制定不同的抽取规则。自动抽取法首先对相似网页进行聚类分组,然后,挖掘同组中相似网页的重复模式,可以生成适用于该组网页的包装器。文献[24]提出一种商品规格信息的无监督学习自动抽取算法,该算法以网页标题为种子,结合自然语义、统计特征等,在减少工作量的同时,达到了较高的准确率,并且,具有一定的扩展性。
2.2 知识表示
知识表示可分为人工智能早期的知识表示、互联网时代的语义网知识表示以及知识图谱的表示学习。人工智能早期的知识表示主要有命题逻辑、谓词逻辑、产生式表示、框架和语义网络等。语义网知识表示与人工智能中提出的语义网络不同,语义网的概念来源于万维网,最初是为了使万维网能够更加有效地组织和检索信息功能以提高其智能程度。随着深度学习模型的应用日益广泛,如何将深度学习模型用于知识图谱的表示学习成为当前知识图谱领域研究的热点问题之一。其核心是为知识图谱中实体和关系求得最优化的向量表示,以支持大数据下知识的快速计算。知识图谱的表示学习主要包括势能函数和张量重构[25-28]的方法。前者认为,关系是头实体到尾实体的平移变换。文献[25]提出的TransE模型是平移模型的代表。在此基础上,大量学者对TransE进行改进和应用,如结合文本等外部信息、应用逻辑推理规则等,提升表示学习效果来表示更复杂的关系。张量重构能够综合全部知识图谱的信息,但数据集较大时,张量维度激增,计算效率降低。
2.3 知识融合
知识融合主要包括实体链接和知识合并。前者指将不同数据源中抽取的实体链接到知识库中对应的正确实体上,主要包括实体消歧和共指消解。实体消歧用于解决同名实体产生的歧义问题,主要采用聚类法,核心是准确定义实体与指称项间的相似度,包括空间向量模型、语义模型、社会网络模型、百科知识模型、文本相似度模型等。文献[29]采用基于空间向量模型的实体消歧方法在MUC6 (Message Understanding Conference)数据集上进行了试验验证,消歧精度较高,但是没考虑上下文的语义信息,不适用于短文本分析。文献[30]基于聚类法设计了一种人名消歧系统,其将从文本中提取实体之间的个人属性和社会关系映射到一个无向加权图,使用聚类算法对图进行聚类,其中,每个聚类包含指向一个人的所有web页面。文献[31]利用维基百科条目间的关联关系计算实体间的相似度,实现了较高精度的实体消歧。文献[32]以维基百科作为知识库,基于实体所在内容的上下文信息和空间向量模型,实现了较高精度的实体消歧。
共指消解技术用于解决多个指称项对应于同一实体对象的问题,其发展历程可分为五个阶段:第一阶段始于1978年,主要基于句法分析和浅层语言学规则,包括Hobbs算法、中心理论等;第二阶段始于1995年,主要是基于排序学习和二元分类的机器学习方法,包括决策树模型、最大熵、支持向量机等。此外,还有基于无监督和半监督学习的方法,如聚类、图划分、协同训练等;第三阶段始于21世纪初,共指消解技术引入了全局最优化的模型,主要有整数规划法、启发式筛法等;第四阶段始于2011年前后,共指消解引入开放知识库作为额外的特征,包括基于众包系统、百科知识等。第五阶段始于2017年前后,引入深度学习技术,并取得了当前最好的效果,主要包括基于RNN、强化学习、End-to-end等,例如文献[33]构造了神经网络共指消解模型,无须命名实体识别、句法分析,且性能优于过去所有模型的效果。文献[34]将深度上下文词向量加入端到端神经网络共指消解模型中,通过动态生成词向量,克服了传统词向量技术无法解决的“一词多义”的问题。文献[35]在端到端神经网络的基础上,引入了由粗到细的推断策略,首先基于简单的打分函数求解共指概率最高的前M个先行语,之后基于复杂的打分函数对这M个先行语进行排序,截至目前该方法可获得最好的共指消解效果。
知识合并作为知识融合的一种重要手段,需要解决两个层面的问题:不同知识源的数据层合并和模式层合并。数据层合并包括实体对齐、属性对齐以及冲突检测与解决。模式层合并包括概念、概念上下位关系以及概念的属性定义合并。为推进知识库融合的标准化,文献[36]设计了开放数据集成框架和流程,主要包括获取知识、概念匹配、实体匹配、知识评估等。对于合并关系数据库,通常利用资源描述框架(RDF)作为数据模型,实质是将关系数据库映射成RDF的三元组,经实体链接后,加入知识图谱中。目前较为常用的包括DM(Direct Mapping)直接映射和R2RML。
2.4 知识加工
信息抽取能够从数据源中获取实体、属性、关系等,再利用知识融合消解指称项与实体对象间的歧义,获得事实的表达。但是事实不等于知识,若要建立网络化、结构化的知识体系,必须进行知识的加工,包括本体构建、知识推理、质量评估和知识更新。
2.4.1 本体构建
本体构建方法主要包括两类:一是专家手动构建;二是利用数据驱动自动构建。自动化本体构建步骤包括:计算实体并列关系相似度、实体上下位关系抽取和本体的生成。文献[37]基于主题层次聚类的方法构建了本体结构,提出了基于上下位词抽取模型和单词共现网络的主题聚类算法,克服了主题模型在短文本类型数据上抽取效率和准确率低的问题。
2.4.2 知识推理
知识推理指基于已有的实体关系,经机器推理构建实体间的新关联,进而丰富和拓展知识网络,主要包括基于逻辑的推理与基于图的推理[38-41]。文献[38]将内容丰富的符号逻辑推理与泛化能力较强的神经网络相结合,训练出了一个单一的高能力RNN。该方法在多跳关系推理的基础上进行改进,综合考虑了多条路径上的关系和中间实体信息,使预测结果更加准确。文献[39]将图谱中的实体表达为词向量,再利用神经张量网络模型实现实体之间关系的推理,在FreeBase和WordNet上对未知关系推理的准确率分别为90.0%和86.2%。文献[40]将基于潜在特征模型和图推理法相结合,探索了路径排序算法中不同的特征抽取和特征值计算策略对整体效率以及性能的影响。文献[41]在路径排序算法的基础上,定义了一个子图特征提取算法,可以提取到比两个节点之间的路径更丰富的特征。然而,路径排序算法的计算复杂度较高,无法满足大规模知识图谱的应用需求。
2.4.3 质量评估
质量评估通常与实体对齐同时开展,实现对知识的可信度的量化,通过保留可信度较高、舍弃可信度较低的知识,保证知识库质量。文献[42]依据不同业务的需求来设计评估函数,并综合考虑多种评估方法来对知识进行最终的质量评估。文献[43]依据指定信息的抽取频率对其可信度评分,在此基础上,基于先验知识修正可信度,在一定程度上降低了错误判断信息的风险。
2.4.4 知识更新
知识更新可分为数据层和模式层的更新。数据层更新指实体、属性、关系的删除、修改、增加等;模式层更新指本体层面概念的删除、修改、增加等。
2.5 知识存储
知识存储方式主要分三类:基于关系数据库的存储方案、RDF数据库和图数据库。基于关系数据库的存储方案包括水平表、属性表、六重索引、垂直划分和DB2RDF等。RDF格式存储就是以三元组的形式存储数据,常用的开源RDF数据库包括RDF4j、Marklogic等。基于图的存储以属性图为基本的表示形式,图数据库可以提供完善的查询语言,有利于实现在图上的高效查询和搜索,更容易表达现实的业务场景,常用的图数据库包括Neo4j、OrientDB、gStore等。
2.6 知识图谱的典型应用
知识图谱能够赋予信息明确的结构和语义,使计算机可以直观地理解、处理、整合和显示这些信息,更加接近于人类的认知思维。目前已在智能语义搜索、知识问答系统以及各类垂直行业中落地实践。
在智能语义搜索应用中,当用户输入搜索内容时,搜索引擎会提取搜索内容中涉及的实体和属性并在知识图谱中查找相关的实体和属性值,并将其映射到图谱的一个或一组概念上,之后依据概念层次结构,返回图形化的知识结构,即知识卡片。如谷歌、必应、百度、搜狗等。
问答系统可分为两类:基于深度学习和基于语义分析的问答系统。对于基于语义分析的问答系统,系统首先依据规则将问题中的实体、关系词、疑问词映射成图谱中的实体和关系谓词,之后将相邻的实体、关系谓词桥接,产生新的谓词,最后将问题中的所有谓词取交集形成一个精确的查询语句,再直接利用该查询得到答案。对于基于深度学习的问答系统,系统利用循环神经和卷积神经网络将一个问句转换成向量的形式,同时通过表示学习把图谱中所有实体或者关系表示成向量形式。使用问句的向量在这个知识图谱向量中查询,找到距离最近的实体或者关系向量,对应的实体就是当前问句的答案。
知识图谱技术与行业应用结合后,其价值得到更大的发挥。下面以其在军事中的应用为例,阐述其可能的落地应用。
针对军事领域多业务数据异构化、难关联的问题,可以利用知识图谱技术,对气象、情报、后勤、装备等领域信息进行抽取、表示、映射等标准化和工程化处理,构建多业务综合化知识图谱关系网络,辅以强大的交互可视化设计,向作战人员提供跨域关联、多维立体的信息服务支撑能力。
针对军事斗争中网络攻击数据碎片化、溯源线索难提取、攻击链条难关联等难题,可以将网络安全知识图谱作为底层技术支撑,根据网络威胁情报真实数据的特点和相关标准,建立网络威胁情报实体、属性和关系,并基于网络威胁情报关联分析技术,深入挖掘各要素之间潜在的关联关系,进而对攻击者进行追踪,最终形成溯源定性的重要依据[44]。
军事装备领域数据包括两个方面:一是装备自身数据;二是日常管理和任务产生的数据。由于各类装备种类多、业务类型繁杂、用户众多等特点,装备大数据十分复杂、庞大,装备数据的管理和使用效率较低。文献[46]将知识图谱技术用于解决装备数据管理的相关难题,通过构建装备大数据知识图谱,将多模态、多领域的数据层层分解,建立关联,将离散的、分段的、不同层面的数据进行整合,提高装备数据管理统筹能力。
知识图谱在军事方面的应用还体现在军事领域知识库的构建方面,能够为态势认知、作战筹划、行动控制以及辅助决策等典型作战过程提供有力支撑。例如,通过将战场实时态势、战法规则、各类作战条令、动向活动等信息进行自动抽取、知识表示、关联关系分析、知识推理等,形成基于战场实时态势数据和部队作战经验知识的辅助决策模型,辅助指挥员实现对战场多维度、多层次的理解和认知[45]。
此外,知识图谱技术还可支撑军事智能问答系统以及指挥员个性化需求分析等典型应用。在军事智能问答方面,通过知识图谱构建典型问答知识体系,使机器能够从“关系”的角度出发,分析理解作战人员提出的自然语句问题,并能够从海量的信息中,快速准确地搜寻最佳答案,实现高效人机交互。在指挥员个性化需求分析方面,可以利用知识图谱技术,收集指挥员操作习惯、常见搜索词、重点关心问题等,结合深度学习等智能算法,不断完善形成对指挥员画像的精准描述,从而为作战人员提供更加智能、聚焦的知识服务。
3 发展趋势与挑战
随着知识图谱的关注度越来越高,其发展正呈现诸多趋势。一是知识图谱与机器学习等人工智能技术相互渗透融合。目前大量的机器学习模型能够有效实现实体识别、关系补全等,有力支撑了知识图谱的快速构建和丰富,并且各类智能算法和知识图谱的有效结合,能够实现知识推理向高效化、精确化的方向不断发展。二是知识图谱的模态趋于多样化。多模态知识图谱将多模态知识(例如文本、图片和音视频等)进行关联整合,能够为用户提供立体式、多维度的知识服务,将有力支撑用户进行相关信息分析和知识挖掘。三是知识图谱的质量评估越来越受重视。无论是知识覆盖面广、学科众多的通用知识图谱,还是知识专业性强、深度高的垂直知识图谱,要想为用户提供高质量、高精准的知识服务,前提是必须构建高质量的知识库,质量评估作为高质量知识体系构建过程中的重要一环,其发展和完善必将加速知识图谱技术体系的成熟和在各行各业的落地应用。四是知识图谱从学术界向产业界转移。随着大众的广泛关注,知识图谱已经从学术研究逐步向相关产业转移,目前已有越来越多的知识图谱在电商、医疗、制造等场景的落地案例,为各行各业提供高效、精准的信息服务。但是,知识图谱的大规模应用还面临着一些挑战,具体如下:
一是知识获取效率较低。已有的知识元素抽取方法受限于数据源,扩展性、通用性不强,需要针对数据源进行适应性调整,而调整方法和过程通常需耗费大量人力,效率较低。
二是知识精确融合和图谱动态更新困难。从不同数据源抽取的知识没有统一的发布规范,数据质量参差不齐,从中挖掘的知识也会有大量的噪声以及冗余,针对这些问题,目前的研究主要集中在开发并行与分布式的对齐算法、众包算法以及跨语言知识库对齐,但是要构建高效的知识图谱,目前的知识质量评估仍然过多地依赖人工,图谱的自动化更新以及确保动态更新的有效性具有挑战性。
三是知识推理的适应性和准确率较差。当前知识推理学习和推理方法大多基于通用知识图谱,在实际应用中,利用旧关系推导出新关系只能在很小范围内、明确规则下进行尝试,并且关系的精度难以得到保证,尤其是在构建大规模知识图谱中,预测准确率低、效率低的问题有待于进一步深入研究。
四是目前大规模知识图谱的应用场景和应用模式还比较有限,如何高效地构建、灵活地实现知识图谱的有效落地应用,提高大规模知识图谱的知识计算效率和推理准确度,需要广大科研工作者和相关领域技术人员不断锐意发掘用户需求,探索更重要的应用场景,提出新的应用算法。
4 结束语
知识图谱是典型的学科交叉领域,涉及机器学习、知识表示、图数据库等多种学科,其构建及应用涉及知识建模、表示、存储、加工、语义搜索、智能问答等多种关键技术。利用知识图谱技术,人们可以对各类数据源进行结构化、语义化的智能处理,构建大规模的专业知识库,并支撑业务应用,使得机器能够更好地理解网络、资源、用户,为用户提供新型智能服务。本文针对知识图谱的架构体系、生命周期、典型应用、面临的挑战及发展趋势等进行系统性、总体性的阐述和归纳分析,期望所做的工作可以为知识图谱技术的发展和普及贡献一份力量。