简单聊聊NLP中的全局信息: Global information(第一弹)

在NLP相关的论文中,我们常常回看到含有 Global Information 字眼相关的论文;那么,这些文中提到的 Global Information, 到底是什么、与 local information 有什么不同、是如何计算得到的呢?; 基于这几个问题,小编以 EMNLP2019的若干篇论文为例,进行了一点点简单粗暴小小整理,希望能够淡淡地解开Global Information的神秘面纱~~~

Coupling Global and Local Context for Unsupervised Aspect Extraction

  • url: https://www.aclweb.org/anthology/D19-1465

这是一篇以Aspect Extraction为任务的文章,其任务为,抽取出句子里表达观点情感的词,例如下图中的加粗的蓝色字体:
简单聊聊NLP中的全局信息: Global information(第一弹)_第1张图片

在图中的两个句子中,R1明显得出现了price的字样,而在R2中,虽然i7没有和其他aspect words同时出现,但是考虑到它的邻居词for the与R1类似,因此会猜测i7也是价格方面的观点词;且有相关的语言现象表明:

aspect words generally distinguish themselves from other words in their occurrence patterns within global and local context.

因此,本文对local和global的定义是:

  • Local: What neighbors a word has;
  • Global: How pairs of words co-occur with each other at sentence level;

其中,二者的计算方法分别是:

简单聊聊NLP中的全局信息: Global information(第一弹)_第2张图片

  • Local Context Modeling: 通过LSTM 得到句子中每个词包含local context 信息的表示;
  • Global Context Modeling:
    • 首先,得到每个句子在整个预料下的词袋模型表示 x b o w x_{bow} xbow
    • 根据这篇论文由于 global context 中的词应当是满足高斯分布,通过encoder学习全局表示 z z z:
      简单聊聊NLP中的全局信息: Global information(第一弹)_第3张图片
  • Global 与 Local 的融合:
    • 首先,基于 z z z 和每个词在LSTM下的表示 h n h_n hn计算每个词对应的attention值(从而更好地发现蕴含了观点信息的词):
      在这里插入图片描述
    • 然后,基于attn值的加权求和得到 globally-scoped local representation
      在这里插入图片描述

Enhancing Dialogue Symptom Diagnosis with Global Attention and Symptom Graph

  • url: https://www.aclweb.org/anthology/D19-1508

本文的任务是做基于医患对话进行症状发现,即根据对话,判断出哪些症状是实际存在的:
简单聊聊NLP中的全局信息: Global information(第一弹)_第4张图片

完成这一任务,需要通过两个步骤进行: 一是症状识别,与NER任务类似,需要从医患对话中识别出存在哪些症状的名字;二是症状推理, 即判断某一症状是否真正存在。

症状识别过程中,需要得到医患对话中每个词的表示,正是在这一阶段中,作者引入了Global Attention Mechanism来捕捉与症状描述有关的信息。Global Attention Mechanism具体包括两部分:

  • Document Level Attention:我们将如Table1所示的一份完整对话称作是一份document, 一份Document由若干个句子 S 1 , S 2 , . . . {S_1, S_2, ...} S1,S2,... 构成, 每个句子 S p S_p Sp 又由若干个词组成 S p = w p 1 , w p 2 , . . . , S_p = {w_{p1}, w_{p2}, ..., } Sp=wp1,wp2,...,, 其中每个词通过LSTM学到的表示为 h p i h_{pi} hpi; 引入 Docment-Level Attention 的原因是,在一篇文档中,同一个词可能在不同句子里多次出现;因此,单个句子无法提供关于这个词的完备的信息,需要融合文档中所有句子关于这个词的信息,因此,将一篇文档中同一个词在不同句子里的表示作为一个集合 h p i ~ = { h p i 1 ~ , h p i 2 ~ , . . . } \tilde{h_{pi}} = \{ \tilde{h_{pi}^1}, \tilde{h_{pi}^2}, ... \} hpi~={hpi1~,hpi2~,...} , 基于attention进行表示融合:
    简单聊聊NLP中的全局信息: Global information(第一弹)_第5张图片
  • Corpus Level Attention: 整个语料包含多个documents, 他们分别能够提供关于同一个词的不同信息。因此与Document Level Attention 同理,通过attention机制对语料中不同document中同一个word的表示进行融合:
    简单聊聊NLP中的全局信息: Global information(第一弹)_第6张图片

Enhancing Local Feature Extraction with Global Representation for Neural Text Classification

  • url: https://www.aclweb.org/anthology/D19-1047
  • code: 见paper内链接~

本文的目的是做文本分类,而关于引入全局信息的原因作者也给出了十分简明的例子 (如果只有局部信息,无法正确判断这两个Apple的不同语义):
简单聊聊NLP中的全局信息: Global information(第一弹)_第7张图片
本文中,作者提出了一种非常有趣的 Encoder1-ENcoder2 的架构,其中 Encoder1 负责抽取全局信息,Encoder2 则会融入 Encoder1 提供的全局信息,虽然像普通的局部特征抽取器一样工作,但却可以注意到更多的长距离依赖信息。两个Encoder的具体工作模式如下:

  • Encoder1: Global Information Provider
    作者提供了三种特征抽取器为 Encoder1 服务,分别是 CNN, 或 GRU,或 GRU+Attention, 具体的操作都很简单,大家可以在论文中找到答案;这里我们先记录下 global representation的表示形式为如下:
    在这里插入图片描述

  • Encoder2: Variant Local Extractor
    Encoder2在工作时,会吸纳Encoder1 提供的全局信息,这就是它与其他普通特征抽取器不同的地方。令 g t ∈ R d g_t \in \mathbb{R}^d gtRd 表示特定窗口 X t − h + 1 : t X_{t-h+1:t} Xth+1:t 下所需要的全局信息,则在以CNN和DRNN为Encoder2的情况下,Local Encoder的工作模式如下:

    • CNN:
      h t = C o n v ( g t , x x − h + 1 , x x − h + 2 , . . . , x t ) h_t = Conv(g_t, x_{x-h+1}, x_{x-h+2}, ..., x_t) ht=Conv(gt,xxh+1,xxh+2,...,xt)

    • DRNN:
      h t = G R U ( g t , x t − h + 1 , x x − h + 2 , . . . , x t ) h_t = GRU(g_t, x_{t-h+1}, x_{x-h+2}, ..., x_t) ht=GRU(gt,xth+1,xxh+2,...,xt)

关于 g t g_t gt 的计算方式,具体如下:

  • Interaction Modes between Encoders

g t g_t gt 是特定窗口 X t − h + 1 : t X_{t-h+1:t} Xth+1:t 所需要的全局信息,则广义来说,其计算公式如下所示:
g t = G ( e n c 1 , x t − h + 1 , x x − h + 2 , . . . , x t ) g_t = G(enc1, x_{t-h+1}, x_{x-h+2}, ..., x_t) gt=G(enc1,xth+1,xxh+2,...,xt)
其中, G G G 表示了一种信息融合的模式,具体有如下两种方案:

  • SAME
    g ^ t = m a x p o o l ( e n c ) \hat{g}_t=maxpool(enc) g^t=maxpool(enc)

  • ATTEND: 通过window范围内每个词的权重来计算:

简单聊聊NLP中的全局信息: Global information(第一弹)_第8张图片
在这里插入图片描述

通过以上方法得到 g ^ t \hat{g}_t g^t 后, 通过 M L P MLP MLP 将其转化为 g t g^t gt


好了,这次先记录这三篇~~因为最近还有好多要做的事情 ; 小编也多多努力,及早写出其他几篇论文的总结吖,附上其他几篇论文的标题:

  • EMNLP2019: Extractive Summarization of Long Documents by Combining Global and Local Context

  • EMNLP2019: Hierarchical Modeling of Global Context for Document-Level Neural Machine Translation

  • EMNLP2019: Learning Dynamic Context Augmentation for Global Entity Linking

了解更多深度学习相关知识与信息,请关注公众号深度学习的知识小屋

你可能感兴趣的:(论文笔记)