今天的 CRUD 网络应用程序是“专家系统”的现代版本吗?

人工智能 定义 专家系统
2021-11-03 08:51:10

来自 Wikipedia,引用省略:

在人工智能中,专家系统是模拟人类专家决策能力的计算机系统。专家系统旨在通过推理知识来解决复杂问题,主要表现为 if-then 规则,而不是通过传统的程序代码。第一个专家系统创建于 1970 年代,然后在 1980 年代激增。专家系统是最早真正成功的人工智能 (AI) 软件形式之一。

一个专家系统分为两个子系统:推理引擎和知识库。知识库代表事实和规则。推理引擎将规则应用于已知事实以推断新事实。推理引擎还可以包括解释和调试能力。

CRUD webapps(允许用户在数据库中创建新条目、读取数据库中现有条目、更新数据库中的条目以及从数据库中删除条目的网站)在 Internet 上非常常见。这是一个广阔的领域,既包括小型博客,也包括 StackExchange 等大型网站。所有这些 CRUD 应用程序的最大共同点是它们都有一个用户可以轻松添加和编辑的知识库。

然而,CRUD webapps 以许多、无数和复杂的方式使用知识库。当我在 StackOverflow 上输入这个问题时,我看到了两个问题列表 -可能已经有你的答案的问题类似的问题. 这些问题显然是受到我输入的内容(标题和问题)的启发,并且是从之前发布在 StackExchange 上的问题中提取的。在网站本身上,我可以根据标签过滤问题,同时使用 StackExchange 自己的全文搜索引擎查找新问题。StackExchange 是一家大公司,但即使是小型博客也提供内容推荐、过滤和全文搜索。您可以想象更多的 CRUD web 应用程序中的硬编码逻辑示例,这些示例可用于自动从知识库中提取有价值的信息。

如果我们有一个用户可以更改的知识库,并且我们有一个能够使用该知识库生成有趣结果的推理引擎……是否足以将系统归类为“专家系统”?或者专家系统和 CRUD webapps 之间有根本的区别吗?

(这个问题可能非常有用,因为如果 CRUD webapps 表现得像“专家系统”,那么研究“专家系统”中的最佳实践可以帮助改善用户体验。)

4个回答

专家系统的关键特征是知识库的结构可以由推理引擎遍历。像 Stack Exchange 这样的网站并没有真正使用推理引擎。他们对最小结构的数据进行全文搜索。一个真正的推理引擎将能够通过将现有问题的答案放在一起来回答新颖的查询;Stack Exchange 网站甚至无法在没有人工确认的情况下判断问题是否重复。

不,我认为没有任何理由说——总的来说——CRUD 应用程序“是”专家系统。一个给定的 CRUD 应用程序可以包含一个专家系统,但总的来说,CRUD 应用程序被认为是“最愚蠢”的应用程序之一,因为它们没有太多智能……你可以只创建、读取、更新和删除实体。据我所知,在典型的企业 CRUD 应用程序中,最接近专家系统的东西是使用Drools之类的东西构建的一些验证/业务规则逻辑

今天的 CRUD 应用程序不能被视为专家系统。

然而,即使是目前开发的所谓专家系统,也是使用正常的编程语句实现的,但重要的是构建的体系结构。

当前的专家系统仅使用 if-then 类型的规则,这些规则产生的数据结果可用作其他规则的输入,以及逐步执行这些规则的引擎。这是非常有限的,而且非常脆弱。

我认为专家系统是可以推理变量(逻辑和数字)并且可以使用有限的假设形式并尝试对其进行证明的系统。

但是,不幸的是,即使您可能分析和描述为专家系统,它本身也无法真正形成模型,因此它很容易遇到无法超越的知识边界。

因此,今天的 CRUD Web 应用程序不是专家系统的现代版本。

您所描述的是一个 CRUD 应用程序加上一个推荐系统CRUD 应用程序本身不执行任何相似度排名或推荐功能。Stack Exchange 至少将关键字匹配和可能的语义解析作为基本 CRUD 功能之上的特征层。