WSaiOS EOM模拟人工认知工程理论
第三十五章:WSaiOS EOM知识库与记忆数据库工程实现——MySQL数据结构设计
35.1 为什么研究数据库工程实现
前面章节完成:
EOM认知流程:
信息
↓
元素 Element
↓
对象 Object
↓
关系 Relationship
↓
知识 Knowledge
↓
匹配 Matching
↓
决策 Decision
↓
行动 Action
↓
经验 Experience
↓
记忆 Memory
但是:
软件系统必须解决一个核心问题:
这些认知结构如何长期保存?
因此:
WSaiOS需要数据库支持。
但是必须明确:
数据库 ≠ 知识库
数据库:
负责:
存储
查询
管理
知识库:
负责:
对象
关系
经验
认知结构
MySQL只是:
WSaiOS知识库的存储层。
35.2 WSaiOS认知数据分层模型
传统系统:
Application
↓
Database
WSaiOS:
增加:
认知层。
结构:
用户应用
↓
Cognitive Engine
↓
Knowledge Layer
↓
Data Storage Layer
↓
MySQL
其中:
Cognitive Layer
负责:
理解。
Knowledge Layer
负责:
组织知识。
Database Layer
负责:
保存。
35.3 EOM数据库对象映射
EOM:
Object
数据库:
cognitive_objects
EOM:
Relationship
数据库:
cognitive_relationships
EOM:
Memory
数据库:
cognitive_memory
形成:
对象关系映射。
35.4 认知对象表设计
cognitive_objects
作用:
保存:
人工认知对象。
SQL:
CREATE TABLE cognitive_objects
(
id INT AUTO_INCREMENT PRIMARY KEY,
object_type VARCHAR(100),
object_name VARCHAR(255),
attributes TEXT,
state TEXT,
context TEXT,
created_at TIMESTAMP
);
例如:
数据:
| 字段 | 内容 |
|---|---|
| object_type | supplier |
| object_name | 深圳电动牙刷供应商 |
| context | USA market |
对应:
EOM Object。
35.5 属性数据设计
对象属性:
不固定。
例如:
供应商:
产品
认证
产能
地区
产品:
材料
电池
功能
因此:
采用:
JSON属性。
例如:
attributes:
{
"product":"electric toothbrush",
"certification":"FDA",
"capacity":"50000/month"
}
优点:
支持不同对象类型。
35.6 对象状态设计
EOM:
对象具有状态。
例如:
供应商:
潜在
联系中
合作
停止
字段:
state TEXT
保存:
{
"status":"active",
"level":"A"
}
35.7 关系表设计
cognitive_relationships
作用:
保存对象之间连接。
SQL:
CREATE TABLE cognitive_relationships
(
id INT AUTO_INCREMENT PRIMARY KEY,
source_id INT,
relation_type VARCHAR(100),
target_id INT,
weight INT DEFAULT 50,
context TEXT,
created_at TIMESTAMP
);
例如:
数据:
| source | relation | target |
|---|---|---|
| 供应商A | 生产 | 电动牙刷 |
| 产品 | 销售 | 美国市场 |
形成:
知识结构。
35.8 关系权重设计
为什么需要:
weight?
因为:
关系强度不同。
例如:
供应商:
合作一次:
30
长期合作:
90
数据库:
weight INT
参与:
匹配评分。
35.9 知识表设计
知识不是单独对象。
知识:
来自:
对象
+
关系
+
经验
设计:
cognitive_knowledge
CREATE TABLE cognitive_knowledge
(
id INT AUTO_INCREMENT PRIMARY KEY,
object_ids TEXT,
relationship_ids TEXT,
experience_ids TEXT,
knowledge_type VARCHAR(100),
weight INT DEFAULT 50,
created_at TIMESTAMP
);
例如:
保存:
深圳供应商适合美国电动牙刷市场
35.10 经验表设计
Experience:
来自:
行动结果。
表:
cognitive_experience
CREATE TABLE cognitive_experience
(
id INT AUTO_INCREMENT PRIMARY KEY,
object_id INT,
action VARCHAR(255),
result VARCHAR(255),
score INT,
created_at TIMESTAMP
);
例如:
对象:
供应商A
行动:
推荐
结果:
成交
评分:
90
35.11 四类记忆数据库设计
WSaiOS:
四类记忆。
一、短期记忆
Short Memory
保存:
当前任务。
表:
short_memory
id
session_id
content
created_at
例如:
当前用户查询。
二、长期记忆
Long Memory
保存:
稳定经验。
表:
long_memory
id
object_id
experience
weight
三、时序记忆
Sequence Memory
保存:
变化过程。
表:
sequence_memory
id
object_id
state
time
例如:
供应商状态变化。
四、概率记忆
Probability Memory
保存:
统计经验。
表:
probability_memory
id
object_id
event
success_count
total_count
probability
35.12 GEO知识库实际结构
针对:
WSaiOS GEO分析系统。
可以设计:
geo_keywords
保存输入:
keyword
product
role
city
state
country
geo_objects
保存:
商业对象。
geo_relations
保存:
商业关系。
geo_memory
保存:
历史分析经验。
形成:
关键词
↓
商业对象
↓
商业知识
↓
市场判断
35.13 PHP Model层设计
MVC中:
Model负责数据库。
例如:
ObjectModel:
class ObjectModel
{
private $db;
public function find($id)
{
$sql="
SELECT *
FROM cognitive_objects
WHERE id=$id
";
$result=
$this->db
->query($sql);
return $result;
}
}
35.14 Knowledge Model设计
class KnowledgeModel
{
public function getKnowledge($object)
{
//查询对象
//查询关系
//查询经验
return $knowledge;
}
}
35.15 Memory Model设计
class MemoryModel
{
public function getExperience($object_id)
{
$sql="
SELECT *
FROM cognitive_memory
WHERE object_id=$object_id
";
return $this->db
->query($sql);
}
}
35.16 Matching Engine调用数据库
完整:
用户输入
↓
Controller
↓
MatchingService
↓
KnowledgeModel
↓
Object表
Relation表
Memory表
↓
评分
↓
结果
35.17 Smarty显示数据库认知结果
Controller:
$smarty->assign(
"result",
$result
);
模板:
供应商:
{$result.name}
匹配度:
{$result.score}
经验:
{$result.memory}
输出:
供应商A
匹配度90%
历史合作成功率85%
35.18 数据库与认知闭环
最终:
数据库不是静态。
流程:
行动
↓
结果
↓
经验
↓
Memory
↓
Knowledge Update
↓
Database
↓
未来匹配
35.19 本章总结
本章完成:
EOM理论的数据工程映射。
核心:
EOM Object
↓
MySQL Object Table
EOM Relationship
↓
Relationship Table
EOM Memory
↓
Memory Table
EOM Knowledge
↓
Knowledge Repository
WSaiOS数据库架构:
PHP OOP
↓
MVC Model
↓
Cognitive Service
↓
Knowledge Layer
↓
MySQL
下一章:
第三十六章:WSaiOS EOM认知应用开发流程——从需求分析到完整PHP MVC系统部署
重点研究:
- 如何从零开发一个WSaiOS认知应用;
- 类设计流程;
- Service层设计;
- Controller流程;
- Smarty页面设计;
- MySQL初始化;
- 一个完整应用案例。