当前位置: 首页 > news >正文

2024.6使用 UMLS 集成的基于 CNN 的文本索引增强医学图像检索

Enhancing Medical Image Retrieval with UMLS-Integrated CNN-Based Text Indexing

问题

  • 医疗图像检索中,图像与相关文本的一致性问题,如患者有病症但影像可能无明显异常,影响图像检索系统准确性。
  • 传统的基于文本的医学图像检索(TBMIR)方法存在不足,如简单关键字方法忽略医学实体含义,概念方法则耗时耗空间。
  • 卷积神经网络(CNN)模型在医疗图像检索尤其是 TBMIR 中的应用效果不佳,原因是排名过程复杂,且现有模型未充分考虑医学领域特异性。

挑战

  • 确定如何将 TBMIR 任务视为图像检索任务,而非传统信息检索或自然语言处理(NLP)任务,以充分发挥 CNN 在医疗图像检索中的潜力。
  • 处理医疗图像和文本数据的语义关系,克服低级视觉特征与高级语义特征之间的差距,提高检索准确性。

创新点

  • 提出一种基于深度匹配模型(DMM)和医学相关特征(MDF)的新方法,用于重新排序医疗图像,有效考虑了 TBMIR 任务特性。
  • 利用统一医学语言系统(UMLS)构建语义相似性矩阵,通过个性化卷积神经网络(CNN)生成查询和图像元数据的有效表示,以实现更准确的匹配。

贡献

  • 提出了一种创新的 SemRank 模型,利用 MDF 和 UMLS 改进医疗图像检索中的排名。
  • 通过实验证明了将 MDF 和 UMLS 集成到 DMM 中可显著改善重排序过程,提高检索性能。

提出的方法

  • 总体流程:利用相关性反馈整合图像和文本查询信息,将文本查询和图像元数据表示为 MDF,通过 UMLS 构建语义相似性矩阵,使用个性化 CNN 构建查询和文档的良好表示,计算匹配分数,最后结合基线分数进行重新排序。
  • 具体步骤
    1. 初步步骤:将查询和文档表示为 MDF 集合,通过 MetaMap 工具将 MDF 转换为概念,使用 UMLS Similarity 工具计算概念间相似度构建语义相似性矩阵,将每个查询 / 文档转换为语义相似性矩阵。
    2. 深度匹配模型(DMM)构建
      • 查询和文档矩阵提取:将查询和文档转换为 MDF 向量,再转换为语义相似性矩阵,通过与语义相似性矩阵相乘得到新的查询矩阵。
      • 个性化 CNN
        • 卷积层:设计多种查询和文档过滤器,计算如 MDF 共现、文档排名等特征,通过卷积操作产生输出向量。
        • 激活函数:采用 ReLU 函数进行非线性变换。
        • 池化层:使用最大池化聚合信息、减少表示并提取全局特征。
        • 全连接层:生成最终的查询或文档向量表示。
      • 匹配函数:采用基于表示的模型,使用余弦相似度计算查询和文档的相关性得分。
    3. SemRank 语义重新排序模型:结合 DMM 得分和基线得分(如 BM25),通过线性组合计算 SemRank 分数,对文档进行重新排序。

指标

  • 平均准确率(MAP):用于衡量检索系统在多个查询下的平均性能。
  • 精确率(P@5、P@10):分别表示在前 5 个和前 10 个检索结果中的精确率。

模型结构

  • 输入层:接收以 MDF 表示的查询和文档。
  • 隐藏层
    • 包含卷积层,应用多种查询和文档过滤器提取特征。
    • 激活函数层,使用 ReLU 函数进行非线性变换。
    • 池化层,采用最大池化操作。
    • 全连接层,生成最终向量表示。
  • 输出层:输出查询和文档的相关性得分,用于排序。

结论

  • 提出的 SemRank 模型利用外部语义资源(MDF 和 UMLS)改进了医疗图像检索排名。
  • 在 Medical ImageCLEF 数据集上的实验表明,该模型在重排序过程中显著提升了性能,与多种现有方法相比具有优势。

剩余挑战和未来工作

  • 剩余挑战:数据集的版权限制导致实验数据有限,部分模型(如 Bo1PRF)在处理包含大量非临床图像的数据集时表现较好,凸显了现有模型对图像多样性处理的不足。
  • 未来工作
    • 增强 CNN 模型,集成更多包含广泛检索属性的过滤器。
    • 改进 SemRank 模型,融入视觉特征以提高图像检索精度。

抽象的

近年来,卷积神经网络 (CNN) 模型在图像分类和自然语言处理 (NLP) 等各个领域都取得了显著的进步。尽管它们在图像分类任务中取得了成功,但它们对医学图像检索,尤其是基于文本的医学图像检索 (TBMIR) 任务的潜在影响尚未完全实现。这可能归因于排名过程的复杂性,因为将 TBMIR 视为图像检索任务而不是传统信息检索或 NLP 任务存在歧义。为了解决这一差距,我们的论文提出了一种使用深度匹配模型 (DMM) 和医学相关特征 (MDF) 对医学图像进行重新排名的新方法。这些特征结合了医学术语和成像模式等分类属性。具体而言,我们的 DMM 旨在使用个性化 CNN 为查询和图像元数据生成有效的表示,从而促进这些表示之间的匹配。通过使用 MDF(基于统一医学语言系统 (UMLS) 元词库的语义相似性矩阵)和一组考虑了一些排名特征的个性化过滤器,我们的深度匹配模型可以有效地将 TBMIR 任务视为图像检索任务,如前所述。为了评估我们的方法,我们在 2009 年至 2012 年的医学 ImageCLEF 数据集上进行了实验。实验结果表明,与基线和最先进的方法相比,所提出的模型显著提高了图像检索性能。
关键字:
基于文本的医学图像检索;卷积神经网络;医学相关特征;UMLS 元词典

1. 简介

医疗信息检索具有一系列与改善医疗保健相关的应用和解决方案。从根本上讲,它包括图像检索、报告检索和对包含图像和文本的数据库的自然语言查询。然而,图像检索是一项具有挑战性的任务,因为它可能非常主观,需要高级认知处理。临床上使用的图像检索主要有两种类型。一种是医疗专业人员清楚地知道他们要寻找什么,并使用图像来寻找特定信息。第二种情况是医疗专业人员有一张图像,并希望找到所有相似的图像来帮助诊断或作为教学辅助。第一步需要手动工作,因为标签需要手动附加到图像上,通常作为元数据。当图像存储在大型数据库中(如图片存档和通信系统 (PACS))时,这可能是一项非常混乱且耗时的任务。第二步涉及使用图像作为查询进行搜索,并使用图像的视觉特征的算法方法尝试检索相似的图像。随着技术的进步,越来越多的人支持转向自动图像注释和基于内容的检索。CNNMIR 模型旨在基于内容的图像检索 (CBIR) 领域改进当前的技术水平。
在医学领域,图像通常是一组先前评估过的病例的参考集,医生可使用它们来做出正确的决策。随着医学图像的大量增长,领域专家很难在大型医学数据集中找到相关图像。因此,对高效且有效的医学图像检索系统的需求变得迫切 [ 1 ]。医学图像检索主要有两种方法被广泛使用:基于文本和基于内容的检索。这些方法使用不同的原理来搜索相关图像:基于文本的方法依赖于图像的高级语义特征,而基于内容的方法依赖于图像的低级视觉特征(例如颜色、形状和纹理)。比较这两种方法,由于低级视觉特征和高级语义特征之间的差距,基于内容的医学图像检索 (CBMIR) 的性能较差 [ 2,3 ] 。因此,一些医学图像检索系统应用基于文本的医学图像检索 (TBMIR) 方法来搜索图像 [ 4 ]。这些方法大多是:要么是传统的基于关键词的简单方法,忽略了医学实体的含义;要么是基于概念的方法,既耗时又耗磁盘空间。根据我们之前的研究 [ 5 , 6 ],医学图像的文本描述中存在特定的医学信息,即医学相关特征 (MDF),对 TBMIR 方法的性能有积极影响。
近年来,卷积神经网络 (CNN) [ 7,8 ] 模型在自然语言处理 (NLP) [ 9 ]和计算机视觉 [ 10 ] 等多个领域表现出显著的性能提升。鉴于这些领域的成功,它似乎可以有效地用于图像检索。不幸的是,到目前为止,CNN 模型并没有对医学图像检索产生显著的积极影响,尤其是基于文本的医学图像检索 (TBMIR) [ 11 ]。这可能是由于排名过程的复杂性:如何将 TBMIR 任务视为图像检索任务 [ 12 ] 而不是传统的信息检索任务或 NLP 任务并不明显。事实上,传统的信息检索系统可以确定文档与给定查询的相关性;然而,NLP 系统会推断查询和文档之间的语义关系。这两个系统在其处理过程中都没有考虑到图像的特殊性。
在我们之前的工作 [ 13 ] 中,我们提出了一个个性化的 CNN 模型,该模型在检索过程中考虑了图像的特殊性。在该模型中,我们考虑了 Word2Vec 模型进行词嵌入。然而,众所周知,Word2Vec 模型考虑的是一般术语,而不是特定于任何领域的术语。由于我们的工作适用于医学图像检索领域,我们认为使用医学语义资源(如 UMLS)来转换文本词更为合适。
本文提出了一种不同于传统信息检索和 NLP 的 TBMIR 深度匹配流程,具体如下:首先,该流程考虑到图像的特殊性,将文本查询和图像元数据(文档)映射到 MDF 中。其次,该流程使用 UMLS 提取 MDF 之间的语义关系,以构建查询和文档的良好表示;第三,该流程使用提取的关系计算文档与查询的相关性。
文献中提出了多种深度匹配模型;然而,它们大多数是为 NLP 而非信息检索设计的。实际上,它们考虑的是语义匹配而不是相关性匹配。根据架构,这些模型可分为两类 [ 14 ]:第一种是注重交互的模型 [ 15 , 16 ]。这些模型提取查询和文档之间的关系,然后将它们集成到深度神经网络中以创建新的匹配模型。第二种是注重表示的模型 [ 15 , 17 ]。这些模型应用深度神经网络为查询和文档提取最佳表示,然后将它们集成到匹配过程中。
在本文中,我们提出了一种基于深度匹配模型 (DMM) 的 TBMIR 医学图像重新排名新方法。总体而言,我们的模型是一种新的以表示为中心的模型,它使用 MDF、UMLS 和个性化 CNN 进行相关性匹配,从而构建查询和文档的良好表示。具体来说,我们首先通过提取每对 MDF 之间的 UMLS 关系来创建语义相似度矩阵。每个查询/文档 MDF 都被映射到一个相似度向量,该向量表示相应 MDF 与所有 MDF 之间的关系。由于每个查询/文档都由 MDF 组成,因此查询/文档的结果表示将是一个相似度矩阵。使用这些矩阵,我们的模型试图为查询和文档找到最佳表示。事实上,它应用了一个个性化的 CNN,该 CNN 由考虑到一些排名特征的检索过滤器组成。最后,计算出一个总体匹配分数。
我们使用 2009 年至 2012 年的 ImageCLEF 数据集评估了所提出的 DMM 的有效性。为了进行比较,我们考虑了三种众所周知的传统检索模型。实证结果表明,我们的模型在所有评估指标方面都明显优于基线模型。
本文的结构如下:第 2 节总结了相关工作。第 3 节描述了所提出的 DMM 模型。第 4 节首先描述了如何使用 UMLS 相似性将 MDF 表示为语义相似性矩阵,其次描述了具有特定过滤器的个性化 CNN 模型,最后描述了匹配函数。第 7 节介绍并讨论了实验和结果。最后,第 8 节总结了本文并提出了一些未来的工作。

2.相关工作

基于文本的索引提供了利用相关报告对医学图像进行索引的可能性,从而为访问呈指数级增长的临床图像数据库提供了重要途径。当前从医学数据库中检索图像的方法要么基于属性图像内容,要么基于非图像内容。基于内容的图像检索 (CBIR) 方法依赖于图像特征,例如形状、纹理或(在大多数成功情况下)先前分配的语义特征来检索相似的图像。非图像内容检索方法通常处理基于文本的数据库搜索,其中将搜索查询提交到图像数据库并将与图像相关的文本与查询进行比较。但是,这两种方法都没有考虑与图像相关的实际医学知识和更传统的组织医疗记录的方法,这些方法是通过关键字进行索引的。基于文本的图像检索大体上建立在检索技术的基础上,该技术旨在从大量图像数据库中查找与给定查询相关的所有图像。在所提出的系统的大多数教科书研究中,将特定图像作为条目给出,并且用户希望检索与给定查询相关的所有图像。虽然它实际上是基于文本的图像检索的一个子类型,其中实际的基于文本的图像不可用,并且受到图像某些基于关键字的注释可用性的限制。但这种方法已被证明在检索与给定查询相关的图像方面非常有效,因此可以推广到以文本为主要形式的检索系统。从图像中创建“相关特征索引”实际上是创建一个将图像链接到文本的可搜索数据库。
在文献中,有几篇论文研究了 CNN 和语义在医学图像检索中的应用。本节简要总结了其中一些论文。
2.1. 用于医学图像检索的 CNN
CNN模型在医学图像检索领域的应用已引起广泛关注 [ 18,19,20 ]。[21] 中的作者使用基于词袋 (BoW) 技术的 CNN 模型来索引生物医学文章。在这个特定的模型中,输入是一个数字矩阵,代表输入文本中包含的各种医学术语。之后,使用隐藏层系统为文档分配类别。[ 22 ] 的作者开发了另一种可用于检索操作的医学文本分类方法。它通过使用 CNN 训练来提取输入句子的语义;更具体地说,它使用 Word2vec 技术来表示输入句子。该方法基于 CNN 的使用。在由众多隐藏层组成的 CNN 模型的训练过程中,它还会维护停用词列表。引用文章 [ 23 ] 中的作者使用 CNN 模型来消除用于医学文献检索的临床笔记中的背景噪音。他们使用 GloVe 向量表示输入问题,这些向量在以下参考文献中引用:[ 24 ]。CNN 模型在本研究中的主要目的是预测搜索查询短语的相对相关性。
尽管 CNN 在计算机视觉和 NLP 领域取得了成功,但使用 CNN 在 TBMIR 中搜索相关文档并不有效;这可能是由于排名过程的复杂性。此外,大多数现有的 CNN 模型在表示查询和文档时没有考虑到医学领域的特殊性。后者需要使用外部医学资源进行语义提取。
2.2. 医学图像检索中的语义
在医学图像检索领域中,语义知识的整合已受到广泛关注,例如 [25,26,27 ] 。[ 28] 中的作者在医学领域使用 UMLS 元同义词库来改进查询并将单词转换为医学术语。他们使用 UMLS 元同义词库 [29] 将语义整合到检索过程中,将文本映射到概念中。所引用论文 [ 30 ]的作者开发了一种检索方法,使用基于潜在语义主题描述的剪枝词典来发现各种医学照片之间的区分性特质。他们通过计算主题词相关性来实现这一点,这使他们能够预测单词与基础主题的关系。潜在主题是根据图像和单词之间的关联学习到的,它们用于弥合低级视觉特征和高级语义特征之间的差距。这是通过弥合低级视觉特征和高级语义特征之间的差距来实现的。此外,在 [ 31 ] 中,作者提出了一种基于语义特征的图像检索框架。该框架依赖于 (1) 自动预测定义图像内容的本体术语和 (2) 通过分析注释之间的相似性来检索相似图像。对该系统的研究表明,在检索医学图像时使用本体是有益的。
尽管在医学图像检索中使用CNN和语义资源的研究很多,但缺乏将语义知识融入CNN模型以提升医学图像检索性能的研究。因此,我们提出了一种基于个性化CNN和语义资源(MDF,UMLS)的新型深度匹配模型来提高检索准确率。

3. 我们的方法概述

众所周知,医学图像和相关报告通常不一致。例如,一名椎间盘突出但没有任何症状的患者,其 MRI 扫描结果不会出现太多异常,但会有很多与其病情相关的单词或短语。这种不一致是医学图像检索系统面临的一个主要问题,因为医学图像检索系统依赖于图像和相关文本“大致相同”。考虑到这一点,以及我们分别对图像和文本进行索引的事实,我们需要设计一种方法,让文本查询可用于辅助图像查询,反之亦然,而无需用户在两者之间切换。
我们提出的解决方案利用相关性反馈,使用另一种模态整合来自图像和文本查询的信息。例如,如果用户试图找到与“左肺癌”报告相对应的图像,当前系统要求他们使用自然语言处理 (NLP) 工具单独索引文本并制定查询,然后对图像重复该过程。这种方法效率低下,需要用户在模态之间切换。相比之下,我们的系统使用户能够使用 NLP 工具索引文本或查询,随后识别与文本相对应的相关图像。模态特定技术随后根据图像与文本的相似性对其进行排名。这种方法自动执行“查找与此报告匹配的图像”的任务,从而提高效率和准确性。
由于 MDF 对检索性能 [ 6,13 ] 和查询分类 [ 32,33 ] 都有积极影响,我们选择将它们集成到深度匹配模型中。在本研究中,我们利用统一医学语言系统 (UMLS) 作为语义资源来构建语义相似度矩阵,它表示医学相关特征 (MDF) 对之间的关​​系。文献 [ 34,35,36 ] 广泛认为 UMLS 是一个全面的词库和生物医学概念本体,旨在链接各种生物医学术语。通过利用 UMLS,我们确保为分析提供强大的语义框架。此外,我们的系统允许用户使用自然语言处理 (NLP) 工具索引文本或查询,从而有助于更准确、更有效地检索相关医疗信息。
提出了一种使用 MDF 的新型个性化 CNN 模型,为查询和文档构建最佳表示,用于计算其匹配分数。在本文中,图 1概述了我们的方法:

 

  • 初步步骤:
我们将每个查询/文档表示为一组特征,然后对于每个 MDF(𝐹𝑖F我),我们分配从相似度矩阵中提取的相应向量。因此,每个查询/文档都表示为一个矩阵。
  • 深度匹配模型流程:
首先,我们使用个性化的 CNN 模型构建查询/文档的良好表示,该模型考虑了查询和文档之间的交互。事实上,已经提出了几个个性化过滤器并将其集成到这个模型中。然后,应用匹配函数来测量查询和文档表示之间的匹配程度。更准确地说,我们使用余弦相似度函数作为匹配函数。
其次,我们将获得的分数与相应的基线分数相结合,形成新的重新排序分数。重新排序过程是通过根据新分数对图像进行排序来实现的。

4. 深度匹配模型:初步步骤

4.1. 医疗依赖特征
由于我们的工作属于医学图像检索领域,我们建议将 MDF [  6 ,  32 ](一组分类医学特征)集成到新的深度匹配模型中,以提高检索性能。 图 2中显示了医学相关特征。

诊断 14 01204 g002

图 2. 医疗相关特征。
每块中密度纤维板𝑓𝑖f我具有 m 个关联值 v,定义为𝑓𝑖= { 𝑣 1 , 𝑣 2 , … 𝑣 𝑚 }f我=五1,五2,…五米我们工作中使用的MDF组详细如下:
  • 放射学= “超声成像”、“磁共振成像”、“计算机断层扫描”、“X 射线”、“2D 射线成像”、“血管造影”、“PET”、“单幅图像中的组合模式”、“冠状动脉造影”、“膀胱造影”、“闪烁显像”、“乳房 X 线摄影”、“骨密度测定”、“放射治疗”、“泌尿道造影”、“盆腔超声”、“脊髓造影”、“FibroScan”
  • 显微镜检查= “光学显微镜检查”、“电子显微镜检查”、“透射显微镜检查”、“荧光显微镜检查”、“活检”、“粪便显微镜检查”、“毛细血管镜检查”、“滋养层活检”、“细胞学”
  • 可见光摄影=“皮肤科”、“皮肤”、“内窥镜检查”、“其他器官”、“阴道镜检查”、“膀胱镜检查”、“宫腔镜检查”
  • 打印信号和波= “脑电图”、“心电图”、“肌电图”、“动态心电图”、“听力测定”、“尿动力学评估”
  • 通用生物医学插图= “模态表格和表格”、“程序列表”、“统计数字”、“图形”、“图表”、“屏幕截图”、“流程图”、“系统概述”、“基因序列”、“色谱”、“凝胶”、“化学结构”、“数学公式”、“非临床照片”、“手绘草图”
  • 维度= “宏观”、“微观”、“小”、“总体”、“综合维度”
  • V-Spec =“棕色”、“黑色”、“白色”、“红色”、“灰色”、“绿色”、“黄色”、“蓝色”、“彩色”
  • T-spec = “发现”、“病理学”、“鉴别诊断”、“羊膜穿刺术”、“血象”、“无创产前筛查”、“尿液分析”、“腰椎穿刺”、“精液图”、“三重测试”
  • C-spec = “组织学”、“骨折”、“癌症”、“良性”、“恶性”、“肿瘤”、“妊娠”、“抗生素谱”
4.2 语义矩阵构建
在本节中,我们介绍了一种使用两种语义资源的新语义映射方法:MDF 和 UMLS。在 NLP 中,文本数据经常被转换成数字向量,深度模型可以将其作为输入进行处理。已经提出了几种用于词嵌入的方法,例如 Word2Vec、Glove 和独热编码。通常,这些模型考虑不特定于任何领域的一般术语来推导单词之间的相似性和关系。由于我们的工作适合医学图像检索领域,我们相信如果使用 UMLS 等医学语义资源来转换文本单词,检索性能可以得到提高。我们将查询和文档表示为一组 MDF,以仅保留与医学领域相关的语义信息。然后,使用 MetaMap 工具将每个 MDF 转换为一个概念,然后使用 UMLS 相似度工具 [  37 ] 计算​​每对概念之间的相似度,然后构建相似度矩阵, 如图 1所示。
如图 1的初步步骤所示,所有特征都转换为相似度矩阵,因此需要执行以下步骤:
  • 步骤 1:使用MetaMap 工具 [  38 ] 将每个 MDF 转换为概念。
  • 步骤 2:使用 UMLS相似度工具 [37,39  ]计算每对医学概念之间的相似度。这些语义相似度得分排列在语义矩阵中。更准确地说,我们使用 Resnik 度量来确定提取的概念之间的语义关系,因为根据 [  40 ],它比基于路径的度量表现更好。

5.深度匹配模型构建

新的 DMM 模型是一个以表征为中心的模型,它应该使用深度神经网络为查询和文档构建良好的表征,并在相应的表征之间进行匹配。此外,该模型还应考虑到信息检索、NLP 和医学图像检索的特殊性。
我们的 DMM 模型的输入是一组以 MDF 呈现的查询和文档;每个 MDF 被转换成概念,然后转换成数字向量,以供网络的后续层处理。接下来,我们详细介绍了我们的 DMM 模型的主要组件:查询/文档矩阵提取、个性化 CNN 和匹配函数。
5.1 查询和文档矩阵提取
由于我们的工作适用于医学图像检索领域,我们将查询和文档表示为一组 MDF,以便仅保留与医学领域相关的语义信息。在本文中,我们建议将每个查询和文档转换为 MDF 向量。然后,每个向量转换为语义相似度矩阵,如图 3所示:

诊断 14 01204 g003

图3. 查询矩阵提取过程。
  • 步骤 1:对于每个查询/文档向量,我们根据查询/文档是否包含特征值为每个 MDF 分配一个二进制值。结果向量V的长度等于n,其中n是 MDF 的数量。该向量被转换为𝑛 ∗ 𝑛n∗n矩阵M/ ∀ 𝑖 ∈ 𝑛 , ∀ 𝑗 ∈ 𝑛 , 𝑀 [ 𝑖 ] [ 𝑗 ] = 𝑉[ 𝑖 ]/∀我∈n,∀杰∈n,米[我][杰]=五[我]其中i表示行索引,j表示列索引。
  • 第 2 步:将结果矩阵 M 与语义相似度矩阵 SSM 相乘,得到新的查询矩阵 NQM,如下所示:
    𝑁𝑄 𝑀 [ 𝑖 ] [ 𝑗 ] = 𝑀 [ 𝑖 ] [ 𝑗 ] ∗ 𝑆 𝑆 𝑀 [ 𝑖 ] [ 𝑗 ]否问米[我][杰]=米[我][杰]∗年代年代米[我][杰]
    计算说明如图3所示。
5.2. 个性化 CNN
在本节中,我们将介绍个性化 CNN,它明确解决了上述三个特殊性。实际上,过滤器旨在提取查询和文档的最佳表示。在每个表示中,网络都会考虑几个检索特征,例如 MDF 共现、文档排名和 IPM 分数。此外,它在提取文档和查询之间的交互时会考虑每个查询/文档表示的 NLP 特征。事实上,根据 [ 14 ],大多数 NLP 模型都会提取两个文本之间的交互。
下面,我们介绍我们的网络层:卷积层、激活层、池化层和全连接层。
图 4展示了个性化 CNN 模型的架构。

诊断 14 01204 g004

图4. 个性化CNN模型的架构。
5.2.1. 卷积层
在此层中,有一组过滤器𝐹 ∈ℝ𝑑F∈Rd应用于查询和文档向量以生成不同的特征图。在我们的模型中,查询过滤器与文档过滤器不同。下面,我们提供了有关每个组件(文档和查询)使用的过滤器的详细信息。
  • 查询过滤器:
查询过滤器旨在通过考虑文档与查询之间的关系来提取查询的最佳表示。文档与查询越相关,生成的向量值就越高。
  • 置信度查询过滤器 (CoQF):其思想包括计算查询 MDF 与所有 MDF 的共现。
    𝐶 𝑜 𝑄 𝐹 =∑𝑗 ∈ 𝑄∑𝑖 ∈ 𝐷𝑓𝑟 (𝑓𝑖,𝑓𝑗)∑𝑖 ∈ 𝐷𝑓𝑟 (𝑓𝑖)碳o问F=∑杰∈问∑我∈德fr(f我,f杰)∑我∈德fr(f我)
    (1)
    其中Q是查询 MDF,D是文档 MDF,𝑓𝑟 (𝑓𝑗)fr(f杰)是集合中查询 MDF 的共现,𝑓𝑟 (𝑓𝑖)fr(f我)是集合中文档 MDF 的共现,并且𝑓𝑟 (𝑓𝑖,𝑓𝑗)fr(f我,f杰)是集合中查询 MDF 和文档 MDF 的共现。
    为了考虑文档的长度,我们使用了这个过滤器。仅包含查询 MDF 的文档应该比除查询之外还包含其他 MDF 的文档更相关。事实上,两个文档都是具体的,但第一个文档更详尽。为此,我们建议用文档和查询中的 MDF 数量除以文档 MDF 的数量。如果文档不包含任何查询 MDF,则该值为 0。
  • 长度查询过滤器 (LQF):对于每个查询,如果文档包含所有查询 MDF,则我们将文档和查询中的 MDF 数量除以文档 MDF 数量。否则,该值将等于 0。
    𝐿 𝑄 𝐹 =| 𝑀 𝐷 𝐹 ∈ ( 𝑄 , 𝐷 ) || 𝑀 𝐷 𝐹 ∈ 𝐷 |大号问F=米德F∈(问,德)米德F∈德
    (2)
    在哪里| 𝑀 𝐷 𝐹 ∈ ( 𝑄 , 𝐷 ) |米德F∈(问,德)是查询 MDF Q和文档 MDF D中的 MDF 数量,并且| 𝑀 𝐷 𝐹 ∈ 𝐷 |米德F∈德是包含所有查询 MDF 的文档中的 MDF 数量。
  • 排名查询过滤器 (RQF):我们计算逆文档排名。如果文档未出现在第一次搜索中,则 RQF 将相等。
    𝑅 𝑄 𝐹 =1她的母亲​​​​R问F=1docr一个n钾
    (3)
  • 邻近查询过滤器 (PQF):如果文档包含查询 MDF,我们将计算文档中这些 MDF 之间的距离的倒数。在这种情况下,两个特征之间的距离由位于它们之间的特征总数表示。
    𝑃 𝑄 𝐹 =11 + ∑ 𝑑 𝑖 𝑠 𝑡 𝑀 𝐷 𝐹 ∈ 𝐷磷问F=11+∑d我s吨米德F∈德
    (4)
    在哪里𝑑 𝑖 𝑠 𝑡 𝑀 𝐷 𝐹 ∈ 𝐷d我s吨米德F∈德是文档 MDF 之间的距离。
  • PMI 查询过滤器 (PMIQF):PMI(逐点互信息)[ 41 ] 是一种用于查找具有相近含义的特征的度量。事实上,MDF 的 PMI𝑓𝑖f我和𝑓𝑗f杰是使用以下情况定义的𝑓𝑖f我(𝑓𝑟 (𝑓𝑖)fr(f我)) 和𝑓𝑗f杰(𝑓𝑟 (𝑓𝑗)fr(f杰)), 共现𝑓𝑟 (𝑓𝑖,𝑓𝑗)fr(f我,f杰)在特征向量内,N是集合大小。
    藝術本身​𝐹 ( 𝑄 𝐹 ) = 𝑙 𝑜 𝑔𝑁× 𝑓𝑟 (𝑓𝑖,𝑓𝑗)𝑓𝑟 (𝑓𝑖) ×𝑓𝑟 (𝑓𝑗)磷米我F(问F)=升o克否×fr(f我,f杰)fr(f我)×fr(f杰)
    (5)
    该方程计算集合中语义上最接近的 MDF𝑓𝑖f我和𝑓𝑗f杰。
  • 特征差异查询过滤器 (FDQF):未找到的查询 MDF 越少,文档的相关性越高。对于每个查询,我们计算不在文档 MDF 中的查询 MDF 数量的倒数。
    𝐹 𝐷 𝑄 𝐹 =11 + | 𝑀 𝐷 𝐹 ∈ { 𝑄 ∩ 𝐷 } |−−−−−−−−−−−−−−−−−−√F德问F=11+米德F∈问∩德
    (6)
  • 文档过滤器:
与查询过滤器类似,文档过滤器试图提取文档的最佳表示。它们基于文档和查询之间的关系。文档与查询的相关性越高,得到的向量值就越高。
  • 置信度文档过滤器 (CoDF):此文档过滤器确定查询中包含的 MDF 文档总数。文档的相关性将与其包含的查询 MDF 数量成正比增加。
    𝐶 𝑜 𝐷 𝐹 = ∑ (𝑓𝑖𝑞̲∩𝑓𝑗𝑑̲)碳o德F=∑f我问̲∩f杰d̲
    (7)
    在哪里(𝑓𝑖𝑞̲∩𝑓𝑗𝑑̲)f我问̲∩f杰d̲是查询中常见 MDF 的数量。
  • 长度文档过滤器 (LDF):对于文档,首先我们确定相关查询中包含的文档 MDF 的数量,得到该数量后,我们将其除以文档长度(𝐿 𝐷大号德)。事实上,如果文档的大小适中,并且与正在进行的查询具有几个共同的特征,那么文档的相关性就会增加。
    𝐿 𝐷 𝐹 =|他是一个强大的恶魔|𝐿 𝐷大号德F=米德Fdoc我n问你埃r是大号德
    (8)
    在哪里|他是一个强大的恶魔|​​​​​​​米德Fdoc我n问你埃r是是文档和查询中的 MDF 数量,并且𝐿 𝐷大号德是使用 MDF 特征的文档长度。
  • 排序文档过滤器 (RDF):
    𝑅 𝐷 𝐹 =∑𝑖∈𝑞​​𝑓𝑟 (𝑓𝑖𝑖 𝑛 𝑑 𝑜 𝑐 ) × 𝛾R德F=∑我∈问fr(f我我ndoc)×γ
    (9)
    变量𝑓𝑟 (𝑓𝑖)fr(f我)表示文档中查询 MDF 的频率,而𝛾γ表示查询在文档中的组织因子。𝛾γ如果查询在文档中保留其组织,则为 1,否则为 0.5。
  • 邻近文档过滤器(PDF):查询中存在的文档特征越接近,其相关性就越高。
    𝑃 𝐷 𝐹 =1|𝑓𝑖∈𝑄 |​磷德F=1f我∈问
    (10)
    在哪里𝐹𝐷∈𝑄​​​F德∈问是查询中的文档 MDF。
  • PMI 文档过滤器 (PMIDF):与查询过滤器中的 PMI 类似,文档过滤器中的 PMI 尝试查找具有相近含义的 MDF。它具有相同的公式,只是此过滤器中的N是文档大小。
    藝術本身​𝐹 ( 𝐷𝐹 ) = 𝑙𝑜𝑔​​​𝑁× 𝑓𝑟 (𝑓𝑖,𝑓𝑗)𝑓𝑟 (𝑓𝑖) ×𝑓𝑟 (𝑓𝑗)磷米我F(德F)=升o克否×fr(f我,f杰)fr(f我)×fr(f杰)
    (11)
    该方程计算文档中语义最接近的 MDF。
  • 特征差异文档过滤器(FDDF):不在查询中的文档MDF数量越少,文档的相关性就越高。
    𝐹 𝐷 𝐷 𝐹 =11 + | 𝑀 𝐷 𝐹 ∈ 𝐷 − 𝑄 |−−−−−−−−−−−−−−−−√F德德F=11+米德F∈德−问
    (12)
    其中D是文档 MDF,Q是查询 MDF。
DMM 模型的输入是一个矩阵∈​ℝ𝑛 × 𝑛年代∈Rn×n,卷积滤波器也是矩阵𝐹 ∈ℝ𝑛F∈Rn。值得注意的是,这些过滤器具有与输入矩阵相同的维数(表示为n)。此外,这些过滤器扫描向量表示并生成输出向量𝐶 ∈ℝ𝑚碳∈R米. 各组件𝑐𝑖c我矢量C的乘积是通过将矢量V与滤波器F相乘,然后将得到的值相加以获得单个值而获得的。
𝑐𝑖=∑𝑘= 1𝑛𝑉𝑘𝐹𝑘c我=∑钾=1n五钾F钾
(13)
5.2.2. 激活函数
卷积层之后紧接着一个非线性激活函数,称为藝術本身​​​一个升页时长一个该函数被应用于前一层的输出。通过使用此函数,可以将神经元的输入信号转换为输出信号。在已完成的研究中,已经提出了许多不同的激活函数 [ 42 ]。其中一个函数称为整流线性单元 (ReLU) 函数,它确保将正值传递到后续层。[ 43 ] 中的作者证明此函数有效、简单,并且能够降低复杂性以及计算所需的时间。因此,我们决定将此函数作为激活函数包含在我们的模型中。
5.2.3. 池化层
池化层的目标是做三件事:聚合信息、最小化使用的表示量以及从卷积层的局部特征中获取全局特征。在文献中可以找到两个函数:(1)平均值包括计算卷积层每个特征图的平均值以考虑输入的所有元素,即使其中许多元素的权重较低 [ 44 ];(2)最大值包括选择卷积层每个特征图的最大值。执行这两个操作都是为了考虑输入的所有元素。我们决定在研究中采用最大池化,因为它只考虑具有高激活值的神经元,最终导致输入数据的高水平语义抽象。
5.2.4. 全连接层
为了生成查询或文档的最终向量表示,将全连接层 (FCL) 应用于上一步生成的向量。
5.3. 匹配函数
根据 [ 14 ] 的说法,与信息检索相关的最重大挑战是匹配问题,它指的是根据查询确定文档相关性的过程。如果我们有一个用d表示的文档和一个用q表示的查询,那么匹配函数是一种为dq的表示分配分数的机制:
藝術本身​( 𝑑 ,𝑞 ) = 𝐹 (Φ ( 𝑑 ),Φ ( 𝑞 ))R年代五(d,问)=F(φ(d),φ(问))
(14)
其中F代表评分函数,藝術本身​磷时长我是将每个d | q对转换为矢量表示的映射函数。在对该主题进行的研究中,已经提出了许多不同的深度匹配模型用于整个匹配过程。这些轮廓组合在一起时主要分为两类。以表示为中心的模型是第一个,在这个模型中,藝術本身​磷时长我是一个复杂的映射函数,而F是一个简单的评分函数。该模型利用深度神经网络来为文档和查询构建准确的表示。之后,它会在这些不同的表示之间进行某种匹配。第二个是交互重点模型,其中φφ是简单映射函数,F是复杂评分函数。
我们使用以表征为中心的模型,其中藝術本身​磷时长我是一个复杂的表征映射函数,而F是一个简单的匹配函数。由于复杂的藝術本身​磷时长我基于个性化 CNN 的映射函数是我们选择的驱动因素,我们采用更基本的基于F的余弦相似度。文档与查询的相关性的正式定义如下:
藝術本身​(,)=(​​​​​​​​𝑄→,𝐷→) =𝑄→。𝐷→∥𝑄→∥。∥​​𝐷→∥R年代五(问,德)=cos我n埃(问→,德→)=问→。德→问→。德→
(15)
在哪里𝑄→问→和𝐷→德→分别是查询和文档向量。在 IR 中,对于给定的查询,文档按其相关性得分进行排序。

6. SemRank:基于DMM的语义重排序模型

在本文的上一部分,我们讨论了基于 MDF 的深度匹配模型,该模型计算文档d相对于查询q的 DMM 分数。但是,仅使用 MDF 搜索相关文档是不够的;某些短语无法映射到 MDF,因此,应将此类关键字从搜索中排除。因此,我们建议将 DMM 的结果与基线的结果相结合,并考虑所有查询词。更具体地说,我们建议使用最常见的后期融合方法对 SemRank 分数进行建模,该方法被称为直接线性组合。在将两个分数加在一起之前,我们首先按以下方式标准化初始分数和 DMM 分数:
藝術本身​​​​𝑘他​​​​= 𝛼 ∗𝐼她的母亲是一个​​​​​​最大​她的母亲是一个强大的恶魔​​​​+ ( 1 − 𝛼 ) ∗她的母亲​​​​​最大重量​​​​​​​年代埃米R一个n钾scor埃=α∗我n我吨我一个升年代cor埃最大限度我n我吨我一个升年代cor埃s+(1−α)∗德米米年代cor埃最大限度德米米年代cor埃
(16)
在哪里𝛼α是一个平衡参数𝛼 ∈ [ 0 … 1 ]α∈[0…1],InitialScore 表示文档的初始排名分数和同一文档的 DMM 分数。归一化分数是通过将给定文档d的相关性分数除以整个集合中的最高相关性分数而获得的。作为基准,我们建议使用 BM25 模型,该模型以其效率和在许多检索任务中的表现而闻名

7.实验与结果

在本节中,我们描述实验数据集,然后展示我们发布的几个实验以评估我们模型的准确性,并将其与一些现有方法进行比较。
7.1. 实验数据集
为了评估我们所建议方法的有效性,必须使用包含图像和文本描述以及查询和基本事实的医学图像数据集。 目前可用的大多数医学数据集都不满足这些标准。 一些来源缺乏评估协议,例如 OHSUMED[ 45 ],而其他一些则侧重于文本分析和评估,如 TREC。 另一方面,ImageCLEFmed 评估活动提供了特定的医学图片集,用于评估医学图像检索。 从 2011 年起,这些集合的数量和范围与现实世界应用中的集合相当[ 46 ]。 由于版权限制,只有通过与原版权所有者达成特殊协议才能将 ImageCLEFmed 集合重新分发给研究小组[ 47 ]。 因此,我们只能使用已获得版权的五个集合进行实验。这些数据集如表 1所示,由两个相对较小的数据集组成:2009 年 [ 48 ] 和 2010 年 [ 49 ] 数据集分别包含 74,902 和 77,495 幅图像。ImageCLEF 经过改进后,又添加了三个数据集:2011 年 [ 50 ] 数据集包含 230,088 幅图像,2012 年 [ 51 ] 和 2013 年 [ 52 ] 数据集包含 306,539 幅图像。
表 1. 使用 ImageCLEF 数据集与以前最先进的方法的比较结果。

这些数据组中的每幅图像都附有文字描述。图像可以包含其标题中的文字,也可以包含指向 HTML 页面的超链接,该页面包含文章的全文 [ 53 ] 以及文章标题 [ 48 ]。此外,查询是从医师和临床医生建议的一系列主题中选择的,以精确模拟参与诊断任务的临床医生的信息需求。2009 年和 2010 年数据集中的图像来自 RSNA 期刊《放射学》和《放射影像学》[ 48 ],是 Goldminer 数据集的一部分。尽管如此,2011 年、2012 年和 2013 年数据集中的照片来自发表在开放获取期刊上的研究,可通过 PubMed Central 访问。后面的数据集包含的图像范围更广,包括图表、图形和其他非临床图像,从而带来更多的视觉变化。
为了评估所提出的 SemRank 模型,我们使用 2009 年至 2012 年医学检索任务中的 ImageCLEF 集合进行了实验。这些集合由图像和查询组成。每幅图像都有一个文本描述。每个查询都由文本表示和一些示例图像组成。在我们的工作中,我们只使用查询的文本表示和图像的文本描述。2009 年和 2010 年的数据集相对较小(分别为 74,902 和 77,495 张图像)。2011 年和 2012 年的数据集明显更大(分别为 230,088 和 306,539 张图像)。事实上,这些数据集包含更大的图像多样性,还包括图表、图形和其他非临床图像 [ 32 ]。此外,我们仅限于这些数据集,因为我们没有 2013 年数据集,即 imageCLEF 医学图像检索任务中的最后一个数据集。图 5分别展示了所用数据集的 3 幅图像及其使用医疗相关特征提取的相关 MDF。我们在此观察到,MDF 特征代表医学图像的特定特征,但不代表身体部位(大脑)或病理(癌症),这是由于旨在查找医学图像的医学文本查询的性质。

诊断 14 01204 g005

图 5. ImageCLEF 医学图像及其提取的 MDF 的一些示例。
7.2. SemRank 模型在图像重排序中的有效性
在本节中,我们展示了对 SemRank 模型进行的一组实验。为了实现最佳线性组合,我们使用了以下几个值𝛼α。𝛼α= 0 表示仅使用 DMM 分数,并且𝛼α= 1 表示仅使用 BM25 分数。图 6显示了以下情况下的 MAP、P@5 和 P@10 值:𝛼 ∈ [ 0 : 1 ]α∈[0:1]在2009年至2012年的数据集中。

诊断 14 01204 g006

图 6. 根据𝛼α使用 2009、2010、2011 和 2012 年 4 个 ImageCLEF 数据集。
根据图 6,我们注意到仅使用 DMM 模型检索相关文档的排名结果最差。但是,基线模型和 DMM 模型的组合给出了更好的结果。这证明了我们的假设,即仅使用 MDF 搜索相关文档是不够的;组合模型是一个解决方案。根据 MA​​P、P@5 和 P@10 值,当𝛼 ∈ [ 0.1 : 0.5 ]α∈[0.1:0.5]在剩下的实验中,我们选择设置𝛼α= 0.3。
7.3. SemRank 模型与文献模型的比较
在本节中,我们建议将我们的模型与 BM25、DLM(Dirichlet 语言模型)[ 54 ] 和 Bo1PRF(Bo1 伪相关反馈)[ 55 ] 模型进行比较。表 1根据 P@5、P@10 和 MAP 指标总结了此比较。所有模型和每个指标的最佳结果以粗体显示。
对于 2009 年和 2010 年的 ImageClef 数据集,结果表明我们的 SemRank 模型在 MAP、P@5 和 P@10 方面表现优于现有模型。对于 2011 年的数据集,SemRank 模型在 P@5 和 P@10 方面比 BM25 和 DLM 模型表现更好,但在 MAP 方面不如 Bo1PRF 模型。此外,对于 2012 年的数据集,Bo1PRF 模型在 MAP、P@5 和 P@10 方面优于我们的模型。这可以通过这些数据集中包含多种图像(表格、形状、图形)的非临床图像数量较多来解释;并且我们的检索模型特定于医学图像。此外,Bo1PRF 模型基于伪相关反馈技术,可改善检索结果。
准确率增益如表 2所示。实际上,我们确定了改进率,并进行了统计t检验 (Wilcoxon) [ 56 ] 来评估结果。当满足以下条件时,增益被认为具有统计学意义:𝑝 < 0.05页<0.05。在本研究中,结果后面跟着**,当𝑝 < 0.05页<0.05。
表 2. SemRank 与其他模型相比的准确率增益。

结果表明,大多数数据集都取得了改进。我们的模型在 2009 年数据集上取得了 12% 到 29% 的成绩,这比现有模型的性能有了显着提高。与 DLM 和 Bo1PRF 模型相比,SemRank 模型显著提高了 2010 年数据集的检索性能。这可能是因为 2009 年和 2010 年的数据集包含临床医生和医师建议的照片,这些照片超出了所需的信息。
尽管我们的模型在 2011 年和 2012 年数据集上的表现不如 Bo1PR 模型,但与 2012 年数据集的 BM25 模型相比,其检索性能提高了 (+4 个百分点),与 2011 年数据集的 DLM 模型相比,其检索性能提高了 (+40 个百分点)。这种变化可能是由于伪相关反馈技术,该技术添加了出现在前 k 个检索文档中的前 m 个关键字。但是,我们的模型仅使用查询特征而没有使用其他术语,并显著提高了 2009 年和 2010 年数据集的检索性能。
我们得出结论,与文献模型相比,使用我们的 DMM 可以显著改善结果。这验证了我们的假设,即我们的 DMM 是一种有前途的提高医学图像检索性能的技术。此外,这种改进可能与使用医学外部资源的重要性有关:MDF 和 UMLS。

8. 结论和未来工作

本文介绍了一种创新的 SemRank 模型,旨在提高医学图像的排名。该模型利用了两个外部语义资源:医学相关特征 (MDF) 术语和统一医学语言系统 (UMLS) 元词库。在这个框架内,查询和文档表示为 MDF 集,并使用 UMLS 本体来计算这些集之间的语义相似性矩阵。这些矩阵是构建每个查询和文档的矩阵表示的基础,随后将其集成到卷积神经网络 (CNN) 过程中。生成的输出产生用于在呈现查询时计算文档的新相关性分数的向量。这种创新方法不仅利用了来自外部资源的语义知识,还采用了先进的神经网络技术来提高医学图像检索的准确性和有效性。
我们的实验是在 2009 年至 2012 年的 Medical ImageCLEF 集合上进行的。结果表明,将医学相关特征 (MDF) 和统一医学语言系统 (UMLS) 集成到深度匹配模型 (DMM) 中时,重新排序过程得到了显著改善。此外,我们还对我们的模型和各种最先进的方法进行了比较分析。结果显示重新排序过程的准确性显著提高,强调了我们提出的方法的有效性。
在我们未来的研究中,我们的目标是通过集成涵盖更广泛检索属性的补充过滤器来增强 CNN 模型的功能。此外,我们计划通过合并视觉特征来增强 SemRank 模型,从而提高图像检索的准确率。

作者贡献

概念化,KG;方法论,KG 和 HA;软件,KG 和 HA;验证,HA 和 MT;形式分析,KG、HA 和 MT;资源,KG 和 HA;数据管理,KG 和 HA;写作——原始草稿准备,KG 和 HA;写作——审查和编辑,MT 和 HA;可视化,KG 和 HA;资金获取,KG 所有作者均已阅读并同意手稿的发布版本。

资金

这项工作由朱夫大学研究生院和科学研究院长资助,资助编号为 (DGSSR-2023-02-02065)。

机构审查委员会声明

不适用。
参考文献挖掘

  1. McInnes, B.; Liu, Y.; Pedersen, T.; Melton, G.; Pakhomov, S. Umls::Similarity: Measuring the Relatedness and Similarity of Biomedical Concepts; Association for Computational Linguistics: Stroudsburg, PA, USA, 2013. [Google Scholar]
  2. Torjmen-Khemakhem, M.; Gasmi, K. Document/query expansion based on selecting significant concepts for context based retrieval of medical images. J. Biomed. Inform. 2019, 95, 103210. [Google Scholar] [CrossRef] [PubMed]
  3. Resnik, P. Semantic similarity in a taxonomy: An information-based measure and its application to problems of ambiguity in natural language. J. Artif. Intell. Res. 1999, 11, 95–130. [Google Scholar] [CrossRef]

相关文章:

2024.6使用 UMLS 集成的基于 CNN 的文本索引增强医学图像检索

Enhancing Medical Image Retrieval with UMLS-Integrated CNN-Based Text Indexing 问题 医疗图像检索中&#xff0c;图像与相关文本的一致性问题&#xff0c;如患者有病症但影像可能无明显异常&#xff0c;影响图像检索系统准确性。传统的基于文本的医学图像检索&#xff0…...

了解Redis(第一篇)

目录 Redis基础 什么事Redis Redis为什么这么快 除了 Redis&#xff0c;你还知道其他分布式缓存方案吗? 说-下 Redis 和 Memcached 的区别和共同点 为什么要用Redis? 什么是 Redis Module?有什么用? Redis基础 什么事Redis Redis &#xff08;REmote DIctionary S…...

UE5 第一人称射击项目学习(二)

在上一章节中。 得到了一个根据视角的位置创建actor的项目。 现在要更近一步&#xff0c;对发射的子弹进行旋转。 不过&#xff0c;现在的子弹是圆球形态的&#xff0c;所以无法分清到底怎么旋转&#xff0c;所以需要把子弹变成不规则图形。 现在点开蓝图。 这里修改一下&…...

npm/cnpm的使用

npm 1、安装npm 前往nodejs官网下载安装node 验证是否安装成功node node -v node安装npm也会安装 npm -v 2、使用npm 1. 初始化项目 在一个项目文件夹中运行&#xff1a; npm init 根据提示输入项目信息&#xff08;如项目名称、版本号等&#xff09;。 如果你希望快速初…...

go-zero(六) JWT鉴权

go-zero JWT鉴权 还记得我们之前登录功能&#xff0c;返回的信息是token吗&#xff1f; 这个token其实就是JSON Web Token简称JWT,它是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络应用环境间安全地传递声明信息。 它是一种基于 JSON 的令牌&#xf…...

做一个FabricJS.cc的中文文档网站——面向markdown编程

&#x1f4e2;欢迎点赞 &#xff1a;&#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原创&#x1f4e2;作者格言&#xff1a;新的征程&#xff0c;用爱发电&#…...

开发 + 安全:网络安全的协作方法

开发团队和安全团队之间由来已久的紧张关系一直是组织内部摩擦的根源。开发人员优先考虑速度和效率&#xff0c;旨在通过快节奏、迭代的开发周期快速交付功能和产品并高效前进。另一方面&#xff0c;安全团队努力平衡风险和创新&#xff0c;但必须专注于使用护栏保护敏感数据和…...

Next.js- App Router 概览

#题引&#xff1a;我认为跟着官方文档学习不会走歪路 一&#xff1a;App Router与Page Router 在 v13 版本中&#xff0c;Next.js 引入了一个基于 React 服务器组件 构建的新的 App Router&#xff0c;而在这之前&#xff0c;Next.js 使用的是Page Router。 目录结构 pages …...

python oa服务器巡检报告脚本的重构和修改(适应数盾OTP)有空再去改

Two-Step Vertification required&#xff1a; Please enter the mobile app OTPverification code: 01.因为巡检的服务器要双因子认证登录&#xff0c;也就是登录堡垒机时还要输入验证码。这对我的巡检查服务器的工作带来了不便。它的机制是每一次登录&#xff0c;算一次会话…...

【工控】线扫相机小结 第四篇

背景 这一片主要是对第三篇继续补充。话说上一篇讲到了两种模式的切换&#xff0c;上一篇还遗留了一个Bug&#xff0c;在这一篇里进行订正&#xff01; 代码回顾 /// <summary>/// 其实就是打开触发/// </summary>void SetLineSacanWorkMode(){-----首先设置为帧…...

亲测解决Unpack operator in subscript requires Python 3.11 or newer

这个问题是在小虎想提前定义一个list,然后作为index list来调用另一个list里面的变量出现的问题。 环境 Ubuntu 22.04 + python 3.10 故障代码示例 NoneList = [None] * opt.spatial_dims TargetMask = Target[i] == torch.arange(1...

数据结构 ——— 堆排序算法的实现

目录 前言 向下调整算法&#xff08;默认建大堆&#xff09; 堆排序算法的实现&#xff08;默认升序&#xff09; 前言 在之前几章学习了如何用向上调整算法和向下调整算法对数组进行建大/小堆数据结构 ——— 向上/向下调整算法将数组调整为升/降序_对数组进行降序排序代码…...

On-Chip-Network之Topology

片上网络拓扑决定了网络中节点和通道之间的物理布局和连接。拓扑对整体网络性价比的影响是巨大的。拓扑决定了消息 必须经过的跳数&#xff08;或路由器&#xff09;以及跳数之间的互连长度&#xff0c;从而显著影响网络延迟。由于经过路由器和链路会产生功耗&#xff0c;因此 …...

2024年11月21日Github流行趋势

项目名称&#xff1a;twenty 项目维护者&#xff1a;charlesBochet, lucasbordeau, Weiko, FelixMalfait, bosiraphael项目介绍&#xff1a;正在构建一个由社区支持的现代化Salesforce替代品。项目star数&#xff1a;21,798项目fork数&#xff1a;2,347 项目名称&#xff1a;p…...

第三十八章 IOT 通信协议MQTT协议实现的中间件EMQXDocker安装与验证指南

EMQX概述以及Docker安装与验证指南 一、EMQX概述 EMQX(原名EMQ X),是一款完全开源、高度可伸缩、高可用的分布式MQTT消息服务器。它不仅支持MQTT协议,还兼容CoAP/LwM2M等多种物联网协议,是5G时代万物互联的重要消息引擎。这款软件由杭州映云科技有限公司开发,基于Erlan…...

Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复

目录 安装包 flume的部署 负载均衡测试 故障恢复 安装包 在这里给大家准备好了flume的安装包 通过网盘分享的文件&#xff1a;apache-flume-1.9.0-bin.tar.gz 链接: https://pan.baidu.com/s/1DXMA4PxdDtUQeMB4J62xoQ 提取码: euz7 --来自百度网盘超级会员v4的分享 ----…...

CodiMD导出pdf失败或无中文

CodiMD导出pdf失败&#xff0c;弹出文件保存窗口&#xff0c;有个pdf文件能下载&#xff0c;但是保存的时候提示“网站出问题了”&#xff0c;实际到服务器上看会发现docker崩溃了。 解决办法&#xff1a; 使用最新的CodiMD镜像&#xff0c;如nabo.codimd.dev/hackmdio/hackmd:…...

数字图像处理(2):Verilog基础语法

&#xff08;1&#xff09;Verilog常见数据类型&#xff1a; reg型、wire型、integer型、parameter型 &#xff08;2&#xff09;Verilog 常见进制&#xff1a;二进制&#xff08;b或B&#xff09;、十进制&#xff08;d或D&#xff09;、八进制&#xff08;o或O&#xff09;、…...

Kafka 工作流程解析:从 Broker 工作原理、节点的服役、退役、副本的生成到数据存储与读写优化

Kafka&#xff1a;分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析&#xff1a;从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…...

爬虫重定向问题解决

一&#xff0c;问题 做爬虫时会遇到强制重定向的链接&#xff0c;此时可以手动获取重定向后的链接 如下图情况 第二个链接是目标要抓取的&#xff0c;但它是第一个链接重定向过去的&#xff0c;第一个链接接口状态也是302 二&#xff0c;解决方法 请求第一个链接&#xff0…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...