【ACL 2023】Enhancing Document-level EAE with Contextual Clues and Role Relevance

【ACL 2023】Enhancing Document-level Event Argument Extraction with Contextual Clues and Role Relevance

论文:https://aclanthology.org/2023.findings-acl.817/

代码:https://github.com/LWL-cpu/SCPRG-master

Abstract

与句子级推理相比,文档级事件论元抽取在长输入和跨句推理方面提出了新的挑战。然而,大多数先前的工作都集中在捕捉每个事件中候选论元和事件触发词之间的关系,忽略了两个关键点:a)非论元上下文线索信息;b) 论元角色之间的相关性。在本文中,我们提出了一个SCPRG(基于跨度触发词的上下文池化和潜在角色引导)模型,该模型包含两个新颖有效的模块来解决上述问题。基于跨度触发的上下文池化(STCP)基于预训练模型中特定论元-触发词对的上下文注意力权重,自适应地选择和聚合非论元线索词的信息。基于角色的潜在信息引导(RLIG)模块构建潜在角色表示,使其通过角色交互编码进行交互,以获取语义相关性,并将其合并为候选论点。与基本模型相比,STCP和RLIG都引入了不超过1%的新参数,并且可以很容易地应用于其他事件抽取模型,这些模型紧凑且可移植。在两个公共数据集上的实验表明,我们的SCPRG优于以前最先进的方法,在RAMS和WikiEvents上分别改进了1.13 F1和2.64 F1。进一步的分析说明了我们模型的可解释性。

Introduction

然而,先前所有SOTA的作品都忽略了两个关键点:(a)非论元的线索信息;(b) 论点角色之间的相关性。

非论元线索是除目标论元外的上下文文本,可以为预测许多复杂的论元角色提供重要的指导信息。例如,在图1中,对于Conflict and Attack事件,非论元线索被detonated, claim responsibility 和 terrorist attack可以为识别论元explosive belts和Islamic State提供重要的线索信息。然而,以前的许多工作只使用了经过预训练的Transformer编码器隐式获取全局上下文信息,忽略了对于事件中出现的不同论元,他们应该关注与实体和目标事件高度相关的上下文信息。因此,在本文中,我们设计了一个基于跨度触发词的上下文池化(STCP)模块,该模块基于预训练模型中的上下文注意力乘积,将每个论元-触发词对的非论元线索的信息合并,用额外的相关上下文信息增强候选论元的表示。

一些论元角色具有密切的语义相关性,这有利于论元抽取。例如,在图1中,角色injurer和victim之间存在密切的语义相关性,这可以为目标事件Conflict and Attack中这两个角色的论点抽取提供重要的信息指导。此外,许多角色共同发生在多个事件中,这可能具有密切的语义相关性。具体而言,我们统计并可视化了图2中RAMS数据集中15个最频繁角色之间的共现频率。例如,attacker, target 和 instrument的角色经常同时出现,这表明它们在语义上比其他角色更相关。在本文中,我们提出了一个基于角色的潜在信息引导(RLIG)模块,该模块由角色交互编码和角色信息融合组成。具体来说,我们设计了一个角色交互编码器,将角色添加到输入序列中,其中角色嵌入不仅可以学习角色的潜在语义信息,还可以捕捉角色之间的语义相关性。然后,通过池化和串联操作将潜在的角色嵌入合并到候选论元中,为文档级EAE提供信息指导。

针对上述两个问题,本文分别提出了一个有效的文档级EAE模型SCPRG(Span-trigger-based Contextual Pooling and Role-based Potential information Guidance),该模型包含STCP模块和RLIG模块。值得注意的是,这两个模块利用了来自预训练的语言模型的学习良好的注意力权重,引入了不超过1%的新参数,并且很容易应用于其他紧凑且可移植的事件抽取模型。此外,我们试图通过排除有争议的不可能跨度来消除噪声信息。我们的贡献总结如下:

  • 我们提出了一个基于跨度触发词的上下文池化模块,该模块自适应地选择和聚合非论元线索的信息,用相关的上下文信息增强候选论元的表示。
  • 我们提出了一个基于角色的潜在信息指导模块,该模块提供包含角色之间语义相关性的潜在角色信息指导。
  • 大量实验表明,SCPRG的性能优于之前的最新模型,在公共RAMS和WikiEvents数据集上分别提高了1.13 F1和2.64 F1。我们进一步分析了注意力权重和潜在角色表征,这表明了我们模型的可解释性。

Method

文档级时间论元抽取可以作为一个多分类问题。给出一个文档 D D D包含 N N N个单词, D = { w 1 , w 2 , … , w N } D=\{ w_1,w_2,\dots,w_N \} D={w1,w2,,wN},预定义的事件类型集合 E \mathcal{E} E,对应的论元角色集合 R e \mathcal{R}_e Re,触发词 t ∈ D t \in D tD,每一个事件 e ∈ E e \in \mathcal{E} eE。该任务的目的是预测出文档 D D D中的所有事件对 ( r , s ) (r,s) (r,s)。其中 r ∈ R e r \in \mathcal{R}_e rRe是事件 e ∈ E e \in \mathcal{E} eE的论元角色, s ⊆ D s \subseteq D sD

Role-interactive Encoder

Role Type Representation:为了捕捉角色之间的语义相关性,我们将角色类型信息添加到输入序列中,并通过多头注意力在上下文和角色之间进行交互,从而在共享的知识空间中获得上下文和角色的表示。具体来说,我们在预训练的模型中构建具有不同特殊标记的角色的潜在嵌入,其中每个角色类型都有特定的潜在表示。考虑到角色名称也包含有价值的语义信息,我们用特殊的角色类型标记包裹角色名称,并将起始特殊标记的嵌入作为角色嵌入。以角色Place为例,我们最终将其表示为[R0] Place [R0],其中[R0]是 Place 的特殊角色类型表征。

Role-interactive Encoding:对于输入文档 D = { w 1 , w 2 , … , w N } D=\{ w_1,w_2,\dots,w_N\} D={w1,w2,,wN},目标事件 e e e和其对应的论元角色集合 R e = { r 1 , r 2 , r 3 , …   } \mathcal{R}_e =\{ r_1,r_2,r_3,\dots\} Re={r1,r2,r3,},我们将其连接成一个序列:
S = [ C L S ]   [ E e ]   e   [ E e ]   [ S E P ]   w 1 …   w N   [ S E P ]   [ R 1 ]   r 1   [ R 2 ]   r 2 … [ S E P ] S =[CLS]\ [E_e]\ e\ [E_e]\ [SEP] \ w_1 \dots\ w_N \ [SEP]\ [R1] \ r_1 \ [R2]\ r_2 \dots [SEP] S=[CLS] [Ee] e [Ee] [SEP] w1 wN [SEP] [R1] r1 [R2] r2[SEP]
[ E e ] [E_e] [Ee]是事件 e e e的特殊事件token, [ R 1 ] , [ R 2 ] [R1],[R2] [R1],[R2]是角色类型 r 1 , r 2 r_1,r_2 r1,r2的特殊token。最后的 [ S E P ] [SEP] [SEP]来表示无类别。接下来,我们利用预训练的语言模型作为编码器来获得每个token的嵌入,如下所示:
H s = E n c o d e r ( S ) H^s=Encoder(S) Hs=Encoder(S)
然后我们获取 [ E e ] [E_e] [Ee]的事件嵌入 H e ∈ R 1 × d H^e \in \mathbb{R}^{1 \times d} HeR1×d,上下文表示 H w ∈ R l w × d H^w \in \mathbb{R}^{l_w \times d} HwRlw×d,角色表示 H r ∈ R l r × d H^r \in \mathbb{R}^{l_r \times d} HrRlr×d,其中 l w l_w lw是分词列表的长度, l r l_r lr是角色列表的长度。对于长度超过512的输入序列,我们利用动态窗口对整个序列进行编码,并对不同窗口的重叠token嵌入进行平均,以获得最终表示。

值得注意的是,通过角色交互编码,角色嵌入可以捕捉语义相关性并适应目标事件和上下文,从而更好地指导论元抽取。

Span-Trigger-based Contextual Pooling

Argument-impossible Spans Exclusion:为了消除无用跨度的噪声信息,我们通过排除一些有争议的不可能跨度来减少候选跨度的数量,例如在中间的跨度。有了这样的改进,我们平均减少了四分之一的候选跨度并使我们的模型关注具有有用信息的候选跨度。

Span-Trigger-based Contextual Pooling: 对于从 w i w_i wi w j w_j wj的候选跨度,大多数以前的基于跨度的方法通过该跨度内token的隐藏状态的平均池化来表示: 1 j − i + 1 ∑ k = i j h k w \frac{1}{j-i+1} \sum_{k=i}^j h_k^w ji+11k=ijhkw,其中 h k w h_k^w hkw是从 H w H^w Hw嵌入的第 k k k个token。

然而,平均池化表示忽略了其他非论元词的重要线索信息。尽管预训练编码器的自注意机制可以对token级交互进行建模,但这种全局交互是特定于事件和候选论元的。因此,我们建议选择并融合与由候选跨度和事件触发词组成的每个元组高度相关的有用上下文信息,即 ( s i : j , t ) (s_{i:j},t) (si:j,t)。我们直接利用预训练的基于Transformer的编码器的注意力头进行基于跨度触发词的上下文池化,这将从预训练的语言模型中转移学习良好的依赖关系,而无需从头开始学习新的注意力层。

具体来说,我们在预训练的语言模型中使用来自最后一个Transformer的上下文的token级注意力头 A w ∈ R H × l w × l w A^w∈\mathbb{R}^{H \times l_w \times l_w} AwRH×lw×lw。然后,我们可以通过平均池化获得从 w i w_i wi w j w_j wj的每个候选跨度的上下文注意力 A i : j C ∈ R l w A^C_{i:j}∈\mathbb{R}^{l_w} Ai:jCRlw
A i : j C = 1 H ( j − i + 1 ) ∑ h = 1 H ∑ m = i j A h , m w A_{i:j}^C=\frac{1}{H(j-i+1)} \sum_{h=1}^H \sum_{m=i}^j A_{h,m}^w Ai:jC=H(ji+1)1h=1Hm=ijAh,mw
然后,对于跨度触发词对 ( s i : j , t ) (s_{i:j},t) (si:j,t),我们通过乘以注意力和归一化来获得对候选跨度重要的上下文线索信息 c s i : j ∈ R d c^{s_{i:j}}∈\mathbb{R}^d csi:jRd
p i : j c = s o f t m a x ( A i : j C ⋅ A t C ) , c s i : j = H w p i : j c p_{i:j}^c=softmax(A_{i:j}^C \cdot A_t^C),\\ c^{s_{i:j}}=H^w p_{i:j}^c pi:jc=softmax(Ai:jCAtC),csi:j=Hwpi:jc
A t c ∈ R l w A_t^c \in \mathbb{R}^{l_w} AtcRlw是触发词 t t t的上下文注意力, p i : j c ∈ R l w p_{i:j}^c \in \mathbb{R}^{l_w} pi:jcRlw是上下文的计算注意力权重向量。

Role-based Latent Information Guidance

RLIG模块通过角色交互编码构建潜在角色嵌入,并通过池化操作进行角色信息融合,为潜在角色信息提供有价值的指导。

Role Information Fusion:为了使每个候选论点都能得到有用的角色信息指导,我们修改了基于跨度触发的上下文池方法,以自适应地选择角色信息。通过上下文池化得到 s i : j s_{i:j} si:j的潜在角色信息 r s i : j ∈ R d r^{s_{i:j}}\in \mathbb{R}^d rsi:jRd
A i : j R = 1 H ( j − i + 1 ) ∑ h = 1 H ∑ m = i j A h , m r , p i : j r = s o f t m a x ( A i : j R ⋅ A t R ) , r s i : j = H r p i : j r A_{i:j}^R=\frac{1}{H(j-i+1)} \sum_{h=1}^H \sum_{m=i}^j A_{h,m}^r,\\ p_{i:j}^r=softmax(A_{i:j}^R \cdot A_t^R),\\ r^{s_{i:j}}=H^r p_{i:j}^r Ai:jR=H(ji+1)1h=1Hm=ijAh,mr,pi:jr=softmax(Ai:jRAtR),rsi:j=Hrpi:jr
A r ∈ R H × l w × l r A^r \in \mathbb{R}^{H \times l_w \times l_r} ArRH×lw×lr是来自预训练语言模型中最后一个transformer层的角色的注意力。 A i : j R ∈ R l r A^R_{i:j} \in \mathbb{R}^{l_r} Ai:jRRlr是每个候选跨度的角色注意力, A t R ∈ R l r A^R_t \in \mathbb{R}^{l_r} AtRRlr是触发词 t t t的角色注意力。 p i : j r ∈ R l r p^r_{i:j} \in \mathbb{R}^{l_r} pi:jrRlr为角色的计算注意力权重向量。

对于候选跨度 s i : j s_{i:j} si:j,我们如下融合平均池化表示、上下文线索信息 c s i : j c^{s_{i:j}} csi:j和潜在角色信息 r s i : j r^{s_{i:j}} rsi:j
s i : j = tanh ⁡ ( W 1 [ 1 j − i + 1 ∑ k = i j h k w ; c s i : j ; r s i : j ] ) s_{i:j}=\tanh (W_1 [\frac{1}{j-i+1} \sum_{k=i}^{j} h_k^w;c^{s_{i:j}};r^{s_{i:j}}]) si:j=tanh(W1[ji+11k=ijhkw;csi:j;rsi:j])
W 1 ∈ R 3 d × d W_1 \in \mathbb{R}^{3d \times d} W1R3d×d是可学习参数。

Classification Module

Boundary Loss:由于我们抽取跨度级别的论元,其边界可能是模糊的,因此我们使用全连接神经网络构建开始和结束表示,以增强候选跨度的表示: H s t a r t = W s t a r t H s H^{start}=W^{start}H^{s} Hstart=WstartHs H e n d = W e n d H s H^{end}=W^{end}H^s Hend=WendHs,其中 H s H^s Hs是输入序列 S S S的隐藏表示。在此基础上,我们通过将上下文和角色信息与基于跨度触发词的上下文池化集成来增强开始和结束表示,如下所示:
z i : j s t a r t = H s t a r t p i : j , z i : j e n d = H e n d p i : j , h i : j s t a r t = tanh ⁡ ( W 2 [ h i s t a r t ; z i : j s t a r t ] ) , h i : j e n d = tanh ⁡ ( W 3 [ h j e n d ; z i : j e n d ] ) z_{i:j}^{start}=H^{start}p_{i:j},\\ z_{i:j}^{end}=H^{end}p_{i:j},\\ h_{i:j}^{start}=\tanh(W_2[h_i^{start};z_{i:j}^{start}]),\\ h_{i:j}^end=\tanh(W_3[h_j^{end};z_{i:j}^{end}]) zi:jstart=Hstartpi:j,zi:jend=Hendpi:j,hi:jstart=tanh(W2[histart;zi:jstart]),hi:jend=tanh(W3[hjend;zi:jend])
h i s t a r t , h j e n d h_i^{start},h_j^{end} histart,hjend H s t a r t , H e n d H^{start},H^{end} Hstart,Hend的第 i , j i,j i,j个向量。 W 2 , W 3 ∈ R 2 d × d W_2,W_3 \in \mathbb{R}^{2d \times d} W2,W3R2d×d是可学习参数,我们获得最终的候选片段表征 s ~ i : j \tilde{s}_{i:j} s~i:j s ~ i : j = W s [ h i : j s t a r t ; s i : j ; h i : j e n d ] \tilde{s}_{i:j} = W^s[h_{i:j}^{start};s_{i:j};h_{i:j}^{end}] s~i:j=Ws[hi:jstart;si:j;hi:jend] W s ∈ R 3 d × d W^s \in \mathbb{R}^{3d \times d} WsR3d×d是可学习参数。

最终的边界损失被定义去检测开始和结束位置:
L b = ∑ i = 1 ∣ D ∣ [ y i s log ⁡ P i s + ( 1 − y i s ) log ⁡ ( 1 − P i s ) + y i e log ⁡ P i e + ( 1 − y i e ) log ⁡ ( 1 − P i e ) ] \mathcal{L}_b=\sum_{i=1}^{|\mathcal{D}|}[y_i^s \log P_i^s + (1-y_i^s) \log (1-P_i^s)+y_i^e \log P_i^e + (1-y_i^e) \log (1-P_i^e)] Lb=i=1D[yislogPis+(1yis)log(1Pis)+yielogPie+(1yie)log(1Pie)]
其中 y i s y^s_i yis y i e y^e_i yie表示标准标注,并且 P i s = s i g m o i d ( W 4 h i s t a r t ) P^s_i=sigmoid(W_4h^{start}_i) Pissigmoid(W4histart) P i s = s i g m o i d ( W 5 h i e n d ) P^s_i=sigmoid(W_5h^{end}_i) Pissigmoid(W5hiend)是单词 w i w_i wi被预测为正确论元跨度的第一个或最后一个单词的概率。

Classification Loss:对于事件 e e e中的候选跨度 s i : j s_{i:j} si:j,我们将跨度表示 s ~ i : j \tilde{s}_{i:j} s~i:j、触发词表示 h t h_t ht、它们的绝对差 ∣ h t − s ~ i : j ∣ |h_t−\tilde{s}_{i:j}| hts~i:j、逐元素乘法 h t ⊙ s ~ i : j h_t \odot \tilde{s}_{i:j} hts~i:j,事件类型嵌入 H e H^e He和跨度长度嵌入 E l e n E_{len} Elen连接起来,并通过前馈网络获得候选跨度 s i : j s_{i:j} si:j的预测 P ( r i : j ) P(r_{i:j}) P(ri:j)
I i : j = [ s ~ i : j ; h t ; ∣ h t − s ~ i : j ∣ ; h t ⊙ s ~ i : j ; H e ; E l e n ] , P ( r i : j ) = F F N ( I i : j ) I_{i:j}=[\tilde{s}_{i:j};h_t;|h_t - \tilde{s}_{i:j}|;h_t \odot \tilde{s}_{i:j};H^e;E_{len}],\\ P(r_{i:j})=FFN(I_{i:j}) Ii:j=[s~i:j;ht;hts~i:j;hts~i:j;He;Elen],P(ri:j)=FFN(Ii:j)
考虑到大多数候选论点都是负样本和不平衡的角色分布,我们采用focal loss来使训练过程更多地关注有用的正样本,其中 α α α γ γ γ是超参数。
L c = − ∑ i = 1 ∣ D ∣ ∑ j = 1 ∣ D ∣ α [ 1 − P ( r i : j = y i : j ) ] γ ⋅ log ⁡ P ( r i : j = y i : j ) \mathcal{L}_c=-\sum_{i=1}^{|\mathcal{D}|} \sum_{j=1}^{|\mathcal{D}|} \alpha [1-P(r_{i:j}=y_{i:j})]^{\gamma} \cdot \log P(r_{i:j}=y_{i:j}) Lc=i=1Dj=1Dα[1P(ri:j=yi:j)]γlogP(ri:j=yi:j)
最后,训练损失被定义如下:
L = L c + λ L b \mathcal{L}=\mathcal{L}_c + \lambda \mathcal{L}_b L=Lc+λLb

Experiments






Conclusion

在本文中,我们提出了一种新的用于文档级EAE的SCPRG框架,该框架主要由两个紧凑、有效且可移植的模块组成。具体来说,我们的STCP自适应地聚合了非论元线索词的信息,RLIG提供了包含角色之间语义相关性的潜在角色信息指导。实验结果表明,SCPRG的性能优于现有最先进的EAE模型和进一步的分析表明,我们的方法既有效又可解释。对于未来的工作,我们希望将SCPRG应用于更多的信息抽取任务,如关系抽取和多语言抽取,其中上下文信息发挥着重要作用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux中的静态库和共享库

库:库是二进制文件,是源代码文件的另一种表现形式,是加了密的源代码;是一些功能相近或者相似函数的集合体 库的使用: 头文件--包含了库函数的声明 库文件--包含了库函数的代码实现 注意:库不能单独使用…

应用智能家居领域中的低功耗蓝牙模块

智能家居(smart home, home automation)是以住宅为平台,利用综合布线技术、网络通信技术、 安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安…

某零售公司竞聘上岗项目成功案例纪实

——建立科学选人标准、评价方法,实现人岗匹配 【客户行业】零售业;销售行业 【问题类型】竞聘上岗 【客户背景】 半月(化名)有限公司成立于2008年,以母婴零售为基础,始终坚持以客户为导向,…

Stable diffusion使用和操作流程

Stable Diffusion是一个文本到图像的潜在扩散模型,由CompVis、Stability AI和LAION的研究人员和工程师创建。它使用来自LAION-5B数据库子集的512x512图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型,所以我们也可以在自己的机器上运行它…

第1章 简单使用 Linux

第1章 简单使用 Linux 1.1 Linux 的组成 1.2 远程连接 首先以 root 用户登录到 Linux 系统,然后在 Terminal 终端上输入 ip add 命令,来查看 IP 地址。 上图中的 192.168.72.128 就是 IP 地址。 然后打开 XShell 远程连接工具。 然后在命令提示符下输…

C++ Webserver从零开始:基础知识(七)——多进程编程

前言 在学习操作系统时,我们知道现代计算机往往都是多进程多线程的,多进程和多线程技术能大大提高了CPU的利用率,因此在web服务器的设计中,不可避免地要涉及到多进程多线程技术。 这一章将简要讲解web服务器中的多进程编程&#x…

养猫家庭必备猫用空气净化器哪款牌子好?宠物空气净化器值得推荐的品牌

养宠家庭的朋友们都知道,猫咪的浮毛无处不在,每天都会在空气中飘荡。无论是沙发、地板还是衣服,都成了浮毛的重灾区。这些浮毛不仅难以清理,而且对于呼吸道敏感的人来说,可能会引发过敏反应。为了除去猫毛,…

Zoho Mail 2023:回顾过去,展望未来:不断进化的企业级邮箱解决方案

当我们告别又一个非凡的一年时,我们想回顾一下Zoho Mail如何融合传统与创新。我们迎来了成立15周年,这是一个由客户、合作伙伴和我们的敬业团队共同庆祝的里程碑。与我们一起回顾这段旅程,探索定义Zoho Mail历史篇章的敏捷性、精确性和创新性…

2024美赛预测算法 | 回归预测 | Matlab基于WOA-LSSVM鲸鱼算法优化最小二乘支持向量机的数据多输入单输出回归预测

2024美赛预测算法 | 回归预测 | Matlab基于WOA-LSSVM鲸鱼算法优化最小二乘支持向量机的数据多输入单输出回归预测 目录 2024美赛预测算法 | 回归预测 | Matlab基于WOA-LSSVM鲸鱼算法优化最小二乘支持向量机的数据多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果…

vit细粒度图像分类(八)SIM-Trans学习笔记

1.摘要 细粒度视觉分类(FGVC)旨在从相似的从属类别中识别物体,这对人类准确的自动识别需求具有挑战性和实用性。大多数FGVC方法侧重于判别区域挖掘的注意机制研究,而忽略了它们之间的相互依赖关系和组成的整体对象结构,而这些对模型的判别信…

防御保护---防火墙双机热备直路部署(上下三层接口)

防御保护---防火墙双机热备直路部署(上下三层接口) 一、根据网段划分配置IP地址和安全区域二、配置动态路由OSPF三、配置双机热备四、测试:4.1 测试一:查看状态和路由器路由表(双机热备)前后对比4.2 测试二…

2024年美赛数学建模B题思路分析 - 搜索潜水器

# 1 赛题 问题B:搜索潜水器 总部位于希腊的小型海上巡航潜艇(MCMS)公司,制造能够将人类运送到海洋最深处的潜水器。潜水器被移动到该位置,并不受主船的束缚。MCMS现在希望用他们的潜水器带游客在爱奥尼亚海底探险&…

2024年美赛美国大学生数学建模竞赛BCEF题思路解析+代码+论文

下文包含:2024年美国大学生数学建模竞赛(美赛)A- F题思路解析、选题建议、代码可视化及如何准备数学建模竞赛(2号发) 将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料&#x…

配网故障预警定位装置_故障预警_故障定位_深圳恒峰

随着社会经济的快速发展,电力需求不断增长,电力系统的安全稳定运行对于国家经济发展和民生改善具有重要意义。然而,电力系统的复杂性和不确定性使得设备故障、线路跳闸等问题时有发生,给电力系统的正常运行带来极大隐患。为了解决…

前后端分离,RSA加密传输方案

1.原理 RSA是一种非对称加密算法。通过生成密钥对,用公钥加密,用私钥解密。对于前后端分离的项目,让前端获取到公钥对敏感数据加密,发送到后端,后端用私钥对加密后的数据进行解密即可。 2.实现 RSA工具类&#xff1…

ffmpeg合成mp3音频,解决音频属性不一致问题

1. 需求,amr转成mp3,再将此mp3和其他mp3合成 2. 问题:拼接后的第一段音频可以播放,第二段自动跳过,无法播放。 3. 解决: 3.1 查看各文件属性 # 查看amr转为mp3文件的属性:ffprobe 文件名&am…

网络空间测绘在安全领域的应用(上)

近年来,网络空间测绘已经跻身为网络通信技术、网络空间安全、地理学等多学科融合的前沿领域。 该领域聚焦于构建网络空间信息的“全息地图”,致力于建立面向全球网络的实时观测、准确采样、映射和预测的强大基础设施。 通过采用网络探测、数据采集、信…

少儿编程 中国电子学会图形化编程2022年6月等级考试Scratch三级真题解析(选择题、判断题)

1.点击绿旗,舞台上的角色会说出? A:2022年5月1日 B:1日5月2022年 C:2022年05月01日 D:05月01日2022年 2.观察规律,请问橙色方块应填写的数字是? A:4 B:5…

spring-data-redis自定义实现看门狗机制

文章目录 前言redission分布式锁看门狗机制简单流程图 spring-data-redis实现看门狗机制指南开始引入依赖配置redis连接以及基础配置实现redis分布式锁工具类直接失败和锁重试机制实现 效果图展示 前言 项目中使用redis分布式锁解决了点赞和楼层排序得问题,所以这里…

Java的Mysql使用

Java的Mysql使用 说明 通过Java的方式连接Mysql中的数据库,并对数据库中的数据进行增加 查询操作 ​ 使用Mysql所提供的第三方库中的类(Mysql的API) 对其进行操作 ​ 将Mysql Jar包添加到lib目录后,就可以使用其中的类对其Mysql数据库进行操作 Mysq…