nlp学习–专家系统总结-专家系统基础
专家系统发展 :

人工智能系统的四个时代:第一个时代50年代人工智能的兴起和冷落;第二个时代60年代末到70年代初 专家系统的出现 人工智能出现了一次高潮;第三时代80年代末 ,计算机发明推动了人工智能的发展 第四个时代80年代末神经网络的兴起推动了发展 第五个时代90年代至今概率统计的方法机器学习把ai推向了一个新的高峰

专家系统又称符号主义 基于概率的又称是连接主义 ,专家系统目前价值很大 金融风控类应用目前还是比较典型的使用领域;专家系统核心是规则 而规则强依赖于领域内专家

专家系统定义:

专家系统是一种模型和相关程序,在特定领域显示出人类专家相关的解决问题的能力;利用知识和推理来解决决策问题;知识主要是定义规则,而推理是在已有规则基础上发现新知识 与传统计算机相比专家系统 = 推理引擎 + 知识, 计算机程序程序 = 数据结构+算法 ;推理方式依赖规则 技术源于专家系统;全球第一个专家系统叫做DENDRAL, 由斯坦福大学学者开发与70年代;目前主要应用:金融风控领域、知识图谱领域

专家系统的组成

专家系统的基本结构:专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成.

知识库是问题求解所需要的领域知识的集合,包括基本事实、规则和其他有关信息。知识的表示形式可以是多种多样的,包括框架、规则、语义网络等等。知识库中的知识源于领域专家,是决定专家系统能力的关键,即知识库中知识的质量和数量决定着专家系统的质量水平。知识库是专家系统的核心组成部分。一般来说,专家系统中的知识库与专家,系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。

推理机是实施问题求解的核心执行机构,它实际上是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中。推理机的程序与知识库的具体内容无关,即推理机和知识库是分离的,这是专家系统的重要特征。它的优点是对知识库的修改无须改动推理机,但是纯粹的形式推理会降低问题求解的效率。将推理机和知识库相结合也不失为一种可选方法。

知识获取负责建立、修改和扩充知识库,是专家系统中把问题求解的各种专门知识从人类专家的头脑中或其他知识源那里转换到知识库中的一个重要机构。知识获取可以是手工的,也可以采用半自动知识获取方法或自动知识获取方法。知识的获取包括知识的提取、收集、建模和严验证。获取、分析、建模技术有:协议生成技术、协议分析技术(充当基于协议技术和知识建模技术之间的桥梁作用)、层次生成技术(用于构建分类法或其他层次结构)、基于矩阵的技术、排序技术(用于捕获比较和排序的方式)、有限信息和约束处理任务、基于图的技术等

人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题。系统输出推理结果及相关的解释也是通过人机交互界面。

综合数据库也称为动态库或工作存储器,是反映当前问题求解状态的集合,用于存放系统运行过程中所产生的所有信息,以及所需要的原始数据,包括用户输入的信息、推理的中间结果、推理过程的记录等。综合数据库中由各种事实、命题和关系组成的状态,既是推理机选用知识的依据,也是解释机制获得推理路径的来源。

解释器用于对求解过程做出说明,并回答用户的提问。两个最基本的问题是“why”和“how”。解释机制涉及程序的透明性,它让用户理解程序正在做什么和为什么这样做,向用户提供了关于系统的一个认识窗口。在很多情况下,解释机制是非常重要的。为了回答“为什么”得到某个结论的询问,系统通常需要反向跟踪动态库中保存的推理路径,并把它翻译成用户能接受的自然语言表达方式。

专家系统流程:

通过对某个领域熟悉专家把领域内知识传递给工程师,由工程师把这些知识以能够存储到计算机的形态传递给系统并保存于知识库,由推理引擎通过给定的知识推理出新的知识,也就是所谓用户想要的形态,

专家系统有点:

处理不确定性能力

通常知识是不完善的,这导致了不确定性,要处理不确定性一种简单的办法就是讲数值和信息关联起来,专家系统可以处理不确定性的规则和数据可以进行推理,可以利用一种IF-THEN规则从初始数据推导出问题解决方案的能力;

知识的表示性

知识的表示以特定的方式和存储表示特定的问题,成功依赖于微系统所基于的知识类型选择最佳的知识编码方案,IF-THEN规则(通常以if-then是知识编码的主要形式) 语义网络(知识用是用对象和对象之间的关系来表示,如果对象被表示为图的节点,两个对象之间关系表示为对应两个节点之间的链接,最常用的语义网络形式是使用节点之间的链接来表示,并具有对象之间的关系)和框架(基于框架的表示非常适应于基于对象的编程)都是最常用的方案,应用于知识图谱;

可解释性强

可解释性该系统有推理过程的能力,可以用它来达到行业内部的建议等,主要运用金融领域、医疗领域需要可解释性;可以做知识的推理。

专家系统的缺点:

设计大量的规则(design lots of rules)需要大量的人力成本;需要领域专家来主导(heavily reply on domain expert);可移植性差(limited transferability to other domain);学习能力差(inability to learn)人能考虑的范围是有限的(human capacity is limited)目前需要把专家系统和深度学习的融合,也就是专家系统经验添加到深度学习里边,主要原因是深度学习需要很多data,而专家系统不需要很多的data

专家系统的规则错误实际上就是概率选择,可以利用类似于LRU算法进行解决

LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。

实现LRU

1.用一个数组来存储数据,给每一个数据项标记一个访问时间戳,每次插入新数据项的时候,先把数组中存在的数据项的时间戳自增,并将新数据项的时间戳置为0并插入到数组中。每次访问数组中的数据项的时候,将被访问的数据项的时间戳置为0。当数组空间已满时,将时间戳最大的数据项淘汰。2.利用一个链表来实现,每次新插入数据的时候将新数据插到链表的头部;每次缓存命中(即数据被访问),则将数据移到链表头部;那么当链表满的时候,就将链表尾部的数据丢弃。3.利用链表和hashmap。当需要插入新的数据项的时候,如果新数据项在链表中存在(一般称为命中),则把该节点移到链表头部,如果不存在,则新建一个节点,放到链表头部,若缓存满了,则把链表最后一个节点删除即可。在访问数据的时候,如果数据项在链表中存在,则把该节点移到链表头部,否则返回-1。这样一来在链表尾部的节点就是最近最久未访问的数据项。

对于第一种方法,需要不停地维护数据项的访问时间戳,另外,在插入数据、删除数据以及访问数据时,时间复杂度都是O(n)。对于第二种方法,链表在定位数据的时候时间复杂度为O(n)。所以在一般使用第三种方式来是实现LRU算法。实现方案,使用LinkedHashMap实现

目前专家系统存在的两大问题:

  1. 冲突问题(互斥关系出现)

可以通过逻辑推理的两种算法解决,第一种算法是:Forward Chaining Algorithm 整个过程是从前到后的推理方式,具体推理过程是通过给定条件对规则进行过滤,出现结果后增加到已知条件进行下次过滤,直至推理出所有结果为止

第二种算法算是:Backward Chaining Algorithm从后往前推导方式,具体推理过程是以结果为导向的推理过程,要想得到最终结构需要什么条件,然后根据条件继续判断需要的条件,最终找出推理最终结果所需要的所有条件结束循环判断,系统跟踪问题解决方案的当前状态,并寻找该状态更接近最终解决方案的规则,该方法给定的情况发展到期望目标 添加新发现的断言

  1. 选择最小规则的子集(Minimum Size of Rules)规则在不影响系统性能前提下尽量缩小规则子集,第一种方法是只考虑当前的贪心算法提取规则

选择最小子集问题由此引出ai问题的思路:

1.去找跟这个问题场景类似的问题 并具有代表性的问题 可以是多个领域

2.想gap 当前搜索到的问题到我需求解决的问题的距离路径,选择路径最短的

3.观看看材料基于问题1最短路径的几种论文集解决方案集案例,从思路慢慢移动到自己需要解决的问题上

4.找最近接的进行套用测试

经过上述步骤我们发现这个问题和 set carter purple问题非常相似,下面先简单介绍下说下set carter purple

例如:有一个权集u={1,2,3,4,5} 一个集合s={{1,2,3},{2,4},{3.4},{4,5}} 问题:选择最小集合 使条件st 包含u所有数字

解决方法:

S1 s2 =【1,2,3,4】 不等于u s1 s2 s3=[1,2,3,4] 不等于u s1 s2 s3 s4 =[1,2,3,4,5] 等于u s1 s4 =[1,2,3,4,5]=u

满足条件的只有s1 s4 为两个最小集合并满足包含u所有数字

主要采用尝试所有组合进行判断,但是时间复杂度太高时间复杂度是2^n( NP head 问题,目前二进制计算机无解)

原文来自本人知乎:https://zhuanlan.zhihu.com/p/53153165

nlp学习--专家系统总结-专家系统基础相关推荐

  1. NLP学习(一)基础篇

    一. 前言 2016年3月9日至15日和2017年5月23日至27日,分别在韩国首尔和中国嘉兴乌镇,韩国围棋九段棋手李世石.中国围棋九段棋手柯洁与人工智能围棋程序"阿尔法围棋"(A ...

  2. NLP学习(一)—基础篇

    本次代码的环境: 运行平台: Windows Python版本: Python3.x IDE: PyCharm 一.    前言 2016年3月9日至15日和2017年5月23日至27日,分别在韩国首 ...

  3. NLP学习难在哪里?这份最全NLP学习路线图帮你解决难题!

    作为一名人工智能之自然语言处理的技术小享,最常被问到的莫过于「如何入门NLP」了? 今天小享就整理了保姆级NLP学习路线图(思维导图),非常的全面和清晰,分享给大家. 希望这个指南会伴随你们一起成长哟 ...

  4. NLP学习实践天池新人赛打卡第一天

    NLP学习实践天池新人赛打卡第一天 Task1 赛题理解 学习目标 赛题数据 数据标签 评测指标 数据读取 解题思路 Task1 赛题理解 赛题名称:零基础入门NLP之新闻文本分类 赛题目标:通过这道 ...

  5. 深度学习word2vec笔记之基础篇

    深度学习word2vec笔记之基础篇 声明: 1)该博文是多位博主以及多位文档资料的主人所无私奉献的论文资料整理的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用 ...

  6. NLP学习————实现一个BERT(简记)

    NLP学习-实现一个BERT(简记) 本文主要内容是介绍了BERT的代码结构.具体实现与原理,对BERT的一些简记 内容包括以下几个部分: BERT Tokenization 分词模型(BertTok ...

  7. NLP学习笔记-QA机器人(七)

    问答机器人介绍 1. 问答机器人 问答机器人思路1. 问题的处理,包括语料和用户输入的问题2. 找回:海选,选用机器学习等训练速度较快的方法,大致返回相似的前K个问题3. 排序:精选,使用深度学习,返 ...

  8. 利用计算机技术实现对文本篇章,自然语言处理NLP学习笔记一:概念与模型初探...

    前言 先来看一些demo,来一些直观的了解. 自然语言处理: 可以做中文分词,词性分析,文本摘要等,为后面的知识图谱做准备. 知识图谱: 还有2个实际应用的例子,加深对NLP的理解 九歌机器人: 微软 ...

  9. 《Java并发编程实践》学习笔记之一:基础知识

    <Java并发编程实践>学习笔记之一:基础知识 1.程序与进程 1.1 程序与进程的概念 (1)程序:一组有序的静态指令,是一种静态概念:  (2)进程:是一种活动,它是由一个动作序列组成 ...

最新文章

  1. SQLAlchemy技术文档(中文版)(中)
  2. PHP——使用PHPMailer实现PHP发邮件功能
  3. 如果编程替换成中文就会怎样? 程序员看了表示头疼
  4. 控制流(swift)
  5. 纯java程序意味着什么_Java到底是不是一种纯面向对象语言?
  6. NestedScrollView、RecycleView、ViewPager 嵌套常见问题
  7. IDEA 分享项目到 Git@OSC/GitHub
  8. 河南oracle客户端,解决Oracle监听服务报错
  9. ArcGIS API + Echarts 实现动态雷达图
  10. [Step By Step]SAP HANA PAL多元线性回归预测分析Linear Regression实例FORECASTWITHLR(预测)...
  11. Reason of Random Initialization - Neural Networks
  12. 【麦子学院 彭亮 机器学习】3.2决策树应用(准备篇)
  13. Android Studio4.0解决Gradle下载超时问题
  14. 铃声文本串转二进制串的问题(midi)
  15. linux检查系统内存,Linux查看内存使用情况方法
  16. python实验报告实验目的_Python实验报告五
  17. 2014全国计算机等级考试四级数据库工程师考试大纲,全国计算机等级考试四级数据库工程师考试大纲...
  18. 简直无敌!反向代理、负载均衡实战,架构师必备!
  19. EndNote20批量将参考文献中的DOI导出
  20. c++ ODBC使用

热门文章

  1. 多维数据的基本统计分析与图示
  2. python +selenium 爬取淘宝网商品信息
  3. GEE(一):GEE入门资料
  4. js实现倒计时5秒提交及redis防止多人同时提交
  5. 程序员硬核吸猫:自制猫抓板、猫脸识别、智能猫窝!
  6. WebGIS开发和Web开发的区别
  7. windows11/win11忘记密码清除密码解决方法
  8. Box2D 像素(pixels)
  9. 沁恒微电子CH9120是一款网络串口透传芯片
  10. 【Error】无法上网:分配到169 ip 的解决办法