[ACL 2024 Main] StickerConv: 从零开始的多模态共情回复生成

news2024/11/17 11:03:16

文章目录

    • 📃 Abstract
    • 🔭 Contributions
    • 🔍 Approach
      • ✨ Agent for StickerConv
      • ✨ StickerConv Dataset
      • ✨ PEGS
      • ✨ 多模态共情回复评价
    • 📊 Experiments
    • 📄 Conclusion
    • 🌐 开源网址

Project Page: StickerConv Project Page
Accepted: ACL 2024 Main

📃 Abstract

Sticker (直译为贴纸,这里我们更愿意称其为表情包) 虽然被广泛认为可以增强在线互动中的共情交流,但在当前的共情对话研究中仍未得到充分的探索,这主要是由于缺乏全面的数据集。在本文中,我们介绍了用于 Agent for StickerConv (Agent4SC),它使用协作的多智能体交互来真实地模拟人类使用 sticker 的行为,从而增强了多模态的共情交流。在此基础上,我们开发了一个多模态共情对话数据集 StickerConv,包括 12.9K 个对话会话,5.8K 个不重复的 stickers 和 2K 个不同的对话场景。该数据集可作为多模态共情生成的基准。为了进一步推进,我们提出了 PErceive and Generate Stickers (PEGS),这是一个多模态共情回复生成框架,辅以一套基于 LLM 的综合共情评价指标。我们的实验证明了 PEGS 在生成情境相关和情感共鸣的多模态共情回复方面的有效性,有助于推进更细致入微和引人入胜的共情对话系统。我们的数据集和代码均已开源。

🔭 Contributions

  • 我们引入了一个基于 LLM 的多智能体 (multi-agent) 系统 Agent for StickerConv (Agent4SC),它将 sticker 集成到共情对话中,确保与人类交互一致的上下文一致性、多样性和共情。使用 Agent4SC,我们创建了一个多模态共情对话数据集 StickerConv。
  • 我们设计了 PErceive and Generate Stickers (PEGS),这是一个多模态共情回复生成框架,它直观地结合了基于对话的动态的情感和上下文的 sticker。PEGS 熟练地处理多模态输入,产生共情文本回复,并适当地使用 sticker 来增强这些回复。
  • 我们提出一种评估多模态共情回复的方法。它利用 LLM 来评估这些回复的质量,特别关注共情、一致性和排名。

🔍 Approach

✨ Agent for StickerConv

面对缺乏多模态共情回复任务数据集的关键挑战,我们利用 LLMs 制作了自己的数据集。然而,LLMs 在把握细微的人类情感和在明确指令之外发起行动方面遇到困难。这些限制使得 LLMs 和 大型多模态模型 (Large Multimodal Models, LMMs) 在产生多模态共情回复方面不那么精通。为了解决这些问题,我们引入了 Agent for StickerConv (Agent4SC),这是一个基于 LLM 的多智能体系统,旨在模拟人类对话的模式。Figure 2 展示了 Agent4SC 的概述。通过整合多个模块和 sticker 的使用策略,Agent4SC 旨在产生动情和多样化的共情回复,从而克服 LLMs 在共情参与方面的固有缺陷。

Figure 2: Agent4SC 的概述。记忆模块 (Memory) 和计划模块 (Plan) 使智能体能够模仿人类的观察和思考,克服了 LLMs 无法掌握细微情感的问题。行动模块 (Action) 支持生成与人类类似的情感回复。角色模块 (Profile) 为每个 agent 提供不同的反应和行为。此外,Agent4SC 使用 sticker 作为更自然对话的工具,允许 agent 像人类一样选择 sticker。这些模块使观察、反应和行为做成流水线,而管理 Agent (Manager) 保证性能和质量。

  • 角色模块 (Profile Module): 由 Persona 和 Situation 组成,定义了用户的个性特征和移情交互的行为模式。Persona 包括用户的性格特征、背景和经历;Situation 描述了他们当前的环境和情绪状态。我们基于多样化的角色种子数据,使用 Self-Instruct 的方法构造了 2000 个独特的用户画像,包含丰富的人物特征和情感标签,使 Agent4SC 能够模拟多种不同的用户角色。
  • 工具模块 (Tool Module): 在 SER30K 数据集的基础上,我们使用 LLaVA 1.5 对 sticker 数据进行重新标注,并采用 CoT 方法结合 GPT-3.5 Turbo 整理每个 sticker 的标注信息,形成包括 “description, emotion, recommendation” 的三条知识,并以 <image, knowledge> 对的形式构建了 sticker 向量数据库。此外,我们定义了 agent 的关键动作 “retrieve”,允许 agent 通过 query 主动调用 sticker 向量数据库中的 sticker。
  • 计划模块 (Plan Module): 为了确保 Agent4SC 能够模仿人类的思考和行动,我们设计了计划模块,包含三个关键动作:“Intention” (基于用户画像和对话历史评估是否使用 sticker),“Query” (如果决定使用 sticker,生成计划使用的 sticker 描述,然后向 sticker 向量数据库请求 top-k 个相似的 sticker),“Select” (基于用户画像与对话历史,从这 top-k 个 sticker 中选择一个最合适的 sticker)。
  • 记忆模块 (Memory Module): 为了确保 Agent4SC 的对话与行为具有连贯性,我们设计了记忆模块,用于存储和检索对话历史和用户画像。
  • 动作模块 (Action Module): 动作模块是 Agent4SC 与外界的交流接口,它承接计划模块的输出,基于用户画像和对话历史生成共情回复和 sticker。
  • 管理智能体 (Management Agent): 为了确保 Agent4SC 的性能和质量,我们设计了管理智能体,用于监督和调整Agent4SC的行为。

✨ StickerConv Dataset

Figure 1: StickerConv 中的多模态对话示例。双方都可以利用 sticker 来表达自己的情绪,增强互动性和表现力。系统可以根据对话内容 (绿色文字) 与用户产生共鸣。

利用 Agent4SC,我们构建一个多模态共情对话数据集 StickerConv。在我们的数据集创建中,我们定义了两个角色:User (对话发起者,拥有2000个生成的人物的用户画像) 和 System (倾听者和共情者)。为了模拟人类对 sticker 的使用,sticker 数据集被分为 100 个矢量数据库,每个数据库都确保 sticker 的情感分布一致。对于每个会话,User 和 System 都访问随机选择的矢量数据库,反映人类 sticker 使用情况并丰富贴纸多样性。

StickerConv 数据集的统计数字

StickerConv 由 12,931 个会话,67,505 个 sticker (5.8K 个不重复的 sticker) 和 2K 个用户个性组成。每次会话平均有 5.22 个 sticker 和 5.49 个对话轮数。情感标签分布分析,如 Figure 4 所示,突出了 User 和 System 在 sticker 使用上的差异,反映了他们独特的角色。

Figure 4: 用户和系统在选择 sticker 时的情绪分布。

✨ PEGS

我们设计了一个多模态共情回复生成框架 PEGS,它具有感知和生成 sticker 的能力。Figure 3 说明了我们的框架的体系结构。我们在此框架下演变出 PEGS-Ret/Gen/RAG 三种模型,对应于不同的图像生成策略,分别表示检索、生成和检索增强生成的图像生成方法。技术上,我们利用 EVA-CLIP 中的ViT-G/14、BLIP-2 中的 Q-Former 和一个线性层对图像进行编码。使用 LMM 中广泛使用的语言模型 Vicuna 进行语言建模。Stable Diffusion (SD) 作为图像解码器。
在这里插入图片描述

Figure 3: PEGS 框架的体系结构。输入 sticker 由图像编码器、Q-Former和线性层进行联合编码,Vicuna 作为语言模型。LLM 的输出在不同的模型版本中激活两组不同的 tokens: 一组用于图像检索,另一组作为文本条件。随后,所述冻结图像解码器生成图像。

  • 多模态输入感知

我们将多模态输入转换成可以由 LLM 处理的特征向量 (即 input_embeds)。具体来说,将每个文本 token 嵌入到向量 e t ∈ R 1 × d e_t\in \mathbb{R}^{1\times d} etR1×d,而每张图像首先通过预训练的视觉编码器进行编码,然后通过Q-Former和线性投影层得到对齐的特征向量 e v ∈ R 32 × d e_v\in \mathbb{R}^{32\times d} evR32×d

  • 多模态输出生成

扩展词表. 我们使用额外的视觉 tokens 集合 V i m g = { [ I M G 1 ] , [ I M G 2 ] , … , [ I M G { r } ] } V_\mathrm{img}=\{\mathrm{[IMG1]}, \mathrm{[IMG2]}, \ldots, \mathrm{[IMG\{} r \mathrm{\}]}\} Vimg={[IMG1],[IMG2],,[IMG{r}]} 来扩展文本词汇表 V V V。我们将原始的 word embedding 矩阵表示为 E ∈ R ∣ V ∣ × d E\in \mathbb{R}^{|V|\times d} ERV×d。对于扩展后的词表 V ∗ = V ∪ V i m g V^* = V \cup V_{\mathrm{img}} V=VVimg 的 embeddings 矩阵 E ∗ ∈ R ∣ V ∗ ∣ × d E^*\in \mathbb{R}^{|V^*|\times d} ERV×d ,对添加的 special tokens 的 embeddings E i m g ∈ R r × d E_{\mathrm{img}}\in \mathbb{R}^{r\times d} EimgRr×d 进行随机初始化,而保留原始的文本 token 的 embeddings E E E
E ∗ [ 0 : ∣ V ∣ , : ] = E \begin{equation} E^*[0: |V|, :] = E \end{equation} E[0:V,:]=E
我们将视觉 tokens 分为两组,其中前面的 k k k个 tokens 用于图像检索,后面的 r − k r-k rk 个 tokens 用于图像生成:
V r e t = { [ I M G 1 ] , … , [ I M G { k } ] } V g e n = { [ I M G { k + 1 } ] , … , [ I M G { r } ] } \begin{align} &V_{\mathrm{ret}} =\{\mathrm{[IMG1]}, \ldots, \mathrm{[IMG\{} k \mathrm{\}]}\} \\ &V_{\mathrm{gen}}=\{\mathrm{[IMG\{}k+1\mathrm{\}]}, \ldots, \mathrm{[IMG\{} r \mathrm{\}]}\} \end{align} Vret={[IMG1],,[IMG{k}]}Vgen={[IMG{k+1}],,[IMG{r}]}
其中 V r e t V_{\mathrm{ret}} Vret 用于 PEGS-Ret 和 PEGS-RAG,而 V g e n V_{\mathrm{gen}} Vgen 用于PEGS-Gen 和 PEGS-

文本生成. 接收多模态输入,目标是生成文本 tokens 和视觉 tokens { [ I M G { i } ] } i = 1 r \{\mathrm{[IMG\{}i{\}]}\}_{i=1}^{r} {[IMG{i}]}i=1r 的联合序列。具体来说,生成的 token 可以表示为 U = { u 1 , … , u k } U=\{u_1, \ldots, u_k\} U={u1,,uk},其中 u i ∈ V ∗ u_i\in V^* uiV。损失函数 L l m \mathcal{L}_{\mathrm{lm}} Llm 定义为:
L l m  ⁣ =  ⁣ −  ⁣ ∑ i = 1 k  ⁣ log ⁡ p ( u i ∣ s , u 1 , … , u i − 1 ; θ , E i m g ) \begin{equation} \mathcal{L}_{\mathrm{lm}} \!=\! -\!\sum_{i=1}^k\! \log p(u_i|s, u_1, \ldots, u_{i-1}; \theta, E_{\mathrm{img}}) \end{equation} Llm=i=1klogp(uis,u1,,ui1;θ,Eimg)
其中 s = { e m ( 1 ) , e m ( 2 ) , … , e m ( l ) } s=\{e_{m}^{(1)}, e_{m}^{(2)}, \ldots, e_{m}^{(l)}\} s={em(1),em(2),,em(l)} m ∈ { t , v } m \in \{t,v\} m{t,v} 指代模态。原始 LLM 的权重 θ \theta θ 被冻结,我们只更新 E i m g E_{\mathrm{img}} Eimg

图像检索. 对于图像检索,PEGS 通过对比学习将 V r e t V_{\mathrm{ret}} Vret 对应的 hidden states h r e t h_{\mathrm{ret}} hret 对齐到检索空间中。 ${W}_{\mathrm{t}}\in\mathbb{R}^{d \times e} $ and W i ∈ R p × e {W}_{\mathrm{i}} \in \mathbb{R}^{p \times e} WiRp×e 弥补了语义上的差距,调整了维度。余弦相似度用于度量投影向量的相似度:
sim ( x , y ) = ( W t T h r e t ( x ) ) T ( W i T ν ϕ ( y ) ) ∥ W t T h r e t ( x ) ∥ ∥ W i T ν ϕ ( y ) ) ∥ \begin{equation} \text{sim}(x, y) = \frac{({W}_{\mathrm{t}}^T h_{\mathrm{ret}}(x))^T({W}_{\mathrm{i}}^T \nu_\phi(y))}{\Vert{W}_{\mathrm{t}}^T h_{\mathrm{ret}}(x)\Vert \Vert{W}_{\mathrm{i}}^T \nu_\phi(y))\Vert} \end{equation} sim(x,y)=WtThret(x)∥∥WiTνϕ(y))(WtThret(x))T(WiTνϕ(y))
其中, ν ϕ \nu_\phi νϕ 为图像编码器。投影向量用于最小化 InfoNCE 损失, InfoNCE 由 N 个文本-图像对 ( x i , y i ) (x_i, y_i) (xi,yi) 中的 text-to-image (t2i) 和 image-to-text (i2t) 损失组成:
L t 2 i  ⁣ =  ⁣ − 1 N  ⁣ ∑ i = 1 N  ⁣ (  ⁣ log ⁡  ⁣ exp ⁡ ( sim ( x i , y i )  ⁣ /  ⁣ τ ) ∑ j = 1 N  ⁣ exp ⁡ ( sim ( x i , y j )  ⁣ /  ⁣ τ )  ⁣ ) L i 2 t  ⁣ =  ⁣ − 1 N  ⁣ ∑ i = 1 N  ⁣ (  ⁣ log ⁡  ⁣ exp ⁡ ( sim ( x i , y i )  ⁣ /  ⁣ τ ) ∑ j = 1 N  ⁣ exp ⁡ ( sim ( x j , y i )  ⁣ /  ⁣ τ )  ⁣ ) \begin{align} \mathcal{L}_{\mathrm{t2i}} \!&=\! -\frac{1}{N}\! \sum_{i=1}^N\!\left(\!\log\! \frac{\exp(\text{sim}(x_i, y_i)\!/\!\tau)}{\sum_{j=1}^N\! \exp(\text{sim}(x_i, y_j)\!/\!\tau)}\!\right)\\ \mathcal{L}_{\mathrm{i2t}} \!&=\! -\frac{1}{N} \!\sum_{i=1}^N\!\left(\!\log\! \frac{\exp(\text{sim}(x_i, y_i)\!/\!\tau)}{\sum_{j=1}^N\! \exp(\text{sim}(x_j, y_i)\!/\!\tau)}\!\right) \end{align} Lt2iLi2t=N1i=1N(logj=1Nexp(sim(xi,yj)/τ)exp(sim(xi,yi)/τ))=N1i=1N(logj=1Nexp(sim(xj,yi)/τ)exp(sim(xi,yi)/τ))
L r e t = 1 2 ( L t 2 i + L i 2 t ) \begin{equation} \mathcal{L}_{\mathrm{ret}} = \frac{1}{2}(\mathcal{L}_{\mathrm{t2i}} + \mathcal{L}_{\mathrm{i2t}}) \end{equation} Lret=21(Lt2i+Li2t)
L r e t \mathcal{L}_{\mathrm{ret}} Lret 是用于优化用于检索的投影层的损失。

图像生成. 我们将输出的视觉 tokens V g e n V_{\mathrm{gen}} Vgen 对应的 hidden states h g e n h_{\mathrm{gen}} hgen 对齐到 image decoder 的输入空间中。具体来说,我们通过一个特征映射器模块将它们连接起来,该模块包含两个线性层和一个具有可学习 queries 特征 q q q 的 4 层 encoder-decoder Transformer 模型。对于给定的 image caption c c c (和其情感 e e e (如果可用的话)),我们的目标是最小化从冻结的预训练的 SD 文本编码器 η \eta η 和投影后的表征中得到的 embeddings 之间的 MSE 损失:
L g e n = ∥ θ M a p p e r ( h g e n , q ) − η ( c , [ e ] ) ∥ 2 2 \begin{equation} \mathcal{L}_{\mathrm{gen}} = \lVert \theta_{\mathrm{Mapper}}(h_{\mathrm{gen}}, q) - \eta(c,\lbrack e \rbrack) \rVert_2^2 \end{equation} Lgen=θMapper(hgen,q)η(c,[e])22

检索增强的图像生成. 继续对检索到的图像进行生成可以在保持图像质量的同时扩展图像的多样性,因此我们探索检索增强生成。具体来说,我们检索的图像作为 latent 表征 c I c_I cI 来增强生成过程。在图像生成过程中, h g e n h_{\mathrm{gen}} hgen 仍然作为 condition 使用。

  • 联合学习

预先训练的 LLMs 擅长文本交互,但在共情对话中却表现不佳。我们进一步利用构建的 StickerConv 对整个模型进行联合微调,以实现多模态感知和生成的能力。我们以端到端方式训练我们的模型,使用 LoRA 将LLM中很少参数量的参数与输入线性投影层和特征映射器同步更新。整体损失函数可表示为:
L = λ 1 × L l m + λ 2 × L g e n + λ 3 × L r e t \begin{equation} \mathcal{L} = \lambda_1 \times \mathcal{L}_{\mathrm{lm}} + \lambda_2 \times \mathcal{L}_{\mathrm{gen}} + \lambda_3 \times \mathcal{L}_{\mathrm{ret}} \end{equation} L=λ1×Llm+λ2×Lgen+λ3×Lret

✨ 多模态共情回复评价

LLM 能够像人类一样进行评分,为文本和 sticker 输出提供分数,从而实现全面的多模态评估系统。我们引入了三个基于 LLM 的指标:(1) 共情:我们通过模型的文本 (Empathy-text,EMP-txt) 和多模态 (Empathy-multimodal,EMP-mm) 回复来评估共情。(2) 一致性:根据上下文,为文本和 sticker 回复分配一致性分数,简称 CON。(3) 排名:我们将不同模型的回复与同一上下文进行比较,根据质量、共情能力和一致性进行评估。
此外,我们通过一些现有的文本/多模态回复生成方面的评价指标,以及人工评价的方法进行评价。并且做了分析和一致性检验。更多内容请参考我们的原论文。

📊 Experiments

Table 1 展示了文本指标的结果。PEGS 在 Dist-n 上的性能略低于 Vicuna。这可能归因于 PEGS 扩展了 Vicuna 的词汇量以促进 sticker 的感知和生成,从而在一定程度上影响了 PEGS 的文本多样性。在我们的实验中,工具学习的训练目标包括文本生成和工具调用。这两个目标可能会相互干扰。因此,工具模型的文本性能达不到文本微调模型的性能。PEGS 的端到端结构集成了多模态输入和输出,通过统一的训练目标简化任务,并得到了最佳的文本结果。PEGS-Gen 使用更少的特殊 token (32),因此在文本指标上优于 PEGS-Ret 和 PEGS-RAG。这些发现证实了 PEGS 框架在生成高质量和准确性的文本回复方面的有效性。

Table 1: 在 PEGS 和 baseline 模型中生成的文本质量结果

Table 2 显示了多模态指标的结果,其中 Freq. 表示每个模型的 sticker 回复的相对频率。尽管 Vicuna-tool 实现了较高的 MMr(72.48),但这一结果主要是由于其较低的频率 (0.141),这可能不能准确代表其多模态交互能力。 PEGS 在 f-MMr 方面表现出色,展示了其集成文本和贴纸的端到端结构,在多模态回复生成方面实现了高度一致性。

Table 2: 多模态指标结果

Table 3 列出了 LLM 的评估结果。相对于基线模型,两个工具学习模型在排名上优于文本模型。这凸显了 sticker 在增强共情交流方面的关键作用。根据基于 LLM 的指标结果,PEGS 可以在确保高度一致性的同时生成共情文本,并利用 sticker 来增强情感共鸣。Table 2 和 PEGS-Gen 的 EMP-mm (4.353) 表明,多模态回复的质量与其增强共情的程度直接相关。

Table 3: 基于 LLM 的指标的评价结果

Table 4 显示了人工评估的结果。除 Flu. 外,PEGS 在大多数评估指标中明显超过两个基线模型,从而证实了 PEGS 框架的有效性。与 ChatGLM3-tool (4.58) 相比,PEGS 的 Flu. (<4.5) 较低,可能是因为其高 Inf (>4.09) 导致 Flu. 略有减少。根据 Inf. 和 Et.,信息量是影响共情的关键因素。PEGS-RAG 在 sticker 多样性 (3.8) 方面表现出色,但在 sticker 生成质量 (3.37) 方面得分最低。这一观察结果表明,尽管 RAG 策略增强了 sticker 的多样性,但它也可能降低了本实验中 sticker 生成的质量。对 StiGQ.、Es. 和 StiD. 的分析表明,多模态回复可以增强共情,并且这种增强与回复的质量呈正相关。在考虑对人类指标的所有评估时,PEGS-Gen 非常突出,部分原因是它最少地使用special token,部分原因是其熟练的 sticker 生成能力 (归功于端到端结构)。这些结果凸显了 PEGS-Gen 能够生成高质量、情感共鸣和多样化多模态回复的卓越能力。

Table 4: 人工评估的结果

📄 Conclusion

我们探索了多模态共情回复的概念,并创建了 StickerConv,这是第一个专门为多模态共情对话设计的数据集。我们开发了 Agent for StickerConv,一个复杂的基于 LLM 的多智能体系统,能够模拟类似人类使用 sticker 的交互,从而创建多模态共情回复。在 StickerConv 的基础上,我们开发了 PErceive and Generate Stickers (PEGS),这是一种先进的多模态共情对话框架。该框架熟练地感知并生成 sticker,有效增强了对话体验。此外,我们建立了一套基于 LLM 的多模态共情任务的综合评估指标。我们相信,这项工作将推进多模态共情对话系统领域研究。

🌐 开源网址

  • Paper: STICKERCONV: Generating Multimodal Empathetic Responses from Scratch
  • Project Page: StickerConv Project Page
  • Github: GitHub - StickerConv
  • Dataset: NEUDM/StickerConv · Datasets at Hugging Face

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

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

相关文章

【云原生】kubernetes中Configmap原理解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

汽车IVI中控开发入门及进阶(二十一):DAB和FM 收音机

前言: 在过去的十年里,数字收音机对车载娱乐产生了重大影响。现在,几乎每辆新车都标配了这项技术,这也是我们60%以上的人收听收音机的方式。甚至有传言称,在不久的将来,将永久关闭调频发射机,使许多车载收音机过时。但一些相对年轻的汽车在工厂里仍然没有安装DAB,而且…

Linux共享内存创建和删除

最近项目中使用到了共享内存记录下 创建共享内存: 删除共享内存: 代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/mman.h> #include <sys/stat.h> #include <u…

服务器数据恢复—异常断电导致ESXi虚拟机无法启动的数据恢复案例

服务器数据恢复环境&#xff1a; 某大厂PS4000服务器&#xff0c;服务器上部署VMware ESXi虚拟化平台。 服务器故障&#xff1a; 机房断电&#xff0c;重启后服务器中的某台虚拟机不能正常启动。管理员查看虚拟机配置文件&#xff0c;发现无法启动的虚拟机的配置文件除了磁盘文…

【全开源】自习室在线订座小程序源码(FastAdmin+ThinkPHP+uView)

打造高效学习空间的必备工具 一、引言&#xff1a;自习室订座难题的解决之道 在如今的学习环境中&#xff0c;自习室成为了学生们备战考试、进行深度学习的重要场所。然而&#xff0c;随着学生人数的增加&#xff0c;自习室座位资源变得日益紧张。为了解决这一难题&#xff0…

SSL证书该如何选择,DV、OV、EV又有什么区别?

选择SSL证书时&#xff0c;您需要根据您的网站性质、安全需求以及预算来决定。DV&#xff08;域名验证&#xff09;、OV&#xff08;组织验证&#xff09;、EV&#xff08;扩展验证&#xff09;是三种不同类型的SSL证书&#xff0c;它们在验证深度、安全性和可见性方面有所差异…

Fastjson 反序列化漏洞[1.2.24-rce]

漏洞复现环境搭建请参考 http://t.csdnimg.cn/vSaaw kali切换jdk版本请参考 Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客 漏洞原理 Fastjson提供的com.sun.rowset.JdbcRowSetImpl类下的dataSourceName方法支持传入一个RMI/LDAP源&#xff0c;支持远程调用。…

走进智慧仓储:3D可视化工厂园区革新物流新纪元

在快节奏的现代生活中&#xff0c;物流仓储行业扮演着至关重要的角色。随着科技的飞速发展&#xff0c;传统仓储模式正面临一场前所未有的变革。今天&#xff0c;就让我们一起看看3D可视化技术如何为物流行业带来前所未有的便利与效率。 什么是3D可视化工厂园区&#xff1f; 3…

ABP框架+Mysql(二)

展示页面--图书列表页面 本地化 开始的UI开发之前,我们首先要准备本地化的文本(这是你通常在开发应用程序时需要做的).本地化文本在前端页面会常用。 本地化文本位于 Acme.BookStore.Domain.Shared 项目的 Localization/BookStore 文件夹下: 打开 en.json (英文翻译)文件并更…

「浏览器」跨站请求伪造CSRF攻击的原理以及防范措施

前言 HTTP 是一个无状态的协议&#xff0c;比如需要账号密码登录的网站这个场景&#xff0c;为了避免每次都需要重复输入&#xff0c;有一种方案就是Cookie&#xff0c;具体使用不做赘述&#xff0c;但是这样带来了一些安全问题。跨站请求伪造&#xff08;CSRF&#xff09;攻击…

贵州省特岗教师报名流程及一寸蓝底证件照电子版制作指南

贵阳市2024年特岗教师招聘公告已发布&#xff0c;310个岗位虚位以待&#xff0c;报名工作将于5月27日9:00至5月29日18:00期间进行。本文将为您提供详细的报名流程以及如何制作符合要求的一寸蓝底证件照电子版&#xff0c;助您顺利报名。 一、贵州特岗教师网上报名流程 网上报…

EQMentor情商导师文心智能体:引领情商提升与人际关系改善的智能导师

目录 一、引言 情商的重要性 EQMentor智能体的诞生背景与目的 二、EQMentor智能体的概述 EQMentor智能体 简述EQMentor情商智能体的核心功能与特点 三、 EQMentor情商导师智能体 智能体的设计理念 智能体的功能特点 智能体的使用举例 四、结语 一、引言 情商的重要…

六面体大米装袋机在提升大米包装效率中的作用

在当今社会&#xff0c;随着科技的飞速发展&#xff0c;各行各业都在寻求创新与突破&#xff0c;以提升生产效率和降低成本。而在大米包装领域&#xff0c;六面体大米装袋机的出现&#xff0c;无疑为整个行业带来了革命性的变化。这种先进的机械设备不仅提高了大米的包装效率&a…

迷你手持小风扇哪个品牌续航强?五款强续航迷你手持小风扇推荐!

夏天就俩字儿&#xff1a;热和空调&#xff01;太阳大得让人想躲&#xff0c;一出汗&#xff0c;感觉全身毛孔都在喊“太热啦”&#xff01;这时空调简直是救命恩人啊&#xff0c;热得只想赖在屋里不出来。但出门总得面对大太阳&#xff0c;一出门就哗哗流汗。所以&#xff0c;…

SpringBoot实现接口防抖的几种方案,杜绝重复提交

插&#xff1a; AI时代&#xff0c;程序员或多或少要了解些人工智能&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家(前言 – 人工智能教程 ) 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家…

查看主机的php参数short_open_tag 是否为 on

我想要查看主机的php参数short_open_tag 是否为 on&#xff0c;由于我使用的是Hostease的Linux虚拟主机产品&#xff0c;在cPanel面板中并没有找到这个参数选项&#xff0c;因此无法查看。这边联系了Hostease技术支持了解&#xff0c;可以通过以下方式进行查看。 1.先登陆cPane…

Excel中sum的跨表求和

#实际工作中&#xff0c;一个xlsx文件中会包含多个Excel表格&#xff0c;一般会有“总-分”的关系&#xff0c;如何把分表里的数字汇总到总表里呢&#xff1f; 一般有上图所示的两种表达方式。 可以使用通配符 *&#xff1a;代表任意个数、任意字符&#xff1b; &#xff1f;&…

“三国杀”:互联网云鏖战“云+大模型”

近日&#xff0c;**腾讯、百度、阿里巴巴相继公布了2024年第一季度财报。**在云业务方面&#xff0c;阿里云2024年一季度收入增长3%至255.95亿元&#xff0c;腾讯云计算业务未单独列入财报&#xff0c;腾讯最新财报显示&#xff0c;包含云计算在内的金融科技与企业服务业务一季…

一次性把“AI 原生应用技术栈”说明白

AI 当前有多火爆不用介绍了&#xff0c;随着各个厂商的努力&#xff0c;也慢慢浮现了有价值的应用&#xff0c;以及为更好的服务 AI 原始应用准备的各种平台产品。今天这篇简单介绍下当前业界最新的 AI 原生应用技术栈。 特别声明&#xff1a;AI 技术还在快速发展过程中&#…

MongoDB分片集群容灾方案

MongoDB分片集群容灾方案 1. 集群同步工具介绍1.1 第三方数据同步工具mongoshake1.2 官方同步工具mongosync 2. 工具对比2.1 数据一致性2.2 稳定性和可靠性2.3 维护成本 3. 总结 1. 集群同步工具介绍 最近客户咨询MongoDB分片集群市面上主流的容灾方案&#xff0c;所以抽空整理…