李龍華
摘要:會話系統為人機交互回答用戶提出的查詢和問題提供了一種靈活便捷的操作方法。常規的會話系統分為FAQ問答系統和任務型對話系統兩類。在FAQ問答系統中,用戶需要提供詳細具體的信息以方便系統檢索返回正確的答案,但是無法得到定制化的答案;在任務型對話系統中,用戶必須按照系統定義好的多輪對話交互路徑,才能達到最終的目標結果。文章提出一種融合FAQ和任務對話樹的方法,解決FAQ和任務型對話樹各自的缺點,同時允許領域專家創建對話樹,基于該對話樹生成訓練數據。在實驗環境下測試結果表現優秀。
關鍵詞:對話系統;FAQ問答;任務型對話;對話樹
中圖分類號:TP18? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)34-0023-03
開放科學(資源服務)標識碼(OSID)
0 引言
2022年OpenAI發布了聊天機器人ChatGPT,在多輪對話、自然語言生成等技術表現優異,在多語言交互自然語言理解任務方面,也具有很強的泛化能力[1]。人機對話系統作為人工智能自然語言處理的重要研究領域,并且相比搜索引擎其能夠快速回答用戶的問題,同時降低企業生產成本,廣泛應用于電子商務后臺客服機器人、智能駕駛助手、智能家電控制、商場智能導購等場景[2-3]。
基于FAQ模式的對話系統,可以直接匹配知識庫中定義好的問答對[4],只需領域專家收集、描述、定義好系統輸出,確保問答對事實正確,即可快速返回用戶查詢信息[5]??墒荈AQ模式無法對特定需求用戶給出定制化答復,比如,冰箱怎么調節出行模式,這依賴于冰箱型號和功能,如果把所有可能調節方式都羅列到一個答復中,答案就會變得冗長難以理解。另外,如果把所有冰箱型號的調節出行模式都放到知識庫問答對中,問答對的數量也將非常龐大,對檢索效率也是一個不小的挑戰。此外,FAQ對檢索精度要求非常高,如果只返回第一個,而第一個答案可能是錯誤的,可是如果返回多個候選答案,用戶面對眾多的答案在篩選過程中也會變得煩瑣[6]。所以,FAQ系統期望用戶能夠提供具體詳細的信息,以此提高檢索的精度。但是對于普通用戶可能并不熟悉這樣一個復雜的系統,無法給出特定問題描述。
基于任務型的對話系統,可以基于多輪對話技術引導意圖模糊的用戶逐步達到最終的目標[7],用戶提供簡短的、不必詳細具體的問題描述,系統即可以給出定制化的答案。然而,基于語義框架的任務型對話不僅需要大量的訓練數據來訓練一個泛化能力強的語義理解模型,而且對話管理系統也很復雜,很難控制領域意圖的邊界。所以,基于人工設計的任務流方式的對話系統依舊應用廣泛,比如,百度的Unit、Google的DialogFlow等系統,不需要過多的訓練數據,而且在特定的垂域場景下,對于非技術人員的領域專家,借助圖形界面即可以創建場景對話樹,更好的設計系統的交互行為[8]。然而,任務型對話系統對于有經驗的用戶的具體詳細的問題,依舊需要進行多輪交互逐步得到期望信息,而不能直接快速地給出答案。
在實際應用系統中,通常會設計一個分類架構將FAQ問答與任務對話組合使用,即訓練一個分類器用于判斷用戶請求屬于哪種對話類型,如圖1所示,這種方案依舊無法克服兩種對話模式的缺點。
針對上述兩種對話模式各有的優缺點,本文提出了:1) 一種融合FAQ問答與任務流對話樹的方法;并且在該方法中;2) 領域專家依舊專注于創建任務流對話樹,系統基于該對話樹自動生成模型訓練數據;3) 解決了FAQ問答的回復冗長無法定制化問題,同時針對用戶提供的模糊信息,保留了對話系統澄清引導的優勢,達到最終目標。
1 FAQ問答與任務流對話樹融合方法
本文提出的融合方法通過遍歷對話樹達到目標節點,輸出目標節點的內容,只有在必要的時刻向用戶提出澄清引導交互,輸出定制化回答。
給定一個對話樹有向圖G:
[G=(V,E)]
其中:
[V]表示所有節點的集合;
[E]表示所有的邊集合。
對話樹的每個節點定義了兩種交互類型ASK和GOTO,ASK表示澄清并輸出節點的內容,GOTO表示跳轉到下一個節點并輸出節點內容。任意節點v所關聯的邊的集合定義如下:
[Ev=ASKv,GOTOv,vi,...,GOTOv,vk]
其中:
[ASKv=(v,v)] 表示節點v到自身的邊;
[GOTOv,vi=(v,vi)] 表示節點[v]到節點[vi]的邊。
對話交互過程即是依據用戶的輸入[U],系統從起始節點[s]開始,找到一條到達目標節點[g]的路徑[p]:
[p=(ASKs,GOTOs,vi,...,ASK(g))]
其中[g∈V],要求[|ASKv|v ∈ V ,ASKv∈ p|]最小,如圖2所示。
任務型對話是從起始節點開始不斷經過中間節點的跳轉最終達到目標節點的交互過程。用戶輸入U與起始節點計算相似度達到閾值則跳轉到相鄰的中間節點,如果中間節點為ASK類型,則輸出節點文本并等待用戶再次輸入。這個過程中用戶不斷輸入[U1...Un]與中間節點計算相似度,不斷跳轉到其他節點,最終達到目標節點。
FAQ問答,如果用戶輸入U與起始節點計算相似度未達到閾值,則按照廣度優先遍歷對話樹,在遍歷過程中,如果節點為ASK類型,則保留節點的答案,并與用戶輸入U計算相似度。直到在遍歷過程中相似度達到閾值,則輸出該節點的內容,如果該節點是ASK類型,則等待用戶輸入,如果是GOTO類型,則繼續跳轉到中間節點,直到目標節點。如圖3,是兩種會話方式融合的一個交互例子。
在圖3中,是領域專家設計的一個與查詢任務有關的對話樹,如果用戶直接提供具體的詳細的輸入,系統經過廣度遍歷計算相似度達到目標節點輸出,即虛線路徑。如果用戶給出模糊的輸入,系統會進行多輪引導交互逐步達到目標節點,即實線路徑。如果按照傳統的分類架構方案,用戶的輸入“立式帶屏幕的空調怎么調節溫度”往往會落入到知識問答對檢索任務中,給出籠統的概述的輸出,而不是定制化的輸出。
在遍歷對話樹節點的過程中,本文采用了SimBERT為相似度計算的基礎模型。當對話樹創建完成后,反向遍歷各個節點的內容(文本和答案),如果是ASK類型節點,則將節點的文本和答案擴展為訓練數據。同時引入數據增強模塊,對訓練數據進行擴充,以提高模型的泛化能力。
2 實驗結論及分析
2.1 實驗數據集合
通過真實用戶后臺交互數據,統計了一個月內高頻數據,并從中隨機抽取了1 000條數據作為對比實驗數據集。示例數據如表1所示。
從示例數據中可以看出,用戶的問題范圍比較發散,設計家電多個功能的查詢與控制,能更好地測評系統回答的效果。
2.2 對比試驗
為了對比本文提出的方法的有效性,同時在服務器上部署了兩個服務,一個是原系統服務,一個是基于本文方法開發的新服務。針對兩個服務輸入相同的實驗數據集,從回答的正確性和定制化友好性兩個維度進行人工評測,回答正確得1分,不正確得0分,回答定制化友好得1分,不友好得0分。對比實驗得分如表2所示。
通過表2可以看出,在相同的數據集中,基于本文方法開發的新系統,在正確性和定制友好性都有明顯提升,尤其是在回答定制友好性方面,提升了157條數據。
針對定制友好性提升顯著的數據,本文從句法復雜度方面做了進一步分析,簡單句是指句子只有一個主謂賓結構或者動賓結構的句子,復雜句是指含有狀語、賓補等成分的句子,含有子句或者多個謂語動詞的句子,如表3所示。
通過表3可以看出,在查詢功能數據下共提升127條,提升效果明顯,說明本文提出的方法能夠較好地解決FAQ類型問答輸出的答案過于籠統、無法定制化的問題。同時,在復雜的陳述句數據下本文方法也有少量提升,提升效果不如疑問句,是因為原系統服務在陳述句命令控制方面做了長久的研發與優化工作。
3 總結與展望
本文提出了一種FAQ問答與對話樹融合的方法,既保留了任務型問答的澄清引導優勢,也解決了FAQ問答的回復籠統冗長問題。并且利用實際用戶數據訓練了一個相似度計算模型,針對用戶輸入該模型可以兼容一定的噪音數據,整個方案在實際應用中相比傳統分類框架取得了較好的效果。但是本文仍舊存在不足,需要再持續研究優化:1) 如果用戶輸入的是對話樹沒有設計的內容,模型和框架表現較差,仍舊需要傳統FAQ問答對檢索方式進行回答;2) 完全基于框架自動生成的訓練數據量還不是很充足,為了保證相似度模型的泛化能力需要引入數據增強工作,將來需要研究小樣本學習技術,解決該問題。
參考文獻:
[1] 車萬翔,竇志成,馮巖松,等.大模型時代的自然語言處理:挑戰、機遇與發展[J].中國科學:信息科學,2023,53(9):1645-1687.
[2] 李蘋.基于深度學習的FAQ問答系統設計與實現[D].武漢:華中科技大學,2021.
[3] 楊帆,饒元,丁毅,等.面向任務型的對話系統研究進展[J].中文信息學報,2021,35(10):1-20.
[4] 王讓.基于文本語義匹配的FAQ問答系統的研究與設計[D].北京:北京郵電大學,2021.
[5] WU C H,YEH J F,CHEN M J.Domain-specific FAQ retrieval using independent aspects[J].ACM Transactions on Asian Language Information Processing,2005,4(1):1-17.
[6] THAKUR N,REIMERS N,RüCKLé A,et al.BEIR:a heterogenous benchmark for zero-shot evaluation of information retrieval models[EB/OL].[2022-10-20].2021:arXiv:2104.08663.https://arxiv.org/abs/2104.08663.pdf.
[7] 張新萍.端到端任務型對話系統的研究與實現[D].長春:長春工業大學,2023.
[8] 趙陽洋,王振宇,王佩,等.任務型對話系統研究綜述[J].計算機學報,2020,43(10):1862-1896.
【通聯編輯:光文玲】