一篇综述洞悉医学大型语言模型的原理,应用和挑战

在过去的一年中,随着 GPT-4、LLaMA、Mistral,PaLM 等先进技术的突飞猛进,大型语言模型(Large Language Models)已经引领全球人工智能进入了一个全新的基础模型时代,这一时代不仅开启了技术创新的新篇章,也彻底重塑了各行各业的运作模式。特别是在医疗领域,这些变革显得尤为突出。医疗领域不仅是全球各国竞相投资的重点研究领域,而且与一个国家的医疗水平和综合国力密切相关。在这样的背景下,大型语言模型在医疗领域究竟能带来怎样的变革和影响?

近日,牛津大学的David A. Clifton,罗切斯特大学的罗杰波(Jiebo Luo)和亚马逊的Zheng Li领导的一个联合团队发布了一篇综述报告,介绍了医学大型语言模型在原理、应用和面临的挑战方面的最新进展(截止至2024年),通过深入探讨相关技术发展,提供宝贵的见解,为构建更加实用和高效的医学大型模型奠定坚实的基础。

论文题目: A Survey of Large Language Models in Medicine: Principles, Applications, and Challenges 
论文地址:  https://arxiv.org/abs/2311.05112 
项目地址:  https://github.com/AI-in-Health/MedLLMsPracticalGuide

近期,通用大型语言模型(LLMs)如PaLM、LLaMA、GPT系列和ChatGLM在多种自然语言处理(NLP)任务中展现出前所未有的进展。这些任务包括文本生成、文本摘要和问题回答等。受到这些模型在自然语言处理领域的成功启发,研究者们开始尝试将通用LLM调整应用于医学领域,从而催生了一系列医学专用的大型模型。例如,基于PaLM开发的MedPaLM和MedPaLM-2在美国医学许可考试(USMLE)上的表现,几乎与人类专家(87.0)持平,达到了86.5的竞争性准确率。此外,基于公开可用的LLM (例如LLaMA)衍生出的几个医学LLM包括ChatDoctor、MedAlpaca、PMC LLaMA、BenTsao和Clinical Camel等,正引发越来越多的关注,它们在协助医疗专业人员改善患者护理方面展现出巨大潜力。

尽管这些医学LLMs取得了令人鼓舞的成果,但在其开发和应用过程中,仍面临一些挑战。首先,许多模型主要关注生物医学NLP任务,如对话和问题回答,但其在临床实践中的实际应用价值往往被忽视。近期的研究开始探讨医学LLM在不同临床场景中的应用潜力,例如,电子健康记录(EHRs)的出院结论生成、健康教育和护理计划等。然而,这些研究多为案例研究,并依赖于临床医生对少量样本的人工评估,因此缺乏全面的评估数据集来衡量模型在实际临床场景中的表现。其次,大多数现有医学LLM的研究主要聚焦于医学问题回答的生物医学NLP性能,而忽略了文本摘要、关系提取、信息检索和文本生成等其他生物医学任务。这些研究空白激发了我们进行这项调查,旨在全面回顾LLM的发展及其在医学领域的应用,并探讨面临的挑战和机遇。

如图1所示,本综述旨在回答以下问题:

  • LLMs是什么?如何有效地构建医学LLMs?(第一章节)
  • 当前医学LLM的评估方式是什么?它们相较于传统模型有何独特之处?(第二章节)
  • 医学LLMs在临床环境中应如何应用?(第三章节)
  • 在临床实践中实施医学LLMs时, 需要解决哪些挑战?(第四章节)
  • 如何优化医学LLMs的构建,以增强其在临床环境中的适用性,最终为医学界带来积极的社会影响?(第五章节)

对于第一个问题,我们总结了现有医学LLMs的关键原则,详细介绍了它们的基本结构、参数数量以及用于模型开发的数据集。此外,我们还提供了这些模型构建过程中的关键见解,这对于希望根据特定需求(如计算限制、私有数据和本地知识库)定制医学LLM的研究人员和医疗从业者极具价值。

对于第二个问题,我们通过广泛的调查,对现有医学LLMs在十种生物医学NLP任务(包括判别和生成)上的性能进行了评估。这种全面的分析帮助我们理解医学LLMs在多个方面是如何超越传统医学人工智能模型的。通过展示它们的能力,我们旨在阐明医学LLMs在临床环境中部署时所带来的优势。

第三个问题着重于医学LLMs在临床环境中的实际应用。我们为七个临床应用场景提供了指南,详细说明了医学LLM的具体实施方式,并强调了在每个场景中能够发挥的能力。

第四个问题强调了在临床实践中部署医学LLM时必须克服的挑战。这些挑战包括生成幻觉(即产生连贯但事实不正确的输出)、模型的可解释性问题、伦理考量,以及医学LLM的法律和安全问题。我们还提倡对医学LLM进行更广泛的评估,比如信任度,以确保其在临床环境中的负责任和有效使用。

最后一个问题,我们展望了医学LLM的未来发展方向,并为那些希望推动该领域发展、最大化医学LLMs潜力的研究人员和从业者提供了指导。

通过回答这些问题并提供对医学LLM的全面视角,我们希望能促进对医学人工智能领域的更深入理解,更广泛的合作以及更快的进展。总结而言,本综述做出了以下贡献:

  1. 我们对医学领域中的大型语言模型进行了全面回顾,并总结了它们在十个生物医学下游任务中的表现。
  2. 我们强调了医学LLMs的临床应用,并为其在各种临床环境中的部署提供了实用指南。
  3. 我们识别并讨论了在临床实践中应用医学LLM时面临的挑战,旨在激励该领域的进一步研究和发展。
图 1: 医学大语言模型综述的整体结构

一、医学大型语言模型的原理 

为了清晰起见,本节重点总结医学大语言模型的原理。现有的医学LLM主要是包括三种类型(1)从头开始进行预训练,(2)从现有的通用LLM中进行微调,或者(3)通过提示将普通LLM与医学领域对齐直接获得。因此,我们从预训练、微调和提示三种方法介绍了医学LLM的原理。

预训练

预训练是医学大型语言模型开发中的一个关键过程,它涉及在庞大的医学文本库上训练模型,以吸收和学习丰富的医学知识。这些文本通常包括结构化和非结构化的数据,如电子健康记录(EHR)、临床笔记、DNA序列和医学文献等。特别值得一提的是,PubMed、MIMIC-III临床笔记和PubMed Central(PMC)文献是医学LLM预训练中常用的三个主要医学语料库。模型可以选择在单一语料库或多个语料库的组合上进行预训练。例如,PubMedBERT和ClinicalBERT分别在PubMed和MIMIC-III上进行预训练。而BlueBERT结合了这两个语料库,BioBERT则同时在PubMed和PMC上进行预训练。此外,佛罗里达大学健康EHR也被用于GatorTron和GatorTronPT的预训练中。而MEDITRON则是在临床实践指南(CPG)上接受预培训,CPG主要用于指导医疗从业者和患者进行循证决策。

在预训练医学LLM时,通常会对通用LLM中常用的训练目标进行细化,包括掩蔽语言建模、下一句预测和下一个标记预测。例如,BERT系列模型如BioBERT、PubMedBERT、ClinicalBERT和GatorTron,主要采用掩蔽语言建模和下一句预测进行预训练。而GPT系列模型,如BioGPT和GatorTronGPT,则主要采用下一个令牌预测进行预训练。

预训练完成后,医学LLM通常会进行微调,然后在不同的生物医学人工智能任务中进行评估,以检验其理解和生成相关文本的能力。一旦经过预训练,LLM将掌握丰富的通用语言表示,这些表示可用于各种下游任务。为了在这些任务上获得强大的性能,LLM可以在一个小型、特定于任务的数据集上进行微调,即进一步训练。这使得模型能够使其通用语言表示适应目标任务的特定要求。大规模预训练与微调结合,已被证明能有效实现最先进的性能。

微调

从头开始训练医学LLMs是高成本和耗时的,因为它需要大量(例如几天甚至几周)的计算能力和体力。一种解决方案是用医学数据对通用语言大模型进行微调,研究人员提出了不同的微调方法,用于学习特定领域的医学知识并获得医学LLM。当前的微调方法包括监督微调(SFT)、指令微调(IFT)和参数有效调整。

  • 监督微调(SFT): 旨在利用高质量的医学语料库,可以是医患对话、医学问答和知识图谱。所构建的SFT数据用作预训练数据的延续,以进一步预训练具有相同训练目标的一般LLM,例如下一个令牌预测。SFT提供了一个额外的预培训阶段,使普通LLM能够学习丰富的医学知识并与医学领域保持一致,从而将其转变为专业的医学LLM。
  • 指令微调(IFT): 首先构建基于指令的训练数据集,这些数据集通常由指令输入输出三元组组成,例如指令问答。IFT的主要目标是增强模型遵循各种人工/任务指令的能力,使其输出与医学领域保持一致,从而生成专门的医学LLM。
  • 参数高效调整: 旨在大幅降低微调通用LLM的计算和内存需求。主要思想是通过仅微调这些LLM中的最小参数子集(或附加参数),保持预训练LLM中大多数参数不变。常用的参数有效微调技术包括低秩自适应(LoRA)、前缀微调和适配器微调。

提示工程

与预训练相比,微调大大降低了计算成本,但它需要进一步的模型训练和高质量数据集的收集来进行微调,因此仍需要消耗一些计算资源和人工。相反,“提示”方法有效地将一般LLM(如PaLM)与医学领域(如MedPaLM)对齐,而无需训练任何模型参数。流行的提示方法包括零/少样本提示、思想链提示、自一致性提示和提示调整。

  • 零/少样本提示旨在直接给出指令,提示LLM按照给定指令有效执行任务。零样本提示没有提供示例。在要求LLM执行任务之前,很少有样本提示会向LLM提供少量示例或任务演示。
  • 思想链提示进一步提高了模型输出的准确性和逻辑性。具体来说,通过提示词,思维链提示旨在提示模型在处理下游(复杂)问题时生成推理的中间步骤或路径。
  • 自一致性提示建立在思维链提示之上,以进一步增强回复的稳健性。它鼓励模型多次尝试生成同一问题的多个答案,然后在不同的尝试中选择最一致的答案,从而提高模型性。
  • 提示调整旨在通过采用提示和微调技术来提高下游模型的性能。提示调整方法引入了可学习的提示,即。可训练的连续向量,可以在微调过程中进行优化或调整,以更好地适应不同的下游场景和任务。
图 2: 医学大语言模型的进化树

为了进一步展现医学大型语言模型的发展现状,我们制作了医学大模型在不同分支上的进化树(图 2)。此外,我们还尝试通过MedQA (USMLE-style) 数据集性能图(图 3)洞察医学大语言模型的能力发展,来分析现有的医学LLMs是否已经超过人类专家判断水平。

图 3: 通过MedQA (USMLE-style)性能图洞察医学大语言模型的发展

我们尝试通过不同结构的参数进化图(图 4)洞察医学大语言模型的发展。随着模型规模的扩大,哪种结构有可能在医学任务上能够出现类似于通用LLM模型的“涌现”(GPT 2 -> GPT 3),从而实现超级医学大型语言模型。

图 4: 通过不同结构的参数进化图洞察医学大语言模型的发展

二、下游生物医学自然语言处理任务 

在本节中,我们将介绍两种流行的下游任务:生成任务和判别任务,包括十种有代表性的下游任务,这些任务将进一步构建临床应用。我们首先描述了下游任务及其广泛使用的评估数据集,然后讨论了适用于这些任务的LLM,并比较了它们的性能。

  • 判别任务:用于根据给定的输入数据将数据分类或区分为特定的类别。它们涉及对不同类型的数据进行区分,通常是对结构化文本或非结构化文本中的相关信息进行分类、分类或提取。具有代表性的判别任务包括问答、实体提取、关系提取、文本分类、自然语言推理、语义文本相似性和信息检索。
  • 生成任务:与专注于理解和分类输入文本的判别性任务不同,生成性任务需要一个模型来根据给定的输入准确地生成流畅和合适的新文本。这些任务包括医学文本摘要、医学文本生成和文本简化。
图 5: GPT-3.5 turbo、GPT-4、最先进的任务特定微调模型和人类专家在11个数据集的7个下游生物医学NLP任务上的性能比较

图 5 中呈现的是各种医学LLM之间的性能对比。在这个对比中,我们观察到某些通用LLM(例如GPT-3.5-turbo和GPT-4)在多种下游任务上展现出了卓越的性能。这一点在问答任务中尤为突出,如图中的蓝线所示,GPT-4的表现不仅始终优于专门针对特定任务微调的模型,甚至与人类专家的表现(如紫线所示)相媲美。所评估的问答数据集包括MedQA(USMLE)、PubMedQA和MedMCQA等。

然而,当我们转向非问答任务时,发现通用LLM的性能往往不如特定任务微调的模型。例如,在使用NCBI疾病数据集进行的实体提取任务中,专门微调的BioBERT模型取得了89.36的F1分数,而GPT-4的表现仅为56.73。这种差异可能是因为问答任务本质上是封闭式的,即正确答案已经在有限的选项中提供。而在开放式的非问答任务中,模型必须在广泛的可能选项中预测正确答案,有时甚至没有任何候选答案可供参考。

总体来看,这些比较结果明确显示,当前的通用LLM在问答任务上具有强大的能力,但在其他任务类型上仍有改进空间。因此,我们建议在评估医学LLM时,应将其应用范围扩展到包括非问答任务在内的更广泛的任务类型,而不应仅限于医学问答任务。这种全面的评估方式将更好地反映医学LLM的真实能力和潜在的应用价值。

三、医学大型语言模型的临床应用 

  • 医学诊断:包括医生使用来自测试的客观医学数据和自我描述的主观症状来总结患者最可能出现的健康问题。
  • 格式化和ICD编码:国际疾病分类(ICD)是一种标准化临床会议的诊断和程序(如手术)信息的方法。
  • 临床报告生成:是指医护人员在每次患者就诊后必须完成的标准化文件。
  • 医学教育:医疗保健专业领域特定角色的培训至关重要。医学教育既适用于专业人员,也适用于普通公众。大型语言模型可以通过不同的方式融入医学教育系统,包括回答问题、帮助学生准备医学考试以及担任苏格拉底式导师。
  • 医疗机器人:医疗机器人可用于医学的许多方面,包括手术、运送病人、协助护士和医疗康复。
  • 医学语言翻译:医学语言翻译主要有两个方面。一种是将医学术语从一种语言翻译成另一种语言。另一种是将专业医学对话翻译成非专业人员易于理解的表达。
  • 心理健康支持:心理健康支持包括诊断和治疗。抑郁症是一种常见的心理健康问题,通过多种疗法进行治疗,包括认知行为疗法、人际心理疗法、心理动力疗法等。

四、医学大型语言模型的当前挑战 

  • 幻觉:LLM的幻觉是指生成的输出包含不准确或不真实信息的现象。
  • 缺乏评估基准和指标:目前的基准和指标往往无法评估LLM的整体能力,尤其是在医疗领域。例如,MedQA(USMLE)和MedMCQA对问答任务提供了广泛的覆盖,但未能评估重要的LLM特定指标,包括可信度、有用性、可解释性和忠诚度。因此,必须开发特定于领域和LLM的基准和指标。
  • 领域数据限制:与用于训练通用LLM的数据集相比,医学领域中的当前数据集仍然相对较小。
  • 新知识适应:LLM接受广泛数据训练以学习知识。一旦经过训练,通过再训练将新知识注入LLM昂贵且低效。
  • 人类行为对齐:行为一致性是指确保LLM的行为与其任务目标一致的过程。现有工作已用于将LLM与一般人类行为相一致,但一般人类和医疗专业人员之间的行为存在差异,因此在医疗领域采用LLM仍然具有挑战性。
  • 道德、法律和安全问题:人们对在医学领域使用大语言模型提出了担忧,重点关注伦理、问责制和安全性。

五、医学大型语言模型的未来方向 

  • 引入新的评测基准: 传统的基准主要衡量医学问答的准确性,但不能充分掌握医学大型预览模型所需的全方位临床技能。人们对使用以人为中心的标准化医学考试进行评估提出了批评,认为通过这些考试并不一定反映LLM在现实世界临床环境中所需的细微专业知识方面的熟练程度。因此,人们正在就需要更全面的基准达成共识。这些能力应包括从权威医学参考文献中获取信息、适应不断发展的医学知识以及明确传达不确定性等。此外,考虑到医疗保健的敏感性,这些基准还应评估公平、道德和公平等因素,这些因素虽然至关重要,但会带来量化挑战。其目的是创建更有效地反映实际临床场景的基准,从而更准确地衡量LLM是否适合担任医疗顾问角色。
  • 集成时间序列、视觉和音频数据集成的多模态医学大模型:现有方法提出了集成视觉和语言的各种基于多模态医学大模型的框架,以采用医学图像-文本对进行微调,从而使医学大模型能够有效地理解输入的医学图像。近来研究者认为将视觉、音频和语言输入集成在大模型中中会极大地帮助牙科诊断,然而,只有极少数的医学LLM可以处理时间序列数据,如心电图(ECG)和血压计(PPG),尽管这些数据对医学诊断和监测很重要。
  • 医学代理(Agents):基于LLM的代理(即设计用于执行特定医疗任务或功能的智能系统或软件)通过类似人类的行为,如角色扮演和通信,在解决复杂任务(如软件设计、分子动力学模拟)方面取得了重大进展。然而,在医学领域内有效地整合这些Agents仍然是一个挑战。医学领域涉及许多角色和决策过程,尤其是在疾病诊断中,通常需要一系列研究,包括CT扫描、超声波、心电图和血液测试。
  • 大语言模型在医学子领域发展:目前医学大模型的研究主要集中在普通医学上,这可能是因为该领域的数据可用性更高。这导致医学大模型在“康复治疗”和“运动医学”等专业领域的应用代表性不足。鉴于不运动对全球健康构成的挑战,后者尤其具有巨大的潜力。世界卫生组织将不运动确定为非传染性疾病的主要风险因素,影响了全球四分之一以上的成年人口。
  • 跨学科合作:正如跨学科合作在核能生产等安全关键领域至关重要一样,医学和技术界之间开发医学大模型的合作对于确保人工智能在医学中的安全性和有效性至关重要。医学界主要由科技公司提供大模型,而不质疑他们的数据训练,这是一种次优情况。因此,需要鼓励相关医务人员积极参与创建和部署医疗大模型,提供相关的训练数据,定义医学大模型的预期收获,并在现实世界中进行测试以评估这些优势。

关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

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

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

相关文章

微信小程序vue+uniapp瑜伽馆课程预约选课管理系统

本文对该站点以及对其进行了全面的剖析,为瑜伽馆管理系统的发展带来了借鉴。瑜伽馆管理系统小程序对于瑜伽馆起到了很好的引导作用,特别是对于地方瑜伽馆的处理起到了很大的作用。 按照已有的功能,除了管理员外,还可以对系统中的全…

python高级练习题库实验2(B)部分

文章目录 题目1代码实验结果题目2代码实验结果题目总结题目1 注册课程小游戏程序 研究下面的例子,并编写一个与这些例子完全相同的程序。使用for loop和break来解决问题。提示用户输入课程数量,是否选择,并且课程代码,最后还需显示已经完成的课程注册数量或者未完成的注册…

【Python3】【力扣题】389. 找不同

【力扣题】题目描述: 【Python3】代码: 1、解题思路:使用计数器分别统计字符串中的元素和出现次数,两个计数器相减,结果就是新添加的元素。 知识点:collections.Counter(...):字典子类&#x…

Python算法例36 丑数Ⅱ

1. 问题描述 设计一个算法&#xff0c;找出只含素因子2、3、5的第n小的数&#xff0c;符合条件的数如&#xff1a;1、2、3、4、5、6、8、9、10、12… 2. 问题示例 如果n9&#xff0c;返回10。 3. 代码实现 def find_nth_number(n):if n < 0:return Nonenumbers [1]idx…

Azure Machine Learning - 聊天机器人构建

目录 聊天机器人架构概述消耗成本环境准备打开开发环境部署和运行将聊天应用部署到 Azure使用聊天应用从 PDF 文件获取答案使用聊天应用设置更改答复行为 本文介绍如何部署和运行适用于 Python 的企业聊天应用示例。 此示例使用 Python、Azure OpenAI 服务和 Azure AI 搜索中的…

【playwright】新一代自动化测试神器playwright+python系列课程22_playwright模拟鼠标操作_悬停_右击_双击

playwright模拟鼠标操作_悬停_右击_双击 鼠标悬停 – hover() 有些元素&#xff0c;只有你鼠标移动到它那个位置上&#xff0c;他才会展开或者显示一些内容&#xff0c;这时候就要用到hover()操作了。 以个人设置这个下拉菜单&#xff0c;来看一下hover的使用。 项目实践代…

产品排名提升秘籍:亚马逊鲲鹏系统的独特优势

在亚马逊竞争激烈的市场中&#xff0c;商家们一直在寻找新的方法来提升产品排名和吸引更多的顾客。近期&#xff0c;一款名为“亚马逊鲲鹏系统”的全自动化运行软件引起了广泛关注。该软件集成了一系列独特的功能和特点&#xff0c;旨在帮助商家更轻松地管理其亚马逊业务&#…

企业微信无法正常启动 报错0xc0000142

报错内容如下&#xff0c;每次打开工作电脑时候企业微信一般会正常启动&#xff0c;但是有时候经常会出现下面这种错误&#xff0c;重启也解决不了&#xff0c;每次都得重装企业微信&#xff0c;今天整理了一下网上的方法&#xff0c;这个原因大概率是亿赛通。 解决办法&#x…

2024年网络安全比赛--内存取证(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.从内存文件中找到异常程序的进程&#xff0c;将进程的名称作为Flag值提交&#xff1b; 2.从内存文件中找到黑客将异常程序迁移后的进程编号&#xff0c;将迁移后的进程编号作为Flag值…

Python学习之路——异常捕获

一、什么是异常 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”&#xff0c;也就是bug 二、异常的捕获方法 当我们的程序遇到bug&#xff0c;那么就下来有两种情况 ①整个程序因为一个…

Elasticsearch:和 LIamaIndex 的集成

LlamaIndex 是一个数据框架&#xff0c;供 LLM 应用程序摄取、构建和访问私有或特定领域的数据。 LlamaIndex 是开源的&#xff0c;可用于构建各种应用程序。 在 GitHub 上查看该项目。 安装 在 Docker 上设置 Elasticsearch 使用以下 docker 命令启动单节点 Elasticsearch 实…

chromedriver+Selenium+springboot+Java实现后端截图

chromedriver这种方法实现截图&#xff0c;依赖服务器端的谷歌浏览器软件&#xff0c;需要在服务器端下载谷歌浏览器。 Windows服务器说明 1.下载谷歌浏览器 2.根据第一步下载的谷歌浏览器版本&#xff0c;下载chromedriver&#xff0c;可以在这个页面找到和版本相近的版本去下…

docker部署Jira+配置MySQL8数据库

写在前面&#xff1a;如果你通过docker安装Jira且启动过&#xff0c;然后你现在又想使用mysql数据库&#xff0c;需要注意 你除了停掉原有容器&#xff0c;还需要删除&#xff1a;/var/lib/docker/volumes/jiraVolume/_data下的文件&#xff0c;否则启动后会无法正常使用。注意…

Redis 笔记一

概览 1.Redis核心数据存储结构 2.Redis底层String编码int&embstr&raw 3.Redis底层压缩列表&跳表&哈希表 4.Redis底层Zset实现压缩列表和跳表如何选择 5.基于Redis实现微博&抢红包&12306核心业务 辅助学习&#xff1a;Redis 教程 | 菜鸟教程 1.Redis为什…

ArcGIS初始化软件界面Normal.mxt

ArcGIS有时候永久了&#xff0c;或者呢突然不自觉软件界面乱了&#xff0c;或者一些窗口打开却找不到&#xff01; 这时候可以去删除arcgis的界面配置文件&#xff0c;Normal.mxt 删除后再打开软件&#xff0c;软件界面就会回到初始化设置了&#xff01; 文件所在的路径&…

从零开始学习Zeppelin:大数据可视化分析的交互式开发系统!

介绍&#xff1a;Apache Zeppelin是一个基于Web的交互式开发系统&#xff0c;主要用于进行大数据可视化分析。其核心概念是notebook&#xff0c;所有的操作都可以在notebook中完成。Zeppelin提供了一套非常全面的数据分析解决方案&#xff0c;支持数据采集、数据发现、数据分析…

canal server初始化源码分析

CanalLauncher类是canal server端启动的入口类&#xff0c;跟随代码进行深入。 在开始之前&#xff0c;我们可以先了解下&#xff0c; canal 配置方式 ManagerCanalInstanceGenerator&#xff1a; 基于manager管理的配置方式&#xff0c;实时感知配置并进行server重启Spring…

k8s---ingress对外服务(七层)

ingress 概念 k8s的对外服务&#xff0c;ingress service作用现在两个方面&#xff1a; 1、集群内部&#xff1a;不断跟踪的变化&#xff0c;更新endpoint中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制。 2、集群外部&#xff1a;类似于负载均衡器&a…

elasticsearch[二]-DSL查询语法:全文检索、精准查询(term/range)、地理坐标查询(矩阵、范围)、复合查询(相关性算法)、布尔查询

ES-DSL查询语法&#xff08;全文检索、精准查询、地理坐标查询&#xff09; 1.DSL查询文档 elasticsearch 的查询依然是基于 JSON 风格的 DSL 来实现的。 1.1.DSL 查询分类 Elasticsearch 提供了基于 JSON 的 DSL&#xff08;Domain Specific Language&#xff09;来定义查…

虚拟环境中pip install不生效的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…