大型语言模型与知识图谱协同研究综述:两大技术优势互补

机器之心报道

编辑:杜伟

多图综述理清当前研究现状,这篇 29 页的论文值得一读。

大型语言模型(LLM)已经很强了,但还可以更强。通过结合知识图谱,LLM 有望解决缺乏事实知识、幻觉和可解释性等诸多问题;而反过来 LLM 也能助益知识图谱,让其具备强大的文本和语言理解能力。而如果能将两者充分融合,我们也许还能得到更加全能的人工智能。

今天我们将介绍一篇综述 LLM 与知识图谱联合相关研究的论文,其中既包含用知识图谱增强 LLM 的研究进展,也有用 LLM 增强知识图谱的研究成果,还有 LLM 与知识图谱协同的最近成果。文中概括性的框架展示非常方便读者参考。

eeaa320180ebdfd11aa1b4681f01b8b9.jpeg

论文:https://arxiv.org/abs/2306.08302v1

BERT、RoBERTA 和 T5 等在大规模语料库上预训练的大型语言模型(LLM)已经能非常优秀地应对多种自然语言处理(NLP)任务,比如问答、机器翻译和文本生成。近段时间,随着模型规模的急剧增长,LLM 还进一步获得了涌现能力,开拓了将 LLM 用作通用人工智能(AGI)的道路。ChatGPT 和 PaLM2 等先进的 LLM 具有数百上千亿个参数,它们已有潜力解决许多复杂的实际任务,比如教育、代码生成和推荐。

尽管 LLM 已有许多成功应用,但由于缺乏事实知识,它们还是备受诟病。具体来说,LLM 会记忆训练语料库中包含的事实和知识。但是,进一步的研究表明,LLM 无法回忆出事实,而且往往还会出现幻觉问题,即生成具有错误事实的表述。举个例子,如果向 LLM 提问:「爱因斯坦在什么时候发现了引力?」它可能会说:「爱因斯坦在 1687 年发现了引力。」但事实上,提出引力理论的人是艾萨克・牛顿。这种问题会严重损害 LLM 的可信度。

LLM 是黑箱模型,缺乏可解释性,因此备受批评。LLM 通过参数隐含地表示知识。因此,我们难以解释和验证 LLM 获得的知识。此外,LLM 是通过概率模型执行推理,而这是一个非决断性的过程。对于 LLM 用以得出预测结果和决策的具体模式和功能,人类难以直接获得详情和解释。尽管通过使用思维链(chain-of-thought),某些 LLM 具备解释自身预测结果的功能,但它们推理出的解释依然存在幻觉问题。这会严重影响 LLM 在事关重大的场景中的应用,比如医疗诊断和法律评判。举个例子,在医疗诊断场景中,LLM 可能误诊并提供与医疗常识相悖的解释。这就引出了另一个问题:在一般语料库上训练的 LLM 由于缺乏特定领域的知识或新训练数据,可能无法很好地泛化到特定领域或新知识上。

为了解决上述问题,一个潜在的解决方案是将知识图谱(KG)整合进 LLM 中。知识图谱能以三元组的形式存储巨量事实,即 (头实体、关系、尾实体),因此知识图谱是一种结构化和决断性的知识表征形式,例子包括 Wikidata、YAGO 和 NELL。知识图谱对多种应用而言都至关重要,因为其能提供准确、明确的知识。此外众所周知,它们还具有很棒的符号推理能力,这能生成可解释的结果。知识图谱还能随着新知识的持续输入而积极演进。此外,通过让专家来构建特定领域的知识图谱,就能具备提供精确可靠的特定领域知识的能力。

然而,知识图谱很难构建,并且由于真实世界知识图谱往往是不完备的,还会动态变化,因此当前的知识图谱方法难以应对。这些方法无法有效建模未见过的实体以及表征新知识。此外,知识图谱中丰富的文本信息往往会被忽视。不仅如此,知识图谱的现有方法往往是针对特定知识图谱或任务定制的,泛化能力不足。因此,有必要使用 LLM 来解决知识图谱面临的挑战。图 1 总结了 LLM 和知识图谱的优缺点。

fbd1f79c9706d094fcb074cc65b6b294.jpeg

图 1:LLM 和知识图谱的优缺点总结。

如图所示,LLM 的优点:一般知识、语言处理、泛化能力。LLM 的缺点:隐含知识、幻觉问题、无法决断问题、黑箱、缺乏特定领域的知识和新知识。知识图谱的优点:结构化的知识、准确度、决断能力、可解释性、特定领域的知识、知识演进。知识图谱的缺点:不完备性、缺乏语言理解、未见过的知识。

近段时间,将 LLM 和知识图谱联合起来的可能性受到了越来越多研究者和实践者关注。LLM 和知识图谱本质上是互相关联的,并且能彼此互相强化。如果用知识图谱增强 LLM,那么知识图谱不仅能被集成到 LLM 的预训练和推理阶段,从而用来提供外部知识,还能被用来分析 LLM 以提供可解释性。而在用 LLM 来增强知识图谱方面,LLM 已被用于多种与知识图谱相关的应用,比如知识图谱嵌入、知识图谱补全、知识图谱构建、知识图谱到文本的生成、知识图谱问答。LLM 能够提升知识图谱的性能并助益其应用。在 LLM 与知识图谱协同的相关研究中,研究者将 LLM 和知识图谱的优点融合,让它们在知识表征和推理方面的能力得以互相促进。

这篇论文将在联合 LLM 与知识图谱方面提供一个前瞻性的路线图,帮助读者了解如何针对不同的下游任务,利用它们各自的优势,克服各自的局限。其中包含详细的分类和全面的总结,并指出了这些快速发展的领域的新兴方向。本文的主要贡献包括:

1, 路线图:文中提供了一份 LLM 和知识图谱整合方面的前瞻性路线图。这份路线图包含联合 LLM 与知识图谱的三个概括性框架:用知识图谱增强 LLM、用 LLM 增强知识图谱、LLM 与知识图谱协同。可为联合这两种截然不同但互补的技术提供指导方针。

2, 分类和总结评估:对于该路线图中的每种整合模式,文中都提供了详细的分类和全新的分类法。对于每种类别,文中都从不同整合策略和任务角度总结评估了相关研究工作,从而能为每种框架提供更多见解。

3, 涵盖了新进展:文中覆盖了 LLM 和知识图谱的先进技术。其中讨论了 ChatGPT 和 GPT-4 等当前最先进的 LLM 以及多模态知识图谱等知识图谱新技术。

4, 挑战和未来方向:文中也会给出当前研究面临的挑战并给出一些有潜力的未来研究方向。

LLM 和知识图谱基础知识

大型语言模型(LLM)

在大规模语料库上预训练的 LLM 可以解决多种 NLP 任务,拥有巨大潜力。如图 3 所示,大多数 LLM 都源自 Transformer 设计,其中包含编码器和解码器模块,并采用了自注意力机制。LLM 可以根据架构不同而分为三大类别:仅编码器 LLM、编码器 - 解码器 LLM、仅解码器 LLM。图 2 总结了一些代表性 LLM,涉及不同架构、模型大小和是否开源。

5f90442d1b4d1c420c551bbe8ae883c9.jpeg

图 2:近些年有代表性的 LLM。实心方框表示开源模型,空心方框则是闭源模型。

6ad5b6febf093e13126d21c041bf4872.jpeg

图 3:基于 Transformer 并使用了自注意力机制的 LLM 的示意图。

prompt 工程设计

prompt 工程设计是一个全新领域,其关注的是创建和优化 prompt,从而让 LLM 能最有效地应对各种不同应用和研究领域。如图 4 所示,prompt 是 LLM 的自然语言输入序列,需要针对具体任务(如情绪分类)创建。prompt 可包含多个元素,即:指示、背景信息、输入文本。指示是告知模型执行某特定任务的短句。背景信息为输入文本或少样本学习提供相关的信息。输入文本是需要模型处理的文本。

a1c6a03aa029e7c60844088d8c7f817e.jpeg

图 4:一个情绪分类 prompt 的示例。

prompt 工程设计的目标是提升 LLM 应对多样化复杂任务的能力,如问答、情绪分类和常识推理。思维链(CoT)prompt 是通过中间推理步骤来实现复杂推理。另一种方法则是通过整合外部知识来设计更好的知识增强型 prompt。自动化 prompt 工程(APE)则是一种可以提升 LLM 性能的 prompt 自动生成方法。prompt 让人无需对 LLM 进行微调就能利用 LLM 的潜力。掌握 prompt 工程设计能让人更好地理解 LLM 的优劣之处。

知识图谱(KG)

知识图谱则是以 (实体、关系、实体) 三元组集合的方式来存储结构化知识。根据所存储信息的不同,现有的知识图谱可分为四大类:百科知识型知识图谱、常识型知识图谱、特定领域型知识图谱、多模态知识图谱。图 5 展示了不同类别知识图谱的例子。

22d574bd79b4c3afa59e1dfbb90e2c84.jpeg

图 5:不同类别知识图谱示例。

应用

LLM 和知识图谱都有着广泛的应用。表 1 总结了 LLM 和知识图谱的一些代表性应用。

7a66441f9bfe59598592f2aed29a68e6.jpeg

表 1:LLM 和知识图谱的代表性应用。

路线图与分类

下面会先给出一份路线图,展现将 LLM 和知识图谱联合起来的框架,然后将对相关研究进行分类。

路线图

图 6 展示了将 LLM 和知识图谱联合起来的路线图。这份路线图包含联合 LLM 与知识图谱的三个框架:用知识图谱增强 LLM、用 LLM 增强知识图谱、LLM 与知识图谱协同。

3352bed43c73704a88e1db74d6ddd63b.jpeg

图 6:联合知识图谱和 LLM 的一般路线图。

bdec76aebff4fb85f06007a481925524.jpeg

图 7:LLM 与知识图谱协同的一般框架,其中包含四层:数据、协同模型、技术、应用。

分类

为了更好地理解联合 LLM 和知识图谱的研究,论文进一步提供了每种框架的细粒度分类。具体来说,这里关注的是整合 LLM 与知识图谱的不同方法,即:用知识图谱增强 LLM、用 LLM 增强知识图谱、LLM 与知识图谱协同。图 8 细粒度地展示了相关研究的分类情况。

02a4fd44bfd34f25979a1fd987cb5563.jpeg

图 8:联合 LLM 与知识图谱的相关研究分类。

用知识图谱增强 LLM

大型语言模型在许多自然语言处理任务上都表现出色。但是,由于 LLM 缺乏实际知识而且常在推理时生成事实性错误,因此也饱受批评。解决该问题的一种方法是用知识图谱增强 LLM。

具体的方式有几种,一是使用知识图谱增强 LLM 预训练,其目的是在预训练阶段将知识注入到 LLM 中。二是使用知识图谱增强 LLM 推理,这能让 LLM 在生成句子时考虑到最新知识。三是使用知识图谱增强 LLM 可解释性,从而让我们更好地理解 LLM 的行为。表 2 总结了用知识图谱增强 LLM 的典型方法。

10acafcbcaf2c2767ca70ca721e0fb5e.jpeg

表 2:用知识图谱增强 LLM 的方法。

用知识图谱增强 LLM 预训练

现有的 LLM 主要依靠在大规模语料库上执行无监督训练。尽管这些模型在下游任务上表现卓越,它们却缺少与现实世界相关的实际知识。在将知识图谱整合进 LLM 方面,之前的研究可以分为三类:将知识图谱整合进训练目标、将知识图谱整合进 LLM 的输入、将知识图谱整合进附加的融合模块。

d49b9220ece61cdd6ee46aa5878b4242.jpeg

图 9:通过文本 - 知识对齐损失将知识图谱信息注入到 LLM 的训练目标中,其中 h 表示 LLM 生成的隐含表征。

fece580ff9fb3094c9b5a979bdffdd23.jpeg

图 10:使用图结构将知识图谱信息注入到 LLM 的输入中。

7e2f9516981ae577b0167aa21c324306.jpeg

图 11:通过附加的融合模块将知识图谱整合到 LLM 中。

用知识图谱增强 LLM 推理

以上方法可以有效地将知识与 LLM 的文本表征融合到一起。但是,真实世界的知识会变化,这些方法的局限是它们不允许更新已整合的知识,除非对模型重新训练。因此在推理时,它们可能无法很好地泛化用于未见过的知识。

一些研究关注的正是分离知识空间与文本空间以及在推理时注入知识。这些方法主要关注的是问答(QA)任务,因为问答既需要模型捕获文本语义,还需要捕获最新的现实世界知识。

9adc9a760ed9b05ec0d60715b5dfc03c.jpeg

图 12:用于 LLM 推理的动态知识图谱融合。

b9ac83cdcdf6cfc26a9046ad88d44f04.jpeg

图 13:通过检索外部知识来增强 LLM 生成。

用知识图谱增强 LLM 可解释性

尽管 LLM 在许多 NLP 任务上都表现不凡,但由于缺乏可解释性,依然备受诟病。LLM 可解释性是指理解和解释大型语言模型的内部工作方式和决策过程。这能提升 LLM 的可信度并促进 LLM 在事关重大的场景中的应用,比如医疗诊断和法律评判。由于知识图谱是以结构化的方式表示知识,因此可为推理结果提供优良的可解释性。因此,研究者必然会尝试用知识图谱来提升 LLM 的可解释性;相关研究大致可分为两类:用于语言模型探测的知识图谱、用于语言模型分析的知识图谱。

d9c42d5e2079d217b52d3f314df7eea6.jpeg

图 14:使用知识图谱进行语言模型探测的一般框架。

8b1640dc0abf8ffcb936edb0fc7b93db.jpeg

图 15:使用知识图谱进行语言模型分析的一般框架。

用 LLM 增强知识图谱

知识图谱的显著特点就是结构化的知识表示。它们适用于许多下游任务,比如问答、推荐和网络搜索。但是,传统知识图谱往往不完备,并且已有方法往往不会考虑文本信息。

为了解决这些问题,已有研究者考虑使用 LLM 来增强知识图谱,使其能考虑文本信息,从而提升在下游任务上的表现。表 3 总结了代表性的研究工作。这里会涉及到使用 LLM 对知识图谱进行不同增强的方法,包括知识图谱嵌入、知识图谱补全、知识图谱到文本生成、知识图谱问答。

68c5c9055b7873663bc2f5b495da5e04.jpeg

表 3:用 LLM 增强知识图谱的代表性方法。

用 LLM 增强知识图谱嵌入

知识图谱嵌入(KGE)的目标是将每个实体和关系映射到低维的向量(嵌入)空间。这些嵌入包含知识图谱的语义和结构信息,可用于多种不同的任务,如问答、推理和推荐。传统的知识图谱嵌入方法主要依靠知识图谱的结构信息来优化一个定义在嵌入上的评分函数(如 TransE 和 DisMult)。但是,这些方法由于结构连接性有限,因此难以表示未曾见过的实体和长尾的关系。

图 16 展示了近期的一项研究:为了解决这一问题,该方法使用 LLM 来编码实体和关系的文本描述,从而丰富知识图谱的表征。

cb9fcae9cda9df33dfd1ed871b9cfbe9.jpeg

图 16:将 LLM 用作知识图谱嵌入的文本编码器。

58989e46f0909b06957cdf5d1a28c60c.jpeg

图 17:用于联合文本与知识图谱嵌入的 LLM。

用 LLM 增强知识图谱补全

知识图谱补全(KGC)任务的目标是推断给定知识图谱中缺失的事实。类似于 KGE,传统 KGC 方法主要关注的是知识图谱的结构,而不会考虑广泛的文本信息。

但是,近期有研究将 LLM 整合到了 KGC 方法中来编码文本或生成事实,取得了更好的 KGC 表现。根据使用方式,这些方法分为两类:将 LLM 用作编码器(PaE)、将 LLM 用作生成器(PaG)。

0c7509e9cfbed162c0e76bca584a0875.jpeg

图 18:将 LLM 用作编码器(PaE)来补全知识图谱的一般框架。

333a56d5bfe7b893e2f4a4feffe8d397.jpeg

图 19:将 LLM 用作生成器(PaG)来补全知识图谱的一般框架 En. 和 De. 分别表示编码器和解码器。

60f9632bc21d4698bb9bce0d0e550014.jpeg

图 20:使用基于 prompt 的 PaG 来补全知识图谱的框架。

用 LLM 增强知识图谱构建

知识图谱构建涉及到为特定领域内的知识创建结构化的表示。这包括识别实体以及实体之间的关系。知识图谱构建过程通常涉及多个阶段,包括:实体发现、共指消解和关系提取。图 21 展示了将 LLM 用于知识图谱构建各个阶段的一般框架。近期还有研究探索了端到端知识图谱构建(一步构建出完整的知识图谱)以及直接从 LLM 中蒸馏出知识图谱。

60c60b907e75d1307f69d5b15f0001e6.jpeg

图 21:基于 LLM 的知识图谱构建的一般框架。

ea1929aeb4ba20905e9ae6ebfc4382cd.jpeg

图 22:从 LLM 中蒸馏出知识图谱的一般框架。

用 LLM 增强知识图谱到文本生成

知识图谱到文本(KG-to-text)生成的目标是生成能准确一致地描述输入知识图谱信息的高质量文本。知识图谱到文本生成连接了知识图谱与文本,能显著提升知识图谱在更现实的自然语言生成场景中的可用性,包括故事创作和基于知识的对话。但是,收集大量知识图谱 - 文本平行数据难度很大,成本很高,这会导致训练不充分和生成质量差。

因此,有许多研究致力于解决这些问题:如何利用 LLM 的知识?如何构建大规模的弱监督知识图谱 - 文本语料库来解决这个问题?

4206e0dc0bf6043d5fd15432074a0be9.jpeg

图 23:知识图谱到文本生成的一般框架。

用 LLM 增强知识图谱问答

知识图谱问答(KGQA)的目标是根据知识图谱存储的结构化事实来寻找自然语言问题的答案。KGQA 有一个无可避免的挑战:检索相关事实并将知识图谱的推理优势扩展到问答任务上。因此,近期有研究采用 LLM 来填补自然语言问题与结构化知识图谱之间的空白。

图 24 给出了将 LLM 用于 KGQA 的一般框架,其中 LLM 可用作实体 / 关系提取器和答案推理器。

bcd643baba8d5075370149c67c0329c8.jpeg

图 24:将 LLM 用于知识图谱问答的一般框架。

LLM 与知识图谱协同

LLM 与知识图谱协同近年来赢得了不少关注,该方法能将 LLM 和知识图谱的优点融合,从而更好地应对各种下游任务。举个例子,LLM 可用于理解自然语言,同时知识图谱可作为提供事实知识的知识库。将 LLM 和知识图谱联合起来可以造就执行知识表征和推理的强大模型。

这里从两个方面关注了 LLM 与知识图谱协同:知识表征、推理。表 4 总结了代表性的研究工作。

ca4df42e2bced68420da5b267a408f4c.jpeg

表 4:LLM 与知识图谱协同方法汇总。

知识表征

文本语料库和知识图谱都包含大量知识。但是,文本语料库中的知识通常是隐式的和非结构化的,而知识图谱中的知识是显式的和结构化的。因此,想要以统一方式来表示这些知识,就必须对齐文本语料库和知识图谱中的知识。图 25 给出了针对知识表征任务统一 LLM 和知识图谱的一般框架。

7b3e21e9bca4c86e6b95f15f3ad886f1.jpeg

图 25:针对知识表征任务统一 LLM 和知识图谱的一般框架。

KEPLER 是一种用于知识嵌入和预训练语言表征的统一模型。KEPLER 会使用 LLM 将文本实体描述编码成它们的嵌入,然后对知识嵌入和语言建模目标进行联合优化。JointGT 提出了一种知识图谱 - 文本联合表征学习模型,其中提出了三个预训练任务来对齐知识图谱和文本的表征。DRAGON 则给出了一种自监督方法,可以基于文本和知识图谱来预训练一个语言 - 知识的联合基础模型。其输入是文本片段和相关的知识图谱子图,并会双向融合来自这两种模式的信息。然后,DRAGON 会利用两个自监督推理任务(掩码语言建模和知识图谱链接预测)来优化该模型的参数。HKLM 则引入了一种联合 LLM,其整合了知识图谱来学习特定领域知识的表征。

推理

为了同时利用 LLM 和知识图谱的优势,研究者也通过 LLM 和知识图谱协同来执行多种应用的推理任务。在问答任务中,QA-GNN 首先会利用 LLM 来处理文本问题,再引导知识图谱的推理步骤。这样一来就构建了文本和结构化信息之间的桥梁,从而能为推理过程提供解释。

在知识图谱推理任务中,LARK 提出了一种由 LLM 引导的逻辑推理方法。其首先会将传统的逻辑规则转换成语言序列,然后要求 LLM 推理出最终输出。此外,Siyuan et al. 通过一个统一框架统一了结构推理和语言模型预训练。给定一个文本输入,他们采用 LLM 来生成逻辑查询,其可在知识图谱上执行以获取结构化的上下文信息。最后,这个结构化的上下文会与文本信息融合以生成最终输出。

RecInDial 则将知识图谱与 LLM 组合起来在对话系统中提供个性化推荐。KnowledgeDA 提出了一种统一的领域语言模型开发流程,可使用领域知识图谱增强针对特定任务的训练过程。

未来方向

在联合知识图谱和大型语言模型方面还有诸多挑战有待解决,下面简单给出了这一研究领域的一些未来研究方向:

  • 将知识图谱用于检测 LLM 的幻觉;
  • 将知识图谱用于编辑 LLM 中的知识;
  • 将知识图谱用于黑箱 LLM 知识注入;
  • 将多模态 LLM 用于知识图谱;
  • 将 LLM 用于理解知识图谱的结构;
  • 将 LLM 和知识图谱协同用于双向推理。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM源码剖析之SymbolTable和StringTable

很多读者在观看JVM相关的书籍时会看到SymbolTable和StringTable,书中的三言二语介绍的不是很清楚,并且读者的水平有限,导致无法理解SymbolTable和StringTable。所以特意写此篇图文并茂的文章来彻底理解SymbolTable和StringTable这两张表。 版…

mac电脑上,webm格式怎么转换成mp4?

mac电脑上,webm格式怎么转换成mp4?webm格式的视频也是最近几年也越来越多的,小编最近就不止一次的下载到过webm格式的视频,很多小伙伴肯定对它还并不是很了解,webm是由谷歌公司所提出以及开发出来的视频文件格式&#…

debian to go

可以使用虚拟机操作,在运行镜像到安装步骤时选择 u盘 不需要手动分 /boot 分区之类的,“Automaction”自动分区就行,全安装到根目录。boot load 安装到 /dev/sdb,也就是硬盘本身 推荐使用gpt分区表,建议拿不用的盘练…

MySQL表单查询

根据题目完成下列要求 CREATE TABLE emp ( empno int(4) NOT NULL, ename varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, job varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, mgr int(4) NULL DEFAULT …

UML类图的6种关系

目录 一、UML类图的6种关系(依赖关系由弱到强): 二、6种关系归纳总结 2.1 第一种归纳方式:先分组,再分组(由大到小,由宏观到微观) 2.2 第二种归纳方式:先聚合&#x…

计算机毕业论文内容参考|基于微信小程序和云开发的小区垃圾分类知识手册平台的设计与实现

文章目录 导文摘要前言绪论1课题背景2国内外现状与趋势相关技术与方法介绍系统分析总结与展望1本文总结2后续工作展望导文 计算机毕业论文内容参考|基于微信小程序和云开发的小区垃圾分类知识手册平台的设计与实现 摘要 本文介绍了基于微信小程序和云开发的小区垃圾分类知识手…

网络编程1—— IP地址 + 端口号 +TCP/IP协议 + 协议分层的封装与应用

文章目录 前言一、网络发展各阶段二、网络通信的三大要素1.IP地址2.端口号3.网络协议 三、TCP/IP五层网络模型各层级的用处网络设备所在分层 四、封装和分用封装分用网络传输的实际情况 总结 前言 本人是一个刚刚上路的IT新兵,菜鸟!分享一点自己的见解,如果有错误的地方欢迎各…

Flutter流式组件Wrap

Wrap组件类似Row组件都是横向依次排列,唯一的区别就是Wrap能自动换行。 主要代码: Wrap(spacing: 10, //左右间距runSpacing: 10, //上下间距// direction: Axis.vertical,//主轴的方向,默认横向// alignment: WrapAlignment.spaceBetween, …

React hooks之useCallback的使用与性能分析

使用useCallback优化代码 useCallback是对传过来的回调函数优化,返回的是一个函数;useMemo返回值可以是任何,函数,对象等都可以。 简单来说就是返回一个函数,只有在依赖项发生变化的时候才会更新(返回一个…

《项目实战》构建SpringCloud alibaba项目(二、构建微服务鉴权子工程store-authority-service)

系列文章目录 构建SpringCloud alibaba项目(一、构建父工程、公共库、网关) 构建SpringCloud alibaba项目(二、构建微服务鉴权子工程store-authority-service) 文章目录 系列文章目录前言1、在公共库增加 UserInfo类2、微服务鉴权…

电脑文件怎么加密?哪个文件加密软件好用?

不少人的电脑中都存放着一些重要文件,这些文件需要使用专业的方式进行加密保护。那么电脑文件该怎么加密呢?下面我们就通过本文来一起了解一下吧。 超级加密3000 作为一款备受好评的文件加密软件,超级加密3000在安全性、便捷性、全面性等方面…

记录征战Mini开发板从无到有

前言 我们店铺的开发板目前主要有Altera,Xilinx以及国产安路,高云。Xilinx只有Spartan6系列,这个系列的芯片只支持ISE软件,但是很多客户用的是VIVADO软件,所以导致我们无法满足客户的需求。基于此原因,我们经过几个月…