Sentence Embedding Methods

本文介紹四種sentence embedding的方法,分別是Sent2vec, SkipThought, InferSent和pair-wise discriminator。其中前兩種是無監督,後兩種是有監督的。

Sent2vec

Sent2vec 是將句子中的ngram向量求平均得到句子embedding。其中ngram包括單個詞和多個詞。(由於考慮到了ngram特徵,可以認為結合了fasttext)

然後利用Word2vec來計算每個ngram的詞向量:其中u為target word embedding, v為source word embedding。w_t 為當前詞,S為句子, N_{w_t} 為可採樣的負例。

Skip-Thought

Skip Thought利用當前句子embedding來預測上一句和下一句。(Bert中只加入了NSP, 如果加上前一句預測是否會更好呢?)

InferSent

InferSent是利用自然語言推理(NLI )數據來對premise和hypothesis進行句子embedding, 並進行3-way classification, 來預測NLI的結果。

論文設計了多種sentence embedding的網路架構,分別是

By exploring various architectures, we showed that a BiLSTM network with max pooling makes the best current universal sentence encoding methods, outperforming existing approaches like SkipThought vectors. (原文)

Pair-wise discriminator

本文利用Paraphrase Data, 訓練Encoder-Decoder模型。

比如輸入Is university really worth it? 用Encoder編碼,然後解碼輸出Is college even worth it? 這是Local loss.

另外作者加入了一個判別器。正例為(某個句子解碼器輸出的Paraphrase,某個句子真實的Paraphrase), 負例為(某個句子解碼器輸出的Paraphrase,其他句子解碼器輸出的Paraphrase)。然後用判別器來區分正例和負例。使得編碼器將某個句子解碼器輸出的Paraphrase和它真實的Paraphrase接近,和其它句子的解碼器輸出距離遠。這是Global Loss.

以下為編碼,解碼,和判別器的具體實現。

TODO: Empirical Linguistic Study of Sentence Embeddings (ACL 2019)設計了幾種測試數據對以上幾種句子表示進行了對比。

參考:

[1] Unsupervised Learning of Sentence Embeddings using Compositional n-Gram Features (NAACL 2018)

[2] Skip-Thought Vectors (arXiv 2015)

[3] Supervised Learning of Universal Sentence Representations from Natural Language Inference Data (EMNLP 2017)

[4] Learning Semantic Sentence Embeddings using Sequential Pair-wise Discriminator (COLING 2018)


推薦閱讀:

語音識別筆記 (五) MFCC,搜索-解碼,嵌入式訓練
2018 CCF-GAIR 參會筆記 - NLP 專場
對話機器人在瓜子的實踐
2018.5.28論文推薦
本周Github精選:這12個最新AI開源項目,你一定要收下

TAG:自然語言處理 | 深度學習(DeepLearning) |