MindMap:大模型结合知识图谱,提供透明的推理路径

news2025/2/1 11:58:29

MindMap:大模型结合知识图谱,提供透明的推理路径

    • 提出背景
      • 1. 知识更新与整合
      • 2. 信息准确性与幻觉问题
      • 3. 推理透明度与解释性
      • 4. 处理复杂查询的能力
      • 5. 系统灵活性和扩展性
    • MindMap = 基于邻居的证据探索 + 基于路径的证据探索 + 证据整合 + 推理与生成
      • 左侧部分:证据图挖掘(Evidence Graph Mining)
      • 右侧部分:证据图聚合(Evidence Graph Aggregation)
    • MindMap = 基于邻居 (关键实体识别+邻居节点扩展+相关节点筛选) + 基于路径 (关键路径识别+路径证据图构建+多跳信息整合)
        • 邻居证据探索
        • 路径证据探索
        • 证据整合
        • 推理与生成
      • 推理过程
        • 1. 用户查询 (Question Query)
        • 2. 首次LLM处理(实体识别和初步推理)
        • 3. 证据图聚合 (Merged Reasoning Graph)
        • 4. 第二次LLM处理(生成输出)
      • 3.1 步骤I:证据图挖掘
        • 3.1.1 实体识别
        • 3.1.2 证据子图探索
      • 3.2 步骤II:证据图聚合
        • 3.2.1 整合步骤
      • 3.3 步骤III:LLM结合思维导图进行推理
        • 3.3.1 图推理提示
        • 3.3.2 LLM与KG知识的协同推理
    • 应用可能的问题
      • 主要问题
        • 解决节点堆积问题
        • 减少无用文本
        • 提高推理速度
        • 减少相似度节点
        • 优化提示词设计
        • 优化节点选择算法
        • 可靠性问题,没有机制,去复验生成结果的

 


提出背景

论文:https://arxiv.org/pdf/2308.09729

代码:https://github.com/wyl-willing/MindMap

MindMap 通过结合知识图谱提供实时知识更新和透明的推理路径,相比传统LLM在处理复杂查询时显著提升了准确性、透明度和解释能力。

1. 知识更新与整合

  • 传统LLM:通常依赖于固定的预训练数据,难以实时更新或整合新知识。
  • MindMap:通过动态接入知识图谱(KG),能够实时更新和引入新的、结构化的知识,提高模型的时效性和相关性。

2. 信息准确性与幻觉问题

  • 传统LLM:可能会生成不准确的信息或“幻觉”,特别是在数据稀疏或模型训练不足的领域。
  • MindMap:利用知识图谱作为验证工具,减少错误信息的生成,增加输出的可靠性。

3. 推理透明度与解释性

  • 传统LLM:作为“黑盒”模型,其决策和推理过程往往缺乏透明度和易于理解的解释。
  • MindMap:通过构建可视化的思维图,显著提高模型的透明度,使推理过程可追踪,易于理解。

4. 处理复杂查询的能力

  • 传统LLM:在处理需要多实体关联和多步骤逻辑推理的复杂查询时可能表现不足。
  • MindMap:结合LLM的自然语言处理能力和KG的结构化数据,强化了模型处理复杂、多变量查询的能力。

5. 系统灵活性和扩展性

  • 传统LLM:对于新领域或特定类型的任务需要重新训练或微调,这可能是资源密集和时间消耗大的。
  • MindMap:通过模块化的知识图谱集成,可以更灵活地添加或修改知识领域,快速适应新的应用场景。

MindMap通过创新性地融合知识图谱和大型语言模型,克服了单纯依赖LLM处理复杂查询时的多种限制,为用户提供了更精确、可靠、透明和解释性强的解决方案。

MindMap = 基于邻居的证据探索 + 基于路径的证据探索 + 证据整合 + 推理与生成

在这里插入图片描述
这张图展示了MindMap方法的整体架构,分为两个主要部分:证据图挖掘和证据图聚合,以及基于思维导图(树思维链)的LLM推理。

左侧部分:证据图挖掘(Evidence Graph Mining)

  1. 问题(Question)
    • 示例问题:“医生,我最近感觉非常疲倦,腹部肿胀和触痛,并且眼睛有黄疸。这可能是肝脏问题吗?”
  2. 关键词(Keywords)
    • 从问题中提取的关键词包括:肝脏问题(Liver problem)、疲劳(Fatigue)、腹部肿胀(Abdominal swelling)、腹部触痛(Abdominal tenderness)、黄疸(Jaundice)。
  3. 实体识别(Entity Recognition)
    • 通过BERT相似度匹配,从提取的关键词和外部知识图谱中找到相关实体,形成Vq。
  4. 基于路径的证据图探索(Path-based Evidence Graph Exploration)
    • 详细展示了如何通过多跳路径探索找到相关实体和路径的过程。
  5. 基于邻居的证据图探索(Neighbor-based Evidence Graph Exploration)
    • 通过一跳邻居探索找到相关实体和证据图的过程。

右侧部分:证据图聚合(Evidence Graph Aggregation)

  1. 证据图聚合(Evidence Graph Aggregation)
    • 将路径证据图和邻居证据图整合,形成推理图(Reasoning graph)。
  2. 推理图(Reasoning graph)
    • 示例推理过程:疲劳可能是肝硬化的症状,肝硬化可能导致胃胀,胃胀也可能是肝癌的症状等。
  3. 输出(Outputs)
    • Output1:总结(Summary):基于症状描述,患者可能患有肝硬化,需要进行血液测试,推荐使用抗病毒药物。
    • Output2:推理过程(Inference process):详细描述了推理的每一步,包括从症状到可能疾病的路径。
    • Output3:决策树(Decision tree):展示了患者症状到最终诊断结果的思维导图,清晰地展示了推理过程。

这张图提供了MindMap方法的概览,左侧部分展示了证据图挖掘的各个组件,右侧部分展示了证据图聚合和基于思维导图的LLM推理。

通过结合基于邻居和路径的证据探索,MindMap能够生成准确且有理由的答案,并通过图形化的推理过程提供透明的解释。

MindMap = 基于邻居 (关键实体识别+邻居节点扩展+相关节点筛选) + 基于路径 (关键路径识别+路径证据图构建+多跳信息整合)

邻居证据探索
  • 特点:专注于邻近节点的探索,通过扩展每个节点到其直接邻居节点,来发现与查询相关的知识。
  • 优势:在提高事实准确性方面表现较好,因为它能够通过邻近的相关节点快速找到准确的知识。
  • 缺点:在处理需要跨越多个节点(多跳)的复杂答案(如药物和测试推荐)时,表现不佳。
路径证据探索
  • 特点:通过探索从一个节点到另一个节点的路径,发现中介路径来连接查询中的重要实体。
  • 优势:在查找相关外部信息方面表现较好,特别是在需要综合多个相关节点的信息时。
  • 缺点:在处理需要精准的单步答案时,可能会因为路径过长而降低准确性。
证据整合
  • 特点:将邻居和路径证据图整合为一个统一的综合证据图。
  • 优势:能够将多种来源的证据整合,形成更全面的知识图谱,提高推理的全面性和准确性。
  • 缺点:需要处理和消除冗余信息,可能增加计算复杂性。
推理与生成
  • 特点:基于综合证据图进行推理,生成准确且带有理由的答案。
  • 优势:生成的答案更加可信,因为推理过程透明且可追溯。
  • 缺点:需要较强的计算能力来处理复杂的推理过程。

MindMap通过结合这两种方法,能够充分利用它们各自的优势,达到更好的性能和鲁棒性:

  • 减少幻觉:结合路径和邻居的证据探索方法,能够有效减少生成答案中的幻觉。
  • 提高准确性:利用邻居证据探索的高准确性,确保回答的基本正确性。
  • 增强多跳推理能力:利用路径证据探索的多跳推理能力,处理复杂的查询任务,如药物和测试推荐。

基于邻居的方法,在提高事实准确性方面比基于路径的方法更有效。

对于涉及医学查询的任务,基于路径的方法在查找相关外部信息方面更好,但在处理诸如药物和测试推荐等多跳答案时表现不佳。

  • 基于邻居的方法适合处理直接相关和单步答案的查询(简单症状查询、单一测试推荐)
  • 基于路径的方法更适合处理复杂、多因素相关的查询(复杂疾病诊断、药物推荐)。

MindMap的优越表现主要来自于它能够灵活结合邻居和路径两种证据探索方法,从而在不同类型的任务中都能表现出色。

这种综合方法确保了系统在处理简单和复杂查询时都能提供准确且合理的答案。

 

假设有一个用户查询:“患者最近一直感到疲劳,并且腹部肿胀,可能是什么问题?”

邻居证据探索

  • 回答:"疲劳"和"腹部肿胀"可能与"肝硬化"相关。
  • 过程:模型扩展到直接邻居节点,找到"疲劳"和"腹部肿胀"与"肝硬化"的直接关联。

路径证据探索

  • 回答:"疲劳"和"腹部肿胀"可能与"肝硬化"或"肝癌"相关。
  • 过程:模型探索从"疲劳"和"腹部肿胀"到"肝硬化"和"肝癌"的中介路径,发现多个可能的关联。

MindMap(结合邻居和路径)

  • 回答:"疲劳"和"腹部肿胀"可能与"肝硬化"相关,需要进行"血液测试"以确认,且可能需要"抗病毒药物"治疗。
  • 过程
    1. 邻居证据探索:模型找到"疲劳"和"腹部肿胀"与"肝硬化"的直接关联。
    2. 路径证据探索:模型发现从"疲劳"和"腹部肿胀"到"肝硬化"和"肝癌"的中介路径。
    3. 证据整合:整合邻居和路径信息,确定最相关的疾病。
    4. 推理与生成:基于综合证据图,生成详细的诊断建议,包括"血液测试"和"抗病毒药物"。

推理过程

在这里插入图片描述

这张图片详细展示了MindMap框架在处理用户健康查询时的具体工作流程和推理过程。

1. 用户查询 (Question Query)
  • 用户输入一个问题,描述了自己的症状:“疲劳、腹胀、触痛、黄疸等”,并询问是否可能是肝脏问题。
2. 首次LLM处理(实体识别和初步推理)
  • 提取关键症状和潜在疾病:LLM识别用户输入中的关键症状(如疲劳、腹胀、触痛、黄疸)和可能的相关疾病(如肝脏问题、肝癌等)。
  • 初步推理和证据图构建:系统生成路径证据图(path evidence graph)和邻居证据图(neighbor evidence graph),显示症状与潜在疾病之间的关联。
3. 证据图聚合 (Merged Reasoning Graph)
  • 路径证据图:展示了从疲劳到肝硬化、肝癌的可能路径,包括相关症状和需要的医疗测试。
  • 邻居证据图:展示了其他相关的症状和疾病之间的关系,例如黄疸与胆结石之间的关系。
  • 合并推理图:结合路径证据图和邻居证据图,形成一个综合推理图,显示所有相关信息和推理路径。
4. 第二次LLM处理(生成输出)
  • Output 1:摘要:基于描述的症状,生成一个摘要,指出患者可能患有肝硬化,并需要进行血液测试等推荐的医疗措施。
  • Output 2:推理过程:详细说明推理步骤,例如从“疲劳”推导出可能是“肝硬化”的症状,并进一步推导出需要的测试和医疗措施。
  • Output 3:思维导图:生成一个思维导图,显示推理过程中的各个步骤和逻辑关系,例如患者感觉到疲劳,这可能是肝硬化的症状,进一步需要进行血液测试等。

在这里插入图片描述

 
MindMap分为三个主要部分。

3.1 步骤I:证据图挖掘

在这一阶段,我们需要从外部知识图谱(KG)中发现与问题相关的证据子图。具体步骤如下:

3.1.1 实体识别
  • 目标:从用户输入的问题查询(Q)中识别关键实体。
  • 过程
    1. 构建提示:提示包含三个部分:待分析的问题、模板短语“The extra entities are”和两个示例。详见附录D的表9。
    2. 使用LLM识别实体:应用BERT相似度匹配实体和关键词。具体步骤如下:
      • 将LLM提取的所有关键词实体(M)和外部知识图谱中的所有实体(G)编码为稠密嵌入(HM和HG)。
      • 计算它们之间的余弦相似度矩阵。
      • 对于每个关键词,找到相似度最高的实体集(Vq),以便在下一步中构建证据子图。
3.1.2 证据子图探索
  • 目标:基于识别出的实体(Vq)从知识图谱中构建证据子图(Gq)。
  • 过程
    1. 定义源知识图谱:G = {⟨u, r, o⟩ |u ∈ ψ, r ∈ φ, o ∈ L },其中ψ、φ和L分别代表实体集、关系集和文本集。
    2. 构建证据子图:使用两种方法:
      • 基于路径的探索:追踪知识图谱中的中介路径以连接查询中的重要实体。
        • 从Vq中的某个节点出发,探索最多k跳的连接节点,直到所有路径段连接在一起,形成子图集Gpath q。
      • 基于邻居的探索:通过扩展每个节点到其邻居节点来添加相关知识。
        • 添加三元组{(n, e, n′)}到Gnei q中。
    3. 更新和修剪子图
      • 新增中间节点更新Vq。
      • 通过聚类和采样对Gpath q和Gnei q进行修剪,以管理信息过载并保持多样性。
    4. 结果:生成最终的证据图Gq,优化信息同时保持多样性。

3.2 步骤II:证据图聚合

在此阶段,LLM需要将不同的证据子图(Gq)整合为一个统一的推理图(Gm)。

3.2.1 整合步骤
  • 目标:将多样的证据子图整合为统一的推理图(Gm)。
  • 过程
    1. 提取子图:从前一步中提取至少k个基于路径和k个基于邻居的证据子图。
    2. 格式化子图:将每个子图格式化为实体链(例如“(Fatigue, Nausea) - IsSymptomOf - LiverProblem”),并分配序列号(如P1、P2、N1、N2)。
    3. 提示LLM转换实体链:使用附录D表10中的模板,将每个实体链转换为自然语言描述,并定义为推理图Gm。
    4. 优势:简化子图为捕捉关键信息的简洁一致格式,并利用LLM的自然语言理解和生成能力统一语义相似的实体,解决潜在歧义。

3.3 步骤III:LLM结合思维导图进行推理

在此步骤中,我们使用推理图(Gpath m和Gnei m)提示LLM生成最终输出。

3.3.1 图推理提示
  • 目标:生成思维导图并找到最终结果。
  • 过程
    1. 提示组件:包含五个部分:系统指令、问题、证据图Gm、思维图指令和示例。
    2. 构建思维导图:使用Langchain技术指导LLM理解和增强输入,构建自己的推理思维导图,并索引思维导图的知识来源。提示模板详见图3。
    3. 生成最终答案:包括摘要答案、推理过程和显示图推理路径的思维导图。
3.3.2 LLM与KG知识的协同推理
  • 目标:利用LLM和知识图谱(KG)的知识进行协同推理。
  • 过程
    1. 语言理解:LLM能够理解并提取Gm和自然语言查询中的知识。
    2. 知识推理:LLM能够进行实体消歧,并基于由Gm构建的思维导图生成最终答案。
    3. 知识增强:LLM能够利用其隐含知识扩展、连接和改进与查询相关的信息。

逻辑关系拆解:

  • 目的:生成思维导图并进行推理。
  • 解法拆解
    • 子解法1:识别关键实体
      • 之所以用实体识别子解法,是因为它能确定查询中的重要信息。
    • 子解法2:构建证据子图
      • 之所以用证据子图子解法,是因为它能提供与查询相关的背景知识。
    • 子解法3:整合证据图
      • 之所以用证据图整合子解法,是因为它能统一信息,简化推理过程。
    • 子解法4:提示LLM生成思维导图
      • 之所以用思维导图子解法,是因为它能直观展示推理过程并生成最终答案。

 

举个例子。

步骤一:证据图挖掘

  • 场景:如果用户询问“糖尿病的常见并发症有哪些?”
  • 操作:系统首先识别出“糖尿病”作为关键实体,并通过路径探索和邻居探索在知识图谱中查找与糖尿病直接相关的并发症实体,如“视网膜病变”、“肾病”和“神经病变”。
  • 结果:这一步生成多个证据子图,展示糖尿病与各种并发症之间的直接联系和潜在路径。

步骤二:证据图聚合

  • 场景:整合从第一步得到的所有相关证据子图。
  • 操作:将不同的证据子图聚合成一个统一的推理图(Gm),这个图将详细展示糖尿病及其并发症之间的关系。
  • 结果:推理图帮助LLM全面理解糖尿病及其并发症的复杂关系,提供一个结构化的知识框架以支持更精确的输出。

步骤三:LLM在思维图上的推理

  • 场景:利用构建的推理图进行深入推理,回答用户的原始问题。
  • 操作:LLM结合推理图和自身的隐含知识,通过语言理解、知识推理和知识增强,生成关于糖尿病并发症的详细解答。
  • 结果:生成的答案不仅列出了糖尿病的常见并发症,还可能包括预防和治疗这些并发症的建议,提供了准确而深入的医疗信息。

应用可能的问题

思想实验,在实际场景可能遇到的问题:

  • 节点堆积
  • 大量无用文本和推理速度变慢
  • 大量相似度节点
  • 提示词写死无法适配环境

    我们将具体问题按逻辑关系进行拆解,并逐步提出详细的解决方案。

主要问题

  1. 节点堆积
  2. 大量无用文本
  3. 推理速度变慢
  4. 大量相似度节点
  5. 提示词写死,无法适配环境
  6. 可靠性问题,没有机制,去复验生成结果的
解决节点堆积问题
  • 子解法1:优化节点选择算法
    • 原因:确保仅选择最相关的节点,减少不必要的节点堆积。
    • 步骤
      1. 使用基于重要度评分的过滤器。
      2. 实现节点权重动态调整算法,确保关键节点优先处理。
  • 子解法2:引入节点压缩技术
    • 原因:通过合并相似节点,减少节点数量。
    • 步骤
      1. 使用聚类算法合并相似节点。
      2. 定期清理冗余节点,保持节点集合精简。
减少无用文本
  • 子解法1:改进文本生成规则
    • 原因:确保生成的文本与查询密切相关。
    • 步骤
      1. 在生成过程中加入上下文相关性检测。
      2. 设定生成文本的质量门槛,过滤低质量文本。
  • 子解法2:增强文本过滤机制
    • 原因:有效过滤掉无关或低质量的文本。
    • 步骤
      1. 使用自然语言处理(NLP)技术对生成文本进行语义分析。
      2. 实现自动过滤无关内容的算法。
提高推理速度
  • 子解法1:优化推理算法
    • 原因:加速推理过程,减少处理时间。
    • 步骤
      1. 实现并行处理机制,分段推理。
      2. 使用缓存机制存储常用推理路径,减少重复计算。
  • 子解法2:精简推理路径
    • 原因:减少推理路径中的冗余步骤。
    • 步骤
      1. 使用优化算法精简推理路径。
      2. 定期评估和更新推理路径,保持路径高效。
减少相似度节点
  • 子解法1:改进相似度计算方法
    • 原因:确保相似度计算更加精准,减少相似度节点的生成。
    • 步骤
      1. 使用更高级的相似度计算算法(如BERT)。
      2. 实现动态相似度阈值调整,确保相似度节点的准确性。
  • 子解法2:引入相似节点合并机制
    • 原因:通过合并相似节点,减少重复信息。
    • 步骤
      1. 使用聚类算法合并相似节点。
      2. 实现节点合并后的信息整合算法。
优化提示词设计
  • 子解法1:使用动态提示词生成
    • 原因:确保提示词能够适应不同查询环境。
    • 步骤
      1. 实现基于上下文的提示词动态生成算法。
      2. 使用机器学习模型预测最优提示词组合。
  • 子解法2:定期更新提示词库
    • 原因:保持提示词库的最新和适应性。
    • 步骤
      1. 定期收集和分析用户查询,更新提示词库。
      2. 实现自动化提示词测试和验证机制。
优化节点选择算法
  • 目的:解决节点堆积问题
    • 子解法1:优化节点选择算法
      • 原因:确保仅选择最相关的节点,减少不必要的节点堆积。
      • 步骤
        1. 使用基于重要度评分的过滤器:通过为每个节点分配重要度评分,过滤掉低重要度节点。
        2. 实现节点权重动态调整算法,确保关键节点优先处理:根据上下文动态调整节点的权重,优先处理最关键的节点。
可靠性问题,没有机制,去复验生成结果的

少了评估校准,这个工作流是很理想化。

到了真正工作的过程中,需要一个机制,去复验生成结果的。

目前想法是,树RAG + 树TOT 交叉验证。

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

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

相关文章

实现一个vue js小算法 选择不同的时间段 不交叉

以上图片选择了时间段 现在需要判断 当前选择的时间段 不能够是 有交叉的所以现在需要循环判断 //判断时间段是否重叠交叉 export function areIntervalsNonOverlapping(intervals:any) {// 辅助函数:将时间字符串转换为从当天午夜开始计算的分钟数function conver…

海豚调度清理:使用 API 轻松清理历史工作流实例以及日志文件

💡 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 祝开卷有益。 大数据学习指南 大家好,我是小陶,DolphinS…

橡胶:神奇的天然材料

你是否知道,橡胶其实是一个充满神秘与奇妙的世界? 从原始的乳胶,到现代工业中的合成橡胶,它的变化与运用令人叹为观止。橡胶,不仅是轮胎、胶鞋的原材料,更是众多工业产品不可或缺的组成部分。它的弹性、耐磨…

Win快速删除node_modules

在Windows系统上删除 node_modules 文件夹通常是一个缓慢且耗时的过程。这主要是由于几个关键因素导致的: 主要原因 文件数量多且嵌套深: node_modules 文件夹通常包含成千上万的子文件夹和文件。由于其结构复杂,文件和文件夹往往嵌套得非常…

商家转账到零钱申请内幕最详细解说

商家转账到零钱开通过程中,微信支付官方提供了多达十一种不同的转账场景,这些繁杂的选项经常让商家感到迷茫,难以选择最适合的场景。尤其是申请被拒后,一些商家会试图通过更换场景来碰运气。 不过根据我们上万例的开通经验来看&a…

STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX

STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX STM32的USB接口可以模拟成为U盘,通过FATS文件系统对连接的存储单元进行U盘方式的读写。 这里介绍STM32CUBEIDE开发平台HAL库模拟U盘桥接SPI总线FATS读写W25Q各型号FLASH的例程。 FLASH是常用的一种非易失…

自己用pip下载好模块啦,但是在pycharm里面不显示?

问题: 今天在cmd里面用pip命令安装第三方模块,最后用pip list 命令发现已经成功安装,但是在pycharm里面用该模块的时候,还是爆红,显示没有该库 。 解决方法: 第一种(项目刚创建)&am…

Qt5/6使用SqlServer用户连接操作SqlServer数据库

网上下载SQLServer2022express版数据库,这里没啥可说的,随你喜欢,也可以下载Develop版本。安装完后,我们可以直接连接尝试, 不过一般来说,还是下载SQLServer管理工具来连接数据更加方便。 所以直接下载ssms, 我在用的时候,一开始只能用Windows身份登录。 所以首先,我…

html的网页制作代码分享

<!-- prj_8_2.html --> <!DOCTYPE html> <html lang "EN"><head><meta charset"utf-8" /><title>页面布局设计</title><style type "text/css">*{padding: 0px;margin:0px;}#header{back…

代码签名证书有哪些不同类型?

在数字化时代&#xff0c;软件安全已成为企业和个人用户关注的焦点。代码签名证书作为一种数字证书&#xff0c;对软件进行数字签名和加密&#xff0c;确保了软件在传输过程中的安全性和可靠性。本文将详细介绍代码签名证书的类型及其选择方法。 代码签名证书的类型 代码签名…

易基因:表观基因组分析揭示转录因子结合区DNA甲基化表征其功能和进化背景 | 研究速递

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 DNA甲基化是一种重要的表观遗传修饰&#xff0c;对调控基因组功能有多种作用。其水平在整个基因组中具有空间相关性&#xff0c;通常在被抑制区域较高&#xff0c;在转录因子&#xff08…

shell脚本条件测试

条件测试 $? 返回码 判断命令或者脚本是否执行成功&#xff08;最近的一条&#xff09; 0 ture 为真就是成功 成立 非0 false 失败或者异常 test命令 可以进行条件测试 然后根据的是返回值来判断条件是否成立 test -e 测试目录和文件是否存在 exist test -d 只能测试目…

PS系统教程19

渐变与照片调色 增加色彩背景新建图层选好渐变拉选图片渐变 与图层模式结合 也可以变换颜色 看起来比较自然&#xff0c;因为是与人物结合起来 也可以选择系统里面的一些色调 可以进行多次调试

m4a怎么转换成m4r格式?

之前给大家分享过“m4a转mp3”教程文章&#xff0c;今天继续分享有关m4a的格式转换方法。想必大家对m4a格式已经了解的差不多了&#xff0c;苹果手机的专属格式。那么大家知道m4r格式吗? 从名字就可以看出来&#xff0c;它和m4a格式肯定有着密切的联系和相似点。m4r是iPhone铃…

知识付费平台功能模块详解

知识付费平台作为一种新兴的在线教育模式&#xff0c;以其用户需求导向的设计理念和便捷高效的学习方式&#xff0c;受到了广泛欢迎。这类平台汇集了职业技能、生活兴趣和人文社科等多领域的专业知识&#xff0c;并通过视频播放、在线问答、作业批改等工具和服务&#xff0c;助…

python的%time 、%%time 、%timeit、%%timeit的区别

%time 、%timeit 要在ipython下才可以使用。(所以说Jupyter Notebook当然是可以用的,pycharm里的python环境也是jupyter Notebook的) %time可以测量一行代码执行的时间 %timeit可以测量一行代码多次执行的时间 网上有说法说,%timeit是测量一行代码100000次循环内,3次最快速…

【沈阳航空航天大学主办|往届已实现EI检索】第二届智能通信与网络国际学术会议(ICN 2024)

第二届智能通信与网络国际学术会议&#xff08;ICN 2024&#xff09; The 2nd International Conference on Intelligent Communication and Networking 一、重要信息 大会官网&#xff1a;www.ic-icn.org (点击参会/投稿/了解会议详情&#xff09; 大会时间&#xff1a;2…

【扫码点餐系统】制作搭建部署

前言&#xff1a; 餐饮类做一个扫码点餐的工具可以提升用户体验、扩大市场份额、提高运营效率以及适应数字化趋势等方面。 一、企业开发小程序原因 企业开发小程序具有多方面的优势&#xff0c;可以帮助企业提升用户体验、扩大市场份额、提高运营效率以及适应数字化趋势等。…

如何导出数据库中数据表或查询结果的数据:支持大数据量(以MySQL和SQLynx为例)

MySQL的数据导出是一个操作非常频繁的任务&#xff0c;也是数据的存储和传输比较重要的一种方式&#xff0c;本文主要以SQLynx为例来介绍MySQL的数据如何导出。 目录 1 操作步骤 步骤 1&#xff1a;登录SQLynx 步骤 2&#xff1a;选择数据库和表 步骤 3&#xff1a;执行查询…

如何设置EVM/IMA密钥即如何生成签名密钥和证书

为生成和使用签名密钥来配置 IMA&#xff0c;以下是详细步骤&#xff0c;包括如何生成签名密钥和证书。 1. 生成签名密钥和证书 首先&#xff0c;我们需要一个私钥和一个自签名证书。我们将使用 OpenSSL 来生成这些密钥和证书。 生成私钥 openssl genpkey -algorithm RSA -…