
阿里妹導讀
我們是阿里雲大模型技術服務團隊,專注於透過專業技術服務,推動大模型技術在各行業的場景落地,涉及大模型的整體技術鏈路、PE調優,模型微調以及遷移支援等工作。
一、背景介紹
客服質檢,就是基於一定規則檢驗客服的回覆和對話是否合規,例如給定一條規則判斷客服回答是否合乎禮貌,需要檢驗的是對話文字中客服是否使用了禮貌用語,使用則合規,不使用則不合規。隨著AI大模型的興起,智慧判定合規的方法逐漸取代傳統的人工判定,大模型因其出色的效能成為目前主流的方法。
從本質上說,客服質檢–>給定對話文字,判定合規/不合規–>文字二分類任務,針對文字分類任務,大模型一般有幾種解決方法:直接判定,加入提示詞判定和微調,直接判定速度快便宜但效果不好,提示詞判定迭代次數多,微調高成本高耗時但效果好,具體選擇哪種方法需要結合實際需求來確定,在質檢場景,輸入的文字是長度一般在幾百至上千字的多輪對話並且存在固定的規則參考,最經濟高效的做法就是提示詞工程(prompt engineering/PE),也就是設計並最佳化提示詞,提升大模型判定的準確率。
在本專案中,存在四條質檢規則,分別是是否禮貌用語,是否確認客戶訴求,是否提供聯絡方式,是否表達上門意願,每個規則具體的含義和樣例在下表中給出。從四個維度分別考察客服的回覆是否合規,四個規則下分別有300條客服與客戶的對話文字資料,合計1200條資料,這些資料有真實標籤我們需要用大模型PE來對四個維度分別考察是否合規,因此決定設計四個不同的提示詞,分別適配四個規則場景,分別最佳化大模型對不同規則的判斷能力。
規則
|
是否禮貌用語
|
是否確認客戶訴求
|
是否提供聯絡方式
|
是否表達上門意願
|
含義
|
客服的在詢問客戶資訊時是否加了敬語
|
客服是否再次確認客戶表達的問題
|
客服在對話結尾是否提供了聯絡方式
|
客服是否表達了願意到客戶門口的意圖
|
合規樣例
|
請問您的地址是XX嗎
|
請問您反饋的是XX事情嗎
|
有問題您可以聯絡這個號碼XX
|
您好我是XX,現在到您門口
|
不合規樣例
|
您的電話是不是XX
|
我知道XX事情了
|
有問題請再次聯絡
|
給您放在驛站了
|
二、需求分析
客服質檢專案的核心需求如下:
(1)給定一輪客服和客戶的對話,大模型首先理解這段長文字;
(2)給定一條規則,大模型定位到關鍵的對話片段;
(3)把客服的回答和規則比對,判斷回答是否合規;
針對核心需求,我們搭建瞭如下的解決方案,

整體是一個迭代式的解決方案,透過每一輪根據大模型判錯的例子來最佳化提示詞,不斷提升大模型對易錯例子的理解能力,從而提升整體的判斷準確率,最終達到預期效果。具體可分為三個步驟,如下圖所示:

在用大模型搭建解決方案鏈路的過程中,存在如下的難點:
(1)提示詞的設計會影響特定規則下大模型判斷的準確效果,設計一個好的提示詞能讓大模型更準確的做判斷;
(2)提示詞如何最佳化才能儘可能減少模型出錯的機率,針對大模型判斷的例子需要分析資料特徵,然後修改提示詞讓大模型能理解這些易錯特徵並下次不再犯錯;
(3)對話文字特別是錄音轉文字的質量不高時會影響大模型的文字理解,例如存在大量的同音錯別字,需要提示大模型此類情況的處理方法;
(4)人工分析判錯例子(幾千字左右)的資料特徵比較費時費力,需要大模型輔助我們定位具體出錯的文字片段;
(5)人工分析判錯例子的數量特別大時也同樣費時費力,需要我們對這些資料做取捨。
分析了上述難點後,經過實踐,我們總結了對應的五條重要經驗,如下詳細闡述。
三、經驗總結
1.如何設計提示詞
有關通用的提示詞設計規範的文章很多,本文只聚焦特殊的質檢場景下的提示詞規範。以下是設計提示詞的三條原則:
(1)嚴格按照規則
質檢場景的特殊性就是存在固定的參考規則,比如客服有沒有用敬語,客服有沒有聯絡方式等,因此質檢場景下大模型的主要任務是依據規則判斷一個小的對話片段合不合規,而不是做長上下文理解判斷整體合不合規,因此首要傳達給大模型的要求一定是對規則的描述。例如,在本專案中有一條規則是客服需要提供聯絡方式給客戶,以下是我根據規則設計的提示詞:
客服回答中出現本機號碼或者這個號碼或者此號碼或者我的號碼的描述,判定為合規,客服回答中出現加微信、傳送電話簡訊、申請微信、用簡訊傳送聯絡方式的描述,判定為合規;
(2)先否定後肯定
質檢場景本身的要求很嚴格,會對客服多處的回答檢查,如果有一處回答不合規則整體判為不合規,只有全部回答合規才算整體合規,因此為了方便大模型做判斷,提示詞中需要把不合規的情況放在前面合規的情況放在後面,讓大模型優先判定不合規的情況,提升準確率和縮短判斷時間。例如,在本專案中有一條規則是客服需要表達送貨上門的意願,以下是我設計的提示詞:
如果客服詢問了給你送貨上門還是放在哪裡,要送到哪裡,要送貨上門嗎這樣的問題則後面都不看直接判定不合規;
如果客服的話語中明確提到送貨上門或者送到指定地址且非驛站代收點或者送到一個具體的地方例如xx市xx縣xx小區xx樓等類似表達判定為合規;
(3)一條規則對應一個提示詞
質檢的任務一般不止一個規則,會有多條規則對客服考察,例如上文提到的兩條規則:提供聯絡方式和表達上門意願,為了精簡提示詞來提升大模型的響應時間和生成質量,推薦採用對每一條規則都設計一個提示詞,而不是一個提示詞裡包含所有的規則,透過這種並行提示詞輸入大模型判斷的做法,讓大模型每次只聚焦一條規則判斷該規則下是否合規,有效防止規則冗餘互相干擾影響大模型的最終判斷。以下是並行設計提示詞的鏈路流程圖:

2.如何最佳化提示詞
提示詞最佳化是根據上一輪的大模型判斷錯誤的例子,需要透過人工判斷這些錯誤例子的資料特徵,在新的提示詞中提示大模型對這些特徵的處理方法,從而在下一輪讓大模型能理解並判對這些例子。以下是最佳化提示詞的兩條原則:
(1)抽象
在人工學習判錯例子的資料特徵時,需要對大量例子的資料特徵做抽象提取規律,不要具體化的提取某一個出錯的內容。例如在本專案中,有一條規則是客服提供有效聯絡方式,在一輪反饋最佳化中,模型判錯的50條例子集中在模型認為客服提供的電話不符合標準電話格式而判定不合規,而實際情況由於錄音問題缺少一兩位數字也仍然合規,因此我抽象這一規律為存在不符合標準格式的電話號碼而不是具體的告訴模型缺失什麼數字,以下是我對提示詞的最佳化:

(2)從眾
在人工學習判錯例子的資料特徵時,可能會存在兩種資料特徵互相沖突的情況,此時最佳化的方向在佔多數的資料特徵並捨棄佔少數的資料特徵以保證準確率。例如,在本專案中,有一條規則是客服提供有效聯絡方式,在上述的50條資料中存在兩種衝突的資料特徵,一種是佔多數的45條資料中的電話格式只缺少了一兩位數字,另一種是佔少數的5條資料中的電話格式缺少了很多數字以至完全不像一個號碼,顯然實際情況下前者合規後者不合規,如果想要前者情況模型判定合規提示詞需要加入。
客服回覆了一串具體的電話號碼並且無需是標準號碼格式則合規
如果想要後者情況模型判定合規提示詞需要加入。
客服回覆了一串具體的電話號碼並且必須是標準號碼格式才合規
兩者衝突,因此少數的5條資料被捨棄未參與到反饋最佳化中,只根據佔多數的45條資料來最佳化,最終的提示詞也確定為上述的無需標準格式則合規。
3.處理文字中錯別字
大模型輸入的是文字對話而不是原始的錄音檔案,因此錄音轉文字這一步會存在錯別字和遺漏的情況,推薦在提示詞中加入相關提示。例如以下是我的處理:
每一句話開頭會標註是客戶還是客服說的話,對話是電話錄音,存在部分錯別字和缺少部分字,根據上下文來理解;
4.瞭解大模型理解錯誤的依據
在最佳化提示詞過程中,需要人工學習上一輪大模型判斷錯誤例子的資料特徵,如果人工再去瀏覽上千字的對話文字費時費力,這裡可以做一個簡化操作,就是讓大模型不僅輸出是否合規的結論,還要輸出判定的依據,這樣我們在人工瀏覽時可以根據大模型給出的依據快速定位到這些原文中的片段,而不用通讀全文,只需分析這些片段的資料特徵即可。例如以下是我的處理:
##輸出格式:
兩行,第一行是一個字,是或者否,表示你判斷是否合規;第二行是你判斷的依據
5.抽樣反饋
當資料集體量特別龐大時,比如上百萬的資料條目,每一輪反饋,需要人工學習的大模型判錯例子的數量至少會達到上萬條,當我們沒有大量的人力和時間時,用隨機抽樣反饋代替全量反饋,隨機抽取20%-30%的資料,儘量擬合原始分佈同時加快迭代速度並儘量減少準確率的損失。
四、評測效果
以下是實際的評測效果,原始的資料集是1200條客服與客戶的對話文字資料,分為4個規則,是否禮貌用語,是否確認客戶訴求,是否提供聯絡方式,是否表達上門意願,每條規則下分別是300條資料,每條規則有一個對應的提示詞,總共進行了五輪提示詞最佳化,最終準確率有顯著提升,每個規則都達到0.9左右,符合預期要求。

參考:
[1]https://arxiv.org/pdf/2401.14423
向量檢索與通義千問搭建專屬問答服務
本方案介紹如何使用向量檢索服務(DashVector)結合通義千問大模型來打造基於垂直領域專屬知識等問答服務。
點選閱讀原文檢視詳情。
關鍵詞
大模型
客服
文字
格式
方法