而本次介紹的Conditioned language model則是在該模型基礎上,增加了給定條件,即我要求next word的條件概率,除了前面的詞的信息外,還有其他的上下文信息,可以用如下公式表示:
其中,X表示新增的上下文。這個X可以是其他語素信息,也可以是通過其他序列模型編碼的信息。
根據X和Y的不同,處理的NLP任務也不同。
舉例:X和Y分別為兩門不同的語種,則此時該Conditioned language model可以用於做machine translation;若X為一篇文檔,而Y表示短語或者短句,則此時相當於是做文本摘要任務;若X為結構化數據,而Y是一個自然語言的描述,則該任務為文本生成。
Encoder-decoder模型
下面介紹一個經典的Conditioned language model:encoder-decoder模型。該模型的基本思想很簡單,即假設當前我們的目標是計算句子Y的概率,此時使用一個RNN的language model對一個另一個相關句子X進行訓練得到一個編碼結果H,然後使用另外一個RNN的language model接受Y和H進行訓練,即將H的信息解碼用於訓練得到我的目標結果。具體的模型結構如圖: