智能体可靠性的革命性提升,揭秘知识工程领域的参考架构新篇章

引言:知识工程的演变与重要性

知识工程(Knowledge Engineering,KE)是一个涉及激发、捕获、概念化和形式化知识以用于信息系统的过程。自计算机科学和人工智能(AI)历史以来,知识工程的工作流程因其在构建可靠智能代理中的重要性而被广泛使用。确实,开发适用于从常识到交通、犯罪和天气等应用的可信模型,需要对知识过程有深入的理解。同样,在这些领域内的任务解决方案,包括问答、摘要和预测,都预期将纳入标准化的KE程序,以便它们能够有意义地适用并与人类兼容。

随着时间的推移,知识工程的范围和目标任务正在发生变化,其范式也在转变,从早期的专家系统、语义网到语言建模。这些范式之间的用例和用户需求尚未全球性地分析,因为新范式通常满足先前的痛点,同时可能引入新的问题。最近,将系统模式抽象成框架学(boxology)为将知识工程的需求和用例与能够最好满足它们的系统、组件和软件对齐提供了契机。本文提出了一个愿景,即通过利用创建参考架构的软件工程方法来协调知识工程领域的最佳实践。我们描述了如何迭代设计和实施参考架构,以将用户需求与反复出现的系统模式联系起来,构建在现有知识工程工作流程和框架学之上。我们提供了一个六步路线图,可以实现这样的架构,包括范围定义、信息源选择、架构分析、基于信息源分析的架构综合、通过实例化评估,最终将其实例化为具体的软件架构。

论文标题、机构、论文链接

论文标题:Standardizing Knowledge Engineering Practices with a Reference Architecture
作者:Bradley P. Allen, Filip Ilievski
机构:University of Amsterdam, Amsterdam, The Netherlands; Vrije Universiteit, Amsterdam, The Netherlands
论文链接:https://arxiv.org/pdf/2404.03624.pdf

知识工程的定义与关键任务

1. 知识工程的历史回顾

知识工程(Knowledge Engineering,KE)是指为信息系统创建和维护知识的活动。自计算机科学和人工智能(AI)历史以来,知识工程的工作流程在构建跨领域和任务的可靠智能代理时一直是关键组成部分。例如,从常识到交通、犯罪和天气的应用程序的可信模型的开发,都需要经过良好理解的知识过程。同样,在这些领域内的任务解决方案,包括问答、摘要和预测,都预期将纳入标准化的知识工程程序,以便它们具有意义并与人类兼容。

2. 知识图谱与大语言模型在知识工程中的作用

知识图谱(Knowledge Graph,KG)工程作为知识工程的一个变体,旨在捕获、表示和利用有关实体、它们之间的关系及其底层语义的复杂信息。研究人员和领域专家设计了针对不同领域需求的知识图谱工程工作流程,如生物医学、图书馆和信息科学、网络民主、常识知识和出版物等。同时,大型语言模型(Large Language Models,LLMs)作为知识工件在知识工程工作流程中的角色也在积极研究中,以理解LLMs增强、替代或添加知识工程组件的潜力。

知识工程范式的演变

1. 专家系统时代

在20世纪60年代,研究人员对目标导向搜索和启发式算法进行实用的通用问题解决持乐观态度。然而,到了70年代,这些系统难以扩展到复杂应用成为显而易见。20世纪70年代中期,Feigenbaum受到Newell和Simon工作的影响,认为专注于特定领域对于成功的知识工程至关重要。

2. 语义网时代

在语义网时代,Tim Berners-Lee提倡使用特定的开放标准(如RDF和SPARQL)来编码Web内容中的知识,以改善Web内容的访问和可发现性,并实现自动化推理。然而,语义网技术的采用速度缓慢,最终导致研究人员寻求方法将这些标准和原则与一般软件行业规范更紧密地对齐,并使其更加开发者友好。

3. 知识图谱工程

近期的努力,特别是像谷歌和亚马逊这样的公司开发的商业知识图谱,表明了向基于属性图的自定义架构的转变。这种转变虽然创新,但通常绕过了Feigenbaum和Berners-Lee等早期愿景家所倡导的互操作性和联合理念。

4. 大语言模型与神经符号系统

2010年代,连接主义方法和图形处理硬件的兴起为使用大型语言模型进行知识生产带来了新的可能性。关于LLMs与知识库之间关系的两种主要观点已经出现。第一种观点将LLMs视为可查询的独立知识库,可以通过最小的人为干预从非结构化文本中学习。这种方法挑战了传统的、劳动密集型的知识工程过程,但对准确性、道德使用、互操作性和可策展性提出了担忧。第二种更谨慎的观点将语言模型视为知识工程工作流程中的组件,结合新旧方法。这种方法强调可访问性、手动编辑提取的知识以及推理方法的解释,解决了早期技术的局限性。

知识工程的挑战与需求

1. 用户需求与用例的多样性

知识工程(KE)的发展历程表明,随着人工智能(AI)的演进,KE的范式也在不断变化。从专家系统、语义网到最近的大型语言模型(LLMs),每个时期的KE都试图解决前一时期的痛点,但往往会引入新的挑战。用户的需求和用例多样性是KE面临的一大挑战。例如,早期的KE可能由计算机科学家执行,而现在则涉及直接与知识交互的领域专家、构建本体的知识工程师、修复过时信息的知识编辑、开发知识完善系统的数据科学家,以及测试可用知识的商业和组织利益相关者。这些不同的用户和任务要求KE系统能够灵活地定义和支持各种利益相关者的需求和优先级。

2. 系统设计模式的框架化(Boxology)

近期,将系统设计模式抽象为框架化的“盒子学”(Boxology)为将KE的需求和用例与最能满足这些需求的系统、组件和软件对齐提供了契机。然而,当前的盒子学模式尚未包含用户需求、任务和应用需求的信息,也缺乏将来可能包含这些信息的机制。此外,盒子学模式和流行的NeSy(神经符号系统)流程(例如微调)和工件(例如知识图谱)之间的对齐规范尚不明确,这表明KE系统需要一种原则性的方式来考虑不同用户需求、范式和用例。

3. 面向未来的知识工程需求

随着KE的范式和技术的不断演进,未来的KE需求将需要更加灵活和适应性强的系统。这些系统应该能够随着时间的推移和应用的变化而适应不断演变的需求,并提供一种规范性框架,标准化最佳实践,同时允许针对特定情况进行定制。

提出参考架构的概念与方法论

1. 参考架构的定义与用途

参考架构(RA)是一种框架,它通过最终架构和相应的软件系统将利益相关者的需求与设计模式对齐。RA作为一个通用架构,为特定信息系统类别内的软件工程实践社区提供标准化。RA的特点包括提供最高级别的抽象,强调架构质量,考虑但不包括利益相关者,并促进遵循共同标准,有效支持系统开发和沟通。

2. 六步法设计与实施参考架构

RA的设计和实施可以通过以下六步法进行:范围定义、信息源选择、架构分析、基于信息源分析的架构合成、通过实例化进行评估,最终将架构实例化为具体的软件架构。这一过程是人为中心和迭代的,特别适合于动态和频繁变化的学科,如KE。

e7e2e7fcecb937eb03785fbc249f14cc.jpeg

3. 从信息源选择到架构评估的过程

选择信息源的过程可以通过系统地分析NeSy领域的文献来实现。例如,通过SPARQL查询针对KE任务的文献集,可以识别出与KE相关的系统。然后,可以通过对这些系统的分析来确定它们如何支持KE的质量属性。这种分析可以帮助确定候选的RA合成模式,并在实例化和使用中对合成的架构进行评估。

1e56b5416af7b80af64368a4d482e46d.jpeg

参考架构在知识工程中的应用示例

1. 内容发现与推荐系统的参考架构设计

在知识工程的实践中,参考架构(RA)的设计可以显著提高内容发现与推荐系统的效率和准确性。例如,企业可能希望改善其网站上内容的可发现性,以提升用户体验和商业成果。通过利用RA,企业可以构建一个系统,该系统使用特定领域本体进行内容标记,以支持用户寻找相关内容的任务。

在这个场景中,RA的设计需要考虑多个质量属性(QAs),例如领域特异性和可扩展性。领域特异性确保系统能够从特定领域的术语和定义中提供主题标签,而可扩展性则允许系统随着新内容和主题的出现而扩展。架构师可以通过查询知识图谱来识别符合这些QAs和需求的设计模式,例如F2设计模式,它描述了一个系统,该系统将输入的符号表示(企业知识图谱)和数据(网站内容)结合起来,通过模型(M)生成输出的符号表示,以将网站内容与领域特定主题分类联系起来。

9f95456e9a6f67149b82f776054b5f4b.jpeg

2. 评估与实例化参考架构的方法

在RA设计完成后,需要通过实例化和使用来评估其效果。这可以通过轻量级的架构权衡分析方法(ATAM)来实现。在ATAM会议中,利益相关者和架构师聚集在一起,通过讨论用户场景来识别可能影响QAs实现的架构风险。这些场景可能包括数据集成、数据质量检查、实体解析、本体合并和对齐、查询优化以及自然语言处理等任务。

一旦RA通过评估,就可以进入具体的软件架构实例化阶段。在这个阶段,每个组件的实现选项将被确定,可能包括现有软件包的使用或定制开发。例如,可以为知识图谱完成提供Pytorch-Biggraph的接口,为使用约束评估质量提供Shape expressions (Shex)工具的接口,以及为跨知识工件的记录链接提供RLTK的接口。

讨论与未来方向

1. 参考架构对知识工程实践的影响

参考架构在知识工程中的应用可以带来多方面的影响。首先,它为分散的系统模式提供了组织原则,有助于系统化知识工程领域的实践。其次,RA通过考虑其范围、用例和相应需求,将模式整合在一起,同时考虑质量属性和功能需求。此外,RA的迭代开发过程确保了架构能够适应技术趋势的变化,并随着时间的推移和应用的变化而适应。

2. 面临的挑战与未来研究方向

尽管RA提供了一种有前景的方法来标准化知识工程实践,但在实际应用中仍面临挑战。例如,如何确保RA能够灵活地适应不断变化的技术和用户需求,以及如何有效地将RA与现有的知识工程工作流程和系统模式相结合。未来的研究方向可能包括进一步精细化RA的设计和评估过程,以及探索如何自动从系统化的论文集合中提取功能需求和质量属性。此外,随着知识工程领域的不断发展,RA的实例化和评估过程也需要不断迭代和完善。

总结:参考架构在标准化知识工程实践中的作用与前景

1. 参考架构的定义与应用

参考架构(RA)是一种软件工程方法论,它通过将用户需求与系统模式相结合,创建出一种通用的框架。这种框架不仅为特定类别的信息系统提供了一个高度抽象的通用架构,而且还强调了架构质量,并促进了对共同标准的遵循。RA的开发是以人为中心的,迭代式的,这使其特别适用于动态和频繁变化的学科,如知识工程(KE)。RA的主要优点在于它提供了一个共同的框架,同时允许用户为其狭窄的用例设计特定的RA。

2. 参考架构的六步发展路线图

在知识工程领域,RA的发展遵循了一个六步路线图,包括范围定义、信息源选择、架构分析、基于信息源分析的架构合成、通过实例化进行评估,最终将其实例化为具体的软件架构。这个过程旨在将用户需求与重复出现的系统模式相结合,建立在现有的知识工程工作流程和系统模式之上。

3. 参考架构在知识工程中的作用

RA在知识工程中的作用是将分散的系统模式组织起来,为知识工程领域的系统化提供了一个关键贡献。RA通过考虑其范围、定义的用例及其相应的需求,将模式整合在一起,这些需求被提炼为质量属性和功能需求。架构的合成是一个迭代过程,受到服务导向设计、电子政务和汽车行业参考架构成功案例的启发。架构的发展的一个关键方面是通过实例化和使用与代表性用户进行评估。最后,需要将参考架构组件实例化为软件,从而完成用户需求与现有技术能力之间的循环。

4. 参考架构的前景

随着知识工程领域的持续发展,RA提供了一种机制,将架构模式与用户需求相关联,并识别潜在的差距。RA的实现在实践中目前尚处于部分阶段。本文提出了一个通过定义代表性任务和提炼23个质量属性及8个功能需求来界定范围的路线图,并采用了最近识别出的神经符号知识工程系统模式作为信息源,提供了初始组件,可以用来构建RA。文章还展示了如何将QAs与识别出的架构模式直接映射,检测到各种程度的支持需求。对于从模式合成RA、通过实例化和使用评估RA以及将RA实例化为软件的步骤,文章提出了一个规范的、整合软件工程最佳实践和方法论的逐步过程,因为这些步骤高度依赖于特定用例。每个步骤都需要迭代设计、开发、实施和评估RA的专门努力,这是我们计划追求的下一步,以代表性的任务和领域的代表性子集为例。我们相信,为KE设计RA的提出的方法为系统化KE方法的新兴工作提供了重要的扩展,提供了一种机制,将架构模式与用户需求相关联,并识别潜在差距。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/586469.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Web】2024XYCTF题解(全)

目录 ezhttp ezmd5 warm up ezMake ez?Make εZ?мKε? 我是一个复读机 牢牢记住,逝者为大 ezRCE ezPOP ezSerialize ezClass pharme 连连看到底是连连什么看 ezLFI login give me flag baby_unserialize ezhttp 访问./robots.txt 继…

ChatGPT向付费用户推“记忆”功能,可记住用户喜好 | 最新快讯

4月30日消息,人工智能巨头OpenAI宣布,其开发的聊天机器人ChatGPT将在除欧洲和韩国以外的市场全面上线“记忆”功能。这使得聊天机器人能够“记住”ChatGPT Plus付费订阅用户的详细信息,从而提供更个性化的服务。 OpenAI早在今年2月就已经宣布…

无缝对接配电自动化:IEC104转OPC UA网关解决方案

随着水电厂自动化发展的要求,具有一定规模的梯级水电站越来越多,为了实现水电站的无人值班(少人值守),并考虑到节能控制,电厂采用了集中监控。集中监控关注的是整个电网的安全稳定运行及电压、频率和整个电网的电力需求&#xff0…

C++必修:类与对象(二)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C学习 贝蒂的主页:Betty’s blog 1. 构造函数 1.1. 定义 构造函数是一个特殊的成员函数,名字与类名相…

软件工程物联网方向嵌入式系统复习笔记--如何控制硬件

5-如何控制硬件 #mermaid-svg-of9KvkxJqwLjSYzH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-of9KvkxJqwLjSYzH .error-icon{fill:#552222;}#mermaid-svg-of9KvkxJqwLjSYzH .error-text{fill:#552222;stroke:#552…

vue3步骤条带边框点击切换高亮

如果是div使用clip-path: polygon(0% 0%, 92% 0%, 100% 50%, 92% 100%, 0% 100%, 8% 50%);进行裁剪加边框没实现成功。目前这个使用svg完成带边框的。 形状可自行更改path 标签里的 :d“[num ! 1 ? ‘M 0 0 L 160 0 L 176 18 L 160 38 L 0 38 L 15.5 18 Z’ : ‘M 0,0 L 160,0…

Docker: 如何不新建容器 修改运行容器的端口

目录 一、修改容器的映射端口 二、解决方案 三、方案 一、修改容器的映射端口 项目需求修改容器的映射端口 二、解决方案 停止需要修改的容器 修改hostconfig.json文件 重启docker 服务 启动修改容器 三、方案 目前正在运行的容器 宿主机的3000 端口 映射 容器…

2024最新版JavaScript逆向爬虫教程-------基础篇之常用的编码与加密介绍(python和js实现)

目录 一、编码与加密原理1.1 ASCII 编码1.2 详解 Base641.2.1 Base64 的编码过程和计算方法1.2.2 基于编码的反爬虫设计1.2.3 Python自带base64模块实现base64编码解码类封装 1.3 MD5消息摘要算法1.3.1 MD5 介绍1.3.2 Python实现md5以及其他常用消息摘要算法封装 1.4 对称加密与…

【GitHub】github学生认证,在vscode中使用copilot的教程

github学生认证并使用copilot教程 写在最前面一.注册github账号1.1、注册1.2、完善你的profile 二、Github 学生认证注意事项:不完善的说明 三、Copilot四、在 Visual Studio Code 中安装 GitHub Copilot 扩展4.1 安装 Copilot 插件4.2 配置 Copilot 插件&#xff0…

Java设计模式 _结构型模式_组合模式

一、组合模式 1、组合模式 组合模式(Composite Pattern)是这一种结构型设计模式。又叫部分整体模式。组合模式依据树形结构来组合对象,用来表示部分以及整体层次关系。即:创建了一个包含自己对象组的类,该类提供了修改…

Educational Codeforces Round 165 (Rated for Div. 2)[A~D]

这场签到很快那会rank1400吧,但到c就写不动了,最后排名也是3000 左右,可见很多人其实都不会写dp。快速签到也很重要啊!! A. Two Friends Problem - A - Codeforces 题目大意: M有n个朋友,编号…

【Java】java实现文件上传和下载(上传到指定路径/数据库/minio)

目录 上传到指定路径 一、代码层级结构 二、文件上传接口 三、使用postman进行测试; MultipartFile接收前端传递的文件:127.0.0.1:8082/path/uploadFile part接收前端传递的文件:127.0.0.1:8082/path/uploadFileByRequest 接收前端传递…

基于大模型的智能案件询问系统

一、数据库层面 1、document表 这个表是用来存储文件信息的。具体字段含义如下: 1. id:文件的唯一标识,整型,自增。 2. name:文件名称,字符串类型,最大长度为255个字符。 3. type&#xff1a…

宠物领养|基于SprinBoot+vue的宠物领养管理系统(源码+数据库+文档)

宠物领养目录 基于Spring Boot的宠物领养系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1前台 1.1 宠物领养 1.2 宠物认领 1.3 教学视频 2后台 2.1宠物领养管理 2.2 宠物领养审核管理 2.3 宠物认领管理 2.4 宠物认领审核管理 2.5 教学视频管理 四、…

Linux专栏03:使用Xshell远程连接云服务器

博客主页:Duck Bro 博客主页系列专栏:Linux专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 使用Xshell远程连接云服务器 编号:03 文章目录 使用Xsh…

Windows中Redis安装配置

一,下载 Redis官网 Redis中文网 Redis的Github资源 安装 更改资源路径及添加环境变量 添加防火墙异常 设置最大缓存 三、验证redis安装是否成功 redis-cli

TiDB系列之:部署TiDB集群常见报错解决方法

TiDB系列之:部署TiDB集群常见报错解决方法 一、部署TiDB集群二、unsupported filesystem ext3三、soft limit of nofile四、THP is enabled五、numactl not usable六、net.ipv4.tcp_syncookies 1七、service irqbalance not found,八、登陆TiDB数据库 一、部署TiDB…

RTSP,RTP,RTCP

机器学习 Machine Learning(ML) 深度学习(DL,Deep Learning) CV计算机视觉(computer vision) FFMPEG,MPEG2-TS,H.264,H.265,AAC rstp,rtp,rtmp,webrtc onvif,gb28181 最详细的音…

Rust中的并发性:Sync 和 Send Traits

在并发的世界中,最常见的并发安全问题就是数据竞争,也就是两个线程同时对一个变量进行读写操作。但当你在 Safe Rust 中写出有数据竞争的代码时,编译器会直接拒绝编译。那么它是靠什么魔法做到的呢? 这就不得不谈 Send 和 Sync 这…

排序算法大总结

引言 排序算法(sorting algorithm)是用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理。 如图 1-1 所示,排序算法中的数据类型可以是整数、浮点数、字符或字符串等…