您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 数据库 > 正文

如何使用大型语言模型和知识图来管理企业数据?

发表于:2023-05-01 作者:布加迪 来源:51CTO技术栈

译者 | 布加迪

审校 | 重楼

近些年来,知识图已成为组织和访问医疗保健、工业、银行、保险到零售的不同行业中大量企业数据的一种重要工具。

知识图是一种基于图的数据库,它以一种结构化和语义丰富的格式表示知识。这可以通过从结构化或非结构化数据中提取实体和关系来生成,比如来自文档的文本。维护知识图中数据质量的一个关键要求是将其建立在标准本体的基础上。拥有标准化的本体常常需要将该本体整合到软件开发周期中的成本。

组织可以采用一种系统性的方法来生成知识图,方法是先摄取标准本体(比如保险风险),并使用GPT-3等大型语言模型(LLM)创建脚本以生成和填充图数据库。

第二步是使用LLM作为中间层,接受自然语言文本输入,并在图上创建查询以返回知识。可以根据用来存储图的平台定制创建和搜索查询,比如Neo4j、AWS Neptune或Azure Cosmos DB。

一、结合本体和自然语言技术

这里概述的方法结合了本体驱动的技术和自然语言驱动技术,以构建一个可以轻松查询和更新的知识图,无需进行大量的技术工作来构建定制软件。下面我们以一家保险公司为例,但是方法是通用的。

保险业面临许多挑战,包括需要以一种既高效又有效的方式管理大量数据。知识图提供了一种以结构化和语义丰富的格式组织和访问这些数据的方法。这可能包括节点、边和属性,其中节点表示实体,边表示实体之间的关系,属性表示实体和关系的属性。

保险业中使用知识图谱有几个好处。首先,它提供了一种组织和访问易于查询和更新的数据的方法。其次,它提供了一种以结构化和语义丰富的格式表示知识的方法,这使得它更容易分析和解读。最后,它提供了一种方法来集成来自不同数据源的数据,包括结构化数据和非结构化数据。

下面是分四个步骤的方法。不妨详细看看每个步骤。

二、方法

1.研究本体,识别实体和关系

生成知识图的第一步是研究相关的本体,并识别与该领域相关的实体和关系。本体是领域知识的正式表示,包括定义领域的概念、关系和约束。保险风险本体定义了与保险领域相关的概念和关系,比如保单、风险和保费。

本体可以使用各种技术加以研究,包括人工检查和自动化方法。人工检查包括阅读本体文档,并识别相关的实体和关系。自动化方法使用自然语言处理(NLP)技术从本体文档中提取实体和关系。

一旦识别了相关的实体和关系,就可以将它们组织到知识图的模式(schema)中。模式定义了图的结构,包括用于表示实体和关系的节点和边的类型。

2.为LLM构建文本提示,以生成本体的模式和数据库

生成知识图的第二步涉及为LLM构建文本提示,以生成本体的模式和数据库。文本提示是本体、所需模式和数据库结构的自然语言描述。它充当LLM的输入,LLM生成Cypher查询,用于创建和填充图数据库。

图片

文本提示描述的对象应该包括:本体、第一步中识别的实体和关系以及所需的模式和数据库结构。描述应该使用自然语言,并且易于被LLM理解。文本提示还应该包括模式和数据库的任何约束或要求,比如数据类型、唯一键和外来键。

比如说,保险风险本体的文本提示可能是这样的:

“为保险风险本体创建一个图数据库。每个保单都应该有一个唯一的ID,应该与一个或多个风险相关联。每个风险都应该有一个唯一的ID,并且应该与一种或多种保费相关联。每种保费都应该有一个唯一的ID,应该与一个或多个保单和风险相关联。数据库还应该包括确保数据完整性的约束,比如唯一键和外来键。”

文本提示准备好后,就可以将其用作LLM的输入,以生成Cypher查询,用于创建和填充图数据库。

3.创建查询以生成数据

生成知识图的第三步涉及创建Cypher查询,为图数据库生成数据。该查询是使用在第二步中创建的文本提示生成的,用于用相关数据创建和填充图数据库。

Cypher查询是一种声明性语言,用于创建和查询图数据库。它包括创建节点、边和它们之间关系的命令,以及查询图中数据的命令。

第二步中创建的文本提示符充当LLM的输入,LLM基于所需的模式和数据库结构生成Cypher查询。LLM使用NLP技术来理解文本提示并生成查询。

查询应该包括为本体中的每个实体创建节点的命令以及表示它们之间关系的边。比如说,在保险风险本体中,查询可能包括为保单、风险和保费创建节点的命令,以及表示它们之间关系的边。

查询还应该包括确保数据完整性的约束,比如唯一键和外来键。这将有助于确保图中的数据是一致而准确的。

一旦生成了查询,就可以执行它,用相关数据创建和填充图数据库。

三、摄取查询并创建知识图

生成知识图的最后一步是摄取Cypher查询,并创建图数据库。查询是使用第二步中创建的文本提示生成的,并被执行以便用相关数据创建并填充图数据库。

数据库随后可用于查询数据和提取知识。图数据库是使用Neo4j之类的图数据库管理系统(DBMS)创建的。第三步中生成的Cypher查询被摄入到DBMS中,DBMS在图数据库中创建节点和边。

一旦创建了数据库,就可以使用Cypher命令对其进行查询以提取知识。LLM还可以用作中间层,以获取自然语言文本输入,并在图上创建Cypher查询以返回知识。比如说,用户可以输入问题,比如“哪些保单有高风险评级?”,LLM就可以生成Cypher查询,从图中提取相关数据。

知识图还可以在新数据可用时进行更新。可以修改Cypher查询,以添加新的节点和边,更新后的查询可以被摄入到图数据库中以添加新数据。

四、这种方法的几个优点

1.标准化

摄取保险风险本体之类的标准本体,为在图中标准化知识表示提供了一个框架。这使得集成来自不同来源的数据更加容易,并确保图在语义上具有一致性。通过使用标准本体,组织可以确保知识图中的数据是一致的、标准化的。这样一来,就更容易集成来自多个来源的数据,并确保数据具有可比性、有意义。

2.效率

使用GPT-3生成Cypher查询来创建和填充图数据库是一种实现流程自动化的有效方法。这减少了构建图所需的时间和资源,并确保查询在语法上和语义上是正确的。

3.直观的查询

使用LLM作为中间层来获取自然语言文本输入,并在图上创建Cypher查询以返回知识,这使得查询图来得更直观、对用户更友好。这样用户就不大需要深入了解图结构和查询语言。

4.生产力

在过去,开发知识图需要开发定制软件,这项工作费时又费钱。有了这种方法,组织可以利用现有的本体和NLP工具来生成查询,减少了对开发定制软件的需求。

这种方法的另一个优点是能够在新数据可用时更新知识图。可以修改Cypher查询以加入新的节点和边,更新后的查询可以被摄入到图数据库中以添加新数据。这样一来,更容易维护知识图并确保它保持最新和相关。

原文链接:https://venturebeat.com/ai/how-to-use-large-language-models-and-knowledge-graphs-to-manage-enterprise-data/