全网首讲最详细AMR系统介绍(1):Abstract Meaning Representation(AMR) 的基础表示逻辑;附英文版原 pdf 资料

写在前头

  • 最关键的部分,我都会使用英语单词来表示,为了大家在看原文档的时候能够将概念对齐。
  • 大家可以去看原版的英文资料,这个资料是我从数据集中拷出来的,目前没发现比这个更好的资料,大家如果觉得我的分析和原版有什么出入,以原版为准,我已经上传了,可以免费下载
  • 我会把 AMR 相关的所有内容写成一个系列,大家可以等后面的内容更新,也可以自己去看原版,我相信吸收会更好
  • 我的描述很多时候并不 100% 准确,但是会帮助你更好的理解,因为原版中很多晦涩的表示可能让你摸不着头脑,我尝试写的更详细、生动一些,希望能帮助理解。

AMR 定义

  • AMR 全称 abstract meaning representation,是对语言的一种表示方法,他并不表示单个的句子,而是着重表示句子中的逻辑,也就是说他不存在 语法单词 的概念,只有 semantic relationconcept 的概念,多个 concept 之间被 semantic relation 连接起来,当然为了方便理解,你也可以认为 concept 就充当了单词的角色,而 semantic relation 充当了语法的角色,但是不要仅限于这种想法,否则不利于后面的理解。
  • AMR在句子中捕捉“谁在对谁做什么”。每个句子都表示为一个有根、有向、无环的图(graph),在边(每条边代表一个语义关系 semantic relation) 和叶(每个叶子节点代表一个 concept) 都有标签。
  • AMR 是一个叫做 “OntoNote” 项目的产物,AMR 中的所有的 predicate sense(谓词词义), semantic roles(语义角色) 都继承自 OntoNote

Example

  • graph 表示
    在这里插入图片描述

    1. 首先弄清楚两个重要的概念:predicate-argument (述词论元结构),所谓的 predicate 可以叫做谓词/述词, argument 叫论元,也可以叫参数。然后看 graph 中的每个节点(node) 都是有 instance 和 若干个 ARGx 构成的,你可以粗暴地认为 ARGx 是围绕 instance 展开的。
    2. 比如根节点(root)你可以看到:扮演 instance 角色的是 want,而 ARG0, ARG1 分别又产生了两个子图subgraph,他们一直这样发展下去直到 叶子节点 结束
    3. 对待任何一级的节点,我们都把 instance 作为主要部分,ARG0, ARG1 分别看作是 instance施事方受事方,具体一点,如果只看 root 结点涉及的内容(instance, ARG0, ARG1),这里面蕴含的逻辑关系就可以表示为 ARG0 -> want -> ARG1 这么一个简单的逻辑。
    4. 如果我们关注 整个 graph 中所有的节点(在每个节点中先找出 instance,然后再把 ARG0, ARG1 的逻辑连起来) 就会发现,呈现的其实是这样一种逻辑:boy -> want -> believe, girl -> believe -> boy,又因为这个逻辑链中两次出现的 boy 是同一个(没有进行区分)因此这句话的逻辑如果变成英语就是:the boy wants the girl to believe himself,但是能表示这个逻辑的句子有很多,每一句包含相同含义的话都可以作为这个 AMR 的 文字表示。
  • AMR 表示
    在这里插入图片描述

    • 这个表示方法与上面的图完全一致,只是将其用 AMR 的方式(一堆括号和符号表示)了,你不需要再去对着图找每一个叶子节点,你可以在这个 AMR 的表示中得到任何你想要的关系。你自己读一下看看

      • boy -> want -> believe, girl -> believe -> boy
      • 还有一点需要很注意,就是每一级的表示中的 ARG0, ARG1 都是对应 当前级别 的内容的(want 下面有 ARG0, ARG1 这是属于 want 这个级别的, beileve 下面也有 ARG0, ARG1 这是属于 believe 这个级别的),比如 :ARG1 b:ARG1 (b2 / believe-01) 虽然都是 ARG1 但没有任何关系。
    • 相信你还有如下疑问:

      • want-01 为啥后面跟个后缀 01
      • (w / want-01) 这个 w / 又是什么
      • 为什么 :ARG1 b 不写成 :ARG1 (b / boy)
  • want-01 代表我们采用的是 want 的第一个含义,want 的所有含义都被预先定义好了
  • (w / want-01) 相当于: instance(w, want-01) 其中 wvariablewant 这个谓词的一个实例(instance),因为 AMR 是一种抽象表示,每个成分都需要进行实例化(这有点像面向对象编程中每个类在进行实例化之后才能进行操作)
  • :ARG1 b 中的 b 因为是 boy 的实例化 variable 而这个variable 在之前已经实例化过了,所以直接引用之前那个 b 即可,必须要再实例化一遍了
  • want-01 表示的意义是 “想要” 因此,当一个 AMR 对应到一个确定的文本的时候,可以是动词的 want 表示,也可以是名词 desire表示的意义,也可以是形容词 desirous 表示的意义,在这个位置的词的形式并不被局限,
  • 在 AMR 中,不会直接标注某个叶子节点说:“这是一个动词,或者这是一个名词”,相反,会说这是一个 obejct, 那是一个 event,都是这种抽象概念
  • 三元组表示法(一般用在对 AMR 解析任务评估的时候,通过比较生成的 AMR 的三元组是否符合标准来评估 AMR 的解析算法的效果)
    在这里插入图片描述

  • AMR 的表示是将代词之类的全部抛弃(不出现在 AMR 的 graph 中)
    在这里插入图片描述

    • 按照我们上述的知识,我们知道这个想表示的逻辑是:girl -> adjust -> machine 所以生成的句子可以是:
      在这里插入图片描述
    • 首先这些 made, to 这些词全部不表示在 AMR 中,当然你在 对齐 的时候可以加上这些内容来构成符合 AMR 逻辑的完整的句子
    • 我们上面也说了,虽然在 AMR 中我们表示的是 adjust 这个词,但是真正在 对齐 的时候,我们可以给他不同的形式:ajust, adjustment, be ajusted by 只要符合 AMR 描述的逻辑即可

对齐 Alignment

  • 你会在 AMR 相关的很多文献和数据集中发现 alignment 这个词汇,那么什么是对齐呢?
  • 很简单,就是我们刚才说的,每个 AMR 表示的逻辑是一句话中最重要的部分,但是其他的部分并没有一个标准答案。
  • 在深度学习训练 AMR 解析任务的时候(就是给定一个 text,让 seq2seq 模型把这个 text 转化成一个 AMR 结构的输出)或者进行 AMR-to-text 的任务(训练一个 seq2seq 模型让其输入是一个 AMR 结构的数据,输出是一个对应的文本)的时候,由于进行的是 supervised 训练,所以肯定一个 AMR 要给他一个固定的 text 作为 label。
  • 比如还是上面的例子:
    在这里插入图片描述
    • 我们可以选择下面的其中一句话作为 groundtruth label 进行对齐:
      在这里插入图片描述
### 回答1: 学习抽象意义表示Abstract Meaning RepresentationAMR)需要掌握自然语言处理、语义分析、逻辑推理等相关知识。以下是一些学习AMR的建议: 1. 学习自然语言处理基础知识,包括词法分析、句法分析、语义分析等。 2. 了解AMR的基本概念和结构,包括AMR图的节点、边、对齐等。 3. 学习AMR的语义规则和转换规则,了解如何将自然语言文本转换为AMR图。 4. 掌握AMR的应用场景和相关技术,如机器翻译、问答系统、信息抽取等。 5. 实践中不断尝试,通过参与相关项目或竞赛,加深对AMR的理解和应用能力。 总之,学习AMR需要系统性地掌握相关知识和技能,并在实践中不断提高。 ### 回答2: 学习抽象意义表示Abstract Meaning RepresentationAMR)需要以下步骤: 1.了解AMR的背景和概念:AMR是一种用于表示自然语言句子意义的形式化框架。它以图形结构表示句子的语义组成部分,并用节点和边表示实体、属性和关系。学习之前,要了解AMR的基本理和概念。 2.阅读相关文献和教材:学习AMR好方法是阅读相关的研究论文、教材或教程。这些资源可以帮助你更好地理解AMR的核心概念、表示方式和应用领域。一些推荐的资源包括《AMR 实例分析与句法语义工具》、论文《Toward Abstract Meaning Representation Extraction from Chinese Texts》等。 3.参与实践项目:通过实际操作,帮助巩固对AMR的理解和应用。可以尝试使用AMR工具进行句子的转换和分析,或者参与AMR相关的研究项目。通过实际动手操作,可以更好地理解AMR的具体实践细节和技巧。 4.与专家交流和讨论:参加AMR相关的研讨会议、研讨会或学术讨论小组,与专家和其他学习者交流和讨论。与他人分享和交流学习经验和问题,可以获得更多的学习经验和见解。 5.实践中不断探索和学习:学习AMR是一个不断探索和学习的过程。随着实践的深入,会遇到各种挑战和问题。重要的是保持学习的态度,持续地探索和学习新的技术和方法,更好地应用AMR解决实际问题。 总结而言,学习抽象意义表示需要深入理解其基本概念,阅读相关文献和教材,参与实践项目,与专家交流和讨论,并不断探索和学习。这些步骤将帮助你更好地掌握和应用AMR这一形式化框架。 ### 回答3: 学习抽象意义表示Abstract Meaning Representation,简称AMR)时,可以采取以下学习方法: 1. 熟悉AMR概念:了解AMR的定义、目标和应用领域。AMR是一种语义表示形式,用于将句子的意义转化为图形结构。了解AMR的基本理和优势可以帮助我们更好地学习和应用。 2. 学习AMR的构建规则:AMR的构建依据一定的规则和约束,学习这些规则可以帮助我们准确地将句子进行AMR表示。可以通过阅读相关文献、教程或参加培训课程来了解这些规则。 3. 学习AMR标注工具:有一些开源的AMR标注工具可供学习和使用,例如JAMR、CAMR等。通过学习这些工具的使用,可以更好地理解AMR的操作和标注过程。 4. 阅读AMR相关论文和研究:阅读AMR相关的研究论文可以帮助我们了解该领域的新进展和应用。这些论文通常包含了AMR数据集的介绍、标注方法、语义表示模型等内容,对于学习AMR非常有帮助。 5. 实践和应用:通过实践和应用AMR,可以加深对其理解和掌握。可以尝试使用AMR标注工具标注自己的句子,或者使用AMR数据集进行语义理解任务。 总之,学习AMR需要系统地学习其基本概念、构建规则和标注工具,并通过阅读论文、实践和应用来加深对AMR的理解和掌握。这样才能更好地应用AMR自然语言处理人工智能领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值