第一章见: 面向初学者的人工智能教程(1)--人工智能简介 对人工智能的追求基于对知识的探索,目标是让机器能像人类一样理解世界。但是,我们应该如何去实现这个目标呢?
在人工智能的早期,自上而下的创建智能系统的方法(在上一课中讨论过)很流行。其想法是将人们的知识提取成某种机器可读的形式,然后用它来自动解决问题。这种方法基于两个大的想法:
符号AI中的一个重要概念是知识。把知识与信息或数据区分开来很重要。例如,人们可以说书籍包含知识,因为一个人可以学习书籍,成为专家。然而,书籍所包含的东西实际上被称为数据,通过阅读书籍并将这些数据集成到我们的世界模型中,我们将这些数据转化为知识。
知识是包含在我们头脑中的东西,代表着我们对世界的理解。它是通过一个主动学习过程获得的,这个过程将我们接收到的信息片段整合到我们对世界的主动模型中。
大多数情况下,我们并不严格定义知识,而是使用DIKW金字塔将其与其他相关概念相结合。它包含以下概念:
图片来自维基百科,作者:Longliveheux
因此,知识表示的问题就是要找到一种有效的方式,将知识以数据的形式存储在计算机中,使其可以自动被使用。
摄影:Dmitry Soshnikov
如上图所示:
花一分钟思考你如何在头脑中表达知识,并将其转换为笔记。有没有一种特别的格式可以很好地帮助你保持记忆? 计算机知识表示的分类 我们可以将不同的计算机知识表示方法分为以下几类: 1. 网络表征是基于这样一个事实,即我们的头脑中有一个相互关联的概念网络。我们可以尝试在计算机中复制相同的网络,即所谓的语义网络。 2. 对象-属性-值三元组或属性-值对。由于图可以在计算机中表示为节点和边的列表,因此我们可以通过包含对象、属性和值的三元组列表来表示语义网络。例如,我们构建了以下关于编程语言的三元组:
专家系统 符号人工智能的早期成功之一是所谓的专家系统-计算机系统被设计为在某些有限的问题领域充当专家。它们基于从一个或多个人类专家提取的知识库,并且它们包含一个推理引擎,该推理引擎在其上执行一些推理。
人类神经系统的简化结构 基于知识的系统的体系结构
专家系统的构建类似于人类的推理系统,它包含短期记忆和长期记忆。同样,在基于知识的系统中,我们区分以下组件:
作为示例,让我们考虑以下基于动物的物理特征确定动物的专家系统:
图片:Dmitry Soshnikov 这个图称为AND-OR树,它是一组产生式规则的图形表示。在从专家那里提取知识的开始,绘制一棵树是有用的。为了表示计算机内部的知识,使用规则更方便: IF the animal eats meat OR (animal has sharp teeth AND animal has claws AND animal has forward-looking eyes ) THEN the animal is a carnivore 您可以注意到,规则左侧的每个条件和操作本质上都是对象-属性-值(OAV)三元组。工作记忆包含与当前正在解决的问题相对应的OAV三元组的集合。规则引擎查找满足条件的规则并应用它们,将另一个三元组添加到工作存储器。 在你喜欢的主题上写你自己的AND-OR树!
正向推理与反向推理 上述过程称为前向推理。它从工作内存中可用的问题的一些初始数据开始,然后执行以下推理循环:
然而,在某些情况下,我们可能希望从一个空洞的知识开始,并提出一些有助于我们得出结论的问题。例如,在进行医学诊断时,我们通常不会在开始诊断患者之前提前执行所有医学分析。我们更希望在需要做出决策时进行分析。 该过程可以使用反向推理来建模。它是由目标驱动的-我们正在寻找的属性值:
在哪些情况下向前推理更合适?反向推理怎么样?
实施专家系统 专家系统可以使用不同的工具实现:
练习️:动物推理 关于实现正向和反向推理专家系统的示例,请参见Animals.ipynb。 注意:这个例子相当简单,只给出了专家系统的外观。一旦你开始创建这样一个系统,你只会注意到一些智能行为,一旦你达到一定数量的规则,大约200+。在某种程度上,规则变得太复杂,以至于无法记住所有规则,此时您可能开始想知道为什么系统会做出某些决策。然而,基于知识的系统的重要特征是,您总是可以准确地解释任何决策是如何做出的。
本体论与语义网 在20世纪末,有一个倡议,使用知识表示来注释互联网资源,这样它将有可能找到对应于非常具体的查询的资源。这个运动被称为语义网,它依赖于几个概念:
语义网的核心概念是本体的概念。它指的是使用某种形式的知识表示的问题域的显式规范。最简单的本体可以只是问题域中的对象的层次结构,但更复杂的本体将包括可用于推理的规则。 在语义网中,所有的表示都基于三元组。每个对象和每个关系都由URI唯一标识。例如,如果我们想说明这个AI课程是由Dmitry Soshnikov于2022年1月1日开发的,下面是我们可以使用的三元组:
这里 http://www.example.com/terms/creation-date 和 http://purl.org/dc/elements/1.1/creator 是一些众所周知的和普遍接受的URI来表达创建者和创建日期的概念。 在更复杂的情况下,如果我们想定义一个创建者列表,我们可以使用RDF中定义的一些数据结构。
图片:Dmitry Soshnikov 搜索引擎和自然语言处理技术的成功使得语义网的建设进程在某种程度上放慢了,这些技术允许从文本中提取结构化数据。然而,在一些领域,仍然有显着的努力来维护本体和知识库。值得注意的几个项目:
#defaultView:BubbleChart SELECT ?eyeColorLabel (COUNT(?human) AS ?count) WHERE { ?human wdt:P31 wd:Q5. # human instance-of homo sapiens ?human wdt:P1340 ?eyeColor. # human eye-color ?eyeColor SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } } GROUP BY ?eyeColorLabel
如果你想尝试构建自己的本体,或者打开现有的本体,有一个很棒的可视化本体编辑器叫做Protégé。下载或在线使用。
Web Protégé编辑器打开罗曼诺夫家族本体。导演:Dmitry Soshnikov
练习️:家庭本体论 请参阅FamilyOntology.ipynb获得使用语义Web技术来推理家庭关系的示例。我们将采取一个家庭树表示在通用的GEDCOM格式和家庭关系的本体,并建立一个图表的所有家庭关系为给定的一组个人。
Microsoft概念图
在大多数情况下,本体是手工精心创建的。然而,也可以从非结构化数据(例如,从自然语言文本)中挖掘本体。
微软研究院曾做过这样一个尝试,并导致了微软概念图。
它是使用继承关系组合在一起的实体的大型集合 is-a
。它允许回答诸如“什么是微软?答案是“一家公司的概率为0.87,一家品牌的概率为0.75”。
Graph既可以作为REST API使用,也可以作为一个列出所有实体对的大型可下载文本文件使用。
练习️:概念图 试试MSConceptGraph.ipynb笔记本,看看我们如何使用MicrosoftConceptGraph将新闻文章分成几个类别。
结论部分 如今,人工智能通常被认为是机器学习或神经网络的同义词。然而,人类也表现出显式推理,这是目前神经网络无法处理的事情。在真实的世界的项目中,显式推理仍然用于执行需要解释的任务,或者能够以受控的方式修改系统的行为。
🚀 挑战 在与本课相关的家庭本体笔记本中,有机会对其他家庭关系进行实验。试着发现家谱中人之间的新联系。
课后测验 复习与自学 在互联网上做一些研究,发现人类试图量化和编纂知识的领域。看看布鲁姆的分类学,回到历史,了解人类是如何试图理解他们的世界的。探索Linnaeus创建生物分类学的工作,并观察Dmitri Mendeleev创建化学元素描述和分组的方式。你还能找到哪些有趣的例子?
任务:构建本体
更多一手体验文章请关注公众号“强人工智能之路”,可永久免费对话GPT3.5,关注后回复“AI”可以领取精心整理的AI知识图谱一份。
知识星球推荐:
目前全国最大的关于AI的知识星球和社区,刚突破2.5万成员,2个月时间,已发布了11个专栏、67+课程,产生了5K+篇帖子,日均95+篇;精华帖子122+篇,日均2.5篇。并组织了北京、深圳等多个城市的线下交流会。扫下面的优惠卷加入星球可优惠69元,对内容不满意72小时可无条件退款。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。