Mind Map:大语言模型中的知识图谱提示激发思维图10.1+10.2

知识图谱提示激发思维图

  • 摘要
  • 介绍
  • 相关工作
  • 方法
    • 第一步:证据图挖掘
    • 第二步:证据图聚合
    • 第三步:LLM Mind Map推理
  • 实验
    • 实验设置
    • 医学问答
    • 长对话问题
    • 使用KG的部分知识生成
    • 深入分析
  • 总结

在这里插入图片描述

摘要

LLM通常在吸收新知识的能力、generation of hallucination 以及决策过程的透明度方面有局限性。

“generation of hallucination”(幻觉生成)
可以指代使用计算机模型或算法生成虚假的感知或幻觉。这是指通过对输入数据进行处理和转换,模型可以生成看起来像是真实幻觉的信息。
大语言模型如GPT-3是基于机器学习技术的,通过从大量文本数据中学习语言模式和上下文来生成文本回复。尽管它可以生成合理的、连贯的回答,但它并不具备真实的感知能力,也不会产生真实的幻觉。

本文讨论了如何用知识图谱提示LLM,作为一种补救措施,让LLM掌握最新知识,并结合内隐知识和检索的外部知识进行推理。此外,还研究了从LLM中引出推理路径。具体来说,建立了一个提示管道,使LLM能够理解KG的输入,并结合内隐知识和检索的外部知识进行推理。此外,还研究了引出mind map,LLM在此基础上进行推理并生成答案。
研究表明,生成的mind map展示了基于知识本体论的LLM推理路径,从而为LLM推理在生成中的预测和衡量带来了前景。

实验基于三个问题&答案集,也展示了mind map提示带来了惊人的经验收益。还证明了通过从KG中检索结构化事实,Mind Map可以优于一系列文档检索方法的提示,受益于KG更准确、简洁和全面的知识。

介绍

将LLM扩展到十亿个参数和万亿个单词,在各种任务中都能获得令人惊讶的表现。预训练的LLM可以通过微调适应领域任务,或者在结构调整中与人类偏好保持一致。尽管如此,LLM存在以下缺陷:

  1. 灵活性:
    预训练的LLM知识过时,对参数的更新不灵活。因为收集高质量的指令数据和构建训练管道成本可能高昂,或者持续微调LLM会带来灾难性遗忘的风险,微调LLM可能很棘手。

  2. hallucination:
    LLM会产生看起来合理但是输出错误的污染。

  3. 透明度:
    LLM因其黑盒性质缺乏透明度收到批评。知识隐含地存储在LLM的参数中,因此不可能进行验证。此外,深度神经网络中的参考过程难以捉摸,无法解释。

知识图谱是构建大规模结构知识库的经典方法,由三个实体和关系构成{head,relation,tail}。KG可以提供明确的知识表示和可解释的推理路径。此外,KG还可以不断修改,以调整现有知识或添加新知识。由于其灵活性、精确性和可解释性,KG成为LLM缺点的一种很好的补充。例如,将KG三元组添加到LLM的训练中,或者将KG编码器与LLM层缠绕在一起,以对图形和文本数据进行联合推理和优化。相比之下,本文工作集中在KG和固定LLM的推理上,这使用与强大的预训练LLM。一般来说,这个领域的现有技术可以分为以下两种类型:

  1. 检索强化 LLM推断:
    研究人员试图检索文档以增强LLM推断,同时又面临检索不准确和文档冗长的问题。最近,有几次尝试将提取的KG三元组合并到LLM的提示中,以回答与KG相关的问题。然而,这种方法将KG输入视为纯文本,并忽略其图形结构,这导致生成的响应很难验证,并且容易产生幻觉。

  2. 使用LLM进行图形挖掘:
    也有人试图促使LLM理解图形输入,而他们主要试验图形挖掘任务,例如边缘检测和图形摘要。在需要基于KGs的多个证据图进行复杂推理的文本生成任务中,很少对其进行探索。

这项工作的目标是建立一种即插即用的提示方法,以引出LLM中的思维图推理能力。我们称我们的方法为Mind Map,因为它使LLM能够理解图形输入,从而构建自己的mind map,支持基于证据的生成。

在这里插入图片描述

框架的概念演示如图2所示。具体来说,MinaMap激发了LLM的思维图,(1)整合从KGs中检索到的事实和LLM中的隐含知识,
(2)在输入KGs中发现新模式,
(3)在mindMap上推理以获得最终输出。

在三个数据集上进行了实验,以表明MindMap在很大程度上优于其他一系列尝试方法。这项工作主要研究LLM如何学会与KG进行协同推理,将内隐和外显知识相结合,形成透明可靠的干预。

相关工作

提示工程
“预训练、提示、预测”范式已经成为少量或零样本方式进行自然语言处理的最佳方式。核心是LLM能够通过上下文内学习适应输入上下文和指令后的新任务,尤其是指令调整和对齐检索增强生成是为LLM推理提供额外证据的一种动态方式。通常做法是查询密集数据库,找到输入用户问题的相关文档,然后将检索到的语料库放回提示输入。然而,文档可能很长,因此不符合LLM的上下文限制。而且,及时可以构建长文档做为提示,LLM通常无法在提示中间捕获信息并会产生幻觉。另一条研究路线旨在提示引发LLM在链和树中间的推理步骤,尽管如此,本文的工作还是探索了在图输入上激发LLM的推理,重点是与内隐和外显知识的联合推理。
知识图谱强化LLM
研究人员探索使用KG来增强LLM主要在一下两个方向上:
(1)将KG合并到LLM预训练
(2)将KG注入LLM推断过程

对于(1),通过将KG实体和关系放入训练数据中来设计知识感知训练对象是一种常见的做法,或应用KG检测任务(例如链接预测)作为附加监督。然而,当阿静预先收集的数据扩展到具有三个单词的网络规模语料库时,难以找到或创建具有近似规模的KG。跟重要的是,尽管这些方法通过监督将KG知识直接压缩到LLM的参数中。它们并没有减轻LM在可修复性、可靠性和透明度方面的基本限制。

对于(2),早期的工作集中再通过注意力将KG三元组融合到LLM的输入中,或将图编码器链接到LLM编码器已处理KG输入。后续研究进一步采用了与LLM并行的图神经网络进行联合推理,并在LLM的中间层添加了文本标记和KG实体之间的交互。看到最近预训练LLM的成功,研究范式正在转向用图形输入来提示固定的预训练LLM。这一行的重新搜索包括提示KG实体链接前缀的LLM、图形挖掘和KG问答。虽然这些方法允许LLM理解图形属兔,但它们要么专门针对KG任务,要么回忆检索到的事实并将其翻译为纯文本而忽略了KG的结构。

方法

MindMap框架如图3所示,包括三个主要组件:

  1. 证据图挖掘:首先从原始输入中识别实体集 V q V_q Vq,并插叙KG构建多个证据子图 G q G_q Gq
  2. 证据图聚合:接下来,LLM被提示理解并聚合检索到的证据子图,以构建推理图 G m G_m Gm
  3. 在mind map上的LLM推理:最后,提示LLM整合所构建的推理图及其隐含知识来生成答案,并构建解释推理过程的mind map。

在这里插入图片描述

第一步:证据图挖掘

从外部KG中发现相关证据的子图,分为两个主要步骤:
实体识别:首先通过上下文学习提示LLM从问题查询Q中提取关键实体。构建了一组样例{ Q k , M k {Q_k,M_k} Qk,Mk} k K _k^K kK,其中都由一对输入句子 O k O_k Ok和相应的实体集 M k M_k Mk组成。将样本作为内容预先发送到候选查询Q,并要求LLM生成实体集M。由于提取的实体M可能不都属于G中的实体集,所以需要进一步执行实体链接。具体来说,用BERT编码器将G中和M内的所有实体分别编码为密集嵌入 H G H_G HG H M H_M HM。将M中的每个实体与G中与其最近的相邻实体通过比较它们的余弦相似性联系起来,

证据子图探索
通过在这里插入图片描述定义资源知识图谱,其中在这里插入图片描述代表了实体集、关系集和文本集。本阶段的目标是基于抽取的实体 V q V_q Vq建立证据子图在这里插入图片描述
一个证据子图被定义为在这里插入图片描述,其中 V q V_q Vq是节点集, E q E_q Eq是边集,其中每一条边都有在这里插入图片描述

通过基于路径和基于邻居的探索来探索源KG,以构建证据子图的过程如图4所示。

在这里插入图片描述
基于路径的证据图探索 通过追踪Vq中的实体在G中的中间路径来连接它们:
(a)选择 V q 0 V^0_q Vq0中的一个节点作为上的起始节点 v 1 v_1 v1。将剩余节点放置在候选节点集中Vcand。探索从 v 1 v_1 v1到下一个节点 v 2 v_2 v2的k跳,其中v2 属于 Vcand。如果在k跳内成功到达 v 2 v_2 v2,则将起始节点更新为 v 2 v_2 v2,并从Vcand中删除 v 2 v_2 v2。如果在k个跳中找不到 v 2 v_2 v2,则连接到目前为止获得的路径段,并将其存储在 G q p a t h G^{path}_q Gqpath中。然后从Vcand中选择另一个节点 v 1 ′ v'_1 v1作为新的开始节点,并从Vcand中移除 v 1 v_1 v1 v 2 v_2 v2
(b)检查Vcand是否为空。如果它不为空,则迭代(a)以查找路径的下一段。如果它为空,则连接所有段以构建一组子图,并将它们放入 G q p a t h G^{path}_q Gqpath中。

基于邻居的证据图探索目的是将更多与查询相关的证据纳入Gq。分为两步:
(a)通过1跳到它们的邻居节点{v’}来扩展每个节点v∈Vq,以将三元组{( v , e , v ′ v,e,v' v,e,v)}添加到Gneiq
(b)检查每个v’是否在语义上与该问题相关。如果相关,进一步扩展v’的一跳邻居,在Gneiq中添加三元组( v n e i , e ′ , v ′ v_{nei},e',v' vneiev)。

还将用bridging pathway中所有新添加的中间节点更新Vq。经过探索对Gpathq和Gneiq进行了调整,以减少头上的信息,同时保持多样性:
(a)按照它们的头实体对所有子图进行聚类,在探索之前从原始查询中提取并填充Vq
(b)检查每个聚类,如果图的数量超过预定义的阈值,则随机抽样。

通过合并剩下的子图,我们可以获得最终的证据图Gq

第二步:证据图聚合

在这一步骤中,提示LLM来将不同的证据子图Gq聚合到合并的推理图Gm中,以便为步骤3中的输出生成带来所有证据子图的全局视图。

添加了结构来提示LLM用自然语言描述每个证据子图G*q的结构指令。生成证据路径集Gq={cq(1),cq(2),…,cq(n)},其中每个c*q表示一个结构路径,例如“(疲劳,恶心)- 表示 -肝脏问题”。分别对所有基于路径的子图Gpathq和所有基于邻居的子图Gneiq进行提示,生成推理图Gm={Gpathm,Gneim}。这种设计提示有两个优点:
(1)LLM采用了小子图的整体视图,将它们浓缩成统一简洁的格式;
(2)LLM有助于消除自然语言中相似实体的歧义。

第三步:LLM Mind Map推理

在这一步骤中,LLM会被合并的两个证据图Gpathm,Gneim提示以产生最终输出。
图推理的提示
为了触发LLM生成mind map并找到最终结果,本文提供了一个由五个组件组成的prompt:系统指令、问题、证据图Gm、Graph-of-Thought指令和模板。具体来说,Graph-of-thought指令要求LLM在(a)理解输入的证据图,(b)建立自己的推理mind map,以及(C)用证据图建立的基础时,一步一步地思考以产生最终结果。

附录D的表8中提供了使用的提示模板。最后的计划是在思维导图上提供详细的图形推理路径,其中图形中的每个实体都以输入证据图Gm为基础,如图3中的右框所示。

LLM和KG知识的协同推理
先前的检索增强了LLM倾向于重新表述检索到的事实,而忽略了LLM本身的知识。然而,Mind Map鼓励LLM在自己的知识范围内丰富检索到的证据图,从而实现协同推理。据推测LLM是通过(1)语言理解实现的,因为LLM可以理解并从自然语言描述的Gm中提取知识边缘;(2)知识推理,因为LLM在产生基于Gm构建的Mind Map的最终答案时利用了其隐含的边缘知识。如图2所示,LLM可以识别连接现有节点和文本图信息的新链接,从而启用graph-of-thought并产生新的见解。

实验

针对一系列需要复杂推理和领域知识的问题&答案任务,并将其与基于检索的基线进行比较。

实验设置

实验设计三个数据集:
(1)GenMedGPT-5k
(2)CMCQA
(3)ExplainCPE
这些数据集的统计数据如表1所示。
附录A中描述了数据管理过程。
此外,建立了两个KG,EMCKG和CMCKG,以支持KG增强方法。

选择普通的GPT-3.5和GPT-4作为仅使用隐含知识进行推断的基线。然后添加了三个检索增强基线:BM25检索器、Text Enbed ding检索器和KG检索器。

医学问答

使用GenMedGPT-5k测试LLM如何处理医学领域的问题回答,LLM需要回答疾病诊断、药物推荐和测试建议。
评估指标
使用BERTScore和GPT-4评分来定量评估所有方法的性能。BERTScore可以测量生成的答案与参考答案之间的语义相似性。

还利用GPT-4来理解答案:
(1)以基本事实为参考,对所有方法的答案质量进行排名;
(2)在四个轴上对两种选择方法的答案进行配对比较:反应多样性和完整性、总体情况的正确性、疾病诊断的正确性以及用药建议的正确性。
结果
表2给出了BERIScore和GPT-4的排名分数。
可以看出,所有方法都会产生类似的BERTScore,其中Mind Map显示出比其他方法的边缘改进,这意味着所有方法都产生了与真实答案相似的答案。这可能是由于所有反应的语气相似,与临床医生常用的语言相似,但BERTSCore只测量整体语义的相似性。然而,我们发现,当按GPT-4排名时,Mind Map比其他方法有明显的进步,平均排名为1.8725。相比之下,(vanilla baseline)香草基线GPT-3.5和GPT-4的答案最差,分别排名4.85和4.17。主要原因是回答医学问题需要对领域知识进行全面的探索和理解,而在GPT模型的实例知识中进行推理可能会导致看似合理但错误的答案。相比之下,本文方法对外部KG进行了彻底的探索,并提供了基于证据的答案。

从更精细的方面深入探讨这些方法的配对比较。结果如表3所示。可以观察到,与其他基线相比,Mind Map产生了全面优异的性能。与简单的知识基线相比,Mind Map在四个方面的平均得分分别为88.21%和82.97%。这进一步强调了引入外部知识以减轻LLM幻觉的重要性。此外,还发现Mind Map在很大程度上优于其他基于检索的方法。KG Retriever(KG检索器) 基线从与MindMap相同的KG中检索事实是不值得的。尽管如此,Mind Map的优势在于KG知识和简化LLM知识的协同推理,以及对KG来源的全面探索,从而产生准确多样的答案。然而,其他检索器基线存在检索不准确、知识库探索不足或输入过长的问题。

长对话问题

在CMCQA数据集上进行了实验,其中,长对话需要更复杂的推理来涵盖答案所需的所有事实。ChatGPT-4的排名结果如表4所示。其中MindMap的排名仍然优于大多数基线,但是与KG检索器相似。表5进一步说明了成对获胜率结果,其中MindMap在GPT-4判断中始终优于基线。具体来说,与公认的GenMedGPT-5K相比,MindMap方法与基线之间差距缩小了。这是因为所使用的KG没有涵盖回答CMCQA中问题所需的所有事实。

在这里插入图片描述
在这里插入图片描述

尽管如此,MindMap仍然优于所有基于检索的数据库,包括KG检索器。据推测,以前的基于检索的方法倾向于只根据检索到的外部知识进行推断来回答问题,然而,这种简单的提示策略破坏了LLM利用其隐含知识理解复杂逻辑和复杂对话的能力。相反,MindMap在图推理过程中结合了外部知识和内部知识,从而从两者中获得更准确的答案。

使用KG的部分知识生成

研究了MindMap在仅从部分涵盖explainCPE中回答问题所需知识的KG检索时的性能。至关重要的是,LLM需要通过结合其隐含知识和检索知识来得出答案,这在生产中很常见。

评估指标
根据生成的选择的准确性和生成的解释的质量来评估所有方法。为了评估解释质量,还使用了BERTScore和GPT-4排名。具体来说,我们要求GPT-4评分器优先考虑解释的正确性,而不是帮助性或完整性。

结果
在这里插入图片描述

表6中显示了所有方法的准确性。发现MindMap比大多数基线都获得了更好的准确性,这进一步验证了MindMap相对于文档检索提示方法的优越性。还发现,简单地将检索到的知识放入程序有时会破坏答案的质量。因为KG检索器和BM25检索器的性能都比普通GPT-3.5模型差。通过检查错误的答案,发现检索到的事实只能部分回答问题,因为使用的外部知识库和问题之间不匹配。这一发现将LLM的显式和隐式知识相结合,以实现具有鲁棒性的推理。还发现,GP1-4比GPT-3.5+MindMap更好。据推测,从国家执业药剂师考试中提取的试题在GPT-4的预训练语料库中,并存储在GPT-4的内部记忆中。

对指令提示的设计进行了消融分析。删除明确指示LLM“与您现有的知识相结合”的提示P1可将模型的性能提高8.2%。此外,表7表明MindMap在生成答案的理由方面表现出色,在GPT-4中排名2.98。
在这里插入图片描述

深入分析

MindMap进一步对案例进行了深入分析,重点讨论了以下几个方面。

Mind Map如何对不匹配的事实保持健壮性?
附录E中图5中的解释充分问题包含多个症状事实,其中一些具有误导性。在这个方案中,某些事实,例如“我眼睛里的黄疸”,在检索相关证据时提供了不正确的信息。例如,文档检索器等基线模型在搜索证据时检索到与“眼睛”相关的知识,导致无法获得正确的疾病。推荐的药物和测试也与肝脏疾病无关。相比之下,我们的模型MindMap准确地将这种疾病识别为“肝硬化”,并建议进行适当的测试,即“血液测试”,证明了其健壮性。
在这里插入图片描述

MindMap如何聚合考虑实体语义的证据图?
如图6所示
在这里插入图片描述
类似“阴道炎”和“萎缩性阴道炎”在不同的证据子图中出现,但它们在本质上是相同的。MindMap使LLM能够消除歧义,并合并相同的证据图进行推理。h-nal思维导图输出还将实体定位到输入证据图。此外,图6显示了GPT-4评分者对所有方法的总体事实正确性和疾病诊断事实正确性的偏好。对于所有事实正确性来说,GPT-4评分器指出,MindMap提供了更具体的疾病诊断结果,而基线只给出了模糊的提及,缺乏治疗选择。为了疾病诊断的事实正确性,GPT-4评分器认为MindMap的诊断更符合常规。

MindMap如何可视化推理过程和证据来源?
图7展示了一个对CMCQA的完整的答案。输出由三个部分组成:摘要、推理过程和MindMap。摘要从MindMap中提取了正确和具体的结果,推理过程显示了从证据图Gm上提取的实体开始的多个推理链。MindMap将所有的推理链同一到推理图中。它提供了对每个推理步骤中涉及的知识连接以及证据查询子图的原始来源的直观理解。
在这里插入图片描述
MindMap如何利用LLM知识执行各种任务?
图8展示了MindMap在不同类型问题上的表现。
问题(a)和(d)是与药品有关的问题,需要深入的知识。在这些任务中,MindMap比其他方法显示出明显的优势。问题(b)和(f)是疾病知识的问题。在这些案例下,这种检索方法获得了与MindMap相当的结果,表明了外部知识的结合缓解了LLM的幻觉。最重要的观察来自问题(c),该问题设计一般知识。这种情况下,想GPT-3.5这样的LLM模型表现更好,而检索方法表现较差。这表明,检索方法在一定程度上忽略了LLM所学到的知识。相反,MindMap在处理一般知识问题方面的表现与GPT-3.5相当。这表明MindMap有效的将LLM本身的知识与KG知识协同用于推理目的。

总结

本文介绍了知识图谱的提示:
(1)赋予LLM理解KG输入的能力
(2)利用复杂的知识和检索到的外部知识结合用来促进LLM的推理
(3)研究了启发MindMap,LLM执行推理,并生成具有图中表示的原理来生成答案。通过在三个Q&A数据集上进行广泛的实验,展示了MindMap方法与普通LLM和检索增强生成方法相比有更为显著的时机效果。

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

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

相关文章

【BI看板】Superset2.0+图表二次开发初探

Superset图表功能也很丰富了,但一些个性化的定制需求就需要二次开发了。网上二开的superset版本大多是0.xxx版本的或1.5xxx版本,本次用的是2.xxx。 源码相关说明 源码目录 superset-2.0\superset-frontend\plugins\plugin-chart-echarts Yeoman 生成器 …

水库安全监测方案(实时数据采集、高速数据传输)

​ 一、引言 水库的安全监测对于防止水灾和保障人民生命财产安全至关重要。为了提高水库安全监测的效率和准确性,本文将介绍一种使用星创易联DTU200和SG800 5g工业路由器部署的水库安全监测方案。 二、方案概述 本方案主要通过使用星创易联DTU200和SG800 5g工业路…

试题:动态规划

爱吃鬼 小艺酱每天都在吃和睡中浑浑噩噩的度过。 可是小肚子是有空间上限v的。 小艺酱有n包零食,每包零食占据小肚子空间a_i并会给小艺酱一个甜蜜值b_i。 小艺酱想知道自己在小肚子空间上限允许范围内最大能获得的甜蜜值是多少? 使用c和动态规划解题&#xff1a…

Kaggle - LLM Science Exam(一):赛事概述、数据收集、BERT Baseline

文章目录 一、赛事概述1.1 OpenBookQA Dataset1.2 比赛背景1.3 评估方法和代码要求1.4 比赛数据集1.5 优秀notebook 二、BERT Baseline2.1 数据预处理2.2 定义data_collator2.3 加载模型,配置trainer并训练2.4 预测结果并提交2.5 deberta-v3-large 1k Wiki&#xff…

Python 无废话-基础知识元组Tuple详讲

“元组 Tuple”是一个有序、不可变的序列集合,元组的元素可以包含任意类型的数据,如整数、浮点数、字符串等,用()表示,如下示例: 元组特征 1) 元组中的各个元素,可以具有不相同的数据类型,如 T…

十二、Django之模板的继承+用户列表

模板的继承 新建layout.html&#xff1a; {% load static %} <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"{% static plugins…

前端 富文本编辑器原理——从javascript、html、css开始入门

文章目录 ⭐前言⭐html的contenteditable属性&#x1f496; 输入的光标位置&#xff08;浏览器获取selection&#xff09;⭐使用Selection.toString () 返回指定的文本⭐getRangeAt 获取指定索引范围 &#x1f496; 修改光标位置&#x1f496; 设置选取range ⭐总结⭐结束 ⭐前…

一座“城池”:泡泡玛特主题乐园背后,IP梦想照亮现实

“更适合中国宝宝体质”的主题乐园&#xff0c;被泡泡玛特造出来了。 9月26日&#xff0c;位于北京朝阳公园内的国内首个潮玩行业沉浸式 IP 主题乐园&#xff0c;也是泡泡玛特首个线下乐园——泡泡玛特城市乐园 POP LAND正式开园。 约4万平方米的空间中&#xff0c;泡泡玛特使…

第五课 树与图

文章目录 第五课 树与图lc94.二叉树的中序遍历--简单题目描述代码展示 lc589.N叉树的层序遍历--中等题目描述代码展示 lc297.二叉树的序列化和反序列化--困难题目描述代码展示 lc105.从前序与中序遍历序列构造二叉树--中等题目描述代码展示 lc106.从中序与后序遍历序列构造二叉…

我的第一个react.js 的router工程

react.js 开发的时候&#xff0c;都是针对一个页面的&#xff0c;多个页面就要用Router了&#xff0c;本文介绍我在vscode 下的第一个router 工程。 我在学习react.js 前端开发&#xff0c;学到router 路由的时候有点犯难了。经过1-2天的努力&#xff0c;终于完成了第一个工程…

【安鸾靶场】实战渗透

文章目录 前言一、租房网 (150分)二、企业网站 (300分)三、SQL注入进阶 (550分) 前言 最近看到安鸾的靶场有些比较有意思就打了一下午&#xff0c;有一定难度。 一、租房网 (150分) http://106.15.50.112:8031/ 刚打开burp就报了thinkphp的代码执行 直接getshell flag&a…

【Docker】Docker的应用包含Sandbox、PaaS、Open Solution以及IT运维概念的详细讲解

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 &#x1f4d5;作者简介&#xff1a;热…

【数据结构】栈的实现

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要了解实现栈的相关操作。 目录&#xff1a; &#x1f30d; 栈的概念&#x1f30e;栈的实现✉️ 初始化栈 和…

Linux-centos系统安装MySql5.7

1.配置yum仓库 1.1配置yum仓库 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 1.2 安装Mysql yum库 rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm 2.使用yum安装Msql 说明&#xff1a;下载大约5分钟左右 yum -y install mysq…

【赠书活动】Excel透视表的简单应用

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

如何优雅构建自定义 Spring Boot 验证器,让你的代码更加丝滑!

作为一名开发人员&#xff0c;你应该知道确保应用程序中流动的数据的准确性和完整性是多么重要。Spring Boot提供了强大的验证功能&#xff0c;但有时我们需要额外的验证&#xff0c;创建适合特定需求的自定义验证器。 接下来&#xff0c;我们来介绍下如何完整的创建一个自定义…

日期相关工具类

日期相关工具类 【一】介绍【1】SimpleDateFormat 为什么是线程不安全【2】解决 SimpleDateFormat 线程不安全的方法 【二】LocalDate API【三】LocalTime API【四】LocalDateTime API【五】转换关系【1】LocalDateTime 与 LocalDate 之间的转换【2】LocalDateTime 与 Date 之间…

账户和组管理

1. 账户和工作组的分类 1.1. 用户分为三类&#xff1a; 超级账户——账户名为root&#xff0c;它具有一切权限&#xff0c;只有进行系统维护(例如&#xff1a;建立用户等)或其他必要情形下才 用超级用户登录&#xff0c;以避免系统出现安全问题。 系统账户——是Linux系统正常…

软件工程与计算总结(四)项目管理基础

目录 一.项目和项目管理 二.团队组织与管理 三.软件质量保障 四.软件配置管理 五.项目实践 一.项目和项目管理 1.软件开发远不是纯粹的编程&#xff0c;随着软件规模的增长&#xff0c;软件开发活动也变得越来越复杂~ 2.软件项目就是要将所有的软件开发活动组织起来&#…

简单聊一聊公平锁和非公平锁,parallel并行流

目录 一、降低锁的粒度&#xff0c;将synchronized关键字不放在方法上了&#xff0c;改为synchronized代码块。二、先区分一下公平锁和非公平锁1、公平锁2、非公平锁3、公平锁的优缺点&#xff1a;4、非公平锁的优缺点&#xff1a; 三、是否对症下药四、IntStream.rangeClosed是…