EMNLP 2016參會報告

概要:本文為EMNLP 2016@Austin的參會報告,tutorials、talks的介紹以及一些關注領域(對話系統相關)的paper介紹【內含paper/tutorials/talks的下載地址】

會議概述

EMNLP,整個會議持續5天(Nov.1 ~ Nov.5),1087 submissions(687 long papers, 400 short papers),Accepted(177 long papers<25.8%>,87 short papers<21.8%>)

詳細Agenda

  • Day 1: 6 tutorials
  • Day 2 ~ Day 4: Main conference, 21 different areas sessions
  • Day 5:workshop

全部的paper下載地址

Tutorials

主要介紹其中的兩個Tutorial,剩餘的有PPT下載地址

T1:Practical Neural Networks for NLP: From Theory to Code

主要是介紹DyNet(CMU Group開發的一個NN庫),在這個庫上的一些常見網路結構以及NLP應用的一些實踐實例。

其中庫的

  • 核心:computation-graph formalism建模思路(所有的運算轉化為DAG),
  • 優勢:動態圖定義(比如計算操作符的重載等)【相比於TensorFlow/Theano/Torch等】
  • project site: github.com/clab/dynet

基於DyNet介紹NLP中應用NN的常見網路結構,包括:MLP/CNN/RNN/LSTM.

My comments:

  • Part1較為基礎,如果對NN比較熟悉可以跳過
  • Part2中的Tagging問題建議關注. 對話系統的NLU的Slot filling問題的一種經典建模方法(阿里用的就是Bi-LSTM)
  • 實用角度來說,靜態定義的(tensorflow以及paddle)足夠用

Sildes:Part1, Part2

T3: Lifelong Machine Learning for Natural Language Processing

Why Lifelong ML?

  • ML 1.0:傳統機器學習主要是single-task learning,即每次學習都是重新利用數據
  • Human beings:人類在學習時會利用之前已有的知識,把之前的知識應用到新的任務上.
  • Key problem:leverage the prior knowledge learned from previous task(思想和transfer learning類似)

Algorithm Example:Lifelong Topic modeling

  • 核心:Topic Model中如何利用之前任務學習出的topic信息來提升當前任務下的效果
  • 問題關鍵1:之前任務學習到知識如何建模,1) must link{幾個term必須在一個topic中} 2) Not link(幾個term不在一個topic中)
  • 問題關鍵2:如何使用上述的知識?Gibbs sampling中通過改變抽樣的比例來利用must link和not link信息

My comments

  • LML這套在實際的工業應用場景中有,但是大多出現在冷啟動的場景中(大部分冷啟動場景主要也是遷移的是數據而非知識)
  • 將一個任務提取出的知識建模,而後融合到新的模型中的思路非常經典(如:現在NN模型上如何利用先驗知識也是很火的方向)

Slidespan.baidu.com/s/1jIEy3y

Other tutorials

  • T2: Advanced Markov Logic Techniques for Scalable Joint Inference in NLP
  • T4:Neural Networks for Sentiment Analysis
  • T5: Continuous Vector Spaces for Cross-language NLP Applications
  • T6: Methods and theories for large-scale structured prediction[Comments:建議關注(NER/Parse等問題都可以當做structure prediction問題)]

Slidespan.baidu.com/s/1dFeaO1

Invited Talks

Talk1: Learning in extended and approximate Rational Speech Acts models

By Christopher Potts (Stanford University):web.stanford.edu/~cgpot

研究問題:在理性的對話溝通中的如何用合理的語言來有效表達信息,如:下圖所示,如果想描述和表達中間那個頭像,則選擇glasses這個信息能比較清晰的傳遞信息

問題建模:RSA,信息接收者(Pragmatic listener)來說解讀該信息取決三個方面:之前的狀態(context),辭彙信息(語言理解),對信息傳遞者的信息傳遞推理建模。

My comments

  • 比較有意思的建模和研究,設計不少溝通的遊戲有點類似經常玩的「我描述你猜「
  • 建模啟發:人類在表達信息的時候會綜合利用聽眾信息(聽的人怎麼理解)、語言信息、信息本身幾個方面的要素,反過來接受者在decode時同樣如此

Slides: pan.baidu.com/s/1kUZKT1

Talk2:You Talking to Me? Speech-based and multimodal approaches for human versus computer addressee detection

by Andreas Stolcke(from MSR)

核心問題:基於語音/語言以及多模(圖像)信號進行包含機器人的群聊場景中的」說話人」識別(區分是否該機器回答)

本文的研究,主要還是特徵工程上的探索,主要的信號包括:

  • lexical info:N-gram class-specific LM
  • prosodic modeling(實驗證明語音、語調等信號十分有用):rhythmic、pitch/Using GMM
  • visual
  • spatial
  • Dialogue state

分類演算法:LR

My comments: 實際的應用場景中這個問題多通過@(Google allo),或者喚醒語(比如 echo的alexa)來解決

Talk3:Learning Models of Language, Action and Perception for Human-Robot Collaboration

by Stefanie Tellex (Brown University)

核心問題:人機交互中機器如何對人的對話、動作進行識別、感知以及實現相應的任務

建模:POMDP(Partially Observable MDP)【也是經典的對話系統中對話管理建模】

  • State: Physical state(機器的物理狀態),human mental state(人的需求),Observation(通過這個建立state),physical sensor(對應physical state),Language(語言理解是人需求的一種表達),Gesture(手勢也是人需求的一種表達)
  • Reward:是否完成任務
  • Actions:機器的物理動作(physical actions)、語言(Language)、手勢(Gesture)

關鍵問題:mapping between human-language and object of the env(現實環境中的物體<->)

輸入理解:word meanings from human』s speech(context是周圍的環境):P(y1,y2..| language)

輸出生成(NLG):對話時(比如澄清,哪個綠色的物件?)inverse semantics P(language | y1,y2,…)

Datasets collection

  • Goal/command-based:給定一個視頻(包含一些設定的動作,比如叉車取一個箱子到某一個位置上)讓人描述一個指令
  • 收集渠道:amazon turk

    My comments

    • 語言互動式機器人,impressive(有幾個示例的視頻: cs.brown.edu/~stefie10/ )
    • POMDP作為經典的建模方法,這裡面的各個方面的因素考慮值得在對話系統中借鑒(如:上下文中的context類似這個問題中的環境context,而intent recognition和slot filling等問題則是在這個context下的semantical understanding)

Selected Papers

Papers – QA Session

Paper1: Creating Causal Embeddings for Question Answering with Minimal Supervision

問題:針對QA中的因果關係類型的問題進行針對性的優化

解決方案

  • 利用pattern抽取高準確的因果關係context(句法分析 + 規則pattern)
  • 利用抽取到的因果關係context 訓練specific word embedding(bi-directional embedding最有效)
  • 把上述word embedding的特徵加入到QA的IR方法中,提升QA的相關性

Detailsemnlp2016.net/program/3

My comments:細分子問題,構建子數據集來學習,是提升效果的一個比較經典的思路

Paper2: Improving Semantic Parsing via Answer Type Inference

問題:如何提升QA中問題中的語義解析準確率

解決方案:添加一個中間層信息(Answer Type類型)

  • 將Question句子轉化為正常的表述語句,且抽取entity生成pattern
  • 基於上述表述語句,基於Bi-LSTM進行QA-Answer Type的分類

My comments

  • Bi-LSTM用來做分類/Tagging已然是標配
  • 細分問題,增加一些中間信息可以提升效果,也是相對比較commo的思路
  • pattern的生成以及句式轉化等細節是應用中的」trick」

    Detailsemnlp2016.net/program/1

Papers – Text Generation Session

Paper1:Generating Topical Poetry

問題:寫詩問題(給定一個詞在一個類型詩的字數、韻律等限制下,寫一首語義有意境、相關聯的詩)

挑戰:詩體限制、語義關聯、詩意等

解決方案(基於FSA進行嚴格的韻律等限制控制,利用RNN進行path選擇):

  • Choosing related words: using word embeddings
  • Selecting Rhyme pairs
  • Making a FSA(有限狀態接收機):生成一些候選
  • 基於RNN選擇一條best path
  • 細節trick:對repeated words進行懲罰

數據集:歌曲(進行語義關聯學習)

幾個擴展問題

  • 如何把嚴格的格式和一些詩的限制放開,而讓模型自己去學習結構
  • sentiment 信息加入
  • 行與行之間還只是在topic層面關聯,不會有一些關聯信息

detailsemnlp2016.net/program/7

Paper2:Deep Reinforcement Learning for Dialogue Generation

問題:chi-chat中的對話生成

Previous work: seq2seq 生成式方法單輪的reward

Challenge

  • dull and generic responses
  • repetitive response(生成是問題容易陷入重複的回復中),Eg:See you later. -> See you later
  • short-sighted conversation decisions;Eg:How old are you? -> I』m 16 -> 16? -> ….

解決方案:RL model,將上述問題建模到reward中

  • State:previous two dialogue turns/使用LSTM模型學習的向量表示
  • Action: dialogue utterance to generate
  • Reward:Ease of answering:計算dull response在seq2seq model中當下產生的分數的負向;Information flow(diversity):上下文語義相似的負得分;semantic coherence: Pseq2seq(s1|s2) + Pseq2seq(s2|s1)

RL訓練:simulation

兩個agent初始化時用common的seq2seq模型進行初始化

而後進行對話,基於RL模型進行模擬生成數據並學習

演算法:AlphaGo-style strategy (Silver et al., 2016)

My Comments

  • 閑聊中生成式的方法能保證召回和產生一些」意外」的回答,但是往往重複性等問題比較嚴重, 該方法基於RL的建模把一些問題通過reward建模,通過兩個agent模擬來訓練,是個不錯的思路
  • 不過工業界還是IR路線為主(資源質量的可控,物料增加後的小範圍泛化能力等)

detailsemnlp2016.net/program/6

Paper3:Neural Text Generation from Structured Data with Application to the Biography Domain

問題:給定一些結構化的概念,生成一段整體的text(concepts->text),文章聚焦在人物自傳領域(已知一些結構化的個人信息,生成一段介紹的話)

演算法核心:Neural Language Model for constrained sentence generation

  • 在NLM生成Text思想的基礎上,將結構化的concept信息融合進去
  • 融合的方法:每個詞除了有一個詞典集上的index外,還有在concept table上的信息(filed【哪個欄位】, position【該欄位的那個position】)
  • 為了刻畫一個filed結束的位置,position上既引入start的也引入end的position

    NN模型:經典的NLM網路結構(Embedding + 全連接層 + softmax層)

    Embedding: word embedding & table embedding(including the start position and end position<雙向>)

    數據:wiki數據(描述文本 <-> 結構化concepts)

    detailsemnlp2016.net/program/6

    My comments:table embedding的想法不錯,這次會議里如何將結構化的信息融合到NN網路中的工作越來越多

Papers:Dialogue system session

Paper 1:Nonparametric Bayesian Models for Spoken Language Understanding

問題:SLU中的slot filling問題(當前對話系統中NLU的經典問題),按照slot下value取值是否有限分為兩類

  • arbitrary slot filling task:建模為序列標註問題
  • categorical slot filling task:建模為分類問題

    本文的解決方案
  • 觀察和假設:slot的value取值雖然很多情況下理論上是非有限的,但是往往其分布(詞的分布)是有限的
  • 問題核心:學習一個slot下value的分布

演算法

  • 用Dirichlet Process來對slot下value分布進行建模對於非需要的slot,按照在句子的前、中、後,構建3 slot(begin,middle,end)
  • 用generative model生成utterance的方式來學習(類似topic model思想)

實際應用中:對基於序列標註(CRF-Based)生成的候選集(N-Best)利用該分布進行re-ranking

My comments

  • 比較精細化優化的一條思路,從應用層面來說,個人可能不會太放在太靠前來考慮嘗試
  • 移植到中文上需要考慮個中文單字與英文letter的範圍空間的差異對數據空間要求的差異
  • 背後的建模假設值得思考:即雖然一些無限取值的slot,但是其「分布」可能是有限的,文中作者提的是letter上的分布。

Detailsemnlp2016.net/program/1

Papers:Best Papers

Best long papers

  • Improving Information Extraction by Acquiring External Evidence with Reinforcement Learning
  • Global Neural CCG Parsing with Optimality Guarantees

Best short papers

Learning a Lexicon and Translation Model from Phoneme Lattices

Best resource paper

SQuAD: 100,000+ Questions for Machine Comprehension of Text

Improving Information Extraction by Acquiring External Evidence with Reinforcement Learning

問題:信息抽取(IE)問題,如從一段刑事新聞中抽取兇殺者與兇殺的人數【KB構建的基礎】

挑戰:較強泛化能力的extractor需要大量的訓練數據來cover住在不同context下的不同表達,如:shooter、suicide victims

解決方法:引入external的信息(如:基於該事件去search其他該事件的不同描述)

難點

  • 如何生成引入external信息的查詢query(直接title效果很差)【how to query】?
  • 如何融合新引入的外部信息抽取到的實體【how to reconcile】?
  • 引入external是否需要循環迭代?

演算法: RL-based(將Query和Reconcile當做決策的action,將IE的accuracy作為reward來建模驅動)

State:包含幾個信息組合的一個vector

  • 當前文章抽取的實體置信度 + 新文章抽取的實體置信度
  • 抽取到的實體的詞其周邊word的TF和IDF
  • 當前文章和新文章之間的文本相似性:IF/IDF based

    Action:兩類決策動作(reconcile和query)

  • Reconcile:1) 接受新的某個實體的抽取(即信任某個新的實體抽取)2)接受所有新的 3)不接受所有新的 4)stop(即不再進行新的query和reconcile)

  • query: 候選集【一些模板和規則,主要圍繞title和title的一些變種方法】

    Reward:刻畫accuracy的變化以及同時對進行一次query查詢進行懲罰

    Learning method: Deep Q-Network(Mnih et al.,2015 )

Summary

整體的感受:

  • NN是標配演算法
  • 如何將結構化的知識建模融合到DNN中是很多人在做的工作
  • RL method is blooming
  • 有一些問題在工業界並不是問題,或者說並不是那麼急迫的問題,如:有不少paper在做群聊對話系統中,誰和誰對話,以及是否是機器對話(產品上可以用更為明確的方式達到相對OK的體驗,比如 @,喚醒詞等)

推薦閱讀:

PaperWeekly 第53期 | 更別緻的詞向量模型:Simpler GloVe - Part 2
線下沙龍 x 北京 | NLP專題技術分享會,佔座全憑手速!
論文推薦:機器閱讀理解,問答系統,對話生成 | 本周值得讀 #36
SEO詞庫清洗詞和歸類相關問題?

TAG:自然语言处理 | 机器学习 | 人工智能 |