KnowledgeGPT:利用检索和存储访问知识库上增强大型语言模型10.30

news2024/11/17 23:45:16

利用检索和存储访问知识库上增强大型语言模型

  • 摘要
  • 引言
  • 2 相关研究
  • 3方法
    • 3.1 任务定义
    • 3.2 知识检索
      • 3.2.1 代码实现
      • 3.2.2 实体链接
      • 3.2.3 获取实体信息
      • 3.2.4 查找实体或值
      • 3.2.5 查找关系
    • 3.3 知识存储
  • 4 实验

在这里插入图片描述

摘要

大型语言模型(LLM)在自然语言处理领域展现出了令人印象深刻的影响,但它们仍然在几个方面存在问题,例如完整性、及时性、忠实度和适应性。尽管最近的研究工作集中在将LLM与外部知识源进行连接,但知识库(KB)的整合仍然研究不足且面临多个挑战。
本文介绍了KnowledGPT,这是一个全面的框架,用于将LLM与各种知识库连接起来,促进知识的检索和存储。

检索过程采用了思维启发程序,它以代码格式生成用于KB的搜索语言,并具有预定义的KB操作功能。
除了检索,KnowledGPT还提供了将知识存储在个性化知识库中的能力,以满足个体用户的需求。

通过广泛的实验证明,通过将LLM与KB整合,KnowledGPT能够比纯粹的LLM更好地回答需要世界知识的更广泛的问题,利用广为人知的知识库中已有的知识以及提取到个性化知识库中的知识

引言

大型语言模型(LLMs)在各种自然语言处理(NLP)任务中取得了重大影响,如翻译,摘要和问答,同时还处理了来自现实世界用户的各种请求。它们卓越的能力源于不断增加的参数和训练数据,这使得它们具有庞大的知识和新兴能力,如思维链推理和上下文学习。然而,LLMs在处理事实知识方面仍然存在困难,包括完整性、及时性、忠实性和适应性等问题。

  1. LLMs在及时更新和领域专业知识方面存在局限性。
  2. 这些模型可能生成不忠实或“幻觉”知识,引发可靠性和伦理方面的担忧。
  3. 由于成本和可访问性等限制,LLMs几乎无法通过持续训练来纳入新知识,这妨碍了调整这些模型以适应特定知识需求的能力。

因此,这些知识需求鼓励对将LLMs与外部知识源进行整合的全面研究。

为解决这个问题,最近已经做出了一些努力,使LLMs能够访问插拔式知识源,如知识库(KBs),搜索引擎,文档记忆和数据库,以为LLMs提供世界知识,通常通过LLM生成的API调用。本文专注于知识库(KBs),这是一种特殊形式的知识源,具有以实体为中心的知识,如关系三元组和实体描述。

一方面,已经构建了各种知识库,以实现其在应用程序中的实际有效性以及其表示的简洁性、表达性、可解释性和可见性。另一方面,以前的方法主要集中在文档语料库上,但在应用于知识图谱时显示出一些缺陷,如图1所示(从文档语料库和知识库中检索结果的比较。在这种情况下,从语料库中检索的文档没有提供足够的知识来回答查询,而从知识库中可以检索到足够相关的知识)。
在这里插入图片描述
因此,将LLMs与知识库连接起来具有重要意义,但仍然未经充分探索。

最近,一些工作尝试将LLMs与知识库连接起来。Toolformer查询维基百科以获取感兴趣实体的描述信息以回答相关问题。Graph-Toolformer和ToolkenGPT使LLMs对知识图谱(如Freebase)进行推理。RET-LLM通过从过去的对话中提取的关系三元组构建个性化的知识图谱内存,供将来使用,与LangChain的KG Index和Llama Index的实际工作并行进行。
在这里插入图片描述
然而,在这个方向上仍然存在许多挑战,如图2所示。

  1. LLMs在复杂和各种问题中浏览知识库的过程仍然是一个问题,特别是对于需要跨多个和嵌套的KB条目获取信息的多跳问题而言。
  2. 在知识库中将实体和关系与文本提及对齐是一项具有挑战性的任务,因为它们需要映射到广泛的自然语言表达,并考虑到知识库中的严重歧义。
  3. 虽然基于三元组的知识图谱表示整洁且可解释,但与自然语言相比,它只涵盖有限的信息,这表明需要新的知识库表示形式来供LLMs使用。

在这篇论文中提出了一个全面的框架——KnowledGPT,有效地将LLMs与各种知识库连接起来,提高处理复杂问题、消歧和知识表示的能力。KnowledGPT实现了一个统一的访问接口,用于在不同的知识库上进行操作,包括广泛使用的公共知识库和个性化知识库存储。KnowledGPT访问以实体为导向的知识,包括实体描述和关系三元组。
对于给定的查询,KnowledGPT通过三个步骤进行知识库搜索:

  1. 搜索代码生成、
  2. 搜索执行
  3. 答案生成。

KnowledGPT采用了“思维程序”(PoT)提示的方式,通过生成委托搜索步骤并执行的Python代码与知识库交互。该代码封装了用于访问知识库的函数,例如实体链接。之后,KnowledGPT整合检索到的知识生成响应。如果KnowledGPT判断问题不需要来自知识库的知识,或者检索到的知识不足或不存在,问题将由LLM直接回答。此外,KnowledGPT还可以从以各种形式表示的非结构化文本中提取知识,以丰富个性化知识库。

总的来说,本文的贡献可以总结如下:

  1. 提出了KnowledGPT,一个全面的框架,使LLMs能够从知识库中检索知识。它在处理复杂搜索和消歧等重要实际挑战方面显著推进了LLMs和知识库之间的协作。
  2. 提出了使用个性化知识库作为LLMs的符号记忆,将以实体为导向的知识封装成三种形式的表示。与仅包含三元组的知识库相比,这扩大了符号记忆中的知识范围。
  3. 通过实验证明了我们提出的方法的有效性。结果突出了将知识库作为LLMs的符号记忆的实用性和潜力。

2 相关研究

LLMs的外部知识和记忆 大型语言模型(LLMs),如GPT-4和LLaMA,在各种应用中展示了令人印象深刻的性能。然而,它们在考虑完整性、及时性、真实性和适应性方面仍然存在困难。因此,最近的许多工作都致力于为LLMs提供外部知识。互联网增强语言模型,以及新的Bing和ChatGPT“Browse with Bing”插件,允许LLMs通过搜索引擎或网络浏览器访问最新信息。像REALM这样的检索增强方法,,RAG通过文档语料库增强LLMs,这也越来越多地被最近流行的LLMs(如ChatGPT)采用作为记忆单元。ChatDB通过数据库作为符号记忆来增强LLMs。

LLMs的知识库 一些最近的研究致力于通过外部KB增强LLMs的知识,或者将KB作为符号记忆使用,通常是通过让LLMs生成KB操作的API调用。Toolformer训练LLMs搜索维基百科中的实体文本。Graph-Toolformer使LLMs能够在知识图谱上进行推理。然而,它跳过了实体链接步骤,因此需要实体id(如/m/053yx)作为输入,而不是它们的名称。ToolkenGPT保持LLMs冻结,并为KB中的关系训练工具嵌入以支持关系查询。RETTLLM与LangChain和Llama-Index的KG记忆类似,从用户输入中提取关系三元组并将其存储在符号KG记忆中。与以前的工作相比,KnowledGPT支持各种知识表示以及公共和私有知识库,如表1所示。
在这里插入图片描述
基于知识的问答(KBQA) 是针对特定KG的自然语言查询搜索答案实体或关系。现有的KBQA系统主要基于语义解析或信息抽取,其中越来越多地涉及语言模型。语义解析方法利用语义解析器将自然语言查询转换为中间逻辑形式,如SPARQL和程序,然后在知识库上执行这些形式以获取答案。然而,生成的逻辑形式通常是不可执行的,因此无法得到正确的答案。Pangu训练了一个语言模型鉴别器来评估候选计划的概率。信息抽取方法通常结合检索和推理。这些方法在处理单跳检索方面表现出有效性。然而,它们在处理多跳检索时面临存储和计算成本的挑战,其中每个添加的跳数关系数量呈指数增长。

KnowledGPT与KBQA方法在两个方面不同。
1)许多KBQA方法是专为关于知识图谱中关系三元组的特定查询而设计的,而KnowledGPT通过从知识库中以各种形式增强LLMs来响应各种用户查询
2)KBQA方法通常在特定的数据集和知识图谱上进行训练,而KnowledGPT不需要训练,并且可以轻松适应不同的LLMs和知识库。

3方法

本节介绍了KnowledGPT,这是一个将LLMs与知识库集成的综合框架。首先给出了KnowledGPT的两个任务的定义,即知识检索和知识存储(第3.1节)。然后,详细介绍了KnowledGPT的检索过程(第3.2节)和存储过程(第3.3节)的细节。

3.1 任务定义

KnowledGPT通过各种知识库(包括个性化知识库作为可写入的符号记忆)为LLMs提供外部知识。给定一个自然语言的用户输入,KnowledGPT承担两个主要任务,即知识检索和知识存储。在知识检索任务中,模型通过提供的知识库搜索相关知识来回答用户查询。在知识存储任务中,模型从用户输入中提取知识并将其插入个性化知识库。

3.2 知识检索

KnowledGPT采用了一个三步骤的过程来利用知识库中的知识回答用户查询,如图3所示。首先,它生成一段查询特定知识库访问的搜索代码作为逻辑形式。然后,执行搜索代码以检索相关知识。最后,KnowledGPT读取检索到的知识并回答查询。
在这里插入图片描述
采用了思维程序(PoT)提示方法,它使用由LLMs生成的Python代码作为搜索语言。在本文中,使用GPT-4作为LLMs。代码被封装在一个搜索函数中,如图3中的黄色部分所示,其中包括内置的Python函数和三个自定义的KB函数,用于促进LLMs与知识库的交互:

  1. get_entity_info:接受一个实体作为输入,并返回其百科描述。
  2. find_entity_or_value:接受一个由实体和关系组成的查询作为输入,并输出相应实体或值的列表。
  3. find_relationship:接受两个实体作为输入,并返回它们之间的关系列表。

特别地,每个实体或关系都表示为候选别名的列表,而不是单个名称,以有效处理同义词。除了上述输出之外,这些KB函数还返回一个记录函数调用和结果的消息。然后,搜索函数的整体输出是通过连接各个KB函数调用的消息获得的。在第7节中显示了提示信息。

然后,执行搜索函数以从知识库中检索所需的知识。在执行之前,代码可能会进行装饰,例如添加try-except语句和特定于知识库的访问器对象,这在第3.2.1节中详细说明。分别为每个知识库执行搜索函数,并将它们的结果连接起来。

最后,将检索到的知识提供给LLMs,并要求LLMs根据检索到的知识回答用户的查询。在LLMs判断问题不需要外部知识或检索到的知识不足以回答查询的情况下,LLMs将忽略检索到的信息并独立回答用户查询。

3.2.1 代码实现

接下来,介绍执行生成代码的KB函数的实现。在两个级别上实现这些函数:统一级别和KB特定级别。

统一级别的函数提供了对不同KB的操作的统一接口。这些函数包括LLMs直接生成的三个KB函数(get_entity_info、find_entity_or_value、find_relationship),以及一个entity_linking函数,用于将LLMs生成的实体别名与KB中的实体对齐。

在KB特定级别上的函数通过调用相应的API对每个特定的KB执行操作。基本上,只需要为每个KB实现三个函数:_get_entity_info、_entity_linking和_get_entity_triples。在本文中,用下划线在这些函数前面表示。

在执行之前,对生成的代码进行装饰。用try-except语句包装代码,这样如果代码在后续步骤中出现故障,搜索函数仍然可以返回成功步骤中的有价值的结果。此外,将用户查询作为全局变量传递给搜索函数。

3.2.2 实体链接

实体链接是将自然语言中的实体提及与知识库中的实体对齐的重要步骤,对于将 LLMs 与知识库集成起来是必不可少的。这是至关重要的,因为一个实体可能会被不同的提及方式所引用(例如,Donald Trump 和 President Trump),而一个名词短语也可以指代不同的实体(例如,the fruit apple 和 the tech company Apple)。
在这里插入图片描述
entity_linking函数包括三个步骤,如图4所示。
首先,调用KB特定的_entity_linking函数来获取候选实体。它基本上以查询和实体别名作为输入,并利用对应KB提供的实体链接API(同时包含实体名称和上下文)和搜索API(仅包含实体名称)来进行操作。
其次,调用_get_entity_info函数(在第3.2.3节中介绍)来收集候选实体的信息。每个实体信息将被截断为最大长度。
最后,向LLMs提供函数输入(包括查询、实体和关系的别名)以及候选实体及其信息,并让LLMs确定最合适的实体。

3.2.3 获取实体信息

get_entity_info函数用于检索特定实体的信息。它首先使用entity_linking函数将实体别名链接到KB中的实体。随后,它调用KB特定的_get_entity_info函数,该函数返回KB中给定实体的信息,包括实体描述和三元组信息。调用_get_entity_triples函数来收集它的三元组信息。KB特定的_get_entity_info函数嵌套在entity_linking函数中,使其成为统一级别所有KB函数的一个组成部分。

3.2.4 查找实体或值

在这里插入图片描述
给定一个由实体和关系组成的查询,find_entity_or_value函数旨在检索相应的实体或属性值。该函数经历了几个步骤,如算法1所示。它首先调用entity_linking函数将实体别名与KB中的相应实体关联起来。然后,它调用内部的_find_entity_or_value函数,其中包括一个KB特定的_get_entity_triples函数,用于检索与实体相关的所有三元组。随后,根据它们与输入关系别名的相似性对这些三元组中的关系进行排序。在这里,我们使用句子嵌入的余弦相似度来衡量相似性,而不是使用符号度量,这考虑了关系的同义词。然后,我们选择具有最高相似度分数的关系,并从所有相应的三元组中返回实体或属性值。为了提高我们方法的鲁棒性,如果找不到三元组,我们将在实体描述中进一步搜索关系。如果描述中存在该关系,我们返回相应的句子。否则,我们返回整个描述,该描述可能仍然提供LLMs所需的相关细节。

3.2.5 查找关系

给定一个由两个实体组成的查询,find_relationship函数旨在检索它们之间的关系。这个函数类似于find_entity_or_value。不同之处在于,在检索第一个实体的三元组或实体信息后,find_relationship函数继续搜索第二个实体,而不是关系。如果这次初始搜索失败,函数会交换第一个实体和第二个实体,并再次进行搜索。与关系相似度不同,我们通过Levenshitein距离d来衡量实体的相似性。如果两个实体名称有单词重叠,实体相似性计算为100 - d,否则为0。

3.3 知识存储

虽然公共知识库提供了丰富的世界知识,但仍无法涵盖用户感兴趣的所有知识。为了满足用户的个人知识需求,KnowledGPT引入了个性化知识库 (PKB),作为LLMs的符号记忆,使用户能够存储和访问专业知识。PKB中的知识是从用户提供的文档中提取的。当用户想要将知识添加到PKB中时,我们提示LLMs从提供的文档中提取知识,提示如Sec A所示。

考虑三种形式的知识表示,包括实体描述、关系三元组和实体-方面信息,如图2所示。这与RET-LLM 、LangChain的KG-Index 和Llama Index中仅提取三元组的方法不同。实体描述和关系三元组在维基百科和维基数据等知识库中得到了广泛采用,但它们只代表了知识的一小部分。例如,当想要了解苏格拉底作为一名士兵的经历时,苏格拉底的维基百科页面上的大部分内容几乎没有帮助,也几乎无法表示为三元组。因此,提出了额外的知识表示方法,称为实体-方面信息,用于LLMs的符号记忆。它是三元组的变体,其中对象是一段长文本,描述了一个实体和一个方面,可以通过实体和方面进行检索。例如,一个记录可能以(“苏格拉底”,“军事服务”)索引,并对应于描述"苏格拉底曾担任希腊重装步兵…"。以这种形式表示的知识也可以通过 get_entity_or_value 函数进行检索。

考虑到PKB与公共知识库相比规模较小,采用了不同的实体链接策略。主要有三个差异。
1)基于精确匹配和嵌入相似度定义了PKB的实体搜索API。嵌入相似度有助于识别广为人知的实体别名,例如Chanelle Scott Calica和Shystie。
2)在提取过程中,提取的实体提及不会与PKB中的实体对齐。因此,一个实体可能在不同的文档中被提取为不同的提及。因此,对于实体链接,KnowledGPT返回多个匹配的实体。
3)一个实体将被提取为一个别名列表,该列表将提供给LLMs进行实体链接。

对于 get_entity_or_value 函数,由于一个关系也可以被提取为不同的表达方式,选择检索相似度得分高于阈值的关系,而不是选择得分最高的关系。

4 实验

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot 集成 Camunda

SpringBoot 集成 Camunda 1 pom.xml2 application.yml3 SQL4 启动5 进入流程页面 1 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XML…

nodejskoaMySQL 蒲公英旅游系统15565-计算机毕业设计项目选题推荐(附源码)

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。蒲公英旅游系统设计&#xff0c;主要的模块包括查看后台首页、轮播图&#xff08;轮播图管理&#xff09;、公告管理&#xff08;公告&#xff…

循环神经网络(RNN)与长短期记忆网络(LSTM)

前言&#xff1a; 通过前面的学习&#xff0c;我们以BP神经网络为基础&#xff0c;认识到了损失函数&#xff0c;激活函数&#xff0c;以及梯度下降法的原理&#xff1b;而后学习了卷积神经网络&#xff0c;知道图像识别是如何实现的。今天这篇文章&#xff0c;讲述的就是计算机…

X3DAudio1_7.dll是什么,解决计算机找不到X3DAudio1_7.dll文件的方法

作为一位程序员&#xff0c;我深知x3daudio1_7.dll丢失对电脑用户的影响。这个文件是DirectX的一个组件&#xff0c;它负责处理音频输出和输入。当这个文件丢失时&#xff0c;可能会导致电脑无法正常播放音频&#xff0c;甚至出现蓝屏等问题。那么&#xff0c;面对这个问题&…

xhadmin多应用SaaS框架的怎么进入后台?

xhadmin是什么&#xff1f; xhadmin 是一套基于最新技术的研发的多应用 Saas 框架&#xff0c;支持在线升级和安装模块及模板&#xff0c;拥有良好的开发框架、成熟稳定的技术解决方案、提供丰富的扩展功能。为开发者赋能&#xff0c;助力企业发展、国家富强&#xff0c;致力于…

Jetpack:025-Jetpack中的多点触控事件

文章目录 1. 概念介绍2. 使用方法2.1 缩放事件2.2 旋转事件2.3 平移事件2.4 综合事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中滚动事件相关的内容&#xff0c;本章回中主要介绍 多点解控事件。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xf…

国际阿里云CDN加速OSS资源教程!

当您需要加速OSS上的静态资源时&#xff0c;可以通过阿里云CDN加速OSS域名&#xff0c;实现静态资源的访问加速。本文详细介绍了通过CDN控制台实现OSS加速的操作流程和应用场景。 客户价值 阿里云OSS可提供低成本的存储&#xff0c;CDN可以实现静态资源加速分发。使用OSS作为C…

浮点数和定点数(上):怎么用有限的Bit表示尽可能多的信息?

目录 背景 浮点数的不精确性 定点数的表示 浮点数的表示 小结 背景 在我们日常的程序开发中&#xff0c;不只会用到整数。更多情况下&#xff0c;我们用到的都是实数。比如&#xff0c;我们开发一个电商 App&#xff0c;商品的价格常常会是 9 块 9&#xff1b;再比如&…

LLM - 训练与推理过程中的 GPU 算力评估

目录 一.引言 二.FLOPs 和 TFLOPs ◆ FLOPs [Floating point Opearation Per Second] ◆ TFLOPs [Tera Floating point Opearation Per Second] 三.训练阶段的 GPU 消耗 ◆ 影响训练的因素 ◆ GPT-3 训练统计 ◆ 自定义训练 GPU 评估 四.推理阶段的 GPU 消耗 ◆ 影响…

Azure机器学习 - 在 Azure 机器学习中上传、访问和浏览数据

目录 一、环境准备二、设置内核三、下载使用的数据四、创建工作区的句柄五、将数据上传到云存储空间六、访问笔记本中的数据七、创建新版本的数据资产八、清理资源 机器学习项目的开始阶段通常涉及到探索性数据分析 (EDA)、数据预处理&#xff08;清理、特征工程&#xff09;以…

WebService接口方式是什么

业务应用系统指标采集采用WebService接口方式&#xff0c;这表明系统通过WebService这种网络服务的形式来收集和交换业务应用的运行指标和数据。 WebService是一种在网络上提供服务的方式&#xff0c;它允许不同的应用程序在网络上进行交互和通信&#xff0c;无论它们是用什么…

javaEE -14(10000字 JavaScript入门 - 1)

一&#xff1a;初始 JavaScript JavaScript (简称 JS)是世界上最流行的编程语言之一&#xff0c;它是一个脚本语言, 通过解释器运&#xff0c;主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行. JavaScript 和 HTML 和 CSS 之间的关系&#xff1a; HTML…

Spring IOC - ConfigurationClassPostProcessor源码解析

上文提到Spring在Bean扫描过程中&#xff0c;会手动将5个Processor类注册到beanDefinitionMap中&#xff0c;其中ConfigurationClassPostProcessor就是本文将要讲解的内容&#xff0c;该类会在refresh()方法中通过调用invokeBeanFactoryPosstProcessors(beanFactory)被调用。 5…

dsm 和 大五人格

问题记录 1. 九型人格好像有很多层, 各层会有对应? 笔迹分析. 2. 还要结合行为吧? 书: dsm5 失序的人格 动力取向精神 问题: 大五人格和dsm的渊源, 觉得dsm太粗略了,搞个大五海洋. 问题: 很内向, 然后喜欢摄影, 也喜欢看b站上其他专业博主上传的摄影vlog. 跟他交流的时候又…

图的广度优先遍历讲解附Java代码加详细注释

目录 引入 代码实现 复杂度分析 引入 类比树的广度优先遍历&#xff08;层序遍历&#xff09;&#xff0c;通过一个队列不断地实现出队的同时把左右孩子入队的操作实现广度优先遍历&#xff0c;值得注意的是图是否有环的情况。 用相似的方法可以实现图的广度优先遍历&#…

Linux:Docker的介绍(1)

Docker官网 Docker: Accelerated Container Application Developmenthttps://www.docker.com/ docker是什么&#xff1f; 是一种轻量级的‘虚拟机’ 在Linux容器里运行应用的开源工具 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个…

跟着步骤,快速实现图书行业小程序商城

跟着步骤&#xff0c;快速实现图书行业小程序商城 打造独特图书购物体验&#xff0c;小程序商城制作指南 轻松搭建图书馆与书店的线上商城小程序 值得一试的图书教材小程序商城搭建方法 图书商城小程序制作指南&#xff0c;助你成为行业领袖 实战教程&#xff1a;如何制作…

LabVIEW对多个同一类型控件进行操作

LabVIEW对多个同一类型控件进行操作 有时候LabVIEW要多多个同一类的控件进行操作&#xff0c;如对tab中某个page中所有String控件设为dissable。就可以用如下的方式。className是获取不同类型的控件。通过类型选择&#xff0c;可以选择所有的String控件&#xff0c;并可对特定…

Hydra(九头蛇海德拉)教程

Hydra 参数 hydra <参数> <IP地址> <服务名> 参数案例说明-l-l root登录账号-L-L userName.txt用户文件-p-l 123456登录密码-P-P passwd.txt密码文件-e-e nsrn 空密码 s 用户名即密码 r 用户名和密码相反&#xff08;如root的密码为toor&#xff09;-s-s 21指…

python基于VGG19实现图像风格迁移

目录 1、原理 2、代码实现 1、原理 图像风格迁移是一种将一张图片的内容与另一张图片的风格进行合成的技术。 风格&#xff08;style&#xff09;是指图像中不同空间尺度的纹理、颜色和视觉图案&#xff0c;内容&#xff08;content&#xff09;是指图像的高级宏观结构。 实…