【论文阅读笔记】Schema-aware Reference as Prompt Improves Data-EfficientRelational Triple and Event Extract

论文题目:Schema-aware Reference as Prompt Improves Data-Efficient Relational Triple and Event Extraction

论文来源:

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

代码链接: GitHub - zjunlp/RAP: Code for the paper "Schema-aware Reference as Prompt Improves Data-Efficient Knowledge Graph Construction"

0 摘要

信息抽取旨在从非结构化文本中进行结构关系三元组或事件抽取,经常存在数据稀缺问题。随着预训练好的语言模型的发展,许多基于提示的数据高效信息抽取方法已经被提出,并取得了很好的性能。然而,现有的信息抽取的即时学习方法仍然容易受到几个潜在的限制:(i)具有预定义模式的自然语言和输出结构知识之间的语义差距;(ii)由于特征不足,使用局部个体实例的表示学习限制了性能。在本文中,我们提出了一种新的模式感知参考作为提示(RAP)方法,该方法动态地利用每个样本从全局(小样本)训练数据中继承的模式和知识。具体地说,我们提出了一个模式感知引用存储,它统一了符号模式和相关的文本实例。然后,我们使用一个动态参考集成模块从数据存储中检索相关知识,作为训练和推理过程中的提示。实验结果表明,RAP可以插入各种现有模型,并在低资源设置的四个关系三元组抽取和事件抽取数据集上优于基线。此外,为了更好地了解RAP的发病机制,我们提供了关于不同知识类型和知识规模的全面的经验消融和案例分析。

1 引言

信息抽取(IE)——自动检索文本中特定关系三元组和事件的能力——在自然语言处理(NLP)和知识图谱(KG)中占有重要位置,并且可以为各种应用程序提供后端支持,如web内容分析和问题回答。以往关于IE的工作依赖于大量的标记数据来训练;然而,获得高质量的注释是昂贵的。因此,许多数据高效方法被提出,其中使用预先训练的语言模型(PLMs)提示学习产生很好的性能。例如,设计一个结构化的提示模板,用于生成合成关系样本,用于数据高效的关系三元组抽取。将事件抽取作为一个条件生成问题,仅使用少量的训练数据就能实现高性能。

然而,现有的方法仍然存在几个潜在的限制。首先,与一般的NLP任务不同,IE任务如关系三元组抽取和事件抽取目标来进行结构预测,其中输出应符合预定义的模式。用于PLMs的大量原始文本数据不一定包含与特定于任务的提示相关的足够的模式,从而导致输入序列和模式之间的语义差距。此外,之前的提示学习工作遵循基于参数(parametric)的学习范式。由于在优化过程中,稀缺或复杂的例子不容易在参数(parametric)空间中学习,因此它们可能不能很好地推广复杂的例子,并且在有限的训练数据下执行不稳定。例如,提到相同事件类型的文本在结构和意义上可能存在显著差异。“一名男子被罪犯砍死”“飞机受到敌人机枪的射击”都描述了一起攻击事件,尽管它们几乎字面上不同。由于只有少量的训练样本,该模型可能很难区分这种复杂的模式和抽取正确的信息。

为了克服上述限制,我们试图充分利用训练数据中的模式和全局信息作为帮助的参考。请注意,人类可以使用联想学习来回忆记忆中的相关技能,用很少的练习来征服复杂的任务。同样地,由于在资源少的环境下单个句子的特征不足,利用该模式知识和整个训练数据来提供参考和丰富单个实例的语义也是有益的。基于此,如图1所示,我们提出了一种新的模式感知参考作为提示(RAP)方法,它动态地利用符号模式从训练数据继承的符号模式和知识作为提示来增强IE的plm。

但存在两个问题: (1)收集参考(reference)知识:由于丰富的模式训练实例都有利于丰富单一实例的特征;因此,有必要从两者中收集得到的参考知识。(2)利用参考知识:将这些参考知识集成到现有的IE模型中也具有挑战性,因为有各种类型的IE模型(例如,基于生成和基于分类的方法)。

为了解决收集参考(reference)知识的问题,我们提出了一个模式感知的参考(reference)存储区,用文本实例来丰富模式。具体来说,我们将训练实例与结构化模式对齐;因此,符号知识和文本语料库在同一空间中进行表示学习。然后,我们构建了一个统一的参考(reference)存储,其中包含来自符号模式和训练实例的知识。为了解决利用参考(reference)知识的问题,我们提出了动态参考(reference)集成来选择信息知识作为提示。由于不是所有的外部知识都是有利的,我们使用基于检索的方法动态选择从模式感知参考存储中与输入序列最相关的知识作为提示。通过这种方式,每个示例都可以实现多样化和合适的知识提示,从而在低资源设置中提供丰富的符号指导。

为了证明我们提出的RAP的有效性,我们将其应用于关系三元组抽取事件抽取任务。请注意,我们的方法是与模型无关的,并且很容易插拔到以前的任何方法中。我们在两个关系三元组抽取数据集: NYT和WebNLG,以及两个事件抽取数据集: ACE05-E和CASIE上对该模型进行了评估。实验结果表明,RAP模型在低资源环境下表现得更好。本研究的贡献可以总结如下:

  • 我们提出了一种模式感知的参考(reference)提示(RAP)方法,用于数据高效的关系三元组抽取和事件抽取,该方法可以插入到以前的各种IE模型中。
  • 我们提出了一个模式感知的参考(reference)存储和一个动态引用检索机制来解决在RAP模型中收集和利用参考(reference)知识的问题。
  • 我们在四个基准数据集上进行了全面的实验,证明了我们的方法在小样本环境下的有效性。

2 相关工作

关系三元组抽取。早期的作品在抽取所有实体后,应用pipline方法在实体对之间进行关系分类。有的论文采用了一种token对连接方案,该方案执行两个矩阵操作来抽取实体,并在一个句子的每个关系下将subject与object对齐。最近效果良好的模型PRGC是一个利用全局对应矩阵的端到端分类模型。在本文,我们利用模式感知的参考(reference)作为提示RAP来增强关系三元组抽取任务。

事件抽取。早期的研究将事件抽取表述为token级分类,即直接定位文本中的触发词和论元并确定类别。许多工作都使用pipline风格的框架来抽取事件。同时,一些工作将事件抽取转换为机器阅读理解(MRC)问题。它们构造问答对来查询事件触发词和论元。近年来,许多基于生成的模型被提出。基于生成的模型更加灵活和可移植,减少了注释的负担,并且可以同时抽取触发词和论元。

检索增强模型(retrieval augmeted model)。检索增强模型已应用于语言模型(LM)、文本生成和开放域问题回答。更多的工作采用检索增强模型来处理其他任务,如问答、知识图谱补全、关系抽取和NER。Alon等人提出通过神经模型与符号自动机的神经符号协同进行恢复。最近,Wang等人注意到,从训练数据中检索示例可以提高不同NLU任务的模型性能。然而,很少有工作应用检索方法的事件抽取和关系三元组抽取任务。与这些方法不同,我们专注于IE,并提出了具有模式感知参考存储的RAP,并进行检索方法来增强模型。

3 准备工作

在本文中,我们将我们的方法RAP应用于不同的信息抽取模型,并注意到RAP比这些不同的基线具有更好的性能。首先介绍了关系三元组抽取和事件抽取的定义,然后说明了当前模型的基本结构。

3.1 任务定义

事件抽取。事件抽取是指在事件模式的指导下,从非结构化的自然语言文本中机械地抽取有组织的事件数据的过程。事件是涉及参与者的特定事件,由触发词和一组论元组成:触发词是最准确地描述事件发生的单词或短语;事件论元是参与事件的实体或事件的属性值(如时间、工具)。

例如,根据判决,给定一个句子“A man was hacked to death by the criminal.”,hacked触发attack事件,该事件包含两个论元角色:攻击者(criminal)和受害者(He)。

关系三元组抽取。从非结构化文本中以三元组((subject, relation,object)的形式联合抽取实体提及及其关系。假设输入为𝑆,期望的输出是关系三元组,如{(𝑠,𝑟,𝑜)|𝑠,𝑜∈𝐸,𝑒∈𝑅},其中𝐸和𝑅分别为实体和关系集。

例如,句子“His 35-year career at Moil Oil included a four year assignment in Tokyo, Japan as head of Mobil  Far East”,模型应确定Tokyo和Japan的两个实体及其之间的关系类型。

3.2 基本结构

给定一个原始文本𝑆,信息抽取任务的目的是获取目标信息Y={Y1,...,Y𝑡},其中Y𝑖,𝑗∈𝑡表示第j种类型要抽取的信息,𝑡表示类型的数量。RAP是一种可插拔的方法,这里我们介绍了基于生成的模型的体系结构。

对于关系三元组抽取任务,Y𝑖采用三元组Y𝑖=(𝑒ℎ𝑒𝑎𝑑,𝑟,𝑒𝑡𝑎𝑖𝑙)的形式,包括头实体、尾实体及其关系。在事件抽取中,Y𝑖包含了句子中相应的事件记录,可以表示为Y𝑖={𝑒𝑣𝑒𝑛𝑡−𝑡𝑦𝑝𝑒,𝑡𝑟𝑖𝑔𝑔𝑒𝑟,𝑎𝑟𝑔𝑢𝑚𝑒𝑛𝑡−𝑟𝑜𝑙𝑒}。以前的基线通常利用基于分类的架构或通过预先训练的编码器-解码器语言模型(如BART)将IE任务描述为条件生成问题。

在下面的部分中,我们将介绍及时的构造和应用细节。

4 模式感知引用作为提示

图2说明了RAP的框架。我们首先从不同的来源收集知识(3.1节),然后构建一个模式引导的数据存储(3.2节)。最后,我们动态地检索每个查询的相关reference,并注入到模型的prompt(3.3节)中。

4.1 Reference Source

我们同时利用文本实例和模式图来构建知识存储。

文本实例

文本实例包含了可能与查询共享语义相似性的丰富信息。请注意,具有相似信息和结构的文本可以帮助模型更好地理解模式和输入。对于文本实例,一个适当大小的retrieval source是非常重要的。大量的文本会增加噪音,并占用大量的搜索空间。但是,如果文本基础太小,它就不会有太大的影响。根据之前的工作,基于训练数据的数据存储可以促进下游任务。在这里,我们使用训练数据作为retrieval source进行关系三元组抽取。然而,对于事件抽取的高质量数据通常是稀缺的。为了构建更复杂的数据存储,我们使用开放域语料库为事件抽取任务获取更多的文本实例。由于维基百科是巨大的,我们选择了维基百科事件维基的子集和来自FreeBase中的另一个自动标记的事件数据集。

Schema Graph

任务模式是描述每种目标类型的配置的符号图。对于关系三元组抽取任务,模式图既包含关系类型,又包含实体类型,并且我们基于数据集构建模式(schema)图。对于事件抽取任务,schema图包括三种类型的节点:事件类型、触发词和论元角色。我们遵循之前的工作,并使用数据集提供的事件schema

如下图所示,这些节点是通过它们的内在关系连接起来的。例如,“meet”与事件“Meet”链接,因为meet是Meet事件的触发词。

4.2 参考存储(reference store)

然后,我们基于获得的文本实例S和模式图G构建了一个模式引导的数据存储D。特别是给定语料库S中的一个句子𝑠,我们旨在诱导其潜在的标签\tilde{y}∈Y,并基于\tilde{y}将𝑠链接到图G。由于事件抽取的文本实例是开放域语料库,我们提出了一种知识引导的标记方法来标记𝑠中的潜在事件。

在这里,我们采用了一个轻量级的符号pipline方法来标记每个句子中的候选触发词。在我们获得这些候选触发词之后,我们遍历这些触发词,以查找它们是否可以映射到目标事件模式。例如,如图2所示,句子 𝑠=“He commanded several ships contracted by Jonathan Forward to transport convicted felons from London to Maryland.”,我们可以获得候选触发词("commanded", "contracted", "transport", "convicted")。然后,我们将触发词“transport”映射到\tilde{y}1 = “Transport”,将“convicted”映射到模式图中的\tilde{y}2=“Convict”。可以注意的是,该判决并不包含“Convict”事件,因为“convicted”一词只是用来装饰以下单词“felons”的一个属性。然而,这里我们只需要一个较弱的标签;因此,这些错误是可以容忍的。然后我们将数据存储存储为键值存储:知识存储的条目(键)是文本实例;这些值是可以链接到模式图中的一个或几个节点的指针。就像图2中的示例一样,给定第i个实例𝑐𝑖,每个条目都存储为(𝑐𝑖,\tilde{y_{i}},𝑝𝑖),其中𝑐𝑖是上下文,\tilde{y_{i}}是标签,𝑝𝑖是一个链接到模式图中的类型节点的指针。此外,我们使用三元组来存储模式图,如(Meet, 𝑆𝑢𝑏𝑇𝑦𝑝𝑒, Contact)。

4.3 动态参考集成

RAP通过从模式感知的参考(reference)存储中检索知识,为每个示例构造一个唯一的和合适的提示。具体来说,我们利用了一个基于Apache Lucene的现成的稀疏搜索器,弹性搜索,使用一个反向索引查找,然后是BM25排名。对于每个输入𝑋,引擎将实例与所有键匹配,并从数据存储中返回最相似的条目{𝑑1,..,𝑑𝐾},𝑑𝑖=(𝑐𝑖,˜𝑦𝑖,𝑝𝑖)。我们收集实例𝑐和连接到指针𝑝𝑖的模式子图。

我们构建了事件抽取的提示P𝑒如下: (1)关系类型E:关系类型演示了关系本身及其定义。(2)触发词信息T:我们随机选择三个连接到事件类型节点的触发词节点,并将触发词提示符表示为“Similar trigger such as ...”。(3)论元信息A:我们遵循Hsu等人的[17],基于论元节点构建论元描述。(4)文本实例C:提示符的最后一部分是我们在上面检索到的文本实例。

关系三元组抽取的提示P𝑟类似于P𝑒,但包含以下几个部分:(1)关系类型R:关系类型表示在句子中可能描述的潜在关系。(2)结构信息S:结构信息表示构成三元组的实体类型,如(城市、首都、城市)。(3)文本实例C:提示的最后一部分是我们在上面检索到的文本实例。我们将这些不同的知识结合在一起,作为提示符P,并利用它来增强模型:

4.4 训练与推理

在获得每个样本的提示后,我们将它们应用于不同的方法中,包括基于生成的模型和基于分类的模型。在本文中,我们主要关注端到端方法,并将P与𝑋连接起来作为我们的最终输入。

[;]表示序列连接操作。 

基于生成。我们将IE模型作为一个条件生成进行优化。假设𝜃为模型的训练参数;训练目标是使训练集S中所有目标输出Y𝑖的负对数似然最小,其中𝑋𝑗表示S中的第𝑗个实例,𝑇为所有目标类型的集合。正式来说,我们有:

基于分类的。基于分类的模型首先采用编码器来获得输入的表示,并基于隐藏状态预测结果。在这里,我们将prompt与查询连接起来,并将它们发送到编码器中。在得到输出后,根据原始句子的隐藏状态对prompt进行掩码并预测结果。

5 实验

5.1 实验设置

数据集。对于事件抽取任务,我们在流行的基准测试: ACE05-E上对599个英文注释文档进行了实验。我们在之前的工作[32,46]之后使用相同的分割和预处理步骤。除了ACE05-E外,我们还在网络安全领域使用了另一个事件抽取数据集CASIE [43]。对于联合关系三元组抽取,我们选择了两个公共数据集NYT和WebNLG来评估我们的方法。数据集的统计数据如表1和表2所示。

小样本的数据分割设置。对于ACE05-E中的低资源设置,我们遵循DEGREE,生成不同比例的训练数据(1%、3%、5%、10%、20%、30%),并使用原始验证集和测试集进行评估。对于CASIE,我们坚持对早期工作的预处理,然后将训练数据随机分为1%和10%。对于关系三元组抽取,我们也随机生成训练数据,将其分为1%、5%和10%。

评估指标。对于事件抽取任务,我们使用与之前的工作中相同的评估标准,并给出了触发词分类(Trg-C)和论元分类(Arg-C)的F1分数。Trg-C计算触发词的偏移量和事件类型是否与gold项相匹配,Arg-C计算论元的偏移量、事件类型和角色标签是否都与gold项相匹配。对于之后的关系三元组抽取,抽取的关系三元组只有在与ground truth精确匹配时才被认为是正确的,这意味着整个实体span(包括subject和object),以及关系都是准确的。我们给出了基线的micro-F1

基线。由于RAP是一种可插入的方法,可以适用于不同的方法,因此我们为两个IE任务选择了强基线,并赋予它们RAP权力。

  •  TANL:一种方法将事件抽取转换为增强的自然语言之间的翻译任务。
  • Text2Event:一种序列-结构的生成方法,它将输入通道转换为树状事件结构。
  • DEGREE:一种端到端条件生成方法,为每个事件类型构建模板,并构建特定于事件的提示,以指示模型生成目标事件信息。
  • PRGC:一个基于端到端分类的模型,利用全局对应来处理关系三元组抽取任务。
  • RelationPrompt :一个基于端到端生成的零样本关系三元组抽取模型。在本文中,我们省略了生成样本的过程,并使用关系抽取器作为基础模型。

除了这些模型,我们还将RAP与其他流行的IE方法比较,包括OneIE、BERT_QA和TPlinker 。注意,我们主要评估关系三元组抽取和事件抽取任务,所以我们不能与以前流行的提示学习模型如KnowPrompt和PTR进行比较。

5.2 主要结果

我们在表3(ACE05-E)和表5(CASIE)中列出了事件抽取的结果,而在表4中列出了关系三元组抽取的结果。

我们可以观察到,RAP在触发词分类和论元分类任务上都表现出了强大的竞争力。对于触发词分类任务,与基本方法相比,RAP(Text2𝐸𝑁𝑇)几乎所有设置中都有了改进,而RAP(𝐷𝐸𝐺𝑅𝐸𝐸)则优于除ACE05-E数据集的5%设置之外的所有其他模型。在论元分类任务中,RAP获得了具有竞争性的结果。在ACE05-E数据集中,我们的方法在所有的设置中都超过了所有的基线。RAP也显示了cybersecurity domain的改善。与基本模型TANL和Text2Event相比,RAP在除TANL中的1%设置外,几乎所有设置中都取得了显著的改善。

关于关系三元组抽取任务,我们评估了基于生成的模型和基于分类的模型上的RAP,从表中,我们的模型在WebNLG和NYT数据集的性能显著增加。RAP(𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑃𝑟𝑜𝑚𝑝𝑡)在两个数据集的所有设置中平均提高了3.75%,RAP(𝑃𝑅𝐺𝐶)的性能优于其他所有方法。当将基于分类的模型应用于小样本场景时,它们的表现可能不好。例如,PRGC在WebNLG的1%设置中性能为0.00,而在RAP设置中性能高达12.69%,在NYT数据集中也表现出同样的趋势,这证明了我们设计的有效性。

6 分析

请注意,作为提示符的模式感知引用包含了几种类型的信息。为了进一步理解他们的贡献,我们进行了一项调查,以确定该方法如何帮助模型在其信息抽取工作。

6.1 与数据增强的比较

为了确定这些改进是否确实可以归因于参考存储的架构或仅仅是额外的数据,我们将我们的模型RAP与数据增强方法进行了比较。详细地说,为了获取检索到的条目𝑑=(𝑐,˜𝑦,𝑝),我们将它们转换为与训练数据相同的格式。查询是𝑐,标签是从指向𝑝的模式子图改写的。然后,我们同时用训练数据和检索到的参考来训练我们的模型。我们在两个三元组抽取数据集上进行了实验,结果如图3所示。

我们发现,在两个数据集下,RAP的性能都优于数据增强方法,这验证了提示的有效性。一个可能的原因可能是,我们的模型可以动态地选择相关的知识(实例)作为外部提示符,这将不会改变输入序列的原始语义。然而,使用这些检索到的实例作为数据增强可能会在训练中引入噪声,从而导致性能下降。 

6.2 消融研究

在这部分中,我们提出了广泛的消融研究来支持我们的设计。为了更好地理解提示中每个组件的贡献,我们对关系三元组抽取和事件抽取任务都取消了RAP。表6列出了ACE05-E的结果,表7给出了WebNLG和NYT的结果。

我们发现,几乎所有形式的信息都是必不可少的,因为它们的缺失会对性能产生不利影响。在关系三元组抽取和事件抽取任务中,我们可以看到,当在提示中省略文本实例时,性能会下降。

事件抽取任务,在提示的不同组件中,论元信息对Tri-C和Arg-C的性能都有很大的影响。从提示符中删除论元信息会导致性能的巨大下降。在关系三元组抽取任务中,关系信息和结构信息的去除会导致性能下降,这也验证了它们的必要性。更重要的是,当提供的训练数据较少时,这些组件的优势就会变得更加明显。

6.3 案例研究

消融实验只分析了不同类型知识的整体影响。一个有趣的现象是,类似的文本也可以使模型在下游任务上增强。因此,我们进一步进行了一个案例研究,以调查文本实例如何干预模型的推理,以及相似的文本提供了哪些信息。我们首先从ACE05-E任务中选择一个实例。如图4所示,这里的句子描述了一个罪犯事件。论点和角色包括裁决官、地点和被告。

在我们注入文本知识之前,该模型错误地推断出Shahid Rafiq作为评审者。经过知识注入后,该模型做出了正确的预测。检索到的句子也显示了一个罪犯事件。尽管检索到的句子有不同的论点和角色,但它与我们输入的“法官被判有罪”具有相同的结构,这含蓄地暗示了罪犯事件的结构和图式。

6.4 reference数目的影响

尽管RAP取得了成功,Liu等人[34]注意到,并非所有注入的知识都有利于任务,不加选择地注入知识可能导致负知识注入,这对表现是有害的。在这里,我们进一步进行实验,分析检索到的参考数量(𝑘)如何影响性能。我们以ACE-05E任务为例。请注意,消融研究(表6)表明,这些检索到的实例有助于Tri-C和Arg-C。如图6所示,就Tri-C任务而言,当我们使用选择的前1-2个参考文献时,该模型表现最好。该模型仍然受益于这些知识,但如果我们增加检索到的引用的数量,就会产生噪声。可能的原因是,以后的引用通常具有较低的相似性,导致噪声影响模型的性能。Arg-C也反映了同样的趋势,但在8个检索引用左右达到了最佳性能,考虑到论元分类的任务更具挑战性,这是有意义的。该模型需要更多类似的reference来学习目标任务。

6.5 不同类型分析

上述实验证明了我们的模式感知参考作为一个提示的有效性。此外,在不同的情况下,提示符的效用可能是不同的。为了更好地理解低小样本场景下的知识注入原则,我们分析了提示对不同事件类型和关系类型的影响。

对于事件抽取,我们选择了四种出现次数少于五次的事件类型,即“开始位置”、“罪犯”、“转移所有权”和“开始组织”。对于关系三元组抽取,我们还选择了以下类型:“创始人”、“major_sharehoders”、“死亡的地点”和“出生的地点”。

图5展示了基于各种提示输入形式的所有这些目标类型的F1分数。我们观察到:(1)对于事件抽取任务,RAP的不同组件对这两个任务都表现出不同的影响。总体而言,触发信息在触发分类任务中起着更重要的作用,而实例和参数在参数分类任务中更为重要。(2)事件类型对“开始位置”和“开始组织”事件类型的Trig-C的影响较小,这可能是因为这些事件类型归纳较少,并且包含的事件触发器的信息很少。(3)Arg-C在“罪犯”、“转移-所有权”和“开始-org”类型上的表现受到参数和实例的影响很大。如§(5.3)所示,这些类似的实例通常包含潜在的事件结构信息,特别是对于这三种事件类型。(4)与事件抽取不同的是,提示的不同部分对这些不同类型表现出相似的趋势:三元组结构是提示中最重要的部分,而实例和关系信息没有那么大的影响。

7 结论

在本文中,我们提出了针对小样本IE的RAP,它构建了一个模式感知的参考存储,并动态地选择信息知识作为集成的提示。实验结果表明,我们的模型在事件抽取和关系三元组抽取任务上都取得了与当前状态模型竞争的结果。RAP可以应用于不同的现有方法。此外,当注入提示的不同组件时,我们提供了深入的分析。在未来,我们计划1)探索更多的符号知识,如IE的公理规则,2)在预先训练过的语言模型中研究内隐知识以获得更好的提示,3)将我们的方法扩展到一般的自然语言生成任务。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值