- 知识概念图谱介绍:知识是认知,图是载体,数据是实现,结构化的数据进行关联形成了知识图谱
- 知识图谱发展历程
- 人工智能的发展介绍:5次重要的发展里程碑
- 认知智能的基础:海量行为数据的知识化(推理预测),既定知识的海量数据化(表示和存储)
- 知识工程的发展:一阶谓语表示;
- 语义网介绍:语义网要解决对Web内容增加语义后提供查询功能。
- 语义网到知识图谱:抽取网页内容后,得到实体和实体关系
- 知识图谱的类型:常见的大规模知识库,WordNet专家系统/Freebase/DBpedia/Wikidata
- 典型知识图谱:
- 语言类和项目类的知识图谱介绍
- 应用类知识图谱的介绍
- 知识图谱的知识体系构建:抽取网页内容后,得到实体和实体关系,实体识别和消除歧义,关系抽取和事件抽取
- 知识图谱的知识获取和融合:一种是基于RDF的存储;另一种是基于图数据库的存储。
- 应用场景之智能搜索和推荐:电商的商品推荐,
- 应用场景之智慧金融和医疗
- 知识图谱的内涵分析
- 知识图谱的未来发展方向
- 什么是人工智能?人工智能的发展历程是怎样的?如何学习人工智能?人工智能有哪些应用?知识工程如何兴起,已经伴随人工智能的发展,促发了知识图谱的产生?大家回顾一下发展的关键里程碑:
- 1956年的达特茅斯会议标志着“人工智能”概念的诞生。约翰·麦卡锡提出了“人工智能”一词,标志着人工智能这门学科的诞生。麦卡锡也因此被誉为是“人工智能之父”。
- 1977年,在五届人工智能大会上,斯坦福科学家爱德华·费根鲍姆提出知识工程概念,成为人工智能的一个重要方向。
- 1997年,一个是十多年前IBM研发的计算机“深蓝”(DeepBlue)战胜了国际象棋冠军卡斯帕罗夫。
- 2012年,谷歌发布知识搜索引擎,基于知识图谱的实体技术,实现了从wikipieida维基百科中抽出实体及属性的知识网络。
- 2019年3月27日,ACM(美国计算机学会)宣布,深度学习的三位创造者Geoffrey Hinton、Yann LeCun以及Yoshua Bengio共同获得了2019年的图灵奖。
- 人脑的思维模型是这样的:我们会从以往的经验中总结出规律,这样当遇到新问题的时候,我们会利用已有的规律来预测接下来会发生什么事,也就是预测未来。机器的思维模型与人脑非常的相似,它们是从历史数据中总结出一个比较通用的模型,这样当遇到新的数据时,它们会利用已有的模型来挖掘出一些过去未曾发现的东西,也就是预测未知属性。
- 案例一:喜欢看NBA的人都知道,金州勇士队是2015年、2017年和2018年NBA的总冠军,是当前NBA中炙手可热的一支球队。但在2009年,它还是NBA里最烂的球队之一,成绩排名倒数第二。那么,它是如何在短短的几年之间实现从最差到最好的逆袭的呢?这就要归功于科技的力量了。由于勇士队靠近科技之都硅谷,而硅谷从来都不缺少创新,因此就有人想到用科技的手段来改变这支球队。首先,硅谷的工程师利用大数据和人工智能算法制定球队的发展战略和比赛战术;接着,经过数据分析,发现最有效的进攻是准确的传球和投篮,而不是个人的突破和扣篮;然后,利用实时数据及时调整比赛中的战术。就这样,金州勇士队一跃成为了NBA最牛的球队之一,这也是大数据和人工智能改变体育行业的一个典型例子。
- 案例二:大家对酒吧行业是否了解呢?传统的酒吧很难管理,美国酒吧的平均寿命不超过五年,除了经营不善之外,就要归因于酒水不好管理。据统计,一家酒吧大约23%的酒被酒保偷喝了,那么,有不有方法可以让难管理的酒吧变得容易管理呢?这时,大数据和人工智能又要显身手了。在成功的案例中,改造酒吧行业的方法为:首先,改造酒吧的酒架,装上可以测量重量的传感器以及无源的RFID芯片读写器,然后再在每个酒瓶上贴上一个RFID的芯片;接着,分析每一家酒吧过去经营情况的统计数据,以帮助酒吧的主人全面了解经营情况;然后,为每一家酒吧的异常情况提供预警;最后,综合各家酒吧数据的收集和分析,利用人工智能算法为酒吧老板提供该行业宏观的数据作为参考。
- 案例三:比如对于教育行业,我们经常谈论个性化教育、因材施教的理念。其核心在于理解学生当前的知识体系,而且这种知识体系依赖于我们所获取到的数据比如交互数据、评测数据、互动数据等等。为了分析学习路径以及知识结构,我们则需要针对于一个领域的概念知识图谱,简单来讲就是概念拓扑结构。
- “知识图谱本质上是语义网络(Semantic Network)的知识库”。但这有点抽象,所以换个角度,从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图(Multi-relational Graph)。
- 图是由节点(Vertex)和边(Edge)来构成,但这些图通常只包含一种类型的节点和边。但相反,多关系图一般包含多种类型的节点和多种类型的边。
- 比如一个社交网络图谱里,我们既可以有“人”的实体,也可以包含“公司”实体。人和人之间的关系可以是“朋友”,也可以是“同事”关系。人和公司之间的关系可以是“现任职”或者“曾任职”的关系。
- 知识图谱应用的前提是已经构建好了知识图谱,也可以把它认为是一个知识库。这也是为什么它可以用来回答一些搜索相关问题的原因,比如在Google搜索引擎里输入“Who is the wife of Bill Gates?”,我们直接可以得到答案-“Melinda Gates”。这是因为我们在系统层面上已经创建好了一个包含“Bill Gates”和“Melinda Gates”的实体以及他俩之间关系的知识库。所以,当我们执行搜索的时候,就可以通过关键词提取("Bill Gates", "Melinda Gates", "wife")以及知识库上的匹配可以直接获得最终的答案。
- 知识图谱主要有两种存储方式:一种是基于RDF的存储;另一种是基于图数据库的存储。它们之间的区别如下图所示。RDF一个重要的设计原则是数据的易发布以及共享,图数据库则把重点放在了高效的图查询和搜索上。其次,RDF以三元组的方式来存储数据而且不包含属性信息,但图数据库一般以属性图为基本的表示形式,所以实体和关系可以包含属性,这就意味着更容易表达现实的业务场景。
- 知识的种类
- 陈述性知识(描述性知识)
- 描述客观事物的性状等静态信息
- 分为事物,概念,命题3个层次
- 事物是特定的事或物
- 概念是对一类事物本质特性的反映
- 命题是对事物之间关系的陈述
- 概括性命题
- 描述概念之间普遍关系
- 非概括性命题
- 描述特定事物之间的关系
- 过程性知识(程序性知识)
- 描述问题如何求解等动态信息
- 规则
- 描述事物的因果关系
- 控制结构
- 描述问题的求解步骤
- 图谱将传统基于浅层语义分析的信息服务范式提升到基于深层语义的知识服务
- 知识和结构化数据
- 本体
- 抽象的概念表示
- 数据库
- 电脑表示和存储计算机应用中的数据的产品
- 框架
- 数据的描述和定义
- 上下位知识: 大熊猫是猫科动物
- 属性之间的关系:子女和父母逆关系
- 属性的约束:人的父母只有两个
- 框架和数据构成完整的知识系统
- 知识是认知,图谱是载体,数据是实现
- 知识图谱发展历程
- 人工智能:推理、分析、预测、思考
- 语义网:推理
- 知识的主客观性
- 事实性知识:确定性的,不随状态的变化而改变的知识(中国,首都,北京)
- 主观性知识:某个人或群体的情感信息
- 苹果手机太贵了
- 知识的变化性质
- 静态知识:不随时间,空间的变化而变化 出生日期
- 动态知识:随时间、空间的变化而变化 美国总统,上一任是奥巴马,下一任是特朗普事件是动态知识的重要组成部分
- 按场景分类
- 领域知识:领域特有的知识,法律,金融
- 百科知识:涵盖各行业、领域的通用知识 ,如人物,机构,地点
- 场景知识:某个特定场景下或者需要完成某个任务市需要的知识 如订机票、盖房子等
- 语言知识:语言层面的知识,如减肥和瘦身是同义词
- 常识知识:大家都认可的知识 如鸟会飞
- 举例:
- wordnet:语言知识图谱,由同义词和描述同义词的关系构成
- Hownet:语言认知知识图谱,基于词语义原,揭示词语更小的语义单元的含义。
- cyc和conceptnet:常识知识图谱
- 领域知识图谱:电影知识图谱、医学知识图谱
- 知识体系构建
- 资源描述框架(RDF)
- 资源:能够使用RDF表示的对象称之为资源,包括实体、事件和概念等
- 谓词:描述资源本身的特征和资源之间的关系
- 陈述:RDF三元组<主体、谓词、宾语>
- 知识获取
- 结构化数据
- 表格、数据库
- 优点是置信度高,数据质量可靠
- 缺点是规模小,不易获得
- 半结构数据
- 不能通过固定的模板直接获得的结构化数据
- 优点:置信度高,规模大
- 缺点:样式多变,难以用模板获取
- 非结构化文本数据
- 文本信息抽取
- 主要任务
- 实体识别
- 姚明1981年出生在上海
- 姚明-》人名
- 1981-》时间词
- 上海-》地名
- 命名实体识别:
- 3大类:实体、时间、数字
- 7小类:人名、地名、机构名、时间、日期、货币和百分比
- 领域实体
- 实体消歧
- 消除指定实体的歧义
- 实体链接:给定文本中的某一个实体指称项链接到已有图谱的某个实体上
- 实体聚类:通过聚类的方法消除语料中所有同一实体指称项的歧义
- 关系抽取
- 按抽取目标的不同,分为:
- 关系分类
- 判别一句话中两个实例之间的语义关系
- 比如姚明,上海,判断是否具有出生地的关系
- 属性抽取
- 把这句话中的表达出生地的属性值抽取出来,即上海
- 关系实例抽取
- 判断实体间关系和抽取满足该关系的知识实例数据
- 例如上下位关系等
- 事件抽取
- 从描述事件信息的文本中抽取出用户感兴趣的事件信息并以结构化的形式呈现出来
- 是发生在某个特定的时间点或者时间段、某个特定的地域范围内,由一个或者多个角色参与的,一个或者多个动作组成的事情或者状态的改变
- 因为自然语言表达的歧义性和灵活性,很有挑战
- 方法有:
- 基于模式匹配的事件抽取
- 基于机器学习的事件抽取
- 知识融合
- 知识融合是对不同来源、不同语言或不同结构的知识进行融合,从而对已有知识图谱进行补充、更新和去重。
- 知识体系的融合
- 两个或多个异构知识体系的融合
- 相同类别,属性,关系进行映射
- 实例级别的融合
- 两个不同知识图谱中的实例
- 竖直方向的融合
- 融合高层通用本体与底层领域本体或实例数据
- 水平方向的融合
- 融合同层次的知识图谱,形成实例数据的互补
- 知识存储
- rdf:搜索的效率低下,提升效率,使用六重索引
- 图数据库neo4j:完善的图查询语言,支持大多数的图挖掘算法,缺点是数据更新慢,大节点的处理开销大
- 用于补全
- 传统逻辑的方法,规则冲突
- 表示学习的方法,分布式表示的语义向量相似度计算,缺点是不可解释,缺乏语义约束
- 用于自动问答的推理
- 智能搜索
- 返回相关的大量信息
- 用户意图理解
- 姚明运动员,搜索返回包含姚明的网页,知识图谱识别查询词的实体和属性,将姚明和运动员关联,得出用户查询的篮球运动员姚明。
- 自动问答
- 实体和关系推理得到答案
- 屠呦呦是哪里人?实体:屠呦呦 哪里人(国籍)
- 推荐
- 实体的关系推荐产品
- 如战狼2,右侧出现相似产品推荐,通过知识图谱的类型标签推荐的
- 决策支持
- 描述出来,描述知识的演变过程和发展规律,从而为研究和决策提供准确、可追踪、可解释、可推理的知识数据。如,通过对数据的一致性检验识别银行交易中的欺诈行为。
- 深度学习的本质是通过多层神经网络,自动学习处理对象的抽象表示,以便在具体任务中有更好的性能。
- 基于神经元的深度学习方法把处理对象表示为数值(标量/向量/矩阵),并通过数值计算(数值相乘、开方、乘以非线性函数)完成各种语义计算任务。
- 局限:
- 依赖大量标注数据
- 不可解释过程不可调控
- 端到端的学习难以加入先验知识
- 词表示学习
- 基于深度学习的自然语言处理方法
- 将知识图谱中的用符号表示的实体和关系投影到低维向量空间中,这种表示体现实体和关系的语义信息
- 神经符号机
- 神经网络与符号相结合的技术
- 经典知识表示理论
- 逻辑
- 从简单到复杂分为:
- 命题逻辑:
- 具有最简单的语法,定义了具有真假值的原子命题,通过与、或、非、蕴含、当且仅当等将多个原子命题组合成复合命题,而推理过程则根据逻辑连接词的真值表进行推导
- 一阶谓词逻辑(一阶逻辑):
- 在命题逻辑基础上引入了全称量词和存在量词,使得一阶逻辑可以量化实体和概念
- 高阶逻辑:
- 量化谓词或集合
- 二阶量化集合
- 三阶量化集合的集合
- 谓词逻辑
- 优点
- 谓词逻辑是一种强大的知识表示语言,一阶谓词逻辑具有完备的逻辑推理算法。
- 缺点
- 但是难以表示过程性知识和不确定知识,当表示知识的属性、谓词和命题数量增大时,推理因为符号的组合爆炸问题,计算复杂度呈指数增长态势。比较耗时,工作效率低。
- 语义网络
- 通过语义关系连接的概念网络。语义单元的形式表示为:<节点1,关系,节点2>
- 语义网络的关系类型有:
- 实例关系(ISA):
- 具体与抽象,一个事物是另一个事物的一个实例,如“小王是一个人”。
- 分类关系(AKO):
- 一个事物是另一个事物的一种类型,如“篮球是一种球”
- 成员关系:
- 个体与集体,一个事物是另一个事物的成员,如“小于是一个公务员”
- 属性关系:
- 事物和其属性之间的关系,如人的身高
- 聚合关系:
- 组织或结构特征的部分与整体的关系,如“凳子是桌子的一部分”
- 时间关系:
- 不同事件发生时间的先后次序关系,常用在前,在后
- 位置关系:
- 不同事物在位置方面的关系,在上,在下,在内
- 相近关系:
- 不同事物在形状、内容等方面相似,如狮子老虎食物链位置相近
- 多元关系转化为多个二元关系
- 框架
- 从认知学的角度,人类都是以一种类似于框架的结构存储在记忆中。在根据实际情况对框架进行填充,填充的部分叫做槽,框架以及槽的粒度则根据人类对事物的认知程度而定。
- 脚本
- 通过一系列的原子动作来表示事物的基本行为,按照时间顺序描述事物的发生,类似于电影剧本。
- 脚本表示的知识有确定的时间或因果顺序。用来描述一个动态的过程而非静态知识的表示方法。比如:
- 顾客去餐厅吃饭脚本:
- 走进餐厅
- 拿号等待
- 被叫号
- 去固定座位就坐
- 完整的脚本包括:
- 进入条件
- 事件所发生的先决条件,比如就餐,顾客饿了不在家中就餐
- 角色
- 描述事件中可能出现的人物。如顾客,厨师,服务员等
- 道具
- 相关物体,菜单等
- 舞台
- 发生的空间,如餐馆
- 场景
- 时间的序列
- 主体部分,并不是只有一种就餐的场景,枚举出来是庞大的工程,这是脚本的一个缺陷
- 结局
- 结果,进入后续脚本的先决条件,比如顾客不再饿了
- 语义网中的知识表示方法
- 语义表示方法
- 这里指万维网,有效的组织和检索信息,从而使计算机能够利用互联网丰富的资源完成智能化的应用任务。
- 语义网知识描述体系
- XML
- 可扩展标记语言
- RDF
- 资源描述框架
- 三元组也可以扩展为内容更丰富的六元组
- 主语、谓词、宾语、时间、地点、附加信息
- OWL
- 网络本体语言
- 知识图谱中的知识表示方法
- 表示框架
- 事物
- 客观世界中的实体或对象
- 概念
- 具有相似本体特征的一类事物
- 属性
- 事物或概念具有的特征和特性等
- 关系
- 概念与实体之间的关联方式
- 函数
- 事物或概念之间转化的形式表达
- 约束
- 某项断言成立的限制条件的形式化描述
- 规则
- 一句某项断言得到逻辑推理的因果关系知识的形式化表达
- 公理
- 永远为真的断言
- 知识图谱真正的魅力在于它的图结构,在知识图谱上运行搜索,随机游走,网络流等大规模图算法,使得知识图谱与图论、概率图擦出火花。
- 基于知识图谱的逻辑规则的挖掘
- 得益于知识图谱频繁子图的挖掘,促进了逻辑规则的自动生成和评价
- 基于大规模链接图谱的标签传播
- 对知识图谱中的实体按照普通角度分类,有利于发现关键的实体
- 知识图谱的数值化表示方法
- 符号的数值化表示
- 语义计算
- 特征工程
- 文本的数值化表示
- 词空间模型
- 得到词的分布表示
- 知识图谱的数值化表示
- 基于张量分解
- 基于能量函数
- 知识融合通过框架匹配和实例对齐,把分散的知识资源联合起来,可以极大的增加知识图谱的覆盖领域和共享程度。
- 知识体系构建
- 知识体系三个方面核心内容:
- 对概念的分类
- 概念属性的描述
- 概念之间相互关系
- 知识体系的基本形态:
- 词汇
- 概念
- 分类关系
- 非分类关系
- 公理
- 人工构建方法
- 人工构建知识体系的过程可以分为6个阶段:
- 确定领域及任务
- 知识图谱作为人工智能应用的基础设施,其构建过程不能不了解具体的应用任务,也不能抛开领域建立一个高大全的、无法被广泛使用的产品。
- 与具体的领域密切相关
- 限定了知识体系应该包含的知识范围,领域内还是可以构建出各种各样的知识体系。
- 想要构建更为合适的体系,需要回答:
- 我们为什么要使用这个知识体系
- 这种知识体系呢个构帮助回答哪些类型的问题
- 谁会使用并维护这个知识体系
- 体系复用
- 知识体系具有很强的抽象性和概括性。从零开始构建不仅成本高昂,而且质量难以保证。
- 领域词典
- 专家编撰的领域内的词典,对构建限定领域的知识体系具有重要的参考意义。
- 语言学资源
- 语言学资源可以帮助知识体系的构建
- 开源知识图谱
- 网络百科
- 罗列要素
- 根据领域,罗列期望在知识图谱中出现的要素列表,主要包括概念、属性以及关系。
- 确定分类体系
- 确定了相关要素后,需要将其中表示概念的要素组织成层级结构的分类体系。
- 自顶向下
- 从最抽象的概念开始,逐层添加更为具体的概念
- 自底向上
- 从具体的概念开始,逐层开始抽象
- 定义属性及关系
- 为每个类别定义属性及关系。
- 属性是描述概念的内在特征,
- 关系是刻画不同概念之间的关系。
- 定义约束
- 不同的属性和关系具有不同的定义域和值域。
- 数据报障数据的一致性,避免异常值的出现。
- 自动构建方法
- 基于非结构化数据的知识体系学习
- 也叫基于文本的本体学习。首先利用自然语言处理工具对文本进行分词、句法分析、命名实体识别等预处理操作,然后利用模板匹配、统计学习的方法从文本抽取重要信息,主要包括领域概念、实例以及概念之间的关系。
- 领域概念抽取
- 从文本数据中抽取出构建知识体系所需的关键元素,包括实体类型名,属性名,关系名,步骤如下:
- 抽取候选术语
- 利用nlp抽取文本中的字符串,尽可能多的把真正的术语包括进来,对质量没有严格的要求,但是尽量保证抽取术语的高覆盖度。
- 术语过滤
- 领域术语与破铜词汇在语料上往往具有不同的统计特征,例如普通词汇在领域内外具有相似的分布,但是领域词汇有显著的区别。通过互信息(MI),词频逆文档概率(TF-IDF),术语相关频率(RTF)等过滤。
- 术语合并
- 把相同概念的术语合并,聚合到一起,转换的过程就是识别同义词的过程。
- 基于词典
- 词汇就是wordnet等
- 基于统计的方法
- 基于统计就是假设相同的词汇具有相似的上下文,在大规模语料上学习,并进行聚类,识别同义词。
- 分类体系构建
- 获取不同概念之间的继承关系,即上下文关系
- 基于词典
- wordnet
- 基于统计
- 通过词的上下文进行表示,并基于术语得到层次聚类。不同层次类别内的构成了上下位关系
- 概念属性及关系抽取
- 与概念属性抽取一致
- 基于结构化数据的知识体系学习
- 基于数据表的主键、外键和字段内容等信息实现上述目标
- 基于半结构化数据的知识体系学习
- 有一定模式,但是不太严格,如XML、HTML等格式
- 典型知识体系
- SUMO
- Schema.org
- freebase
- protege常被应用于基于框架的知识表示模型,一般是先定义类,在定义类中的属性,最后定义类和属性的约束。
- 知识融合
- 竖直方向的融合
- 融合高层通用本体与底层领域本体或实例数据
- 水平方向的融合
- 融合相同层次的知识图谱
- 如BabelNet融合不同语言的已购知识图谱,实现跨语言的知识关联和共享。
- 知识融合通过对多个相关知识图谱的对齐、关联和合并,使其成为一个整体。按融合对象的不同分为框架匹配和实体对齐。
- 框架匹配
- 对概念、属性、关系等知识描述体系进行匹配和融合
- 实体对齐
- 对齐合并相同的实体完成知识融合
- 但是实例知识有时有冲突,需要对其检测和消解
- 框架匹配
- 解决异构性,本体对齐
- 元素级匹配
- 独立考虑元素是不是匹配,不考虑其他元素的匹配
- 字符串匹配:
- 前缀距离,后缀距离,编辑距离和n元语法距离
- 这种方法忽略了语言符号的多义性,一词多义和一义多词
- 词向量
- 将词表示为低维语义向量空间的一个点,语义相似度用点之间的距离来衡量。与字符串相比,有更强的捕获词背后的真正语义的能力。
- 可将其与其他编辑距离等结合,混合方法获得了很好的性能。
- 结构级匹配
- 不把各个元素作为孤立的资源,利用知识图谱的结构,在元素匹配中考虑其他元素的影响。
- 不同元素的匹配之间也会有影响
- 例如属性的定义域和值域匹配度高,属性匹配度也高。基本思想是:相似的概念具有相似的概念结构。
- 基于图的技术
- 当做已经标记的图结构
- 对于两个本体的节点,如果它们的邻接节点是相似的,它们也是相似的。发现最大公共子图的问题,计算量很大
- 基于分类体系的技术
- 分类体系进行对齐
- 基于统计分析的技术
- 对已有样本挖掘其中蕴含的规律
- 分组,计算距离
- 实体对齐
- 成对实体对齐
- 协同实体对齐
- 表示学习方法
- 计算实体相似度
- 不需要依赖人工设定的规则和特征,也不需要了解知识库的命名习惯 适应性强
- KB1,KB2,产生初始种子对齐,核心思想是种子对齐中的两个向量要尽可能类似。
- 冲突检测和消解
- 冲突忽略
- 冲突避免
- 过滤
- 冲突消解
- 基于投票
- 频率
- 基于质量
- 来源
- 实体识别和扩展
- 在文本中对实体的引用可以有三种形式:
- 命名性指称
- 名词性指称
- 名词性指称
- 例如:中国乒乓球男队主教练刘国梁出席了会议,他布置了备战世乒赛的具体安排。
- 中国乒乓球男队主教练是名词性指称
- 刘国梁是命名性指称
- 他是代词性指称
- 这里主要研究命名性实体
- 实体识别
- 任务概述
- 识别出文本中实体的命名性指称项,标注其类别。
- 三大类:实体类,时间类,数字类
- 七小类:人名,地名,组织名,时间,日期,货币和百分比
- 实体识别的难点
- 时间,日期,货币和百分比的构成有比较明显的规律,识别起来相对容易
- 人名、地名和组织名用字灵活,识别的难度也大。这里指的是这三类的识别
- 包括两部分:
- 识别实体边界
- 确定实体类别
- 难点在于:
- 命名实体形式多变
- 内部结构复杂,对中文来说尤其如此
- 人名
- 包含姓氏和名,姓的用字是有限制的,但是名的用法灵活。还有很大其他的形式,使用字号代替人,姓+前缀/后缀以及职务名代替人。如杜甫,杜子美,子美是同一个人,李杜则是一个简称。
- 地名
- 若干个字组成,可能包括作为后缀的关键字。也有一些简称。如:湖北,湖北省,鄂
- 机构名
- 可以包含命名性成分,修饰性成分,表示地名的成分以及关键词成分。如北京百得投资咨询公司
- 机构名嵌套子机构名,北京大学附属小学
- 简称形式,中国奥委会
- 命名实体的语言环境复杂
- 在不同语境下可能就不是实体
- 人名:彩霞,有时是人名,有时是自然现象
- 地名:河南,有的是省名,有的是泛指
- 机构名:新世界,有时是机构名,有时是短语
- 英语有明显的标志,如首字母大写,识别边界容易,但是中文没有,相比
- 英文有明显的词边界标志符
- 首字母大写
- 基于规则的实体识别方法
- 基于命名实体词典的方法
- 采用字符串完全匹配或部分匹配的方式
- 基于正向最大匹配的方法
- 基于逆向最大匹配的方法
- 基于最短路径的方法
- 缺点
- 专家
- 规则冲突
- 根据优先级排序
- 通用性不强
- 基于机器学习的实体识别–基于特征的方法
- 计算概率值,鲁棒性好,构建代价小
- 主要是应用传统的人工设计的大量特征进行实体识别
- 而基于神经网络是自动捕获特征
- 无论何种模型,都在试图充分发现和利用实体所在的上下文特征和实体的内部特征,包括词形,词性和角色级特征
- 基本步骤:
- 特征选取
- 词性,大小写,词缀信息
- 模型学习
- 根据具体的任务和需求选择
- 比如:支持向量机、最大熵模型,隐马尔科夫模型以及条件随机场等,多模型也可以联合使用。
- 样本预测
- 利用训练好的模型,对输入样本进行标注预测
- 后处理
- 最广泛的是基于字的模型,代表性的方法有CRF。
- crf
- crf计算联合概率分布的概率图模型。输入的预测值标记为BIO
- 如果是人名,地名,组织名加上标签。
- 无向图G(V,E)
- V是顶点,E是边,X是输入序列,Y是输出序列。
- 数学表达式为:
- t,s为特征函数,t表示观察序列的标记序列位置i-1和i之间的转移特征函数。p是i位置状态特征函数。
- 特征函数集
- 特征函数,状态特征函数和转移特征函数,都是二值函数,0或1 上下文和词性特征
- 模型参数估计
- 估计模型参数,估计权重
- 命名实体标注
- 每个节点是每个预测值的不同取值。通过寻找网络中的最大概率的路径来确定输出的命名实体标记。动态规划方法,维特比方法。
- 基于机器学习的实体识别–基于神经网络的方法
- 特征表示
- lstm
- 模型训练
- softmax分类,但是忽略了约束,如O之后不能接I,接入CRF
- 模型分类
- 细粒度实体识别
- 细粒度特点
- 类型更多
- 类别具有层次结构
- 难点
- 类别制定
- 语料的标注
- 实体识别的方法
- 实体扩展
- 种子实体,获取同类实体的方法
- Google 后台维护大量的开发类别命名实体列表来提高用户体验。典型应用包括:
- 知识图谱中同类实体的检索和推荐
- 提高查询分析的准确率
- 辅助文档分类
- 辅助用户行为分析与广告精准投放
- 实体扩展方法
- 种子处理模块
- 输入若干种子组成的初始种子集合,输出高质量种子组成的集合
- 实体抽取模块
- 抽取目标实体,打分排序,输入种子,输出排序后的实体列表
- 结果过滤模块
- 实体抽取的方法有:
- 基于模块的实体抽取
- 好的模板出现次数频繁,总是指示目标类别的实体,可以在不需要其他知识前提下在文本中被识别出来
- 基于统计学习的实体抽取
- 基于上下文相似的方法
- 融合模板和上下文相似的方法
- 种子处理与结果过滤
- bootstapping
- 错误放大
- 引用
- 如何用简单易懂的例子解释条件随机场(CRF)模型?它和HMM有什么区别?
- 条件随机场CRF
- 知识存储和检索
- 知识图谱是一种有向图结构,描述了现实世界中存在的实体、事件或者概念以及他们之间的关系。图中的节点表示实体、事件或者概念,图中的边表示相邻节点的关系。
- 知识图谱的存储
- 基于表结构的存储
- 利用二维的数据表对知识图谱中的数据进行存储。根据不同的设计原则,可以具有不同的表结构,比如
- 三元组表
- 如jena等,优点是简单直接,易于理解,
- 缺点是:
- 整个知识图谱都存储在一张表中,导致单表的规模太大。
- 相应的插入,删除,查询,修改的操作开销也大。对实用性大打折扣。
- 复杂查询在这种存储结构上的开销巨大
- 复杂查询拆分成若干个简单查询的操作,降低了查询的效率。
- 类型表
- 为每个类型构建一张表,同一类型的实例放在相同的表中。每一行存实例,每一列代表实体的一个属性。
- 缺点:
- 大量数据字段的冗余存储
- 假如实例又是物理学家又是数学学家,那么同属于这两个类别的实例会同时存储在这两个表中,共有属性会重复存储。
- 大量的数据列为空值
- 解决的方法可以是特有属性拿出来,保存在上一级类型对应的数据表中,下级表继承上级表的所有属性。
- 缺点:
- 查询时必须指明属性或者关系,无法做到不确定属性或关系查询
- 表和具体类型对应,不同类型的数据具有不同的结构,查询时也要知道目标对象的类型才能确定查找的数据表。
- 查询不同类型的实体,需要多表的链接,开销巨大
- 丰富实体类型的,要建大量的数据表。
- 关系数据库
- 关系数据库通过属性对现实世界中的事物进行描述。一行一个记录,一列表示一个属性。
- 候选集
- 能够唯一标识一条记录的最少的属性集合
- 主键
- 一个数据库包含多个候选集,从中任意选取一个为主键。
- 外键
- 数据表中的某个属性或属性组是其他表的候选集,那么为该表的外键。
- 主属性与非主属性
- 包含在任何候选键中的属性为主属性,不包含在任何候选键中的属性为非主属性。
- 对知识图谱的操作要转为SQL语句执行。
- 基于图结构的存储
- 基于图的能直接反应图谱的内部结构,有利于知识的查询。也可以借鉴图的算法,有利于知识的深度挖掘与推理。
- 基于图结构的存储模型
- 从实体出发
- 优点
- 利用有向图对知识图谱的数据进行建模
- 不仅可以为节点定义属性,还可以为边定义属性
- 常用图数据库
- neo4j:开源、高性能,轻量
- orientDB
- infogrid
- hypergraphdb
- infiniteGraph
- 知识图谱的检索
- 常见形式化查询语言
- 关系库:SQL
- 图数据库:SPARQL
- SQL语言
- 数据插入
- insert into 表名 values (值1,值2,…)[,(值1,值2,…),…]
- 值可以为多个
- 如:
- insert into Triples Values (‘费米’,‘老师’,‘伯恩’),(‘伯恩’,‘类型’,‘数学家’)
- 数据修改
- update 表名 set 列1=值1,列2=值2,…where 条件
- where指定需要修改的记录,不然所有的都被修改
- update triples set O=‘1901’ where s=‘费米’ and P=‘出生日期’
- 数据删除
- delete from 表名 where 条件
- delete from triples where s=‘奥本’ or o=‘奥本’
- 数据查询
- 查询结果存在一个临时的表中
- select 列1 ,列2 … from 表名 where 条件
- select S from P =‘类型’ and O =‘数学家’
- SPARQL语言
- 为RDF数据开发的一种查询语言和数据获取协议
- 数据插入
- insert data 三元组数据
- 多条三元组用.分隔,已存在则忽略
- 头实体相同的可用;分隔
- insert data {
- ns:伯恩 ns:类型 ns:数学家;
- ns:类型 ns:物理学家.
- }
- 数据删除
- delete data 三元组数据
- 删除三元组:
- delete data {
- ns:奥本 ns:类型 ns:物理学家.
- }
- 删除奥本节点:
- delete where {
- ns:奥本 ?p ?o.
- ?s ?p ns:奥本.
- }
- 数据更新
- 更新RDF三元组中的值,只能删除在插入
- 数据查询
- 丰富的数据查询功能
- 包括select、ask、describe、construct
- select:查询
- ask:测试是否存在
- describe:详尽资源的描述
- construct:生成RDF
- select
- select 变量1 变量2 where 图模式 select ?s
- where {
- ?s ns:类型 ns:数学家.
- }
- ask:
- ask 图模式
- ask {ns:伯恩 ns:类型 ?o.}
- describe
- describe 资源或变量[where 图模式]
- describe ?s where {?s ns:类型 ns:数学家.}
- construct
- 针对每个变量取值,替换RDF图模板中的变量,生成三元组
- construct {
- ?s ns:搭档 ns:奥本.
- }
- where {
- ?s ns:老师 ns:伯恩 .
- }
- 图检索技术
- 子图筛选
- 图索引技术是实现子图筛选的有效方法。
- 基于路径索引
- 基于路径索引是把图上所有长度小于某特定值的路径收集起来,并根据这些路径建立倒排索引.
- 基于子图的索引方法
- 频繁项集
- 频繁度是子图出现的次数
- 子图同构判定
- 枚举所有的同构子图
- 知识图谱中的推理任务
- 知识推理是人工智能应用迈向更高级认知智能的重要技术。包括知识补全和知识问答。
- 知识补全
- 面向知识库或者知识图谱的事实补全
- 如图谱中给出了出生地但没有国籍,即可以通过推理的方法把实体或关系预测出来。称为链接预测。
- 它是利用已知知识预测未知的隐含知识,利于完善现有知识图谱。
- 包含两个评测任务:
- 三元组分类
- 判断是否正确 比如
- 首都(北京,中国)
- 首都(成都,中国)是错的,二分类问题,
- 过程是补全时可以选一条边连接任意两个实体,构成新的三元组,判断是否正确。
- 链接预测
- 预测三元组的头实体或尾实体
- 能预测出则能加关系。
- 知识问答
- 简单推理
- 将问题转化为图谱上三元组的查询或者三元组序的查询。对于缺失的需要使用推理,例如唐朝开国皇帝是谁,若开国皇帝(唐朝,李渊)是缺失的。通过前文的链接预测开国皇帝(唐朝,X)。若问开国皇帝的父亲是谁,推理开国皇帝(唐朝,李渊),再对父亲(李渊,x)进行查询和推理。
- 复杂推理
- 表示成多个链接组成的非链式或有嵌套的复杂结构时,需要推理。
- 桃花开花后结果,问开花的目的是什么
- 答案是吸引蜜蜂采蜜,就是一个推理问题。
- 知识推理分类
- 归纳推理和演绎推理
- 归纳推理
- 从特殊到一般的过程。根据部分对象具有的性质,推出一类事物中所有对象都具有的这类性质的推理方式。
- 对资料进行观察、分析和归纳整理
- 得出规律性的结论,即猜想
- 检验猜想
- 例如<蓝鲸,可以喷射,水柱>
- <抹香鲸,可以喷射,水柱>
- 观察整理得:
- 检验猜想:
- <齿鲸,是一种,鲸鱼>
- <齿鲸,可以喷射,水柱>
- 演绎推理
- 从一般到特殊
- 大前提,小前提,结论
- 大前提:
- 虎鲸背部有背鳍
- 小前提:
- 背部有背鳍的鲸鱼都属于海豚科
- 结论:
- 虎鲸属于海豚科
- 确定性推理与不确定性推理
- 确定性逻辑推理
- 逻辑推理,具有完备的推理过程和充分的表达能力
- 不确定性推理
- 根据以往的经验和分析,结合专家先验知识构建概率模型,并利用统计计数、最大化后验概率等统计学习的手段对推理假设进行验证或推测。
- 概率图模型
- 有向图的贝叶斯网络以及无向图的马尔科夫网络
- NP难题 主要的改进有:
- 基于和积变量消除的方法,通过对一个变量求和,并和其他因子相乘以消除变量,简化
- 基于概率图结构的置信传播或期望传播的方法,将原有的推理问题转为优化问题,优化 的方式设计好的能力函数或势函数求解概率最大以达到推理的目的
- 从所有实例触发,都其进行统计或采样以估计推理目标概率,如蒙特卡洛采样等
- 只对具有直接概率依赖的实例级元素,并没有对更高层次的语义框架进行抽象,但需要大量的重复的概率依赖关系,需要大量计算。
- 概率逻辑推理
- 弥补了概率图模型中缺乏可复用规则的特点。
- 结构学习又可以称为概率逻辑推理模型下的规则自动挖掘。迭代局部搜索代替全局搜素。
- 关联规则挖掘
- 路径排序算法是基于图模型上随机游走的启发式方法,通过枚举或抽样图上的两个节点间的路径,递归地计算两个点间的到达概率,对每个路径进行打分。
- 符号推理和数值推理
- 传统的逻辑推理。特点是在知识图谱中的实体和符号上直接进行推理了操作。
- 基于符号演算的推理
- 归纳推理:学习推理规则
- 有三大方法
- 频繁子图挖掘
- 父亲(x,y)^母亲(y,z)->奶奶(x,z)
- 频繁子图规则挖掘是一个相反的过程,它是搜索知识图谱的规则实例,再将规则实例中的实体替换成变量,加约束,确定规则的实用性。
- 计算路径 剪枝
- AMIE算法:
- 增加悬挂边
- 增加具体边
- 增加闭合边
- 归纳逻辑编程
- 更重视没有没有出现在图谱中的负三元组,认为 正例+负例+背景知识->假设。
- 结构学习方法
- 挑选整体概率最大的加入到推理模型中。 + 定义目标函数
- 创建逻辑规则结构
- 搜索逻辑规则的策略
- 提速方法
- 演绎推理:推理具体事实
- 确定性推理:λ推理
- λ程序语言设计的模型。
- λ三种操作:
- α-置换
- β-归约
- η-变换
- 不确定性推理:马尔科夫逻辑网和概率软逻辑
- 马尔科夫逻辑是被看成一种通过为逻辑规则绑定权重的方式将一阶逻辑向概率逻辑进行扩展的方法,当权重调整到无限大时,为一阶逻辑。
- 软逻辑是一种基于一阶逻辑谓词和马尔科夫逻辑网络的统计学习关系票框架。
- 基于数值计算的推理
- 将离散的符号表示成低维实数向量或矩阵以捕捉元素之间隐式关联的一种技术手段。
- 映射可以带来如下好处:
- 减少维度灾难
- 减少数据稀疏
- 通过数值计算填充了稀疏矩阵,在一定程度上解决了数据稀疏性问题。
- 使符号直接参与计算且计算速度非常快
- 有如下方法:
- 基于张量分解
- 矩阵分解的基本思想是用多个低维的矩阵或张量的积代替原始的关系矩阵,从而用少量的参数代替稀疏而大量的原始数据。
- 基于能量函数
- 目标不是恢复出原始的关系矩阵和张量,而是根据任务的不同,自定义能量函数使得三元组能量低,不成立的能量高,计算能量函数对事实是否成立进行推理。
- 符号演算和数值计算的融合推理
- 常识知识推理
- 知识问答与对话
- 知识图谱最直接和最重要的任务是满足用户的精确信息需求,提供个性化知识服务。
- 目前的问答只能事实型问题,不能很好地处理复杂问题。例如:为什么天是蓝色的。关注回答事实型问题的相关技术。
- 自动问答概述
- 九十年代中期,系统的主要特点:利用浅层自然语言处理技术分析问题,并利用信息检索等技术从大规模文本或网页红抽取答案。 由于用户需求的多样性和自然语言的复杂性,没有得到广泛应用。
- 两大困难:
- 缺乏高质量的知识资源
- 高效的自然语言技术
- 近几年,这两点有了很大的突破。
- 问答系统分很多类型:
- 单文本问答系统:阅读理解式问答系统 如入学考试评测任务和斯坦福问答测试平台SQuAD
- 固定语料非结构化文本问答系统
- 从给定的文本语料中抽取答案
- 网络问答系统
- 从互联网中查找问题的答案,但是因为互联网动态变化,难以评测
- 知识库问答系统
- 知识问答和基于知识图谱的问答系统
- 从预先建立好的结构化知识库中查找问题的答案。本章主要是这两个方面:
- 知识问答
- 知识问答技术概述
- 结构化查询语言的有点事表达能力强,但是缺点是用户不但需要掌握结构化查询语言的语法,而且还要充分了解知识库中的资源表达形式。
- 使用自然语言进行人机交互是最简便、最直接也是最有效的一种模式。
- 按照技术分为两种类型:
- 语义解析类型
- 转化为结构化语句,就可以直接通过检索知识图谱得到精简答案。
- 搜索排序类型
- 首先通过搜索与相关实体有路径联系的实体作为候选答案,利用从问句和候选答案提取出来的特征进行比对,进而对候选答案进行排序得到最优答案,例如屠呦呦,得到宁波市,中国,诺贝尔奖等实体,进行匹配和排序得到答案。
- 基于语义解析的方法
- 实质是语义解析。首先需要对问句中的词/短语与知识图谱中的资源项进行映射,然后对匹配到的资源项进行组合,最后对匹配和组合存在的歧义进行消解,得到结果。
- 语义解析分为:
- 基于训练数据的有监督方法
- 有哪些城市靠近大海?
- 哪些城市,靠近大海的语义和之间的组合关系
- 如何确定问句的字句(短语)和它们对应的形式化表示?
- 当已知各个子句的含义及其形式化表示,如何对它们进行语义组合?
- 语义组合模型
- 组合范畴语法的主要思想是把词的句法和语义信息组合在一起形成分析的基础词典,依据组合语法规则自底向上对自然语言句子进行解析。
- 语义辞典构造
- 逻辑表示语言
- 组合消歧模型
- 基于规则的无监督方法
- 语言分析工具模块
- 元素级匹配模块
- 三元组映射模块
- 融合和排序模块
- 基于搜索排序的方法
- 主题词,链接到实体库上。 从候选答案中选择正确的答案。或者排序。
- 基于特征工程的方法
- 对问句和候选答案定义特征,并使用特征工程的方法抽取它们,最后基于特征分配的分类模型对问题和答案匹配度进行建模。
- 问句特征抽取
- 依存句法分析,抽取
- 问题词,如谁,哪
- 问句焦点词,如名字、时间
- 主题词,多个选一个出来
- 中心动词,和答案相关的一些信息
- 把依存语法树转为特征树
- 候选答案特征抽取
- 问句-候选答案匹配
- 基于表示学习的神经网络方法
- 知识对话
- 知识对话,对话系统是更自然友好的知识服务模式,可以通过多轮人机交互满足用户的需求、完成具体的任务等。
- 对话系统有几大特征:
- 多角色切换
- 对话中通常有两个甚至多个角色,可以是提问者,也可以是问题回答者等,并且在对话中,各角色之间常常交替变化
- 连贯性
- 对话的前后内容是有关联的、有逻辑的
- 多模态
- 真正的对话中,包括语音、文字、图片等
- 知识对话技术概述
- 语音识别
- 接收用户的输入信息,把输入转为计算机方便表示和处理的文字形式。
- 对话理解
- 对用户的输入信息进行分析处理,获得对话的意图
- 对话管理
- 根据对话的意图做出合适的响应,控制整个对话过程,使用户和对话系统顺利交互,解决用户的问题
- 任务管理
- 根据具体的任务管理对话过程所涉及的实例型知识数据和领域知识
- 对话生成
- 负责将对话管理系统的决策信息转换成文本结构的自然语言
- 语音合成
- 负责将文本结果的信息转换成语音数据发送给用户
- 分为两类:
- 任务导向型系统
- 用户在使用系统时有确定的目标,一般为确定任务,如:订机票、查路线等
- 通用对话系统
- 用户没有具体目标,可能在多个任务之间切换
- 任务导向型对话模型
- 首先是系统引导对话,用户输入意图,通过用户输入和系统引导的方式交互地完善用户意图信息。
- 自然语言理解
- 目的是将文本数据表示的信息转换为可被机器处理的语义表示。
- 订机票有车次、类型、出发站、到达站、出发时间、到达时间、历时、票价
- 难度:
- 同样的意思有很多种不同的表达方式
- 自然语言表达常常存在不确定性
- 相同语言表达在不同语境下的语义可能完全不同
- 在自然语言中往往存在不规范、不流畅、重复、指代甚至是错误等情况 基于规则和模板,但是无法覆盖全。
- 槽抽取作为一个序列标注问题,通过对每个输入词的标注和分类找出各个槽对应的值。
- 对话管理
- 最重要的部分,也是体现其区别于问答系统的核心步骤。
- 用于控制对话的框架和结构,维护对话状态,通过与任务管理器的交互生成相应的动作。
- 方法有:
- 基于有限状态自动机的方法
- 最简答的对话管理方式。
- 把任务完成过程中系统向用户询问的各个问题表示为状态,而整个对话可以表示为状态之间的转移。
- 基于框架的方法
- 使用任务常常用框架表示,根据槽的情况控制对话的过程。由于可以一次获取框架中的多个槽值,因此,不需要重新询问用户已经提供过的信息。另外,填写各个槽值的时候也不需要按照固定的顺序进行,
- 基于概率模型的方法
- 以上两种均需要人工制定规则,耗费人力。基于概率统计的对话管理方法,使用数据驱动的方法自动学习对话模型。对话过程是个连续决策任务。
- 动作集合的目标是最大化完成任务回报等最小化损失。基于MDP求解的过程。
- 自然语言生成
- 得到具体的回复内容。
- 内容选择
- 管理模块决定
- 内容描述
- 生成模块
- 基于编码器和解码器的深度学习模型 + 知识检索
- 实体词 ,三元组
- 编码器
- 将问句和检索的知识实例编码成向量,以便后续深度生成模型利用。
- 解码器
- 根据答案和知识的编码向量生成自然答案。比如答案李连杰出生在北京
- 通用对话模型
- 基于模板的任务
- 处理和生成的句式简单,也比较固定,能处理的领域有限,不能处理复杂的对话,处理的自然度差。
- 输出关键词,和符合语法的输出。比较生硬,不够自然。
- 端到端的方法
- 深度学习从原始对话中学习对话模型,从而对各种各样的消息进行回复。
- 如果把句子(消息-回复)看出词的序列,那么对话的建模就是一个学习一个词序列X=[x1,x2,…,x3]到词序列Y=[y1,y2,…y3]转化的任务。
- 基于深度学习的seq2aeq模型。
- 采用的是编码器-解码器的框架。基于编码器得到抽象编码表示,另一个RNN用于解码。
- 评价方法
- 难以评价。人工评估和测试
- 用户满意度调查有几项:
- 文本识别模块的性能
- 任务易用度
- 交互速度
- 用户体验
- 系统范阔
- 期望行为
- 未来使用
- 评价指标基于以下两个准则:
- 最大化任务完成度
- 最小化成本开销
知识图谱
知识图谱 (Knowledge Graph)是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”,实体和关系又有其自身的“属性”。实体、关系和属性构成知识图谱的核心三要素。
概述
知识图谱本质上是语义网络(Semantic Network)。目前知识图谱这个概念最早由Google在2012年提出,主要是用来优化现有的搜索引擎。最近,知识图谱慢慢地被泛指各种大规模的知识库。知识图谱的构建属于知识工程的范畴,其发展历程如图1所示。
图1知识图谱的发展历程
知识图谱从其知识的覆盖面来看可以分为开放域知识图谱和垂直领域知识图谱,前者主要是百科类和语义搜索引擎类的知识基础,后者在金融、教育、医疗、汽车等垂直领域积累行业内的数据而构成。
知识图谱相关的关键技术包括构建和使用。知识图谱的构建有自顶向下和自底向上两种方法,现在大部分情况会混合使用这两种方法。知识图谱的构建应用了知识工程和自然语言处理的很多技术,包括知识抽取、知识融合、实体链接和知识推理。知识的获取是多源异构的,从非结构化数据中抽取知识是构建时的难点,包括实体、关系、属性及属性值的抽取。对不同来源的数据需要做去重、属性归一及关系补齐的融合操作。同时,根据图谱提供的信息可以推理得到更多隐含的知识,常用知识推理方法有基于逻辑的推理和基于图的推理。知识图谱的使用需要自然语言处理和图搜索算法的支持。
知识图谱在语义搜索、百科知识及自动问答等方面有着很典型的应用。在语义搜索领域,基于知识图谱的语义搜索可以用自然语言的方式查询,通过对查询语句的语义理解,明确用户的真实意图,从知识图谱中获取精准的答案,并通过知识卡片等形式把结果结构化地展示给用户,目前具体应用有Google、百度知心、搜狗知立方等。在百科知识领域,知识图谱构建的知识库与传统的基于自然文本的百科相比,有高度结构化的优势。在自动问答和聊天机器人领域,知识图谱的应用包括开放域、特定领域的自动问答以及基于问答对(FAQ)的自动问答。比如IBM的Watson,Apple的Siri,Google Allo,Amazon Echo,百度度秘以及各种情感聊天机器人、客服机器人、教育机器人等。
开源知识库
Freebase是一个大规模链接数据库,是由硅谷创业公司MetaWeb于2005年启动的基于Creative Commons Attribution协议的语义网项目。Freebase主要采用社区成员协作方式构建,其数据源主要包括Wikipedia、NNDB、Fashion Model Directory、MusicBrainz和社区用户贡献等。Freebase基于RDF三元组模型,共有19亿条三元组,底层采用图数据库进行存储。2010年,Freebase被Google收购作为其知识图谱数据来源之一。2016年,Google宣布将Freebase的数据和API服务都迁移至Wikidata,并正式关闭了Freebase。
WikiData是免费开放、多语言、任何人或机器都可以编辑修改的大规模链接知识库,是由维基百科于2012年启动的基于Creative Commons Attribution协议的项目。WikiData继承了Wikipedia的众包协作构建机制,但与Wikipedia不同,WikiData基于以三元组为基础的知识条目的自由编辑,目前已经有超过4667万条知识条目。
DBPedia是由OpenLink Virtuoso托管和发布的基于GPL协议的开源知识库。DBpedia以互联网挖掘的方式从各种维基媒体项目创建的信息中提取结构化内容,以机器可读的形式存储知识,并提供信息收集、组织、共享、搜索和利用的手段。DBpedia 2014年发布的版本包含30亿条三元组。DBpedia知识库与现有的知识库相比有几个优点:涵盖领域多、代表真实的社区协议、会随着维基百科的变化而自动演变、多语言。DBpedia知识库的用例非常广泛,包括企业知识管理、Web搜索以及维基百科搜索的革命。
YAGO是一种基于链接数据库的开放语义知识库,是由德国马普研究所与巴黎电讯科技大学于2007开始的基于Creative Commons Attribution协议的联合项目。YAGO主要集成了Wikipedia、WordNet和GeoNames三个来源的数据,包含1.2亿条三元组知识,其功能包括作为一个分类单元直接连接到DBpedia云知识库。目前YAGO在SUMO Ontology项目、DBpedia计划、UMBEL Ontology项目以及Freebase等项目中提供相关知识库支持,同时它也是IBM Watson的后端知识库之一。
其他的开放知识图谱有:ConceptGraph、BabelNet、CN-DBPeidia、OpenKG等。
开源构建工具
Protege是基于Java语言开发的本体编辑和知识获取软件,是斯坦福大学医学院生物信息研究中心于1999年发布的基于BSD 2-clause协议的开源软件。Protege提供本体概念类、关系、属性和实例的构建,不基于具体的本体描述语言,因此用户可以在概念层次上构建领域本体模型。
除了Protege,还有Stanford OpenIE、Tuffy、OpenKE、Grakn等应用于知识图谱构建的开源软件。但它们普遍受到的关注度不高,这在一定程度上体现出了知识图谱领域用于构建图谱的开源软件的匮乏。
完整的知识图谱构建还包括知识的存储。知识图谱有两类存储方式,一类是传统的RDF结构存储,RDF 标准的结构化查询语言是SPARQL;另一类是图数据库,它可以弥补传统关系型数据库在存储知识图谱时查询复杂、缓慢的缺陷。目前常用的图数据库软件包括Neo4j、OrientDB、ArangoDB和AllegroGrap等。
小结
知识图谱提供了一种新的数据和知识组织方式,能够让多源异构的数据知识化,基于知识图谱能够建立各种知识服务和智能应用。知识图谱在金融、医疗、农业、法律等很多垂直领域的应用已经得到了迅速地展开,范围越来越广,程度由浅入深。但知识图谱的构建和应用具有很大的技术难度,需要自然语言处理、数据库和语义推理等多重技术的支持。