第275章 寫完了~
2.3檢索增強生成技術
RAG(Retrieval-AugmentedGeneration)技術是一種結合了信息檢索(Retrieval)和文本生
成(Generation)的自然語言處理(NLP)方法。核心思想是將傳統的檢索技術與現代的自然語言
生成技術相結合,以提高文本生成的準確性和相關性。它旨在通過從外部知識庫中檢索相關信息來
輔助大型語言模型(如GPT系列)生成更準確、可靠的回答。
在RAG技術中,整個過程主要分為三個步驟如圖2.2所示:索引(Indexing)、檢索
(Retrieval)和生成(Generation)。首先,索引步驟是將大量的文檔或數據集合進行預處理,將
其分割成較小的塊(chunk)並進行編碼,然後存儲在向量數據庫中。這個過程的關鍵在於將非結
構化的文本數據轉化為結構化的向量表示,以便於後續的檢索和生成步驟。接下來是檢索步驟,它
根據輸入的查詢或問題,從向量數據庫中檢索出與查詢最相關的前k個chunk。這一步依賴於高效
的語義相似度計算方法,以確保檢索到的chunk與查詢具有高度的相關性。最後是生成步驟,它將
原始查詢和檢索到的chunk一起輸入到預訓練的Transformer模型(如GPT或BERT)中,生成最
終的答案或文本。這個模型結合了原始查詢的語義信息和檢索到的相關上下文,以生成準確、連貫
且相關的文本。
RAG的概念和初步實現是由DouweKiela、PatrickLewis和EthanPerez等人在2020年首次
提出的。他們在論文《Retrieval-augmentedgenerationforknowledge-intensivenlptasks》
中詳細介紹了RAG的原理和應用,隨後谷歌等搜尋引擎公司已經開始探索如何將RAG技術應用到搜
索結果的生成中,以提高搜索結果的準確性和相關性。在醫療領域,RAG技術可以幫助醫生快速檢
索醫學知識,生成準確的診斷建議和治療方案。
2.4文本相似度計算
文本相似度計算是自然語言處理(NLP)領域的一個重要研究方向,它旨在衡量兩個或多個文
本之間的相似程度。文本相似度計算的原理基於兩個主要概念:共性和差異。共性指的是兩個文本
之間共同擁有的信息或特徵,而差異則是指它們之間的不同之處。當兩個文本的共性越大、差異越
小,它們之間的相似度就越高。
文本相似度計算可以根據不同的分類標準進行分類。首先基於統計的方法分類,這種方法主要
關注文本中詞語的出現頻率和分佈,通過統計信息來計算文本之間的相似度。常見的基於統計的方
法有餘弦相似度、Jaccard相似度等。其次是基於語義的方法分類,這種方法試圖理解文本的含義
和上下文,通過比較文本的語義信息來計算相似度。常見的基於語義的方法有基於詞向量的方法
(如Word2Vec、GloVe等)和基於主題模型的方法(如LDA、PLSA等)。最後是基於機器學習的方
法分類,這種方法利用機器學習算法來訓練模型,通過模型來預測文本之間的相似度。常見的基於
機器學習的方法有支持向量機(SVM)、神經網絡等。
目前,在國內外,文本相似度計算已經取得了豐富的成果。國內方面,清華大學等機構的研究
者提出了基於深度學習的文本相似度計算方法,利用神經網絡模型來捕捉文本的深層語義信息,實
現了較高的相似度計算精度。江蘇師範大學的研究者提出了利用《新華字典》構建向量空間來做中
文文本語義相似度分析的方法,該方法在中文文本相似度計算方面取得了顯着的效果。放眼國外,
Google的研究者提出了Word2Vec算法,該算法將詞語表示為高維向量空間中的點,通過計算點之
間的距離來衡量詞語之間的相似度。Word2Vec算法在文本相似度計算領域具有廣泛的影響。斯坦
福大學等機構的研究者提出了BERT模型,該模型通過大量的無監督學習來捕捉文本的上下文信
息,可以實現高精度的文本相似度計算。BERT模型在多項自然語言處理任務中均取得了優異的表
現。
2.5本章小結
本章主要介紹了本項目中使用的四種關鍵技術與模型。這些技術主要基於大型語言模型,並且
小主,這個章節後面還有哦,請點擊下一頁繼續閱讀,後面更精彩!
依賴於RAG技術的原理。介紹了知識抽取技術,它利用先進的自然語言處理技術從文本中提取有意
義的信息和知識,隨後討論了文本處理中所使用的RAG技術,該技術可以顯着提高大型語言模型在
專業領域的性能,增強信息檢索的準確性和效率。最後探討了在文本比對過程中所需的相似度計算
方法,這對於評估文本之間的相似程度至關重要。
了解清楚數據獲取來源后,進行數據採集,數據採集的方法包括自動化和手動兩種方式:
自動化採集:利用編寫的Python腳本通過API接口自動從上述數據庫和期刊中下載文獻和元
數據,部分代碼如圖3.2所示。這種方法的優點是效率高,可以大量快速地收集數據。使用
BeautifulSoup和Requests庫從開放獲取的期刊網站爬取數據。
手動採集:通過訪問圖書館、研究機構以及聯繫文章作者等方式獲取不易自動下載的資源。雖
然此方法更費時,但有助於獲取更全面的數據集,特別是一些最新或尚未公開的研究成果。
將兩種方法採集到的文獻數據進行匯總,最大範圍的將有關電力LCA領域的英文文獻進行匯
總,共獲得507篇。
最後是將各個途徑獲取到的文獻數據和元數據匯總,進行數據預處理。
採集到的數據需經過清洗和預處理,才能用於後續的分析。
數據預處理的步驟包括:
數據清洗:刪除重複的記錄,校正錯誤的數據格式,填補缺失值。
數據整合:將來自不同來源的數據整合到一個統一的格式和數據庫中,如表3.1所示,以便進
行進一步的分析。
為了使後續知識庫生成更加準確與完善,對文獻具體內容進行篩選。例如部分文獻中並未提到
所用數據,而是指出所用數據庫連結,如圖3.3所示,在對該篇文獻進行解析后,數據部分就是欠
缺的,最終構建的知識庫就不完整,在調用大模型回答相關問題時,極大概率產生幻覺。因此為了
構建更為準確的專業模型,對爬取下來的507篇文獻進行篩選,選擇包括流程圖(system
boundaries)、各單元過程或生產環節的投入(input),產出(output),數據(lifecycle
inventory),以及數據的時間、地點、獲取方法、技術細節的文獻作為最後應用的數據。核對內容
后的文獻數據集共98篇英文文獻。