本文主要用于歸納整理與對話系統(tǒng)相關(guān)的開放意圖檢測與發(fā)現(xiàn)相關(guān)的3篇論文。
本文主要參考:https://hanleizhang.github.io/
相關(guān)資料介紹:http://aitime-lundao.oss-cn-beijing.aliyuncs.com/AitimeReport/20210312/aaai4.pdf
------------------第一菇 - 研究背景及現(xiàn)狀------------------
現(xiàn)階段的機器學習技術(shù)的突破創(chuàng)新,大多還是停留在封閉的知識域內(nèi)。然而在真實的工業(yè)落地場景中,大量的應(yīng)用場景是開放域的,即,無法預(yù)先完全定義線上模型將會面對的數(shù)據(jù)分布,大量的真實數(shù)據(jù)可能都不在目標學習范圍之內(nèi),因此,如何及時發(fā)現(xiàn)這些新知識,就成為最新的前沿研究熱點。本文將主要聚焦于探討,中的開放意圖檢測與發(fā)現(xiàn)問題。
任務(wù)型對話系統(tǒng)中,能否準確識別用戶的意圖,直接決定了整套對話系統(tǒng)的服務(wù)質(zhì)量。然而,在真實的工業(yè)落地場景中,用戶的意圖總是會超出預(yù)設(shè)的范圍,大量的域外話術(shù)沖擊著模型,導致系統(tǒng)的識別率低,準確率低,因此,檢測并發(fā)現(xiàn)用戶開放意圖并加以有效利用具有很大的商業(yè)前景,能極大的提高整套系統(tǒng)的商業(yè)落地價值。
但是具體來說,開放意圖的發(fā)現(xiàn)其實也可以細分為2個子問題,
1)如何將開放意圖與已知意圖分離?
a. 本質(zhì)上是個開放領(lǐng)域的分類問題
b. N類已知意圖,開放意圖全部歸為一類
c. 訓練集只包含已知意圖

2)如何發(fā)現(xiàn)開放意圖的細粒度類別?
a. 半監(jiān)督聚類問題
b. N類已知意圖,M類細粒度開放意圖
c. 訓練集包含少量有標注已知意圖+大量未標注意圖

------------------第二菇 - 論文解讀------------------
01. Deep Open Intent Classification with Adaptive Decision Boundary
論文鏈接:https://arxiv.org/pdf/2012.10209.pdf
相關(guān)代碼:https://github.com/HanleiZhang/Adaptive-Decision-Boundary
摘要
在對話系統(tǒng)中,開放域的意圖分類是一個富有挑戰(zhàn)性的問題。一方面,系統(tǒng)首先得確?!耙阎币鈭D的準確識別,另一方面,在沒有先驗知識的前提下,系統(tǒng)需要去發(fā)現(xiàn)那些“未知”的意圖?,F(xiàn)有的模型需要去尋找合適的決策邊界(decision boundary)來平衡對“已知”和“未知”意圖的識別能力。在本論文中,我們提出了一種后處理方法來自適應(yīng)的學習決策邊界,該邊界能更好的用于開放域的意圖分類。我們首先使用了帶標簽的意圖分類數(shù)據(jù)來預(yù)訓練模型。然后,我們在訓練好的特征輔助下,針對每一個“已知”意圖,來自適應(yīng)的學習決策邊界。具體實踐過程中,我們還提出了一種新的損失函數(shù)來平衡“經(jīng)驗風險”和“開放域風險”(即,同時兼顧“已知”和“未知”意圖的識別能力)。該方法不需要未知意圖的標簽數(shù)據(jù),并且模型的架構(gòu)也是可以更改的。另外,我們驚喜的發(fā)現(xiàn),該方法在只有少量“已知”意圖的情況下,依然有很好的表現(xiàn)。從3個基準數(shù)據(jù)集的測試實驗結(jié)果反饋來看,我們的方法相比于現(xiàn)有的方法取得了巨大的提升。
背景介紹
在任務(wù)型對話系統(tǒng)中,具備發(fā)現(xiàn)用戶說的是“開放域”意圖(open intent)這個能力是十分重要的。如下圖所示,

我們已經(jīng)預(yù)先定義好了2個意圖(book flight, restaurant reservation)然而,還有更多的話術(shù)是我們系統(tǒng)暫時不支持的(與現(xiàn)有意圖沒有關(guān)聯(lián)性),因此我們需要盡可能的將,“已知”意圖和“開放域”意圖進行區(qū)分。一方面,甄別出這些“開放域”的意圖能減少錯誤回答的情況,另一方面,匯總收集這些“開放域”的意圖也能聚焦發(fā)現(xiàn)更多用戶的潛在需求。
我們將“開放域”的意圖分類,當作是,n+1類別的分類任務(wù),其中,n就是“已知”意圖的個數(shù)。整個任務(wù)的核心目標只有2個,
1)準確識別出“已知”意圖的數(shù)據(jù),并準確分類到他們所屬的意圖類別。
2)甄別出“開放域”意圖數(shù)據(jù),即將這些數(shù)據(jù)識別分類到第n+1個類。
研究現(xiàn)狀
現(xiàn)有的一些方法都聚焦于去設(shè)計一個專門的域外分類器來甄別這些“開放域”的意圖數(shù)據(jù),但是這些分類器都需要提前預(yù)設(shè)一批負樣本來選擇合適的決策邊界。并且,這還是一個耗費人力的活,因為需要人工參與去判斷這些閾值的選擇是否合理,并且,受到你參與訓練的負樣本所限制,往往你換一批負樣本,可能整個選擇的條件就都變化了。我覺得核心問題還是,這些基于統(tǒng)計數(shù)據(jù)的閾值選擇方法,并沒有去倒逼模型,真正的學會區(qū)分“已知”意圖和“開放域”意圖。
主要方法
先放一張圖,來概覽整個方法的流程框架,

步驟1. 意圖表征與預(yù)訓練方法
利用Bert來抽取每一句話的深度意圖表征,經(jīng)過12層Transformer的編碼后,取每一個詞表征的平均池化作為句向量(注意這里不是只取第一個詞)。然后,將其通過一層全連接層,獲得意圖表征。因為我們?nèi)鄙佟伴_放域”意圖的標簽數(shù)據(jù),所以我們先用這一部分帶標簽的“已知”意圖來預(yù)訓練我們的模型,訓練目標比較簡單,就是分類交叉熵損失,以上步驟總結(jié)如下圖所示,

步驟2. 決策邊界學習
根據(jù)過往的資料調(diào)研,球形的決策邊界能最大程度上的減少“open space”風險,因此,本文也繼續(xù)沿襲這一思路。首先我們需要計算出每一類意圖的“簇中心”,根據(jù)上一步提取出的每一句話的意圖表征,我們對屬于同一類意圖(記住哦,對于“未知”的意圖,他們現(xiàn)在是一個類別)的句子的意圖表征取平均,即代表,該類的,“簇中心”,如下,

然后對于每一類意圖的球形決策邊界,我們希望滿足,
?z_i ∈Sk, ‖zi ?ck‖^2 ≤?k
即,我們希望該意圖下的所有數(shù)據(jù),都能被包含在這個,以c_k為中心,?k為半徑的球形空間內(nèi)。
其中,這個半徑,?k,就是第二步我們需要利用深度神經(jīng)網(wǎng)絡(luò)去學習的參數(shù),為了令其可微,我們還采用了softplus激活函數(shù),來做了一層映射,
?k = log(1 + e^?k)
利用softplus這個激活函數(shù)的好處總結(jié)如下,
1)可以求導,反向傳播的時候?qū)W習到這個參數(shù)。
2)可以保證學到的半徑,?k一定是大于0的。
3)也兼顧了ReLU的線形特征(其實他本身就是ReLU的平滑版本),并且允許大數(shù)值。
上述表述過程,可以總結(jié)如下圖,

然后,根據(jù)我們上述的定義,我們可以針對性的設(shè)計出一個,計算邊界的損失函數(shù)。
比如,
1)當, ‖z_i ?c_yi ‖_2 > ?yi,的時候,該樣本就遠離了其本該屬于的類別簇中心,肯定是希望模型往近了的方向優(yōu)化更好,這樣才能涵蓋該樣本。(即,考慮準確率)
2)當,‖z_i ?c_yi ‖_2 < ?yi,的時候,該樣本就在這個類別的邊界范圍內(nèi),但我們會希望這個邊界范圍盡可能的往外擴,這樣可以更多的去涵蓋本應(yīng)識別的樣本(否則,會出現(xiàn)大量的“未知”意圖,即,考慮識別率)
損失函數(shù)表述如下圖所示,

當我們訓練出合理的決策邊界以后,就可以利用每句話的表征與各個質(zhì)心的距離來判斷,該句是否為“開放域”意圖,如果不是的話,也能同時得到,該句話所屬的意圖(與哪個質(zhì)心的距離最近),如下所示,

主要貢獻
各實驗結(jié)果,直接參考原始論文即可。
看完整篇論文,可以得出,本文的主要貢獻主要集中在2個方面,
1)針對“開放域”意圖的發(fā)現(xiàn),巧妙的轉(zhuǎn)化為,n+1的分類問題。
2)提出了一種訓練,決策邊界的方法,減少了大量的人工介入干預(yù)過程。
a. 定義球形決策邊界,通過平衡經(jīng)驗風險和開放空間風險學習緊湊的決策邊界。
b. 無需開放域樣本參與,自動學習決策邊界避免復雜調(diào)參。
c. 允許任意神經(jīng)網(wǎng)絡(luò)分類器,在不修改模型架構(gòu)的情況下檢測開放意圖。
------------------第三菇 - 其他OOD檢測方法------------------
另附4篇與OOD檢測相關(guān)的文章總結(jié),
【騰訊文檔】開放意圖檢測方法
https://docs.qq.com/mind/DVFd1RXlYUmhYRk9O