WSaiOS EOM模拟人工认知工程理论
第四十六章:WSaiOS认知匹配引擎实现——基于对象、关系、知识库的PHP OOP匹配系统
46.1 为什么需要认知匹配引擎
前面章节完成:
WSaiOS基础结构:
用户输入
↓
Element
↓
Object
↓
Relationship
↓
Knowledge Base
↓
Memory
但是:
系统拥有:
对象。
知识。
记忆。
并不代表具有认知能力。
真正产生应用能力的是:
当前输入对象与已有知识对象之间的匹配过程。
例如:
用户输入:
electric toothbrush supplier Miami
系统需要理解:
不是简单搜索:
“有没有这个字符串”。
而是判断:
这个需求对象
是否匹配
知识库中的供应商对象?
因此:
WSaiOS设计:
Cognitive Matching Engine
(认知匹配引擎)
46.2 传统搜索与认知匹配区别
传统搜索:
关键词
↓
数据库查询
↓
返回结果
例如:
SQL:
SELECT *
FROM supplier
WHERE keyword LIKE '%toothbrush%';
只能发现:
文字相似。
WSaiOS:
输入对象
↓
对象属性匹配
↓
关系匹配
↓
知识匹配
↓
经验匹配
↓
综合评分
得到:
认知相关性。
46.3 Cognitive Matching模型
定义:
匹配对象:
Input Object
↓
Knowledge Object
评分:
Cognitive Score
=
Object Score
+
Relationship Score
+
Knowledge Score
+
Memory Score
例如:
供应商匹配:
| 项目 | 分数 |
|---|---|
| 产品匹配 | 40 |
| 角色匹配 | 20 |
| 地区匹配 | 20 |
| 经验匹配 | 20 |
| 总分 | 100 |
46.4 Matching Engine架构
目录:
engine/
matching/
├── MatchingEngine.php
├── ObjectMatcher.php
├── RelationshipMatcher.php
├── KnowledgeMatcher.php
├── MemoryMatcher.php
├── ScoreCalculator.php
结构:
MatchingEngine
|
--------------------
ObjectMatcher
RelationshipMatcher
KnowledgeMatcher
MemoryMatcher
ScoreCalculator
46.5 MatchingEngine核心类
PHP:
class MatchingEngine
{
private $objectMatcher;
private $relationMatcher;
private $knowledgeMatcher;
private $memoryMatcher;
public function match($object)
{
$objectScore =
$this->objectMatcher
->match($object);
$relationScore =
$this->relationMatcher
->match($object);
$knowledgeScore =
$this->knowledgeMatcher
->match($object);
$memoryScore =
$this->memoryMatcher
->match($object);
return [
"object"=>$objectScore,
"relation"=>$relationScore,
"knowledge"=>$knowledgeScore,
"memory"=>$memoryScore
];
}
}
46.6 Object Matcher对象匹配
对象匹配:
判断:
两个对象是否属于同一认知类别。
例如:
输入:
Electric Toothbrush Supplier
知识库:
Oral Care Factory
判断:
属性:
产品:
Electric Toothbrush
角色:
Supplier
PHP:
class ObjectMatcher
{
public function match(
$input,
$target
)
{
$score=0;
if(
$input->product ==
$target->product
)
{
$score+=40;
}
if(
$input->role ==
$target->role
)
{
$score+=20;
}
return $score;
}
}
46.7 Relationship Matcher关系匹配
EOM认为:
关系决定理解。
例如:
对象:
Factory
关系:
produce
目标:
Electric Toothbrush
形成:
Factory
↓
Produce
↓
Product
代码:
class RelationshipMatcher
{
public function match($object)
{
$score=0;
foreach(
$object->relations
as $relation
)
{
if(
$relation->type=="supply"
)
{
$score+=30;
}
}
return $score;
}
}
46.8 Knowledge Matcher知识匹配
知识匹配:
查询知识库。
例如:
输入:
Miami Distributor
知识库:
Miami market
Electric toothbrush demand high
代码:
class KnowledgeMatcher
{
private $knowledgeModel;
public function match($object)
{
$knowledge=
$this->knowledgeModel
->find($object);
if($knowledge)
{
return 20;
}
return 0;
}
}
46.9 Memory Matcher经验匹配
经验:
影响判断。
例如:
历史记录:
Miami
Electric toothbrush
成功率85%
增加:
经验分。
PHP:
class MemoryMatcher
{
private $memoryModel;
public function match($object)
{
$memory=
$this->memoryModel
->recall($object);
return $memory['weight'];
}
}
46.10 Score Calculator评分计算
统一计算。
class ScoreCalculator
{
public function calculate(
$scores
)
{
return
$scores['object']
+
$scores['relation']
+
$scores['knowledge']
+
$scores['memory'];
}
}
输出:
90
46.11 Matching Service加入MVC
MVC流程:
Controller
↓
CognitiveService
↓
MatchingService
↓
MatchingEngine
↓
KnowledgeModel
MemoryModel
↓
Database
代码:
class MatchingService
{
private $engine;
public function analyze($object)
{
$result=
$this->engine
->match($object);
return $result;
}
}
46.12 GEO商业分析案例
用户输入:
electric toothbrush distributor Miami Florida
第一步:元素解析
得到:
Product:
Electric Toothbrush
Role:
Distributor
Location:
Miami Florida
第二步:对象形成
生成:
Demand Object
{
product
role
city
}
第三步:匹配知识库
查询:
Supplier Objects
Market Objects
Company Objects
第四步:关系判断
发现:
Factory
↓
Supply
↓
Electric Toothbrush
第五步:经验调用
读取:
Miami Market
Success Rate:
85%
第六步:评分
结果:
Object:
40
Relation:
30
Knowledge:
10
Memory:
10
Total:
90
46.13 匹配结果对象设计
匹配结果:
也是对象。
PHP:
class MatchResult
{
public $object;
public $score;
public $reason;
public $confidence;
}
保存:
matching_results
46.14 为什么匹配结果需要解释
传统系统:
输出:
90分
用户不知道:
为什么。
WSaiOS:
保存:
原因。
例如:
评分90
原因:
产品一致
角色一致
地区一致
历史成功率高
形成:
可解释匹配。
46.15 Matching Engine与人工认知对应
| 认知过程 | 工程实现 |
|---|---|
| 认识对象 | ObjectMatcher |
| 理解关系 | RelationshipMatcher |
| 调用知识 | KnowledgeMatcher |
| 参考经验 | MemoryMatcher |
| 形成判断 | ScoreCalculator |
46.16 本章总结
本章完成:
WSaiOS认知匹配工程实现。
核心流程:
输入信息
↓
认知对象
↓
对象匹配
↓
关系匹配
↓
知识匹配
↓
记忆匹配
↓
评分决策
WSaiOS中的“智能”:
不是来自复杂算法。
而来自:
对象结构
+
关系结构
+
知识库
+
经验记忆
+
匹配机制
下一章:
第四十七章:WSaiOS认知应用完整开发案例——GEO商业分析系统从PHP OOP到WordPress发布
重点研究:
- 一个完整WSaiOS应用如何开发;
- GEO对象模型设计;
- MVC项目结构;
- Smarty页面生成;
- WordPress自动发布流程;
- 从认知分析到商业应用。