### 关联与状态 路线图 #2,一期。状态:**进行中**,@w-tong2004 认领,PR #97 按审查意见修改中。来自 #81 的审查。有问题直接在这里留言。 ### 目标 抽取时模型只能从程序编了号的日期里选([总体设计 §8.2](https://github.com/mousebaoyan/mouseclock/blob/main/docs/design.md#82-抽取)),程序认不出的写法,这条截止就会悄悄漏掉。要让日期识别认得出通知里常见的写法。 ### 已经有的 - `crawler/src/crawler/parse/dates.py` 的 `find_dates`(#75)认得 `6月30日17:00`、`2026年6月30日`、`6月底`、`即日起至7月5日` 这些写法。 - 试过认不出的:`2026-06-30`、`2026/6/30`、`6.30`、`6月30号`。 - 现在的 50 条抽取标注里也许都认得出来,但标注太少,不能说明别的网站也没问题。 ### 范围 1. **用更多正文找出认不出的写法**:这一步不用标注。把初筛标注集(`data/screening.csv`)里相关通知的正文抓下来(经过 `Fetcher`,每条只抓一次,正文只存在本地、不提交),找出像日期、却没被 `find_dates` 认出来的文字,按出现次数列在 PR 里。标注集扩充以后可以再查一遍。 2. **补进 `find_dates`**:常见的写法补上,每种加测试。容易认错的(比如 `6.30` 也可能是版本号或小数)在 PR 里说明怎么区分,拿不准的先在这里讨论。 3. 找漏认的脚本是一次性的,用完删掉、不提交;查了多少条、找到哪些写法写在 PR 里。 不做:模型看到截止、编号里却没有对应的日期时送审核页(写进了 #44);扩充标注集(#84)。 ### 建议的第一步 留言认领,先做第 1 步,把找到的写法列出来。 ### 验收标准 - [ ] PR 里列出查了多少条通知、找到哪些认不出的写法、各出现几次 - [ ] 常见的写法都认得出,每种有测试 - [ ] `./check.sh` 通过
Activity
w-tong2004 commentedon Nov 8, 2026
认领
JunieXD commentedon Nov 9, 2026
@w-tong2004 谢谢认领,已经指派给你了,范围没有变。
建议按「建议的第一步」先做第 1 步:用
Fetcher把data/screening.csv里相关通知的正文抓下来(每条只抓一次,正文只存在本地、不提交),找出像日期、却没被find_dates认出来的写法,按出现次数列出来,贴在这里或者开个 Draft PR 都行。本地怎么跑见 AGENTS.md 的「命令」,有问题直接在这里问。w-tong2004 commentedon Nov 9, 2026
已按第 1 步调查当前
data/screening.csv中的 129 条相关通知,分布在 16 个网站。请求统一经过共享Fetcher,每条通知各发起一次抓取,响应与正文保存在本地。127 条返回 HTTP 200,其中 119 条有可读正文、8 条正文无可读文字。另有 1 条 404 和 1 条 410,均单独记录。
共确认 7 处,其中 2 处是正文署名日期。另核对了 13 个短数字候选,4 个是分数或面积,9 个是列表编号与后续中文月份相邻。Issue 中举出的数字年月日、短数字月日和“号”字日期在本批正文中出现次数为 0,已用合成用例验证。
本地实现已补齐上述缺口和 Issue 列出的写法,识别规则写入总体设计 §8.2。短数字的合成用例采用以下保守边界。
报名截止6.30、6.30开始报名、6.30截止。可生成日期候选。6.30保留原文。版本号、数值单位,以及前面紧邻上午或下午等时段、且无日/号的点分数字按普通文本保留。8.30-17:00存在日期与日内时刻两种理解,需要日/号、含“日期”的标签或首端独立时刻才能按日期范围识别。当前
crawler/./check.sh的 381 项测试全部通过,web/pnpm check的 85 项测试及网站构建等 CI 步骤通过。同一份缓存修复前后为 437 → 442 个匹配,7 页发生预期变化,原有匹配除 2 处升级为分钟精度外均一致。7 处发现的时间值及原文偏移均已核对。调查还记录了表格跨行的 39 个时刻和同日第二段区间的 2 个时刻,继续按现有单行表达式边界处理。通知正文、响应和取证材料保留在本地,一次性调查脚本已清理。
请维护者确认短数字日期和时刻歧义的这些边界是否符合项目预期,意见会继续在本 Issue 跟进。
JunieXD commentedon Nov 9, 2026
@w-tong2004 谢谢,调查做得很扎实:129 条、16 个网站,每种写法出现几次、在哪儿都列清楚了。
短数字日期这次先不认:119 条正文里
6.30这种写法一次都没出现。要把它和版本号、小数、时刻分开,得靠标签、动作词、句末「截止」这一串规则,规则越多,越容易在没见过的网站上认错。而 #44(#96)正在做的是:原文写了时间、编号里却没有的,模型照抄原文送审核页由人判断,不会悄悄漏掉。所以裸的、带标签的6.30都按普通文字留着,等标注集扩充后真遇到了,再按实际的写法补。这次保留:完整年份的数字写法(
2026-06-30、2026/6/30、2026.6.30)、6月30号、中文数字的年月日和月份/旬、括号里的日期后面紧跟时刻。表格跨行的时刻和同一天第二段时间,按你说的继续不处理。按这个改完,把 #97 转为待审,我们就来审。