YodaQA评测体系完整指南:用curated事实型数据集测量问答系统准确率与Top-N召回
YodaQA评测体系完整指南用curated事实型数据集测量问答系统准确率与Top-N召回【免费下载链接】yodaqaA Question Answering system built on top of the Apache UIMA framework.项目地址: https://gitcode.com/gh_mirrors/yo/yodaqaYodaQA 是基于 Apache UIMA 框架构建的开源问答系统而它的data/eval/目录就藏着一套完整、可复现的评测体系用 curated 事实型factoid数据集批量提问自动测量系统准确率与 Top-N 召回并把每次提交commit的成绩存档对比。本文带你从零看懂这套问答系统评测体系怎么运转。为什么问答系统需要一套评测体系 问答系统的改进往往发生在很细的环节特征向量、打分权重、证据扩散……如果没有固定的基准测试集你根本无法回答这次改动到底让系统变强还是变弱了。YodaQA 的解法是把评测数据、评测脚本、历史记录全部放进仓库组成部分位置作用评测数据集data/eval/curated-train.tsv、curated-test.tsv430 题训练集 430 题盲测集训练评测流水线data/eval/train-and-eval.sh一键重训模型并跑双数据集成绩统计data/eval/tsvout-stats.sh输出准确率 / 召回 / MRR历史成绩存档data/eval/tsv/每个 commit 一份结果 TSV失败召回分析data/eval/analysis/系统归因未召回的问题整套说明文档就在 data/eval/README.md 一类的目录 README 中本仓库各子目录均配有详细注释。curated 事实型数据集评测的基石 YodaQA 默认使用factoid-curated 数据集 v1人工筛选过的事实型问题集每题都带标准答案。1. 文件格式4 列 TSV打开data/eval/curated-train.tsv每行是一道题用制表符分成 4 列10048 factoid Where was the first atomic bomb detonated? White Sands|New Mexico 2248 factoid How many planets are in our solar system? nine|9|eight|8 1647 factoid What continent is Scotland in? Europe列含义1问题 ID来自 TREC 编号2问题类别这里是factoid事实型3问题文本英文4标准答案正则表达式|分隔多个可接受答案用正则而非纯文本做答案是个亮点像How many planets are in our solar system?同时接受nine|9|eight|8How deep is Crater Lake?接受1,932 feet、594 m等多种合法表述——宽松但严格地判定答对。2. 训练集 vs 盲测集curated-train.tsv430 题用于主开发、性能分析、机器学习模型训练curated-test.tsv430 题专门用于基准测试团队刻意把它当盲集——不针对其中任何单题做优化避免过拟合。此外还有更大规模的噪声数据集large2180-*.tsv、large2470-*.tsv以及旧版curatedv1-*.tsv可通过-d参数切换比如-d large2180就能在更嘈杂的 2180 题集上考察系统。核心指标准确率、Top-N 召回与 MRR✅ 系统对每道题输出一份结果 TSV由GoldStandardAnswerPrinter生成源码GoldStandardAnswerPrinter.java列含义一目了然列含义ID / TIME问题 ID、处理耗时秒QUESTION问题文本SCORE综合得分公式1 - log(1rank)/log(答案数)正确答案排名越靠前分越高RANK标准答案在系统输出列表中的名次-1 表示未召回NRANKS系统给出的候选答案总数TOPANSWERS…Top-N 候选答案默认 15 个每个附置信度一键统计三件套运行data/eval/tsvout-stats.sh每份结果文件会浓缩成一行核心指标curated-test-abc1234 perfect 230/430 53.5% any 342/430 79.5% mrr 0.548 avgtime 1.234perfectTop-1 准确率正确答案排在第 1 位的问题数与占比——这是准确率anyTop-N 召回率正确答案出现在候选列表中任意位置的问题数与占比——衡量系统的召回能力mrr平均倒数排名对每题按1/(rank1)求平均同时奖励排得靠前avgtime平均每题耗时兼顾性能维度。不带参数直接运行该脚本还能按时间顺序列出仓库所有历史 commit 的成绩——相当于内置了一棵评测演化曲线。一次完整评测怎么跑在仓库根目录执行data/eval/train-and-eval.sh这个脚本data/eval/train-and-eval.sh会自动临时克隆当前 commit 的代码未提交的改动不参与评测保证可复现并行跑训练集与测试集先用旧模型出答案重训机器学习模型后再出最终答案产出答案 TSV、特征向量文件、新模型参数与日志自动调用tsvout-stats.sh打印成绩并提示你提交更新后的模型文件。常用选项-s N限制并行线程数也可用环境变量YODAQA_N_THREADS-m 6000M多核时加大 JVM 堆内存-d large2180换数据集-Dcz.brmlab.yodaqa.use_bingyes改用 Bing 搜索作为数据源。⚠️ 提示反复评测会产生几十上百 GB 的数据与日志data/eval/cleanup-stale.sh用于清理陈旧记录会删除文件慎用。进阶分析对比两次评测、挖掘召回失败1. 逐题对比两个 commitdata/eval/tsvout-compare.sh abc1234 def5678tsvout-compare.sh会把两次评测按题对齐分四组高亮输出新答对的题Gained、分数变好的题Improved、变差的题Worsened、丢掉答案的题Lost——改动效果的归因一目了然。2. 查看正确答案的排名分布data/eval/tsvout-ranks.sh data/eval/tsv/curated-train-*.tsv把标准答案排进前 N 名的题按名次排序编号方便直接读出中位数再加一层tsvout-rankgraph.sh就用 gnu-plot 画出Top-N 召回曲线横轴 N纵轴前 N 名内含正确答案的题目比例直观呈现召回随候选数增加而收敛的形态。3. 精确率-召回率权衡ROCdata/eval/tsvout-roc.pl按置信度阈值遍历每题输出 precision/recall 权衡数据并用prt.gle、roc.gle绘制 PR 曲线与 ROC 曲线——帮你回答置信度阈值设在多少才值得作答。4. REST 接口批量评测如果 YodaQA 已经作为 Web 服务跑着REST API可以用data/eval/rest-eval.py直接向接口发问data/eval/rest-eval.py 题目.json http://localhost:4567/脚本逐题轮询结果统计 correct / recall / incorrect 三档输出每题的详情页 URL适合对线上部署形态做快速回归。5. 失败召回的系统归因data/eval/analysis/目录存放历次未召回问题的分析文本换新版本评测后用data/eval/analysis-update.pl把旧分析结果映射到新结果上避免重复劳动——这也是团队估算还有多少提升空间headroom的主要手段。小结 YodaQA 的评测体系值得任何问答项目借鉴固定数据集curated 事实型 TSV正则答案兼顾严谨与宽松训练/盲测严格分离一键流水线train-and-eval.sh保证同 commit 同数据的可复现评测多层指标Top-1 准确率、Top-N 召回、MRR、耗时四维齐看闭环分析逐题对比、召回失败归因、PR/ROC 权衡把变好还是变坏变成可执行的答案。拿到仓库git clone https://gitcode.com/gh_mirrors/yo/yodaqa后打开data/eval/README.md照着上面的命令依次跑一遍你就能看到这套评测体系完整的运转过程。【免费下载链接】yodaqaA Question Answering system built on top of the Apache UIMA framework.项目地址: https://gitcode.com/gh_mirrors/yo/yodaqa创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

时间格式化与国际化:Carbon如何用一个SetLocale搞定35+语言输出?

时间格式化与国际化:Carbon如何用一个SetLocale搞定35+语言输出?

时间格式化与国际化:Carbon如何用一个SetLocale搞定35语言输出? 【免费下载链接】carbon A simple, semantic and developer-friendly time package for golang 项目地址: https://gitcode.com/gh_mirrors/carbon44/carbon 如果你正在用 Go 写时间…

2026/8/25 9:13:04 阅读更多 →
GyroFlow视频稳定完整教程:四步从手持抖料到稳定成片

GyroFlow视频稳定完整教程:四步从手持抖料到稳定成片

GyroFlow视频稳定完整教程:四步从手持抖料到稳定成片 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow 画面抖动是视频创作者最大的烦恼。GyroFlow 是一款基于陀螺仪数据的开…

2026/8/25 9:13:04 阅读更多 →
软件测试面试高频考点与实战技巧解析

软件测试面试高频考点与实战技巧解析

1. 软件测试面试的核心考察维度软件测试岗位的面试通常围绕技术能力、项目经验和思维逻辑三个维度展开。技术能力考察包括测试理论、测试工具、编程基础和数据库知识;项目经验侧重实际测试案例的讲述和分析;思维逻辑则通过场景题考察候选人的问题解决能力…

2026/8/25 9:13:04 阅读更多 →

最新新闻

自动化测试面试10大高频问题解析与应对策略

自动化测试面试10大高频问题解析与应对策略

1. 自动化测试面试高频问题解析作为一名在测试领域摸爬滚打多年的老兵,我深知自动化测试岗位面试的痛点。很多优秀的候选人因为不熟悉面试套路而错失机会,今天我就来拆解那些面试官最爱问的10大高频问题,帮你轻松应对技术面。自动化测试岗位的…

2026/8/25 10:00:26 阅读更多 →
Morpeh 2024版本迁移指南:Breaking变更与最佳实践一次讲清

Morpeh 2024版本迁移指南:Breaking变更与最佳实践一次讲清

Morpeh 2024版本迁移指南:Breaking变更与最佳实践一次讲清 【免费下载链接】morpeh 🎲 ECS Framework for Unity Game Engine and .Net Platform 项目地址: https://gitcode.com/gh_mirrors/mo/morpeh Morpeh 是一款面向 Unity 游戏引擎与 .NET 平…

2026/8/25 10:00:26 阅读更多 →
OCaml中Resolver参数的美妙实现:详解ocaml-graphql-server的diff-list GADT设计

OCaml中Resolver参数的美妙实现:详解ocaml-graphql-server的diff-list GADT设计

OCaml中Resolver参数的美妙实现:详解ocaml-graphql-server的diff-list GADT设计 【免费下载链接】ocaml-graphql-server GraphQL servers in OCaml 项目地址: https://gitcode.com/gh_mirrors/oc/ocaml-graphql-server ocaml-graphql-server 是一个用 OCaml …

2026/8/25 10:00:26 阅读更多 →
FFmpeg合并.ts(或.m3u8)文件和字幕文件为新的视频文件

FFmpeg合并.ts(或.m3u8)文件和字幕文件为新的视频文件

目录 1 下载安装适合您操作系统的FFmpeg版本2 将所有的.ts文件放在一个文件夹中,合并.ts文件2.1 方法一,使用FFmpeg的concat协议来合并.ts文件2.2 方法二,直接使用concat协议(适用于少量文件) 3 使用FFmpeg将合并后的.…

2026/8/25 10:00:26 阅读更多 →
Ardent测试体系解析:用PHPUnit数据驱动构建高覆盖测试的完整清单

Ardent测试体系解析:用PHPUnit数据驱动构建高覆盖测试的完整清单

Ardent测试体系解析:用PHPUnit数据驱动构建高覆盖测试的完整清单 【免费下载链接】Ardent A Collections library for PHP. 项目地址: https://gitcode.com/gh_mirrors/ard/Ardent Ardent 是一个面向 PHP 的对象导向编程的集合库,提供 Set、Map、…

2026/8/25 10:00:26 阅读更多 →
AI时代招聘困境与智能化解决方案

AI时代招聘困境与智能化解决方案

1. 项目概述:当招聘遇上AI革命去年帮一家科技公司做招聘体系升级时,遇到个典型场景:HR负责人拿着算法岗位的简历问我:"这位候选人在顶级会议发了3篇论文,但学历只是普通一本,要不要约面试?…

2026/8/25 9:59:20 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →