用于实体对齐的联合学习实体和关系表示2019 AAAI 8.7+8.8

用于实体对齐的联合学习实体和关系表示

  • 摘要
  • 介绍
  • 相关工作
    • 实体对齐
    • 图卷积网络
  • 问题公式
  • 我们的方法
    • 整体架构
    • 初步实体对齐
      • 图卷积层
      • 对齐
      • 训练
    • 近似关系表示
    • 联合实体和关系对齐
  • 实验
  • 总结

在这里插入图片描述

摘要

实体对齐是在不同知识图之间集成异构知识的一种可行方法。该领域的最新发展通常采用基于嵌入的方法来对KGs的结构信息建模,从而可以在嵌入空间中进行实体对齐。然而,大多数现有工作并没有明确利用有用的关系表示来辅助实体对齐,正如我们将在文中展示的那样,这是改进实体对齐的一种简单而有效的方法。

本文提出了一种新的实体对齐联合学习框架。我们方法的核心是一个基于图卷积网络(GCN)的框架,用于学习实体表示和关系表示。而不是依赖于 预先对齐的关系种子 来学习关系表示。我们首先使用 GCN引导的实体嵌入 来近似它们。然后,我们将关系映射合并到实体中,以迭代地学习两者更好的表示。

预先对齐的关系种子
指的是在知识图谱对齐任务中提前确定的一组已知的关系对。这些关系对被认为是在不同的知识图谱或数据集中表示相同语义关系的示例。预先对齐的关系种子通常是由领域专家或人工标注的数据生成的。这些种子关系对可以基于先验知识、词汇相似性、语义相似性或其他相似性指标进行选择和匹配。
假设我们有两个知识图谱,一个是关于电影的知识图谱A,另一个是关于演员的知识图谱B。我们的目标是将这两个知识图谱进行对齐,以建立电影和演员之间的关联。为了辅助对齐过程,我们可以使用一些预先对齐的关系种子。
首先,我们可以手动选择一些已知的电影-演员对,这些对在两个知识图谱中表示相同的关系。例如,我们知道知识图谱A中的电影"Avengers: Endgame"与知识图谱B中的演员"Robert Downey Jr."有关联。
这个电影-演员对可以作为一个预先对齐的关系种子,我们将它们作为已匹配的关系对输入到知识图谱对齐算法中。算法可以通过学习这个种子关系对中的模式、属性和语义特征,来识别和匹配其他相似的电影-演员关系对。
接下来,知识图谱对齐算法可以利用各种匹配和相似性度量方法,如实体名称相似度、关系语义相似度、属性匹配等,来寻找其他电影-演员关系对。通过与预先对齐的关系种子进行比较,算法可以确定哪些关系对是相似的,并将它们加入到已对齐的关系集合中。

GCN引导的实体嵌入
是指使用图卷积网络(Graph Convolutional Network,GCN)来生成实体的向量表示或嵌入。
GCN模型的核心思想是通过聚合相邻节点的信息来更新每个节点的表示。在每一层GCN中,节点的表示是通过将其自身特征与其邻居节点的特征进行聚合得到的。这样,每个节点可以获得来自其邻居节点的信息,并且这些信息会在多层GCN模型中进行迭代和传播。
在实体嵌入任务中,GCN模型可以将实体的局部邻域信息和全局图结构信息结合在一起,生成具有丰富语义的实体向量表示。
假设我们有一个电影知识图谱,其中包含电影实体和它们之间的关系。
首先,我们将电影作为图的节点,并根据电影之间的关系构建图结构。例如,我们可以使用电影之间的导演、演员、类型等关系作为图的边。
接下来,我们使用GCN模型来学习电影的嵌入向量。在GCN的每一层,节点的表示是通过聚合其邻居节点的表示来更新的。例如,对于一个电影节点,它的邻居节点可以是与之有共同演员或共同导演的其他电影。
通过多层GCN的迭代,电影节点的表示会逐渐融合来自不同邻居节点的信息,从而生成具有丰富语义的电影嵌入向量。这些嵌入向量可以捕捉到电影之间的关联、类型、演员等特征,从而提供了电影的语义表示。
学习得到的电影嵌入向量可以用于各种任务。例如,我们可以使用这些向量来计算电影之间的相似度,从而实现电影推荐系统。或者,我们可以将这些向量作为输入特征,用于电影分类或预测电影的票房收入等任务。

在三个真实世界的跨语言数据集上进行的实验表明,我们的方法实质上执行了最先进的实体对齐方法。

介绍

知识图谱(KGs)将非结构化知识转换为简单明了的三元组<头部实体,关系,尾部实体>,用于快速响应和推理知识。它们是支持各种支持 NLP-enabled 的任务的有效方式。

“NLP-enabled” 是指某个系统、工具或应用程序具备自然语言处理(Natural Language Processing,NLP)功能或能力。
当一个系统或应用程序被称为 “NLP-enabled”,意味着它具备了一定程度的自然语言处理能力,可以处理和分析文本数据,从中提取信息,进行文本理解和生成,或者与用户进行自然语言交互。

尽管许多KG来自同一资源(例如维基百科),但它们通常是独立创建的。因此,不同的KGs经常使用不同的表达和表面形式来表示等价的实体和关系,更不用说来自不同资源或语言的那些了。这种常见的异构问题使得在不同的KG之间整合知识变得困难。解决这个问题的一种强大技术是实体对齐,是将来自不同KGs的具有相同真实世界身份的实体连接起来的任务。

实体对齐的经典方法通常涉及劳动密集且耗时的特征构建过程或依赖于他人构建的外部信息。最近,人们致力于所谓的基于嵌入的方法,代表作包括JE、MTransE、JAPE、IP TransE,和BootEA。还有使用图卷积网络(GCN)来联合嵌入多个KG。

最近的大多数工作(如JE、MTransE、JAPE、IPTransE和BootEA)都依赖于 基于翻译的模型 ,这些模型使这些方法能够对KGs的实体和关系进行编码。这些方法通常更强调实体嵌入,但没有明确地利用关系嵌入来帮助实体对齐。这些方法的另一个缺点是,它们通常依赖于 预先对齐的关系 (JAPE和IPTransE)或三元组(MTransE)。这限制了每次模型可以有效形成的规模,因为 为大型KG构建种子排列 的开销也大。不幸的是,基于GCN的模型等替代方法无法直接获得关系表示,留下了很大的改进空间。

基于翻译的模型(Translation-based models)
是指一类在自然语言处理中用于处理语义关系和语义表示的模型。这类模型通过将语义关系转化为翻译任务,将语义表示转化为翻译模型的中间表示来进行处理。
基于翻译的模型的基本思想是将语义关系建模为源语言到目标语言的翻译过程。通常,模型将实体之间的关系或实体属性等信息表示为源语言句子,然后使用翻译模型将源语言句子翻译成目标语言句子,最后利用目标语言句子的表示来进行后续的任务处理。

“预先对齐的关系”(Pre-aligned relationship)是指在进行知识图谱对齐任务之前,已经进行过部分实体对齐或关系对齐的关系。

“为大型KG构建种子排列”(Building seed alignment for large-scale KG)
是指为两个或多个大型知识图谱之间的实体进行初始对齐,以建立种子(seed)实体对的对应关系。在知识图谱对齐任务中,种子对是已知或预先对齐的实体对,其对应关系是已知的或可以被假设为正确的。构建种子排列的目的是通过这些已知对应关系来指导和启动大规模知识图谱对齐的过程。

最近的研究表明,在单个框架中对实体和关系进行联合建模 可以改进信息提取等任务。我们认为,实体对齐也将是这种情况,也就是说,丰富的关系信息可能有助于提高实体的一致性,并且它们的关系通常是密切相关的。我们的实验表明,这甚至是一个保守的目标:通过联合学习实体和关系表示,我们可以促进实体和关系对齐的结果。

"在单个框架中对实体和关系进行联合建模"是指将实体和关系作为一个整体进行建模和表示的方法。传统的知识图谱表示方法通常独立地对实体和关系进行建模,而在联合建模中,实体和关系被同时考虑并嵌入到一个统一的表示空间中。
在TransE模型中,实体和关系都被嵌入到一个共享的向量空间中。每个实体和关系都被表示为一个固定维度的向量。模型的目标是通过学习这些向量,使得在知识图谱中的事实(三元组)得到最好的表示和预测。
具体地,TransE模型假设实体和关系之间存在着平移关系。对于给定的三元组(头实体,关系,尾实体),模型会计算头实体向量与关系向量之和,然后与尾实体向量进行比较。模型的目标是通过学习向量表示,使得正确的三元组满足头实体向量加上关系向量的结果接近尾实体向量。
举个例子来说明,假设有一个知识图谱中有以下三元组:
(“猫”, “是宠物”, “动物”)
(“狗”, “是宠物”, “动物”)
(“猫”, “是哺乳动物”, “动物”)
对于上述三元组,TransE模型会学习到将实体和关系嵌入到向量空间中,例如将实体"猫"表示为向量v1,关系"是宠物"表示为向量v2,实体"动物"表示为向量v3。模型的目标是使得v1 + v2 接近 v3。
当给定头实体"猫"和关系"是宠物"时,模型会通过计算v1 + v2的结果,并与尾实体"动物"的向量v3进行比较。如果v1 + v2与v3的距离较小,即它们在向量空间中较接近,那么模型将预测这个三元组为真实的事实。

我们的目标是建立一个学习框架,共同学习实体和关系表示,以实现实体对齐,我们希望只通过一小部分预先对齐的实体而不是关系来实现这一点。这样做将允许我们利用关系信息来改进实体比对,而无需为构建种子关系比对支付额外成本。

GCN最近的成果使我们的工作成为可能。但是由于原始GCN是对无向图和无标记图进行运算的,所以像基于GCN的模型会忽略KG形成中的有用关系。虽然关系图卷积网络(R-GCN)可以对多关系图进行建模,但现有的R-GCN对每个关系使用权重矩阵。这意味着R-GCN将需要一组过多的参数来对典型的真实世界KG中的数千个关系进行建模,这使得在大型KG上学习有效的模型变得困难。

我们的联合学习框架的一个关键挑战是如何在没有种子关系比对的情况下生成有用的关系表示,并确保框架能够扩展到大量类型的关系。我们通过首先使用通过少量种子实体比对学习的实体嵌入来近似关系表示来实现这一点。进一步构造了一个新的联合实体表示,该表示由实体的关系信息和相邻结构信息组成。联合表示使我们能够迭代地提高模型生成更好的实体和关系表示的能力,这不仅会导致更好的实体对齐,而且会导致更准确关系对齐(作为副产品)。

我们通过将其应用于三个真实世界的数据集来评估我们的方法。效果显著。本文的主要贡献是一种新的实体和关系对齐的联合学习模型。该方法减少了人类在构建种子比对中的参与和相关成本,但比以前的工作产生了更好的性能。

相关工作

实体对齐

直到最近,实体对齐还需要高度的人类参与来设计手工制作的特征、规则或依赖外部来源。在更广泛的文本中,模式和本体匹配的工作也通过使用额外的数据源、本体描述或网络本体语言的语义来寻求额外信息的帮助。此类方案的性能受目标KG的额外信息的质量和可用性的限制,但对于大型KG来说,获得足够高质量的注释数据可能很困难。

最近,提出了基于嵌入的实体对齐方法来减少人为干扰。JE学习不同KG在均匀向量空间中的嵌入,在该空间中可以执行实体对齐。MTransE将KG编码在独立的嵌入中,并学习KG之间的转换。BootEA利用bootstrap ping过程来学习KG嵌入。SEA提出了一种程度感知的KG嵌入模型来嵌入KG。KDCoE是一种半监督学习方法,用于多语言KGs和实体描述的协同训练嵌入。它们都使用基于翻译的模型作为嵌入KGs的主干。

基于非翻译嵌入的方法包括最近关于基于GCN的模型的工作和NTAM。此外,最近的工作RDGCN介绍了对KG的关系信息进行建模的 对偶关系图。通过主对偶图之间的多轮交互,RDGCN可以有效地将更复杂的关系信息转化为实体表示,并在实体对齐方面取得有希望的结果。然而,现有的方法只关注实体嵌入,而忽略了关系表示在这个任务上可以提供的帮助。TransE和NTAM是少数尝试执行关系和实体对齐的方法中的两种。然而,这两种方法都需要高质量的种子比对。诸如预对准的三元组或关系。我们的方法通过仅使用一小组预先对齐的实体(但不使用关系)来同时执行实体和关系对齐,从而联合建模实体和关系,从而推进了先前的工作。

对偶关系图(Dual Relationship Graph)
是指在知识图谱中,用于表示实体和关系之间的双向关联的图结构。
传统的知识图谱中,通常使用三元组(头实体,关系,尾实体)来表示实体之间的关系。然而,某些情况下,一个关系也可以被看作是两个实体之间的双向关联,即一个实体是另一个实体的关系的头实体,同时也是另一个实体的关系的尾实体。这种双向关联可以通过对偶关系图来进行建模。
在对偶关系图中,实体和关系都被表示为节点,而双向关联则由边来表示。每条边连接两个节点,并表示它们之间的关联。例如,如果有一个三元组(A,关系1,B),其中A和B是实体,关系1是它们之间的关系,那么对偶关系图中将有两条边,一条连接A和关系1,另一条连接关系1和B。

图卷积网络

GCN是一种基于未标记图并基于其邻域结构诱导节点特征的神经网络。最近,GCN在节点分类、关系提取、语义角色标签等任务中表现出了良好的性能。作为GCN的扩展,最近提出了R-GCN来建模关系数据,用于链接预测和实体分类。然而,当应用于多关系图时,R-GCN需要大量的参数,这些参数通常很难训练。

在这项工作中,我们选择使用GCN来首先对KG实体进行编码,并基于实体嵌入来近似关系表示。我们的工作是第一次利用GCN来联合调整异构KGs的实体和关系。

问题公式

介绍本文中使用的符号,并定义这项工作的范围。
一个KG规范为:G=(E,R,T),T是类型。
G1=(E1,R1,T1),G2=(E2,R2,T2)是两个已知的不同的KG,KGs之间已知的一些等价实体被表示为 对齐种子 L={(ei1,ei2)|ei1∈E1,ei2∈E2}。

我们定义实体对齐或关系对齐的任务为:自基于已知的对齐种子动找到更多等价的实体或关系。在我们的模型中,我们仅仅使用了对齐实体对作为对实体对齐和关系对齐的训练数据。在我们的框架中,关系对齐的过程是无监督的,它不需要用于训练的预对齐关系对。

我们的方法

给出两个目标KG,G1和G2,以及一组已知对齐实体对L,我们的方法是使用GCN和 高速公路网络门来嵌入两个KG的实体和基于实体表示的近似关系。通过将实体表示与关系表示联系起来,它们在我们的框架中相互促进,最终实现更好的对齐结果。

整体架构

在这里插入图片描述

如图所示,我们的方法由三个阶段组成:(1)初步实体对齐;(2)近似关系表示;(3)联合实体和关系对齐。

在第一阶段,我们利用GCN将各种KGs的位置嵌入到统一的向量空间中进行初步实体对齐。接下来,我们使用实体嵌入来近似关系表示,该关系表示可用于对齐KGs之间的关系。在第三阶段,我们将关系表示合并到实体嵌入中,以获得联合实体表示,并继续使用GCN迭代集成相邻的结构信息,以获得更好的实体和关系表示。

初步实体对齐

将 G1和G2放入一个图Ga中,来作为模型的输入。利用预对齐实体对来训练该模型,然后发现潜在的对齐实体。

图卷积层

我们的实体对齐模型利用GCN来将实体嵌入Ga中。该模型由多个堆叠的GCN层组成,因此它可以包含更高阶的邻域。GCN层l的输入是节点特征矩阵X(l)={x1(l),x2(l),…,xn(l)|xi(l)∈Rd(l)},其中n是Ga节点实体的数量,d(l)是层数l的特征数量。X(l)使用使用正向传播:
在这里插入图片描述
其中在这里插入图片描述是Ga的自连接矩阵, I I I是一个身份矩阵,在这里插入图片描述是一个特定层的可训练权重矩阵。

使用高速公路门来控制GCN中的噪声传播以实现地理局部化 的启发,我们使用分层公路门来构建高速公路GCN(HGCN)模型。我们的分层闸门工作如下:
在这里插入图片描述
其中X(l) l + 1 l+1 l+1层的输入,·是元素乘法,WT(l)和bT(l)是分别是转化速度T(X(l))的权重矩阵和偏差向量。

在地理定位的图卷积网络(GCN)中,使用高速公路门控制噪声传播是指通过引入高速公路门机制来控制信息在网络中传播时的噪声。
在地理定位任务中,GCN可以用于推断地理位置信息。然而,由于网络中存在的噪声和不完整的信息,可能会导致不准确的地理定位结果。
为了解决这个问题,可以引入高速公路门机制。高速公路门是一种控制信息流动的机制,可以选择性地允许或阻止信息在网络中传播。在GCN中,高速公路门可以用于控制噪声的传播,以提高地理定位的准确性。
具体而言,高速公路门可以通过一个门函数来决定信息在网络中的流动。门函数可以根据输入的特征和权重来计算一个介于0和1之间的值,表示信息流动的比例。如果门函数的输出接近于1,那么信息可以顺利地通过网络传播;如果输出接近于0,那么信息将被阻止传播。

对齐

在我们的工作中,实体对齐是通过简单的测量嵌入空间上两个实体节点之间的距离来实现的。对于来自G1的实体e1和来自G2的实体e2的输出实体表示为 X ′ = x 1 ′ , x 2 ′ , . . . , x n ′ ∣ x i ′ ∈ R d X' = {x'_1,x'_2,...,x'_n|x'_i∈R^d} X=x1,x2,...,xnxiRd,它们的距离计算:
在这里插入图片描述

训练

我们使用基于边际的得分函数作为训练目标,以使对齐实体之间的距离尽可能的近,并且正对齐对和负对齐对之间的距离尽可能的大。损失函数定义为:
在这里插入图片描述
其中,L’代表L的负对齐集,在这里插入图片描述是边缘超参数。

并非简单的对负样本进行随机抽样,而是寻找更有挑战性的负样本,例如那些与正样本有细微偏差的样本,来训练我们的模型。给出一个正对齐对(p,q),我们根据嵌入空间中的(例4)选择离p(或q)K个最近的实体
来代替q(或p)最为负实体。

近似关系表示

在这个阶段,我们希望获得关系代表,这些代表可以在下一阶段用于构建联合代表,也可以用于初步的关系调整。我们基于实体对齐模型产生的头部和尾部实体表示来近似关系表示。该策略基于我们的观察,即关系的头部和后部实体的统计信息可以或多或少地反映关系本身的浅语义,例如关系的头部或尾部实体的类型要求。

给出一个关系r∈Ra,有一组有r的三元组在这里插入图片描述,其中Hr和Tr是关系r的一组头实体和尾实体。对于关系r可以近似的表示为:在这里插入图片描述
在这里插入图片描述
首通过将r的平均头和尾实体链接起来,然后引入矩阵在这里插入图片描述作为关系向量上的可学习共享线性变换来计算r的线性表示。d~是每个HGCN输出实体嵌入的特征数量,m是每个关系表示中的特征数量。

有了关系表示,可以通过测量两个关系向量之间的距离来判断关系对齐。对于来自G1的关系r1和来自G2的关系r2,它们的距离计算为:
在这里插入图片描述
r1r2 是r1和r2的关系代表。除了计算两个关系向量之间的距离外,连接到这两个关系的实体中存在的对齐实体越多,这两种关系就越可能等价。因此,对于r1和r2,我们收集这两个关系的头/尾实体中存在的预对齐实体在这里插入图片描述分别用于关系r1和r2的头/尾实体的集合,β是平衡的超参数。

该框架中,关系对齐是以无监督的方式进行的,其中我们没有任何预先对齐的关系作为预训练数据。

联合实体和关系对齐

前两个阶段可能已经产生了一组实体和关系对齐,但是我们不会就此止步。相反,我们专注于融合实体和关系表示,并使用种子实体对齐进一步联合优化它们。我们的关键见解是,实体和关系对齐任务本质上是密切相关的。这是因为对齐的实体往往有相似的关系,而相似的关系应该有相似的头部和尾部实体类别。

具体而言,我们首先对实体对齐模型进行预训练,直到其实体对齐性能趋于稳定。我们认为,预先训练的实体表示和近似关系表示都可以为自己提供丰富的形式。接下来,对于每个实体,我们将其相关关系的表示聚合到一个关系上下文向量中,然后将其与预先训练的实体表示相结合,形成一个新的联合实体表示。

对于每一个实体e∈Ea,它的新的连接表示ejoint可以由此计算:
在这里插入图片描述
其中e是HGCN输出表示的位置e。 Re 是e的相关关系的关系表示的集合。g(·)是一种通过将e和 Re 作为输入来产生新的联合实体表示的方法,它也可以采用多种运算形式。在我们的模型中,我们通过首先对 Re 中的所有关系表示求和,然后将 e 与求和的关系上下文向量连接来计算ejoint

在获得新的联合体表示Xjoint后,我们继续针对种子元素优化我们的模型比对,其中我们使用联合实体表示根据等式计算训练损失。(方程5)继续更新HGCN。注意,联合实体表示由实体嵌入和关系表示组成,而关系表示也基于实体嵌入构建。因此,在使用联合实体表示计算损失的反向传播之后,我们优化了实体嵌入。

实验

总结

不同KG常用不同的表达和表面形式来表示等价的实体,这种异构问题使得在不同KG上整合问题变得困难,解决这个问题就要用到实体对齐。

实体对齐目前的方法(基于嵌入的方法和使用卷积网络联合多个KG的方法)大都依赖于基于翻译的模型(1.强调实体嵌入,不明确使用关系嵌入2.依赖于预先对齐的关系或三元组),这限制了每次形成有效模型的规模。

最近研究发现,在单个框架中对实体和关系进行联合建模可以改进信息提取的任务,基于这一思想,本文认为实体对齐也是如此,丰富的关系信息可能有助于提高实体一致性。

本文目标在于建立一个学习框架,共同学习实体和关系表示,以实现实体对齐,只通过一小部分预先对齐的实体来实现这一点。

问题是,基于GCN的模型会忽略KG形成中的有用关系,且如何在没有种子关系对比的情况下生成有用关系表示,并确保框架能够扩展到大量类型的关系。

解决:用少量种子关系比对学习实体嵌入来近似关系表示来实现这一点,近一步构造一个新的联合实体表示(由实体的关系的信息和相邻结构信息组成)。

本文的方法由三个阶段组成:

  1. 初步实体对齐;
  2. 近似关系表示;
  3. 联合实体和关系对齐。

在这里插入图片描述

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

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

相关文章

数字电路基础(MOS管)

1.PMOS和NMOS MOS晶体管的物理结构如下&#xff0c;由衬底和注入粒子的材质不同分为PMOS和NMOS。 2.CMOS CMOS由PMOS和NMOS组成&#xff0c;是一个反相器&#xff0c;其电路图如下所示。当In为1时&#xff0c;PMOS断开&#xff0c;NMOS导通&#xff0c;Out输出为0&#xff1b;…

Springboot @Validated注解详细说明

在Spring Boot中&#xff0c;Validated注解用于验证请求参数。它可以应用在Controller类或方法上 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </depen…

【工程优化问题】基于多种智能优化算法的压力容器设计问题研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Docker】docker镜像+nginx部署vue项目:

文章目录 一、文档&#xff1a;二、打包vue项目&#xff1a;三、配置nginx&#xff1a;四、配置Dockerfile&#xff1a;五、构建镜像&#xff1a;六、运行容器&#xff1a;七、最终效果&#xff1a; 一、文档&#xff1a; 【1】菜鸟教程&#xff1a;https://www.runoob.com/do…

vscode插件不能搜索安装

1 现象 vscode搜索自己的插件&#xff0c;报错&#xff1a; Error while fetching extensions. HXR failed2 原因 之前用vscode开发golang语言&#xff0c;设置了proxy代理&#xff0c;所以导致错误&#xff0c;删除即可 重启vscode 3 结果

【Spring】使用注解存储Bean对象

目录 一、配置扫描路径&#xff08;使用注解的方式存对象的前提&#xff09; 二、使用类注解存储Bean对象 1、使用五大类注解存储Bean对象 2、为什么要这么多的类注解&#xff1f; 2.1、五大类注解之间的关系 3、获取Bean对象时的默认命名规则 三、使用方法注解来存储…

数据结构:栈的实现(C实现)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》 文章目录 前言一、栈的实现思路1. 结构的定义2. 初始化栈(StackInit)3. 入栈(StackPush)4. 出栈(StackPop)5. 获取栈顶元素(StackTop)6. 检查栈是否为空(StackEmpty)7. 销毁栈(StackDestroy) 二、…

IO进程线程day9(2023.8.7)

一、Xmind整理&#xff1a; 消息队列的原理&#xff1a; 共享内存的原理&#xff1a; 二、课上练习&#xff1a; 练习1&#xff1a;用信号的方式回收僵尸进程&#xff08;重点&#xff01;&#xff09; 1.子进程退出后&#xff0c;父进程会收到17)SIGCHLD信号。 2.父进程中捕获…

java版直播商城平台规划及常见的营销模式 电商源码/小程序/三级分销+商城免费搭建 bbcbbc

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务…

3.1 计算机网络和网络设备

数据参考&#xff1a;CISP官方 目录 计算机网络基础网络互联设备网络传输介质 一、计算机网络基础 1、ENIAC&#xff1a;世界上第一台计算机的诞生 1946年2月14日&#xff0c;宾夕法尼亚大学诞生了世界上第一台计算机&#xff0c;名为电子数字积分计算机&#xff08;ENIAC…

leetcode1-两数之和

vector知识回顾 C基础——STL——Vector_52Tiramisu的博客-CSDN博客 自己写的初始代码 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {int i 0, j 1;for(i 0; i < nums.size(); i){for(j 1; j < nums.size(); j){…

Python-OpenCV 图像的基础操作

图像的基础操作 获取图像的像素值并修改获取图像的属性信息图像的ROI区域图像通道的拆分及合并图像扩边填充图像上的算术运算图像的加法图像的混合图像的位运算 获取图像的像素值并修改 首先读入一副图像&#xff1a; import numpy as np import cv2# 1.获取并修改像素值 # 读…

blender 毛发粒子

新建平面&#xff0c;点击右侧粒子系统&#xff0c;选择毛发&#xff0c;调整毛发长度&#xff0c;数量&#xff08;Number&#xff09;&#xff0c;调整数量是为了避免电脑卡顿&#xff1b; 上面设置的每一根柱子都可以变成一个物体&#xff0c;点击渲染&#xff0c;渲染为选择…

微信云托管(本地调试)⑥:nginx、vue刷新404问题

一、nginx默认路径 1.1、默认配置文件路径&#xff1a;/etc/nginx/nginx.conf 1.2、默认资源路径&#xff1a;/usr/share/nginx/html/index.html 二、修改nginx.conf配置 &#xff08;注意配置中的&#xff1a;include /etc/nginx/conf.d/*.conf; 里面包了一个server配置文件…

【Rust】Rust学习 第六章枚举和模式匹配

本章介绍 枚举&#xff08;enumerations&#xff09;&#xff0c;也被称作 enums。枚举允许你通过列举可能的 成员&#xff08;variants&#xff09; 来定义一个类型。首先&#xff0c;我们会定义并使用一个枚举来展示它是如何连同数据一起编码信息的。接下来&#xff0c;我们会…

爬虫011_元组高级操作_以及字符串的切片操作---python工作笔记030

获取元组的下标对应的值 注意元组是不可以修改值的,只能获取不能修改 但是列表是可以修改值的对吧

NSS [MoeCTF 2022]baby_file

NSS [MoeCTF 2022]baby_file 题目源码直接给了 使用data伪协议发现被ban了。 那就换一种伪协议php://filter&#xff0c;猜测flag在同目录下flag.php中或根目录下/flag中 php://filter/readconvert.base64-encode/resourceflag.php读取文件源码&#xff08;针对php文件需要ba…

RISC-V公测平台发布:如何在SG2042上玩转OpenMPI

About HS-2 HS-2 RISC-V通用主板是澎峰科技与合作伙伴共同研发的一款专为开发者设计的标准mATX主板&#xff0c;它预装了澎峰科技为RISC-V高性能服务器定制开发的软件包&#xff0c;包括各种标准bencmark、支持V扩展的GCC编译器、计算库、中间件以及多种典型服务器应用程序。…

龙架构 Arch Linux 发行版发布

导读近日&#xff0c;龙架构 Arch Linux 发行版官方网站宣布结束 beta 状态&#xff0c;正式支持龙架构 (LoongArch)。 Arch Linux 是一种轻量级、可定制、灵活的 Linux 操作系统。作为一款简单、现代、开放的操作系统&#xff0c;Arch Linux 旨在基于 “KISS 原则”&#xff0…

fabric.js里toDataURL后,画布内容展示不全?

复现场景&#xff1a; 用fabric生成画布后&#xff0c;转成图片&#xff0c;然后直接在浏览器里打开&#xff0c;画布展示内容缺失 画布原图&#xff1a; toDataURL后链接在浏览器打开&#xff1a; 原因解析&#xff1a; base64链接太长&#xff0c;输入浏览器链接被截断&…
最新文章