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

0 評論 2565 瀏覽 14 收藏 17 分鐘

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

文檔目錄預覽

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

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

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

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

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

二、什么是RAG技術

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

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

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

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

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

http://www.codemsi.com/ai/6002396.html

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

2. RAG需要完成哪些業(yè)務目標

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

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

3. RAG應用的檢測數(shù)據(jù)指標

1)用戶體驗&直播間效果指標

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

2)準確度和性能相關指標

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

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

5. RAG檢索庫的構建流程

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

詳細構建流程:

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

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

Step2-文本預處理

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

Step3-Chunking文本的分塊與分段

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

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

粒度過大

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

粒度過細

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

當然分段方式可以有不同處理粒度,以尋求響應速度和查詢準備度的最佳平衡點。

Step4-構建索引

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

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

Step5-Embedding嵌入式模型訓練

  • 使用準備好的文本數(shù)據(jù)集對RAG模型進行預訓練,以學習文本的表示和語義信息。
  • 選擇合適的預訓練任務和模型架構,如BERT、GPT等,并根據(jù)任務需求進行微調。

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

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

Step6- 檢索模塊/生成模塊構建,完成RAG知識庫的搭建

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

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

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

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

調整方式1:提高檢索內容與查詢之間的相關性,對于文本分段chunk過程重新調整顆粒度

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

2)提升召回率,用戶問的問題,無法檢索到相關內容,導致缺乏上文

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

3)減少有害和偏見性內容

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

調整方式2:在生成階段,可以通過設置輸出限制來限制模型生成可能有害或偏見性的內容。例如,可以限制生成內容的長度、語法結構或詞匯選擇,以減少可能導致問題的內容。

6. 直播場景下RAG回復的頻率限制

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

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

彈幕有效性判斷

  • 使用機器學習模型對彈幕進行分類,以區(qū)分有效和無效的彈幕??梢詷嫿ǚ诸惸P?,對彈幕進行標記,如是否含有惡意詞匯等
  • 結合規(guī)則引擎和機器學習模型,綜合考慮多種因素對彈幕進行有效性判斷。例如,設置閾值來限制相同內容的重復彈幕,或者根據(jù)彈幕內容的語義相似度來判斷是否為無效刷屏彈幕。

彈幕去重處理

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

語義理解與情感分析

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

四、最后的話

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

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

祝你在AI應用的探索之路上充滿收獲和進步。

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

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

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

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