来自 Wikipedia,引用省略:
在人工智能中,专家系统是模拟人类专家决策能力的计算机系统。专家系统旨在通过推理知识来解决复杂问题,主要表现为 if-then 规则,而不是通过传统的程序代码。第一个专家系统创建于 1970 年代,然后在 1980 年代激增。专家系统是最早真正成功的人工智能 (AI) 软件形式之一。
一个专家系统分为两个子系统:推理引擎和知识库。知识库代表事实和规则。推理引擎将规则应用于已知事实以推断新事实。推理引擎还可以包括解释和调试能力。
CRUD webapps(允许用户在数据库中创建新条目、读取数据库中现有条目、更新数据库中的条目以及从数据库中删除条目的网站)在 Internet 上非常常见。这是一个广阔的领域,既包括小型博客,也包括 StackExchange 等大型网站。所有这些 CRUD 应用程序的最大共同点是它们都有一个用户可以轻松添加和编辑的知识库。
然而,CRUD webapps 以许多、无数和复杂的方式使用知识库。当我在 StackOverflow 上输入这个问题时,我看到了两个问题列表 -可能已经有你的答案的问题和类似的问题. 这些问题显然是受到我输入的内容(标题和问题)的启发,并且是从之前发布在 StackExchange 上的问题中提取的。在网站本身上,我可以根据标签过滤问题,同时使用 StackExchange 自己的全文搜索引擎查找新问题。StackExchange 是一家大公司,但即使是小型博客也提供内容推荐、过滤和全文搜索。您可以想象更多的 CRUD web 应用程序中的硬编码逻辑示例,这些示例可用于自动从知识库中提取有价值的信息。
如果我们有一个用户可以更改的知识库,并且我们有一个能够使用该知识库生成有趣结果的推理引擎……是否足以将系统归类为“专家系统”?或者专家系统和 CRUD webapps 之间有根本的区别吗?
(这个问题可能非常有用,因为如果 CRUD webapps 表现得像“专家系统”,那么研究“专家系统”中的最佳实践可以帮助改善用户体验。)