论文阅读--Modeling both Intra-and Inter-modal Influence for Real-Time Emotion Detection in Conversations

Modeling both Intra- and Inter-modal Influence for Real-Time Emotion Detection in Conversations

Dong Zhang, Weisheng Zhang, Shoushan Li, Qiaoming Zhu, Guodong Zhou:Modeling both Intra- and Inter-modal Influence for Real-Time Emotion Detection in Conversations. ACM Multimedia 2020: 503-511

Abstract

经过近十年的探索,对话中的情感分析主要是在文本场景中进行的。如今,随着语音和视频通信的普及,学术界和工业界已经逐渐意识到多模式场景的必要性。… 以前的研究通常认为对话中当前话语的情感很大程度上受历史话语的内容、其说话者和情感的影响,但他们以相同的粒度对历史对当前话语的影响进行了建模(模态内影响,Intra-modal influence)。直觉上,情感识别的线索可能不存在于与当前话语相同的模态的历史中,而是存在于其他模态的历史中(模态间的影响)。此外,以往的研究通常将信息传播建模为会话流。直观上,对对话中信息传播的双向建模为情感检测提供了丰富的线索。因此,本文提出了一种双向动态双重影响网络,用于对话中的实时情感检测,其可以使用当前话语及其历史话语的双向信息传播同时来同时建模模态内和模态间的影响。

1 NTRODUCTION

在这里插入图片描述

与非对话的多模式情感分析不同,现有的ERC研究通常认为话语的情感受历史语境的影响,包括历史上下文,说话者和情感。例如图1所示,当预测话语 u 3 u_3 u3所表的的情感时,对于单模态或在其的多模态融合的对话,历史话语 u 1 , u 2 u_1,u_2 u1,u2通常对于 u 3 u_3 u3表达的情感有一定确定的影响。可以观察到,影响保持在相同特征空间内的相同粒度上,并且在这种情况下,我们将这种影响称为模态内影响。

尽管一些方法[9,10,19,31]已经被提出来处理会话中的多模态情感检测,但是仍然存在一些局限性。

在另一方面,虽然可以使用多模态融合技术整合一个话语的多模态特征来作为具有模态内方法的输入,但它仍然以相同的维度进行拼接,而不是跨模态上下文的影响。更具体地说,模态内上下文往往缺乏信息,因此情绪的推理可以依赖于当前话语和历史上下文之间的交互作用。例如,图1b所示,对于文本类型的上下文,当预测话语 u 3 u_3 u3的情感时,文本类型的历史上下文 u 1 , u 2 u_1,u_2 u1,u2可能对于 u 3 u_3 u3没有影响。但声学的上下文可能会给出能够准确预测话语 u 3 u_3 u3情感的线索。我们将这种情况下的影响称为跨模式影响,而这种影响被以往的研究完全忽视了。因此我们认为一个好的ERC方法应当同时对模态内和模态间的影响进行建模。

此外,一些研究以一种静态的方式来解决ERC问题,这意味着需要检测情感的对话已经进行完毕,因此他们可以考虑目标话语的历史和未来的上下文。与这些研究不同,本文专注于实时的对话情感识别。在本研究中没有未来上下文的存在。因此仅可以利用来历史上下文来实时的识别情感。但常规的实时ERC方法通常仅考虑对话中信息的单向传递。但是在实时对话中所有话语的双向信息传播可以带来更多用于情感识别的线索。例如图一所示,传统的影响顺序是,话语 u 1 , u 2 u_1,u_2 u1,u2所表达的情感可以帮助话语 u 3 u_3 u3的情感的识别,但是前面话语的情感也是实时识别的。如果引入双向的传播,话语 u 3 u_3 u3所蕴含的情感可以帮助更加精确的识别 u 1 , u 2 u_1,u_2 u1,u2所表达的情感,这可以减少传统的单项影响所产生的错误积累。因此我们认为一个好的ERC方法应当利用双向的信息传递。

为了解决上述局限,本文提出了一种双向动态双重影响网络 (BiDDIN)来有效的识别对话中话语的情感。具体来说,我们使用三组GRU为每种模态动态捕获由对话中的话语、说话者和情绪所传递的信息。在此基础上,我们为每个话语设计了一个双重影响块,以产生三个模态特定的影响向量。然后,这些影响向量分别通过与每个模态相对应的GRU块整合到说话者和情绪状态中。最后,将不同模态的情感GRU的输出自适应地融合为多模态情感向量,进一步将其用于执行情感检测。此外,我们的方法改变了传统的会话影响顺序,对双向信息进行建模,有效地捕捉到更丰富的线索,从而更好地实现会话中多模态情感的实时检测。

2 RELATED WORKS

目前的研究可以将ERC分为两类:静态类型和实时类型。

2.1 单模态实时ERC

。。。

这些方法只能对实时ERC中的模态内影响进行建模。

2.2 多模态实时ERC

对于多模态信息,以往的研究通常依赖于多模态的早期融合。这些研究忽略了上下文的跨模态影响,只能捕捉到对话中的单向信息传播。

3 METHODOLOGY

任务定义:

假设对话到目前已经进行了 i i i轮,并有话语序列 C i = { u 1 , u 2 , . . . , u i } \mathcal{C}_i=\{u_1,u_2,...,u_i\} Ci={u1,u2,...,ui}和相应的说话者序列 S i = { s 1 , s 2 , . . . , s i } \mathcal{S}_i=\{s_1,s_2,...,s_i\} Si={s1,s2,...,si},第 i i i个话语 u i u_i ui作为目标话语,其他话语作为历史话语。每一个话语表达来自于情感集合 E \mathcal{E} E中的一种情感类别 e c e_c ec,比如 joy, sadness,neutral。此外,每个话语还表达了具有连续维度得分的多个情感属性 e r e_r er,比如valence,arousal和expectancy。目标是在历史话语的条件下设计并训练一个分类模型来预测目标话语 u i u_i ui的情感类别 e c e_c ec,并训练一个回归模型来预测目标话语 u i u_i ui的情感维度 e r e_r er。实际上,因为对话中的所有话语(包括相应的说话者和情感)之间存在丰富的关联,我们需要动态地建模目标话语及其先前话语之间的影响。因此所设计的分类模型 M c \mathcal{M}_c Mc可以同时预测序列 C i \mathcal{C}_i Ci中的每一个话语的情感类别 e c e_c ec,并且回归模型 M r \mathcal{M}_r Mr可以同时预测序列 C i \mathcal{C}_i Ci中的每一个话语的情感维度 e r e_r er。形式化为:
e c , 1 , e c , 2 , . . . , e c , 3 = M c ( C i , S i ) (1) e_{c,1},e_{c,2},...,e_{c,3}=\mathcal{M}_c(C_i,S_i)\tag{1} ec,1,ec,2,...,ec,3=Mc(Ci,Si)(1)
e r , 1 , e r , 2 , . . . , e r , 3 = M r ( C i , S i ) (2) e_{r,1},e_{r,2},...,e_{r,3}=\mathcal{M}_r(C_i,S_i)\tag{2} er,1,er,2,...,er,3=Mr(Ci,Si)(2)
其中 e c , i , e r , i e_{c,i},e_{r,i} ec,i,er,i分别是第 i i i个话语的情感类别和情感维度。

3.1 Utterance Representation

使用文本、声音、视频三种模态的数据

[8]Yue Gu, Kangning Yang, Shiyu Fu, Shuhong Chen, Xinyu Li, and Ivan Marsic. 2018.Hybrid Attention based Multimodal Network for Spoken Language Classification.InProceedings of the 27th International Conference on Computational Linguistics(COLING). 2379–2390.
[9]Devamanyu Hazarika, Soujanya Poria, Rada Mihalcea, Erik Cambria, and RogerZimmermann. 2018.  ICON: Interactive Conversational Memory Network forMultimodal Emotion Detection. InProceedings of the 2018 Conference on EmpiricalMethods in Natural Language Processing (EMNLP). 2594–2604.
  • 文本特征
    • 使用[9]中的方法
  • 声学特征
    • 使用[8]中的方法
  • 视觉特征
    • 使用[9]中的方法

3.2 Uni-modal Influence Modeling for Real-time Emotion Detection in Conversations

在这里插入图片描述

[19]Navonil  Majumder,  Soujanya  Poria,  Devamanyu  Hazarika,  Rada  Mihalcea,Alexander F. Gelbukh, and Erik Cambria. 2019.  DialogueRNN: An AttentiveRNN for Emotion Detection in Conversations. InProceedings of the Thirty-ThirdAAAI Conference on Artificial Intelligence (AAAI). 6818–6825.

在本节,我们引入[19]中的dynamic attentive RNN架构来对话中两个说话者交互过程进行模拟。这种架构以单模态或早期融合的多模态特征作为输入,就像图2中所示。我们引入此模块用来建模对话中的三种元素的状态:

  1. 说话者
  2. 由前面的话语给出的上下文(文本,音频,视频)
  3. 前面话语蕴含的情感

全局状态(Global GRU).全局状态目标是通过联合编码前面话语和说话者状态来捕获给定话语的上下文。形式化为
g i = G R U G ( ( u i ⊕ q s ( u i ) , i − 1 ) , g i − 1 ) (3) g_i=GRU_\mathcal{G}((u_i\oplus q_{s(u_i),i-1}),g_{i-1})\tag{3} gi=GRUG((uiqs(ui),i1),gi1)(3)
其中 g i ∈ R d g g_i\in R^{d_g} giRdg表示第 i i i轮话语的上下文传播的全局状态表示。 q s ( u i ) , i − 1 ∈ R d p q_{s(u_i),i-1}\in R^{d_p} qs(ui),i1Rdp 表示说话者 s ( u i ) s(u_i) s(ui)在第 i − 1 i-1 i1轮时刻的说话者状态表示。在二元对话中,一般使用两个符号: F F F 女性, M M M 男性 来描述 s ( u i ) s(u_i) s(ui)

说话者状态(Party GRU).dynamic attentive RNN使用贯穿实时对话的固定大小的向量 q ⋅ , ⋅ q_{\cdot,\cdot} q,来持续追踪单个说话者的状态。因为不同的说话者在对话中扮演不同的角色,我们需要对说话者敏感(speaker-sensitive)的连续状态进行建模.
q s ( u i ) , i = G R U P ( ( u i ⊙ c i ) , q s ( u i ) , i − 1 ) (4) q_{s(u_i),i}=GRU_\mathcal{P}((u_i\odot c_i),q_{s(u_i),i-1})\tag{4} qs(ui),i=GRUP((uici),qs(ui),i1)(4)
其中 c i ∈ R d g c_i\in R^{d_g} ciRdg表示第 i i i轮话语的上下文表示,即对话中先前话语的有效信息。我们使用话语表示 u i u_i ui作为query来学习与话语 u i u_i ui在情感上相关的历史话语之上的注意力分数 α ∈ R i − 1 \alpha \in R^{i-1} αRi1
c i = A t t ( u i , [ g 1 , g 2 , . . . , g i − 1 ] ) (5) c_i=Att(u_i,[g_1,g_2,...,g_{i-1}])\tag{5} ci=Att(ui,[g1,g2,...,gi1])(5)
其中 A t t ( ⋅ , ⋅ ) Att(\cdot,\cdot) Att(,)是带有注意力机制的函数,其以query(即目标话语 u i u_i ui)和value(即 [ g 1 , g 2 , . . . , g i − 1 ] [g_1,g_2,...,g_{i-1}] [g1,g2,...,gi1])作为输入。

情绪状态(Emotion GRU).对话信息经由全局和说话者状态进行传播的情感状态表示 e i ∈ R d e e_i\in R^{d_e} eiRde 可以从说话者状态和先前的情感状态 e i − 1 ∈ R d e e_{i-1}\in R^{d_e} ei1Rde中建立
e i = G R U E ( q s ( u i ) , i − 1 , e i − 1 ) (6) e_i=GRU_\mathcal{E}(q_{s(u_i),i-1},e_{i-1})\tag{6} ei=GRUE(qs(ui),i1,ei1)(6)
最后情感状态被用来通过分类器和回归器来分别预测情感类别和情感属性。

3.3 Multi-modal Influence Modeling for Real-Time Emotion Detection in Conversations

在这里插入图片描述

在本节,首先介绍单向动态双影响网络(DDIN),其可以有效的处理模态内和模态间的影响。接着介绍本文提出的双向动态双影响网络(BiDDIN),如图3所示,其可以更进一步的对对话中双向传播线索。

Influence Modeling by Positional Attention.按照惯例,影响操作可以通过软注意力作为上下文记忆的加权和来获得上下文向量来处理,但这完全失去了记忆中的位置和顺序信息。因此我们结合位置信息来建立影响关系并汇总上下文。不同于transformer序列中的自注意力,本文的位置注意力是为话语向量和它的上下文序列而设计的。我们以话语 u i ∈ R d u u_i\in R^{d_u} uiRdu和它的上下文 G i − 1 = [ g 1 , g 2 , . . . , g i − 1 ] G_{i-1}=[g_1,g_2,...,g_{i-1}] Gi1=[g1,g2,...,gi1]为例,其中,上下文中的每一个向量,如 g i − 1 g_{i-1} gi1已经借助[25]中的方法包含了位置嵌入。

[25]Ashish  Vaswani,  Noam  Shazeer,  Niki  Parmar,  Jakob  Uszkoreit,  Llion  Jones,Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017.  Attention is Allyou Need. InAdvances in Neural Information Processing Systems 30: Annual Con-ference on Neural Information Processing Systems. 5998–6008

e m b t p o s [ 2 j ] = sin ⁡ ( t 1000 0 2 j / d g ) (7) emb_t^{pos}[2j]=\sin(\dfrac{t}{10000^{2j/d_g}})\tag{7} embtpos[2j]=sin(100002j/dgt)(7)
e m b t p o s [ 2 j + 1 ] = cos ⁡ ( t 1000 0 2 j / d g ) (8) emb_t^{pos}[2j+1]=\cos(\dfrac{t}{10000^{2j/d_g}})\tag{8} embtpos[2j+1]=cos(100002j/dgt)(8)
其中 2 j , 2 j + 1 2j,2j+1 2j,2j+1是位置嵌入的偶数和技术的位置索引, t t t表示上下文中的时间步, d g d_g dg表示 e m b t p o s emb_t^{pos} embtpos的维度。

接着Querys定义为 Q u = u i W Q u Q_u=u_iW_{Q_u} Qu=uiWQu,Keys定义为 K g = G i − 1 W K g K_g=G_{i-1}W_{K_g} Kg=Gi1WKg,Values定义为 V g = G i − 1 W V g V_g=G_{i-1}W_{V_g} Vg=Gi1WVg,其中 W Q u ∈ R d u × d k , W K g ∈ R d g × d v , W V g ∈ R d g × d v W_{Q_u}\in R^{d_u\times d_k},W_{K_g}\in R^{d_g\times d_v},W_{V_g}\in R^{d_g\times d_v} WQuRdu×dk,WKgRdg×dv,WVgRdg×dv 是可训练的权重。
c i = A t t ( u i , G i − 1 ) = s o f t m a x ( Q u ( K g ) T d k ) V g = s o f t m a x ( u i W Q u ( W K g ) T G i − 1 T d k ) G i − 1 W V g (9) \begin{aligned} c_i&=Att(u_i,G_{i-1})\\ &=softmax(\dfrac{Q_u(K_g)^T}{\sqrt{d_k}})V_g\\ &=softmax(\dfrac{u_iW_{Q_u}(W_{K_g})^TG_{i-1}^T}{\sqrt{d_k}})G_{i-1}W_{V_g}\tag{9} \end{aligned} ci=Att(ui,Gi1)=softmax(dk Qu(Kg)T)Vg=softmax(dk uiWQu(WKg)TGi1T)Gi1WVg(9)
其中 c i c_i ci表示上下文 G i − 1 G_{i-1} Gi1对话语 u i u_i ui的影响向量,其也可以看作经过有效的上下文汇总的上下文向量。注意话语 u i u_i ui和它的上下文 G i − 1 G_{i-1} Gi1可以从不同的模态中得到,即模态间的影响。

在本文的双影响网络中,全局状态、说话者状态和情感状态块通过对每一个模态独立的建立这三个块来扩展到多模态的情况中。注意,符号 m m m表示下列文本 T T T、音频 A A A或视觉 V V V中的一种模态,即 m ∈ { T , A , V } m\in\{T,A,V\} m{T,A,V}

Multimodal Global States.因为目标是建模模态间的影响,我们需要对给定话语的上下文内容的每一个模态独立的建模。
g i m = G R U G m ( ( u i m ⊕ q s ( u i ) , i − 1 m ) , g i − 1 m ) (10) g_i^m=GRU_\mathcal{G}^m((u_i^m\oplus q_{s(u_i),i-1}^m),g_{i-1}^m)\tag{10} gim=GRUGm((uimqs(ui),i1m),gi1m)(10)
其中 g i m ∈ R d g g_i^m\in R^{d_g} gimRdg表示在模态 m m m下第 i i i个话语的上下文传播的全局状态表示。 q s ( u i ) , i − 1 m ∈ R d P q_{s(u_i),i-1}^m\in R^{d_\mathcal{P}} qs(ui),i1mRdP表示模态 m m m下说话者 s ( u i ) ∈ { M , F } s(u_i)\in\{M,F\} s(ui){M,F}在第 i − 1 i-1 i1个话语时的说话者状态表示。

Multimodal Party States.本文的动态双影响网络使用贯穿实时对话的固定大小的向量 q ⋅ , ⋅ m q^m_{\cdot,\cdot} q,m来持续追踪单个说话者的状态。因为一个说话者受到不同模态的上下文的影响,当前话语的语言,言语和面部表情可能会表达不同的情感,因此应当从不同模态的上下文中接收上下文影响并根据不同模态分别建模说话者的状态。
q s ( u i ) , i m = G R U P m ( ( u i m ⊕ c i m ) , q s ( u i ) , i − 1 m ) (11) q^m_{s(u_i),i}=GRU_\mathcal{P}^m((u_i^m\oplus c_i^m),q_{s(u_i),i-1}^m)\tag{11} qs(ui),im=GRUPm((uimcim),qs(ui),i1m)(11)
其中 c i m ∈ R d g c_i^m\in R^{d_g} cimRdg表示通过分层注意力机制获取的含有来自模态内和模态间影响的第 i i i个话语的混合上下文表示。我们以受其他两个模态影响的文本模态为例。
u T → T = A t t ( u i T , G i − 1 T ) u A → T = A t t ( u i T , G i − 1 A ) u V → T = A t t ( u i T , G i − 1 V ) c i T = M F ( [ u T → T , u A → T , u V → T ] ) (12-15) \begin{aligned} u_{T\rightarrow T}&=Att(u_i^T,G_{i-1}^T)\tag{12-15}\\ u_{A\rightarrow T}&=Att(u_i^T,G_{i-1}^A)\\ u_{V\rightarrow T}&=Att(u_i^T,G_{i-1}^V)\\ c_i^T&=MF([u_{T\rightarrow T},u_{A\rightarrow T},u_{V\rightarrow T}]) \end{aligned} uTTuATuVTciT=Att(uiT,Gi1T)=Att(uiT,Gi1A)=Att(uiT,Gi1V)=MF([uTT,uAT,uVT])(12-15)
其中 M F ( ⋅ , ⋅ , ⋅ ) MF(\cdot,\cdot,\cdot) MF(,,)是特定模态的说话人状态的控制模态内和模态间影响的不同贡献的模态融合函数。
α = s o f t m a x ( W α [ u T → T , u A → T , u V → T ] T ) (16) \alpha=softmax(W_\alpha[u_{T\rightarrow T},u_{A\rightarrow T},u_{V\rightarrow T}]^T)\tag{16} α=softmax(Wα[uTT,uAT,uVT]T)(16)
c i T = α [ u T → T , u A → T , u V → T ] (17) c_i^T=\alpha[u_{T\rightarrow T},u_{A\rightarrow T},u_{V\rightarrow T}]\tag{17} ciT=α[uTT,uAT,uVT](17)
其中 α ∈ R 3 \alpha\in R^3 αR3表示学习到的贡献分数, W α ∈ R d g W_\alpha\in R^{d_g} WαRdg是可训练的权重。

Multimodal Emotion States.正如前面所述,话语的语言,言语和面部表情的情绪强度各不相同甚至类别上都不同,每一个模态的情感表示可以通过相应模态的说话者状态和先前的情感状态来建立。
e i m = G R U E m ( q s ( u i ) , i − 1 m , e i − 1 m ) (18) e_i^m=GRU_\mathcal{E}^m(q_{s(u_i),i-1}^m,e_{i-1}^m)\tag{18} eim=GRUEm(qs(ui),i1m,ei1m)(18)
其中 e i , e i − 1 ∈ R d e e_i,e_{i-1}\in R^{d_e} ei,ei1Rde

基于此,我们可以获得三种特定模态的情感相关表示。为了控制对最终情感预测的不同贡献,我们引入了模态融合函数 M F ( e i T , e i A , e i V ) MF(e_i^T,e_i^A,e_i^V) MF(eiT,eiA,eiV)来混合情感相关表示 e i e_i ei

Emotion Prediction.在每一个话语的获得混合情感相关表示之后,我们在现存的话语的情感状态 E = [ e 1 , e 2 , . . . , e i ] E=[e_1,e_2,...,e_i] E=[e1,e2,...,ei]之上执行multi-head的自注意力机制以更进一步捕获对话中的上下文感知的表示 E = [ e 1 ′ , e 2 ′ , . . . , e i ′ ] E=[e_1',e_2',...,e_i'] E=[e1,e2,...,ei]
E ′ = S E L F A T T ( E ) = s o f t m a x ( E W Q W K T E T d k ) E W V (19) \begin{aligned} E'&=SELFATT(E)\\ &=softmax(\dfrac{EW_QW_K^TE^T}{\sqrt{d_k}})EW_V\tag{19} \end{aligned} E=SELFATT(E)=softmax(dk EWQWKTET)EWV(19)
其中输入 E E E已将添加了位置嵌入,如公式(7)和(8)那样。 W Q ∈ R d e × d k , W K ∈ R d e × d k , W V ∈ R d e × d k W_Q\in R^{d_e\times d_k},W_K\in R^{d_e\times d_k},W_V\in R^{d_e\times d_k} WQRde×dk,WKRde×dk,WVRde×dk是multi-head的自注意力机制的可训练参数。

最终,使用softmax层来计算每一个话语在情感类别集合 C C C上的概率。
r i = R e L U ( W r e i ′ + b r ) (20) r_i=ReLU(W_re_i'+b_r)\tag{20} ri=ReLU(Wrei+br)(20)
p i = s o f t m a x ( W p r i + b p ) (21) p_i=softmax(W_pr_i+b_p)\tag{21} pi=softmax(Wpri+bp)(21)
y ^ i = arg max ⁡ ( p i ) (22) \hat{y}_i=\argmax(p_i)\tag{22} y^i=argmax(pi)(22)
其中 W r ∈ R d r × d e , b r ∈ R d r , W p ∈ R C × d r , b r ∈ R C W_r\in R^{d_r\times d_e},b_r\in R^{d_r},W_p\in R^{C\times d_r},b_r\in R^C WrRdr×de,brRdr,WpRC×dr,brRC是情感分类块中的可训练权重。 p i , y ^ i p_i,\hat{y}_i pi,y^i表示第 i i i个话语的预测概率分布和情感类别。对于情感回归任务,softmax被替换为线性函数。

Bidirectional Version.根据以上的描述,本文所提出的DDIN可以很容易的扩展到双向版本BiDDIN来捕获对话中的双向信息传递。简单来说,将测试话语和前面的上下文翻转并用前述的DDIN来建模全局,说话者和情感状态。然后我们也可以从反转顺序的话语中获得情感状态表示。最终将前向和后向的情感状态向量进行连接来进行情感预测。

注意,虽然我们只想要目标话语的情感,但是我们利用目标话语和其前面话语的所有情感来联合训练并在测试中输出所有。这主要是因为我们的目的是使用现有话语之间的情绪信息来相互促进和提高预测的准确性。在BiDDIN中,我们建模双向的信息传播,这知会存在于目标话语和它前面的话语中。因此本方法看不到未来并在实时的情况下可以很好的执行。

4 EXPERIMENTATION

4.1 Experimental Settings

在两个数据集:IEMOCAP,AVEC上进行实验。

在这里插入图片描述

4.2 Baselines

  • CMN
  • ICON
  • DiaRNN
  • DFN
  • AGHMN

4.3 Experimental Results

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

4.4 Analysis and Discussion

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值