第14章
知识获取与更新流程工程
14.1 知识获取系统概述
在 WSaiOS-ICAI 个体人工智能体系中:
知识不是人工个体出生时固定存在的。
知识来自:
- 外部世界;
- 学习行为;
- 实践经验;
- 环境反馈。
因此:
知识系统必须具备:
持续获取、处理、保存、更新知识的能力。
完整过程:
外部世界
↓
学习行为
↓
知识获取
↓
知识处理
↓
知识存储
↓
知识调用
↓
能力提升
14.2 知识获取不是简单采集
普通数据采集:
网页
↓
抓取
↓
保存
WSaiOS-ICAI:
知识获取:
发现需求
↓
寻找来源
↓
获取信息
↓
理解内容
↓
形成知识对象
↓
进入知识系统
区别:
| 类型 | 目标 |
|---|---|
| 数据采集 | 获得数据 |
| 知识获取 | 形成可应用资源 |
14.3 知识获取模型
WSaiOS-ICAI:
定义:
知识获取是学习行为驱动的,将外部信息转换为人工个体可调用知识资源的过程。
模型:
Knowledge Acquisition
|
↓
Source
知识来源
↓
Input
信息输入
↓
Processing
知识处理
↓
Knowledge Object
知识对象
↓
Knowledge Base
知识库
14.4 知识来源模型
知识来源分为:
14.4.1 内部知识来源
来自人工个体自身。
包括:
经验知识
行为产生。
例如:
上一次优化服务器成功
记忆知识
长期保存。
例如:
某类问题解决方法
14.4.2 外部知识来源
来自外部环境。
包括:
用户输入
例如:
用户提供企业资料
文档资料
例如:
技术文档
产品资料
业务规则
环境信息
例如:
系统状态
实时数据
14.5 知识获取触发机制
知识获取不能无条件执行。
必须由需求触发。
触发来源:
第一:
问题驱动。
例如:
遇到:
数据库性能问题
触发:
学习数据库优化知识
第二:
能力提升驱动。
例如:
目标:
开发复杂系统
发现:
缺少架构设计能力
触发学习。
第三:
环境变化驱动。
例如:
技术更新:
PHP新版本发布
触发:
知识更新。
14.6 KnowledgeAcquire 获取模块设计
工程目录:
modules/
└── learning/
└── acquire/
├── Source.php
├── Collector.php
├── Processor.php
└── KnowledgeBuilder.php
结构:
Knowledge Need
↓
Source
↓
Collector
↓
Processor
↓
KnowledgeBuilder
↓
Knowledge Object
14.7 Source 知识来源对象
Source:
表示:
知识从哪里来。
例如:
SourceObject
类型:
document
database
web
user
experience
PHP:
class Source
{
protected $type;
protected $location;
public function getData()
{
}
}
14.8 Collector 知识采集对象
Collector:
负责:
获取原始信息。
例如:
输入:
PHP MVC开发文档
采集:
标题
内容
章节
关键词
PHP:
class Collector
{
public function collect(
Source $source
)
{
return [];
}
}
14.9 Processor 知识处理对象
采集的信息:
不是知识。
需要处理。
处理过程:
原始信息
↓
清理
↓
分类
↓
提取关键内容
↓
建立关系
例如:
原始:
MVC是一种软件架构模式
处理:
形成:
知识类型:
架构知识
关联:
MVC → 软件工程
PHP:
class Processor
{
public function process(
$data
)
{
return [
‘type’=>’knowledge’,
‘content’=>$data
];
}
}
14.10 KnowledgeBuilder 知识对象构建
最终:
生成:
KnowledgeObject。
过程:
信息
↓
理解
↓
结构化
↓
对象化
↓
知识
PHP:
class KnowledgeBuilder
{
public function build(
$data
)
{
return new KnowledgeObject(
$data
);
}
}
14.11 知识更新机制
知识不是一次保存永久不变。
必须更新。
更新类型:
14.11.1 新增更新
增加新知识。
例如:
学习新技术
↓
增加知识对象
14.11.2 修正更新
修改错误知识。
例如:
旧:
PHP旧版本方法
新:
PHP新版方法
14.11.3 优化更新
提高知识质量。
例如:
原方法:
可解决问题
优化:
效率更高的方法
14.12 知识生命周期模型
WSaiOS-ICAI:
知识生命周期:
产生
↓
获取
↓
处理
↓
存储
↓
调用
↓
验证
↓
更新
↓
沉淀
对应:
Knowledge Lifecycle
14.13 知识验证机制
知识进入系统:
不能直接使用。
需要验证。
验证:
来源验证
来源是否可靠。
逻辑验证
是否符合认知模型。
实践验证
是否有效。
例如:
知识:
优化数据库索引可以提高查询速度
验证:
执行测试:
结果:
查询提升。
保存经验。
14.14 学习系统与知识系统接口
完整接口:
Learning Engine
↓
KnowledgeAcquire
↓
Knowledge Engine
↓
Capability Engine
PHP:
class LearningEngine
{
protected $knowledge;
public function learn($need)
{
$knowledge =
$this->acquire($need);
$this->knowledge
->save(
$knowledge
);
}
}
14.15 知识获取与人工个体成长
人工个体成长:
不是因为:
数据库越来越大。
而是:
知识增加
↓
理解增强
↓
能力提升
↓
行为优化
↓
经验增加
最终:
形成:
成长型人工个体
14.16 本章总结
WSaiOS-ICAI 知识获取系统完成:
学习需求
↓
知识获取行为
↓
外部知识输入
↓
知识处理
↓
知识对象化
↓
知识更新
核心思想:
学习系统负责“寻找和获取知识”,知识系统负责“保存和提供资源”,能力系统负责“利用知识解决问题”。
工程结构:
Source
+
Collector
+
Processor
+
KnowledgeBuilder
+
Knowledge Engine
=
知识获取系统
下一章:
第六篇 记忆、经验与进化系统
第15章 记忆系统 Memory Engine
重点:
- 记忆不是数据库存储;
- 人工个体如何保存过去状态;
- 短期记忆;
- 长期记忆;
- 工作记忆;
- Memory Object 设计;
- MySQL + PHP OOP 实现。