Cluster-Level Contrastive Learning for Emotion Recognition in Conversations

news2024/11/20 20:34:48

在这里插入图片描述

对话情绪识别的聚类级对比学习

  • 摘要
  • 一、介绍
  • 二、相关工作
    • 2.1 对话情感识别
    • 2.2 对比学习
  • 三、方法
    • 3.1 任务定义和模型概述
    • 3.2 上下文感知的话语编码器
    • 3.3 使用适配器进行知识注入
    • 3.4 有监督的集群级对比学习
      • 3.4.1情感原型
      • 3.4.2集群级别对比学习
    • 3.5 模型训练
  • 四 实验设置
    • 4.1 数据集
    • 4.2 基线
    • 4.3 实现细节
  • 五 结果分析
    • 5.1 总体性能
    • 5.2 消融研究
    • 5.3 知识适配器的实证比较
    • 5.4 对比学习方法比较
    • 5.5 批次大小稳定性
    • 5.6 VAD空间可视化
  • 六 结论

摘要

对话中的情感识别(ERC)的一个关键挑战是区分语义上相似的情绪。一些工作利用监督对比学习(SCL),使用分类情绪标签作为监督信号,并在高维语义空间中进行对比。然而,分类标签并不能提供情绪之间的定量信息ERC也不是完全依赖于语义空间中的所有嵌入式特征,这使得高维SCL效率低下。为了解决这些问题,我们提出了一种新的低维监督聚类级对比学习(SCCL)方法,该方法首先将高维SCL空间简化为三维情感表示空间的Valence-Arousal-Dominance(VAD),然后执行聚类级对比学习,以纳入可衡量的情感原型。为了帮助建模对话并丰富上下文,我们利用预训练的知识适配器来注入语言和事实知识。实验表明,该方法在IEMOCAP上获得了69.81%,在MELD上获得了65.7%,在DailyDialog数据集上取得了62.51%的新结果。分析还证明了VAD空间不仅适合ERC,而且可解释,VAD原型提高了其性能,稳定了SCCL的训练。此外,预先训练的知识适配器有利于话语编码器和SCCL的性能。代码:https://github.com/SteveKGYang/SCCL。

一、介绍

对话情感识别(ERC)的目的是从一个预定义的情绪类别集[1]中识别对话中每个话语的情绪。近年来,由于公共数据集[2]、[3]、[4]的广泛应用,ERC吸引了NLP界越来越多的研究兴趣。例如,ERC使对话系统能够产生情感连贯和有同理心的反应[5]。它还被用于从客户评论[6]、[7]和与情绪相关的社交媒体分析[8]、[9]等网站中进行意见挖掘。

上下文建模是ERC面临的一个关键挑战。每个话语的情绪都受到说话者之前的话语和其他参与者[10]的反应的影响。目前的方法主要利用预训练的语言模型(PLMs)[11]来应对这一挑战。然而,研究发现,如果没有仔细微调[12],PLMs就不能很好地捕捉到句子的语义,这也增加了识别语义上相似的情绪(例如,兴奋和快乐)的困难。由于之前的工作利用无监督对比学习来缓解这个问题,[12],[13],并在几个文本分类任务中获得了有希望的结果,Li等人[14]设法将监督对比学习(SCL)引入ERC,其中具有相同情绪标签的话语被认为是正对,并且实例级的话语表示被直接用于对比学习。SCL解耦了语义空间中具有相似情绪的样本之间的重叠,有利于决策边界的学习。

然而,SCL将两个样本视为负对,只要它们具有不同的标签,而不管情绪之间的定量语义相似性(例如,快乐更接近于兴奋而不是悲伤)。这种疏忽体现在:在标准SCL损失中,当前样本和所有负样本之间的表示相似性以相同的速率最小化。此外,手动特征选择的工作成功表明,情感识别任务并不完全依赖于嵌入在高维话语表示中的所有特征我们认为每一种情绪的低维原型,它被定义为一组相似实例[16]的代表性嵌入,在对比学习中更有效高维SCL空间也导致了其他的限制: (a)维数灾难[17](补充:维数灾难"(The curse of dimensionality)是指在高维空间中数据分布稀疏、距离计算困难等问题。随着数据维度的增加,数据点之间的距离变得更加分散,导致在高维空间中的数据分析和模型训练变得更为困难。)。(b)结果很难解释和可视化©稳定的SCL需要大批次[18],这导致了高计算成本

为了解决上述挑战,我们提出了一种新的低维监督聚类级对比学习(SCCL)ERC方法。利用基于PLM的上下文感知话语编码器,我们对SCL改进如下: (a)我们将高维对比学习空间变化为三维空间Valence-Arousal-Dominance(VAD),这是心理学中被广泛探索的影响表征模型[19],[20]。(b)我们在VAD空间中为每个情绪引入了一个人工标记的原型,它在所有情绪标签之间带来了定量信息。我们在图1中提供了一些情绪的一个例子,其中,在同一情绪极性内的情绪更接近,它们的相对位置是合理的在SCCL中,将每个情感类别视为一个聚类中心,SCCL为每种情感预测聚类级别的VAD,并使用情感原型将实例级别的情感标签转移到聚类级别,然后进行聚类级别的对比学习。 与此同时,刘等人[21]认为当前的PLMs缺乏细粒度的语言知识,而这在建模与情感相关的任务中被证明是有用的[22]。事实知识被定义为存储在基于文本的三元组或句子中的与事实相关的常识知识[23],在ERC中也被广泛利用[24],[25],[26],并被证明在丰富上下文和提供情感推理的相关知识方面是有效的。因此,我们利用预训练的知识适配器以插件方式注入语言和事实知识,避免了对PLM权重的修改。
在这里插入图片描述

实验结果表明,我们的方法在三个广泛使用的数据集 IEMOCAP, MELD 和DailyDialog上取得了最先进的结果。进一步的分析表明了每个被提出的模块的有效性。

综上所述,本工作主要有以下贡献:

  • 我们将高维的SCL空间降维到一个三维的VAD空间,这提高了模型性能并促进了可解释性。
  • 在ERC中,我们首次通过提出一种新颖的监督聚类级对比学习(SCCL),将VAD原型融入SCL。分析表明,SCCL在大批量和小批量的情况下都保持稳定。
  • 我们通过利用预训练的知识适配器将语言和事实知识融入到话语编码器中,并通过消融研究和实证比较分析它们的好处。

二、相关工作

2.1 对话情感识别

ERC面临的一个关键挑战是利用对话上下文中的丰富信息。早期的工作利用循环神经网络(RNN)来建模每个对话参与者的话语序列内部的依赖关系[27],[28],并在每个时间步骤调整输出作为记忆。考虑到对话参与者之间的依赖关系,DialogueRNN [29]提出了一个全局状态RNN来模拟多方关系和情感动态。另一方面,有一系列工作利用基于Transformer的网络的强大上下文建模能力来将对话作为整体进行建模[10],[30],[31]。为了引入更可解释的结构,还有许多工作[32],[33],[34]在对话上构建图,并设计图神经网络将ERC建模为一个节点分类任务。

受可用数据集规模的限制,许多工作设法注入与任务相关的信息以帮助情感推理。一些方法[24],[26],[35]显式地融合了常识知识以丰富语义空间。Hazarika等人[36]和Chapuis等人[37]设计相关的预训练任务,并将预训练权重转移到ERC。情感分数[24]、主题信息[7]、[38]和说话者-话语关系[30]也被利用来增强模型性能。作为一种有效的情感表示模型[39],VAD信息也被纳入以促进多模态情感识别,例如文本[40],[41],[42]和声学[43],[44],这极大地提升了模型性能。

2.2 对比学习

无监督对比学习(UCL)旨在以无监督的方式构建训练样本。在计算机视觉领域,Chen等人[45]利用不同的数据增强方法创建新样本,并将从同一图片获得的样本视为正对。基于这个思想,Li等人[46]提出了对比聚类来产生受欢迎的聚类表示,将每个分类类别视为一个聚类,并从两种不同的数据增强方法中获得正对。然后在实例级和聚类级上执行对比学习。还有许多尝试将高维UCL空间降维以整合先验知识[16]、增强半监督学习[17]和可视化结果[48]的方法。在NLP中,与类似的训练框架一样,UCL主要被设计为强制PLM的句子表示来区分相似的语义。例如,Yan等人[49]开发了用于文本的数据增强方法,Kim等人[50]训练了一个Siamese模型来构建正对。

另一方面,SCL充分利用监督信号来获得可分离的句子嵌入,从而有助于模型找到决策边界。现有方法将具有相同标签的样本视为正对,以计算对比损失[18],[51],[52]。在情感识别中,Li等人[14]将SCL结合到多任务学习设置中,旨在使相似的话语相互排斥。此外,Alhuzali和Ananiadou[53]引入了一种三元中心损失的变体,将类内和类间变化结合到情感分类损失函数中。

三、方法

3.1 任务定义和模型概述

我们对ERC任务的定义如下:数据集中的对话D包含一系列话语{ D 1 D_1 D1 D 2 D_2 D2,…, D n D_n Dn},对应的情绪标签{ Y 1 Y_1 Y1 Y 2 Y_2 Y2,…, Y n Y_n Yn},其中 Y i Y_i Yi∈E 表示情绪标签的离散值,E是预先定义的分类情绪集。每个话语 D i D_i Di n i n_i ni个token组成,表示为 D i D_i Di = { D i 1 D^{1}_i Di1 D i 2 D^{2}_i Di2,…, D i n i D^{n_i}_i Dini }。 D i D_i Di P ( D i ) P(D_i) P(Di)说出,其中 P ( D i ) P(D_i) P(Di)∈P表示说话者,P是对话参与者的名字集。根据以上信息,ERC的目的是识别每一种话语的情绪,可以形式化为 Y ˆ i \^Y_i Yˆi= f ( D i , D , P ( D i ) ) f(D_i,D,P(D_i)) f(DiDP(Di))。我们的模型框架如图2所示。

在这里插入图片描述

3.2 上下文感知的话语编码器

为了引入说话者信息,我们为每个话语 D j D_j Dj添加说话者名称 P ( D j ) P(D_j) P(Dj),形成 D ˆ j \^D_j Dˆj。然后将当前话语 D ˆ i \^D_i Dˆi与过去和未来的上下文连接,获得上下文感知输入 R i R_i Ri R i R_i Ri= {[CLS]; D ˆ i − w p \^D_{i-w_p} Dˆiwp D ˆ i \^D_i Dˆi;…; D ˆ i + w f \^D_{i+w_f} Dˆi+wf;[EOS]},其中 W p W_p Wp W f W_f Wf表示过去和未来的上下文窗口大小,[CLS]和[EOS]表示PLMs中句子的开始和结束标记。然后,我们使用 R i R_i Ri来获得上下文感知的话语嵌入:

在这里插入图片描述

其中编码器表示RoBERTa [54]编码器, H i L H_i^L HiL R S × D h R^{S×D_h} RS×Dh表示第 l l l 层的最终输出,S表示序列长度, D h D_h Dh表示编码器的隐藏大小。

3.3 使用适配器进行知识注入

我们通过注入预训练的知识适配器将外部知识纳入话语编码器。**知识适配器是一个基于多层Transformer的模型,为每个知识源分别初始化和预训练。在预训练期间,PLM的权重被融合,只更新知识适配器的权重。**与常规的预训练或显式纳入知识的方法相比,这种训练范式具有三个优势:(1)权重融合防止了在注入多个知识源时PLM发生灾难性遗忘[55]问题。 (2)训练过程中由于知识适配器的大小较小,节省了内存并提高了速度。 (3)对于新的知识源,不需要重新训练PLM的权重。

如图2(a)所示,我们遵循Wang等人的方法[23],使用来自T-REx [56](FacAdapter)的常识知识和由Stanford Parser提供的语言知识(LinAdapter)进行预训练T-REx是一个大规模的事实知识图,由维基百科中超过 1110 万个语句和三元组之间的对齐关系构建而成,提供了相关知识以丰富上下文并帮助情感推理。例如,语句“文森特·梵高和其他19世纪末的画家不仅用蓝色描绘自然,还用它来营造不好的情绪和情感”与三元组< 文森特·梵高,职业,画家>和<蓝色,代表,坏心情和情绪>。在预训练过程中,给定语句和实体作为输入,FacAdapter预测对齐三元组的关系类型。语言知识自然嵌入在语言文本中,有益于句子建模。可以通过运行依赖解析器获取语义和句法信息。因此,在语言知识的预训练中,LinAdapter以文本作为输入,预测由解析器注释的句法和语义关系

该适配器的配置如下: E n c o d e r l Encoder^l Encoderl表示话语编码器的第 l l l 隐藏层。LinAdapter,表示适配器,具有基于 n k n_k nk个Transformer层,其中 n k n_k nk L L L A d a p t e r j Adapter^j Adapterj表示适配器的第 j j j 层。适配器还预先定义了一个交互层 L ˆ \^L Lˆ = { l 1 l_1 l1 l 2 l_2 l2,…, l n k l_{n_k} lnk},其中 E n c o d e r j Encoder^j Encoderj的隐藏状态将在适配器j中进行组合。具体来说,对于第i个话语和每个lj∈ˆL,这个过程可以形式化为:

在这里插入图片描述

其中 H a j H^j_a Haj R D h R^{D_h} RDh表示知识适配器的第j层输出, H i l j H_i^{l_j} Hilj是话语编码器的第 l j l_j lj层输出,⊕表示元素级加法, H a 1 H_a^1 Ha1用全零矩阵初始化。适配器的最后一层输出 H a n k H_a^{n_k} Hank与PLM嵌入结合,作为最终的话语表示:

在这里插入图片描述
其中, H ˆ i \^H_i Hˆi R S × D h R^{S×D_h} RS×Dh表示知识增强的话语嵌入, T a n h Tanh Tanh表示Tanh激活函数, W 1 W_1 W1 R D h × D h R^{D_h×D_h} RDh×Dh b 1 b_1 b1 R D h R^{D_h} RDh为可学习参数。

3.4 有监督的集群级对比学习

3.4.1情感原型

Valence-Arousal-Dominance(VAD)将情感状态映射到一个三维连续空间,其中Valence反映了刺激的愉悦程度,arousal反映了刺激引起的情感强度,dominance反映了刺激施加的控制程度[57]。与直接利用one-hot分类情感标签进行监督不同,VAD允许将每个分类情感投影到具有可测距离的空间一些ERC资源[2]为每个话语 j j j 使用依赖于上下文的VAD分数进行了人工标注: H − V A D j ∈ R 3 H − VAD_j ∈ R^3 HVADjR3,这可以用于准确计算情感原型

然而,在大多数情况下,话语级别的VAD标签既昂贵又不可用。为了在更多场景中应用,我们考虑来自情感词汇的独立于上下文的单词级VAD信息。我们利用NRC-VAD [58],这是一个包含对20000个英文单词的VAD进行可靠人工评分的情感词汇。NRC-VAD中的所有术语都表示或隐含情感,并且是从常用的情感词汇和推文中选择的。这些术语中的每一个都首先通过众包标注者进行最佳-最差标度的严格注释。然后,一个聚合过程计算了每个术语的VAD,范围从0到1。通过预定义的分类情感集合E,我们从NRC-VAD中提取每个情感e ∈ E的VAD: N R C − V A D e ∈ R 3 NRC − VAD_e ∈ R^3 NRCVADeR3。例如,情感“快乐”被表示为:[0.9600, 0.7320, 0.8500]。我们利用上述任一方法获得的VAD信息来获取集群级别的情感表示。我们认为话语级别的H-VAD优于单词级别的NRC-VAD,因为它们依赖于上下文并包含更精细的VAD信息

3.4.2集群级别对比学习

尽管VAD原型提供了有用的定量信息,但将其融入SCL中却很困难。因此,我们提出使用一种新颖的SCCL方法在集群级别而不是实例级别执行SCL。将每个情感类别视为一个集群中心,我们使用从情感标签和模型预测中分别获得的集群级别表示执行SCCL,下面介绍了两个过程。

我们首先使用情感原型计算情感标签。对于一个批次B,如图2(b)所示,情感标签被投影到一个one-hot标签矩阵 M ∈ R ∣ B ∣ × ∣ E ∣ M ∈ R^{|B|×|E|} MRB×E,其中 M i ∈ R ∣ E ∣ M_i ∈ R^{|E|} MiRE是M的第 i i i 行,表示第 i i i 个样本的one-hot情感标签,而 M j ∈ R ∣ B ∣ M^j ∈ R^{|B|} MjRB是M的第 j j j 列,表示带有标签 e j ∈ E e_j ∈ E ejE的样本。对于第 j j j 个集群 e j e_j ej,我们将 M j M^j Mj映射到VAD空间如下:

在这里插入图片描述
其中, M j k M^{jk} Mjk表示 M j M^j Mj的第k个元素, M ˆ j ∈ R 3 \^M^j∈R^3 MˆjR3表示 e j e_j ej的簇级表示。当话语级VAD信息可用时, V A D e j = H − V A D j V AD_{ej} = H−VAD_j VADej=HVADj。当使用 N R C − V A D e j NRC − VAD_{e_j} NRCVADej信息时, V A D e j = N R C − V A D e j V AD_{ej} = NRC − VAD_{e_j} VADej=NRCVADej N R C − V A D e j NRC−VAD_{e_j} NRCVADej被直接视为 e j e_j ej的聚类级情绪表征。

然后,我们计算模型的预测。一种选择是采用与情感标签类似的方法,利用经过Softmax归一化的分类预测,并使用公式(5)将它们映射到VAD空间。然而,这可能会将SCCL简化为模型仅学习one-hot标签信息并忽略情感原型的基本情况。因此,我们利用一个神经网络来参数化从语义空间到VAD空间的降维过程。.具体来说,对于 H ˆ i \^H_i Hˆi,我们将位置0的句子开头token的嵌入 H ˆ i [ C L S ] \^H_i^{[CLS]} Hˆi[CLS]视为其话语级别的嵌入,并将 H ˆ i [ C L S ] \^H_i^{[CLS]} Hˆi[CLS]映射到VAD空间:
在这里插入图片描述
在这里插入图片描述
如图2©所示,对每批,我们计算SCCL损失如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5 模型训练

我们以多任务学习的方式将SCCL与ERC相结合。对于第 i i i 个话语,我们仍然使用 H ˆ i [ C L S ] \^H_i^{[CLS]} Hˆi[CLS]作为话语级嵌入,并计算最终的分类概率如下:

在这里插入图片描述

然后,我们使用标准交叉熵损失来计算ERC损失:

在这里插入图片描述

最后,我们将ERC损失和SCCL损失组合如下:

在这里插入图片描述

其中,α∈[0,1]为LSCCL的预定义权重系数。

四 实验设置

4.1 数据集

IEMOCAP、MELD、EmoryNLP、DailyDialog

在这里插入图片描述

在这里插入图片描述

4.2 基线

BERT-Larg、DialogXL、RGAT、COSMIC、KI-Net、DAG-ERC、SGED、SKAIG、CoG-BART

4.3 实现细节

五 结果分析

5.1 总体性能

在这里插入图片描述

在这里插入图片描述

5.2 消融研究

在这里插入图片描述

5.3 知识适配器的实证比较

见上面的表五

5.4 对比学习方法比较

在这里插入图片描述

5.5 批次大小稳定性

在这里插入图片描述

5.6 VAD空间可视化

在这里插入图片描述

六 结论

在本文中,我们提出了一个低维监督聚类级对比学习模型,用于对话中的情绪识别。我们将高维监督对比学习空间减少到三维空间,并通过提出新的SCCL方法,纳入情感词汇NRC-VAD中的VAD原型。此外,此外,我们通过使用预训练的知识适配器将语言知识和事实知识注入到具有上下文感知的话语编码器中。

实验证明我们的方法在三个数据集IEMOCAP、MELD和DailyDialog上取得了新的最先进结果。消融研究证明了每个提出的模块的有效性,进一步的分析表明VAD空间是SCCL的一个合适且可解释的空间。来自NRC-VAD的情感原型提供了有用的定量信息,引导了SCCL,提高了模型的性能并稳定了训练过程。预训练知识适配器注入的知识还增强了话语编码器和SCCL的性能。未来,我们将利用更精细的监督信号来处理模糊情感,并开发有效的方法来缓解SCCL中的标签不平衡和缺乏上下文的问题。

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

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

相关文章

idea 更新maven java版本变化

今天遇到个问题就是&#xff0c;点击maven的reload&#xff0c;会导致setting 里的java compiler 版本变化 这里的话&#xff0c;应该是settings.xml文件里面的这个限定死了&#xff0c;修改一下或者去掉就可以了 <profile><id>JDK-1.8</id><activatio…

Qt下使用modbus-c库实现PLC线圈/保持寄存器的读写

系列文章目录 提示&#xff1a;这里是该系列文章的所有文章的目录 第一章&#xff1a;Qt下使用ModbusTcp通信协议进行PLC线圈/保持寄存器的读写&#xff08;32位有符号数&#xff09; 第二章&#xff1a;Qt下使用modbus-c库实现PLC线圈/保持寄存器的读写 文章目录 系列文章目录…

如何使用程序通过OCR识别解析PDF中的表格

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/ppstructure/table/README_ch.md#41-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B Paddle-structure是目前我们能找到的可以做中英文版面分析较好的一个基础模型&#xff0c;其开源版可以识别十类页面元素。这篇文章介绍…

VL817-Q7 USB3.0 HUB芯片 适用于扩展坞 工控机 显示器

VL817-Q7 USB3.1 GEN1 HUB芯片 VL817-Q7 USB3.1 GEN1 HUB芯片 VIA Lab的VL817是一款现代USB 3.1 Gen 1集线器控制器&#xff0c;具有优化的成本结构和完全符合USB标准3.1 Gen 1规范&#xff0c;包括ecn和2017年1月的合规性测试更新。VL817提供双端口和双端口4端口配置&…

windows安装部署node.js并搭建Vue项目

一、官网下载安装包 官网地址&#xff1a;https://nodejs.org/zh-cn/download/ 二、安装程序 1、安装过程 如果有C/C编程的需求&#xff0c;勾选一下下图所示的部分&#xff0c;没有的话除了选择一下node.js安装路径&#xff0c;直接一路next 2、测试安装是否成功 【winR】…

VUE从0到1创建项目及基本路由、页面配置

一、创建项目:(前提已经安装好vue和npm) 目录:E:\personal\project_pro\ windows下,win+R 输入cmd进入命令行: cd E:\personal\project_pro E:# 创建名为test的项目 vue create test# 用上下键选择vue2或vue3,回车确认创建本次选择VUE3 创建好项目后,使用…

css transform 会影响position 定位

比如通过以下代码.实现导航条上的每个li栏目,以不同的时间间隔,从上向下移动进来并显示 .my-navbar ul li {position: relative;opacity: 0;transform: translateY(-30px);transition: transform .6s cubic-bezier(.165,.84,.44,1),opacity .6s cubic-bezier(.165,.84,.44,1);…

书生·浦语大模型全链路开源体系介绍

背景介绍 随着人工智能技术的迅猛发展&#xff0c;大模型技术已成为当今人工智能领域的热门话题。2022 年 11 月 30 日&#xff0c;美国 OpenAI 公司发布了 ChatGPT 通用型对话系统 并引发了全球 的极大关注&#xff0c;上线仅 60 天月活用户数便超过 1 亿&#xff0c;成为历史…

租赁系统|租赁软件提供免押金等多种租赁方式

租赁小程序是一种全新的租赁模式&#xff0c;为用户提供了免押金、多种租赁方式、定制化服务等多项优势&#xff0c;让用户的租赁体验更加美好。让我们来了解一下它的特点和功能。 首先&#xff0c;租赁小程序支持租完即送&#xff0c;无需等待固定租期。它提供了多种租赁方式&…

Rocky Linux 运维工具 ls

一、ls 的简介 ​​ls​ 用于列出当前目录下的文件和目录&#xff0c;以及它们的属性信息。通过 ​ls​命令可以查看文件名、文件大小、创建时间等信息&#xff0c;并方便用户浏览和管理文件。 二、ls 的参数说明 序号参数描述1-a显示所有文件&#xff0c;包括以 ​.​开头的…

辽宁博学优晨教育:视频剪辑培训的领航者

在当今数字化时代&#xff0c;视频剪辑已经成为一项炙手可热的技能。无论是短视频的火爆&#xff0c;还是影视行业的蓬勃发展&#xff0c;都离不开优秀的视频剪辑人才。辽宁博学优晨教育&#xff0c;作为视频剪辑培训的佼佼者&#xff0c;以其正规、专业的教学态度和高质量的培…

Biotin-PEG2-Thiol,生物素-PEG2-巯基,应用于抗体标记、蛋白质富集等领域

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Biotin-PEG2-Thiol&#xff0c;生物素-PEG2-巯基&#xff0c;Biotin PEG2 Thiol&#xff0c;生物素 PEG2 巯基 一、基本信息 【产品简介】&#xff1a;Biotin PEG2 Thiol can bind with antibodies to prepare biot…

使用docker安装otter

1、使用docker安装otter首先要把docker装好 2、使用docker把镜像拉进去 拉镜像的过程中注意使用docker load -i imagename命令。如果使用docker import imagename命令拉镜像&#xff0c;在安装过程中会报以下错误&#xff1a; 网上查资料说是需要使用docker ps -a --no-trunc…

MySQL:常用的SQL语句

提醒&#xff1a;设定下面的语句是在数据库名为 db_book执行的。 一、创建表 1. 创建t_booktype表 USE db_book; CREATE TABLE t_booktype(id INT AUTO_INCREMENT, bookTypeName VARCHAR(20),bookTypeDesc varchar(200),PRIMARY KEY (id) );2. 创建t_book表 USE db_book; C…

Linux系统——Nginx拓展

目录 一、重写功能——rewrite 1.if 1.1 if 2. return 2.1状态码301和302的区别 301 302 3. set 4. break 5. rewrite 5.1 rewrite flag使用 5.2 flag说明 5.3举例 5.3.1访问 bj 跳转 beijing 5.3.2举例——break 5.3.3 http 转 https 5.3.4 break 与 last …

OpenSSL 基础及实践探索

前言 SSL是Secure Sockets Layer&#xff08;安全套接层协议&#xff09;的缩写&#xff0c;可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时&#xff0c;提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时…

状态空间模型(SSM)

论文&#xff1a;A new approach to linear filtering and prediction problems http://160.78.24.2/Public/Kalman/Kalman1960.pdf 状态空间模型介绍 术语状态空间模型具有非常广泛的含义&#xff0c;它简单地表示任何具有潜在状态的循环过程的概念。 它已被用来指代不同学科…

Eslint在Vscode中使用技巧的相关技巧

ps :该文章会详细结论构建一个脚手架遇到的问题&#xff0c;会持续更新&#xff0c;请定时查看 Eslint相关​ 在vscode中使用eslint插件 在vscode中用户配置没有开启eslint.enable 在vscode中工作区配置开启eslint.enable settings.json中没有做eslint相关配置 在编写的vue…

MSSQL渗透测试

目录 mssql数据库连接提权至服务器权限 拿到目标的IP地址&#xff0c;我们先对IP地址进行信息收集&#xff0c;收集信息资产&#xff0c;同时使用nmap对IP地址进行扫描 nmap -sC -sV IP从扫描的结果中&#xff0c;我们能知道目标服务器是windows操作系统&#xff0c;使用的是m…

nginx 模块 高级配置

目录 一、高级配置 1.1. 网页的状态页 1.2.Nginx 第三方模块 ehco 模块 打印 1.3.变量 1.3.1 内置变量 1.3.2自定义变量 1.4.Nginx压缩功能 1.5.https 功能 1.6.自定义图标 一、高级配置 1.1. 网页的状态页 基于nginx 模块 ngx_http_stub_status_module 实现&…