論RAG技術(shù)對智能數(shù)字人對話的革新與優(yōu)化方案

0 評論 2410 瀏覽 11 收藏 17 分鐘

大模型的問世,對許多行業(yè)帶去了深遠(yuǎn)的影響,比如數(shù)字人行業(yè)。而通常應(yīng)用于大模型中的RAG技術(shù),也可以為數(shù)字人業(yè)務(wù)帶去變化和影響。這篇文章里,作者就做了討論與分析,一起來看。

文檔目錄預(yù)覽

  1. 為什么需要用LLM重塑數(shù)字人行業(yè)
  2. 什么是RAG技術(shù)
  3. 如何在實際業(yè)務(wù)中應(yīng)用該技術(shù)(業(yè)務(wù)背景、業(yè)務(wù)目標(biāo)、回收指標(biāo)、產(chǎn)品框架、數(shù)據(jù)處理流程)
  4. 如何對數(shù)字人RAG模塊進(jìn)行評估和優(yōu)化
  5. 直播場景下RAG回復(fù)的頻率限制

一、為什么需要用LLM重塑數(shù)字人行業(yè)

在上一篇文章當(dāng)中,我提到了數(shù)字人行業(yè)發(fā)展同質(zhì)化競爭情況,市面上所有的數(shù)字人她的外在形象、口型合成、直播背景模版等等,都已經(jīng)趨于同質(zhì)化。

技術(shù)的不斷進(jìn)步可能在某些關(guān)鍵時刻徹底改變行業(yè)格局。例如,一些曾經(jīng)在技術(shù)上占據(jù)優(yōu)勢地位的企業(yè),可能因為新技術(shù)的出現(xiàn)而迅速失去競爭優(yōu)勢。如果這些企業(yè)不能及時適應(yīng),就會面臨被競爭對手超越的風(fēng)險。這也給了小型和初創(chuàng)企業(yè)趕超的機(jī)會。如何設(shè)計和運(yùn)營,想清楚用它干什么,讓軟件工具代替人工發(fā)揮應(yīng)有的價值,決定了他的商業(yè)化的程度。

自從大型語言模型(LLM)問世以來,它的影響被認(rèn)為與幾十年前互聯(lián)網(wǎng)對各行業(yè)的影響相當(dāng)。LLM的應(yīng)用被視為對現(xiàn)代社會各個領(lǐng)域進(jìn)行了全面的改造。其中也包含了數(shù)字人,一個帶著人類面具外殼的AI智障,乘著大模型的風(fēng),使其變得更具互動能力。

二、什么是RAG技術(shù)

RAG模型的核心思想是結(jié)合信息檢索和文本生成來解決復(fù)雜的自然語言處理任務(wù)。具體而言,RAG模型首先利用檢索式技術(shù)從大規(guī)模語料庫中檢索相關(guān)文本片段或知識,并將這些文本片段作為上下文輸入到生成式模型中。然后,生成式模型使用這些上下文信息來生成響應(yīng)、答案或文本。

RAG模型的優(yōu)點(diǎn)在于它能夠利用大規(guī)模的外部語料庫來增強(qiáng)生成式模型的能力,從而提高模型在開放域任務(wù)中的性能。

三、如何在實際業(yè)務(wù)中使用該技術(shù)?

1. RAG應(yīng)用的業(yè)務(wù)背景是什么?-對銷售領(lǐng)域深度對話數(shù)字人的渴望

數(shù)字人直播互動能力不足的問題;參考文章:

http://www.aharts.cn/ai/6002396.html

對于高客單價商品,尤其美妝、家電等垂直領(lǐng)域,新用戶如果不是因為提前對產(chǎn)品有了解,提前對品牌有了解,是不太可能通過數(shù)字人直播進(jìn)行下單的。因為產(chǎn)生新的購買行為,需要在直播間進(jìn)行多輪的互動來進(jìn)行了解一個商品,但是目前很多數(shù)字人廠商提供不了深度對話的AI數(shù)字人直播軟件。那這個時候,利用數(shù)字人在非高峰期直播,提高品牌復(fù)購,讓已經(jīng)了解品牌的用戶用合適的價格參與活動,也可以幫助品牌達(dá)到目標(biāo)。

2. RAG需要完成哪些業(yè)務(wù)目標(biāo)

借助商家和品牌商品數(shù)據(jù)以及競品數(shù)據(jù)接入智能問答庫,方便直播間用戶進(jìn)行復(fù)雜問詢時,數(shù)字人可以提供更加精準(zhǔn)的、個性化的且真實的回復(fù)。同時在構(gòu)建智能回答機(jī)器人的同時還需要注意些業(yè)務(wù)上的邏輯:

  • 回答的準(zhǔn)確性和語言風(fēng)格:數(shù)字人在回復(fù)過程中要保證內(nèi)容的準(zhǔn)確性,以及符合口語化的表達(dá)。
  • 回答的品牌風(fēng)險規(guī)避:數(shù)字人不回答或不提及或模糊提及 競品品牌詞和產(chǎn)品內(nèi)容。
  • 回答頻率克制:多彈幕/重復(fù)彈幕加持下,數(shù)字人需要控制回復(fù)頻率,保證直播間的彈幕回復(fù)頻率和速度的合理性,切勿造成刷屏現(xiàn)象。
  • 不明確回復(fù)內(nèi)容:數(shù)字人對于不知道的問題需要收集起來,反饋業(yè)務(wù)進(jìn)行問答庫更新。
  • 合規(guī)檢測:對LLM輸出的答案需要通過合規(guī)檢測。

3. RAG應(yīng)用的檢測數(shù)據(jù)指標(biāo)

1)用戶體驗&直播間效果指標(biāo)

  • 響應(yīng)時間:數(shù)字人回答問題的平均響應(yīng)時間。
  • 彈幕有效回復(fù)率:收集彈幕內(nèi)容,對彈幕進(jìn)行有效提問分類,并計算數(shù)字人對有效彈幕的消息回復(fù)率。

2)準(zhǔn)確度和性能相關(guān)指標(biāo)

  • 準(zhǔn)確率:數(shù)字人回答正確的次數(shù)與總回答次數(shù)的比例。
  • 召回率:在所有應(yīng)該被數(shù)字人正確回答的問題中,實際上被正確回答的比例。(召回率特別重要,當(dāng)關(guān)注的重點(diǎn)是確保所有正例都被識別出來時,例如在疾病篩查或欺詐檢測中,遺漏一個正例的代價可能非常高)
  • 答案相關(guān)性:這個指標(biāo)強(qiáng)調(diào)生成的答案需要與提出的問題直接相關(guān)。
  • 忠實度:這個指標(biāo)強(qiáng)調(diào)模型生成的答案必須保持對給定上下文的忠實,確保答案與上下文信息一致,不偏離或矛盾。這方面的評估對于解決大型模型中的幻覺問題至關(guān)重要

4. 產(chǎn)品設(shè)計框架

5. RAG檢索庫的構(gòu)建流程

流程簡述:由企業(yè)業(yè)務(wù)人員,在直播軟件后臺上傳pdf/word文檔,并進(jìn)行文本的chunk處理,上傳的數(shù)據(jù)會由「嵌入模型-Embedding Model」進(jìn)行向量化的處理,這個過程就是將文本內(nèi)容轉(zhuǎn)化為計算機(jī)理解的語言。轉(zhuǎn)換后,再存儲在一個特定的數(shù)據(jù)庫中,這個數(shù)據(jù)庫通常被稱之為「向量數(shù)據(jù)庫-Vector Database」

詳細(xì)構(gòu)建流程:

Step1-準(zhǔn)備數(shù)據(jù)集

數(shù)據(jù)集的來源:商家、品牌和企業(yè)用戶本身沉淀下來的商品信息;這些數(shù)據(jù)可以是從互聯(lián)網(wǎng)、數(shù)據(jù)庫、文檔集合或其他來源獲取的文本。

Step2-文本預(yù)處理

為了避免數(shù)字人出現(xiàn)“一本正經(jīng)地胡說八道”數(shù)據(jù)收集過程中一定要減少無效信息、冗余信息和錯誤信息的篩選,做好數(shù)據(jù)清理,以減少回復(fù)內(nèi)容的幻覺,其次可以對文本數(shù)據(jù)進(jìn)行預(yù)處理,包括分詞、去除停用詞、標(biāo)點(diǎn)符號和特殊字符的去除、轉(zhuǎn)換為小寫等??梢允褂米匀徽Z言處理工具庫,如NLTK(Natural Language Toolkit)或spaCy來執(zhí)行這些預(yù)處理步驟。

Step3-Chunking文本的分塊與分段

  • 分塊的目的是將較長的文本段落或文檔劃分為更小、更容易處理的部分。
  • 分塊的方式可以根據(jù)任務(wù)需求和數(shù)據(jù)特點(diǎn)進(jìn)行選擇。例如,可以根據(jù)句子的邊界進(jìn)行分塊(sentence chunking),也可以根據(jù)段落的邊界進(jìn)行分塊(paragraph chunking)。

其次,輸出處理過程中,文本切割的粒度也需要合理考量。

粒度過大

  • 如果將文本劃分為過大的塊,可能會導(dǎo)致檢索的精度下降。因為模型在執(zhí)行檢索時,需要將查詢文本與語料庫中的文本進(jìn)行比較,如果文本塊太大,可能會包含過多的不相關(guān)信息,導(dǎo)致檢索結(jié)果不準(zhǔn)確。
  • 對于生成階段,粒度過大的文本塊可能會限制模型生成的多樣性和靈活性,因為模型只能在較大的文本塊中尋找生成的候選內(nèi)容。

粒度過細(xì)

  • 如果將文本劃分為過細(xì)的塊,可能會導(dǎo)致檢索的效率下降。因為模型需要處理更多的文本塊,這可能會增加計算成本和時間成本。
  • 此外,對于生成階段,粒度過細(xì)的文本塊可能會導(dǎo)致模型難以捕捉到文本之間的相關(guān)性和上下文信息,從而影響生成結(jié)果的質(zhì)量和連貫性。

當(dāng)然分段方式可以有不同處理粒度,以尋求響應(yīng)速度和查詢準(zhǔn)備度的最佳平衡點(diǎn)。

Step4-構(gòu)建索引

構(gòu)建索引是為了實現(xiàn)文本數(shù)據(jù)的快速檢索和查詢。在構(gòu)建搜索庫時,索引是一種非常有效的數(shù)據(jù)結(jié)構(gòu),它可以大大提高搜索和檢索的速度和效率。以便快速地定位和訪問數(shù)據(jù)。通過索引,可以在常數(shù)時間內(nèi)(或接近常數(shù)時間)找到特定文本或文本片段,而不需要遍歷整個數(shù)據(jù)集。

優(yōu)點(diǎn):減少搜索時間&&提高查詢效率&&支持復(fù)雜查詢&&節(jié)約資源和成本,可以有效提高系統(tǒng)的性能和可拓展性。

Step5-Embedding嵌入式模型訓(xùn)練

  • 使用準(zhǔn)備好的文本數(shù)據(jù)集對RAG模型進(jìn)行預(yù)訓(xùn)練,以學(xué)習(xí)文本的表示和語義信息。
  • 選擇合適的預(yù)訓(xùn)練任務(wù)和模型架構(gòu),如BERT、GPT等,并根據(jù)任務(wù)需求進(jìn)行微調(diào)。

將文本或知識片段轉(zhuǎn)換為連續(xù)的向量表示形式。這種向量表示可以被用來度量文本之間的相似度,從而用于檢索階段。

具體來說,當(dāng)RAG模型執(zhí)行檢索時,它會將查詢文本(比如問題或者主題)和語料庫中的文本進(jìn)行比較,以找到最相關(guān)的文本片段。為了進(jìn)行比較,模型需要將這些文本轉(zhuǎn)換成向量形式。這個過程就是“向量化Embedding”。

Step6- 檢索模塊/生成模塊構(gòu)建,完成RAG知識庫的搭建

設(shè)計和實現(xiàn)用于檢索的模塊,該模塊將查詢文本與索引中的文本數(shù)據(jù)進(jìn)行比較,并返回最相關(guān)的文本片段。以使用向量化Embedding和相似度匹配等技術(shù)來實現(xiàn)檢索模塊。將檢索模塊和生成模塊集成到一起,以構(gòu)建完整的RAG搜索庫。

5. 如何對數(shù)字人RAG模塊進(jìn)行評估和優(yōu)化

對建立的RAG搜索庫進(jìn)行評估和優(yōu)化,包括評估檢索的準(zhǔn)確性和生成的質(zhì)量,并根據(jù)反饋進(jìn)行必要的調(diào)整和改進(jìn)。

1)數(shù)字人回復(fù)不準(zhǔn)確問題:回復(fù)的答案出現(xiàn)幻覺和斷層

調(diào)整方式1:提高檢索內(nèi)容與查詢之間的相關(guān)性,對于文本分段chunk過程重新調(diào)整顆粒度

調(diào)整方式2: 可能是缺乏對LLM模型的預(yù)訓(xùn)練,或者說模型本身的參數(shù)不足、在理解和推理上存在固有缺陷,單純用RAG技術(shù)也無法提高模型的輸出能力。選擇優(yōu)秀模型的同時,可以用數(shù)據(jù)庫對LLM模型進(jìn)行預(yù)訓(xùn)練

2)提升召回率,用戶問的問題,無法檢索到相關(guān)內(nèi)容,導(dǎo)致缺乏上文

調(diào)整方式. 由于長文本或者數(shù)據(jù)量太大導(dǎo)致響應(yīng)的時間過長,或者導(dǎo)致檢索不到,可以通過壓縮不想管上下文、突出關(guān)鍵段落,減少上下文長度來提高RAG性能

3)減少有害和偏見性內(nèi)容

調(diào)整方式1 :在構(gòu)建訓(xùn)練數(shù)據(jù)集時,進(jìn)行數(shù)據(jù)清洗和篩選,刪除或標(biāo)記有害和偏見性內(nèi)容的樣本。這可以通過人工審核或自動化技術(shù)來實現(xiàn),以確保訓(xùn)練數(shù)據(jù)集的質(zhì)量和健康性

調(diào)整方式2:在生成階段,可以通過設(shè)置輸出限制來限制模型生成可能有害或偏見性的內(nèi)容。例如,可以限制生成內(nèi)容的長度、語法結(jié)構(gòu)或詞匯選擇,以減少可能導(dǎo)致問題的內(nèi)容。

6. 直播場景下RAG回復(fù)的頻率限制

在直播場景下,我們額外需要對直播間獲取的彈幕信息,做文本的二次處理,避免出現(xiàn)以下問題。

  • 數(shù)字人對無效彈幕的回復(fù)-(如何判斷彈幕的有效性)
  • 數(shù)字人對重復(fù)彈幕的重復(fù)回答-(如何提高直播間的回復(fù)體驗)

彈幕有效性判斷

  • 使用機(jī)器學(xué)習(xí)模型對彈幕進(jìn)行分類,以區(qū)分有效和無效的彈幕??梢詷?gòu)建分類模型,對彈幕進(jìn)行標(biāo)記,如是否含有惡意詞匯等
  • 結(jié)合規(guī)則引擎和機(jī)器學(xué)習(xí)模型,綜合考慮多種因素對彈幕進(jìn)行有效性判斷。例如,設(shè)置閾值來限制相同內(nèi)容的重復(fù)彈幕,或者根據(jù)彈幕內(nèi)容的語義相似度來判斷是否為無效刷屏彈幕。

彈幕去重處理

  • 在語義理解過程中,首先對彈幕進(jìn)行去重處理,以消除相同或相似內(nèi)容的重復(fù)彈幕??梢岳梦谋鞠嗨贫扔嬎惴椒?,比如基于詞向量的相似度或者編輯距離等,來進(jìn)行彈幕去重。
  • 在回復(fù)用戶時,檢查歷史記錄,避免重復(fù)回答相同或相似的彈幕內(nèi)容??梢跃S護(hù)一個已回復(fù)的彈幕列表,并在回復(fù)之前檢查是否存在相同或相似的彈幕。

語義理解與情感分析

  • 利用大型語言模型進(jìn)行語義理解和情感分析,以更好地理解彈幕內(nèi)容的含義和情感傾向。通過分析用戶的情緒和意圖,可以更有針對性地回復(fù)彈幕,提高回復(fù)的準(zhǔn)確性和合理性。
  • 對于無效刷屏彈幕,可以使用情感分析技術(shù)來識別其中的惡意、負(fù)面或無意義的內(nèi)容,并選擇不回復(fù)或以適當(dāng)方式回復(fù)。

四、最后的話

這篇文章我們探討了RAG在數(shù)字對話領(lǐng)域的應(yīng)用流程,那相應(yīng)的,在智能客服場景下,不出其右,RAG同樣可以重新塑造這一領(lǐng)域的用戶交互體驗;

希望對你有所幫助和啟發(fā)。如果你有任何想法、疑問或者想要分享的經(jīng)驗,請隨時留言交流。

祝你在AI應(yīng)用的探索之路上充滿收獲和進(jìn)步。

本文由 @裴哲琦 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!