全网首讲最详细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 进行对齐:
      在这里插入图片描述
  • 15
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
AMR在IP域中的编码(rfc3267,4867) 缩写解释 SID Silence Descriptor (Comfort Noise Frame) 1 AMR编码介绍 AMR编码是一种自适应多速率编码,根据传输信道的实际情况,调整编码模式、速率和纠错码位数来保证语音质量,在数据压缩和容错上面取得平衡。一般语音质量越高抗干扰能力越弱。在GSM网络,基站、基站控制器可根据网络质量和信号质量情况动态调整语音编码模式以提高不同网络状况下的语音质量。现在手机终端基本上都支持AMR编码,Nokia从2004年开始提供支持AMR的终端,目前所有的新型号终端都支持AMRAMR在IP域中的编码(rfc3267,4867) AMR算法 参考文档 (1) 3GPP TS26.190, AMR Wideband speech codec; Transcoding functions(Release 5). (2) 3GPP TS 26.194, Voice Activity Detection (VAD). (3) 3GPP TS 26.174, AMR wideband speech codec; Test sequences. (4) 3GPP TS 26.194, Frame Structure. 2 AMR在IP域中的净荷格式 RFC3267/4867协议描述AMR编码在RTP中的载荷格式,是其在IP域的存在形式。 对于每个RTP会话,AMR净荷有两种模式,分别为节省带宽模式和字节对齐模式,具体采用那种模式,由信令协商决定;采用后一模式可以后可以引入鲁棒排序、帧交叉编码和CRC校验等方式提高语音传输的质量。 以下三种场景分别为1IP域的终端进行会话、2非IP域终端通过网关和3IP域终端会话以及非IP域终端之间的通信场景,各个场景的特点见协议描述。 AMRAMR-WB净荷格式 二者格式区别,a.帧类型;b.前者的采样频率为8KHZ,后者为16KH;c.模式不一样 净荷结构如下,包括净荷头,内容表和语音数据: +----------------+-------------------+---------------- | payload header | table of contents | speech data ... +----------------+-------------------+---------------- Payloads containing more than one speech frame-block are called compound payloads. 节省带宽模式Bandwidth-Efficient Mode a. 净荷头格式: 0 1 2 3 +-+-+-+-+ | CMR | +-+-+-+-+ CMR(codec mode request)编码模式请求,由发送者向接受者的请求发送者编码器将来的编码速率模式,保存帧类型索引,如果是AMR,取值范围为0-7,表示8种速率模式,如果为AMR-WB,取值范围为0-8,表示9种速率。取值15意味着当前是没有指定哪个模式的请求。 模式选定后,由于采样频率恒定,具体包的打包时长还是不变,不同速率只是净荷长度不一样,例如对于AMR模式0,其速率是4.75Kbit/s,净荷中包含的语音数据为95bits。 AMR的8种速率索引表,见[1] AMR在IP域中的编码(rfc3267,4867) AMR-WB的9种速率索引表,见[2] AMR在IP域中的编码(rfc3267,4867) b. 净荷内容表ToC(table of contents),第一项表示一个语音帧 0 1 2 3 4 5 +-+-+-+-+-+-+ |F| FT |Q| +-+-+-+-+-+-+ F:用于标志是否最后一个帧,0表示最后1帧.如果是多帧复用才有Toc才会有多项,否则只有1项。 FT:标志对音帧语音编码模式或舒适噪志的模式,取值范围同CMR取值,FT=14 (SPEECH_LOST, only available for AMR-WB) and FT=15 (NO_DATA),FT=15表示没有当前帧没有净荷;取值10-13该帧要丢弃。 Q:指示帧质量,为0表示对应帧被破坏,1表示未被破坏;如果该帧已被破坏,那么可以通过直接丢弃该帧来处理。 净荷内容表就是对帧内容的数据格式说明, c. 语音数据speech data 语音数据即为真正的语音帧或舒适噪声帧的数据,每帧数据的描述和ToC每一项对应起来,数据长度取决于对应模式ToC项中的FT标识的模式。 示例: 单通道单帧 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CMR=15|0| FT=4 |1|d(0) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | d(147)|P|P| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 单通道多帧 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CMR=1 |1| FT=0 |1|1| FT=9 |1|1| FT=15 |1|0| FT=1 |1|d(0) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | d(131)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |g(0) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | g(39)|h(0) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | h(176)|P|P|P|P|P|P|P| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 多通道多帧,见协议 字节对齐模式Octet-aligned Mode a. 净荷头格式 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+- - - - - - - - | CMR |R|R|R|R| ILL | ILP | +-+-+-+-+-+-+-+-+- - - - - - - - CMR:同上; R:保留位,区分节省带宽模式,这些保留位作用之一就是字节对齐; ILL:可选,指示交错长度(取值为L,交错长度即为L+1); ILP:可选,交错块的索引,取值范围为0到ILL,超过这个范围,该帧块应被丢弃。 b. ToC +---------------------+ | list of ToC entries | +---------------------+ | list of frame CRCs | (optional) - - - - - - - - - - - Note, for ToC entries with FT=14 or 15, there will be no corresponding speech frame or frame CRC present in the payload. 组成同节省带宽模式 ToC项:在该模式下,6位ToC也需要2位补齐。 CRC:CRC校验位可选,如果带外信令协商需要校验,则每项对应每个语音数据进行8位长度的校验。 语音数据 同节省带宽模式,只是要求每帧必须补0对齐;对于多帧的净荷,可以和节省模式一样,一帧顺序排,也可以所有帧以字节为单位交错排序,尽量把各个帧错误敏感位排前面。 示例: 单通道多帧 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CMR=6 |R|R|R|R|1|FT#1=5 |Q|P|P|0|FT#2=5 |Q|P|P| f1(0..7) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | f1(8..15) | f1(16..23) | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : ... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... |f1(152..158) |P| f2(0..7) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | f2(8..15) | f2(16..23) | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : ... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... |f2(152..158) |P| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 多通道 3 AMR语音帧结构 AMRAMR-WB的语音数据结构分别详见TS 26.101,26.201描述,这里介绍AMR-NB的语音数据编码结构。 语音数据位根据重要性分成类,A、B、C类,其对错误的敏感性和重要性依次为A>B>C,如下,4.75Kb模式的总的位数为95位,A类42位,B类53位。 AMR在IP域中的编码(rfc3267,4867) AMR净荷数据把重要的数据位放在前面,不重要的放在后面,为了把语音数据中重要的数据位放置A类,需要对编码器编出的比特位进行重排序,26.101把编码后数据位的位置和重排序的位置对应起来形成一张表供查询, - for j = 0 to K-1 //第0位到第K-1位全部重排 - d(j) := s(tablem(j)+1); //查对应模式的表找到重排后相应位置 例如下表6.7kb模式的排序表,共134位,第82位数据位排序后对应18位 AMR在IP域中的编码(rfc3267,4867) 上节节省带宽模式和字节对齐模式,d(i)均是排序后的数据。 下图示例相比上一节还加了8位CRC校验码。 4 AMR NB/WB信令协商参数 AMR常用如下 octet-align,是节省带宽模式还是字节对节模式,一般取值为1表示字节对齐,为0或不带默认表示为节省带宽模式; mode-set,一旦请求带了模式集,之后AMR媒体流只选择属于这个模式集的模式来发送; mode-change-period,模式改变周期; maxptime,最大支持的打包时长(ms); crc,净荷是否进行CRC校验,一般为1表示需要,媒体流会携带校验位; robust-sorting,是否进行鲁棒排序; interleaving,定义交错帧块数; ptime,指包时长; channels,音频通道数,例如采用左右通道数值则为2; AMR-WB常用参数同上 4 多帧复用 为了降低带宽,减少网络传输的RTP包数,把多帧的数据打包在1个RTP包里面进行传输。净荷里面用ToC表来管理多帧数据,说明模式等内容,这样也可根据网络状况灵活改变多帧的速率,例如,多帧中每个帧的速率不一定要一样。 采用多帧复用要注意关注RTP包的大小、时戳是否正确。
### 回答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、付费专栏及课程。

余额充值