深度学习-生成式检索-论文速读-2024-09-14

news2024/11/13 9:34:56

深度学习-生成式检索-论文速读-2024-09-14

前言:

生成式检索(Generative Retrieval, GR)是一种结合了生成模型和检索系统的人工智能技术方法。这种方法在处理信息检索任务时,不仅依赖于已有数据的检索,还能生成新的、相关的信息或数据来满足查询需求。相对传统基于倒排链的稀疏检索(Sparse Retrieval, SR) 和采用向量化的稠密检索(Dense Retrieval, DR), 生成式检索GR能够突破现有搜推系统多级链路的固有瓶颈限制,END TO END的方式直接生成最终的检索结果,因而在近年来成为研究热点。

1. Transformer Memory as Differentiable Search Index, NIPS, 2022

Advances in Neural Information Processing Systems 35 (2022): 21831-21843.
在这里插入图片描述
作为可微搜索索引的Transformer记忆

摘要
本文提出了一种新的信息检索范式——可微搜索索引(Differentiable Search Index, DSI),它使用单一的Transformer模型将查询文本直接映射到相关的文档标识符(docids)。DSI模型在训练时学习将文档内容与相应的docid关联起来,在检索时根据输入的查询返回相关docid。实验表明,DSI在适当的设计选择下,显著优于双编码器模型等强基线,并且在零样本设置下展现出强大的泛化能力。

创新点

  1. 可微搜索索引(DSI):提出了一种新的检索范式,将检索过程完全集成在单个Transformer模型中,简化了整个检索流程。
  2. 端到端检索:DSI模型可以直接从文本查询映射到docid,无需额外的索引构建步骤。
  3. 零样本学习能力:DSI在没有看到特定查询的情况下也能表现出色,这表明模型具有很好的泛化能力。

算法模型

  • DSI模型:使用预训练的Transformer模型,通过序列到序列(seq2seq)学习系统直接将查询映射到相关的docid。
  • 索引策略:模型在训练阶段学习将文档内容与docid关联,实现索引功能。
  • 检索策略:在给定查询的情况下,模型使用自回归生成的方式返回候选docid的排名列表。
    在这里插入图片描述

实验效果

  • 数据集:使用Natural Questions (NQ) 数据集进行实验,该数据集包含307K个查询-文档训练对和8K个验证对。
  • 性能指标:主要使用Hits@N(N=1, 10)作为评价指标。
  • 结论
    • DSI在小规模数据集上(NQ10K)的Hits@1性能提升了20多个百分点,从12.4%提升到33.9%。
    • 在更大规模的数据集上(NQ320K),DSI的性能提升更加显著,尤其是在使用大型模型时。
    • 在零样本设置下,DSI的Hits@1性能比BM25基线提高了14个百分点。

推荐阅读指数:
★★★★☆

推荐理由
这篇文章提出了一种创新的信息检索方法,通过将检索过程集成在单个Transformer模型中,简化了传统的检索流程。DSI模型不仅在标准的训练设置下表现优异,还在零样本设置下展现出了强大的泛化能力,这对于实际应用中快速适应新查询具有重要意义。此外,文章对DSI的不同变体进行了详细的分析和比较,为未来在这一领域的研究提供了宝贵的参考。对于从事信息检索、自然语言处理和机器学习的研究者和工程师来说,这篇文章提供了新的视角和方法论,值得一读。

2. A Neural Corpus Indexer for Document Retrieval, NIPS, 2022

在这里插入图片描述
用于文档检索的神经语料库索引器

摘要
当前最先进的文档检索解决方案主要遵循索引检索范式,其中索引难以直接针对最终检索目标进行优化。本文旨在展示一个端到端的深度神经网络,统一训练和索引阶段可以显著提高传统方法的召回性能。为此,提出了神经语料库索引器(Neural Corpus Indexer, NCI),这是一个序列到序列的网络,直接为指定查询生成相关文档标识符。为了优化NCI的召回性能,发明了一种前缀感知的权重自适应解码器架构,并利用了包括查询生成、语义文档标识符和基于一致性的正则化技术。实证研究表明,NCI在两个常用的学术基准测试中优于现有方法,分别在NQ320k数据集的Recall@1和TriviaQA数据集的R-Precision上实现了+21.4%和+16.8%的相对提升。

创新点

  1. 端到端深度神经网络:提出了一个统一的深度神经网络模型,用于训练和索引阶段,以提高文档检索的召回率。
  2. 前缀感知的权重自适应解码器:设计了一种新的解码器架构,以适应文档标识符的层次结构。
  3. 语义文档标识符:利用层次k均值算法为每个文档生成语义标识符,使相似文档在层次树中具有“接近”的标识符。
  4. 基于一致性的正则化:采用基于一致性的正则化损失来缓解过拟合问题,提高模型的泛化能力。

算法模型

  • 神经语料库索引器(NCI):一个序列到序列的神经网络模型,通过编码器接收用户查询并生成查询嵌入,通过解码器输出相关文档的标识符。
  • 前缀感知的权重自适应解码器(PAWA):一种新颖的解码器架构,能够根据不同的前缀为解码过程中的分类器分配不同的权重。
  • 层次k均值算法:用于生成文档的语义标识符,将文档组织成树结构,使得语义相似的文档具有相似的前缀。
    在这里插入图片描述

实验效果

  • 数据集:在Natural Questions (NQ) 和 TriviaQA 数据集上进行实验。
  • 性能指标:使用Recall@N、Mean Reciprocal Rank (MRR) 和 R-precision 作为评价指标。
  • 结论
    • NCI在NQ320k数据集上的Recall@1提升了21.4%,在TriviaQA数据集上的R-Precision提升了16.8%。
    • NCI在没有显式排名模型的情况下,自身也达到了有竞争力的MRR分数。

推荐阅读指数
★★★★☆

推荐理由
这篇文章提出了一种创新的文档检索方法,通过端到端的深度神经网络模型,实现了训练和索引阶段的统一,显著提高了检索的召回率。提出的前缀感知的权重自适应解码器和语义文档标识符为文档检索领域带来了新的视角和技术。对于从事信息检索、自然语言处理和深度学习研究的学者和工程师来说,这篇文章提供了新的研究思路和方法,值得一读。

3. Understanding Differential Search Index for Text Retrieval, ACL, 2023

Xiaoyang Chen, Yanjiang Liu, Ben He, Le Sun, Yingfei Sun
理解文本检索中的差异化搜索索引

摘要
本文探讨了差异化搜索索引(Differentiable Search Index, DSI)这一新兴的信息检索框架。DSI利用可微函数直接将查询映射到相关文档标识符的排序列表。然而,由于其端到端神经架构的黑箱特性,DSI在基本索引和检索能力方面仍不明确。为了填补这一空白,本研究定义并检验了一个有效的信息检索框架应具备的三个重要能力:排他性、完整性和相关性排序。通过分析实验,我们发现尽管DSI在记忆从伪查询到文档标识符的单向映射方面表现出熟练度,但在区分相关文档和随机文档方面存在不足,从而影响了其检索效果。为了解决这一问题,我们提出了一种多任务蒸馏方法来提升检索质量,而不改变模型结构,并成功赋予了其改进的索引能力。通过在不同数据集上的实验,我们证明了我们提出的方法优于先前的DSI基线。

创新点

  1. 多任务蒸馏方法:提出了一种新的训练方法,通过从密集检索中学习来提升DSI的效果,同时保持了DSI的优势,如最小的存储成本和端到端的可检索性。
  2. 改进的文档表示:通过捕捉不同粒度的信息并使用密集检索模型编码的文档表示来过滤关键信息,增强了DSI的排他性和完整性。
  3. 显式建模文档相关性:通过显式建模文档之间的联系,模型能够减少输出结果的随机性并提高检索性能。

算法模型

  • DSI-QG:一种基于T5模型的差异化搜索索引,用于直接从查询文本生成相关文档标识符。
  • 多任务蒸馏方法:结合了索引任务和检索任务,通过使用密集检索模型的输出作为训练信号,提升了DSI模型的检索能力。

实验效果

  • 数据集:在MS MARCO和Natural Questions (NQ)数据集上进行实验。
  • 性能指标:使用Hits@1、Hits@10、NDCG@10和P@10作为评价指标。
  • 结论
    • 提出的方法在MS MARCO和NQ数据集上均优于现有的DSI模型。
    • 在具有更完整人类注释的数据集上,提出的方法与密集检索模型TCT-ColBERT的性能相当。

推荐阅读指数
★★★★☆

推荐理由
这篇文章对差异化搜索索引(DSI)进行了深入的分析,并提出了一种新的多任务蒸馏方法来提升DSI的检索效果。文章不仅在理论上提出了创新的训练方法,而且在实验中也验证了方法的有效性。对于从事信息检索、自然语言处理和深度学习研究的学者和工程师来说,这篇文章提供了新的研究思路和方法,值得一读。

4. GLEN: Generative Retrieval via Lexical Index Learning, EMNLP, 2023

Sunkyung Lee, Minjin Choi, Jongwuk Lee

GLEN:通过词汇索引学习生成式检索

摘要
本文提出了一种名为GLEN(Generative retrieval via LExical iNdex learning)的新型生成式检索方法,旨在通过直接生成与查询相关的文档标识符来实现文档检索。GLEN通过两阶段索引学习策略有效地利用动态词汇标识符,使其能够学习有意义的词汇标识符和查询与文档之间的相关性信号。在推理阶段,GLEN使用无冲突推理,利用标识符权重对文档进行排名,而无需额外开销。实验结果证明,GLEN在多个基准数据集上实现了对现有生成式检索方法的超越或具有竞争力的表现。

创新点

  1. 动态词汇标识符:提出了一种新的动态词汇标识符学习方法,通过两阶段索引学习策略来定义和学习词汇标识符。
  2. 两阶段索引学习策略:包括基于关键词的ID分配和基于排名的ID细化,以生成反映查询-文档相关性的标识符。
  3. 无冲突推理:在推理阶段,GLEN使用标识符权重来解决文档标识符冲突问题,无需额外开销。

算法模型

  • GLEN模型:一个基于Transformer的序列到序列网络,用于直接为指定查询生成相关文档标识符。
  • 两阶段索引学习
    • 关键词ID分配:从文档中提取关键词作为标识符,并通过自监督信号学习。
    • 排名ID细化:通过成对排名损失和点式检索损失来学习动态标识符。
  • 无冲突推理:在推理时,使用标识符权重对文档进行排名,解决标识符冲突问题。

实验效果

  • 数据集:在Natural Questions (NQ320k)、MS MARCO和BEIR数据集上进行实验。
  • 性能指标:使用Recall@1、Recall@10、MRR@100、MRR@10和nDCG@10等指标。
  • 结论
    • GLEN在NQ320k数据集上实现了69.1%的Recall@1和86.0%的Recall@10,超过了现有生成式检索方法。
    • 在MS MARCO数据集上,GLEN的MRR@10为20.1%,优于现有方法。
    • 在BEIR数据集上,GLEN的平均nDCG@10为16.8%,显示出良好的零样本学习能力。

推荐阅读指数
★★★★☆

推荐理由
这篇文章提出了一种创新的生成式检索方法GLEN,通过动态词汇标识符和两阶段索引学习策略,有效地提高了文档检索的准确性和效率。GLEN在多个基准数据集上展现了出色的性能,特别是在处理大规模数据集时的表现,使其成为一个有潜力的研究方向。对于从事信息检索、自然语言处理和深度学习研究的学者和工程师来说,这篇文章提供了新的研究思路和方法,值得一读。

5. Generative Retrieval as Dense Retrival, 2023

Thong Nguyen, Andrew Yates

在这里插入图片描述
生成式检索作为密集检索

摘要
本文探讨了生成式检索(Generative Retrieval),这是一种新兴的神经检索范式,旨在通过单一的变换器(transformer)模型同时优化索引和检索流程。尽管这一新范式展现出潜力,但在更新索引和扩展到大型数据集方面面临挑战。文章分析了两种突出的生成式检索变体,并展示了它们可以被概念化为密集检索(Dense Retrieval)的双编码器(bi-encoders)。具体来说,文章分析证明了生成式检索过程可以分解为查询向量和文档向量之间的点积,类似于密集检索。这种分析引导我们提出了一种新的生成式检索变体,称为Tied-Atomic,通过结合密集检索的技术来解决更新和扩展问题。在两个数据集NQ320k和完整MSMARCO上的实验证实了这种方法在不降低检索效果的同时,能够使模型扩展到大型数据集。

创新点

  1. 生成式检索与密集检索的关联:文章将生成式检索的概念与密集检索相联系,提供了一种新的视角来理解和改进生成式检索。
  2. Tied-Atomic模型:提出了Tied-Atomic模型,该模型通过结合密集检索的技术,解决了生成式检索在更新索引和扩展到大型数据集方面的挑战。
  3. 点积相似性建模:展示了生成式检索过程可以被分解为查询向量和文档向量之间的点积,这与密集检索中的相似性建模方法相似。

算法模型

  • 生成式检索:使用单一变换器模型进行索引和检索,通过生成相关文档标识符来响应查询。
  • Tied-Atomic:提出的新变体,通过将文档文本与词汇(DocID)嵌入联系起来,并使用对比损失进行训练,从而增强了生成式检索模型。

实验效果

  • 数据集:NQ320k和完整的MSMARCO数据集。
  • 性能指标:使用MRR@100(Mean Reciprocal Rank at 100)等指标进行评估。
  • 结论
    • Tied-Atomic模型在NQ320K数据集上的表现与DSI(Differentiable Search Index)模型和NCI(Neural Corpus Indexer)模型相当,甚至在某些指标上有所提升。
    • 在MSMARCO数据集上,Tied-Atomic模型表现出良好的可扩展性,与ANCE等密集检索模型相比具有竞争力。

推荐阅读指数:
★★★★☆

推荐理由
这篇文章为生成式检索领域提供了重要的见解,特别是在如何将生成式检索与密集检索相结合以提高检索系统的效率和可扩展性方面。提出的Tied-Atomic模型不仅在理论上具有创新性,而且在实验中也显示出了良好的性能和可扩展性,这对于研究人员和实践者在设计和优化检索系统时具有重要的参考价值。此外,文章的分析和实验结果为未来在这一领域的研究提供了新的方向和思路。

6. Learning to Tokenize for Generative Retrieval, NIPS, 2024

W Sun, L Yan, Z Chen, S Wang, H Zhu, P Ren, Z Chen, D Yin, M Rijke, Z Re

为生成式检索学习分词

摘要
本文提出了一种新的信息检索范式——生成式检索,它通过使用生成语言模型(LMs)直接为给定查询生成文档标识符(docids)的排名列表。文档分词是生成式检索中的一个关键问题,它决定了模型是否能够通过简单地解码其docid来精确检索任何文档。大多数现有方法采用基于规则的分词,这些方法通常是特定于场景的,并且泛化能力不强。与此相反,本文提出了一种新颖的文档分词学习方法GENRET,它通过离散自编码方法学习将完整文档语义编码到docids中。GENRET通过渐进式训练方案和多种聚类技术来捕获docids的自回归特性并稳定训练过程。在NQ320K、MS MARCO和BEIR数据集上的实验表明,GENRET在NQ320K数据集上建立了新的最先进水平,并且在未见过的文档上相比生成式检索基线取得了显著改进。

创新点

  1. 文档分词学习框架GENRET:提出了一种新的文档分词学习方法,通过离散自编码方案学习将文档编码为语义docids。
  2. 渐进式训练方案:为了稳定训练过程,提出了一种渐进式训练方案,允许通过固定优化的前缀docids来稳定模型训练。
  3. 多样化聚类技术:提出了参数初始化策略和基于多样化聚类技术的docid重新分配,以增加生成docids的多样性。
    在这里插入图片描述

算法模型
GENRET由三个主要组件构成:

  1. 文档分词模型:将文档转换为离散的docids。
  2. 生成式检索模型:给定查询时,以自回归方式生成docids。
  3. 重构模型:使用生成的docids重构原始文档,确保docids捕获文档的语义信息。

实验效果

  • NQ320K数据集:GENRET在NQ320K数据集上取得了68.1%的R@1和75.9%的MRR,相比之前的最先进方法有显著提升。
  • MS MARCO数据集:GENRET在MS MARCO数据集上取得了47.9%的R@1和58.1%的MRR,超过了包括ANCE和Sentence-T5在内的基线方法。
  • BEIR数据集:在BEIR数据集上,GENRET在多个子数据集上展现了竞争力,平均nDCG@10为41.1,超过了包括BM25和DocT5Query在内的基线方法。

推荐阅读指数
★★★★☆

推荐理由
这篇论文在文档检索领域提出了一种创新的文档分词学习方法,通过自编码框架和渐进式训练方案,有效地提高了生成式检索模型的性能。特别是在处理未见过的文档时,GENRET展现出了良好的泛化能力。这对于信息检索、自然语言处理和机器学习领域的研究者和实践者来说,是一篇值得阅读的论文。此外,论文中提出的多样化聚类技术和渐进式训练方案,也为解决类似问题提供了有价值的思路和方法。

7. Generative Hierarchical Materials Search, 2024

S Yang, S Batzner, R Gao, M Aykol, AL Gaunt… - arXiv preprint arXiv …, 2024
https://arxiv.org/pdf/2409.06762
在这里插入图片描述
生成式层次化材料搜索

摘要

这篇文章介绍了一种名为生成式层次化材料搜索(GenMS)的新方法,它利用大规模训练的生成模型来产生文本、视频以及科学数据,如晶体结构。在材料科学,尤其是晶体结构的应用中,领域专家的高级指令对于自动化系统输出可行的候选晶体至关重要。文章提出了一种端到端的语言到结构生成方法,将问题表述为多目标优化问题,并设计了GenMS以可控方式生成晶体结构。GenMS包括一个语言模型,它接受高级自然语言作为输入并生成关于晶体的中间文本信息(例如化学式),以及一个扩散模型,它接受中间信息作为输入并生成低级别的连续值晶体结构。此外,GenMS还使用图神经网络来预测生成的晶体结构的属性(例如形成能)。在推理过程中,GenMS利用所有三个组件来对可能的结构空间进行前向树搜索。实验表明,GenMS在满足用户请求和生成低能结构方面,比其他直接使用语言模型生成结构的方法表现更好。

创新点

  1. 端到端语言到结构生成:提出了一种新颖的方法,将高级自然语言描述直接转换为晶体结构。
  2. 多目标优化:将语言到结构的生成问题转化为多目标优化问题,允许在化学式和结构级别进行优化。
  3. 层次化搜索:通过结合语言模型、扩散模型和图神经网络,实现了从高级语言描述到低级结构的层次化搜索。
  4. 属性预测:使用图神经网络预测生成晶体结构的属性,如形成能,以辅助选择。

算法模型

GenMS由以下三个主要组件构成:

  1. 语言模型:接收高级自然语言指令,生成关于晶体的中间文本信息,如化学式。
  2. 扩散模型:接受中间信息作为输入,生成低级别的连续值晶体结构。
  3. 图神经网络:预测生成的晶体结构的属性,如形成能。
    在这里插入图片描述

实验效果

  • 成功率:GenMS在满足用户请求方面超过80%的成功率,而直接使用预训练的语言模型生成结构的成功率接近0%。
  • 形成能:GenMS生成的结构具有较低的形成能,通过DFT计算验证。
  • 独特性:生成的晶体结构中,有较高比例是独特的,不存在于现有的材料数据库中。
  • 匹配率:生成的结构与材料项目中的相应家族结构匹配率高。

推荐阅读指数:★★★★☆

推荐理由

这篇论文在材料科学领域提出了一种创新的方法,通过结合自然语言处理和生成模型,实现了从自然语言描述到晶体结构的自动生成。这种方法不仅提高了生成结构的准确性和效率,而且为材料设计提供了一种新的自动化工具。对于从事材料科学、计算化学以及人工智能领域的研究者和工程师来说,这篇文章提供了一种新的视角和工具,值得一读。

8. Hi-Gen: Generative Retrieval For Large-Scale Personalized E-commerce Search, ICDM, 2024.

Yanjing Wu, Yinfu Feng, Jian Wang, Wenji Zhou, Yunan Ye, Rong Xiao, Jun Xiao

Hi-Gen: 大规模个性化电子商务搜索的生成式检索

摘要
本文提出了一种用于大规模个性化电子商务搜索的生成式检索方法Hi-Gen。该方法通过设计一个度量学习模型来学习项目的特征表示,捕获语义相关性和效率信息,然后通过类别引导的层次聚类方案生成docID。此外,提出了位置感知损失来提高解码阶段语言模型的性能。Hi-Gen在公共和行业数据集上进行了广泛的实验,证明了其有效性和效率。在线AB测试实验表明,Hi-Gen在召回数量和商品交易总额上都有显著提升。
在这里插入图片描述

创新点

  1. 类别引导的层次聚类:利用项目嵌入和效率分数,通过层次聚类生成具有清晰语义含义的docID。
  2. 位置感知损失:在解码阶段,提出了位置感知损失来区分位置的重要性,并挖掘同一位置不同token之间的内在关系。
  3. 在线实时大规模召回的两种变体:Hi-Gen-I2I和Hi-Gen-Cluster,支持在线服务过程中的实时大规模召回。

算法模型
Hi-Gen模型包括以下几个关键组件:

  1. 表示学习模型:使用度量学习来学习项目的区分性特征表示。
  2. 类别引导的层次聚类:根据项目嵌入和效率分数,通过层次聚类生成docID。
  3. 位置感知损失:在语言模型的解码阶段使用,以提高解码性能。
  4. 在线服务优化:Hi-Gen-I2I和Hi-Gen-Cluster两种变体,用于在线大规模召回。
    在这里插入图片描述
    在这里插入图片描述

实验效果

  • 公共数据集AOL4PS:Hi-Gen在Recall@1和Recall@10上分别比最佳基线模型提高了3.30%和7.73%。
  • 行业数据集AEDST:Hi-Gen在Recall@1、Recall@50和Recall@100上分别比最佳基线模型提高了4.62%、25.87%和28.37%。
  • 在线AB测试:Hi-Gen在召回数量和商品交易总额上分别提高了6.89%和1.42%。

推荐阅读指数
★★★★☆

推荐理由
这篇论文针对大规模个性化电子商务搜索问题提出了一种创新的生成式检索方法。通过结合度量学习和层次聚类技术,Hi-Gen能够有效地捕获项目的语义和效率信息,并在解码阶段利用位置感知损失提高检索性能。此外,论文还提出了两种变体以支持在线服务过程中的实时大规模召回,这些方法在公共和行业数据集上的实验结果证明了其有效性。对于从事电子商务搜索、推荐系统和生成式检索研究的研究人员和工程师来说,这篇论文提供了有价值的见解和技术方案。

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

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

相关文章

unity的学习

因为需要构建一个三维物理环境,所以学习了unity,半天就可以,非常简单清晰 1.安装 去官网下载unity hub . 然后需要下载editor,但注意已经有了vs2022就不要再下一次了,下的时候会全放c盘,再安装.c盘都装不下了. 如果美游vs2022,就先自己把vs2022安装好,再安装unity hub.(其实不…

Vue自定义指令以及项目中封装过的自定义指令

自定义指令 Vue 自定义指令是 Vue.js 框架中一个非常强大的功能,它允许你注册一些全局或局部的自定义 DOM 操作指令,以便在模板中复用。自定义指令通过 Vue.directive() 方法进行全局注册,或者在组件的 directives 选项中局部注册。 自定义…

YOLOV8输出预测框的坐标信息

结果:(前提是对应类别的yolov8模型已经训练好) 具体实现: 在ultralytics\utils\plotting.py里面 CtrlF搜索box_label 再次照片的最后一行输入: # 左上角cv2.putText(self.im, f"({p1[0]}, {p1[1]})", (p1…

计算机毕业设计选题推荐-共享图书管理系统-小程序/App

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

【北京迅为】《STM32MP157开发板使用手册》- 第三十一章Cortex-M4窗口看门狗实验

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

国外SIM卡有信号无法连接,如何解决?

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

[Java]SpringBoot能力进阶

配置优先级 SpringBoot中支持三种格式的配置文件 优先级: application.properties文件 > application.yml文件 > application.yaml文件 SpringBoot除了通过配置文件配置属性, 还支持Java系统属性和命令行参数的方式 进行属性配置 1.在IDEA中配置java系统属性和命令行参…

19、Python如何读写excel文件

在数据处理和分析时,经常使用Excel,而手动操作Excel可能非常繁琐和耗时。Python提供了许多强大的库和工具,可以方便地操作Excel文件。 在Python标准库中是不支持Excel读写的,我们要安装第三方库来实现。 在Python中操作Excel有多…

设计一个高质量的API接口:提升应用性能的关键步骤

在当今的软件开发世界中,API(应用程序编程接口)接口扮演着至关重要的角色。一个设计精良的API不仅能够提高开发效率,还能提升用户体验,并确保系统的可扩展性和安全性。本文将探讨如何设计一个高质量的API接口&#xff…

Golang | Leetcode Golang题解之第412题Fizz Buzz

题目&#xff1a; 题解&#xff1a; func fizzBuzz(n int) (ans []string) {for i : 1; i < n; i {sb : &strings.Builder{}if i%3 0 {sb.WriteString("Fizz")}if i%5 0 {sb.WriteString("Buzz")}if sb.Len() 0 {sb.WriteString(strconv.Itoa(i…

Davinci 大数据可视化分析

Davinci 大数据可视化分析 一、Davinci 架构设计1.1 Davinci定义1.2 Davinci 应用场景 二、Davinci 安装部署2.1 部署规划2.2 前置环境准备2.3 Davinci部署2.3.1 物料准备2.3.2 安装配置 2.4 环境变量配置2.5 初始化数据库2.5.1 创建数据库及用户 2.5.2 建表2.6 初始化配置 三、…

开源免费的NAS系统-TrueNAS CORE搭建和使用(保姆级教程)

TrueNAS CORE说明 TrueNASCORE(以前称为 FreeNAS)是世界上最受欢迎的存储操作系统,因为它使您能够构建自己的专业级存储系统,用于各种数据密集型应用程序,而无需任何软件成本。只需将其安装到硬件或虚拟机上,即可体验开源存储的真正存储自由。 TrueNAS提供了CORE和Ente…

如何用python构建简单神经网络?

今天&#xff0c;我们将运用Python来搭建一个简单的神经网络模型&#xff01;并深入浅出地探索其背后的运作原理。 多输入 提及神经网络时&#xff0c;我们可以将其视为一个高度灵活的函数来理解和应用。 为了做出准确的预测&#xff0c;我们需要构建能够同时组合多个输入的…

吸浮毛宠物空气净化器推荐,希喂、小米、有哈宠物空气净化器测评

养猫需谨慎&#xff0c;不然就要做猫奴一辈子啦&#xff01;上次堂妹来我家住几天&#xff0c;刚开始还担心和猫处不来&#xff0c;不敢去摸它&#xff0c;走的时候已经约好下次来看它的时间&#xff0c;笑死我了。毕竟猫咪这么可爱&#xff0c;很少有人可以抵抗它的魅力。 这不…

Zabbix 2024 中国峰会在上海举办,Databuff 携最业界领先研发成果重磅亮相

9月13日&#xff0c;Zabbix中国峰会在上海圆满结束。会上共进行了18场技术演讲&#xff0c;共有超过500人参加了本次盛会。 大会开始&#xff0c;Zabbix创始人Alexei Vladishev介绍了Zabbix7.0新功能以及未来的发展蓝图。 随后&#xff0c;乘云数字CEO向成钢分享了《如何打造开…

JVM 调优篇7 调优案例4- 线程溢出

一 线程溢出 1.1 报错信息 每个 Java 线程都需要占用一定的内存空间&#xff0c;当 JVM 向底层操作系统请求创建一个新的 native 线程时&#xff0c;如果没有足够的资源分配就会报此类错误。报错信息&#xff1a;java.lang.outofmemoryError:unable to create new Native Thr…

集群软件在linux上的安装

前置准备 为了保证各个服务器之间的正常通信&#xff0c;要完成集群化环境的前置准备&#xff0c;包括创建多台虚拟机&#xff0c;配置主机名映射&#xff0c;SSH免密登录等等。 配置多个虚拟机 配置多台Linux虚拟机 安装集群化软件&#xff0c;首要条件就是要有多台Linux服务…

web基础—dvwa靶场(四)​File Inclusion

File Inclusion(文件包含) 有些 web 应用程序允许用户指定直接文件流的输入&#xff0c;或允许用户将文件上载到服务器。稍后 web 应用程序访问 web 应用程序上下文中用户提供的输入。通过这样种操作&#xff0c;web 应用程序允许恶意文件执行。 如果选择要包含的文件是目标计…

【系统方案】智慧园区数字园区整体解决全套方案(PPT,Word原件等)

智慧园区建设要点可归纳为以下几点&#xff1a; 基础设施建设&#xff1a;构建高速、稳定的网络基础设施&#xff0c;部署物联网设备&#xff0c;实现园区内设备的互联互通&#xff0c;为智慧化应用提供基础支撑。 数据平台建设&#xff1a;建立统一的数据中心&#xff0c;整合…

Linux中安装maven

Linux中安装maven 1.下载2.安装3.配置环境变量4.maven相关配置 1.下载 下载地址&#xff1a;https://maven.apache.org/download.cgi 2.安装 指定位置上传压缩包&#xff1a; 解压&#xff1a; tar -zxvf apache-maven-3.9.5-bin.tar.gz修改解压缩后的文件名: mv apac…