Files

138 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 课题组逐院系 · 完备性重做 · 约克大学(University of York)· `york.ac.uk`
前一轮 80 组 / 35 个院系入口 = 2.3,**低于基准**。 · Manager 2026-09-23
## 0. 为什么全部重做(实测数据)
用户裁定:**所有学校都要补一遍。**
**依据**:5 所已按完备性重做的学校,数字对比 ——
| 学校 | 重做前 | 重做后 | 倍数 |
|---|---|---|---|
| 爱丁堡 | 22 | **643** | **29×** |
| 曼彻斯特 | 未开始 | **268**(32 院系) | — |
| 伯明翰 | 32 | **258**(未取页=0) | **8×** |
| 圣安德鲁斯 | 34 | **178** | 5× |
| 西澳 | 0 | **154**(组/系 7.0) | — |
**⇒ "逐院系枚举不全"是系统性的,不是个别学校。没重做的数都不可信。**
**先读**:`/Users/jun/Codes/prodream/.worklogs/groups-dept/` 下
`REPORT.md`(布里斯托切片)· `finding_edinburgh_v2.md`(**完备性标杆,照它的做法**)。
---
## 1. 本波只做这一所:**约克大学(University of York)· `york.ac.uk`
前一轮 80 组 / 35 个院系入口 = 2.3,**低于基准**。**
---
## 2. 完备性门槛(**硬门槛,不是"尽量"**)
### 2.1 必交台账(**缺一行就是没做完**)
| 院系(该校**全部**) | research 入口 URL | 状态 | 组数 |
|---|---|---|---|
| … | … | `取到` / `取不到:<原因>` | N |
- 院系清单 = 该校**全部**(从官方 faculties/schools/departments 导航 + Sub-units A-Z 拿)
- **给出枚举来源 URL 与总数**
- **`未取页 = 0`**:要么取到,要么有"取不到"的证据(404 / 重定向 / 空壳 / 反爬)
### 2.2 子域 / 外站**必须跟**
爱丁堡实测跟了 **117 个子域 + 39 个外站** —— 不跟就整块漏。
**给出你找到并跟过的子域/外站清单。**
### 2.3 合理性校验
`组数 ÷ 枚举到的院系数`。基准:伦敦布里斯托 ≈5.8 / 爱丁堡 ≈25.7(**因校而异,不比大小,只看是否荒谬地低**)。
**比值明显偏低 ⇒ 往下挖一层**:该校院系是不是把研究组织成 theme/centre(大一级,不收),
而底下挂着更细的**具名组**(尤其留意 **"each led by a Principal Investigator"** 这类 PI-group 目录 ——
爱丁堡漏掉的就是四个 PI 目录,其中一个就有 140 条)。
**确认"再下一层没有组"必须贴原文结构作证。**
---
## 3. ⚡ 效率:**启发式自动抽 + 抽样核 30 条**(用户明确要求,不要迂腐)
用户原话:
> 「不需要你六百多条逐页核实呀…**你随便抽样一小部分,确认它是 OK 的,那就可以用了呗**。
> **你肯定要去找这种最高效的方式啊。启发式的方式。**」
### 第一步:启发式自动抽(**全量,不逐页判**)
机械判据批抽:有独立页面 + 页面里有**具名的人**(title 含 Prof/Dr 或 person 链接)
+ **有方向文字块** + 名字不是「索引页/课程/项目/学生群体/讲座系列」。
自述含 `federation` / `N academics` / 校级研究所 ⇒ 标 `big`;**标 `big` 页面里点名的内层组再收一层**。
### 第二步:**随机抽 30 条**逐条开页面核(**这是质量证据**)
给:**准确率** · 假的那几条**属于哪一类**(附页面原文)· 该类型**能否定点修掉**
### 第三步:二选一
- 准确率 **≥90% 且假阳性类型集中** ⇒ **定点修那一类,全量直接用**。抽样 30 条写进报告当证据。
**不要再逐页核。**
- 假阳性散、类型不集中 ⇒ 才扩大抽样
**省下的时间全部用来把院系覆盖做全 —— 那才是真正的缺口。**
---
## 4. 判据(不变)
> **打开页面像人一样看:这是不是一个「导师带的做研究的团队」?**
> **粒度上限 = 一个导师能带的规模。** 大一级(institute/theme/cluster/校级研究所)**不收**;
> **但大一级下面挂着真组时,只收内层组。**
**不是组**:服务设施 · 研讨会系列 · 项目 · 学生培养计划 · 单项研究 · 空页重定向 · 无负责人的方向页。
**共性是页面上有一句「非团队自述」——你去看那句话。**
### 五字段
| # | 字段 | 取法 |
|---|---|---|
| 1 | 课题组名称 | 该组**自己页面**的 H1 |
| 2 | 所在大学及研究中心 | 大学 + **真实上级研究单位**;⚠️ 上级是系/院/学部的**不许当研究中心写**,没有真上级就**只写大学** |
| 3 | 研究方向 | 该组页上的方向文字。**没有 ⇒ 不要** |
| 4 | 联系邮箱 | 只接受**本组页 / 本组负责人页**的邮箱 |
| 5 | 最近五年论文数 | 一律 null |
---
## 5. ⚠️ 并行安全(前面出过事故)
上一波 5 个 worker **挤在同一个 Space 的同一个 page 上**,297 页里出现**跨校串页**,整批作废。
**你必须**:
1. **自己新建一个 TaskSpace**(不要复用别人已有的)
2. **每个 URL 用独占的新 page**(`newPage()`),**不要共用 p1**
3. **每取一页后校验 `page.url()` 与目标一致**;不一致 ⇒ 该页作废重取
4. 成功时收尾调一次 `await task.finish({ keep: [] })`;**因错误停止就别调**,把 `spaceId` 报上来
---
## 6. 交付
1. **完备性台账**(全部院系)+ 枚举来源 URL 与院系数
2. **子域/外站清单**
3. **全量候选产物**(五字段,启发式抽的)
4. **抽样 30 条逐条判定表** + **准确率** + **假阳性类型与定点修法**
5. **反例 / 判不准 / 未验清单**(附页面原文)
6. 一句话:**最终组数?完备性有没有缺口?**
产物写到 `.worklogs/groups-dept/`,按 school-slug 命名(加 `_v2` 后缀避免覆盖旧的)。
---
## 7. 硬要求
1. **只读**:只写产物到 `.worklogs/groups-dept/`。不写索引、不改业务代码、不动数据。
2. **不设时间盒,做完整为止。** 但**每做完一个院系报一次 `status`**(三句话)。
3. **判据来自页面。你的眼睛比任何正则都准。**
4. **不许发明**:抓不到 ⇒ 写「未验」+ 卡点(URL、错误原文)。判不准的贴出来。
5. **只做这一所学校。**
## 8. 边界
- 不碰 prodream_backend、不碰 FE、不碰 `.worklogs/groups-rebuild/` 与 `groups-verify/`。