热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用词和图嵌入来衡量统一医学语言系统概念之间的语义相关性

文章:https:www.ncbi.nlm.nih.govpmcarticlesPMC7566472客观的该研究试图探索使用深度学习技术来衡量统一医学语言系统(UML

文章:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7566472/

客观的

该研究试图探索使用深度学习技术来衡量统一医学语言系统 (UMLS) 概念之间的语义相关性。

材料和方法

通过将词嵌入模型 BioWordVec 和各种 BERT 应用于通过连接 UMLS 术语形成的概念句子,为 UMLS 概念生成概念句子嵌入。图嵌入由图卷积网络和 4 个知识图嵌入模型生成,使用从 UMLS 层次关系构建的图。语义相关性是通过概念嵌入向量之间的余弦来衡量的。将性能与 2 种传统的基于路径(最短路径和 Leacock-Chodorow)测量以及从大型生物医学语料库生成的公开概念嵌入 cui2vec 进行了比较。概念句子嵌入也在词义消歧(WSD)任务上进行了评估。

结果

BioWordVec 生成的句子嵌入优于在语义相关性测量中单独使用的所有其他方法。图卷积网络图嵌入一致优于基于路径的测量,并且优于标准化 MedDRA 查询数据集的某些词嵌入。当一起使用时,组合词嵌入和图嵌入在所有数据集中实现了最佳性能。对于 WSD,BERT 的增强版本优于 BioWordVec。

结论

词和图嵌入技术可用于利用 UMLS 中的术语和关系来衡量概念之间的语义相关性。概念句嵌入优于基于路径的测量和 cui2vec,并且可以通过与图嵌入相结合进一步增强。



关键词:UMLS,语义相关性,医学术语,深度学习,词嵌入,图嵌入

介绍

语义相关性是指两个概念在含义上是否密切相关的概念。概念不需要是相同类型的概念(即,属于相同的语义类型)才能被认为是相关的。例如,“心脏”这个解剖实体与“心力衰竭”这种疾病密切相关。使用人类法官的研究表明,大多数概念对的语义相关性有相当大的一致性。1语义相关性的自动测量已成为包括信息检索、文本挖掘和自然语言处理 (NLP) 在内的多个领域的重要工具。一些例子是信息检索,2信息提取,3自动拼写纠正,4机器翻译,5文档分类, 6词义消歧。7语义相似性是一种特殊的语义相关性,是指概念之间的“相似性”。语义相似性通常适用于属于相同语义类型的概念,并且可以通过分类法或类似工件内的层次关系进行链接。1

在生物医学领域,语义相关性的测量一般可以分为基于知识和分布式的方法。1基于知识的方法依赖于现有的知识来源,例如词典和分类法。最常见的方法涉及基于层次关系的路径寻找措施。8分布方法依赖于语料库中概念的分布来计算相关性。基于分布假设,与不相关的概念相比,相关的概念在其分布空间中更加聚集。9使用的语料库通常来自临床文件或科学文献。基于知识的方法和分布式方法各有优缺点。基于知识的方法通常更实用,因为临床文档可能不容易获得,并且处理大型语料库的计算成本很高。6此外,分布方法的结果已被证明因使用的语料库而异,这可能是标准化和基准测试的问题。10 , 11

统一医学语言系统(UMLS)是语义相关性测量中常用的知识源。12 UMLS 是由美国国家医学图书馆开发的医学术语资源,包含数百个生物医学词汇。13UMLS 中大量的术语及其关系为支持各种语义相关性测量提供了丰富的材料来源。传统上,这些方法中的大多数都更关注关系而不是术语。随着深度学习的出现,出现了诸如词嵌入和图嵌入等新方法,可以利用它们来利用 UMLS 中的术语和关系进行语义相关性测量。在这项研究中,我们使用公开可用的词嵌入模型来生成基于 UMLS 术语的概念句子嵌入。代替传统的路径计数方法,我们应用图嵌入模型来学习 UMLS 关系的上下文。我们将我们的结果与一些已发布的基于路径的语义相关测量和基于语料库的概念嵌入进行比较。据我们所知,

背景

词嵌入

词嵌入是 NLP 和机器学习中常用的技术。基本上,它是将单词和短语转换为实数向量的过程。词嵌入的本质要求是意思相似的词应该有相似的表示。大多数词嵌入模型都基于分布语义理论——文本中单词的含义可以通过查看单词周围单词的分布来估计。Word2vec 14是一种广泛采用的预测嵌入模型,它使用神经网络来学习词嵌入。由于可能很难估计罕见词的嵌入,FastText 模型15已经提出通过使用子词来解决这个问题。这种增强与生物医学特别相关,因为许多稀有词可以分解为更常用的子词(例如,“deltaproteobacteria”由子词“delto”、“proteo”和“bacteria”组成)。BioWordVec 16是一个基于 FastText 的词嵌入模型,并在来自生物医学文献的未标记文本与来自 MeSH(医学主题词)术语的信息相结合进行训练。BioWordVec 在多项 NLP 任务中取得了明显优于其他方法的性能。

虽然 BioWordVec 为一个单词生成相同的嵌入而不考虑上下文,但上下文化的单词表示可以根据上下文为一个单词生成不同的单词嵌入。上下文敏感嵌入的最新版本是 BERT(来自 Transformers 的双向编码器表示),是一种可以学习深度双向表示的多层双向转换器编码器。BERT 已在各种 NLP 任务中显示出前景。由于 BERT 是在通用英语语料库上进行预训练的,因此已经尝试通过在其训练中添加生物医学文本来提高其在生物医学中的性能。来自国家生物技术信息中心的 BlueBERT 就是这样一种利用 PubMed 文章和临床文本取得良好结果的努力。

图嵌入

虽然深度学习有效地捕获了欧几里得数据的隐藏模式,但越来越多的应用程序以图的形式表示数据。在卷积神经网络 (CNN)、循环神经网络和深度学习中的自动编码器的推动下,在过去几年中,重要操作的新泛化和定义得到迅速发展,以处理图数据的复杂性。20 , 21例如,可以使用长短期记忆结构直接编码图级语义信息。22图神经网络的话题最近受到越来越多的关注。23,24许多作者将 CNN 等成熟的神经网络模型推广到适用于规则网格结构的任意结构图上。25 Kipf 和 Welling 26首先提出了一种简化的图神经网络模型,称为图卷积网络 (GCN),它是 CNN 在图上的有效变体。GCN 一直是创建节点嵌入的有效工具,该嵌入可以为每个节点聚合图邻域中的局部信息。GCN 模型在计算每个节点的卷积时也可以施加相同的聚合方案,这可以看作是一种正则化的方法,提高了效率。27 个GCN 在许多基准图数据集上取得了最先进的结果26,28在各种应用领域,例如社交网络29和自然语言处理。30

然而,大多数现有的 GCN 研究都集中在学习简单无向图中节点的表示上。对于更普遍和普遍的图类,知识图嵌入是最近活跃的研究领域之一。已经提出了许多知识图嵌入方法。基于翻译的方法,例如 TransE 31及其变体,将关系建模为实体低维嵌入的翻译操作。基于语义匹配的方法,例如全息嵌入模型 (HolE)、32 DistMult、33及其在复杂空间中的扩展 (ComplEx)、34,通过基于相似性的得分函数计算每个三元组的得分。

材料和方法

概念嵌入的生成

词嵌入

对于词嵌入模型,我们使用了 BioWordVec 和 BERT、BERT-Large (BERT-L) 和 BlueBERT-Large (BlueBERT-L) 两种公开可用的版本。因为 BERT 允许用户通过使用额外的语料库进行训练来增强它,所以我们通过 UMLS 中的概念定义增强 BlueBERT-L,创建了第三种风格 BlueBERT-LE我们使用了 2019AB 版的 UMLS,从 MRDEF 表中提取了 283 491 个英文定义。总体而言,只有 5.66% 的 UMLS 概念有定义。我们使用 NLP 工具包 spaCy ( http://spacy.io )对定义进行了句子分割。然后,我们使用 BERT 开发人员提供的脚本,使用 Devlin 等人提供的相同词汇、序列长度和其他配置来增强 BlueBERT-L。17该脚本在 UMLS 定义语料库上执行了“屏蔽语言模型”和“下一句预测”。它屏蔽了输入中 15% 的单词,通过深度双向转换器编码器运行整个序列,然后只预测被屏蔽的单词。它还训练模型使用句子之后的实际下一个句子(正例),或只是从语料库中的随机句子(反例)来学习句子之间的关系。请注意,UMLS 定义仅用于增强 BlueBERT-L,而不用于概念嵌入的直接生成。

使用 BERT 的一种常见方法是将其与使用特定任务的训练数据进行微调步骤相结合。然而,也可以单独使用 BERT 来生成上下文词嵌入,而无需额外的训练数据,这就是我们在本研究中使用 BERT 的方式。为了获得句子中每个标记的单独向量,需要进行池化操作来组合一些层向量。使用适当的池化策略(求和、均值、串联等)和层(最后 4 个隐藏层、最后一个隐藏层、所有层等)来推导固定大小的嵌入可以产生与任务特定精细的 BERT 相差不远的结果-调谐。17

对于每个 UMLS 概念,我们生成了一个“概念句子”,由该概念的英语首选术语和其他英语术语组成,不包括重复的单词和首选术语的大小写或词序变体的术语。插入了两个特殊标记——开头的分类标记 [CLS],以及首选术语和其他术语之间的“意思”一词。例如,CUI 的概念句:C0162275 是“[CLS] Ketonuria 是指尿液中存在过量的酮 Acetonuria (finding) Ketoacidurias Ketonaciduria Ketonurias Acetonurias。” 然后将 3 个 BERT 模型应用于概念句。我们将 [CLS] 标记的嵌入与首选词中每个词的平均嵌入相结合,以生成概念句子嵌入。我们使用 BioWordVec 为概念句中的每个词生成词嵌入,并取所有嵌入的平均值作为概念句嵌入。BioWordVec 有 2 种变体(窗口大小分别为 2 和 20),适用于内在或外在任务,我们相应地使用了它们(参见评估)。在我们评估中使用的一组 UMLS 概念中,概念句子中的标记数量从 3 到 526 个不等,平均为 69 个标记。BERT 处理器有 512 个令牌的上限,并且需要截断一小部分 (0.17%) 的概念句子。我们相应地使用它们(见评估)。在我们评估中使用的一组 UMLS 概念中,概念句子中的标记数量从 3 到 526 个不等,平均为 69 个标记。BERT 处理器有 512 个令牌的上限,并且需要截断一小部分 (0.17%) 的概念句子。我们相应地使用它们(见评估)。在我们评估中使用的一组 UMLS 概念中,概念句子中的标记数量从 3 到 526 个不等,平均为 69 个标记。BERT 处理器有 512 个令牌的上限,并且需要截断一小部分 (0.17%) 的概念句子。

图嵌入

我们使用 GCN 和 4 种知识图嵌入方法(TransE、HolE、DistMult 和 CompIEx)来生成图嵌入。我们将 UMLS 表示为图,概念为节点,关系为边。我们仅使用了 SNOMED CT(医学临床术语标准化命名法)和 MedDRA(监管活动医学词典)的层次(父子)关系。我们选择了 SNOMED CT 和 MedDRA,因为 SNOMED CT 是 UMLS 中最全面的临床术语,而 MedDRA 是我们评估参考标准之一中术语的来源。对于 MedDRA,我们还包括了“classified_as”关系。MedDRA 中的“classified_as”关系严格来说不是亲子关系。它们代表了 MedDRA 中较低级别术语和首选术语之间由窄到宽的关系。我们从 MRREL 表中提取了 SNOMED CT 和 MedDRA 的层次关系。结果图包含 406 240 个节点和 899 151 条边。

图编码器对关系进行无监督学习,将预测与基于 GCN 的变分图自动编码器模型35 联系起来或者使用 UMLS 概念和关系作为输入值的知识图嵌入模型。当一个概念(节点)被用作预训练图嵌入模型的输入时,该模型根据从训练图数据中捕获的潜在学习表示,将关系学习表示作为嵌入向量返回。例如,在通过 GCN 执行前向传播后,嵌入向量与图的社区结构非常相似。因此,概念“流感”和“肺炎”(它们是兄弟姐妹)的嵌入向量之间的距离远小于概念“流感”和“动脉粥样硬化”的向量之间的距离(间隔 5 跳)。对于所有图嵌入模型,我们使用了文献中建议的常用设置:epoch 数为 200,36,学习率为 0.001。与 Bordes 等人31 一样,我们对 TransE、HolE、DistMult 和 CompIEx 使用了基于边际的成对排名损失。我们的方法的概述图显示在图1.

评估

嵌入方法通常通过内在或外在任务进行评估。内在任务涉及测量单词、句子或概念之间的语义相关性。外在任务涉及下游文本处理任务,例如信息检索或词义消歧 (WSD)。我们使用内在(UMLS 概念之间的语义相关性)和外在任务(WSD)来评估我们的嵌入,并与其他已发布的方法进行比较。

  语义相关性测量

我们使用了 3 个语义相关性参考标准。第一个是手动注释的 UMNSRS-Relatedness 数据集,它由 587 个 UMLS 概念术语对组成,其相应的相关性分数由明尼苏达大学医学院的领域专家手动判断。37在排除过时的概念和不适用于某些测量的概念后,本参考标准中有 473 对概念。第二个是 UMNSRS-Similarity 数据集,它由 566 个 UMLS 概念的术语对组成,它们相应的相似度分数由人工判断。37在排除过时的概念和不适用于某些测量的概念后,本参考标准中有 480 对概念。

第三个参考标准基于标准化 MedDRA 查询 (SMQ)。SMQ 旨在通过将与特定不良反应相关的 MedDRA 术语组合在一起来改进药物不良反应信号检测。我们使用与38相同的方法,随机选取 5000 个存在于同一 SMQ 类别中的术语对作为正例,以及存在于不同 SMQ 类别中的 5000 个术语对作为反例。因为我们在图嵌入中使用了 MedDRA 关系,这可能会带来不公平的优势,所以我们还重复了没有 MedDRA 关系的图嵌入以查看差异

对于语义相关性分数,我们使用它们的点积和幅度以标准方式计算每对 UMLS 概念的嵌入向量之间的余弦。我们分别使用了 BioWordVec 和 3 种 BERT 生成的概念句子嵌入、GCN 生成的概念图嵌入和 4 个知识图嵌入模型。我们还使用了表现最佳的句子和图嵌入的组合(串联)来查看组合方法是否会表现得更好。

为了与我们的概念嵌入进行比较,我们使用了一组公开可用的 UMLS 概念嵌入,称为 cui2vec,它是基于大量临床和书目数据语料库生成的。39在 cui2vec 中,首先针对包含 SNOMED CT 概念的 UMLS 概念对语料库进行标准化,然后使用词嵌入工具 Word2vec 生成 UMLS 概念的嵌入。Cui2vec 为可以在语料库中识别的 108 477 个 UMLS 概念提供了概念嵌入。我们以相同的方式使用 cui2vec 概念嵌入的余弦来衡量语义相关性。

我们还将我们的结果与不涉及深度学习的 2 个传统的基于知识(基于路径)的语义相关性度量进行了比较:最短路径度量40和 Leacock-Chodorow 度量。41最短路径测量使用 2 个 UMLS 概念之间最短距离的倒数。Leacock-Chodorow 方法使用 2 个概念之间的最短距离除以路径深度的负对数。路径是根据图嵌入模型使用的相同图计算的。

为了比较各种语义相关性测量,对于 UMN 数据集,我们计算了各种方法生成的语义相关性分数与参考标准中的分数之间的 Spearman 相关性。对于 SMQ 参考标准,我们使用了接收者操作特征图中的曲线下面积 (AUC)。

词义消歧

我们使用 MeSH WSD (MSH-WSD) 语料库42作为参考标准。MSH-WSD 语料库由 203 个模糊术语(106 个常规术语,88 个首字母缩略词,9 个可以是两者之一)组成,每个术语可以与多个 UMLS 概念(语义)相关联。对于这些概念中的每一个,都检索了多达 100 个包含歧义术语的 MEDLINE 摘要。挑战在于为每个摘要找到正确的概念(意义)。

对于每个摘要,我们使用 BERT 和 BioWordVec 的 3 种风格为模糊术语周围的“子句”生成词嵌入,窗口大小为 6。对于 BERT,可以为整个子句生成单个嵌入。对于 BioWordVec,我们取了构成子句的词嵌入的平均值。为了找到正确的 UMLS 概念,我们选择了子句嵌入和由相同嵌入方法生成的 UMLS 概念句子嵌入之间具有最高余弦值的概念。我们在这个任务中没有使用图嵌入,因为没有直接的方法从摘要生成图嵌入。

结果

讨论

在这项研究中,我们在词和图嵌入中采用了最新的深度学习技术来生成 UMLS 概念之间的语义相关性度量。我们的主要要求是使用公开可用的现成工具,并且除了 UMLS 之外没有其他资源。最好的结果是通过组合词和图嵌入获得的,它明显优于一些现有的基于语料库的概念嵌入和基于路径的测量。

我们的方法有几个优点。首先,一方面,它可以应用于所有 UMLS 概念,因为所有 UMLS 都有术语和关系,用于生成概念句子嵌入和图嵌入。另一方面,cui2vec 仅涵盖在其语料库中识别的 UMLS 概念,其数量约为 100 000 (2.3%) 个 UMLS 概念。其次,我们的方法不涉及 UMLS 之外的资源。与依赖额外文本语料库的方法相比,我们的方法更容易实现,对处理能力和时间的要求更低。此外,不同的语料库可能会产生不同的结果。我们的方法完全基于 UMLS,结果通常应具有可重复性——这是基准测试和比较研究的基本要求。第三,我们的方法在各种语义相关性数据集上具有一致的良好性能。正如我们的研究所示,现有的语义相关测量可能会根据手头的任务在性能上有很大差异。UMN 数据集由许多在现有术语(例如,苍白和铁)中没有层次相关的概念对组成,因此基于路径的测量和图嵌入的表现不如我们的句子嵌入或基于语料库的 cui2vec。另一方面,来自 SMQ 数据集的所有概念都来自 MedDRA,属于相同的语义类型(例如,视网膜母细胞瘤和眼部异常)。它们也更有可能通过等级关系(不仅仅是来自 MedDRA 的等级关系)直接或间接地联系起来。这解释了为什么基于路径的测量和图嵌入优于 SMQ 数据集的 cui2vec 和一些句子嵌入。BioWordVec 句子嵌入在所有数据集中都优于其他所有数据集,并且可以通过与图嵌入相结合进一步改进。作为外部参考,我们在语义相关性和语义相似性数据集上的最佳结果分别为 0.59 和 0.63,与 Pakhomov 等人相比,其优势明显,10名使用从大型生物医学语料库中学习的嵌入(最佳结果分别为 0.58 和 0.62)。在 SMQ 数据集上,我们 0.89 AUC 的最佳性能明显优于 Bill 等人的 (0.827)。38至于外在任务,我们的词嵌入在 MSH-WSD 数据集中表现得相当好,准确度 (0.753-0.805) 与 Pakhomov 等人 (准确度 0.740-0.777) 相当。10与语义相关性相反,BERT 在 WSD 中的表现优于 BioWordVec,这可能归因于 BERT 的上下文敏感性质。

我们的研究表明,与传统的路径计数相比,图嵌入是捕获概念之间关系信息的更好方法。虽然 GCN 始终优于基于路径的测量,但其他图嵌入模型则不那么令人印象深刻。我们的结果还表明,可以结合词嵌入和图嵌入来提高性能。在图嵌入之前,图上的数学和统计操作通常是有限的,将机器学习方法直接应用于图具有挑战性。图嵌入将图转换为向量,这在机器学习中更容易使用。这也开辟了将图形数据与其他类型的数据相结合的可能性。在我们的研究中,组合词嵌入和图嵌入一致优于其他方法。

与其他研究类似,我们的研究证实词嵌入算法受益于特定领域语料库的额外训练。国家生物技术信息中心接受过生物医学文本训练的 BlueBERT-Large 的表现优于接受过通用英语语料库训练的 BERT-Large。使用 UMLS 定义进一步训练 BlueBERT-Large 产生了额外的改进。

我们承认我们的研究存在以下局限性。

  • 1)在词嵌入中,生成概念句的方法是凭经验决定的。我们还没有试验利用 UMLS 术语的其他特征的方法,例如术语类型和源术语的性质(例如,目的、特定领域)。
  • 2)在图嵌入中,我们将源关系限制为仅来自 SNOMED CT 和 MedDRA 的层次关系,并且没有尝试包含来自更多源的更多关系类型。但是,大多数图嵌入方法可以处理的图大小是有限的。
  • 3)我们仅将我们的结果与 2 个基于路径的测量和 1 组基于语料库的概念嵌入进行了比较,因为它们是公开可用的并且实施起来相对简单。作为参考标准,我们只选择了 UMN 和 SMQ 数据集,它们是公开可用的并且相对较大。缺乏大规模参考标准是语义相关性研究中经常被引用的局限性。

未来,我们计划探索使用 UMLS 中携带的附加信息,以及用于词嵌入(例如,临床 XLNET)44和图嵌入(例如,图注意力自动编码器、对抗性正则化图自动编码器)的新工具. 45 , 46此外,我们还想尝试使用新方法来利用来自 UMLS 的词汇和关系信息(例如,改进和扩展 UMLS 定义)。47 , 48

结论

可以利用深度学习技术、词和图嵌入来衡量 UMLS 概念之间的语义相关性。通过使用公共的、现成的工具并且在 UMLS 之外没有额外的资源,我们的方法优于一些现有的基于路径的测量和基于语料库的概念嵌入。



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • Unit4博客&课程总结Unit4作业的架构设计本单元作业的设计我分为了三个模块处理:模型构建+预处理+任务函数,前两部分即为整个图的完整构建,第三部分即为实现题目要求的查询方法。 ... [详细]
  • 用户登录 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有