文章首發(fā)于zhkun的小窩
介紹
這篇文章是COLING 2018的beat reproduction paper,文章主要對(duì)現(xiàn)有的做句子對(duì)任務(wù)的最好的幾個(gè)模型進(jìn)行了重現(xiàn),并且作者實(shí)現(xiàn)出來的效果和原文章聲稱的效果相差不多,這點(diǎn)還是很厲害的,而且作者對(duì)語義理解的集中任務(wù)也做了相關(guān)梳理,文章簡(jiǎn)單易讀,還是很值得一看的。
任務(wù)
句子對(duì)建模是NLP,NLU中比較基礎(chǔ),并扮演著重要角色的任務(wù),主要集中在語義理解,語義交互上,也是我自己的一個(gè)研究方向,大致有這幾類任務(wù)
- Semantic Textual Similarity (STS) :判斷兩個(gè)句子的語義相似程度(measureing the degree of equivalence in the underlying semantics of paired snippets of text)
- Natural Language Inference (NLI) :也叫Recognizing Textual Entailment(RTE),判斷兩個(gè)句子在語義上是否存在推斷關(guān)系,相對(duì)任務(wù)一更復(fù)雜一些,不僅僅是考慮相似,而且也考慮了推理。
- Paraphrase Identification (PI) :判斷兩個(gè)句子是否表達(dá)同樣的意思(identifing whether two sentences express the same meaning)
- Question Answering (QA) :主要是指選擇出來最符合問題的答案,是在給定的答案中進(jìn)行選擇,而不是生成
- Machine Comprehension (MC) :判斷一個(gè)句子和一個(gè)段落之間的關(guān)系,從大段落中找出存在答案的小段落,對(duì)比的兩個(gè)內(nèi)容更加復(fù)雜一些。
模型
有了任務(wù),作者選取了集中目前情況下最好的模型,因?yàn)樵闹忻總€(gè)模型可能只針對(duì)了某些任務(wù)進(jìn)行了很多優(yōu)化,那這些模型是否真的有效呢,作者考慮這些模型在所有的任務(wù)上進(jìn)行比較,在介紹模型之前,作者首先介紹了句子對(duì)建模的一般框架:
一般框架
- 輸入層:適用預(yù)訓(xùn)練或者參與訓(xùn)練的詞向量對(duì)輸入中的每個(gè)詞進(jìn)行向量表示,比較有名的Word2Vec,GloVe,也可以使用子序列的方法,例如character-level embedding
- 情境編碼層:將句子所處的情境信息編碼表示,從而更好的理解目標(biāo)句子的語義,常用的例如CNN, HighWay Network等,如果是句子語義表示的方法,一般到這里就結(jié)束了,接下來會(huì)根據(jù)具體的任務(wù)直接使用這一層得到語義表示
- 交互和注意力層:該層是可選的,句子語義表示有時(shí)候也會(huì)用到,但更多的是詞匹配方法用到的,通過注意力機(jī)制建模兩個(gè)句子在詞層面的匹配對(duì)齊關(guān)系,從而在更細(xì)粒度上進(jìn)行句子對(duì)建模,個(gè)人認(rèn)為句子語義表示也會(huì)用到這些,只是句子語義表示最后會(huì)得到一個(gè)語義表示的向量,而詞匹配的方法不一定得到句子語義的向量
- 輸出分類層:根據(jù)不同的任務(wù),使用CNN,LSTM,MLP等進(jìn)行分類判斷。
下圖展示了一些句子語義表示的模型的基本框架:
有了這個(gè)一般的框架,接下來作者選取了集中目前最好的模型進(jìn)行重現(xiàn)
模型選擇
- InferSent[1]:BiLSTM+max-pooling
- SSE[2]:如圖1,和InferSent比較類似
- DecAtt[3]:詞匹配模型的代表,利用注意力機(jī)制得到句子1中的每個(gè)詞和句子2中的所有詞的緊密程度,然后用句子2中的所有詞的隱層狀態(tài),做加權(quán)和表示句子1中的每個(gè)詞
- ESIM[4]:考慮了一些詞本身的特征信息,和DecAtt比較類似
- PWIM[5]:在得到每個(gè)詞的隱層狀態(tài)之后,通過不同的相似度計(jì)算方法得到詞對(duì)之間相似關(guān)系,最后利用CNN進(jìn)行分類。
數(shù)據(jù):
為了更好的展示每個(gè)數(shù)據(jù)的情況,在這里直接用下圖展示作者使用到的數(shù)據(jù)集:
結(jié)果
直接上結(jié)果,上圖是原文章中的結(jié)果,下圖是作者重現(xiàn)的結(jié)果
從結(jié)果上看,作者實(shí)現(xiàn)的效果還是很厲害的,基本上跟原文章聲明的不相上下,當(dāng)然由于不是針對(duì)特定任務(wù)進(jìn)行特別優(yōu)化,所有效果還是有一點(diǎn)點(diǎn)差的,但基本上可以認(rèn)為是實(shí)現(xiàn)了原來的效果,而且作者也發(fā)現(xiàn)了一些有意思的現(xiàn)象,例如:表現(xiàn)最好的就是ESIM,個(gè)人感覺這里面加入了很多次本身的一些信息,例如近義詞,反義詞,上下位信息等,這些信息其實(shí)對(duì)句子語義理解十分重要。
以上就是這篇文章的整體介紹,作者完整實(shí)現(xiàn)了這些方法,并在不同的數(shù)據(jù)集上進(jìn)行驗(yàn)證,工作量還是很大的,而且對(duì)句子對(duì)建模進(jìn)行了比較完整的介紹,還是很有意思的。?(^?^●)?
引用
[1]:Supervised learning of universal sentence representations from natural language inference data
[2]:Shortcut-stacked sentence encoders for multi-domain inference
[3]:A decomposable attention model for natural language inference
[4]:Enhanced LSTM for natural language inference
[5]:Pairwise word interaction modeling with deep neural networks for semantic similarity measurement