WSaiOS EOM模拟人工认知工程理论
第八章:EOM人工认知工程的软件实现模型——从理论到系统
8.1 为什么软件工程可以承载认知模型
前七章建立了EOM人工认知理论模型:
信息
↓
认知元素
↓
认知对象
↓
对象关系
↓
知识结构
↓
认知方法
↓
行动
↓
经验记忆
但是,一个理论模型如果不能工程实现,只能停留在概念层面。
因此:
EOM研究的核心问题是:
如何把人的认知过程转换为软件系统结构?
现代软件工程本身就是研究:
如何将复杂现实问题转换为:
结构
↓
模型
↓
程序
↓
系统
而人工认知工程同样需要:
现实世界
↓
认知模型
↓
程序模型
↓
应用系统
两者具有天然对应关系。
8.2 软件工程与认知工程的对应关系
传统软件开发:
需求
↓
分析
↓
设计
↓
编码
↓
运行
EOM认知工程:
信息
↓
感知
↓
元素
↓
对象
↓
关系
↓
方法
↓
行动
两者都是:
将复杂问题进行结构化。
区别:
传统软件:
解决:
如何处理业务。
EOM:
研究:
如何让软件形成类似认知的结构。
因此:
软件工程成为:
人工认知模型的实现载体。
8.3 EOM整体软件结构模型
WSaiOS EOM软件结构:
用户输入
↓
感知解析层
↓
Element 元素层
↓
Object 对象层
↓
Relationship关系层
↓
Knowledge知识库
↓
Method方法层
↓
Memory记忆层
↓
Action行动
↓
输出结果
这个结构对应:
人类认知过程。
8.4 认知元素映射程序结构
8.4.1 Element模型
EOM中的元素:
是信息进入系统后的第一次结构化。
对应PHP:
class CognitiveElement
{
public $id;
public $name;
public $type;
public $meaning;
public $source;
}
例如:
输入:
深圳电动牙刷供应商
生成:
Element 1:
name:
深圳
type:
Location
Element 2:
name:
电动牙刷
type:
Product
Element 3:
name:
供应商
type:
Role
这些元素:
成为后续对象形成基础。
8.5 认知对象映射程序结构
8.5.1 Object模型
EOM对象:
包含:
元素
属性
状态
关系
方法
PHP:
class CognitiveObject
{
public $elements;
public $attributes;
public $state;
public $relations;
public $methods;
}
例如:
供应商对象:
Supplier Object
属性:
公司名称
产品类型
认证
状态:
正常合作
方法:
报价
生产
交付
对应:
$supplier = new CognitiveObject();
$supplier->state="active";
8.6 认知关系映射程序结构
对象之间需要连接。
因此:
建立:
Relationship Class。
PHP:
class Relationship
{
public $source;
public $type;
public $target;
public $weight;
}
例如:
供应商
↓
生产
↓
电动牙刷
程序:
$relation->source="Supplier";
$relation->type="produce";
$relation->target="Toothbrush";
形成:
对象网络。
8.7 认知方法映射程序结构
方法代表:
对象能力。
PHP OOP中:
方法天然存在于对象内部。
例如:
class Supplier
{
public function quote()
{
}
public function produce()
{
}
}
对应:
现实对象能力:
供应商
可以报价
可以生产
EOM进一步抽象:
方法也是认知对象。
例如:
class CognitiveMethod
{
public $name;
public $condition;
public $action;
}
这样:
系统可以:
动态选择方法。
8.8 认知记忆映射程序结构
EOM记忆:
包括:
短期记忆
长期记忆
时序记忆
概率记忆
程序结构:
class Memory
{
public $type;
public $content;
public $time;
public $weight;
}
例如:
经验:
供应商A
过去成功合作
概率90%
保存:
Memory
type:
experience
weight:
90
未来决策:
调用记忆。
8.9 PHP OOP为什么适合EOM实现
EOM选择PHP OOP:
不是因为语言本身。
而是因为:
面向对象思想与认知结构具有相似性。
现实:
对象
属性
行为
程序:
Class
Property
Method
对应:
现实对象
↓
认知对象
↓
程序对象
例如:
现实:
汽车。
认知:
Car Object
属性:
颜色
速度
方法:
启动
行驶
程序:
class Car
{
public $color;
public $speed;
public function run()
{
}
}
这就是:
EOM软件映射基础。
8.10 MVC如何组织人工认知系统
EOM采用MVC架构。
原因:
认知系统同样需要:
数据、
处理、
表达。
MVC:
Model
Controller
View
对应:
Model——认知结构层
负责保存:
元素
对象
关系
知识
记忆
例如:
数据库:
elements
objects
relations
memory
Controller——认知处理层
负责:
感知
分析
匹配
推理
调用方法
例如:
用户输入:
寻找深圳供应商
Controller:
执行:
生成元素
形成对象
查询知识
调用方法
View——认知表达层
负责:
将内部结构:
转换为人理解的信息。
例如:
内部:
Object
+
Relation
+
Memory
输出:
推荐供应商:
A公司
原因:
产品匹配
地区匹配
经验评分高
8.11 Smarty模板如何实现认知表达
Smarty属于:
模板引擎。
EOM认为:
认知系统内部结构:
不能直接展示。
需要:
表达转换。
过程:
认知结果
↓
Smarty模板
↓
用户界面
例如:
Controller输出:
$data=[
"name"=>"供应商A",
"score"=>90
];
Smarty:
供应商:
{$name}
匹配度:
{$score}
生成:
用户可理解页面。
因此:
Smarty对应:
人工认知中的:
表达层。
8.12 WSaiOS EOM完整系统架构
最终形成:
用户
↓
感知输入模块
↓
Element Engine
元素识别
↓
Object Engine
对象形成
↓
Relationship Engine
关系建立
↓
Knowledge Base
知识库
↓
Method Engine
方法调用
↓
Memory Engine
经验学习
↓
Decision Engine
决策
↓
Smarty输出
8.13 WSaiOS与传统软件区别
传统软件:
输入
↓
规则
↓
输出
WSaiOS EOM:
输入
↓
元素
↓
对象
↓
关系
↓
知识
↓
方法
↓
记忆
↓
决策
↓
学习
传统软件:
解决:
业务流程。
WSaiOS:
尝试解决:
认知流程。
8.14 本章核心结论
EOM认为:
软件工程不仅可以实现业务逻辑,也可以作为人工认知模型的工程载体。
通过:
认知元素
↓
PHP Class
认知对象
↓
OOP Object
认知关系
↓
Relationship Model
认知方法
↓
Class Method
认知记忆
↓
Memory System
再结合:
MVC架构
+
Smarty模板
+
PHP OOP
可以构建:
模拟人工认知的软件系统。
WSaiOS EOM的核心目标:
不是制造一个简单的信息处理程序。
而是建立:
信息
↓
认知结构
↓
知识
↓
行动
↓
经验学习
的工程化闭环。
下一章:
第九章:认知知识库理论——从数据库到认知知识系统
重点研究:
- 为什么知识库不是普通数据库;
- 知识库如何存储对象、关系、经验;
- 外部实时信息、用户私有资源、系统学习如何进入知识库;
- 长期记忆如何与知识库结合;
- 知识匹配如何形成用户个性化认知能力。