Files
Jyotisha/docs/research/holdout_v5_protocol_2026_09_29.md
T

4.7 KiB
Raw Blame History

Holdout v5 选例与核对协议(2026-09-29)

任务书:docs/tasks/TASK-rectification-holdout-expansion-20260929.md。本页写清 v5 的入选标准、分层配额、排除规则与来源记录格式;数字与统计见 holdout_v5_build_2026_09_29.md。

1. 入选标准

  1. 出生资料:Astro-Databank 记录、Rodden AA(出生证 / 出生记录 / 医院记录)。A、B、C、DD、X、XX 一律不收。
  2. 公开名人:只收有英文 Wikipedia 条目的公众人物;不收本仓任何真实用户、库主、协作者或其亲友。
  3. 事件:每例 ≥7 件带年月事件、≥4 个领域;领域键取 scripts/active_rectification_event_engine.py::DOMAIN_CONFIG。
  4. 来源独立:事件出处与出生资料出处互不相同(independent_of_birth_source=true)。
  5. 精度诚实:year / month / day 按来源页所写的精度标注;来源只写"某年"就标 year,不得补成 1 月或 1 日。
  6. 时间上限:回放脚本固定在 2026-09-14 评估(minute_resolution_sweep.TODAY),计分合同拒绝晚于"今天"的事件;年精度事件落在当年内,所以 2026 年的事件一律不收,月/日精度不得晚于 2026-09-14(构建脚本 EVENT_CUTOFF 强制)。

2. 排除规则

  • 出生时间在 Astro-Databank 上标为 rectified / from memory / 无时间(X)的不收。
  • 同一家族多人只取一人(v4 已有 Sean Lennon、Joseph Kennedy III;v5 新增的 Serena 与 Venus Williams 为姐妹,按本条仍收——两人出生资料独立、事件独立,且任务书分层需要;已在构建说明中注明)。
  • 核对未通过(时区不一致、坐标与地名不符)的记录不收,不改数字凑合,见 §4。

3. 分层配额(任务书硬红线 4)

维度 配额
出生年代 ≥3 个年代段
纬度带 |φ| <25° / 25–45° / >45° 三档都有
南半球 ≥8 例
出生时间 22:00–02:00 ≥6 例
UTC+8 ≥6 例

达不到的写进 PROGRESS,不得静默。

4. 来源核对流程(每例)

  1. 评级与出生资料:astro.com 在 2026-09-29 对自动访问返回"One moment..."拦截页,Wayback 快照间歇不可达。因此评级与出生资料从 Astro-Seek 的 famous-people 页读取——该页逐字转载 Astro-Databank 的评级字母、采集人(Rodden / Scholfield / Borges …)、出生日期、当地时间、地点、坐标与 UTC 修正。记录里同时写 Astro-Databank 原页 URL(birth.source.url)与镜像页 URL(birth.source.verified_via.url)。这是环境缺口:验收时若 astro.com 可访问,应抽样回到原页复核。
  2. 时区核对:用 timezonefinder + zoneinfo 按坐标与出生时刻算 UTC 偏移,与记录偏移比对。三种通过规则:
    • zoneinfo_match:完全一致;
    • standard_time_kept_dst_disagreement:tzdata 把时区代表城市的夏令时史套到整个时区,而出生记录保持标准时(例:1941 年 Duluth、1922 年 Grand Rapids、1963 年 Owensboro);
    • lmt_from_birthplace_longitude:1890 年前后欧洲的地方平时,tzdata 只有代表城市的 LMT,记录用出生地经度的 LMT(例:1879 Ulm、1890 Lille)。 其他不一致一律拒收(本轮拒收 Borges 1899 Buenos Aires、Allende 1908 Valparaíso)。
  3. 地名核对:Nominatim 地理编码记录里的地名,与记录坐标距离 ≤60 km。不一致拒收(本轮拒收 Corazon Aquino:记录地名 Paniqui,镜像坐标为马尼拉,相距 129 km)。
  4. 事件:从英文 Wikipedia 正文(API extracts,纯文本)逐句筛出带年份的候选句,人工选择并标注领域 / 日期 / 精度;每条事件保存来源页 URL 与逐字引文(source.quote),构建脚本核对引文确实出现在页面文本里,找不到即拒收。模型草稿(候选句列表)不进数据集。

5. 数据文件

文件 内容
references/real_case_calibration/holdout_v5_roster.json 新增例的出生记录、评级、核对结果(checks)
references/real_case_calibration/minute_rectification_holdout_v5_events.json 新增例的事件(含引文)
references/real_case_calibration/minute_rectification_holdout_v5.json 构建产物:v4 的 20 例原样 + 新增例
scripts/research/holdout_v5_build.py 构建脚本(--check 只校验不写)
tests/test_holdout_v5_schema.py schema 测试

6. 口径

ayanamsa raman、node mode mean、候选步长 2 分钟、三档半径 ±10 / ±30 / ±60 写在数据集上。v5 是开放评价集(truth_hidden_from_ranker=false),不是封存盲测;sealed_holdout_rerun.py 与 reported-offset 记录不因本单改变。