2.3
檢索增強生成技術
rag(retrieval-augmented
generation)技術是一種結合了信息檢索(retrieval)和文本生
成(generation)的自然語言處理(nlp)方法。核心思想是將傳統的檢索技術與現代的自然語言
生成技術相結合,以提高文本生成的準確性和相關性。它旨在通過從外部知識庫中檢索相關信息來
輔助大型語言模型(如
gpt
係列)生成更準確、可靠的回答。
在
rag
技術中,整個過程主要分為三個步驟如圖
2.2
所示:索引(
indexing)、檢索
(retrieval)和生成(generation)。首先,索引步驟是將大量的文檔或數據集合進行預處理,將
其分割成較小的塊(c混k)並進行編碼,然後存儲在向量數據庫中。這個過程的關鍵在於將非結
構化的文本數據轉化為結構化的向量表示,以便於後續的檢索和生成步驟。接下來是檢索步驟,它
根據輸入的查詢或問題,從向量數據庫中檢索出與查詢最相關的前
k
個
c混k。這一步依賴於高效
的語義相似度計算方法,以確保檢索到的
c混k
與查詢具有高度的相關性。最後是生成步驟,它將
原始查詢和檢索到的
c混k
一起輸入到預訓練的
transformer
模型(如
gpt
或
bert)中,生成最
終的答案或文本。這個模型結合了原始查詢的語義信息和檢索到的相關上下文,以生成準確、連貫
且相關的文本。
rag
的概念和初步實現是由
douwe
kie、patrick
lewis
和
ethan
perez
等人在
2020
年首次
提出的。他們在論文《retrieval-augmented
generation
for
knowledge-intensive
nlp
tasks》
中詳細介紹了
rag
的原理和應用,隨後穀歌等搜索引擎公司已經開始探索如何將
rag
技術應用到搜
索結果的生成中,以提高搜索結果的準確性和相關性。在醫療領域,rag
技術可以幫助醫生快速檢
索醫學知識,生成準確的診斷建議和治療方案。
2.4
文本相似度計算
文本相似度計算是自然語言處理(nlp)領域的一個重要研究方向,它旨在衡量兩個或多個文
本之間的相似程度。文本相似度計算的原理基於兩個主要概念:共性和差異。共性指的是兩個文本
之間共同擁有的信息或特征,而差異則是指它們之間的不同之處。當兩個文本的共性越大、差異越
小,它們之間的相似度就越高。
文本相似度計算可以根據不同的分類標準進行分類。首先基於統計的方法分類,這種方法主要
關注文本中詞語的出現頻率和分布,通過統計信息來計算文本之間的相似度。常見的基於統計的方
法有餘弦相似度、ard
相似度等。其次是基於語義的方法分類,這種方法試圖理解文本的含義
和上下文,通過比較文本的語義信息來計算相似度。常見的基於語義的方法有基於詞向量的方法
(如
word2vec、glove
等)和基於主題模型的方法(如
lda、plsa
等)。最後是基於機器學習的方