先進(jìn)的多文檔問答(MDQA)框架HiQA:大幅降低區(qū)分度低的復(fù)雜多文檔RAG的幻覺問題 原創(chuàng)
背景
檢索增強(qiáng)生成(RAG)迅速推進(jìn)了語言模型領(lǐng)域,特別是在問答(QA)系統(tǒng)。通過在響應(yīng)生成階段集成外部文檔,RAG顯著提高了語言模型的準(zhǔn)確性和可靠性。這種方法提高了響應(yīng)的質(zhì)量,并降低了幻覺的頻率,其中模型生成了錯(cuò)誤或誤導(dǎo)性的信息。然而,這些方法表現(xiàn)出有限的檢索精度時(shí),面對(duì)眾多的難以區(qū)分的文件,在其實(shí)際應(yīng)用中提出了顯著的挑戰(zhàn)。為了應(yīng)對(duì)這些新出現(xiàn)的挑戰(zhàn),本文提出HiQA,一個(gè)先進(jìn)的多文檔問答(MDQA)框架,集成級(jí)聯(lián)元數(shù)據(jù)到內(nèi)容和多路由檢索機(jī)制。
簡(jiǎn)介
大型語言模型 (LLMs) 在多個(gè)領(lǐng)域,包括文檔問答 (QA) 得到了廣泛應(yīng)用。然而,使用 LLMs 進(jìn)行 QA 仍面臨諸如幻覺問題、及時(shí)性問題和預(yù)訓(xùn)練不足的挑戰(zhàn)。檢索擴(kuò)增生成(RAG)是一種有前景的解決方案。普通的基于 RAG 的 QA 系統(tǒng)將文檔表示為非結(jié)構(gòu)化文本塊,但在處理大量、內(nèi)容相似或復(fù)雜的文檔時(shí),這種方法遇到了限制。多文檔問答提出了更大的挑戰(zhàn),因?yàn)樗枰紤]文檔間的關(guān)系和差異。我們將此問題確定為“無法區(qū)分的多文檔中的RAG降級(jí)”。
多文檔QA場(chǎng)景中性能下降的實(shí)驗(yàn)驗(yàn)證。使用88個(gè)文檔進(jìn)行測(cè)試,每個(gè)文檔包含88個(gè)問題中的一個(gè)。使用普通RAG和GPT-4設(shè)置(塊大小=400,top-k=5)。查詢單個(gè)文檔上的每個(gè)問題時(shí),只有一個(gè)錯(cuò)誤答案。然而,一起查詢所有88個(gè)文檔會(huì)導(dǎo)致30個(gè)錯(cuò)誤答案,這表明隨著文檔數(shù)量的增加,性能會(huì)顯著下降。結(jié)果如下圖所示:
數(shù)據(jù)擴(kuò)充被視為可以改進(jìn)響應(yīng)的潛在解決方案,可增強(qiáng)原始文件以改善響應(yīng),如下圖所示:
我們的直觀想法是,在文檔QA中使用RAG的關(guān)鍵是匹配知識(shí)的“關(guān)鍵塊”來回答文檔中的查詢(Q)。這類似于射箭,其中查詢充當(dāng)箭頭,我們需要確保關(guān)鍵知識(shí)在目標(biāo)區(qū)域內(nèi)。因此,通過將“定義”文本合并到塊中,我們可以調(diào)整它們的分布,使查詢嵌入更容易擊中關(guān)鍵塊。
HiQA
PDFTriage 通過提取文檔的結(jié)構(gòu)元素并將其轉(zhuǎn)換為可檢索的元數(shù)據(jù),解決了結(jié)構(gòu)化文檔的多文檔QA任務(wù)。PDFTriage 對(duì)元數(shù)據(jù)的使用可以被描述為一種硬分區(qū)技術(shù)。這種策略相當(dāng)于在信息檢索之前對(duì)子集進(jìn)行剪枝和選擇。這樣的措施被實(shí)施以通過減小段的大小來改進(jìn)檢索精度。然而,在涉及復(fù)雜任務(wù)(如跨文檔搜索)的場(chǎng)景中,在硬分區(qū)方法中,有用的知識(shí)有可能在檢索之前丟失。
為了解決這一挑戰(zhàn),我們提出了HiQA(分層上下文增強(qiáng)RAG多文檔QA),結(jié)合一種新的文檔解析和轉(zhuǎn)換方法。這種方法包括一個(gè)基于元數(shù)據(jù)的增強(qiáng)策略,以增強(qiáng)塊的可擴(kuò)展性,以及一個(gè)復(fù)雜的多路由檢索機(jī)制。專門為多文檔環(huán)境量身定制,我們的方法旨在提高知識(shí)檢索的精度和相關(guān)性,克服傳統(tǒng)的基于向量的檢索系統(tǒng)的固有局限性。這種增強(qiáng)顯著提高了基于RAG的系統(tǒng)在管理多文檔問答(MDQA)的復(fù)雜需求方面的性能。我們的方法框架如下圖所示:
最初,每個(gè)文檔經(jīng)過Markdown格式化器的處理,根據(jù)其固有的章節(jié)結(jié)構(gòu)將其轉(zhuǎn)換為[章節(jié)元數(shù)據(jù):章節(jié)內(nèi)容]對(duì)(稱為片段),然后以Markdown格式存儲(chǔ)。隨后,我們提取片段的層次結(jié)構(gòu),并將元數(shù)據(jù)級(jí)聯(lián)到每個(gè)章節(jié)中,以構(gòu)建我們的數(shù)據(jù)庫。最后,我們使用多路徑檢索方法來增強(qiáng)RAG。由于層次增強(qiáng)先于檢索,因此它提供了一種可擴(kuò)展的解決方案,可以無縫集成各種嵌入或檢索方法。
方法
我們提出的HiQA系統(tǒng)由三個(gè)組件組成:Markdown格式化器(MF),分層上下文增強(qiáng)器(HCA)和多路徑檢索器(MRR)。MF模塊處理源文檔把它轉(zhuǎn)換成一個(gè)markdown文件,一個(gè)片段序列。不是將文檔分成固定大小的塊,而是每個(gè)片段對(duì)應(yīng)于一個(gè)自然的章節(jié),包括章節(jié)元數(shù)據(jù)和內(nèi)容。HCA模塊從markdown中提取分層元數(shù)據(jù)并將其組合,形成級(jí)聯(lián)元數(shù)據(jù),從而增強(qiáng)每個(gè)片段的信息。MRR模塊采用多路徑檢索方法來找到最合適的片段,然后將其作為上下文輸入提供給語言模型。
Markdown格式化器
由于我們提出的方法需要獲取層次結(jié)構(gòu)信息,因此源文檔必須經(jīng)過結(jié)構(gòu)解析。因此,Markdown因其出色的結(jié)構(gòu)化文檔格式化功能而被選中。因此,我們引入了Markdown格式轉(zhuǎn)換器,將源文檔轉(zhuǎn)換為富含結(jié)構(gòu)化元數(shù)據(jù)的Markdown文檔。
Markdown Formatter使用LLM進(jìn)行文檔解析。使用LLM的決定是由其通過利用歷史信息處理跨頁面連貫上下文的能力以及其語義理解和標(biāo)點(diǎn)符號(hào)使用的能力驅(qū)動(dòng)的。這些功能可以實(shí)現(xiàn)精確的章節(jié)分割和有效的表格數(shù)據(jù)恢復(fù),充分利用LLM的高級(jí)語義理解功能。
當(dāng)進(jìn)入長(zhǎng)上下文時(shí),存在精度損失、遺忘、指令弱化、幻覺等問題。為了確保輸出內(nèi)容的結(jié)構(gòu)連貫、準(zhǔn)確并與原始文檔一致,我們采用了滑動(dòng)窗口技術(shù),窗口大小為W,步長(zhǎng)為W,附加填充為K。
為了得到高質(zhì)量的文檔處理結(jié)果,使用指令進(jìn)行生成markdown核心思想如下:
- 將文檔中的每一章,無論其級(jí)別如何,都視為Markdown中的一級(jí)標(biāo)題,并附上數(shù)字標(biāo)識(shí)符。將每章視為一個(gè)知識(shí)片段,而不是固定大小的塊。
- 設(shè)置正確的章節(jié)編號(hào),后面跟著章節(jié)標(biāo)題。
- 通過Markdown語法生成表格并記錄表格標(biāo)題。
分層上下文增強(qiáng)器(Hierarchical Contextual Augmentor, HCA)
使用級(jí)聯(lián)文檔結(jié)構(gòu)在數(shù)據(jù)處理過程中進(jìn)行文本增強(qiáng),從Markdown文件中提取層次結(jié)構(gòu)元數(shù)據(jù),并將其級(jí)聯(lián)到每個(gè)章節(jié),形成增強(qiáng)的段落。具體步驟包括:
- 使用深度優(yōu)先搜索遍歷章節(jié)樹,連接和傳遞元數(shù)據(jù)。
- 對(duì)文本、表格和圖像等不同類型的段落進(jìn)行不同的處理。
多路徑檢索器(Multi-Route Retriever, MRR)
我們提出了我們的多路徑檢索方法的QA任務(wù),集成了各種技術(shù),以提高精度的知識(shí)檢索廣泛的文檔語料庫。具體來說,我們使用以下三種方法實(shí)現(xiàn)了檢索:
- 向量相似性匹配:使用Elasticsearch和BM25。
- 關(guān)鍵詞匹配:使用預(yù)訓(xùn)練的關(guān)鍵實(shí)體檢測(cè)模型提取關(guān)鍵詞。
- 補(bǔ)償向量相似性限制:結(jié)合基于頻率的檢索技術(shù)和關(guān)鍵詞排名策略。
如果兩個(gè)文檔非常相似(比如“iPhone10”的說明書和“iPhone15”的說明書),傳統(tǒng)的方法可能會(huì)遇到問題。因?yàn)樗鼈冎饕ㄟ^計(jì)算文檔之間的"向量相似性"來辨別文檔的差異,但這種方法對(duì)于一些只有細(xì)微差別(例如生產(chǎn)日期或電池容量)的文檔區(qū)分效果并不理想。
為了解決這個(gè)問題,我們引入了一個(gè)新的工具——稱為L(zhǎng)ucene索引。這個(gè)工具更多地關(guān)注每個(gè)詞語(或者叫令牌)在文檔中出現(xiàn)的頻率,而不是單純的計(jì)算整體相似度。這樣就可以更有效地區(qū)分那些在大部分內(nèi)容都很相似,但在某些細(xì)節(jié)上有所不同的文檔。
除此之外,我們還使用了其他的策略來提升檢索的準(zhǔn)確性,比如利用命名實(shí)體識(shí)別和人類專家設(shè)置的關(guān)鍵詞來給相關(guān)的部分賦予更大的權(quán)重。這意味著,如果搜索“iPhone15”這個(gè)關(guān)鍵詞,那么所有包含“iPhone15”的部分會(huì)被認(rèn)為更重要,因此在檢索結(jié)果中的排名會(huì)更高。
驗(yàn)證效果
結(jié)論
我們介紹了HiQA,一種新的框架,專門設(shè)計(jì)用于解決現(xiàn)有的RAG在多文檔問答(MDQA)環(huán)境中的局限性,特別是在處理不可區(qū)分的多文檔時(shí)。HiQA采用了軟分區(qū)策略,該策略利用文檔的結(jié)構(gòu)性元數(shù)據(jù)進(jìn)行有效的塊拆分和嵌入增強(qiáng),并采用多路徑檢索機(jī)制來增強(qiáng)檢索效率。我們廣泛的實(shí)驗(yàn)驗(yàn)證了我們的方法的魯棒性和有效性,有助于更深入地理解嵌入空間內(nèi)的文檔段分布的理論。
?
本文轉(zhuǎn)載自公眾號(hào)AI 博物院 作者:longyunfeigu
