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