知识工程最早在1977年被提出,当时围绕知识工程的主要研究是专家系统。所谓专家系统是指利用某种方法将专业领域的专家知识收集下来,并存储在程序中,然后利用程序代码模拟人类的思维(推理+搜索)过程,去尝试解决某些专业领域的问题。
专家系统是人工智能发展前期阶段的一个主要研究方向,也是一种利用程序去试图模拟人类在某些特定领域内的思维的一种尝试。
专家系统的核心在于知识表示、知识获取以及推理机制。
知识表示是指知识知识的组织结构与表现形式,知识在计算机中的存储形式。知识的表示直接关乎知识的获取以及推理机制。
知识获取是指如何从领域专家或则其它来源去获取和整理知识,获取的内容要全面,但不能冗余,而且还要准确,这是一个比较大的难题。
推理机制是指将人类的推理方法用程序代码表示出来。
这几个方面在之后的二三十年中都各自有一定的发展,直到二十一世纪初,互联网时代的到来,海量数据的爆发,传统的专家系统的模式对这些已经无能为力了,专家系统的思路不能够满足发展对于“智能”方面的需求了。
2012年谷歌提出了知识图谱,不过知识图谱相关的一些技术研究基本都是前面几十年技术的延续,而不是革新。目前,随着智能信息服务应用的不断发展,知识图谱已广泛应用于智能搜索,智能问答,个性化推荐等领域。
知识图谱主要在知识表示方面有了一些比较重大的改变,主要的变化在于更利于海量数据的知识图谱的构建,以及更加利于自动化方法构建,而不是主要依赖人工构建。
传统的专家系统中的知识库的数据量一般在数万或数十万左右,一些经过几十年积累至今的知识库也就几千万的数据量。但是现在比较知名的知识图谱的数据量都在数十到数百亿的量级上。
知识图谱中使用的自动化构建主要是指一些机器学习算法、自然语言处理等方面的内容。
在知识加工方面,由于是通过程序自动获取的数据,那么就需要对数据的内容进行处理,包括提取本体、实体、事件来构建本体库、实体库、事件库等,还需要对内容进行匹配,链接,去冗余,融合,以及在知识库中使用推理机制进行内部构建,利用知识发现新的知识等。
在知识的应用方面,从传统的专家系统的注重逻辑推理,转向了注重事实知识的检索,知识图谱更多的下沉到人工智能领域的基础设施中,提供基础的结构化知识,比如基于知识图谱可以构建智能搜索、智能问答、对话机器人等应用,而不是像专家系统那样作为一个独立的应用出现。
实际上,知识图谱并不是一个全新的概念,早在 2006 年就有文献提出了语义网(Semantic Network)的概念,呼吁推广、完善使用本体模型来形式化表达数据中的隐含语义,RDF(resource description framework,资源描述框架)模式和 OWL(Web ontology language,万维网本体语言)就是基于上述目的产生的。用电子科技大学徐增林教授的论文原文来说:
知识图谱技术的出现正是基于以上相关研究,是对语义网标准与技术的一次扬弃与升华。
语义网络由相互连接的节点和边组成,节点表示概念或者对象,边表示他们之间的关系(is-a关系,比如:猫是一种哺乳动物;part-of关系,比如:脊椎是哺乳动物的一部分),如下图。在表现形式上,语义网络和知识图谱相似,但语义网络更侧重于描述概念与概念之间的关系,(有点像生物的层次分类体系——界门纲目科属种),而知识图谱则更偏重于描述实体之间的关联。

信息与知识
信息是指外部的客观事实。
举例:这里有一瓶水,它现在是7°。
知识是对外部客观规律的归纳和总结。
举例:水在零度的时候会结冰。
另一种解读:
在信息的基础上,建立实体之间的联系,就能形成 “知识”

知识图谱的概念诞生于2012年,由谷歌公司首先提出。大家都知道,谷歌是做搜索引擎的,所以他们最早提出了Google Knowledge Graph后,首先利用知识图谱技术改善了搜索引擎核心。
目前在学术界还没有给知识图谱一个统一的定义,但是在谷歌发布的文档中有明确的描述:“知识图谱是一种用图模型来描述知识和建模世界万物之间关联关系的技术方法”。
谷歌的Singhal博士用三个词点出了知识图谱加入之后搜索发生的变化:
“Things,not string.”
知识图谱是由一些相互连接的实体和他们的属性构成的
A knowledge graph consists of a set of interconnected typed entities and their attributes.

在知识图谱中,通过三元组 <实体 × 关系 × 属性> 集合的形式来描述事物之间的关系
这里所说的实体和普通意义上的实体略有不同,借用NLP中本体的概念来理解它会比较好:
本体定义了组成主题领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。

构建方式
曾经知识图谱非常流行自顶向下(top-down)的构建方式。自顶向下指的是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用一些现有的结构化知识库作为其基础知识库,例如 Freebase 项目就是采用这种方式,它的绝大部分数据是从维基百科中得到的。
然而目前,大多数知识图谱都采用自底向上(bottom-up)的构建方式。自底向上指的是从一些开放链接数据(也就是 “信息”)中提取出实体,选择其中置信度较高的加入到知识库,再构建实体与实体之间的联系。
存储方式
知识图谱主要有两种存储方式:一种是基于RDF的存储;另一种是基于图数据库的存储。它们之间的区别如下图所示。RDF一个重要的设计原则是数据的易发布以及共享,图数据库则把重点放在了高效的图查询和搜索上。其次,RDF以三元组的方式来存储数据而且不包含属性信息,但图数据库一般以属性图为基本的表示形式,所以实体和关系可以包含属性,这就意味着更容易表达现实的业务场景

从不同的视角去审视知识图谱:

知识图谱的架构主要包括自身的逻辑结构以及体系架构。
知识图谱在逻辑结构上可分为模式层与数据层两个层次。
底层存储数据三元组的逻辑层次可以被称为数据层,通常通过本体库来管理数据层,本体库的概念相当于对象中“类”的概念。
而建立在数据层之上的模式层,是知识图谱的核心,它借助本体库来管理公理、规则和约束条件,规范实体、关系、属性这些具体对象间的关系。
知识图谱的体系架构是指其构建模式的结构

总的来说,整体过程可以分为下面5步:
知识抽取主要是面向开放的链接数据,通过自动化的技术抽取出可用的知识单元,知识单元主要包括实体(概念的外延)、关系以及属性3个知识要素,并以此为基础,形成一系列高质量的事实表达,为上层模式层的构建奠定基础。知识抽取有三个主要工作:
实体抽取,在技术上更多称为 NER(named entity recognition,命名实体识别),指的是从原始语料中自动识别出命名实体。由于实体是知识图谱中的最基本元素,其抽取的完整性、准确、召回率等将直接影响到知识库的质量。因此,实体抽取是知识抽取中最为基础与关键的一步;这一过程还是针对不同结构的数据来看:
目标是解决实体间语义链接的问题,早期的关系抽取主要是通过人工构造语义规则以及模板的方法识别实体关系。随后,实体间的关系模型逐渐替代了人工预定义的语法与规则。
回顾一下我们前面提到过的知识图谱三要素,分别是实体、关系和属性。关系抽取我们同样可以用一个三元组表示的RDF graph:

这样的一个(S,P,O)三元组,就可以将一份知识分解为主语、谓语、宾语。这样的SPO结构,在配合知识图谱进行存储时可以被用来当做存储单元。
在RDF中可以声明一些规则,从一些关系推导出另一些关系,这些规则被称为RDF Schema。规则可以用一些词汇表示,如class、subClassOf、type、property、subPropertyOf、domain、range等。
下面这个例子中,节点到节点之间的关系就可以理解为前面提到的本体中的联系,而这一关联过程就可以被称为知识图谱中的推导或关联推理:

属性抽取主要是针对实体而言的,通过属性可形成对实体的完整勾画。由于实体的属性可以看成是实体与属性值之间的一种名称性关系,因此可以将实体属性的抽取问题转换为关系抽取问题。
由于知识图谱中的知识来源广泛,存在知识质量良莠不齐、来自不同数据源的知识重复、知识间的关联不够明确等问题,所以必须要进行知识的融合。知识融合是高层次的知识组织,使来自不同知识源的知识在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新等步骤,达到数据、信息、方法、经验以及人的思想的融合,形成高质量的知识库。
其中,知识更新是一个重要的部分。人类的认知能力、知识储备以及业务需求都会随时间而不断递增。因此,知识图谱的内容也需要与时俱进,不论是通用知识图谱,还是行业知识图谱,它们都需要不断地迭代更新,扩展现有的知识,增加新的知识。
主要包括指代消解、实体对齐、实体链接等过程
知识图谱普遍存在不完备的问题,因此需要基于图谱里已有的关系,去推理出缺失的关系。
在下面的这张知识图谱的实体网络中,黄色的箭头表示已经存在的关系,红色的虚线则是缺失的关系。我们可以根据实体之间的关系,来补全缺失的e3到e4之间的关系。

补全过程可采用基于路径查找的方法,基于强化学习的方法,基于推理规则的方法,基于元学习的方法等等。
知识图谱的存储依赖于图数据库及其引擎,不同厂商的实现可能大有不同,例如可以选用的图数据库有RDF4j、Virtuoso、Neo4j等。例如爱奇艺的图数据库引擎选择了JanusGraph,借助云平台的Hbase和ES集群,搭建了自己的JanusGraph分布式图数据库引擎。

JanusGraph通过借助外部的存储系统与外部索引系统的支持,支撑了上游的在线查询服务。
从技术来说,知识图谱的难点在于 NLP,因为我们需要机器能够理解海量的文字信息。但在工程上,我们面临更多的问题,来源于知识的获取,知识的融合。搜索领域能做的越来越好,是因为有成千上万(成百万上亿)的用户,用户在查询的过程中,实际也在优化搜索结果,这也是为什么百度的英文搜索不可能超过 Google,因为没有那么多英文用户。知识图谱也是同样的道理,如果将用户的行为应用在知识图谱的更新上,才能走的更远。
基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?
Asitcurrentlystands,thisquestionisnotagoodfitforourQ&Aformat.Weexpectanswerstobesupportedbyfacts,references,orexpertise,butthisquestionwilllikelysolicitdebate,arguments,polling,orextendeddiscussion.Ifyoufeelthatthisquestioncanbeimprovedandpossiblyreopened,visitthehelpcenter提供指导。已关闭8年。什么是学习ruby语言
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我是一个喜欢视觉的人,想知道是否有关于Ruby的不错的大概览。你知道,就像一张引用海报,带有对象层次结构,最常用的方法等等,都是彩色的,布局清晰明了...对于像我这样的初学者来说,这会很棒......有没有你使用或偶然发现的类似东西?
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我刚刚发现了whatc#knowledgeshouldIhave?问题和想知道的相同,但对于Ruby。我认为Ruby是我最喜欢的编程语言,除了学习基础知识外,至少我从众多RubyonRails项目和一些Ruby脚本中学到的东西,我还尝试通过阅读像Gluttonous这样的博客来学习。,O'ReillyRuby,OlaBini,和PolishingRuby.
Unity基础知识之顶点吸附、创建组合体一、顶点吸附顶点吸附:选择物体后按住键盘上的V键,鼠标定点定位,再拖拽到目标物体对齐即可。注:操作成功后先松V键。1、两个平面Plane的顶点吸附2、两个物体cube的顶点吸附二、创建组合体(子弹)组合体子弹由2个capsule(胶囊)、1个cylinder(圆柱体)组成,如图先创建这3个对象。再将其中一个capsule按照一定比例缩小,将三个对象按照一定位置放置好。创建一个GameObject,将三个对象放在该GameObject里,这样就是父子结构。为创建的组合体即子弹可以添加材质Material:在assets目录下新建Material,选择颜色后
承接上篇文章(十分钟了解关于TCP/IP网络的基础知识)五.ARP(地址解析协议) 虽说使用IP地址确实方便了我们使用者记忆以及整理归类、寻找信息的发送目的地,但是最终接收数据的地方,还是MAC地址,于是乎,为了实现有IP地址到MAC地址的转换,引入了名为ARP(AddressResolutionProtocol)又称之为地址解析协议。 ARP通过广播(Broadcast,这是个专业名词,后面还会继续提起)的方式对LAN中所有的计算机提问:“哎,谁IP地址是10.165.7.116(上篇文章中的例子)呀?你MAC地址多少啊,快过来登记一下!”,如果有哪台计算机回复了MA
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我是设计出身。我的编程知识是零。在学习了XHTML和CSS之后,我想学习并掌握JavaScript、jQuery等。我应该如何开始?这将是我第一次尝试编程。我可以使用和编辑现成可用的jQuery/JavaScript脚本,但我不能自己制
VisualStudio2015接缝勾勒出所有多行javascript代码。我有一个像这样的简单代码:$(document).ready(function(){varx={test1:1,test2:2};if(1==1){//thisisatest}});当我按下Ctrl+k,Ctrl+O时,VisualStudio2015会这样概括它:是否可以关闭函数内的大纲?我只想要功能级别的大纲。 最佳答案 不,你做不到,但有优秀的WebEssentials可以在javascript中勾勒出区域!你在像这样的评论之后创建一个区域//#reg
一、知识框架二、练习题调节一个装瓶机使其对每个瓶子的灌装量均值为μ盎司,通过观察这台装瓶机对每个瓶子的灌装量服从标准差σ=1.0盎司的正态分布。随机抽取这台机器灌装的9个瓶子组成一个样本,并测定每个瓶子的灌装量。试确定样本均值偏离总体均值不超过0.3盎司的概率。解:设每个瓶子的灌装量为X,X为样本均值,样本容量为n。由于总体X服从正态分布,样本均值X也服从正态分布,且均值相同,标准差为所以三、简述题1什么是统计量?为什么要引进统计量?统计量中为什么不含任何未知参数?答:(1)统计量的定义:设X1,X2,…,Xn是从总体X中抽取的容量为n的一个样本,如果由此样本构造一个函数T(X1,X2,…,X