提綱 1 簡介 2 定義 3 檢索源 4 檢索方式 5 整合 6 未來方向 7 總結(jié) 參考文獻 1 簡介 當(dāng)前,基于檢索增強的文本生成受到越來越多的關(guān)注,相比傳統(tǒng)的生成模型,檢索增強的文本生成有著不可替代的優(yōu)勢,并且在許多文本NLP任務(wù)取得領(lǐng)先地位。例如,開放域的問答系統(tǒng),如果要求系統(tǒng)能夠跟進實時動態(tài),在生成答案的時候就必須結(jié)合最新的信息,而這對于傳統(tǒng)的文本生成模型是做不到的,傳統(tǒng)的文本生成模型通過龐大的參數(shù)量存儲知識,無法回答沒有相應(yīng)知識的問題,而基于檢索增強的文本生成則可以通過檢索引入外部的知識來解決這個問題。相比傳統(tǒng)的文本生成,基于檢索增強的文本生成有以下幾個優(yōu)勢 a)知識不需要隱式地存在在模型參數(shù)中,而可以通過即插即用方式顯示引入知識,具有更大的擴展性。 b) 比起從頭開始生成文本,基于檢索增強的文本生成則是將通過檢索得到的文檔作為參考,能一定程度減輕文本生成的難度。 圖1:基于檢索增強的文本生成樣例 2 定義 大多數(shù)文本生成可以描述為,給定一個輸入文本x,生成一個輸出文本y,也就是y=f(x),其中f就是文本生成模型。而基于檢索增強的文本生成則可以描述為y=f(x, z),其中z是一系列從訓(xùn)練語料或者外部數(shù)據(jù)源中檢索得到的相關(guān)樣例z={(xr, yr)}。如果xr跟輸入文本x相似或者相關(guān),那么yr也許對答案生成有一定幫助。當(dāng)xr等于空集時,也就是沒有檢索得到樣例,此時基于檢索增強的文本生成就會退化為傳統(tǒng)的文本生成。 3 檢索源 基于檢索增強的文本生成可以引入不同來源的外部知識,也就是可以從不同來源的庫中檢索召回相關(guān)文檔。 a) 訓(xùn)練語料 大多數(shù)研究都聚焦于如何從訓(xùn)練語料中搜索相關(guān)的知識,在推理時,利用從訓(xùn)練語料中檢索到的高相似度的樣例作為額外的參考,從而減少模型生成答案的不確定性。這些工作的主要啟發(fā)就是不僅可以利用模型參數(shù)隱式存儲語料中的知識,也可以利用顯示的模型可接受形式向模型傳輸知識,提高生成文本質(zhì)量。 b)外部數(shù)據(jù) 一部分研究者嘗試從外部數(shù)據(jù)源召回相關(guān)樣例,在這些研究中,檢索池,可以提供額外的不存在于訓(xùn)練語料的信息。這種方式尤其利于領(lǐng)域遷移和知識更新的場景。 c)無監(jiān)督數(shù)據(jù) 前面兩種數(shù)據(jù)源的局限性在于數(shù)據(jù)集必須是包括(輸入-輸出)這樣格式的有監(jiān)督數(shù)據(jù),而有些場景下缺乏這樣的監(jiān)督數(shù)據(jù),為此也有研究用到這部分無監(jiān)督數(shù)據(jù)來增強文本生成,主要想法是去對齊源文本側(cè)的數(shù)據(jù)跟目標(biāo)文本側(cè)的數(shù)據(jù)。 4 檢索方式 基于檢索增強的文本生成中的檢索模塊,旨在檢索召回跟query相關(guān)的文檔,為后續(xù)的生成模型提供參考。具體方式是給定一個輸入文本x和一個檢索語料庫,檢索模型從語料庫中檢索得到一系列跟x相關(guān)的樣例z={(xr, yr)},檢索方式可以有以下幾種不同方式。 a) 稀疏向量檢索 如果使用的是有監(jiān)督的檢索語料庫,那么{(xr, yr)}是否被召回依賴于x跟xr的相似度。稀疏向量檢索利用倒排索引高效匹配關(guān)鍵詞,以TFIDF和BM25算法為例。基于稀疏向量檢索的方式更傾向于召回有相似表達的文本,停留在字面上的表示,忽略了語義信息。 b) 稠密向量檢索 為了檢索時能召回語義相關(guān)的樣例,可以利用預(yù)語言模型將文本編碼成低維稠密向量,然后計算向量之間的內(nèi)積作為相似度得分,以此作為檢索的依據(jù)。 c) 特定任務(wù)檢索 前面兩種檢索當(dāng)時都是依賴相似度的方法,這種類型的方式是基于一個簡單的假設(shè),那就是,如果xr越接近于x,那么yr越有利于幫助文本生成。然而,真實情況下最相似的文本不一定最有利于下游的生成任務(wù)。理想情況下,檢索的依據(jù)應(yīng)該從從數(shù)據(jù)中學(xué)習(xí),是依賴于特定任務(wù)的,好的檢索依據(jù)是能夠提升最后生成模型生成的質(zhì)量。 5 整合 如何將檢索得到的文檔跟當(dāng)前輸入x整合到一起,從而控制生成模型生成更高質(zhì)量的結(jié)果? a) 數(shù)據(jù)增強 最直接的整合方式,直接將檢索得到的樣例{(xr, yr)}跟原始輸入x拼接到一起。通過在增強的數(shù)據(jù)上進行訓(xùn)練,語言模型會隱式地學(xué)習(xí)到如何整合檢索得到的信息。盡管這種方式很簡單,但是在諸多任務(wù)上都是有效的。 b) 注意力機制 通過引入額外的編碼器對檢索得到文檔進行編碼,然后利用注意力機制跟原始輸入x整合到一起。由于注意力機制逐漸變成諸多NLP任務(wù)的關(guān)鍵模塊,這種方式也逐漸成為一個默認的方式。 c) 骨干抽取 對于前面兩種方式,下游生成模型學(xué)習(xí)如何從檢索得到的文檔中隱式過濾掉不相關(guān)甚至有害的信息,但是也有部分工作嘗試通過顯示的方式抽取有用信息,進而直接跟輸入x整合到一起。 6 未來方向 盡管當(dāng)前基于檢索增強的文本生成取得一定成功,接下來還有有很長的路去進一步提升整體的效果。 a) 檢索敏感性 基于檢索增強的文本生成對于檢索的質(zhì)量非常敏感。當(dāng)檢索得到的樣例跟輸入query非常相似時,文本生成模型的效果會很好。但是當(dāng)檢索得到的樣例跟輸入query沒那么相似時,生成的效果會很糟糕甚至不及沒有檢索增強的生成。 b) 檢索效率 擴大檢索內(nèi)存可以更大概率獲取到跟query相似的內(nèi)容,但是這也會影響整體推理的效率。如何平衡檢索內(nèi)存大小跟檢索效率? c) 聯(lián)合優(yōu)化 目前看聯(lián)合優(yōu)化檢索模塊跟生成模型的方式有潛力的,但在實際中,檢索模塊在訓(xùn)練跟推理階段仍然存在差距。在訓(xùn)練階段,誤差只傳遞到局部的少數(shù)召回的樣例,但是在推理時卻要考慮所有在數(shù)據(jù)庫中的樣例。 d) 多模態(tài) 隨著技術(shù)的發(fā)展,跨模態(tài)的檢索方式也成為了現(xiàn)實,可以直接將不同模態(tài)的數(shù)據(jù)聯(lián)系到一起,這也需要去探索文本生成任務(wù)中檢索不同模態(tài)數(shù)據(jù)的可能性。 e) 多樣性跟可控性 僅使用一種檢索依據(jù)會導(dǎo)致召回結(jié)果缺乏多樣性,為此可以通過多種檢索方式去獲得多樣化的結(jié)果,從而提升有用信息的含量。不同場景下對于檢索的要求不盡相同,未來需要去探索如何使用定制化的方式去進行檢索,從而實現(xiàn)更加可控化的文本生成。 7 總結(jié) 總體來說,基于檢索增強的文本生成在很多場景下有著明顯優(yōu)勢,單純依賴預(yù)訓(xùn)練語言模型龐大的參數(shù)量,在領(lǐng)域遷移或者知識更新等場景下很難令人滿意,而基于檢索增強的文本生成天然就適配這種場景,但是如何檢索得到正確的語料,同時指導(dǎo)語言模型往正確的方向進行,都是需要進一步優(yōu)化的。 參考文獻 1.(2022, ) A Survey on Retrieval-Augmented Text Generation https:///abs/2202.01110 |
|