【论文阅读笔记】COFFEE: A Contrastive Oracle-Free Framework for Event Extraction

news2025/1/20 14:59:00

论文题目:COFFEE: A Contrastive Oracle-Free Framework for Event Extraction

论文来源:

论文链接:https://arxiv.org/pdf/2303.14452.pdf

代码链接: 

0 摘要

事件抽取是一项复杂的信息抽取任务,它涉及到从非结构化文本中提取事件。先前的基于分类的方法需要全面的实体注释来进行联合训练,而更新的基于生成的方法依赖于包含oracle信息的启发式模板,如事件类型,这在现实场景中通常是不可用的。在本研究中,我们考虑了一个更现实的任务设置,即Oracle-Free Event Extraction(OFEE)任务,其中只给出输入上下文,没有任何oracle信息,包括事件类型、事件本体和触发词。为了解决这个任务,我们提出了一个新的框架,称为COFFEE,它仅根据文档上下文提取事件,而不引用任何oracle信息。特别地,在COFFEE中引入了一个对比选择模型来纠正生成的触发词和处理多事件实例。正如在公共事件抽取基准ACE05上评估的那样,所提出的COFFEE的性能优于最先进的方法。

1 引言

事件抽取任务旨在从给定的文本上下文中识别事件及其论元。通常,该任务可以分解为四个子任务:

  1. 检测最直接描述事件的触发词
  2. 事件类型分类,用于定义其特定于事件的属性
  3. 论元识别
  4. 论元分类,根据每个事件类型的事件结构将论元实体映射到相应的角色属性,即事件schema

例如,图1显示了一个包含两个事件的事件抽取示例的句子:一个由触发词 "went"触发的transport事件和一个由触发词 "killed"触发的attack事件,其中transport和attack是两种事件类型。

许多先前的研究将事件抽取定义为一个token级的分类问题,它使用基于定制设计的神经网络的序列标记模型来抽取事件触发词和论元。然而,这种方法不能利用丰富的标签语义,因为目标输出用类数表示。近年来,随着生成式预训练语言模型的发展,几种基于生成的方法已被应用于解决该任务,将事件抽取任务转换为条件生成任务。通过利用生成的自回归生成的预训练的语言模型(例如BART-Gen,DEGREE)和一些手动提示,成为可能利用标签的语义和同时进行实体提取自回归的方式和分类。

虽然报告了令人印象深刻的结果,但我们发现目前基于生成的事件抽取方法有两个主要局限

首先,这些方法大多依赖于启发式模板和广泛的人类知识工程

根据DEGREE进行的实验,模板中的轻微变化可能会导致显著的性能变化,从而提出了使用次优模板的问题。

其次,这些基于生成的方法仍然依赖于某些oracle信息,如事件类型和事件模式,这需要大量的手动注释。

例如,DEGREE模型的推理过程需要为每个示例提供手动设计特定于事件的模板,并对所有事件类型进行迭代。另一方面,TEXT2EVENT也使用手工设计的模板来约束生成,这仍然需要给出事件模式。然而,一个真正的推理系统自动获取这些oracle信息(例如,上面的示例中的事件类型和事件模式)是不现实的。因此,在本文中,我们解决了只给出输入上下文的Oracle-Free事件抽取(OFEE)任务。

我们提出了一种新的Contrastive Oracle-Free Framework for Event Extraction(COFFEE),它可以在不使用任何oracle信息的情况下处理事件抽取任务。COFFEE由两部分组成,即一个执行事件抽取的生成器和一个旨在细化生成的结果的选择器

  • 生成器生成触发词候选词和事件论元,其中共享生成器允许这些子任务之间的跨任务知识共享。
  • 选择器学习重新排序和选择候选触发词,以获得更准确的事件触发词

句子级事件抽取的一个挑战是,一个句子可能包含不同类型的事件记录(例如,图1中的示例),而特定的事件模板可以帮助模型以有针对性的方式识别和抽取事件。先前应对这一挑战的方法需要多标签标记、事件特定模板或多回合生成技术。相比之下,我们提出的模型可以同时生成和选择多个事件候选者,包括事件触发词和其相关类型,从而有效地解决上述挑战。

本工作的贡献如下:

  • 我们强调了当前事件抽取任务设置的挑战,并引入了该任务的无oracle设置,该设置要求模型在不使用上下文之外的oracle信息的情况下生成结构事件。
  • 我们提出COFFEE,一种新的对比无oracle事件抽取框架,它从上下文生成结构事件信息,而不使用任何oracle信息
  • 我们在无oracle设置下对自动内容提取(ACE)语料库进行了实验,结果表明基于模板的方法严重依赖于额外的oracle信息。在无oracle设置下,我们的COFFEE模型的经验优于其他方法。

2 相关工作

2.1 事件抽取

早期的事件抽取研究主要依赖于基于规则的方法,包括手写模式来识别文本中的事件触发词和论元。随着各种基于特征的分类模型的采用,监督机器学习技术变得流行起来。然而,由于手工特征工程和对大型注释数据集的需要,这些方法有局限性。然后,研究人员转向深度学习方法,利用卷积神经网络(CNNs),循环神经网络(RNNs)和Tree-LSTM进行事件抽取,自动学习相关特征并提高性能。

预训练语言模型的引入彻底改变了事件抽取。对模型进行微调后,在各种基准测试中取得了良好的性能。模型捕获了深层的上下文信息,并受益于知识转移,通过有限的注释数据提高了性能。一些研究将事件抽取定义为多回合问题回答任务,而其他人将其作为序列生成任务。尽管这些方法很有效,但这些方法严重依赖于手动设计的提示和模板,除了TEXT2EVENT,它完全依赖于上下文信息。在本研究中,我们提出了一个无Oracle的事件抽取任务,重点是通过无模板生成的事件抽取。

2.2 Post-Generation Ranking

Post-generation re-ranking通常应用于两个阶段系统,即生成和排序,通过训练一个额外的重新排序模块,对第一阶段的输出进行重新评分。该技术已广泛应用于神经翻译和总结。例如,使用噪声通道建模方法重新评分并选择最佳hypotheses,以提高翻译质量。Zhong等人(2020)将摘要制定为文本匹配,并根据相似度评分对摘要候选项进行重新排序。Liu和Liu(2021)引入了一个额外的得分模型,通过对比训练来预测生成的摘要的得分。这两种方法都利用了基于边际的排名损失,用订单初始化候选对象。对于事件触发词的选择,我们假设beam score不是一个可靠的指标,因此可以平等地对待候选者。Su等人(2021年)使用hinge损失的对比性re-ranking模块来选择用于表到文本生成的原型。

据我们所知,我们的工作是第一个专注于使用re-ranking来增强基于无oracle文生成的事件抽取模型。

3 任务定义

传统上,事件抽取任务包含以下术语:

  • 输入上下文:由多个句子组成的输入文档,其中描述了一个或多个事件。设 t 表示给定的输入上下文,它是一个token \left \{ t_{1},t_{2},...,t_{n} \right \}的序列。
  • 触发词:清楚地表示事件发生的关键词(例如,图1中的单词“went”和“killed”)。
  • 事件类型:事件类型定义了特定事件的语义结构。请注意,一个触发词可能与多个不同的事件类型相关联。(例如,图1中的transport和attack)
  • 事件论元:论元根据它们与触发词的关系来识别事件中涉及的实体以及这些实体的角色。(例如,“home”是attack事件的角色为位置的论元和transport事件的角色为目标的论元)

给定输入上下文,事件抽取任务的目标是识别和分类触发词以及与事件关联的论元。论元角色是特定于事件的,在现实场景中,事件论元提取期间不应该提供真实的触发词或事件类型信息。然而,正如我们前面讨论的,大多数现有的基于生成的方法通过提供一些手动提示(例如,触发词或事件类型)来解决这个任务,以减少这个任务的难度。为了提供给这个任务一个更实际的场景,我们重点关注oracle-free事件抽取(OFEE)任务,在推理期间只提供输入上下文。在这个任务中,我们的目标是直接推断事件类型和论元,而不依赖于任何预定义的触发词或类型。这项任务比传统的事件抽取更具挑战性。

4 方法

为了解决OFEE任务,我们提出了COFFEE,这是一个新的对比框架,不使用任何OFEE信息。

如图2所示,我们的COFFEE框架包含两个主要组件,即生成器和选择器。我们的框架中的生成器可以是任何基于解码器的transformer模型。之前的研究(Cohen和Beck,2019)表明,beam search并不总是产生最好的结果,生成的candidates的分数可能不是事件触发词的良好排名指标。因此,我们的COFFEE训练了一个选择器,这是一个基于编码器的排名模型(第3.2节),以对生成的候选触发词进行重新排序。COFFEE可以分为两个阶段,即触发词预测和论元预测。生成器和选择器都在触发词预测阶段进行了微调,生成器将在论元抽取阶段被共享并进一步微调。.特别地,生成器将被训练为在给定输入上下文时生成触发词的候选触发词,然后使用生成器生成的触发器候选触发词来训练选择器,以便进一步重新排序。在论元预测阶段,选择重新排序后的顶部触发词,并转发到经过训练的生成器中,生成事件论元。我们建议的生成器和选择器的细节如下。

4.1 Generator

COFFEE的生成器G被训练用于触发词预测和论元预测。本研究采用T5-base模型作为生成器的骨干模型。对于触发词预测,生成器将上下文作为输入,x^{trg}=t=\left \{ t_{1},t_{2},...,t_{n} \right \},并为上下文中的第 i 个事件输出触发词和事件类型y_{i}^{trg}如果上下文中涉及多个事件,则将输入相同的上下文,但目标输出是不同的候选事件。生成器被训练以了解对于同一上下文可能有多个目标输出。

第i个事件类型的论元预测,触发词与输入上下文x_{i}^{arg}=\left [ t:y_{i}^{trg} \right ]=\left \{ t_{1},t_{2},...,t_{n},y_{i}^{trg} \right \}ground truth输出是一个字符串的实体论元角色y_{i}^{arg}=\left \{ a_{i}^{1},a_{i}^{2},...,a_{i}^{m} \right \},其中a_{i}^{j}是在第i个目标事件里的第j个角色类型的候选论元。与X-GEAR一致,我们在要生成的目标实体前后插入占位符,如图2的左半部分所示。为了解决单个角色中多个论元的问题,我们使用分隔符[and]分隔占位符对中的实体。

在推理阶段,我们应用beam search为每个上下文生成一个触发词输出列表,以及它们对应的beam分数,稍后将用于重新排序。换句话说,给定上下文t,生成器输出一个触发词列表C=\left \{ \hat{y}_{1}^{trg}, \hat{y}_{2}^{trg},..., \hat{y}_{l}^{trg} \right \}和一个beam得分\left \{ b_{1},b_{2},...,b_{l} \right \},其中 l 是生成的候选对象的数量,\hat{y}_{i}^{trg}代表在上下文t中的事件的预测的候选触发词。选择器进一步细化触发词候选项,并获得最终的触发词预测。

4.2 Selector

选择器模型 f 需要生成的触发词候选C和原始上下文t作为输入,预测每个候选\hat{y}_{i}^{trg}的排名得分。在训练期间,ground truth触发事件y_{i}^{trg}用作正样本,负样本是其他不正确的候选样本。选择器 f 相反地学习将正样本和负样本的嵌入分开。选择器将根据每个候选样本之间的成对相似性对候选样本进行重新排序。而不是使用余弦相似度等直接度量值,相似度得分被定义为f\left ( t,\hat{y}_{i}^{trg} \right )。上下文和候选项的连接允许模型捕获上下文和触发词候选项之间的语义相关性。我们选择最终的|K|触发词\tilde{K}=\left \{ \tilde{y}_{1}^{trg},\tilde{y}_{2}^{trg},...,\tilde{y}_{|K|}^{trg} \right \},它符合\forall \tilde{y}_{i}^{trg}

其中thr和α分别是超参数,指定过滤触发词的阈值和beam得分与排名得分相结合的权重;σ表示softmax函数;bi表示候选人的beam得分。

采用RoBERTa模型构建触发词候选选择器。分数f\left ( t,\hat{y}_{i}^{trg} \right )是使用一个线性层计算的,该层接受RoBERT a\left ( \left [ t:\hat{y}_{i}^{trg} \right ] \right )的平均嵌入作为输入,并输出一个浮点数。

选择器被训练为最小化hinge损失,定义为

其中\hat{y}_{j}^{trg}\in C,\hat{y}_{j}^{trg}\notin y^{trg}和k表示从C采样的负样本的数量。通过考虑上下文和生成的候选样本之间的隐式相关性,选择器增强了触发词提取,并对论元提取的性能产生积极影响。

通过在训练集上训练f,并在验证集集上对超参数进行微调,就可以推断出测试集中最终预测的触发事件候选项K。由选择器选择的最后一个K触发词\tilde{y}_{i}^{trg},然后与上下文连接起来进行论元提取。具体来说,对于第i个预测事件,给定输入\tilde{x}_{i}^{arg}=\left [ t:\tilde{y}_{i}^{trg} \right ]=\left \{ t_{1},t_{2},...,t_{n},\tilde{y}_{i}^{trg} \right \},生成器G将生成\tilde{y}_{i}^{arg}=\left \{ \tilde{a}_{i}^{1}, \tilde{a}_{i}^{2},..., \tilde{a}_{i}^{m} \right \}

5 实验

5.1 数据集

在这项工作中,我们基于公共事件抽取基准ACE05来评估我们的COFFEE,它包括599个英语文档、33种事件类型和22个论元角色。此基准测试的详细分割和统计数据如图1所示

5.2 评价指标

根据既往研究,触发词识别、事件类型分类、论元识别和论元角色分类任务的评估采用F1值。为了使触发词分类预测被认为是正确的,必须准确地预测触发词和事件类型。要正确识别论元,就必须准确预测事件类型和论元实体。正确的论元角色分类同时需要正确的论元识别和正确的角色类型预测。具体来说,当\left ( \tilde{a},\tilde{r},\tilde{e} \right )=\left ( a,r,e \right )时,预测事件类型\tilde{e}和角色类型\tilde{r}的论元\tilde{a}被认为是正确的。

5.3 baselines

为了验证我们提出的方法的有效性,我们将我们的COFFEE与以下基线进行了比较:

  • OneIE(Lin et al.,2020)是一个联合神经模型,它使用动态关系图同时提取实体和关系。
  • Text2Event(Lu等人,2021)是一个constrained解码的序列到结构控制的生成的事件抽取模型。它侧重于结构化的生成,并可以直接生成事件schema来形成事件记录。
  • BART-Gen(Li et al.,2021)设计用于文档级事件抽取,可以处理长距离依赖问题和co-reference问题。constrained生成应用于需要特定于事件的模板的论元抽取。
  • DEGREE(Hsu et al.,2022)是一种生成式事件抽取方法,高度依赖于设计的模板。这种方法提供了流水线实现和端到端方法。
  • TANL(Paolini等人,2021年)是一个将目标输出嵌入到上下文句子中的模型,该模型通过所谓的增强翻译来实现对实体提及的抽取。

6 结果

6.1 OFEE性能

如第4.3节所述,几种基线方法采用了不同的模板格式。为了比较我们的COFFEE框架与这些方法在OFEE设置下的性能,我们对这些基线方法实现了以下调整:

  • Text2Event依赖于事件模式的复杂受限解码机制。对于oracle-free的设置,我们使用T5模型的默认解码来生成结果。
  • BART-Gen采用了一种受约束的生成机制,因此需要使用模板。我们删除了模板和约束解码,从而使模型能够发挥作用。由于不同的预处理方法导致的实现错误,在我们的研究中没有报道BART-Gen的触发词抽取性能,这使我们无法将该方法应用于ACE-05E+数据集。因此,在这个实例中,我们依赖于地面真实触发词来提取论元。
  • DEGREE模型被设计为在训练和推理阶段生成“无效”实例,其中特定于事件的知识与上下文相结合,即使在上下文中没有提到这样的事件。我们消除了这些特定于事件的模板,只留下上下文句子作为输入。

如表2所示,我们比较了4.1中描述的四个子任务的F1值,其中包括触发词识别、触发词分类、论元识别和论元分类。我们观察到以下情况:

  • 首先,必须强调的是,oracle-free设置代表了一个更具挑战性的场景。在删除所有oracle信息后,依赖于模板的基于生成的基线在两个数据集上都表现出不同程度的性能下降。DEGREE无法过滤出“invalid”事件,导致触发词分类精度几乎为零。这表明,在模板中泄露信息有助于提高这些模型的性能。
  • 我们提出的COFFEE超过了基于分类的方法OneIE的方法和基于生成的方法Text2Event、BARTGen和DEGREE。这表明,我们的COFFEE可以有效地利用上下文来提取事件。
  • 与TANL相比,我们的COFFEE在触发词提取方面取得了竞争性的结果。TANL更高性能的一个潜在解释是模型设置的差异。具体来说,我们使用一种基于阈值的方法来确定每个上下文中的事件数量。虽然这种方法可能会引入更多的错误,但我们的模型具有鲁棒的论元提取能力,并在使用这些提取的触发词的论元提取方面获得了优越的性能。此外,我们的框架可以与其他方法集成,以进一步提高提取性能。我们使用从TANL中提取的触发词进行了额外的实验来评估论元提取结果,并发现我们的生成器优于TANL。这些发现证实了共享生成器的有效性。

6.2 消融研究

我们对阈值和权重论元进行了消融研究,以证明我们的选择器的有效性以及COFFEE中阈值和权重论元的影响。

该阈值可作为候选选择过程的基准。随着阈值的增加,选择的候选对象更少,但准确率更高。相反,过高的阈值可能会过滤掉一些正确的候选项,从而导致性能下降。图3显示,最优阈值为0.2,这导致了系统的性能最好。

权重表示排名得分和生成得分的组合比例。当权重设置为0时,排名分数完全被忽略,生成分数成为候选人选择的唯一因素。相比之下,权重为1意味着排名分数被充分考虑,而生成分数则被忽略了。如图4所示,在一个固定的阈值下,存在一个最优权重(α = 0.4),从而产生最佳的提取性能。随着权重的增加,F1得分的初始提高,表明排名得分可以有效地重新细化波束搜索的结果。然而,随着权重的持续增加,排名得分本身表现出显著的变化,导致由softmax函数形成的概率出现相应的波动。随着最终的概率越来越依赖于排序者的概率,在相同的阈值下选择的候选对象就会更少,从而导致性能下降。

6.3 定性案例分析

为了证明我们的模型选择候选事件的能力,我们分析了从测试集中选择的两个实例的结果。为了提供一个比较的基线,我们选择了没有排名的COFFEE和TANL,因为它的高性能。如表3所示,我们提出的模型成功地提取了基线没有检测到的缺失事件,并且重新排序机制使模型能够选择更准确的候选事件。

具体来说,只有COFFEE成功地预测了环境中的所有事件。在示例1中,TANL和没有排名的COFFEE都未能提取出E1,这是由“pay”触发的。这表明,基线在识别复杂的事件触发词方面可能存在困难。在这种情况下,没有一个具体的金额要支付,而是提到了成本。

在示例2中,TANL未能提取E2,这是由“becoming”触发的,而没有排名的COFFEE未能提取E1。这突出了基线无法一致地识别事件及其相应的论元。相比之下,我们的COFFEE成功地识别了事件并提取了目标论元,展示了其优越的性能。

比较有排名和没有排名的COFFEE,我们可以得出结论,在选择器中重新排序是至关重要的。在这两个例子中,没有排名的COFFEE都未能检测到所有事件。这是因为即使两个候选人都是正确的目标,候选人的光束搜索得分也有显著差异。重新排序可以增加第二个候选项的概率,从而在所选择的阈值下被选择。这表明,在选择器阶段集成一个排序器不仅可以提高事件检测的准确性,而且还可以更好地适应各种实例

总的来说,这些例子展示了我们的选择器所提供的事件抽取方面的改进。它允许框架为多事件实例重新排序和选择正确的事件候选,优于基线,并建立我们的模型作为更有效和可靠的解决方案。

7 结论

在这项工作中,我们研究了事件抽取任务的一个更现实的设置,即Oracle-free的事件抽取,其中事件推理不需要上下文以外的额外信息。我们提出了一个基于生成的事件抽取框架,称为COFFEE。

  • 我们的COFFEE引入了一个选择器,通过重新排序和自动确定上下文中的事件数量来提高触发词提取性能。
  • 我们还研究了当前基于生成的模型如何依赖于额外的知识,包括设计的事件特定模板、事件触发词关键字和事件描述。
  • 结果表明,这种依赖于模板和人工设计的触发词集是不必要的。直接应用的纯Oracle-free模型可以很好地执行一般事件抽取。

在未来,我们将研究将句子级事件抽取扩展到文档级别,并探索零样本设置,以满足看不见的事件出现的情况。

8 限制

在本节中,我们将讨论我们研究的局限性,在解释结果和在未来的研究中建立我们的工作基础时应该考虑到这一点。

  1. 我们的方法主要关注英语文本,这可能限制了它对其他语言的适用性。未来的工作可以探索该模型对多语言或跨语言事件抽取任务的适应性。
  2. 在本研究中,我们集中于句子级事件抽取,它不考虑文档上下文信息。未来的研究可以探讨文档级的抽取和跨句关系的结合。
  3. 我们研究中使用的训练数据集相对较小,可能不包括所有可能的事件类型或场景。利用更大、更多样化的数据集可能会提高模型的性能和通用性。
  4. 我们引入了一个排序模块来改进触发词的生成;然而,由于双向推理,该框架很容易发生错误传播。如果在第一阶段中没有识别出触发词,则无法提取这些论元。

总之,尽管我们的研究产生了有希望的结果,但我们认识到上述的限制。在未来的工作中解决这些局限性可能导致事件抽取性能的进一步提高,并扩大我们方法的适用性。

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

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

相关文章

【AIGC】7、CLIP | OpenAI 出品使用 4 亿样本训练的图文匹配模型

文章目录一、背景二、方法2.1 使用自然语言来监督训练2.2 建立一个超大数据集2.3 选择预训练模型2.4 模型缩放和选择三、效果论文:Learning Transferable Visual Models From Natural Language Supervision 代码:https://github.com/OpenAI/CLIP 官网&…

DJ3-5 死锁概述

目录 3.5 死锁概述 3.5.2 计算机系统中的死锁 1. 竞争资源 2. 进程推进顺序不当 3.5.3 死锁的必要条件和处理方法 1. 死锁的必要条件 2. 处理死锁的方法 3.6 预防死锁 3.6.1 摒弃 “请求和保持” 条件 3.6.2 摒弃 “不剥夺” 条件 3.6.3 摒弃 “环路等待” 条…

企业在数字化建设中,BI 处于什么位置?

对市场异常敏感的商业世界自然不会放过获取数字经济的机会,在众多企业开始进行数字化转型,通过信息化建设,部署BI来完成转型工作。 很多人都听说过BI, 但是并不太清楚BI 在IT信息化中到底处于一个什么位置?有很多的疑…

APIs --- DOM基础事件

1. 事件 事件是编程时系统内发生的动作或者发生的事情,它是用来描述程序的行为或状态的,一旦行为或状态发生改变,便立即调用一个函数。 例如:用户使用【鼠标点击】网页中的一个按钮、用户使用【鼠标拖拽】网页中的一张图片 事件…

【MySQL】外键约束和外键策略

一、什么是外键约束? 外键约束(FOREIGN KEY,缩写FK)是用来实现数据库表的参照完整性的。外键约束可以使两张表紧密的结合起来,特别是针对修改或者删除的级联操作时,会保证数据的完整性。 外键是指表…

ElasticSearch——详细看看ES集群的启动流程

参考:一起看看ES集群的启动流程 本文主要从流程上介绍整个集群是如何启动的,集群状态如何从Red变成Green,然后分析其他模块的流程。 这里的集群启动过程指集群完全重启时的启动过程,期间要经历选举主节点、主分片、数据恢复等重…

java中的SPI机制

文章目录SPI 介绍何谓 SPI?SPI 和 API 有什么区别?实战演示Service Provider InterfaceService Provider效果展示ServiceLoaderServiceLoader 具体实现自己实现一个 ServiceLoader总结在面向对象的设计原则中,一般推荐模块之间基于接口编程,…

测试开发备战秋招面试3

努力了那么多年,回头一望,几乎全是漫长的挫折和煎熬。对于大多数人的一生来说,顺风顺水只是偶尔,挫折、不堪、焦虑和迷茫才是主旋律。我们登上并非我们所选择的舞台,演出并非我们所选择的剧本。继续加油吧! 目录 1.讲一下redis和mySQL的区别? 2.讲一下…

ChatGPT让现在的软件都土掉渣了

我们家有两个娃,每次我们想要出去时订个酒店时都好麻烦。我在某程上找,我先看有没有家庭房,但家庭房很少,而且有些家庭房实际上只能睡得下两大一小。普通房间能不能睡得下四个人,那可是得查看很多信息,如床…

Redis队列Stream、Redis多线程详解(一)

Redis队列与Stream Redis5.0 最大的新特性就是多出了一个数据结构 Stream,它是一个新的强大的支持多播的可持久化的消息队列,作者声明Redis Stream地借鉴了 Kafka 的设计。 Redis Stream 的结构如上图所示,每一个Stream都有一个消息链表,将所…

Pandas 学习手册中文第二版:1~5

原文:Learning pandas 协议:CC BY-NC-SA 4.0 译者:飞龙 一、Pandas 与数据分析 欢迎来到《Pandas 学习手册》! 在本书中,我们将进行一次探索我们学习 Pandas 的旅程,这是一种用于 Python 编程语言的开源数…

Android:启动流程

Android启动流程 第一步:启动电源以及系统启动 当电源按下,引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序到RAM,然后 执行 第二步:引导程序 引导程序是在Android操作系统开始运行前的一个小程序。引导程序…

如何防止设备被重复控制

1. 引言 在一个物联网的系统中,主要有三部分组成:云端、WiFi、电控。当用户在APP上控制设备时,其控制下发链路是:云端>>WIFI>> 电控。当电控收到控制指令后,执行设备控制,控制成功后&#xff…

如何使用Midjourney辅助建筑平面设计,常用的建筑平面效果图提示和使用效果展示(内附Midjourney提示词网站)

文章目录一、室内建筑平面设计1.AutoCAD图纸(别墅首层图)2.平面效果图3.三维平面透视图二、建筑室内设计1.现代简约2.波西米亚风格3.工业风格4.沿海风格5.法国风格6.现代风格7.提示增加颜色倾向8.提示中增加设计师9.其它一些尝试三、好用的Midjourney提示…

Redis 6.x哨兵模式部署(五)

目录 一、主从复架构搭建 二、哨兵模式搭建 2.1背景 2.2哨兵模式介绍 2.3 Sentinel三大工作任务 1监控(Monitoring) 2提醒(Notification) 3自动故障迁移(Automatic failover) 4核心流程 2.4 安装…

企业如何实现数字化转型?

企业如何实现数字化转型? 首先,我需要先跟各位明确,企业数字化转型中很重要的3个“先行”条件: 第一、企业一把手的眼光和格局 一把手的视野、格局、定力是最重要的因素,没有之一。能不能放下自己过去的执念与经验&a…

信息与计算科学有哪些SCI期刊推荐? - 易智编译EaseEditing

以下是信息与计算科学领域的一些知名SCI期刊推荐: Information Sciences: 该期刊是信息科学领域的重要期刊,涵盖了信息科学、计算科学、人工智能、数据挖掘、模式识别、多媒体技术、网络通信、智能系统等方面的研究。 IEEE Transactions on…

电子文件的线上存储工具,你了解多少?

信息化时代的来临,企业也纷纷跟随时代步伐进入现代化办公。信息时代最显著的特征就是纸质文件到电子文件的转变。企业一天的办公中,可能就会产出无数的电子文件,其中很多文件都是珍贵的业务经验,因此线上存储是企业需要考虑的问题…

网页解析--bs4--01

python爬虫之bs4模块(超详细) Beautiful Soup 4.4.0 文档 — Beautiful Soup 4.2.0 documentation (crummy.com) 可以看到bs4库将网页文件变成了一个soup的类型, 事实上,bs4库 是解析、遍历、维护、“标签树“的功能库。 通俗一点…

redis基础总结-常用命令

redis常用指令3. 常用指令3.1 key 操作分析3.1.1 key应该设计哪些操作?3.1.2 key 基本操作3.1.3 key 扩展操作(时效性控制)3.1.4 key 扩展操作(查询模式)3.2 数据库指令3.2.1 key 的重复问题3.2.2 解决方案3.2.3 数据库…