1. 程式人生 > 實用技巧 >論文閱讀:Adapter-Bot【融合異質對話任務-工程正規化】

論文閱讀:Adapter-Bot【融合異質對話任務-工程正規化】

《The Adapter-Bot: All-In-One Controllable Conversational Model》

標題:《The Adapter-Bot: All-In-One Controllable Conversational Model》

作者:香港科技大學

時間:2020年8月

過去對話系統的問題:
have little or no control of the generated responses and miss two important features:

(1) continuous on-demand dialogue skills integration:連續性對話技術整合(e.g., emphatic response, weather information, movie recommendation)

(2)seamlessly leveraging diverse knowledge sources:無縫地利用多種的知識源(文字,表格,graph等)

作者實施了12種response style,8種goal-oriented skills,以及個性化和共情性的回覆。

作者將其interactive system公開在了adapter.bot.ust.hk.

Introduction

過去的對話模型,儘管are finetuned on multiple conversational datasets, 但是,它們:

1、並沒有一種可用的機制 (e.g., control codes or latent variables)來控制回答問題的skill。

2、無法add dialogue ‘skills’ continuously,在不重新學習所有模型引數的情況下

3、cannot generalize over knowledge of multiple types, e.g., text, tables, images, and graphs.

【按:這裡所謂的多種知識源,可參看表1,例如查詢天氣、基於知識圖譜的知識問答、閒聊、維基百科閱讀理解。我個人將其分為三類:呼叫外部API;查詢圖資料庫;呼叫百科知識庫】

在這裡插入圖片描述

In this paper, we propose a general model that is able to process any kind of text-based knowledge.

【按:還有一種源是以images為輸入的,參見論文《The dialogue dodecathlon: Open-domain knowledge and image grounded conversational agents.》。不過本文作者並沒有實現以images為輸入的對話系統。】

Methodology

我們提出了Adapter-Bot,由:

  • 一個frozen backbone對話模型;

  • 一組可訓練的獨立殘差residual adapters;

  • 一個可訓練的對話管理器dialogue manager

組成。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-i6K9bSWL-1602334961565)()]

看圖1,輸入的對話歷史 X X X經過多元的meta-knowldge M M M 處理後,使用對話管理器選擇一個合適的adpater layer,生成回覆 Y Y Y
Y = f Θ ( X , M ) Y=f_{\Theta}(X,M) Y=fΘ(X,M)
本文生成模型使用DialoGPT。

下面依次講解模型的三個組成部分。

1. Residual Adapters

考慮預訓練語言模型的第 i i i層的隱藏狀態 H i ∈ R n × d H_i\in R^{n\times d} HiRn×d

(n:generation step;d:hidden size)

則Residual Adapter這樣計算:
A θ ( H i ) = Relu ( LN ( H i ) W i E ) W i D + H i \text{A}_{\theta}(H_i)=\text {Relu}(\text{LN}(H_i)W^E_i)W^D_i+H_i Aθ(Hi)=Relu(LN(Hi)WiE)WiD+Hi
LN是layer normalization,即將 H i H_i Hi經過LayerNorm和兩層線性層後,再加自己。

Residual Adapters們,就是加到預訓練語言模型的每一個transformer層頂部的可訓練模組,用於在不改變原始權重的情況下操控輸出分佈。

2. The Adapter-Bot

假定我們共有p個residual adapters,分別記為 θ 1 , . . . θ t , . . . θ p \theta_1,...\theta_t ,... \theta_p θ1...θt,...θp。相應的對話資料集為 D = { D 1 , . . . , D t , . . . , D p } D=\{D^1,...,D^t,...,D^p\} D={D1,...,Dt,...,Dp}(相當於對應的外部元知識M),

那麼,用一個adapter skill-ids t t t擴充套件公式輸入如下:
Y = f Θ , θ t ( X , M , t ) Y=f_{\Theta, \theta_t}(X,M, t) Y=fΘ,θt(X,M,t)
通過優化 θ t \theta_t θt使 D t D_t Dt與它的知識 M M M的negative log-likelihood最小

Dialogue Manager

對話管理器就是一個 p p p分類器,訓練資料與上文一樣是 D D D,區別是,我們的目的是給定來自 D t D^t Dt的對話歷史輸入,對話管理器能把 t t t預測出來。

Knowledge Retrieval

本節是關於如何從外部知識源抽取知識的。

對於WikiPedia,使用the TFIDF retriever,抽取出概率最高的paragraph作為元知識

【按:參閱開放域問答論文《Reading wikipedia to answer open-domain questions》】

對於knowledge graph,從使用者話語中抽取實體後匹配對應的實體節點,返回子圖,以三元組形式作為元知識。

對於query the online API(例如weather API),使用啟發式規則(heuristic rules)抽取slot values,具體情況具體分析。

Response Re-ranking

這裡的目的是,讓模型能回答11種不同style/topics。具體地,取樣多條回覆,然後基於一定規則重新排序。作者為每一種style/topics使用一個額外的分類器to score each of the generated responses,The response with the higher score is returned to final user。

such as common sense, basic knowledge, asking/sharing about personality, likes/dislikes, opinions, feelings, hobbies, pleasantries

參考文獻:

  • 《Plug-and-play conversational models》

  • 《Towards a human-like open-domain chatbot》

  • 《Plug and play language models: a simple approach to controlled text generation》

Experimental Setup

We train each of the adapters using different dialogue datasets and settings. In this section, we summarize each of the datasets, which skill they represent, and how they have been pre-processed.