基本概念:
1、槽可以理解為實體已明確定義的屬性,例如打車中的,出發地點槽,目的地槽,出發時間槽中的屬性分別是“出發地點”、“目的地”和“出發時間”
2、語義槽是指NLU模塊從句子中抽取出的特定概念
3、填槽指的是為了讓用戶意圖轉化為用戶明確的指令而補全信息的過程
4、槽填充則可以看做是序列標注問題,即對於給定的句子中的每個詞分別打上相應的標簽
5、填槽的專業表述:從大規模的語料庫中抽取給定實體(query)的被明確定義的屬性(slot types)的值(slot fillers)——網絡文章定義
6、實體是對話的核心概念,一定程度上的和用戶的意圖相關
概念詳解
一、槽
1. 定義
上文中我們提到了填槽指為了讓用戶意圖轉化為用戶明確的指令而補全信息的過程
2. 槽與槽位
槽是由槽位構成的,比如出發地點的槽,可以通過上下文獲得、直接獲得,獲得GPS等槽位獲得
3. 槽的屬性:可默認填寫/不可默認填寫
有些槽是不可默認填寫的,不填沒辦法繼續下去,有些即使不填,有默認值也可。
4. 槽的屬性: 澄清話術
當槽不可默認填寫同時又沒有填寫的時候,就要進行澄清
5. 槽的屬性:澄清順序
當有多個槽需要澄清的時候,就存在先后順序的問題,所以需要一個澄清順序,先問什么,再問什么。
6. 槽的屬性:平級槽或依賴槽
根據槽和槽之間是否獨立,后續的槽是否依賴前面槽的結果。
可以將槽之間的關系分為
- 平級槽,槽與槽之間沒有依賴,例如打車中的三槽
- 依賴槽,后續的槽是否依賴前面槽的結果,例如手機號碼槽,不同國家手機號碼格式不同(槽的屬性不同),所以國家槽會影響選擇哪個手機號碼槽。
7. 槽的能力:多輪記憶狀態
槽還有記憶的能力
2)槽位
上面我們提到槽是由槽位構成的,一個槽位就是一種填槽的方式
1. 槽位的屬性:接口槽與詞槽
- 詞槽,通過用戶對話的關鍵詞獲取信息的填槽方式
- 接口槽,通過其他方式獲取信息的填槽方式
2. 槽位的屬性:槽位優先級
當有多個槽位的時候,槽該采用那個信息,這時候有個優先級。
還是之前的出發地點槽,如果用戶通過詞槽指定了出發地點是A,優先級就應該是最高的,其次才是通過不同的接口槽獲取的B,C等
幾篇不錯的文檔
https://blog.csdn.net/u010159842/article/details/80759428 Chatbot中的填槽(Slot Filling)
https://blog.csdn.net/u013713117/article/details/54974363 意圖識別和槽填充
https://blog.csdn.net/m0epNwstYk4/article/details/80479967 機器人意圖識別和詞槽抽取RasaNLU解析
https://blog.csdn.net/junruitian/article/details/88773885