AI 文本生成模型如何重塑 Airbnb 的客戶支持(譯文)

閃念基因 發佈 2022-11-27T18:19:56.228645+00:00

Gavin Li , Mia Zhao和Zhenyu Zhao。在 Airbnb,我們在我們的社區支持 產品中大量投資於 AI 文本生成模型,這已經啟用了許多新功能和用例。

利用文本生成模型構建更有效、可擴展的客戶支持產品。

Gavin Li , Mia Zhao和Zhenyu Zhao

現代人工智慧 (AI) 中發展最快的領域之一是AI 文本生成模型。顧名思義,這些模型生成自然語言。以前,大多數工業自然語言處理 (NLP) 模型都是分類器,或者在機器學習 (ML) 文獻中可能稱為判別模型。然而,近年來,基於大規模語言模型的生成模型正在迅速獲得關注,並從根本上改變了 ML 問題的表述方式。生成模型現在可以通過大規模預訓練獲得一些領域知識,然後生成高質量的文本——例如回答問題或解釋一段內容。

在 Airbnb,我們在我們的社區支持 (CS) 產品中大量投資於 AI 文本生成模型,這已經啟用了許多新功能和用例。本文將詳細討論其中三個用例。然而,首先讓我們談談文本生成模型的一些有益特性,這些特性使其非常適合我們的產品。

關於文本生成模型

將 AI 模型應用於 Airbnb 客戶支持等大規模工業應用並非易事。現實生活中的應用程式有很多長尾角案例,很難擴展,而且標記訓練數據的成本通常很高。文本生成模型有幾個特點可以解決這些挑戰,並使這個選項特別有價值。

編碼知識

第一個吸引人的特徵是能夠將領域知識編碼到語言模型中。正如Petroni 等人所說明的。(2019),我們可以通過大規模預訓練和遷移學習對領域知識進行編碼。在傳統的 ML 範式中,輸入非常重要。模型只是一個從輸入到輸出的轉換函數。模型訓練主要側重於準備輸入、特徵工程和訓練標籤。而對於生成模型,關鍵是知識編碼。我們如何設計預訓練和訓練以將高質量知識編碼到模型中——以及我們如何設計提示來歸納這些知識——更為關鍵。這從根本上改變了我們解決分類、排名、候選生成等傳統問題的方式。

在過去的幾年裡,我們積累了大量的人工代理為愛彼迎房客和房東提供幫助的記錄。然後,我們使用這些數據設計了大規模的預訓練和訓練,以編碼解決用戶出行問題的知識。在推理時,我們設計了提示輸入以直接根據編碼的人類知識生成答案。與傳統的分類範式相比,這種方法產生了明顯更好的結果。A/B 測試顯示業務指標顯著改善,用戶體驗也明顯改善。

無監督學習

我們發現文本生成模型的第二個吸引人的特徵是它的「無監督」性質。像 Airbnb 這樣的大規模工業用例通常擁有大量的用戶數據。如何挖掘有用的信息和知識來訓練模型成為一個挑戰。首先,通過人工標記大量數據的成本非常高,極大地限制了我們可以使用的訓練數據規模。其次,設計良好的標籤指南和用戶問題和意圖的綜合標籤分類具有挑戰性,因為現實生活中的問題通常具有長尾分布和許多細微的角落案例。它無法擴展到依靠人工來窮盡所有可能的用戶意圖定義。

文本生成模型的無監督性質使我們能夠在不大量標記數據的情況下訓練模型。在預訓練中,為了學習如何預測目標標籤,模型被迫首先對問題分類法有一定的了解。本質上,該模型是在內部和隱式地為我們做一些數據標籤設計。這解決了涉及意圖分類設計和標籤成本的可擴展性問題,因此開闢了許多新的機會。當我們稍後在本文中深入探討用例時,我們將看到一些這樣的例子。

更自然和高效的語言模型

最後,文本生成模型超越了 ML 問題公式的傳統界限 在過去的幾年中,研究人員已經意識到自動編碼模型中的額外密集層可能是不自然的、適得其反的和限制性的。事實上,所有典型的機器學習任務和問題表述都可以看作是語言建模的單一統一問題的不同表現形式。分類可以格式化為一種語言模型,其中輸出文本是類的文字字符串表示。

為了使語言模型統一有效,引入了一個新的但必不可少的角色:提示符。提示是一小段文本指令,它告知模型手頭的任務,並設置對輸出格式和內容的期望。除了提示之外,額外的自然語言注釋或提示也非常有利於將 ML 問題進一步上下文化為語言生成任務。提示的結合已被證明可以顯著提高各種任務的語言模型質量。下圖說明了通用生成建模的高質量輸入文本的剖析。

圖 1.1 我們的文本生成模型的提示和輸入特徵設計示例

現在,讓我們深入探討文本生成模型在 Airbnb 的社區支持產品中應用的幾種方式。我們將探討三個用例——內容推薦、實時代理協助和聊天機器人釋義。

內容推薦模型

我們的內容推薦工作流程為 Airbnb 的幫助中心搜索和我們的Helpbot中的支持內容推薦提供支持,它利用逐點排名來確定用戶收到的文檔的順序,如圖 2.1 所示。這個逐點排序器採用兩部分輸入的文本表示——當前用戶的問題描述和候選文檔,以標題、摘要和關鍵字的形式。然後計算描述和文檔之間的相關性分數,用於排名。在 2022 年之前,這個逐點排序器是使用 XLMRoBERTa 實現的,但是我們很快就會看到為什麼我們切換到 MT5 模型。

圖 2.1 我們如何利用具有任意分類頭的僅編碼器架構來執行逐點文檔排序

根據引入提示的設計決定,我們將經典的二元分類問題轉化為基於提示的語言生成問題。輸入仍然來自問題描述和候選文檔的文本表示。但是,我們通過在描述前添加提示來將輸入上下文化,該提示通知模型我們期望二進位答案,「是」或「否」,即文檔是否有助於解決問題。我們還添加了注釋,為輸入文本各部分的預期作用提供額外提示,如下圖所示。為了實現個性化,我們使用用戶及其預訂信息的文本表示擴展了問題描述輸入。

圖 2.2。我們如何利用具有自然語言輸出的編碼器-解碼器架構作為逐點排序器

我們針對上述任務對 MT5 模型進行了微調。為了評估生成分類器的質量,我們使用從與訓練數據相同的分布中採樣的生產流量數據。生成模型展示了支持文檔排名的關鍵性能指標的顯著改進,如下表所示。

表 2.1 Airbnb 支持內容推薦

此外,我們還在在線 A/B 實驗中測試了生成模型,將模型集成到擁有數百萬活躍用戶的 Airbnb 的幫助中心。成功的實驗結果得出了相同的結論——與基於分類的基線模型相比,生成模型推薦具有顯著更高相關性的文檔。

「實時代理助理」模型

為代理配備正確的上下文知識和強大的工具可以為我們的客戶帶來更好的體驗。因此,我們為我們的代理提供及時的指導,引導他們始終如一地找到正確的答案,並幫助他們有效地解決用戶問題。

例如,通過坐席與用戶的對話,展示建議的模板,幫助坐席解決問題。為確保我們的建議在 CS 政策中得到執行,建議模板通過 API 檢查和模型意圖檢查的組合進行門控。該模型需要回答問題以捕獲用戶意圖,例如:

  • 這條消息是關於取消的嗎?
  • 該用戶提到的取消原因是什麼?
  • 該用戶是否因 COVID 疾病而取消預訂?
  • 這位用戶是不是不小心訂了位?

圖 3.1 AI 生成的推薦模板

為了支持許多細粒度的意圖檢查,我們開發了一個策劃者問答 (QA) 模型,旨在幫助回答所有相關問題。這個 QA 模型是使用上面提到的生成模型架構開發的。我們連接多輪用戶代理對話以利用聊天歷史作為輸入文本,然後在服務時間點詢問我們關心的提示。

提示自然地與我們要求人類注釋的相同問題對齊。略有不同的提示會導致不同的答案,如下所示。然後根據模型的回答,向代理推薦相關模板。

表 3.1 mastermind QA 模型提示設計

圖 2.2 Mastermind QA 模型架構

我們利用了 t5-base 和 Narrativa 等主幹模型,並對各種訓練數據集組合進行了實驗,包括基於注釋的數據和基於日誌的數據以及額外的後處理。注釋數據集通常具有更高的精度、更低的覆蓋率和更一致的噪聲,而日誌數據集具有更低的精度、更高的案例覆蓋率和更多的隨機噪聲。我們發現將這兩個數據集組合在一起會產生最佳性能。

表 3.2 mastermind QA 模型實驗結果

由於參數量大,我們利用名為DeepSpeed的庫來使用多 GPU 內核訓練生成模型。DeepSpeed 有助於將訓練過程從幾周縮短到幾天。話雖如此,超參數調整通常需要更長的時間。因此,需要用較小的數據集進行實驗,以獲得更好的參數設置方向。在生產中,與真正的 CS 大使進行的在線測試顯示參與率有了很大的提高。

聊天機器人中的釋義模型

準確的意圖檢測、插槽填充和有效的解決方案不足以構建成功的 AI 聊天機器人。用戶通常選擇不與聊天機器人互動,無論 ML 模型有多好。用戶希望快速解決問題,因此他們不斷嘗試評估機器人是否理解他們的問題,以及它是否能比人工代理更快地解決問題。建立一個釋義模型,首先改寫用戶描述的問題,可以給用戶一些信心並確認機器人的理解是正確的。這顯著提高了我們機器人的參與率。下面是我們的聊天機器人自動解釋用戶描述的示例。

圖 4.1 聊天機器人轉述用戶對支付問題的描述的實際示例

這種解釋用戶問題的方法經常被人類客戶支持代理使用。最常見的模式是「我知道你……」。例如,如果用戶詢問是否可以免費取消預訂,代理人會回復「我知道你想取消,想知道我們是否可以全額退款。」 我們構建了一個簡單的模板來提取代理回復以該關鍵詞開頭的所有對話。因為我們有多年的代理-用戶通信數據,所以這個簡單的啟發式方法免費為我們提供了數百萬個訓練標籤。

我們測試了流行的序列到序列轉換器模型骨幹,如BART、PEGASUS、T5等,以及自回歸模型,如GPT2等。對於我們的用例,T5 模型產生了最佳性能。

正如Huang 等人所發現的那樣。(2020),文本生成模型最常見的問題之一是它傾向於生成平淡、通用、無信息的回覆。這也是我們面臨的主要挑戰。

例如,該模型對許多不同的輸入輸出相同的回覆:「我知道您的預訂有一些問題。」 雖然正確,但這太籠統了,沒有用。

我們嘗試了幾種不同的解決方案。首先,我們嘗試建立一個後向模型來預測P(Source|target),正如Zhang 等人介紹的那樣。(2020),並將其用作重新排序模型以過濾掉過於通用的結果。其次,我們嘗試使用一些基於規則或基於模型的過濾器。

最後,我們發現最好的解決方案是調整訓練數據。為此,我們基於Sentence-Transformers的預訓練相似性模型對訓練目標數據進行文本聚類。如下表所示,訓練數據包含太多無意義的通用回復,導致模型在其輸出中執行相同的操作。

表 4.2 訓練標籤中的頂級集群

我們標記了所有過於通用的集群,並使用 Sentence-Transformers 從訓練數據中過濾掉它們。這種方法的效果明顯更好,並為我們提供了一個可以投入生產的高質量模型。

結論

隨著基於大規模預訓練的 transformer 模型的快速增長,文本生成模型現在可以對領域知識進行編碼。這不僅使他們能夠更好地利用應用程式數據,而且使我們能夠以無監督的方式訓練模型,從而幫助擴展數據標籤。這使得許多創新方法能夠應對構建 AI 產品的常見挑戰。正如本文詳述的三個用例(內容排名、實時代理協助和聊天機器人釋義)所示,文本生成模型在客戶支持場景中有效地改善了我們的用戶體驗。我們認為文本生成模型是 NLP 領域中一個至關重要的新方向。他們幫助 Airbnb 的房客和房東更快地解決他們的問題,並協助支持大使提高效率,更好地解決手頭的問題。我們期待繼續在這一領域積極投資。

致謝

感謝Weiping Pen、Xin Liu、Mukund Narasimhan、Joy Zhang、Tina Su和Andy Yasutake審閱和完善博文內容以及所有重要建議。感謝Joy Zhang、Tina Su、Andy Yasutake的領導支持!感謝Elaine Liu構建釋義端到端產品、運行實驗並發布。感謝我們親密的 PM 合作夥伴Cassie Cao和Jerry Hong,感謝他們在 PM 方面的專業知識。如果沒有他們的努力,這項工作是不可能完成的。

作者:Gavin Li

出處:https://medium.com/airbnb-engineering/how-ai-text-generation-models-are-reshaping-customer-support-at-airbnb-a851db0b4fa3

關鍵字: