基于思維鏈的大型語言模型問題生成方法
作者:子賀Leo@知乎 (北交大 CS碩士在讀)
題目:Prompting Large Language Models with Chain-of-Thought for Few-Shot Knowledge Base Question Generation
作者:華東師范大學(xué)
來源:Arxiv 2023.10 EMNLP 2023
Prompting Large Language Models with Chain-of-Thought for Few-Shot Knowledge Base Question Generation https://arxiv.org/abs/2310.08395
Abstract
知識庫問題生成(KBQG)任務(wù)目的是將結(jié)構(gòu)化的邏輯形式轉(zhuǎn)換為自然語言問題,目前都是fine-tuning微調(diào),但標注成本高 不適合少量數(shù)據(jù)生成,所以亟需低資源場景l(fā)ow-resource。隨著LLMs+CoT的出現(xiàn),本文提出了一種新的提示方法KQG-CoT:
(1)首先,考慮邏輯形式的結(jié)構(gòu)特征,從未標記的數(shù)據(jù)池中選擇支持的邏輯形式。
(2)其次,構(gòu)建了一個任務(wù)特定的提示,以指導(dǎo)LLMs生成基于選擇性邏輯形式的復(fù)雜問題。
(3)此外,通過對邏輯形式的復(fù)雜性進行排序,KQG-CoT擴展為KQG-Cot+
在三個公共KBQG數(shù)據(jù)集上進行了廣泛的實驗,結(jié)果表明,我們的提示方法在評估的數(shù)據(jù)集上始終優(yōu)于其他提示基線。
1 Introduction
知識庫問題生成(KBQG)任務(wù)是將結(jié)構(gòu)化的邏輯形式轉(zhuǎn)換為自然語言問題,由于在QA系統(tǒng)中具有數(shù)據(jù)增強的潛力及其協(xié)助對話系統(tǒng)創(chuàng)建連貫問題的能力,KBQG吸引了工業(yè)界和學(xué)術(shù)界越來越多的興趣。
面臨的挑戰(zhàn):
(1)微調(diào)需要大量帶注釋數(shù)據(jù),成本高昂,缺乏低資源可用性。
(2)當(dāng)涉及到聚合、最高級和比較等操作時,某些邏輯形式會變得復(fù)雜。

(如圖1所示)于是本文提出了KQG-CoT框架,這是首次嘗試使用llm進行無訓(xùn)練的少量KBQG,框架由兩個主要步驟組成:
(1)通過聚類獲得考慮句法和語義特征的支持性邏輯形式。
(2)通過思維鏈CoT構(gòu)造提示,將復(fù)雜問題生成拆解為多個子問題。
2 Related work
這里講到了知識庫問題生成最開始是基于模板的,之后基于端到端神經(jīng)網(wǎng)絡(luò)。還介紹了少樣本few-shot在文本生成的相關(guān)研究,以及LLMs上下文學(xué)習(xí)的相關(guān)研究。屬于是背景介紹,就不具體展開了。
3 Methodology
3.1 問題定義
KB由一組三元組組成。邏輯形式是KB中子圖的結(jié)構(gòu)表達式,它可以由復(fù)雜的操作(例如,聚合、比較和最高級)組成,并且可以用于對KB執(zhí)行。KBQG任務(wù)要求系統(tǒng)在給定邏輯形式和具有一致語義的相應(yīng)KBs時生成自然語言問題。
3.2 方法綜述
最近,LLMs已經(jīng)展示了其令人印象深刻的上下文少樣本學(xué)習(xí)能力。我們可以簡單地將預(yù)訓(xùn)練模型應(yīng)用于新任務(wù),而不是對其進行微調(diào)以使其適應(yīng)下游任務(wù)。對于KBQG任務(wù),我們采用了兩階段的方法來設(shè)計CoT提示符,使LLM能夠有效地理解復(fù)雜的邏輯形式并生成問題。

3.3 支持性邏輯形式選擇
邏輯形式是程序結(jié)構(gòu)和模式項(即實體和關(guān)系)的組合;而支持性邏輯形式是指能夠涵蓋多種邏輯規(guī)則的邏輯形式,從而為llm生成問題提供更多的語法信息,需要以下三個步驟進行選擇:
(1)結(jié)構(gòu)編碼:保持邏輯形式的語法不變。然后,我們用符號“r”代替關(guān)系,用“e”代替實體。這種結(jié)構(gòu)也被稱為抽象查詢圖,它過濾獨特語義,反映了邏輯形式的拓撲結(jié)構(gòu)和組件類。
(3)聚類:編碼為向量后,利用k -means (Hartigan and Wong, 1979)聚類算法,根據(jù)編碼結(jié)構(gòu)的句法相似性將其分成k個聚類。
(2)邏輯形式采樣:每個聚類包含一組具有相似結(jié)構(gòu)的邏輯形式,我們從每一組中隨機選取一個結(jié)構(gòu),得到k個具有代表性的結(jié)構(gòu)。因為每個結(jié)構(gòu)可以對應(yīng)多個邏輯形式。我們進一步從k個選擇的結(jié)構(gòu)中識別出具有不同語義的k個邏輯形式。我們貪婪地選擇一個與所選邏輯形式語義相似性最小的候選,其中相似性是通過原始邏輯形式的編碼來衡量的。我們重復(fù)這個過程,直到遍歷了k個結(jié)構(gòu)。
3.4 提示構(gòu)造
由于一些邏輯形式具有復(fù)雜的語義,甚至包含嵌套的語法結(jié)構(gòu)。按照CoT方法,我們基于上面檢索到的支持性邏輯形式構(gòu)造一個推理鏈提示。對于每個示例,我們需要生成一個基于邏輯形式的推理鏈,以引出llm生成由簡單到復(fù)雜的問題。為此,我們在構(gòu)造推理鏈時遵循兩個標準:
(1)模板應(yīng)該將復(fù)雜問題的生成分解為一步一步的過程。
(2)模板應(yīng)該以邏輯形式清楚地標識子組件,以便llm在每個步驟中關(guān)注這些子組件。
(圖2所示)prompt的第一步將整個邏輯形式解析為一跳關(guān)系子圖,第二步包括作為組件附加到前一步的解析邏輯形式,因此,我們不斷地展開邏輯形式,直到形成一個完整的問題。這個循序漸進的過程確保生成的問題在語義上是連貫的,在語法上是準確的。
在推理過程中,我們將所有演示和查詢的邏輯形式連接起來作為最后的提示。LLM收到提示后,輸出預(yù)測,明確subquestion1、subquestion2和subquestion3的中間生成步驟,最終生成預(yù)測的自然語言問題。
4 Experiment
4.1 數(shù)據(jù)和指標
Data:WebQuestions(WQ)、PathQuestions(PQ)、GrailQA(GQ)

Metrics:BLEU-4、METEOR、ROUGEL(B、M、R)
4.2 對比方法
KQG-CoT:本文提出的提示方法
KQG-CoT+:采樣后將演示從短到長排序來實現(xiàn)改進版本。
由于目前還沒有使用llm進行幾次KBQG任務(wù)的嘗試,因此本文呢采用五種few-shot場景下的通用提示方法作為基準。
Standard Prompt:標準提示(Brown et al., 2020)是一種上下文學(xué)習(xí)的標準提示方法,將k個隨機邏輯形式和問題連接起來形成提示。預(yù)測是一步生成的。
Random-CoT:隨機思維鏈是一個直觀的CoT提示基線,其中k個邏輯形式是從數(shù)據(jù)池中隨機選擇的,我們遵循原始工作(Brown et al., 2020)在敘述中描述子任務(wù)。
Manual-CoT :(Wei et al., 2022)是一種CoT提示,以k個人類書寫的范例作為演示,子任務(wù)以敘述的形式呈現(xiàn)。
Active-CoT:(Diao et al., 2023)是CoT提示的集成框架。多個邏輯形式隨機選擇作為驗證集。然后利用多個度量(例如:不一致,方差)作為每個邏輯形式的不確定值來產(chǎn)生最終問題。
Auto-CoT: (Zhang et al., 2023c)通過基于聚類的算法選擇k個演示自動構(gòu)建提示,子任務(wù)以敘述的形式呈現(xiàn)。我們將所有的邏輯形式以文本的方式編碼,簡單地對KBQG任務(wù)采用提示方法。
4.3 實現(xiàn)細節(jié)
對于邏輯形式的編碼,我們利用Huggingface中的SentenceTransformers庫中的allMiniLM-L6-v24檢查點進行有效編碼。由于這是一個只有幾個鏡頭的場景,因此我們在鏈提示符中手動編寫k個演示的基本原理。我們使用OpenAI API5中的text- davici -003生成問題,并將簇數(shù)設(shè)置為k = 126。
4.4 主要結(jié)果
與基線方案的比較: (1)KQG-CoT+提示在所有KBQG數(shù)據(jù)集上的表現(xiàn)都明顯優(yōu)于其他方法。(2)發(fā)現(xiàn)所有的CoT提示方法都優(yōu)于標準提示方法,這表明為了生成邏輯復(fù)雜、依賴關(guān)系長的問題,將整個生成任務(wù)分解成子任務(wù)對于保持問題的連貫性和準確性至關(guān)重要。(3)通過對Auto-CoT、KQG-CoT和KQGCoT+方法的比較發(fā)現(xiàn),盡管這些方法都采用聚類選擇k個演示,但KQG-CoT和KQG-CoT+方法更有效,因為我們精心設(shè)計了KBQG任務(wù)的編碼算法和提示模板,使其更適合從邏輯形式生成問題。

與其他系統(tǒng)的比較: 據(jù)我們所知,我們是第一個使用GQ數(shù)據(jù)集處理KBQG任務(wù)的,因此沒有現(xiàn)有的方法可用于比較。我們的方法仍然可以獲得比大多數(shù)現(xiàn)有的全訓(xùn)練KBQG模型更好的結(jié)果。值得注意的是,AutoQGS只需要0.1%的訓(xùn)練實例進行訓(xùn)練,我們只需要利用12個實例進行推理,這凸顯了我們方法的優(yōu)越性。

4.5 更多分析
人類的評價:我們進一步通過從WQ數(shù)據(jù)集的測試集中隨機抽取300個樣本進行人工評估。考慮到語法正確性、復(fù)雜性和與給定邏輯形式的相關(guān)性,生成的問題被評為1到5的等級。我們要求三名注釋者對生成的問題進行評分,1分為差,5分為完美。每個問題的分數(shù)是所有注釋者的平均值。我們在表6中給出了結(jié)果,從中我們可以觀察到人工評估和自動評估之間的類似趨勢。我們的方法優(yōu)于所有可比較的方法,這些方法的評估分數(shù)接近真實情況。

消融實驗:我們進行了消融研究,以評估模型各部分的有效性,并將結(jié)果顯示在表7中。我們首先排除了CoT推理鏈,并觀察到評估指標的性能下降。這表明CoT在生成復(fù)雜問題中起著重要的作用。然后我們?nèi)サ鬕-means算法,隨機選擇支持的邏輯形式。結(jié)果的減少表明我們的聚類算法可以提供更多樣化的邏輯形式。

k的影響:我們在圖3中研究了k的影響??梢杂^察到,隨著演示次數(shù)的增加,我們的方法和RandomCoT的BLEU-4和ROUGE-L評分都在增加。這表明,在激活llm的電位中,演示的數(shù)量是顯著的。與Random-CoT相比,當(dāng)k的值變大時,我們的方法顯示出更大的增益,這表明我們的方法確實選擇了最具代表性的邏輯形式作為演示

案例研究:表5所示,我們的方法引出了中間生成步驟,并為LLMs提供了更多的指導(dǎo),以便我們的KQG-CoT+生成語法正確且語義接近給定邏輯形式的問題。相反,基線方法可能會遇到邏輯形式不一致、修飾符錯位或表達式不流暢等問題

5 Conclusion
在本文中,我們提出了KQG-CoT方法來處理少量KBQG任務(wù)。KQG-CoT從未標記的數(shù)據(jù)中檢索相關(guān)的邏輯形式并合并其特征。然后,它生成顯式提示,以展示基于所選示例生成復(fù)雜問題的推理過程。實驗結(jié)果表明,與基線相比,我們的方法達到了最先進的性能,甚至顯示出與全訓(xùn)練方法相比具有競爭力的結(jié)果。
——The End——
分享
收藏
點贊
在看
