本章涵盖以下内容:
- 智能顾问系统的设计概念与体系架构
- 混合系统如何利用 KG 与 LLM 的互补优势
- 在智能顾问系统中结合 KG 与 LLM
本章将探讨智能与智能行为背后的基础概念。我们讨论的核心,是如何将知识图谱(KG)与大语言模型(LLM)结合起来,通过把已有知识与上下文,同推理能力和自然语言理解能力融合在一起,去解决高度复杂的问题,并构建智能系统。
若要对关键应用中智能系统的可信性与安全性做出有依据的判断,我们就必须理解这些系统在内部是如何运作的:既不能赋予它们并不具备的能力,也不能忽视它们真正拥有的能力。通过拆解这些系统的运行机制,我们才能更好地理解其局限,并充分发挥它们的潜力。
2.1 什么是智能?
什么是智能?智能,就是获取并应用知识的能力:从经验中学习、解决问题、与环境交互。这一由进化不断打磨出来的自然过程,使人类相较于其他物种拥有竞争优势。人类完成这些事情几乎是毫不费力且无意识的;但若要设计一个智能系统,并为其中每个要素设计出细致结构,我们就必须拆解这些过程,把各种任务和组成部分逐一分开来理解。
一个智能体的首要目标,是从世界中获取样本、证据与规则,将它们记住,并利用它们采取行动或做出决策。从外部看,智能系统像一个能够完成复杂任务的黑盒。要理解它,第一步就是按照主要功能把它拆成更简单、更小的组成部分。我们先把一个智能体分解为两个完成最关键活动的组件:
- 知识表示(Knowledge representation) ,是 AI 系统用来组织、编码和传达其所建模领域信息的“语言”。AI 系统需要借助它来推理或预测,而我们也依赖它来解释系统给出的结果。知识如何表示,会显著影响 AI 系统的能力边界与局限。
- 推理(Reasoning) ,是分析信息、应用规则,并基于证据或前提得出结论的认知过程。推理有多种类型,例如演绎推理与归纳推理,它们分别服务于不同的问题求解与决策任务。AI 系统,尤其是把 KG 与 LLM 结合起来的系统,正在越来越擅长模拟,甚至增强这种基础认知能力。
图 2.1 展示了一个通用智能系统的高层架构。这个图式是本章的心理模型。它强调:在一个智能体中,这两类组件都可能有多个实例;它们既可以串行交互,也可以并行交互;同一种知识表示既可以被多个推理引擎复用,也可以作为不同模型之间的通信模式。一个过程的输出可以成为另一个过程的输入,从而形成知识不断精炼的循环。
图 2.1 智能系统的高层图式。它由两类组件构成:知识库与推理引擎。每一类都可以根据系统任务拥有多个实例。
知识表示的表达力,往往与其可高效处理的能力之间存在权衡。有效的知识表示通常还依赖于具体领域与任务。知识表示与推理是彼此耦合、相互影响的。
我们的一个核心论点是:KG 是高效表示知识、生成新洞察,并为精确而有效的推理奠定基础的核心数据结构。当它与 LLM 结合使用时,就能够改进“数据源如何被转化为知识”的过程,并帮助系统更好地理解任务、向用户提供答案。
在本章中,我们将设计一个基础智能系统,使其能够做到以下几点:
- 收集并高效表示知识
- 利用这些知识自主推理
- 回答问题并支持有依据的决策
本章中讨论的许多概念同样适用于更广义的生成式 AI,但我们的重点放在 LLM 上。
2.2 设计一个智能系统
为了定义一个智能系统,我们将实现一个高层架构,并识别其中最关键的方面。为此,我们先看一个具体任务。假设你被要求创建一个自主式医疗诊断系统,用来支持医生选择一系列行动(例如问诊、医学检查、治疗方案),以诊断疾病并治疗患者。我们将借助这个复杂场景,去理解我们要构建的系统类型及其结构。这样的系统,需要把通用性的全局知识与上下文化信息结合起来,并提供更准确、更具体的回答。
为了真正释放机器学习(ML)的力量,我们需要构建一个由算法和工具构成的系统:其中一个算法的输出,常常会成为另一个算法的输入,或者两个算法的输出会被组合在一起。我们将考察包含 KG 与 LLM 的方法,如何帮助实践者构建更高效、可解释且更有效的系统。
2.2.1 什么是智能系统?
我们更倾向于采用 Geoff Hulten [1] 对智能系统的定义:
定义
智能系统将用户与 AI、ML 连接起来,以实现有意义的目标。一个智能系统,是指其中的智能会随着时间不断演进和改进,尤其是在它能够通过观察用户如何与系统交互而变得更好时。
这个定义强调了用户的核心地位。智能系统的首要目标,是支持用户完成复杂任务——不是取代用户,而是增强他们的决策能力。比如,一个自主式医疗诊断系统的目标,是帮助医生做出更有依据的决策,而不是替代医生的专业能力。这一点与另一类智能系统形成对比,例如自动驾驶汽车,其目标是让机器在不依赖用户的情况下独立运作。
一个智能系统还必须具备从用户交互与显式反馈中学习的能力,并且能够利用上下文信息。系统应持续构建、使用并维护一个不断演化的知识库。这种演化不仅受数据源驱动,也由与用户的持续交互共同推动。图 2.2 给出了一个智能系统(此时先把它看作黑盒)的高层概览,以及它与用户和其他系统之间的交互方式。
图 2.2 一个智能系统及其与其他要素的交互。它通过观察环境和摄取现有数据源来获取知识。内部过程会把结果提供给终端用户。
2.2.2 智能系统的类别
“支持用户”与“代表用户行动”之间的区别,定义了智能系统的两大主要类别:智能自主系统(intelligent autonomous systems) 与 智能顾问系统(intelligent advisory systems, IASs) [2]。在智能自主系统中,机器会独立执行任务,实质上代替用户完成决策与执行。自主系统的关键特征包括:
- 全自动化——系统无需人工输入(或只需极少输入),基于其程序逻辑和感知数据自行做出全部决策。
- 实时决策——系统必须实时分析数据并做出判断。
- 适应性——自主系统通常必须适应变化中的环境以及意外情况。
与之相对,智能顾问系统的角色是提供信息与建议。顾问系统的关键特征包括:
- 决策支持——系统提供洞察、建议与推荐,帮助用户做出有依据的选择,但它不会自行执行动作。
- 上下文感知——系统利用用户偏好或具体场景等上下文信息,使建议更符合当前情境。
- 用户交互——这类系统被设计为易于交互,使用户能够探索不同选项、提出问题,并获得有助于决策的详细解释。
图 2.3 展示了这两类智能系统之间的差异。
图 2.3 (a)智能自主系统与(b)智能顾问系统之间的差异。前者代表用户行动,后者只提供建议。无论哪一种,智能系统的目标都是支持或帮助终端用户,而不是替代用户。
我们主要聚焦于 IAS,因为它的特征与前文所讨论的 KG 优势高度契合:更强的决策支持、更深的上下文感知,以及更好的交互式用户体验。IAS 能让我们更充分地发挥 KG 的能力,为用户提供更强大、更有效的决策支持工具。IAS 的应用案例遍布多个领域:
- 在执法领域,预测性警务系统分析犯罪数据,以识别潜在热点区域,或预测哪些地方更可能发生犯罪。
- 在金融服务领域,IAS 可以分析交易模式,标记那些可能意味着欺诈的可疑活动。
- 在生物医学场景中,这类系统可以给出潜在诊断列表,并基于现有数据推荐治疗方案。
需要强调的是:在所有这些场景里,尽管系统提供了有价值的洞察,但最终决定采取什么行动的,仍然是使用系统的人。
2.2.3 智能系统的特征
一个智能系统必须具备四个关键特征,而这些特征应当驱动其设计与实现:
- 有意义的目标(A meaningful objective) ——系统必须服务于一个明确、可实现且对终端用户有意义的目标。这个目标必须驱动整个开发过程。
- 智能体验(The intelligent experience) ——系统必须以能够实现预期结果的方式,把智能输出呈现给用户。这要求界面能够根据预测结果进行适配:当智能判断正确时,最大化其价值;当判断错误时,把代价降到最低。界面还必须支持隐式与显式用户反馈。
- 知识创建与更新(Knowledge creation and update) ——智能行为要求系统能够持续构建、维护并利用知识进行推理。将 LLM 与 KG 结合起来,可以更妥善地处理不断演化的知识与用户反馈。
- 编排(Orchestration) ——智能系统通常由多个协同工作的算法与工具组成,一个算法的输出会成为另一个算法的输入。这包括如何从外部获取知识、如何控制风险,以及如何在整个生命周期中保持质量。
继续推进我们的设计过程,还需要考虑那些驱动架构决策的关键方面:
- 聚焦于自主式顾问系统。我们的智能系统应当提出行动建议,而不是替用户执行行动。
- 使用已有知识库。这包括研究论文、现有本体以及结构化数据源,而不是泛泛的通用知识。系统不应给出泛化答案,而应基于经过专家提炼的领域理解来作答。
- 从经验中学习。系统应利用被建议行动的结果反馈,来扩展其知识库。
到这里,我们已经具备了设计智能系统的全部要素,如图 2.4 所示。接下来的两节将聚焦于智能系统中的两个核心过程:
- 知识获取(Knowledge acquisition) ——从数据源、环境或领域专家处收集信息
- 推理(Reasoning) ——把所获取的知识转化为可执行的专业能力
通过这两个过程,我们将说明智能系统的各组成部分如何相互作用,并比较 KG 与 LLM 在存储、处理和使用数据方面的不同方式。
图 2.4 扩展后的智能系统模型。重点放在核心组件(知识库与推理引擎)和核心过程(知识获取与推理)上。
2.3 知识获取与表示
知识获取使 IAS 能够从其部署领域内已有的数据、用户反馈以及环境中“学习”。这个过程会把原始数据转化为适合系统需求的结构化知识表示,并在推理阶段使用。最终结果会存储在一个或多个知识库中。知识如何被获取、表示和存储,取决于底层推理机制——而这正是 LLM 与 KG 分化最明显的地方。图 2.5 展示了本节所覆盖的心理模型组件。
图 2.5 在本节中,我们聚焦于心理模型中的知识获取部分。它使智能系统能够获得数据并将其转化为知识。
对于 KG 来说,知识获取通常意味着:把原始的结构化或半结构化数据转换为图格式,其中实体表示为节点,而实体之间的关系则表示为边。由本体或模式定义的领域结构与语义,在这一转换过程中起到关键引导作用。这个过程往往需要领域专家参与,以更好地理解数据语义以及实体之间的内在关系。要把异构数据源转换为统一、显式的图模式,通常需要非常细致的工作,以确保最终构建出的 KG 能准确反映其所代表的领域。但这种前期投入会以更强的灵活性作为回报。
相比之下,LLM 获取知识的方式,是摄取海量非结构化文本数据,并在训练过程中将这些信息编码进稠密的高维向量空间中。与 KG 不同,LLM 不需要大量前置数据准备(尤其考虑到训练数据规模极其庞大),整个过程大体是无监督的;主要工作在于选择数据源并完成数据清洗。信息被编码为统计模式,而非由模式定义的显式关系。这种隐式方式使 LLM 能够掌握微妙语境与复杂语言关系,但也导致知识本身变得不透明,难以检查,更难修改。
图 2.6 和图 2.7 分别展示了 KG 与 LLM 的知识获取过程。二者在模型复杂度以及领域专家所扮演的角色上都存在显著差异。
图 2.6 KG 的知识获取:把现有数据转化为一种显式知识表示,由结构化的实体、关系与属性构成。这个过程需要领域专家参与,以识别相关数据源、支持数据模型设计,并评估结果。
图 2.7 LLM 的知识获取:把文本数据转化为一种隐式知识表示,由统计参数承载。领域专家主要参与数据源选择与结果评估。
当我们设计同时使用这两种技术的系统时,必须考虑几个关键差异:
- 访问方式(Access) ——LLM 通过数十亿参数在连续向量空间中以隐式方式存储知识,因此这种知识对人类来说是不透明且不可直接访问的。KG 则通过节点、关系和属性进行显式知识表示,可被人类和机器直接解释。
- 更新方式(Updates) ——更新 KG 通常意味着增加、删除或修改节点与关系。而更新 LLM 则复杂得多,往往需要重新训练或微调模型。
- 能力特征(Capabilities) ——LLM 天然擅长理解与生成人类语言。KG 的能力则高度依赖于开发者如何设计其访问模式与领域模式。
尽管这两种知识获取与表示方式各自都有明显优点和局限,但这些差异本身也构成了互补关系。采用一种混合式方法来构建智能系统,就能够同时克服二者的局限,并通过覆盖更广泛任务而相互赋能。这个新范式拥抱了更广阔的计算任务范围,并使用多样化的知识表示形式——从结构化数据模型到数值参数。于是,在这个范式中,推理不再局限于形式化推断机制,而是同时包括概率性的、上下文化的、基于模式的计算,这正是 LLM 擅长的部分。这种转变使 AI 系统既能利用显式、结构化知识进行推理(如传统专家系统),也能同时利用从语言与经验中获得的非结构化、模糊且上下文化的知识。
2.4 推理
在 IAS 中,推理引擎负责给出洞察与建议。用户通过提出请求来提供输入,而这个请求中通常包含目标以及所需的补充信息。图 2.8 展示了我们心理模型中的推理组件。
图 2.8 推理利用知识库来完成智能系统为终端用户设计的任务。
这里有几个重要的开放性问题需要考虑:
- 我们如何处理不确定性? 并非我们掌握的所有信息都是真实、准确或毫无歧义的。推理的准确性取决于初始陈述的确定程度。
- 我们如何推导出所需知识? 在某些情况下,我们可以从已有数据中推出新的信息。
- 我们如何从已观察到的内容中抽象出对领域更广泛的理解?
我们用 Alessandro Negro 的书 Graph-Powered Machine Learning [3] 中的一个例子来说明学习过程。假设我们要实现一个电子邮件垃圾过滤器。一个纯编程式解决方案是:写一个程序,把用户手动标记为垃圾邮件的所有邮件都记住,并把结果存入知识库。当新邮件到来时,这个伪智能体就在知识库中查找是否存在匹配。如果找到匹配,新邮件就被重定向到垃圾邮件文件夹;否则,它会原样通过过滤器。这种方法在某些场景下是可行的,也确实有用。但它并不构成真正的学习过程,因为它缺乏泛化能力,无法把单个样本抽象为更广义的模型。在这个具体例子里,所谓泛化,就是指:即便新邮件与之前被标记的邮件并不完全相同,系统仍然有能力判断它是不是垃圾邮件。这个过程也被称为归纳推理(inductive reasoning)或归纳推断(inductive inference) 。
演绎推理与归纳推理
演绎推理(deductive reasoning) 是最基本的一类推理形式。它从一个一般性陈述或假设出发,通过考察其逻辑后果,得出一个特定且逻辑上必然成立的结论。例如:
“所有人都会死。Alessandro 是人。因此,Alessandro 会死。”
在演绎推理中,前提必须正确。这里,“所有人都会死”和“Alessandro 是人”都被假定为真,因此结论既逻辑成立,也必然为真。
归纳推理(inductive reasoning) 则是从具体观察中做出广泛概括。它从包含现实样本的数据出发,再得出结论。例如:
“我从袋子里拿出的第一枚硬币是一分硬币,第二枚和第三枚也是一分硬币,因此袋子里所有硬币都是一分硬币。”
需要注意的是,即便前提都为真,归纳推理也可能得出错误结论。比如:
“Harold 是祖父。Harold 是秃头。因此,所有祖父都是秃头。”
在这个例子里,结论显然不能从前提中逻辑推出。
因为 ChatGPT 以及类似工具能够模仿人类对话,人们往往会以为它们拥有很强的推理能力。我们来看一个简短例子。我们使用了 Claude.ai(claude.ai)来验证这一假设。它是目前由 LLM 驱动的“推理”工具中表现最好的一类代表。
注意
我们测试的 Claude.ai 版本是 3.5 Sonnet。考虑到这一领域迭代速度极快,我们几乎可以确定,到本书正式印刷时,再次运行同样实验将会得到不同结果。
我们使用了如下提示词。
清单 2.1 用于测试推理能力的提示词
一个农夫站在河边,身边带着一只羊。有一条船,船上只能容纳一个人和一只动物。农夫如何才能用最少的往返次数,把自己和羊一起运到河对岸?
我们之所以选择这个例子,是因为它是一个著名问题的简化版(原题除了农夫和羊,还有狼和一棵生菜),而我们几乎可以确定,用于训练 LLM 的数据中包含了许多类似样本。因此,我们预期这个概率式推理引擎会倾向于往“完整版问题”的方向去,而不是“真正理解”我们所问的内容。结果证明了这一点。图 2.9 是 Claude.ai 的结果截图。
图 2.9 用清单 2.1 中的提示词询问 Claude.ai 后得到的结果
这个回答存在明显推理问题:农夫在没有羊的情况下来回折返是没有意义的。实际上,问题在第 1 步之后就已经解决了。但由于这个问题的表述与 Claude.ai 训练语料中的经典问题非常相似(只是并不完全相同),所以它给出的解决方案只是“在概率上最接近”的答案。
这个例子说明了 LLM 在某些推理任务上的局限。Wu 等人 [4] 测试了 11 类不同任务,从编码、绘图到逻辑、空间、国际象棋与算术。他们发现,当任务偏离默认或经典范式时——就像“农夫和羊”而不是“农夫、狼、羊和生菜”——模型的表现会显著且持续地下滑。虽然当前 LLM 具备一定程度的抽象任务求解能力,但它们往往依赖的是狭窄且不可迁移的程序性模式。
因此,正如我们前面所说,KG 与 LLM 可以分别构成不同类型推理的基础,并在智能系统中形成互补。对于那些要求精确、基于规则的推理以及显式知识表示的任务,我们可以使用 KG;而对于模式识别、上下文理解、处理模糊或不完整信息,以及围绕图结构及其衍生指标进行推理的任务,LLM 更有优势。然而,这两种方法都不具备真正接近人类的常识推理能力,它们往往无法做出人类认为理所当然的直觉跳跃,也难以理解那些对人类来说显而易见的隐式上下文。这些局限说明:在设计智能系统时,必须非常谨慎地理解每种方法的优势与弱点,并在必要时构建一个强有力的混合式 IAS。
2.5 推理引擎
现在,让我们扩展我们的框架,进一步考察知识库与推理引擎如何在智能系统开发中相互作用(见图 2.10)。图中的推理引擎是一个通用化表示:它既可以只使用某一种推理形式——例如演绎、归纳或其他——也可以组合多种推理策略。需要特别强调的是,这个引擎不仅会从知识库中读取信息,也会把结果写回知识库。引擎生成的动作(或建议)会影响环境,而环境又会产生新的观测。这些新观测再被推理引擎处理,以形成新知识,并驱动后续行动或建议。这个反馈回路构成了一个迭代过程,使系统能够持续提升其对环境变化做出反应的能力。
图 2.10 多个推理引擎——每个都可能采用不同类型的推理策略——共同参与完成实现智能系统所需的任务。
2.5.1 纯演绎推理引擎的局限
我们来看一个在自动化医疗诊断场景中使用演绎推理的例子。设想一位病人来到一位“虚拟医生”面前——也就是我们的智能系统。系统必须提出一系列行动(如医学检查、治疗、进一步问询),以帮助诊断疾病并建议治疗路径。
这个行动序列,是利用知识库计算出来的。知识库中包含关于潜在行动的成本与结果、疾病与症状之间的概率关系,以及病人的偏好等信息。只要知识库已经编码了全部必要信息,演绎推理器就可以通过逻辑方式推出最优行动。在这种理想化场景中,演绎推理器甚至可能优于其他推理方式。
然而,演绎推理的一个重大局限在于:它要求知识库高度完整且准确,而这在现实中几乎从不成立。图 2.11 中,知识库是通过把数据源转化为逻辑陈述而构建出来的,而这些逻辑陈述用来指导决策。
图 2.11 演绎推理器。知识库通过对数据源进行转换而创建。演绎推理器把逻辑陈述应用到知识库的不同片段上,以采取行动或给出建议。
2.5.2 使用归纳推理与机器学习
由机器学习驱动的归纳推理,可以弥补纯演绎推理的一些局限。归纳推理主要从两个方面增强系统:
- 通过学习并构建相关本体与关系,ML 可以扩展知识库,使其能够处理更广泛的情形。
- 通过在不确定条件下进行推断,ML 允许系统在信息不完整时依然能够泛化并做出预测。
图 2.12 展示了归纳推理器的工作方式。第一步,是把原始数据转化为结构化格式,这通常需要借助 ML 算法。例如,由 LLM 驱动的自然语言处理(NLP)可以把非结构化文本转化为结构化数据,并纳入知识库。这一步能够帮助构建或扩展 KG。第二步,则是利用这些知识,通过归纳推理从已有观察中抽象模式,进而做出预测或生成行动建议。
图 2.12 一个归纳推理器。构建知识库需要更多工作,它不是一次简单转换。这个推理引擎能够从知识库中抽象规律,并在一定程度的不确定性下工作。
在传统 ML 方法中,这一过程通常要求人工从知识库中挑选特征,再据此训练预测模型。这在复杂领域中往往既繁琐,又有时根本不可行。
2.5.3 LLM 在推理引擎中的作用
与那些依赖完整知识库和显式规则的纯演绎系统不同,LLM 可以利用其概率性推理能力,在关键信息缺失时依然生成符合上下文的建议。设想一个医疗场景:病人表现出一些非特异性症状,这些症状既可能只是压力反应,也可能意味着严重的神经系统疾病。传统演绎推理面对这种模糊情境时会非常吃力,尤其在病人病历不完整的情况下更是如此。而 LLM 则可以利用它从海量医学文献中学到的模式,同时评估多个诊断可能性。LLM 的优势,在于它能够在不确定性下进行概率性推理。它会根据手头现有数据衡量不同病症的可能性,并不是只给出一个“唯一正确答案”,而是提出一个按优先级排序的诊断路径。
这种概率性推理能力,使 LLM 能够弥补那些会让纯演绎推理直接停滞的知识缺口。当它与基于 KG 的推理引擎结合时,LLM 可以作为一个推理层:它负责解释模糊输入,并给出细腻的建议,这些建议会把复杂决策场景中天然存在的不确定性纳入考虑。这种混合式方法,使 IAS 能够在现实世界中有效工作——而现实世界中的信息,往往本来就是不完整且不确定的。
2.6 IAS 中的 KG 方法
KG 在 IAS 的开发中处于什么位置?简短回答是:无处不在。近年来,无论学术界还是工业界,都广泛使用 KG 作为结构化人类知识的一种形式 [5–8]。在这种基于图的表示之上,人们还设计了多种推理与分析算法,用于从 KG 中导出洞察。
利用图来支持决策过程,这个想法并不新。Stokman 和 de Vries [9] 早就预见到:借助知识型系统,可以构建出面向专业用户、且只覆盖有限专业领域的顾问型程序。在这个背景下,他们提出:“以图的方式组织知识,可以被看作是在构建一个知识型系统,用以整合来自不同来源的知识” [9]。
近年来,KG 已成为把分布式数据源合并成单一、连通的可信源(source of truth)的标准方法 [10]。而随着生成式 AI 与 LLM 的兴起,KG 还能够缓解幻觉、提供最新数据,并带来其他多种益处 [11]。
但如果只是把 KG 看成“知识聚合器”,那就忽略了引入它的真正目的:构建智能系统。我们把这种做法视为一种自底向上的 KG 构建方式。它从不同数据源中的数据出发,把这些数据整合成一个统一可信源,然后才开始探索其中的价值。它期待数据自己“讲出一个故事”,却并没有先明确终端用户真正要解决什么问题。图 2.13 总结了这一思路。
图 2.13 一种自底向上的 KG 构建方法。它首先导入所有数据,而不是先考虑我们希望实现哪些功能性任务。
根据我们的经验,这种自底向上的方法,往往正是 KG 项目失败的原因。数据源太多,结构各不相同,标识体系也彼此不一致;为了把它们统一归一到同一个同质结构中,需要投入大量精力。更重要的是,其中相当多内容是任务特定的,对全局性思考并无帮助。
而要开发智能 Agent,我们必须以一种真正有效的方式来表示知识(在这里即使用 KG),并且这种表示必须能够捕捉和处理 Agent 所处领域的内在复杂性。这样的做法应当由业务目标来驱动,而不是由“当前有什么数据”来驱动。借助已经成熟的 ML 项目方法论 CRISP-DM [12],我们可以把一种目标驱动(purpose-driven) 的方法引入 KG 构建。图 2.14 展示了 KG 在这一过程中如何作为智能系统的中心知识表示。
图 2.14 重访 CRISP-DM,并将其应用于 KG 平台。KG 被用作智能系统知识库的模型,是重构后的 CRISP-DM 流程中心。
这种方法强调:一切都必须从业务理解(business understanding) 开始。业务目标驱动我们去理解数据,使我们可以把注意力集中在真正需要的那部分数据上,而不是盲目导入所有数据源。这种聚焦反过来决定了 KG 的内容与结构该如何定义。在这个语境中,KG 表示的是一个自足的、领域特定的、可定制的可信源:它复制并转换那些我们真正需要的数据。在知识获取阶段,LLM 则从非结构化数据中抽取相关实体与关系,并提供通用理解能力,例如情感分析或主题识别。
在建模阶段,我们会使用并测试一个或多个算法,以实现特定目标;在随后的阶段,再对结果进行评估。LLM 还可以参与在 KG 之上的推理过程,用来理解用户问题并以自然语言给出回答。这两个阶段的输出,包括一组算法、一组训练好或预训练好的模型,以及一份描述测试过程与模型整体质量的报告。
如果一切进展顺利,我们就会把图模式与模型、数据摄取与后处理流水线、算法以及预测模型整合进一个产品中,然后部署上线。随后新一轮迭代开始——不过这一次,我们不再是从一个空白 KG 起步。
定义
预测模型(predictive model)是一种用于估计未知目标值的公式。它以一种高效形式承载了在训练数据集上完成学习过程后的结果,而我们会通过访问它来执行真正的预测。
在第二轮迭代中,我们采取的是“差分与扩展”的方式开展工作,同时确保上一轮结果不受影响。图数据库的**无模式(schemaless)**特性,使得我们能够通过增加新的节点类型与关系类型来实现扩展,而无需破坏已有数据与既有功能。
定义
Schemaless(无模式)指的是:在数据库或一般数据结构中存储数据时,对数据项的格式及其相互关系施加较少甚至不施加约束。图数据库通常被认为是 schemaless,因为其中的元素(节点与关系)及其属性几乎可以存储任何内容。
在本书中,我们会频繁使用模式(schemas)来驱动不同场景与用例之间的过程。这些模式会被反复复用,而每一阶段也会被单独拿出来,作为说明这一流程在实践中如何工作的具体示例。
小结
- 智能的本质在于获取并应用知识,因此知识表示与推理构成了智能系统架构中的核心组件。
- 智能系统通常可分为两类:一类是能够独立行动的自主系统,另一类是支持人类决策的顾问系统。
- KG 与 LLM 在知识获取上方式不同:KG 使用显式、结构化表示,需要领域专家参与,但具备可解释性;LLM 则依赖隐式统计模式,具备语言理解能力,但缺乏透明性。
- 把 KG 与 LLM 结合的混合系统,能够利用它们的互补优势:KG 提供结构化推理与显式知识,LLM 擅长处理模糊性、上下文与自然语言理解。
- LLM 通过弥补知识缺口并提供上下文化解释来增强推理引擎,使智能系统在面对不完整或模糊信息时更具鲁棒性。
- 以业务目标为起点、目标驱动地开发 KG,比自底向上的数据整合策略更有效;后者往往是导致项目失败的常见原因。
如果你愿意,我下一步可以继续把这一章再做一版“出版级中文润色”,让表达更自然统一,同时保留原书的技术味道。