原创内容
No.758
认真聊AI | 专家系统
又到了新的AI知识分享的日子了~
图片由夸克AI绘制
经历了人工智能初期阶段的研究失败,研究者们逐步认识到知识的重要性。一个专家之所以能够很好地解决本领域的问题,就是因为他具有本领域的专门知识。
专家系统是一种智能的计算机程序,它运用知识和推理来解决只有专家才能解决的复杂问题。不同于一般的计算机程序系统,专家系统以知识库和推理机为核心,可以处理非确定性的问题,不追求问题的最佳解而是利用知识得到一个满意解。
专家系统强调知识库与包括推理机在内的其他子系统的分离,一般来说知识库是与领域相关的,而推理机等子系统具有一定的通用性。
一个常见的专家系统是这个样子的:
专家系统中的核心就是知识库,但推理机到底是怎么根据知识库中的知识进行推理的呢,这就要涉及到知识本身的表示方式了,对于不同的知识表示方式,推理机的推理方式有所不同。
推理方式可以分为正向推理和逆向推理。
正向推理的检测过程是:检验是否有规则的前提被动态数据库中的已知事实满足,如果被满足,则将该规则的结论放入动态数据库中,再检查其他的规则是否有前提被满足,反复该过程,直到目标被某个规则推出结束,或者再也没有新结论被推出为止。逆向推理就是反过来这个过程。
然而推理过程中,不管是正向推理还是逆向推理,很有可能很多规则都是同时成立的,那么计算机应该如何选择规则(解决冲突消解问题),最简单的一个办法是自然顺序排序,选择第一个被满足的规则的进行执行。
现实的问题和知识往往是不确定的,比如:阴天会下雨就是一个非常典型的不确定的知识,阴天下雨的概会大一些,但是不代表阴天就一定会下雨。对于这种非确定的问题,就要使用非确定的推理方法,目前有不少非确定性的推理方法,各有优缺点。
可信度方法(CF方法)是一种很常见的非确定性推理的方法。
事实A为真的可信度可以用可信度CF(A)进行表示,取值范围为[-1,1],也就是说当CF(A)=1时,表示A事件肯定为真,CF(A)=-1时表示A肯定为假。
可信度的规则表达式是:
IF A THEN B CF(B,A)
其中,A是规则的前提,B是规则的结论,CF(B,A)是规则的可信度,又称规则的强度。我们可以把CF当作概率和逻辑的混合体来理解,所以规则是可以满足逻辑运算、规则运算和合成运算的。也就是有下面的规则:
CF(A AND B)=min(CF(A),CF(B))
CF(A OR B)=max(CF(A),CF(B))
CF(NOT A)=-CF(A)
专家系统的一个特点是知识库与系统的其他部分分离,这也就意味着我们其实可以有以一个用于搭建专家系统的骨架系统。这种骨架系统用起来非常方便,作为用户只需要将具体领域的知识按照工具规定的格式表达出来就可以了。
专家系统也是最早走向我们生活的系统,比如各种APP标配的机器客服、猜你想问,和稍微有点规模的公司都有的support支持,甚至微信公众号的自动回复,都是专家系统的一种应用。
专家系统在大语言模型的今天,依然有着必要的价值,LLM提高了AI对于规则的理解能力,但是知识本身的获取依然是专家系统的瓶颈。
本次的AI知识内容就到这里,下次继续,具体时间待定。