近年來,推薦系統在工業界取得了巨大成功,甚至成為互聯網發展中不可或缺的增長引擎,基于此研究者們也在積極探索推薦系統的新形態,其中對話推薦系統(Conversational Recommender System,簡稱CRS)作為一個備受關注的研究方向被熱議。對話推薦系統主要是通過使用自然語言進行多輪對話,逐步了解用戶的興趣偏好,并向他們推薦可能感興趣的物品。
通常對話推薦主要是以文本形式存在,即用戶需要在聊天框內輸入文本進行對話,然而在日常生活中,語音作為對話中常見且便捷的承載方式,除語義內容外,還包含性別、年齡、口音、情緒狀態等更多信息。經過驗證,這些信息可以有效提升對話推薦性能。更重要的一點,基于語音的對話推薦,對于視力障礙以及書寫閱讀能力有限的人群將會更加友好,因而更加包容。
創新意味著挑戰,面對語音對話推薦(Voice-based Conversational Recommender System,簡稱VCRS)這一全新的研究課題,沒有可用的數據集是當下比較棘手的事情。為了解決這個問題,火山語音團隊聯合新加坡科學研究院團隊提出了首個VCRS Benchmark Dataset,論文入選SIGIR 2023,旨在講述該方面的研究,推動語音對話推薦(Voice-based Conversational Recommender System,簡稱VCRS)的發展。
論文地址
https://arxiv.org/pdf/2306.08219.pdf
代碼鏈接
https://github.com/hyllll/VCRS
在該數據集生產過程中,雙方團隊使用了ChatGPT以及語音合成技術,通過在真實推薦數據的基礎上模擬生成對應的語音對話推薦數據,并進一步實驗驗證了語音對話推薦相較于傳統的文本對話推薦具有更大優勢;基于語音信號,模型可以抽取性別、年齡等輔助信息進一步提升推薦準確率;最后該論文還給出了未來語音對話推薦研究的范式判斷,從而激發更多相關工作。
數據集中語音對話推薦過程
VCRS數據集的生產流程
具體來說如下圖所示,VCRS數據集的生產過程主要包括四個部分,分別是:
骨干數據集選擇(Backbone dataset selection)
文本對話生成(Text-based Conversation Generation)
語音對話合成(Voice-based Conversation Generation)
數據質量評估(Quality evaluation)
VCRS數據集的生產過程
骨干數據集選擇(Backbone Dataset Selection)對于VCRS數據集生產,一個合格的候選骨干數據集需要包含三種信息,分別是用戶-商品交互記錄、商品特征以及用戶特征。通過用戶—商品交互記錄以及商品特征可以合成文本對話,進而再憑借用戶特征(性別、年齡等信息就)就可以完成語音對話合成。根據以上規則,該論文選取了Coat 和MovieLens-1M兩個數據集進行了實驗。
文本對話生成(Text-based Conversation Generation)論文提出根據對話模板進行slot filling的方式來完成對話語句的生成,該過程主要包含三個部分:
模板生成(Template Generation)
首先需要為每種商品特征(例如衣服顏色、款式等)設計不同形式的詢問和回答組合。針對每個組合都分配了一種獨特的標簽-標識符tag-id,以便在后續的模板選擇中方便使用。這種設計有效避免了下圖所示“答非所問”的情況,從而使生成的對話更加連貫與緊湊。
Bad cases: “答非所問”示例
同時該團隊還借助于ChatGPT的對話生成能力,在初始模板基礎上進行改進和豐富,以增加模板的多樣性和自然性;為進一步保證對話的完整性,還在基本的問詢/回答模板之外為對話設計了相應的開始/結束模板。
模板選擇(Template Selection)
由于在模板生成階段,每個標簽-標識符(tag-id)對應的問答模板已經具有密切相關性,所以在模板選擇階段只需分別從每個標簽-標識符下采樣問題和答案即可。此外,考慮到很多對話推薦場景下,用戶在互動初始階段通常沒有非常清晰的意圖,對此團隊們采用了有偏的采樣策略,即相對于詢問類的問題,選擇類的問題被賦予更高的采樣概率。
特征選擇(Feature Selection)
根據上述模板生成和選擇的方法,目前可以對某一商品特征進行對話合成,但對于一件商品而言,通常會涉及多個特征,例如顏色與款式等,所以確定不同特征的詢問順序對于推薦結果常常產生顯著影響,因此這些特征對用戶的偏好具有不同權重。為了解決這個問題,團隊們提出了一種利用決策樹中的LightGBM方法來計算各個特征權重的方式,具體的計算方法如下圖表示:
特征權重計算流程
語音合成(Voice-based Conversation Generation)根據上述文本對話的生成結果,雙方團隊進一步利用語音合成系統將生成的文本對話轉化為相應的語音對話,在此過程中主要采用了當前端到端的VITS系統。對于Agent的語音合成,使用了基于LJSpeech訓練的單一說話人TTS模型;而對于User的語音對話合成,則采用了基于VCTK訓練的多說話人TTS模型,在該模型中,依據推薦數據集中用戶的輔助信息(年齡、性別),與VCTK數據集中的Speaker進行匹配,進而確定User的說話人ID。
數據質量評估(Quality evaluation)為了評估生成的數據質量,團隊們分別從文本質量和語音質量兩個維度對數據集進行了評估。在文本質量評估過程中使用了目前SOTA的FED (fine-grained evaluation of dialogue)指標,FED使用預訓練的DialoGPT模型作為基準來對對話進行18個尺度的評估,具體細則既包含局部評分(如正確性,可讀性及流暢性等),又包含了全局評分(如連貫性,一致性及多樣性等)。從下述的對比結果中可以看到,合成得到的對話評分超過了人類真實的對話推薦數據集(ReDial, OpenDialKG以及INSPIRED)。
同時下圖示例也展示了合成的推薦對話與真實對話相似,并且明顯優于之前工作HOOPS中的文本推薦對話。
合成對話示例及對比
對于語音對話的評估主要采用主觀評測的方式,具體做法是將文本對話分別通過多個語音合成系統 (TacoW, TranW, FastW)與VITS進行比較,最終結果如下表所示,VITS明顯優于其他模型。
更重要的一點,團隊們利用以上合成的VCRS Benchmark Dataset,進一步驗證了在推薦性能方面使用該數據集所帶來的好處,具體方案如圖:
兩階段語音對話推薦解決方案
在推薦模型的訓練過程中,語音對話首先經過語音編碼器(Wave2Vec2)進行編碼,并從中提取出輔助信息(性別、年齡)的表示;隨后這些提取到的輔助信息被注入推薦模型中,這一步能夠增強推薦模型的性能;此外團隊們還給出了未來在語音對話推薦場景下端到端的方案,如下圖所示:
端到端語音對話推薦解決方案
實驗結果
論文基于Factorization Machines (FM)在合成的語音對話推薦數據集進行了推薦性能的分析,具體結果所示:
通過實驗結果的觀察,可以明顯看出當語音中融入性別或年齡單一信息時,推薦模型的性能會顯著提高;而當性別和年齡信息同時被引入時,模型的性能則進一步得到提升。這一系列實驗結果表明,語音對話推薦研究的必要性以及重要性,甚至對于未來在端到端語音推薦場景下所能發現的更多信息充滿了信心,在這個領域將會展現出更多令人振奮的發現。
一直以來,火山語音團隊面向字節跳動內部各業務線,提供優質的語音AI技術能力以及全棧語音產品解決方案,并通過火山引擎對外提供服務。自 2017 年成立以來,團隊專注研發行業領先的 AI 智能語音技術,不斷探索AI 與業務場景的高效結合,以實現更大的用戶價值。