52、软件代理设计中的知识提取方法

软件代理设计中的知识提取方法

1. 引言

过去,基于知识的系统在知识获取的理论和实践方面,倾向于以脱离上下文的方式提取和表示知识。然而,如今软件代理设计的发展,使得人机交互的上下文成为了分析的关键单元。软件代理作为满足特定需求的计算机程序,如提高人类生产力、舒适度和安全性等,其设计需要从技术、经济、心理和社会学等多方面进行知识提取。

2. 知识提取

知识提取本质上是一项合作活动,软件代理的设计是一个渐进的过程。专家具有解决问题、清晰表述问题、评估问题偏差后果、积累和重组知识、在信息不完整时做决策等特点。专家知识如同编译后的计算机程序,难以反编译,通常只能通过观察其处理结果并借助相关模型来近似获取。从专家到机器的知识转移若缺乏社会认可的模型和实验评估,可能导致自动化效果不佳。因此,知识提取应更注重建模,且要考虑知识与推理机制的关联,以及上下文对专业知识索引的重要性。

3. 以用户为中心的设计

为了获取软件代理设计所需的知识,我们采用了集成人机智能(IHMI)范式。该范式下的软件代理包含提议器、监督观察者和分析器三个模块,并使用技术知识库和操作知识库。同时,它还包括短期监督控制循环和长期评估循环。

在软件设计中,过去工程师主导的自动化设计往往忽视了最终用户的需求。软件设计应以人为本,考虑社会、生态、经济和心理等多方面的影响。例如,航空工业早期的设计是由使用者自行调整,以满足自身需求,但如今设计与使用之间存在差距,需要更好地管理不同观点,明确设计过程中的约束条件。

4. 上下文分类

上下文的定义较为复杂,我们从反思 - 审议的角度来定义它,它与情况的持续性相关。上下文可分为语言上下文和物理社会上下文。语言上下文通过词语在不同情境中的使用来逐步定义,如通过一系列句子来理解“wishbone”这个词的含义。物理社会上下文则是在实际环境中,通过与他人的交流和操作来学习和记忆事物,例如通过朋友演示帆板来了解“wishbone”。

从形式上看,上下文可以通过对象之间的关系来定义,包括语言、物理社会和历史上下文。但形式化定义上下文可能会导致大量的属性 - 值对,实际应用中通常采用默认的常用结构,并考虑其例外情况。此外,上下文还包含时间因素,某些事件的持续性会强化上下文的影响。

5. 代理视角

人机交互中的代理导向并非新鲜事物,如自动驾驶仪的使用改变了人类操作员的任务性质。软件代理技术与组件软件架构相契合,能支持应用程序的协作、集成和定制。

知识提取在创建和评估知识块的软件映像时更为容易和高效。在知识设计过程中,存在分析、结构和交互三种不同的表示模型。分析方法将知识视为特定领域的断言集合,适用于静态知识,但在处理动态过程和矛盾陈述时存在局限性;结构主义方法将知识看作相互关联的概念网络,有助于理解自然语言的深层结构,但缺乏明确的定义和形式化;交互主义方法则强调通过与其他参与者或自主代理的交互来逐步获取和构建知识。我们采用的知识提取方法主要基于交互主义,通过计算机媒体的中介作用来增强知识提取,并采用多归纳方法替代传统的假设 - 演绎方法。

6. 增量式知识提取设计代理

知识提取应结合具体情境,软件代理既能在上下文中辅助知识提取,又能根据提取的知识进行设计和优化。用户的任务、需求和使用的人工制品是相互影响、逐步定义的。传统工程设计侧重于人工制品的构建,而我们的方法更注重用户、任务和人工制品之间的相互关系,采用增量式设计,类似于软件开发生命周期中的螺旋模型。

例如,Woods 和 Roth 提出的认知系统三元组,强调了世界的动态性、表示方式和代理的多样性对问题解决的影响。我们将这些维度作为独立变量,用于逐步定义任务、人工制品和用户。

7. 代理模型

代理的功能多样,例如飞机上的副驾驶与飞行员分担工作但不承担最终责任。我们采用结构主义和交互主义相结合的方法来建模代理,代理模型基于经典的 Newell 和 Simon 模型,在 MESSAGE 项目中首次开发。

代理本身是一个由多个子代理组成的社会,包括监督子代理和受体、效应器和认知三个通道。代理的内部功能基于黑板式认知架构,能够实现任务的并行或顺序执行。自动过程涉及情境表示的特定知识,而受控过程涉及分析表示的知识。

以下是代理模型的 mermaid 流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(监督子代理):::process --> B(受体通道):::process
    A --> C(效应器通道):::process
    A --> D(认知通道):::process
    B <--> E(环境):::process
    C <--> E
    D <--> E
    D <--> F(长期记忆):::process
    D <--> G(短期记忆):::process
    G <--> H(感知情况):::process
    G <--> I(期望情况):::process
    H --> J(情况识别):::process
    I --> J
    J --> K(问题解决):::process
    K --> C
8. 情境表示

情境用于描述代理局部环境的状态,由一系列事实组成。在某一时刻,可区分出真实情况、感知情况和期望情况。真实情况代表“真实”世界,但操作员只能部分访问;感知情况是操作员对局部环境的特定映像,具有不完整、不确定和不精确的特点;期望情况则是操作员的目标集合。

情境模式是操作员长期记忆中的重要元素,它代表了操作员在某一时刻的期望情况。每个情境模式由一系列事实的映射组成,通过容忍函数来处理数值和逻辑变量。在监测过程中,操作员通过将感知事实与激活的情境模式进行匹配来识别情况,当多个模式匹配时,通常选择最频繁出现的模式。情境模式是专家技能的体现,其编译后的知识难以解释,只能通过渐进观察来获取。

9. 分析表示

当识别出情境后,通常会进行问题解决。问题解决可通过结构化对象和推理规则来表示,如 IF…THEN…格式。在多假设问题解决中,每个假设定义一个“扩展”,需要维护各扩展内和扩展间的一致性。分析推理包括问题解决器和一致性维护机制,推理方式可以是正向链或反向链。

分析知识可分为程序知识和理论知识。程序知识以实例化计划的形式表示,对应于基于规则的行为,易于获取和形式化;理论知识基于深层知识,用于探索和理解工程系统的理论基础,对应于基于知识的行为。

10. SRAR 模型

我们提出了情境识别和分析推理模型(SRAR),该模型适用于各种动态情况和问题。

10.1 HORSES 实验

在 NASA 艾姆斯研究中心进行的 HORSES 实验中,选择轨道加油系统(ORS)作为控制示例。实验使用了 ORS 模拟器、故障生成器和故障诊断专家系统 HORSES 等软件代理。两组飞行员参与实验,一组对 ORS 操作不熟悉,另一组则经验丰富。实验过程中,飞行员需要监督燃料转移,并面对各种模拟故障。实验通过录像记录飞行员的操作,并对协议进行分析,考虑事件的重要性、频率和处理人数等因素。

10.2 SRAR 模型的推导

在实验中,使用操作手册的飞行员可分为遵循程序模式和基于直觉模式两组。遵循程序模式的飞行员通过匹配操作手册中的情境模式来识别关键情况,诊断过程较为直接;基于直觉模式的飞行员则能识别操作手册中未包含的情况,但诊断失败的概率较高。

使用软件代理作为智能助手的飞行员也可分为情境识别者和诊断处理者两组。情境识别者依赖软件代理的建议进行情境识别,通常采用正向链模式;诊断处理者则在自行发现问题后使用软件代理进行分析,采用反向链模式。

初学者和专家在识别情况和进行分析推理时存在差异。初学者的情境模式简单、精确且静态,分析知识块较大;专家的情境模式复杂、模糊且动态,分析知识块较小。随着学习的进行,动态模型会被引入情境模式,专家能够检测到更广泛的情况。

通过定义 SRAR 块,我们可以看到初学者和专家在情境模式和分析知识块的组合上存在明显差异。

10.3 SRAR 块作为接口组件

HORSES 实验得出以下结论:通过分析人机交互,可以设计出为专家提供更多多义信息的显示器,提高用户和系统的性能;HORSES 代理能够在自主性分配上达到平衡,让操作员能够利用自己所学的技能。

SRAR 模型可用于设计接口代理,帮助人类操作员预测动态系统的发展,找到接口和程序设计的最佳平衡点。例如,专家在观察燃料转移时使用的图表,能够直观地展示压力和燃料量的关系,但在纸质技术中操作较为困难,而集成到用户界面中则易于使用。

10.4 构建情境模式:LSS 模型

情境模式的构建是一个学习过程,可分为专业化和泛化两个方向。LSS(通过专业化/结构化学习)模型基于解释,将学习过程分为三个阶段:
1. 获取程序知识并构建次优知识库 :包括分析和情境知识,初始情境模式较小且粗糙,分析知识库描述系统的功能。
2. 将分析知识的某些元素转移到情境模式中 :通过实验,将专家早期考虑的知识元素转移到情境部分,如将“Preceding - movement”的相关知识转移到情境模式中。
3. 重组分析知识库 :根据新的情境模式创建新的知识块,提高知识的组织和利用效率。

以下是 LSS 模型学习过程的表格:
| 阶段 | 描述 |
| — | — |
| 1 | 获取程序知识(解释)并构建次优知识库(分析和情境) |
| 2 | 通过实验将分析知识的某些元素转移到情境模式中 |
| 3 | 根据新的模式重组分析知识,创建新的“块” |

10.5 问题陈述和问题解决

情境/分析的区分导致了问题陈述和问题解决的区分。问题解决可分为使用技能和探索理论知识两种方式。一个好的问题陈述对于问题解决至关重要,专家的问题解决方法通常具有精致的问题陈述和易于实施的解决方案。

通过情境模式的积累,人们的行为会变得更加迅速,类似于驾驶汽车时,驾驶员遇到特定情况的次数越多,相应的情境模式就越容易被激活,从而更快地做出决策。然而,计算机模型在处理情境和分析推理时,随着模式数量和复杂度的增加,计算时间会增加,这与人类的实际行为相反,这是因为人类的认知和感知机制具有并行处理的能力。

软件代理设计中的知识提取方法

11. 块表示

块表示是为支持 SRAR 模型和 LSS 模型而开发的,用于从分析知识和经验中逐步构建情境模式。它常作为中介表示,帮助设计团队从用户那里提取操作模型,并且可以连接以模拟程序知识。

11.1 知识块定义

一个块由一组目标、一组条件和一组实现目标的动作组成。条件可分为触发前提条件、异常条件和上下文条件。

11.2 上下文与触发前提条件

情境模式通过实验逐步构建,其中上下文条件是持续有效的条件,有助于激活情境模式;而触发前提条件则需要被触发才能启动分析推理。上下文以层次结构组织,便于知识块知识库的管理。例如,在航空飞行中,飞行过程分为多个阶段和子阶段,每个阶段都可以用知识块或程序来描述。

在起飞阶段,如果一切正常,飞行员会按照一系列块执行操作,如在达到决策速度 V1 之前执行“Before V1”块。该块在起飞上下文中有效,当满足“Brake release”和“Maximum power”前提条件时被触发,目标是达到速度 V1。如果在执行过程中出现异常条件,飞行员可能会执行其他块,如“Stop the plane”块。

11.3 异常条件和非单调推理

异常条件分为弱异常条件和强异常条件。弱异常条件出现时,会导致从当前块转移到同一上下文中的另一个块;强异常条件出现时,则会导致转移到另一个上下文的块。

例如,飞机驾驶舱中的灯泡损坏可能是弱异常条件,不需要改变飞行上下文;而发动机停车则是强异常条件,会导致飞行员改变策略并应用相应的恢复程序。

在知识块的执行过程中,正常情况下按顺序执行块,形成线性浏览;异常情况会打断线性顺序,形成非线性浏览。

以下是飞行知识块执行流程的 mermaid 流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(Before V1 块):::process -->|正常| B(Before rotation 块):::process
    B -->|正常| C(Before V2 + 10 块):::process
    A -->|弱异常条件 5| D(Stop the plane 块):::process
    D -->|速度合适| B
11.4 块的增量构建

块表示便于表示执行工程系统操作所需的知识,支持通过增量分解进行声明式编程。知识设计从高级描述的原始块开始,将其分解为继承初始块上下文的块网络,形成多层上下文块,便于浏览和知识获取。

情境模式是对上下文块的问题陈述,通过探索和执行块来解决问题。知识块代表人类操作员执行任务的认知功能,可根据观察到的操作员活动进行修改和优化。

12. 认知功能分析(CFA)
12.1 认知功能:定义

在人机交互中,任务是工作的要求,而活动是实际执行任务的结果,两者可能存在差异。认知功能是产生活动的机制,可用于模拟认知过程。

认知功能可以分解为更小的功能,例如在航空领域,执行特定任务的认知功能可分解为交互认知功能(与执行任务的语法相关)和任务内容认知功能(与任务的语义相关)。

例如,使用多功能命令和显示单元(MCDU)编程飞行计划时,飞行员需要进行按键操作、浏览菜单等交互操作,这对应交互认知功能;而确定飞行路线、满足空中交通管制要求等则对应任务内容认知功能。

一个复杂的认知功能通常可以分解为多个知识块的图,例如飞行计划编程的认知功能可以分解为多个子功能和对应的知识块。

12.2 自动化作为认知功能转移

新技术的发展使得部分认知功能可以从人类转移到机器,这被称为自动化。交互认知功能(I - CF)通常可以转移到机器,而任务内容认知功能(TC - CF)也可以部分转移。

自动化有多个目标,如安全、可靠、经济和舒适等。在 MCDU 实验中,通过去除字母数字键盘,引入更大的导航显示屏和直接操作工具,开发了飞行员用于编程飞行计划的认知功能。通过按键级模型分析评估这些功能的效率,结果表明新设计更优,能显著减少访问规划功能的时间。

自动化应具备多种属性,如可问责、可预测、可理解、可靠、抗错误、从属、自适应、灵活、信息丰富和容错等。

以下是自动化属性的列表:
- 可问责:必须向人类操作员告知其行动并能应要求解释。
- 可预测:应能根据观察或经验进行预测。
- 可理解:应易于理解。
- 可靠:应可靠地执行命令,不使情况恶化。
- 抗错误:应尽量防止人类操作员犯错。
- 从属:除预定义情况外,不应擅自指挥。
- 自适应:应能在广泛的人类操作员偏好和需求范围内进行配置。
- 灵活:应易于适应新的、不同的或变化的要求。
- 信息丰富:应让人类操作员了解系统的运行情况。
- 容错:应能检测并减轻错误的影响。

12.3 人类因素标准

人类中心自动化(HCA)基于认知功能分析(CFA),涉及将认知功能从一个代理转移到另一个代理,并考虑这种转移的影响。HCA 的原则和指南基于自动化的属性,如 Billings 提出的标准,可用于指导认知功能的转移。

自动化程度的提高可能导致用户出现无聊、自满和能力下降等问题,而手动工作过多则可能导致疲劳和高工作量。因此,需要根据人类因素标准来评估认知功能转移的相关性。

12.4 基于认知模拟的提取方法

认知功能难以直接捕捉,我们采用认知模拟方法来逐步优化提取的认知功能。该方法基于块表示和明确的界面工件进行认知模拟,使领域专家能够评估认知功能分析的相关性和正确性。

认知模拟方法的步骤如下:
1. 使用经典的提取方法(如访谈、头脑风暴、实地观察)定义初始的次优上下文集。
2. 开发描述飞行员和控制器在这些上下文中活动的知识块。
3. 运行认知模拟并评估其相关性和正确性。
4. 优化当前上下文和知识块。
5. 再次运行认知模拟并评估其相关性和正确性。

通过认知模拟,我们可以研究人机交互,确定合适的表示粒度,以捕捉航空通信中相关的认知功能。例如,在 MCDU 示例中,使用超媒体工具开发认知功能的界面工件,为用户提供“真实”导航显示屏的模拟,便于用户理解和测试设计决策。

12.5 CFA 改进任务分析概念

传统的任务分析存在一些问题,如难以考虑上下文和异常条件,提供的理论模型与实际界面和程序设计差距较大。而 CFA 将块描述与当前界面工件相结合,使用户能够直接参与设计周期,通过可用性测试为设计决策提供贡献。

CFA 提供了一种中介表示,便于设计师和用户之间的沟通,有助于用户生成和测试假设,促进启发式假设的生成。它与 Sheridan 关于监督控制功能的方法一致,还提供了基于可用性评估的功能分配框架,使设计师能够更好地预测人机之间认知功能的分配,并测试不同配置对认知属性的影响。

13. 总结

经过多年在自动化系统设计知识提取领域的实践,我们认为软件代理技术有助于实现以人为本的设计。软件代理可以定义为认知功能向计算机的转移结果,以及带有界面工件的知识块。通过基于适当人类因素标准的认知功能分析和模拟,可以帮助分析、设计和评估新兴的软件代理。

随着人们使用计算机执行越来越复杂的任务,我们需要简单的解决方案来应对日益增长的复杂性。软件代理可以作为对象编程,并通过增强态度来实现,从软件开发的角度来看,它们是提高知识提取效率的有效组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值