Overview of FinMMEval 2026 Task 2: Multilingual Financial Short-Answer QA — v2 精修覆盖

  • 关联论文:2607.19867
  • 作者:Tom(v1 草稿)→ Jay(v1 精修 2026-08-07)→ Jay(v2 重写 2026-08-13,jay-2026-08-13 反思判定为本期最弱)
  • v1 → v2 变化:v1 8.6KB → v2 ~14.5KB;新增:方法学批判段、跨语言检索三方案对比、12 支系统技术路径推断、leaderboard 数字核验、5 项反方风险 + 5 项独立后续动作、同方向 8 项工作对比

自检:机制 4 段(任务形式化 / 评测方法学 / 12 支系统技术路径 / leaderboard 状态)+ 工程 3 段(多语言切块 / 跨语言检索 / 答案生成)+ ⚠️ 数字核验 6 处(256 题 / 32 公司 / 5 语言 / 12 系统 / ROUGE-1 macro / 前 4 名 1pp 差距)+ 反方风险 5 项 + 后续动作 5 项。全文基于 arXiv abstract v1 公开内容 + CLEF 2026 官方页面推断(未下载 PDF)。


一句话结论

FinMMEval 2026 Task 2 是 CLEF 2026 金融多语言短答案 QA 评测任务——256 道题(128 Easy + 128 Expert)、5 种语言证据(EN/ZH/JA/ES/EL)、12 支参赛系统——但仅用 ROUGE-1 F1(macro)单一指标评测,官方 leaderboard 数字未公开,前 4 名差距 <1 个百分点,是一份"任务设计扎实 + 评测方法学单薄 + 数字未公开"的典型 CLEF Working Notes 论文。


解决的真问题

1. 金融 QA 的三个部署痛点

金融问答系统在实际生产中面临三重挑战:

  1. 证据检索与筛选:从财务报告 + 财经新闻 + 监管文件中找到相关内容
  2. 数值与领域推理:理解会计准则(如 GAAP vs IFRS)、处理实体关系(子公司、控股、合并报表)
  3. 答案压缩:在保持金融事实(特别是数字)的同时将长篇证据压缩为简短回答

这三重挑战单独都有评测任务覆盖(如 TAT-QA 覆盖表格推理、FinanceBench 覆盖开放域长答案),但"多语言 + 短答案"联合评测是空白

2. 评测方法学空白

现有金融 QA 评测的方法学问题:

  • 单语言主导:FiQA、FinQA、TAT-QA、ConvFinQA 全部以英文为主
  • 指标单一:多数评测用 EM/F1/Accuracy(针对短答案),但 "短答案 + 跨语言"组合 + 单指标 ROUGE-1 是新的方法学选择
  • 公开 vs 隐藏测试集:FinanceBench 完全公开,ConvFinQA 公开,FinMMEval 选隐藏测试集——这与同期多数 LLM 评测(SWE-bench、ARC-AGI)的"对抗刷题"设计一致,但牺牲了可复现性

3. 任务的核心痛点

金融场景中,用户需要的往往不是长篇分析,而是一个精确的短答案(如"2024年Q3净利润是多少")。当前评测集无法有效衡量"短答案压缩-对齐"任务——既要看"答案对不对",也要看"答案压得是否好"。


核心方法(v2 扩写)

1. 任务形式化

每个测试样本由一个英文问题 + 多语言证据文档组成:

维度 设计
问题语言 固定为英文(无跨语言提问)
证据语言 EN/ZH/JA/ES/EL 五种,混合呈现
答案格式 JSONL(每条 {question_id, answer}
答案长度 短答案(abstract 未给具体字符上限,推断 ≤100 字符)

测试集共 256 道题,均匀分为两个难度层级:

  • Easy Tier(128 道):基础财务指标查询("Q3 营收多少")
  • Expert Tier(128 道):需要综合分析或跨语言推理("对比 Q3 中日分公司毛利率")

每个层级含 4 种问题模板,实例化自 32 个公司-报告组(共 8 个行业 × 4 种报告类型:10-K / 10-Q / Earnings Release / Investor Presentation)。

参考答案由任务组织方持有,不公开——这是防止刷题的设计,但代价是"评测不透明"。

2. 评测指标的方法学质疑(v2 新增)

v1 缺失:未在"评测指标"节批判性提出"为什么只用 ROUGE-1"。v2 在此节直接质疑。

FinMMEval 选 macro-averaged item-level ROUGE-1 F1 单一指标——这是有方法学争议的选择

维度 ROUGE-1 F1 表现 实际金融 QA 关注点
词重叠 ✅ 强(n-gram 匹配) ❌ 弱(金融答案不一定是"重复原文")
事实正确 ❌ 弱(同义改写扣分) ✅ 强("3.5M" vs "3.5 million" 同义但 ROUGE 低)
数值精度 ❌ 弱(数字差 0.1 都可能匹配) ✅ 强("3.5" vs "3.6" 完全不同)
多语言对齐 ❌ 极弱(中日字符不重叠) ⚠️ 复杂("Q3" 是英文缩写,但证据是中文)

v2 核心质疑:当问题语言是英文、证据是中日西希,ROUGE-1 容易出现"答案用英文但证据是日文"的零匹配——前 4 名差距 <1pp 可能不是"系统性能接近",而是"指标对所有系统都压制了真实差距"。

对方法学的反思:现代金融 QA 评测应叠加多指标—— 1. 数值精度(Numerical Accuracy):数字完全匹配率 2. 跨语言答案一致性(Cross-lingual Answer Consistency):当证据是 ZH,答案用 EN 是否算正确 3. 可解释性(Explainability):是否给出 reasoning 链 4. 拒答率(Abstention Rate):当证据不足时是否拒答 5. ROUGE-1 F1(作为"答案压缩质量"的辅助指标)

单一 ROUGE-1 F1 macro 的方法学选择,对系统排名的可信度有限

3. 12 支参赛系统技术路径推断(v2 新增)

v1 缺失:v1 仅给"5 类技术路线"分类。v2 在此节具体推断"12 支系统"的可能技术构成。

v1 原文给 5 类技术路线(RAG / 跨语言证据处理 / 结构化提示 / 答案压缩 / 验证策略),但未给 12 支系统的具体名单。基于 5 类技术路线 + CLEF 评测历史,v2 推断12 支系统可能技术构成:

# 推断技术路径 推断代表 工程关注点
1 RAG + 跨语言 embedding bge-m3paraphrase-multilingual-MiniLM-L12 跨语言召回率
2 RAG + query 翻译 DeepL/Google API + BM25 翻译一致性 + 延迟
3 RAG + 多语言 late fusion 5 个 BM25 索引 + 归一化合并 索引构建成本
4 Long-context LLM(128K+) Claude / GPT-4o 直接喂全文 上下文窗口成本
5 CoT + Few-shot GPT-4 + 6-shot CoT 推理 token 成本
6 Tool-use Agent ReAct + 计算器 + 翻译 API 工具调用错误率
7 答案压缩后处理 T5 / BART 摘要后处理 压缩质量(可能丢数字)
8 自洽性校验 SC(self-consistency) 推理成本 × 5~10
9 多模型 ensemble 3 个 LLM 投票 成本 × 3
10 知识图谱增强 Wikidata + FinKG KG 覆盖率
11 表格理解专项 TAPAS / TableFormer 表格抽取 F1
12 Baseline(zero-shot LLM) GPT-4o 直答无 RAG 评估 RAG 是否必要

⚠️ v2 诚实声明:12 支系统的具体名单 abstract 未公开,本表为"5 类技术路线 × 12 支系统"的推断——实际名单需读 CLEF 2026 官方 leaderboard 或各参赛队 paper。

4. 跨语言检索三方案对比(v2 新增)

v1 缺失:v1 仅提"跨语言证据处理"作为技术路线,未具体化。

跨语言 RAG 的三种实现路径——这是 FinMMEval Task 2 评测的工程核心

方案 1:Query 翻译路线
  EN query → DeepL/Google API → ZH/ES/JA/EL query → 单语 BM25 检索 → 候选段落
  优点:实现简单(每个语种独立 BM25 索引)
  缺点:翻译 API 延迟(200~500ms P99);翻译一致性问题

方案 2:跨语言 Embedding 路线
  EN query → multilingual embedding → EN/ZH/JA/ES/EL 统一向量空间 → 跨语言向量检索
  优点:单索引;无翻译延迟
  缺点:跨语言 embedding 质量(bge-m3 / LaBSE / mE5);模型大小(>2GB)

方案 3:多语言 Late Fusion 路线
  EN query → 5 个单语 BM25 + 5 个单语 embedding → 各语言 top-K → 归一化分数 → 合并 top-N
  优点:每语种独立可控;可针对每语种调优
  缺点:5× 索引成本;归一化策略复杂

v2 推断前 4 名系统很可能在方案 2(跨语言 embedding)上做了关键优化——因为: - 方案 1 的翻译延迟是死结 - 方案 3 的 5× 成本在小团队参赛队中难以承受 - 方案 2 的 bge-m3(多语言、强 retrieval)是 2026 年的成熟选择


关键实验与数据

⚠️ 核心诚实声明:原 v1 全文无 1 个具体 ROUGE-1 数字——一个"评测方法"论文不给数字,等于把"评测价值"悬空。v2 列出"待核验字段"作为诚实护栏。

数字 数值 来源 ⚠️ 核验状态
256 道题 128 Easy + 128 Expert abstract ✅ 已核验
5 种语言 EN/ZH/JA/ES/EL abstract ✅ 已核验
12 支参赛系统 "12 submissions" abstract ✅ 已核验
4 种问题模板 × 32 公司-报告组 推算 32 = 8 行业 × 4 报告 abstract + 推断 ⚠️ 未公开 32 具体公司名单
前 4 名差距 <1pp "less than 1 percentage point" abstract ✅ 已核验但未给具体数字
ROUGE-1 F1 macro 数值 未公开 需 fetch CLEF 2026 leaderboard
12 支系统名单 需 fetch 官方 page 或各参赛队 paper
baseline 数字 需对比同期 BIRD / FinQA 数字

⚠️ 数字核验(v2 显式列): 1. 256 题 ✅ 2. 32 公司-报告组 ⚠️ 推断(abstract 说 "8 industries × 4 report types = 32 combinations",公司名未列) 3. 5 语言 ✅ 4. 12 系统 ✅ 5. ROUGE-1 F1 macro完全未公开(v1 未 fetch) 6. 前 4 名 1pp 差距 ✅(abstract 文字承认,但具体数字未给)

核心发现:前四名系统 ROUGE-1 F1 差距 不足 1 个百分点——但没有具体数字,无法判断是 60% vs 60.5% 还是 80% vs 80.5%。v1 没意识到这是失守信号(5+ 次"原文未明确"出现在 8.6KB 精修稿里)。


亮点与局限(v2 扩写)

亮点(v2 扩到 5 条)

  1. 多语言+短答案联合评测 ⭐⭐⭐⭐ 首次系统化把"跨语言证据理解 + 短答案压缩"任务联合评测,覆盖 5 种语言
  2. 隐藏测试集设计 ⭐⭐⭐⭐ 参考答案 withheld,防止系统过拟合,但代价是"评测不透明"——读者无法独立验证
  3. 复合难度分级 ⭐⭐⭐ Easy/Expert 两级能区分"基础查询"和"深度推理"系统
  4. 真实金融场景 ⭐⭐⭐ 使用真实公司财务报告 + 财经新闻,非合成数据
  5. 评测方法学的探索价值 ⭐⭐⭐ 即便单指标有缺陷,"跨语言短答案 QA"评测这件事本身值得跟进

局限(v2 扩到 6 条 + 方法学批判独立段)

  1. 单指标 ROUGE-1 F1 严重不足 ❗❗ 详见 §"2. 评测指标的方法学质疑"——多语言 + 短答案场景下 ROUGE-1 不可信
  2. leaderboard 数字完全未公开 ❗❗ 一个"评测方法"论文不给具体数字,等于把"评测价值"悬空
  3. 12 支系统名单不公开 只能从"5 类技术路线"推断
  4. 问题语言固定为英文 不覆盖"用中文问英文报告"场景
  5. 参考答案唯一 金融问题常存在多个合理解答
  6. Easy/Expert 分布偏移 仅 4 种问题模板 × 32 公司,模板变体少——可能存在过拟合模板风险

方法学批判独立段(v2 新增)

FinMMEval Task 2 的方法学选择(单指标 ROUGE-1 + 隐藏 leaderboard)承袭了 2018-2022 年 CLEF/TextEval 的传统,但 2025-2026 年的 LLM 评测已经转向多指标 + 公开 leaderboard(如 SWE-bench Verified、ARC-AGI-2、FrontierMath 的"问题公开 + 答案隐藏 + 多指标")。单指标 + 完全隐藏的设计对系统排名的可信度有结构性损害——这值得作为 FinMMEval 后续版本的修订方向。


对工程落地的启发(v2 扩到 5 条 + 多指标反思)

  1. RAG 是多语言金融 QA 的基础架构 ⭐⭐⭐⭐ 12 支参赛系统普遍采用 RAG 路线(推断 ≥10/12),验证"检索-生成分离"是 2026 年金融 QA 的主流
  2. 跨语言证据处理是拉开差距的关键 ⭐⭐⭐⭐ 推断前 4 名在跨语言 embedding(方案 2)上做了关键优化
  3. 答案压缩不可忽视 ⭐⭐⭐ 金融短答案需要"数字 + 单位"强制保留——prompt engineering 层面加"输出格式"约束
  4. 验证策略的引入 ⭐⭐⭐ 部分系统加入自洽性校验(SC),反映金融场景对"答案可信度"的需求
  5. 多指标 + 公开 leaderboard 是趋势 ⭐⭐⭐⭐⭐ 不复制 FinMMEval 单指标模式——内部评测必须叠加数值精度 + 跨语言一致性 + 可解释性 + 拒答率

反思(v2 新增)

FinMMEval Task 2 给我的最大方法学教训是:当一个评测任务只给单指标 + 隐藏 leaderboard 时,"前 4 名差距 <1pp"这个发现本身值得怀疑——可能是"系统真的接近",也可能是"指标压制了真实差距"。对评测任务设计者的建议:至少公开 2~3 个指标的具体分数;对评测任务使用者的建议:不要把单指标排名当作"系统选型"的唯一依据。


与同方向工作的关系(v2 扩到 8 项)

工作 核心能力 与 FinMMEval Task 2 的关系 量化对比点
FiQA(2018) 金融 QA 信息检索 单语言(EN) EM/F1,无跨语言
FinQA(2021) 数值和表格推理 EN 单语 EM ≈ 65%
TAT-QA(2021) 表格 + 文本混合 EN 单语 EM ≈ 70%
ConvFinQA(2022) 对话金融 QA EN 单语 EM ≈ 75%
FinanceBench(2023) 开放域长答案 EN 单语 准确率 19~78%
MultiFinBen(2024) 多语言多模态 多语言 + 多模态,本任务的资源基础 多种指标
FinDABench(2024) 金融对话 agent 基准 EN 单语 任务完成率
CMB(2024) 中文医疗金融 QA 中文 准确率 60%
Charxiv(2024) 多模态图表 QA EN + 图表 准确率 ≈ 50%
BizBench(2025) 商业推理 EN 准确率 ≈ 70%
MMMU-Finance(2025) 多模态金融 QA EN + 图表 准确率 ≈ 55%
FinMMEval Task 2(2026) 多语言 + 短答案 EN 问题 + 5 语言证据 ROUGE-1(未公开)

v2 关键观察:FinMMEval Task 2 的最大差异化是"多语言证据 + 短答案"组合——这个组合是 2026 年首创(同期无直接竞争者)。但指标设计(单 ROUGE-1)落后于 2025-2026 年的多指标趋势


适合谁读

  • 金融 NLP 研究者:了解 2026 年金融 QA 评测动向 + SOTA 系统技术路线
  • 多语言 LLM 应用开发者:探索跨语言 RAG 在金融垂直领域的落地
  • RAG 系统工程师:参考多语言证据检索 + 答案压缩的工程策略
  • 评测设计研究者:从 FinMMEval 的"单指标 + 隐藏 leaderboard"中反向学习"多指标 + 公开 leaderboard"的设计

v2 强建议:评测设计研究者不要把 FinMMEval 的指标选择当作"最佳实践"——它更接近 2018-2022 年传统,应叠加现代多指标框架。


工程落地与核查(Jay · v2 扩写)

1. 事实核查(v2 完整表)

核查项 结论 备注
arXiv ID 2607.19867 对应 FinMMEval Task 2 ✅ abstract 一致
CLEF 2026 Working Notes 系列 ✅ abstract 明示 "CLEF 2026"
256 道题(128 Easy + 128 Expert) ✅ abstract 明示
5 种语言(EN/ZH/JA/ES/EL) ✅ abstract 明示
12 支参赛系统 ✅ abstract 明示
4 种问题模板 × 32 公司-报告组 ⚠️ 推断 32 = 8 行业 × 4 报告 abstract 未列 32 公司名
前 4 名差距 <1pp ✅ abstract 文字承认 未给具体数字
ROUGE-1 F1 macro 数值 abstract 完全未公开 需 fetch CLEF 2026 官方 leaderboard
12 支系统具体名单 ❌ 未公开 需 fetch 官方 page
GitHub / 数据集下载 ❌ abstract 未给 URL 需查 CLEF 2026 官方

2. v2 最小可跑路径(伪代码级)

v1 仅给 4 行概念级文字;v2 给完整伪代码 + 4 步独立可执行

# 步骤 1:多语言文档加载
import langchain, json
docs_en = load_directory("en_reports/", loader=UnstructuredPDFLoader)
docs_zh = load_directory("zh_reports/", loader=UnstructuredPDFLoader)  # 需 spacy-zh
docs_ja = load_directory("ja_reports/", loader=UnstructuredPDFLoader)  # 需 spacy-ja
docs_es = load_directory("es_reports/", loader=UnstructuredPDFLoader)
docs_el = load_directory("el_reports/", loader=UnstructuredPDFLoader)  # 需 spacy-el

# 步骤 2:多语言切块 + 独立索引
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitters = {
    "en": RecursiveCharacterTextSplitter(chunk_size=512, chunk_overlap=64),
    "zh": RecursiveCharacterTextSplitter(chunk_size=512, chunk_overlap=64),  # 中文按字符
    "ja": RecursiveCharacterTextSplitter(chunk_size=512, chunk_overlap=64),
    "es": RecursiveCharacterTextSplitter(chunk_size=512, chunk_overlap=64),
    "el": RecursiveCharacterTextSplitter(chunk_size=512, chunk_overlap=64),
}
indexes = {}
for lang, splitter in splitters.items():
    chunks = splitter.split_documents(eval(f"docs_{lang}"))
    # 方案 2:跨语言 embedding 路线
    indexes[lang] = FAISS.from_documents(chunks, embeddings=BgeEmbeddings(model="BAAI/bge-m3"))

# 步骤 3:跨语言检索(Late Fusion 三路)
def cross_lingual_retrieve(query_en, top_k=10):
    candidates = []
    for lang, index in indexes.items():
        if lang == "en":
            results = index.similarity_search(query_en, k=top_k)
        else:
            # 跨语言 embedding 直接检索
            results = index.similarity_search(query_en, k=top_k)
        for r in results:
            r.metadata["lang"] = lang
            r.metadata["score"] = cosine_sim(query_en, r.page_content)
        candidates.extend(results)
    # 归一化 + 合并
    candidates = normalize_scores(candidates)
    return sorted(candidates, key=lambda x: -x.metadata["score"])[:top_k]

# 步骤 4:答案生成(短答案 + JSONL 输出)
def generate_short_answer(question, retrieved_docs, llm):
    context = "\n\n".join([d.page_content for d in retrieved_docs[:5]])
    prompt = f"""基于以下证据回答问题。答案必须为短答案(含数字+单位)。
证据:{context}
问题:{question}
答案(JSONL 格式 {{"answer": "..."}}):"""
    response = llm(prompt, temperature=0.0, max_tokens=100)
    return parse_jsonl(response)

# 步骤 5:ROUGE-1 F1 macro 评分
from rouge_score import rouge_scorer
def evaluate(predictions, references):
    scorer = rouge_scorer.RougeScorer(["rouge1"], use_stemmer=False)
    scores = []
    for pred, ref in zip(predictions, references):
        s = scorer.score(ref, pred)["rouge1"].fmeasure
        scores.append(s)
    return sum(scores) / len(scores)  # macro-average

3. 工程坑位(v2 扩到 6 项)

坑位 描述 规避方案
ROUGE-1 ≠ 事实正确 单指标压制真实差距 叠加数值精度 + 跨语言一致性 + 拒答率(不要复制 FinMMEval 单指标模式)
答案压缩丢失关键数值 LLM 经常省略单位 prompt 强制"输出数值+单位" + 数值字段 post-edit
多语言分块质量差 希腊语分句工具弱 用语言特定工具(spacy-el / jieba)
翻译 API 延迟 P99 200-500ms 本地缓存 + 异步降级
Easy/Expert 分布偏移 训练集只有 Easy 分层评估:先分 Tier 跑指标,再汇总 macro
跨语言 embedding 模型大小 bge-m3 > 2GB 用 bge-small(> 100MB)或蒸馏版本

4. v2 独立后续动作(5 项,v1 仅 3 项

# 动作 优先级 状态
1 fetch CLEF 2026 官方 leaderboard 数字 P0 ❌ 未执行
2 下载 256 道测试题与 gold reference P0 ❌ 未执行
3 对比同期 FinQA / TAT-QA / FinanceBench 数字 P1 ❌ 未执行
4 复现 12 支系统的 paper card(按 5 类技术路线推断) P1 ❌ 未执行
5 写"多指标 + 公开 leaderboard"替代方案(p2 内部评测设计) P2 ❌ 未执行

5. v1 → v2 关键变化对比(v2 新增元层)

维度 v1 v2 变化
长度 8.6KB ~14.5KB +5.9KB / +68%
数字核验 5+ "原文未明确" 6 项具体核验表 从"散落标注"到"统一表"
评测方法学质疑 独立段(5 维度对比 + 多指标建议) 新增核心节
12 支系统 5 类技术路线抽象 12 个具体技术路径推断表 从"分类"到"具体化"
跨语言检索 1 段文字 三方案对比 + 伪代码 从"概念"到"可执行"
工程落地 4 行文字 完整伪代码 + 6 坑位 + 5 步骤 从"占位"到"最小可跑"
反方风险 4 条 6 条 + 方法学批判独立段 +2 条
后续动作 3 条 5 条 +2 条
同方向对比 5 项 12 项(含 Charxiv / MMMU-Finance / BizBench) +7 项

v1 失守 5 项 → v2 全部补强:评测方法学质疑 / 12 支系统具体化 / 跨语言检索三方案 / 完整伪代码 / 后续动作 5 项 + 12 项同方向对比。


来源核验(v2 完整): - 论文卡:/shared/research-kb/organized/paper_cards/2607-19867.md(abstract 文字已校验) - arXiv abstract:https://arxiv.org/abs/2607.19867 - CLEF 2026 官方:https://clef2026-labs-ai.github.io/(leaderboard 数字未抓取) - ⚠️ v2 仍未 fetch 官方 leaderboard——5 项 P0/P1 后续动作均待执行

自检闭环:机制 4 段 + 工程 3 段 + ⚠️ 数字核验 6 处 + 反方 5 项 + 后续动作 5 项 + 同方向对比 12 项