Question Augmentation (問題增強)
參考 Data Augmentation(資料增強)
給定 (Q, A) → 生成更多語意等價的 Q',都對應同一個 A
Question Paraphrase Generation 或 Question Rewriting 也可以
標準的 Augmentation
- Paraphrase — 改寫問法(最常見)
- Back-translation — 中文→英文→中文,自然產生變體
- LLM rewrite — 直接 prompt Claude/GPT 生成 N 種問法
- Template-based — 抽取關鍵實體,填入不同句型
- Semantic perturbation — 換同義詞、改句序
Evaluation
(確認 augmented Q 仍對應正確 A)
- 用原本的 QA system 跑 augmented questions
- 比較 answer 和 ground truth → 算 Exact Match / F1 / LLM-as-judge
- 若準確率接近原始集 → augmentation 品質 OK,可當 baseline
論文方法
AugGPT - Leveraging ChatGPT for Text Data Augmentation
用 ChatGPT 把每一筆訓練資料改寫成 N 個語意相同但表達不同的版本
然後混入原始資料一起訓練
原始句子 + prompt → ChatGPT → N 個改寫版本
每個改寫版本繼承原始 label(或 answer)
RAGAS - Retrieval-Augmented Generation Assessment System
RAG pipeline 評估框架,不需要 ground truth human annotation 就能評估
- Faithfulness(答案有沒有 grounded 在 context)
- Answer Relevance(答案有沒有回答到問題)
- Context Relevance(retrieved context 有沒有聚焦、不含多餘資訊)
這個用來評估的框架
QAG with Explicit Diversity Conditions
動機: LLM 生成多組 QA 時,面臨嚴重的 redundant QA pair 問題,影響下游 QA 系統效果
- 把文件切成 N 等份,強制每個 Q 的答案來自不同位置
- 明確指定問句類型
- 先從文件抽出 entity list,每個 Q 聚焦不同 entity
QPaug
當問題模糊或複雜時,RAG 的 retrieval 品質會下降,導致後續答案也變差
- Question Augmentation:
透過加入詳細的子問題和 planning,讓 query 更具體,改善 retrieval 效果 - Passage Augmentation
用 LLM 的 parametric knowledge 自己生成 passage,來補充或引導 answer extraction,處理 retrieved passages 品質不佳的情況
Persona-based Paraphrase
針對產品 QA,不同使用者背景會用不同說法:
Generate 5 ways to ask this question,
from different user perspectives:
- 技術背景用戶
- 第一次使用的新手
- 從競品轉過來的用戶
- 用手機的用戶(口語、短句)
- 客服對話風格
比起純改寫,這樣生成的多樣性更貼近真實使用者行為。
某些方法的限制
如果直接用 LLMs 生成 Q ? => 嚴重的 redundant QA pair 問題
生成出來的 Q 太像了。
例如 A = "本產品支援 iOS 和 Android"
Redundant(不好):
Q1: 這個產品支援哪些系統?
Q2: 這個產品支援什麼系統?
Q3: 這個產品可以在哪些系統上使用?
三個問題換湯不換藥,加進 dataset 沒有意義。
Diverse(好):
Q1: 這個產品支援哪些系統?
Q2: iPhone 可以用嗎?
Q3: 我的 Android 手機能下載嗎?
Self-BLEU
BLEU 是評估機器翻譯品質
hypothesis(機器生成)vs reference(人工正確答案)
→ 算 n-gram 重疊程度
→ 越高 = 越像正確答案
Self-BLEU 把生成的句子互相當作彼此的 reference,不需要外部 ground truth
生成 [Q1, Q2, Q3, Q4, Q5]
計算 Q1 的 Self-BLEU:
→ Q1 當 hypothesis
→ [Q2, Q3, Q4, Q5] 當 reference
→ 算 BLEU
對每個 Q 都做一次,取平均
n-gram 大量重疊 → Self-BLEU 高
n-gram 重疊少 → Self-BLEU 低 (多樣性高)
Implicit Answer
| 類型 | 說明 | 例子 |
|---|---|---|
| Direct Q | A 完整回答 Q | "售價多少?" → "$299" |
| Indirect Q | A 只能部分/推導回答 Q | "比競品便宜嗎?" → "$299"(需推理) |
這種 Q 和 A 之間是間接對應,不是直接對應
Q: "這個產品比競品便宜嗎?"
A: "本產品售價 $299"
A 沒有直接回答比較,但語意上可以用來推導答案
因此
A → 類型 → Q' 生成 Direct Q,多樣性高
Q → Q' 生成 Indirect Q,語意邊界更廣
Brige
在 Q 和 A 之間加 Bridge
生成一個中間的 reasoning chain,讓 reranker 看得懂關聯:
Q: "我可以不用信用卡嗎?"
Bridge: "使用者想知道除了信用卡以外的付款選項"
A: "支援 Apple Pay、Line Pay、貨到付款..."
目前想法
A → 意圖空間探索 → 多樣化 Q'
但是這個不是 Q 的 Augmentation 是 A 的問題生成
A
↓
Step 1: LLM 生成 3~5 種詢問類型(加多樣性約束)
↓
Step 2: 每種類型生成對應 Q'
↓
過濾:embedding similarity 確認 Q' 還是對應同一個 A
為了防止 Redundant
生成 Q1~Q5
↓
兩兩 cosine similarity < 0.85 → 多樣性夠
比較 self-bleu
↓
若不夠 → 丟掉最相似的那個,重新生成補充