Compare commits
139 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5c78a36fd5 | |||
| 7facde6c94 | |||
| c06981b244 | |||
| b226b3b98b | |||
| 05ada8daf8 | |||
| 13408869c2 | |||
| 443a79dce2 | |||
| ec9edd88d4 | |||
| b5c0618be5 | |||
| 81864e48ae | |||
| 8ad052f577 | |||
| 348ebe0695 | |||
| aa696bd7b5 | |||
| 90bd534edd | |||
| 02a408ba8f | |||
| 714f745bd5 | |||
| cc78e837d2 | |||
| c0b2146ae8 | |||
| ae88367fac | |||
| a305d00c75 | |||
| 57fcfc7693 | |||
| a07b1e42a8 | |||
| 7c6f4c9f1d | |||
| 3f0ac694a0 | |||
| 32c7edd0a5 | |||
| 658d799334 | |||
| 53fbe9c75c | |||
| dac6edbe1e | |||
| 7a674ac797 | |||
| eacc1e3292 | |||
| 2275bc7530 | |||
| d2c016e309 | |||
| ea3393144d | |||
| 7035cf33b9 | |||
| 60726a8c6b | |||
| a1bbd26a5c | |||
| 90f3fb213e | |||
| a68e36907f | |||
| f9f4d263af | |||
| 0049b6ba84 | |||
| 4ec82c8f8f | |||
| bdc9b2aed5 | |||
| 621ceba331 | |||
| daf15e21d3 | |||
| 0133ce99d6 | |||
| 33fd7bf2e1 | |||
| ec6076700b | |||
| 3d279cd7d8 | |||
| 6b66febba5 | |||
| c8531d8a14 | |||
| 9726e31677 | |||
| 9040649320 | |||
| 64ced7af42 | |||
| a49714786b | |||
| ce5ace0c21 | |||
| 4182070e76 | |||
| 3c974009be | |||
| 298d7c4564 | |||
| c7591bca0f | |||
| 160137ee2d | |||
| e044c63546 | |||
| c3aeee6323 | |||
| 838731025c | |||
| a30cfa5f64 | |||
| 422c731cf3 | |||
| 1cc5e9b88c | |||
| 95fab931a8 | |||
| 0570dd8a15 | |||
| 88c2819edd | |||
| 866aeaf068 | |||
| c05b979b01 | |||
| 3f81734e69 | |||
| a95815605f | |||
| adcbbb66a2 | |||
| a13c535919 | |||
| 27e336eee9 | |||
| 1022ec7d22 | |||
| 3bdcc562fe | |||
| 05800ab67a | |||
| 71d3cf0590 | |||
| ee140cfd40 | |||
| ff60fa4cdb | |||
| 18c8feaaa0 | |||
| 1cf1d228bc | |||
| 9cc7b5b050 | |||
| d50ca2f0ad | |||
| 3f3dc3f7ad | |||
| c8314c0bae | |||
| 91505844be | |||
| 5fad2fc575 | |||
| 1b81d1a30a | |||
| 6cf74672a5 | |||
| 040712b9c1 | |||
| bb861badcd | |||
| 5a925457b0 | |||
| 8e82742900 | |||
| 5544a7838c | |||
| 9d32f47fac | |||
| f327861a00 | |||
| a1744d4f4c | |||
| fd3fdb6cf7 | |||
| 346208a272 | |||
| c7cc4d78f7 | |||
| bf8178354f | |||
| 067a67f3f7 | |||
| 6fa59c4d26 | |||
| dc41dfa350 | |||
| 6ea150690d | |||
| 426aa042a5 | |||
| 4e62710bba | |||
| 3f040b968f | |||
| a3b677bdf2 | |||
| 029e73cafe | |||
| 2e95e91f5e | |||
| a58b96341a | |||
| 9a279f2eae | |||
| 25cc5b865b | |||
| c9b0cfa857 | |||
| a65edc6b9d | |||
| 4e0e3f0ce8 | |||
| 17bdaa77fb | |||
| bfa7fe2e94 | |||
| d712a4fbed | |||
| 0fbcaf4ec7 | |||
| c199ed3c1d | |||
| 4d17231f1f | |||
| ac08edf572 | |||
| 249713a342 | |||
| 3f35c7e42f | |||
| 22d8f78870 | |||
| 503908198e | |||
| 5f7dc3b6c0 | |||
| 6c44e50a24 | |||
| 57996189ac | |||
| 29e5708959 | |||
| 5c3de59b58 | |||
| db96a1c115 | |||
| d4d02ee814 | |||
| b2a6efc5a6 |
@@ -12,7 +12,7 @@ jobs:
|
||||
- name: Verify metadata storage and query commands
|
||||
run: |
|
||||
python3 -B - <<'PY'
|
||||
import io, os, pathlib, re, subprocess, tarfile, tempfile, urllib.request
|
||||
import gzip, io, json, os, pathlib, re, subprocess, tarfile, tempfile, urllib.request
|
||||
sha = os.environ['ARCHIVE_SHA']
|
||||
if not re.fullmatch(r'[0-9a-fA-F]{40,64}', sha):
|
||||
raise SystemExit('Invalid source commit')
|
||||
@@ -30,11 +30,16 @@ jobs:
|
||||
if len(candidates)!=1:
|
||||
raise SystemExit('Unexpected repository archive layout')
|
||||
src = candidates[0].parent
|
||||
subprocess.run(['python3','-B','-m','unittest','discover','-s','tests','-t','.','-v'],cwd=src,check=True)
|
||||
# Build and installation checks run only on the approved remote runner.
|
||||
venv = root / 'venv'
|
||||
subprocess.run(['python3','-B','-m','venv','--system-site-packages',str(venv)],check=True)
|
||||
python = str(venv / 'bin/python')
|
||||
subprocess.run([python,'-B','-m','pip','install','--only-binary=:all:','--no-compile','psycopg[binary]==3.3.8'],check=True)
|
||||
testenv = os.environ.copy()
|
||||
service_file = pathlib.Path('/etc/paper-atlas/pg_service.conf')
|
||||
if service_file.is_file():
|
||||
testenv.update(PGSERVICEFILE=str(service_file),PAPER_ATLAS_TEST_PG_SERVICE='foundry-research')
|
||||
subprocess.run([python,'-B','-m','unittest','discover','-s','tests','-t','.','-v'],cwd=src,env=testenv,check=True)
|
||||
wheels = root / 'wheels'
|
||||
subprocess.run([python,'-B','-m','pip','wheel','--no-deps','--wheel-dir',str(wheels),str(src)],check=True)
|
||||
wheel, = wheels.glob('paper_atlas-*.whl')
|
||||
@@ -43,7 +48,39 @@ jobs:
|
||||
outside.mkdir()
|
||||
subprocess.run([str(venv/'bin/paper-atlas'),'--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','cvf','--help'],cwd=outside,check=True)
|
||||
smoke = "from paper_atlas.db.store import Store; from paper_atlas.config import DEFAULT_REGISTRY; import json; assert len(json.loads(DEFAULT_REGISTRY.read_text())['venues'])==41; s=Store('installed.sqlite'); s.conn.close()"
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','www-archive','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','aamas-proceedings','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','aamas-proceedings','--year','2025','--snapshots',str(src/'tests/fixtures/aamas2025'),'--out',str(root/'installed-aamas2025')],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','iclr-archive','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','acl','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','springer-selected','--help'],cwd=outside,check=True)
|
||||
springer = json.loads(gzip.decompress((src/'tests/fixtures/springer-aistats1993-fixture.json.gz').read_bytes()))
|
||||
for group in ('toc','chapters'):
|
||||
folder = root/'springer-snapshots'/group
|
||||
folder.mkdir(parents=True)
|
||||
for name, content in springer[group].items():
|
||||
(folder/name).write_text(content)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','collect','springer-selected','--toc-snapshots',str(root/'springer-snapshots/toc'),'--chapter-snapshots',str(root/'springer-snapshots/chapters'),'--out',str(root/'installed-springer')],cwd=outside,check=True)
|
||||
springer_report = json.loads((root/'installed-springer/collection-report.json').read_bytes())
|
||||
assert springer_report['records'] == 49 and not springer_report['database_written']
|
||||
springer_manifest, = springer_report['files']
|
||||
assert springer_manifest['status'] == 'partial' and springer_manifest['missing_abstract_count'] == 0
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','maintain','postgres','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','maintain','edition-tracks','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','maintain','joint-editions','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','maintain','event-identity','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','import','records','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','import','arxiv','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','maintain','backfill','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','audit','public-openreview','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','coverage','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','audit','histories','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','curate','identifiers','--help'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-c','from paper_atlas.postgres.writer import PostgresStore, WriteConnection'],cwd=outside,check=True)
|
||||
smoke = "from paper_atlas.db.store import Store; from paper_atlas.config import DEFAULT_REGISTRY; import json; assert {'COLM','MM','MLSys'} <= {v['acronym'] for v in json.loads(DEFAULT_REGISTRY.read_text())['venues']}; s=Store('installed.sqlite'); s.conn.close()"
|
||||
subprocess.run([python,'-I','-B','-c',smoke],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','query','--db','installed.sqlite','--stats'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','annotate','init','--db','installed.sqlite'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','annotate','list','--db','installed.sqlite','--paper','1'],cwd=outside,check=True)
|
||||
subprocess.run([python,'-I','-B','-m','paper_atlas','audit','histories','--db','installed.sqlite','--examples','0'],cwd=outside,check=True)
|
||||
PY
|
||||
|
||||
@@ -2,18 +2,25 @@
|
||||
|
||||
**长期维护、按需运行的论文元数据与公开投稿历史工具。**
|
||||
|
||||
Paper Atlas 将 arXiv、AI 会议论文集及公开投稿决定整理到可追溯的 SQLite 数据库中,用于查询和后续研究分析。它按批次运行,不需要常驻 Web 服务;采集标题、摘要、标识、标签及决定证据,不下载论文全文。
|
||||
Paper Atlas 将 arXiv、AI 会议论文集及公开投稿决定整理到可追溯的数据库中,用于查询和后续研究分析。生产数据使用 PostgreSQL,支持从既有 SQLite 索引完整迁移;SQLite 保留离线核验和小型样本用途。它按批次运行,不需要常驻 Web 服务;采集标题、摘要、标识、标签及决定证据,不下载论文全文。
|
||||
|
||||
项目仍在建设中。候选范围包含 41 个会议,尚未完成全部历史数据和最终去重复核。实际进度以数据库、来源清单和覆盖报告为准,而不是仓库文件数量。
|
||||
项目仍在建设中。候选范围包含 43 个会议(含 ACM MM、MLSys),尚未完成全部历史数据和最终去重复核。实际进度以数据库、来源清单和覆盖报告为准,而不是仓库文件数量。
|
||||
|
||||
历史 ICLR 2014–2016 官方录用页由 `collect iclr-archive` 适配,保留主会/workshop及重复展示证据;运行和身份核验边界见 [历史档案说明](docs/coverage/iclr-archive-2014-2016.md)。
|
||||
|
||||
`collect springer-selected` 核验限定的会后选集,分开保存会议年份、出版年份及选集事件身份。目前支持 AISTATS 1993 对应的 1994 年出版选集,原始会议决定仍须单独核查;配置、证据和恢复见 [会后选集说明](docs/springer-selected-volumes.md)。
|
||||
|
||||
## 项目结构
|
||||
|
||||
ACL 1978 的年会与 TINLAP-2 来源关系按精确卷适配,保留原系列和不明逐篇角色;1965 的替代关系不转成全局别名。来源、排除条目和恢复边界见 [ACL 早期来源核查](docs/coverage/acl-early-sources-2026-11-09.md)。
|
||||
|
||||
```text
|
||||
paper_atlas/
|
||||
cli.py 统一命令入口
|
||||
collectors/ 各来源采集与目录盘点
|
||||
ingestion/ 导入、身份回填与单写入协调
|
||||
db/ 数据模型、身份解析与 SQL schema
|
||||
postgres/ PostgreSQL 迁移、原生全文索引和只读连接
|
||||
audits/ 来源核验和覆盖报告
|
||||
io/ 网络、快照下载、HTML 与 Git 元数据读取
|
||||
resources/ 候选会议目录
|
||||
@@ -30,7 +37,7 @@ pyproject.toml 包元数据、依赖和命令注册
|
||||
|
||||
```sh
|
||||
python3 -m venv .venv
|
||||
.venv/bin/python -m pip install .
|
||||
.venv/bin/python -m pip install '.[postgres]'
|
||||
source .venv/bin/activate
|
||||
paper-atlas --help
|
||||
```
|
||||
@@ -41,16 +48,17 @@ paper-atlas --help
|
||||
|
||||
```sh
|
||||
# 查看当前入库量;不同平台记录数不等于独立论文数
|
||||
paper-atlas query --db /data/paper-index/papers.sqlite --stats
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas query --pg-service foundry-research --stats
|
||||
|
||||
# 查询标题与摘要
|
||||
paper-atlas query --db /data/paper-index/papers.sqlite --query '"language model"'
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas query --pg-service foundry-research --query '"language model"'
|
||||
|
||||
# 查看一篇论文的来源、标签和所有已知投稿历史
|
||||
paper-atlas query --db /data/paper-index/papers.sqlite --paper 123
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas query --pg-service foundry-research --paper 123
|
||||
|
||||
# 列出全部目标会议,包括尚未入库的项目
|
||||
paper-atlas coverage --db /data/paper-index/papers.sqlite \
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas coverage \
|
||||
--pg-service foundry-research --pg-schema research \
|
||||
--out /data/paper-index/collected/venue-coverage-current.json
|
||||
|
||||
# 采集与导入分开;这里只采集到独立文件
|
||||
@@ -58,8 +66,16 @@ paper-atlas collect colm --cache /data/paper-index/raw/http-cache \
|
||||
--out /data/paper-index/collected
|
||||
```
|
||||
|
||||
早期主系列的Workshop名称按[ICML/IROS精确届次证据](docs/coverage/historical-primary-series-2026-11-09.md)识别,保留原名与范围证据;代码支持不代表已补齐生产数据。
|
||||
|
||||
EWSL、EPS、ECP、EWSP 的[具体前身卷与完整快照要求](docs/coverage/historical-predecessors-2026-11-09.md)单独核验,保留原始系列及事件/出版年份;旧候选文件缺少 ECP/EWSP 时会明确提示,避免静默遗漏。
|
||||
|
||||
AAMAS 的[官方论文集采集器](docs/aamas-proceedings.md)支持已核验的 2012、2025 版式,可从缓存或已校验快照采集元数据。2025 年目录含 476 条非 keynote 出版物,保留完整作者和机构,HTML 未提供摘要时留空;发表形式与投稿 track 分开,不根据主题推定主会轨道或研究类型。
|
||||
|
||||
`paper-atlas collect --help` 查看来源;`paper-atlas import --help` 查看导入方式。完整批次步骤见[使用指南](docs/usage.md)。
|
||||
|
||||
共享实例名为 `foundry-postgres`,数据位于 `foundry_data` 库的 `research` schema;其他项目可按权限复用同一组表。库名通过 libpq service 配置、schema 通过 search_path 或 `--pg-schema` 指定,不写死在查询中。PostgreSQL 凭据放在服务器权限为 `0600` 的 libpq service 文件中;命令行只使用服务名称。`paper-atlas maintain postgres --help` 提供迁移入口:先完整核验 21 张业务表,再发布目标 schema。SQLite FTS5 内部表由 PostgreSQL GIN 索引替代。切换后 SQLite 为只读备份;`import records`、`import arxiv` 和 `maintain backfill` 使用 `--pg-service foundry-research` 写入主库,整个写入会话只允许一个协调写入者,会议文件失败时整体回滚并保留失败批次记录。
|
||||
|
||||
## 数据如何组织
|
||||
|
||||
- **论文和投稿分开。** 一篇论文可以多次投稿;某次被拒、后来在其他会议录用,两段历史都保留。
|
||||
@@ -83,3 +99,12 @@ paper-atlas collect colm --cache /data/paper-index/raw/http-cache \
|
||||
CI 在已授权的远程 runner 上运行测试、构建 wheel,并从源码目录外验证安装后的命令及随包资源。数据库全量去重和覆盖率是独立的数据验收步骤,不因代码测试通过而自动完成。
|
||||
|
||||
开发通过工作分支和 PR 交付,由用户手动合并。
|
||||
|
||||
早期WWW档案的可重放元数据采集、论文/海报分轨与待核查条目见 [WWW档案采集](docs/www-archive.md)。
|
||||
历史联合会议的既有届次归属可通过 [`maintain joint-editions`](docs/joint-editions.md) 先只读规划,再按计划哈希执行;保留论文与投稿决定来源,不重导入。
|
||||
同年多届的 `event_key`、显式迁移、旧文件刷新与查询边界见 [会议事件身份](docs/event-identity.md)。
|
||||
研究类型与自定义标签可通过 [`annotate`](docs/annotations.md) 显式初始化、添加和撤回;两者独立查询,保留证据及完整更正历史,不从会议轨道推断研究类型。
|
||||
|
||||
整合后的运行版本依赖、交互约束和生产切换顺序见 [运行版本整合](docs/research-runtime.md)。
|
||||
|
||||
已导入整卷的逐条轨道修正见 [edition-tracks 维护流程](docs/edition-tracks.md):按完整证据生成只读计划,保留原投稿和决定 ID,事务性修正 edition、标识与覆盖,并防止旧整卷刷新覆盖分类。
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# AAMAS 官方论文集元数据
|
||||
|
||||
`paper_atlas.collectors.aamas` 是按需运行的采集适配器,通过统一入口 `collect aamas-proceedings` 使用。支持已独立核验的 **AAMAS 2012、2025** HTML 版式;其他年份需先核对官方目录和逐篇结构,再增加适配,不能仅替换年份。2025 解析单独封装在 `paper_atlas.collectors.aamas2025`。
|
||||
|
||||
2025 版式使用[官方首页](https://www.ifaamas.org/Proceedings/aamas2025/)和[出版目录](https://www.ifaamas.org/Proceedings/aamas2025/forms/contents.htm)。原始目录共 479 条:3 keynote、260 research paper、148 extended abstract、12 Blue Sky、25 doctoral、22 Demo 栏目、9 JAAMAS。排除 keynote,输出 476 条;Demo 栏目中的 p3000 是明确标题的 COMP24 竞赛报告,发表年份仍为 2025,格式记 `competition_report`、投稿 track 留作 `proceedings_unspecified`,保留原 Demo 栏目证据。其余输出按 track 分组为 409 unspecified、12 blue_sky、25 doctoral、21 demo、9 jaamas。
|
||||
|
||||
作者按逐篇 BR 行解析,斜体机构原文另存,保留 Unicode、顺序及完整名单。HTML 没有提供摘要或逐篇 DOI,故 `abstract=null`、标识字典为空;只保存 PDF 链接,不下载研究 PDF。不能把 Research Paper Track 的所有条目推成 main,不能把目录缺席推为 rejected/withdrawn,也不能把出版格式标签当研究类型。
|
||||
|
||||
2025 用法:`paper-atlas collect aamas-proceedings --year 2025 --snapshots /data/review/aamas2025 --out /data/paper-index/collected/aamas-2025`;在线模式改用 `--cache /data/paper-index/cache/aamas2025`,只请求上述两个 HTML 页面。快照目录包含原始 `index.html`、`contents.html` 和 `receipts.json`,凭据必须列出各原始 URL、文件、字节数、SHA256、`http_status=200` 和带时区 `at`。已恢复的凭据需保留 `at_precision=filesystem_write_time_recovered` 等说明,不能伪造 HTTP 头或请求时间。2026-11-09 保存的两个页面通过哈希校验;独立录用清单 URL 返回 403,失败保留,不绕过或依赖其完成采集。
|
||||
|
||||
2025 命令同样使用目录锁、临时目录、最后写入采集报告。五个 JSONL/manifest 均保持 `partial`,记录摘要缺失数量;它不连接数据库。首次采集需独立核验全部标题/作者/栏目和 source IDs,随后做 PostgreSQL 身份预检、必要的逐条版本审核、原生导入与独立验收。若失败且没有完成报告,应先检查原始响应和错误,再使用新输出目录重跑,不重放已提交批次。代码验证、原始目录盘点和采集成功均不代表已导入生产或最终去重完成。
|
||||
|
||||
## 来源与范围
|
||||
|
||||
[官方论文集介绍](https://www.ifaamas.org/Proceedings/aamas2012/)及其 Full Papers、Extended Abstracts、Demos、Doctorial Consortium Abstracts 四个栏目分别列出 136、146、28、24 条,共 334 条。旧 DBLP 候选卷的 310 条不能替代这四类官方目录,也不能全部标记为主会全文。栏目数量来自 2026-11-09 冻结的原始页面;页面结构或数量发生变化时,采集器停止,留待重新核验。
|
||||
|
||||
采集标题、逐篇作者、页面实际提供的摘要、官方条目 ID、目录锚点和 PDF 地址。**只保存 PDF 链接,不下载 PDF。** 全文页面的摘要藏在标题链接内部的 `abstract` 元素,作者链接里的 “has N papers” 是界面徽标,二者不会混入标题或姓名。未提供的摘要保存为 `null`,不会用标题、说明文字或其他论文填充。
|
||||
|
||||
官方介绍说明了 general、robotics、virtual agents、innovative applications 等投稿轨道,但逐篇目录的主题会话不能独立证明某篇论文的投稿轨道。因此全文和扩展摘要均使用 `proceedings_unspecified`;演示、博士栏目使用 `demo`、`doctoral`。发表形式保留在 `metadata.publication_format` 和 `aamas_proceedings:publication_format` 标签中,会话原文单独保存。它们不是研究类型标注,也不会写入自定义 annotation。
|
||||
|
||||
目录条目仅提供发表录用证据,不是原始决定信。`observed_at` 是页面采集时间,不能当作 2012 年的决定日期;官方介绍中的投稿、撤稿、录用汇总数不能识别逐篇拒稿或撤稿,采集器不会由总量相减生成这些决定。
|
||||
|
||||
## 运行
|
||||
|
||||
在已确认的远程运行环境中,使用 HTTP 缓存采集:
|
||||
|
||||
```sh
|
||||
paper-atlas collect aamas-proceedings --year 2012 \
|
||||
--cache /data/paper-index/cache/aamas \
|
||||
--out /data/paper-index/collected/aamas-2012
|
||||
```
|
||||
|
||||
也可使用已冻结的官方页面:
|
||||
|
||||
```sh
|
||||
paper-atlas collect aamas-proceedings --year 2012 \
|
||||
--snapshots /data/paper-index/collected/historical-next-source-evidence-v1 \
|
||||
--out /data/paper-index/collected/aamas-2012
|
||||
```
|
||||
|
||||
快照目录需含 `receipts.json`,其中每个响应包含原始 `url`、HTTP `status`、相对 `file`、`bytes`、`sha256` 和 `finished_at`。要求五个准确官方 URL 均唯一匹配且返回 200;验证全部字节数和哈希后才解析,不接受目录穿越或绝对文件路径。快照中其他来源的响应不会被当成 AAMAS 页面。
|
||||
|
||||
输出为按数据库 track 分组的三个 JSONL 文件和对应 manifest、五份原始 HTML 证据,以及最后写出的 `aamas-proceedings-2012.json` 采集报告。锁文件避免同一输出目录并发运行。manifest 始终为 `partial`,记录发表形式数量和缺失摘要数;**采集命令不连接数据库,也不导入。**
|
||||
|
||||
## 复核与恢复
|
||||
|
||||
每条记录携带对应官方页面的 URL、采集时间、字节数、SHA-256 与输出内证据路径。重新运行前先检查已有采集报告和文件哈希;采集中断不等于主库已导入,报告缺失或哈希不一致的目录不能直接作为导入队列。输出中的原始证据应随文件一起保存。
|
||||
|
||||
生产导入前仍需单独与主库核验稳定标识、标题、作者及已有投稿,按证据补充 DOI/arXiv 等标识;目录页上的作者计数徽标和会话 ID 不能作为这些标识。需要另建经过核验的增量清单、保护旧历史,完成独立验收后才能计入覆盖。跨来源同一论文不得仅因同题就新增或合并投稿。
|
||||
|
||||
本功能的代码、测试或采集成功均不代表 AAMAS 2012 已导入生产,也不证明拒稿全集完整。全库最终去重、摘要和来源覆盖验收属于独立后续阶段。
|
||||
@@ -0,0 +1,107 @@
|
||||
# Research types and custom annotations
|
||||
|
||||
Research type describes a claimed characteristic of the work (for example a survey,
|
||||
benchmark, empirical study or replication). It is independent of topic, paper length,
|
||||
conference track, presentation format and acceptance status. No type is inferred from
|
||||
those fields. Multiple source-specific or human classifications may coexist; no
|
||||
cross-platform vocabulary mapping or automatic classifier is provided.
|
||||
|
||||
`annotation_events` stores both kinds with an explicit `kind` discriminator:
|
||||
`research_type` and `tag` are separate domains, even when namespace/value strings
|
||||
happen to coincide. Existing platform labels remain in `tags` / `paper_tags`.
|
||||
Each assertion carries namespace, value, actor, reason, evidence key, optional source
|
||||
record and evidence URL, and the time it was recorded. This is observation time, not
|
||||
paper publication time or a conference decision date.
|
||||
|
||||
Values are not forced into a global taxonomy: `custom:method=empirical` and
|
||||
`platform:declared_type=empirical` retain separate provenance. An explicit platform
|
||||
assertion API requires a source record belonging to that paper and matching the
|
||||
namespace prefix. The manual CLI only accepts `custom:*`, and cannot retract platform
|
||||
assertions. No source type has been automatically assigned to existing papers.
|
||||
|
||||
## Initialize explicitly
|
||||
|
||||
On the published PostgreSQL dataset, using its protected service file:
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas annotate init \
|
||||
--pg-service foundry-research --pg-schema research
|
||||
```
|
||||
|
||||
This creates one optional table, its indexes, and an upgrade marker in one transaction,
|
||||
using the existing dataset writer lock. It does not copy data, change existing papers
|
||||
or decisions, or create a PostgreSQL instance. Repeating it is safe; an unexplained
|
||||
pre-existing table/marker mismatch fails closed. Readers and ordinary imports do not
|
||||
install the extension. Legacy datasets remain readable. A SQLite **sample** uses
|
||||
`--db sample.sqlite`; the cutover SQLite backup remains protected against writes.
|
||||
|
||||
## Add and retract evidence
|
||||
|
||||
Use the canonical paper ID returned by `query`. For a reviewed classification:
|
||||
|
||||
```sh
|
||||
paper-atlas annotate assert --pg-service foundry-research --pg-schema research \
|
||||
--paper "$PAPER_ID" --kind research_type --namespace custom:method \
|
||||
--value empirical --evidence-key manual:abstract-review \
|
||||
--actor reviewer --reason 'Classified from the explicitly described study design' \
|
||||
--request-id "$REQUEST_ID"
|
||||
```
|
||||
|
||||
`$REQUEST_ID` must be a new, stable identifier for this action (for example a UUID).
|
||||
Retry with the same request ID and identical content after an interrupted response;
|
||||
it returns the original event ID. Reusing that ID with changed content is rejected.
|
||||
A topic annotation uses `--kind tag --namespace custom:topic --value robotics` instead.
|
||||
Optional `--source-record` and `--evidence-url` attach additional evidence; the source
|
||||
record must belong to this paper. URLs are retained as evidence and are not fetched.
|
||||
|
||||
To withdraw one particular assertion, use its returned event ID:
|
||||
|
||||
```sh
|
||||
paper-atlas annotate retract --pg-service foundry-research --pg-schema research \
|
||||
--event "$EVENT_ID" --actor reviewer --reason 'Classification corrected after review' \
|
||||
--request-id "$RETRACTION_REQUEST_ID"
|
||||
```
|
||||
|
||||
Retraction adds an event referencing that assertion, preserving its original content.
|
||||
It does not remove another contributor's assertion of the same label, platform tags,
|
||||
source metadata or submission/decision history. A retracted assertion can be asserted
|
||||
again with a new request ID and evidence; it is a new observation. The API does not
|
||||
update or delete past annotation events. Database administrators still control direct
|
||||
SQL access. Work reviewed as the same paper may subsequently be merged by the existing
|
||||
identity workflow: annotation IDs, original paper IDs, evidence and retraction links
|
||||
are retained while the canonical paper reference follows the surviving entity.
|
||||
|
||||
## Query and analyze
|
||||
|
||||
```sh
|
||||
paper-atlas query --pg-service foundry-research --pg-schema research \
|
||||
--research-type custom:method=empirical
|
||||
paper-atlas query --pg-service foundry-research --pg-schema research \
|
||||
--tag custom:topic=robotics
|
||||
paper-atlas query --pg-service foundry-research --pg-schema research \
|
||||
--paper "$PAPER_ID" --annotation-history
|
||||
paper-atlas annotate list --pg-service foundry-research --pg-schema research \
|
||||
--paper "$PAPER_ID" --history
|
||||
```
|
||||
|
||||
`--tag` includes original platform labels and active annotation tags. It never matches
|
||||
research types. `--research-type` matches active type assertions only. Paper details
|
||||
return separate `tags` (existing provenance), `annotation_tags`, and `research_types`;
|
||||
`--annotation-history` additionally includes retractions. A missing extension yields
|
||||
empty annotation results rather than changing the database.
|
||||
|
||||
For direct SQL analysis, active research-type evidence is:
|
||||
|
||||
```sql
|
||||
SELECT a.* FROM research.annotation_events a
|
||||
WHERE a.kind = 'research_type' AND a.retracts_id IS NULL
|
||||
AND NOT EXISTS (SELECT 1 FROM research.annotation_events r WHERE r.retracts_id = a.id);
|
||||
```
|
||||
|
||||
Several independent assertions can support one label; count distinct papers/labels
|
||||
when appropriate rather than counting evidence rows as papers. Namespaces stay
|
||||
separate. Standard paper queries decode the PostgreSQL text codec; direct SQL consumers
|
||||
must honor the dataset's documented codec, including NUL/SOH values. SQLite-to-PostgreSQL
|
||||
migration recognizes an installed annotation extension and verifies its full row hashes,
|
||||
constraints and identity sequence along with the original business tables. An old
|
||||
21-table snapshot stays a 21-table migration; no synthetic annotations are generated.
|
||||
@@ -0,0 +1,196 @@
|
||||
# 会议覆盖与公开决定核查
|
||||
|
||||
这是 2026-11-08 的首份核查基线,**完整逐年政策普查和最终去重仍未完成**。收录 43 个目标,不能把“有记录”当作“完整覆盖”。结构化清单见 [inventory-2026-11-08.json](inventory-2026-11-08.json)。清单中的 `policy_checks` 均限定所列年份和轨道;空数组表示尚未核实,绝不表示没有公开拒稿。
|
||||
|
||||
## 快照与复核
|
||||
|
||||
生产只读快照时间 `2026-11-07T19:06:00.862Z`,数据库 `foundry_data/research`。报告固定代码 `fd3fdb6cf7e70404d7c35051c36442a4e3771d36`,服务器产物 `/data/paper-index/collected/venue-coverage-postgresql-fd3fdb6.json`,SHA256 `2f090827ae741c9d663c428942fec40182231c5479346f3107678ee5c5fb5435`。完整 JSON 保留逐届、逐 track 和来源清单证据;仓库里的清单记录摘要及后续核查任务。
|
||||
|
||||
PostgreSQL 报告支持由 [PR #19](https://gitea.entroia.com/Zayden-Jung/paper-atlas/pulls/19) 提供,须使用包含其提交的安装版本。它与本清单的文档分支相互独立。刷新时生成新的日期快照,保留旧快照;不要把旧报告当实时统计。
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas coverage \
|
||||
--pg-service foundry-research --pg-schema research \
|
||||
--out /data/paper-index/collected/venue-coverage-current.json
|
||||
```
|
||||
|
||||
报告包含 1328 个不同届次/track、503,964 次不同投稿。逐会议相加为 505,718,差额 1,754 来自 7 个联合届次同时匹配两个注册目标,见 JSON 的 `joint_editions`。这是栏目重叠,不是新增投稿。论文可以跨年、跨会复投,来源也可以重叠,所以论文数与来源数都不能直接逐行相加。
|
||||
|
||||
## 43 个目标的已观察记录
|
||||
|
||||
年份范围只表示已观察最早与最晚年,中间是否缺年须看 JSON 的 `observed_years`;它不证明应举办年份齐全。拒稿列按每次投稿的最新已观察决定计数,完整决定历史另见 JSON。
|
||||
|
||||
| 会议 | 已观察年份范围 | 投稿 | 最新拒稿 | 状态未知 | 来源 |
|
||||
| --- | --- | ---: | ---: | ---: | --- |
|
||||
| NeurIPS | 1987–2025 | 32,057 | 1,216 | 0 | neurips, papercopilot_openreview |
|
||||
| ICML | 2013–2026 | 21,232 | 399 | 0 | pmlr, papercopilot_openreview, openreview_public_archive |
|
||||
| ICLR | 2017–2026 | 50,536 | 24,612 | 10,208 | peerread, iclr_program, openreview_snapshot |
|
||||
| COLM | 2024–2026 | 1,573 | 0 | 0 | colm |
|
||||
| COLT | 2011–2026 | 1,795 | 0 | 0 | pmlr |
|
||||
| AISTATS | 2007–2026 | 5,371 | 0 | 0 | pmlr |
|
||||
| UAI | 2019–2026 | 1,698 | 0 | 0 | pmlr |
|
||||
| CLeaR | 2022–2026 | 243 | 0 | 0 | pmlr |
|
||||
| ACL | 1979–2026 | 22,214 | 0 | 0 | acl_anthology |
|
||||
| EMNLP | 1996–2026 | 21,785 | 9 | 0 | acl_anthology, papercopilot_openreview |
|
||||
| NAACL | 2000–2025 | 6,251 | 0 | 0 | acl_anthology |
|
||||
| EACL | 1983–2026 | 3,712 | 0 | 0 | acl_anthology |
|
||||
| COLING | 1965–2025 | 8,560 | 0 | 0 | acl_anthology |
|
||||
| CoNLL | 1997–2026 | 1,566 | 0 | 0 | acl_anthology |
|
||||
| CVPR | 2013–2026 | 23,435 | 0 | 0 | cvf |
|
||||
| ICCV | 2013–2025 | 9,145 | 0 | 0 | cvf |
|
||||
| ECCV | 2018–2024 | 6,165 | 0 | 0 | ecva |
|
||||
| AAAI | 1980–2026 | 29,827 | 0 | 5 | dblp |
|
||||
| IJCAI | 1969–2026 | 16,288 | 0 | 1 | dblp |
|
||||
| ECAI | 1976–2026 | 6,280 | 0 | 0 | dblp |
|
||||
| KDD | 1995–2026 | 8,707 | 0 | 0 | dblp |
|
||||
| SIGIR | 1971–2026 | 7,869 | 0 | 1 | dblp |
|
||||
| WWW | 1995–2026 | 11,422 | 0 | 2 | dblp |
|
||||
| WSDM | 2008–2026 | 2,184 | 0 | 0 | dblp |
|
||||
| RecSys | 2007–2025 | 2,360 | 0 | 0 | dblp |
|
||||
| CIKM | 1992–2025 | 9,330 | 0 | 0 | dblp |
|
||||
| ICDM | 2001–2025 | 3,824 | 0 | 0 | dblp |
|
||||
| SDM | 2001–2025 | 2,048 | 0 | 0 | dblp |
|
||||
| ECML-PKDD | 1993–2026 | 4,836 | 0 | 1 | dblp |
|
||||
| ICRA | 1984–2026 | 32,504 | 0 | 8 | dblp |
|
||||
| IROS | 1991–2025 | 25,074 | 0 | 0 | dblp |
|
||||
| RSS | 2005–2024 | 1,305 | 0 | 0 | dblp |
|
||||
| CoRL | 2017–2025 | 1,488 | 0 | 0 | pmlr |
|
||||
| ICAPS | 1994–2025 | 1,576 | 0 | 0 | dblp |
|
||||
| KR | 1989–2026 | 1,694 | 0 | 0 | dblp |
|
||||
| AAMAS | 2002–2024 | 7,325 | 0 | 0 | dblp |
|
||||
| ICASSP | 1976–2025 | 56,226 | 0 | 4 | dblp |
|
||||
| INTERSPEECH | 1987–2026 | 29,784 | 0 | 1 | dblp |
|
||||
| ISMIR | 2000–2025 | 2,593 | 0 | 0 | dblp |
|
||||
| MICCAI | 1998–2026 | 10,930 | 0 | 0 | dblp |
|
||||
| FAccT | 2018–2026 | 1,258 | 0 | 0 | dblp |
|
||||
| MLSys | 2019–2026 | 448 | 0 | 0 | dblp, mlsys |
|
||||
| MM | 1993–2025 | 11,200 | 0 | 1 | dblp |
|
||||
|
||||
## 优先缺口
|
||||
|
||||
- **UAI 2024–2026**:官方均允许作者选择公开拒稿,当前主库拒稿仍为零。原 notes 接口要求 Challenge 验证,公开镜像尚无已核验来源,必须保留这个真实缺口;不能根据 PMLR 录用名单推断拒稿。参见 [2025 投稿指南](https://www.auai.org/uai2025/submission_instructions)、JSON 内其他年份官方证据。
|
||||
- **EMNLP 2023**:官方允许公开 opt-in 拒稿,目前只导入 9 条。需继续核验实际公开全集。ARR 评审、conference commitment 与最终会议决定分开;[ARR 作者说明](https://aclrollingreview.org/authors) 明确其自愿捐赠数据与 EMNLP 2023 直接投稿发布的范围不同。
|
||||
- **ICLR**:固定快照已观察 2017 与 2020–2026;快照之后,2013/2018/2019 的 1,654 条来源记录已完成独立 PostgreSQL 验收(报告时间 `2026-11-07T19:52:28.378Z`),不回写旧快照计数,也不据此宣称逐届全集已齐。快照中的 10,208 次 unknown 不等于 rejected,近期补采与冲突核对仍在进行;评审推荐不能当最终决定。
|
||||
- **MM / MLSys**:MM 11,200 条书目记录保留 `proceedings_unspecified`;MLSys 的 448 次官方投稿与 313 条 DBLP 记录重叠。2026 MLSys 的研究/工业轨道在 [官方 CFP](https://mlsys.org/Conferences/2026/CallForResearchPapers) 中分开,仍须核对逐篇轨道证据,不能仅凭会议名全部归 main。
|
||||
- **摘要与历史目录**:DBLP 原始来源不含摘要,论文实体可能从其他来源补得,须分开核验。最近导入批次仍有 6 条 CVF 原始摘要缺失。COLT 可选择一页 extended abstract,摘要非空不能证明完整。RSS 等部分近期届次尚无当前来源记录,需与真实出版目录核对。
|
||||
|
||||
## 官方历届目录核对
|
||||
|
||||
已完成 **43/43** 个目标的首轮独立年份目录核查;逐篇采集、逐轨道/逐年公开决定普查和最终审计仍未完成。每份证据保存官方目录实际条目、URL、可读取表示(HTML、静态JS或网页提取文本)的哈希和检查时间;不能用数据库已观察年份或首尾年份插值替代官方目录。下表差集仅对应前述固定旧快照,不是当前主库查询,也不代表逐篇、track、摘要或公开拒稿已完整。
|
||||
|
||||
| 目标 | 官方截至2026年届次 | 固定旧快照缺年 | 证据与边界 |
|
||||
| --- | --- | --- | --- |
|
||||
| NeurIPS | 1987–2025已列论文集,另公告2026,共40届 | 2026 | [证据](neurips-editions-2026-11-08.json);2026未列论文集,不能称为漏了已出版论文。 |
|
||||
| ICLR | 2013–2026,14届 | 2013–2016、2018、2019 | [证据](iclr-editions-2026-11-08.json);2013/2018/2019后续来源已验收,不能因旧快照缺年而重放。 |
|
||||
| COLM | 2024–2026,3届 | 无 | [证据](colm-editions-2026-11-08.json);无年份差集不证明逐篇或轨道完整。 |
|
||||
| COLT | 1988–2026,39届 | 1988–2010,23届 | [证据](colt-editions-2026-11-08.json);EuroCOLT四届另列,混合论文集保留范围限制。 |
|
||||
| AISTATS | 官方目录实际29届,早期不连续 | 1985、1989–2005奇数年,共10届 | [证据](aistats-editions-2026-11-08.json);不补造1987或2008。 |
|
||||
| UAI | 1985–2026,42届 | 1985–2018,34届 | [证据](uai-editions-2026-11-08.json);早期编辑图书出版年与会议年分开。 |
|
||||
| CLeaR | 2022–2026,5届 | 无 | [证据](clear-editions-2026-11-08.json);由官方出版社首届说明、实际各卷及会议日期核对。 |
|
||||
| EMNLP | 1996–2026,31个不同年份 | 无 | [证据](emnlp-editions-2026-11-08.json);WVLC另列,2020重复只计一次,保留年份/日期/地点文字冲突。 |
|
||||
| IJCAI | 1969–2026,35届,早期隔年 | 无 | [证据](ijcai-editions-2026-11-08.json);保留IJCAI-ECAI / IJCAI-PRICAI联合名称,多卷不增加届数。 |
|
||||
| RecSys | 2007–2026,20届 | 2026 | [证据](recsys-editions-2026-11-08.json);未来2027排除。 |
|
||||
| CoRL | 2017–2025已列论文集,另公告2026,共10个年份 | 2026 | [证据](corl-editions-2026-11-08.json);截至11月8日,11月9–12日活动即将举办,PMLR未列该届,不能称为漏了已出版论文。 |
|
||||
| MLSys | 2018–2026,9届 | 2018 | [证据](mlsys-editions-2026-11-08.json);首届SysML为非存档oral/poster,正式论文集从2019开始。 |
|
||||
| RSS | 2005–2026,22届 | 2025、2026 | [证据](rss-editions-2026-11-08.json);使用论文集中的会议日期,印刷出版年和期刊特刊分开。 |
|
||||
| ICAPS及具名共同前身 | ICAPS2003–2026共24届,另13个具名前身届次 | 1990–1993、1995、1997、1999、2001、2026 | [证据](icaps-editions-2026-11-08.json);保留AIPS/ECP/EWSP/EPS原名,ECP系仍有采集范围缺口,不把前身论文改名ICAPS。 |
|
||||
| AAMAS | 2002–2026,25届 | 2012、2025、2026 | [证据](aamas-editions-2026-11-08.json);2002–2006出版入口与2007后基金会档案分开,保留2020–2022实际线上举办情况。 |
|
||||
| MM | 1993–2026,34个实际年份标签 | 2026 | [证据](mm-editions-2026-11-08.json);SIGMM早期档案、官网历届及统计年份交叉核对,2026截至11月8日尚未举办,不据此断定出版情况。 |
|
||||
| ACL | 1963–2026,64个真实会议年 | 1963–1978 | [证据](acl-editions-2026-11-08.json);历史表补16个早年,1962成立年不算会议;1965由首届COLING替代,不能生成额外录用。 |
|
||||
| NAACL | 2000–2025实际18个系列会议年 | 无 | [证据](naacl-editions-2026-11-08.json);章节网站承办的ACL年份单列,不能改名NAACL;保留2024组织更名与历史标题。 |
|
||||
| EACL | 1983–2026,19届 | 无 | [证据](eacl-editions-2026-11-08.json);承办ACL2019/2022不算新增EACL届次,1997明确联合;未来2027排除。 |
|
||||
| COLING | 1965–2025,31届 | 1971、1976、1978 | [证据](coling-editions-2026-11-08.json);1988前言补早期缺年,2024联合LREC、2025改奇数年;不补造2026。 |
|
||||
| CoNLL | 1997–2026,30届 | 无 | [证据](conll-editions-2026-11-08.json);shared tasks与另一个1997前身workshop分开,保留早期workshop名称。 |
|
||||
| CVPR | 官方实际39个会议年,1983–2026不连续 | 2013年前25个实际年份,详见JSON | [证据](cvpr-editions-2026-11-08.json);逐行保留实际年份,不按年插值,未来2027–2031排除。 |
|
||||
| ICCV | 1987–2025实际20届 | 1987–2011实际13届,详见JSON | [证据](iccv-editions-2026-11-08.json);早期1988/1990/1998确有条目,不强制奇数年。 |
|
||||
| ECCV | 1990–2026,19届 | 1990–2016偶数年及2026 | [证据](eccv-editions-2026-11-08.json);ECVA概览只列2004–2024,以CVF完整目录补核,2020地点文字冲突保留。 |
|
||||
| AAAI | 1980–2026实际40届 | 无 | [证据](aaai-editions-2026-11-08.json);官网会议/论文集两组年份一致;web工具官方文本提取哈希另存,直连403如实记录。 |
|
||||
| ECAI及具名前身 | 1974–2026实际29届 | 1974、1980、2018、2022 | [证据](ecai-editions-2026-11-08.json);1974–1980为AISB前身,1982开始ECAI名称;2018/2022/2026与IJCAI联合。 |
|
||||
| KR | 1989–2026实际23届 | 无 | [证据](kr-editions-2026-11-08.json);只解析官网静态会议数组,不执行脚本,排除其他数组和未来2027/2028。 |
|
||||
| FAccT | 9个实际会议年 | 无 | [证据](facct-editions-2026-11-08.json);2018–2026;2018–2020保留FAT*原名,2027排除。 |
|
||||
| ISMIR | 27个实际会议年 | 2026 | [证据](ismir-editions-2026-11-08.json);2000–2026;2026于核查当天开幕,出版完整性未确认。 |
|
||||
| MICCAI | 29个实际会议年 | 无 | [证据](miccai-editions-2026-11-08.json);1998–2026;另列8个具名前身事件,不改名为MICCAI;保留2026地点/日期来源冲突。 |
|
||||
| ICRA | 43个目录年份 | 无 | [证据](icra-editions-2026-11-08.json);1984–2026;按届次标题取年,保留2002日期行误写2022的源内冲突。 |
|
||||
| IROS | 39个目录年份 | 1988、1989、1990、2026 | [证据](iros-editions-2026-11-08.json);1988–2026;1988–1990和2026在固定旧快照缺失,未来2027排除。 |
|
||||
| ICASSP | 51个目录年份 | 1977、2026 | [证据](icassp-editions-2026-11-08.json);1976–2026列明51个届次年份;2003现场标记取消但仍有IEEE论文集DOI,不能等同没有录用稿件。 |
|
||||
| INTERSPEECH | 39个目录年份 | 无 | [证据](interspeech-editions-2026-11-08.json);1987–2026具名家族;保留ECST/Eurospeech/ICSLP原名,不补1988。 |
|
||||
| KDD | 32个具名届次/事件 | 无 | [证据](kdd-editions-2026-11-08.json);1995–2026主会;另列1989/1991/1993/1994四个具名workshop。 |
|
||||
| SIGIR | 50个具名届次/事件 | 无 | [证据](sigir-editions-2026-11-08.json);含1971独立历史事件与1978–2026的49个年度会,不补1972–1977。 |
|
||||
| WSDM | 19个具名届次/事件 | 无 | [证据](wsdm-editions-2026-11-08.json);2008–2026;2008文字误连2009域名另记,未来2027排除。 |
|
||||
| WWW | 35个具名届次/事件 | 1994、1996、1997、1998、1999、2000 | [证据](www-editions-2026-11-08.json);1994–2026共33年份、35事件;1994/1995各两届,需先补事件身份模型再导入。 |
|
||||
| ICML | 43个具名届次/事件 | 1980、1983、1985、1987、1988、1989、1990、1991、1992、1993、1994、1995、1996、1997、1998、1999、2000、2001、2002、2003、2004、2005、2006、2007、2008、2009、2010、2011、2012 | [证据](icml-editions-2026-11-08.json);1980–2026家族实际年份;早期workshop原名保留,不补1981/1982/1984/1986。 |
|
||||
| CIKM | 35个具名届次/事件 | 2026 | [证据](cikm-editions-2026-11-08.json);1992–2026;1992会议与1993精选论文集出版年分开,2026正在举行。 |
|
||||
| ICDM | 26个具名届次/事件 | 2026 | [证据](icdm-editions-2026-11-08.json);2001–2026;重复目录行去重,2026于11月12–15日尚待举行,不代表论文集齐全。 |
|
||||
| SDM | 26个具名届次/事件 | 2026 | [证据](sdm-editions-2026-11-08.json);2001–2025出版社实际论文集标题加2026官方公告,2026于11月19–20日尚待举行。 |
|
||||
| ECML-PKDD | 41个具名届次/事件 | 1986、1987、1988、1989、1991 | [证据](ecml-pkdd-editions-2026-11-08.json);1986–2026共38年份、41事件;5个EWSL前身、1997/1998/2000两系列独立事件均保留,生产中已属不同venue/edition。 |
|
||||
|
||||
CLeaR与CoRL的出版届次由 [PMLR官方目录](https://proceedings.mlr.press/) 和每卷会议日期核对;[CoRL2026官网](https://www.corl.org/) 的已公告活动另记,不把公告当作已出版论文集。main、workshop、demo与late-breaking展示还需分别核对。MLSys2018允许已有发表研究及后续原样再投,展示或PDF链接不能自动作正式出版证据。
|
||||
|
||||
NeurIPS2021 Datasets & Benchmarks使用独立目录,2022起混入主卷,2025 Main Conference与Creative AI分索引,仍须保留逐篇轨道证据。EMNLP目录文字冲突保留在证据中,不据此修改事件元数据。
|
||||
|
||||
ICML的[早先部分证据](icml-partial-editions-2026-11-08.json)保留原始坏导航记录;后来找到[2008官方历届表等独立证据](icml-editions-2026-11-08.json),已补齐43个实际家族年份。没有使用错位导航补年,也没有把尚未下载/导入的历史论文集说成已完成。
|
||||
|
||||
[UAI2023投稿说明](https://www.auai.org/uai2023/submission_instructions) 与2024–2026核查均包含作者可选公开拒稿;逐篇公开来源仍未验收。[EMNLP2023审稿流程说明](https://2023.emnlp.org/blog/EMNLP-2023-openreview/) 确认opt-in范围,但不提供可见记录全集,目前9条不能称为全量。年份普查不替代逐年、逐轨道的公开决定核查。
|
||||
|
||||
ICAPS官方共同历史明确列出两个前身系列,现有DBLP映射只覆盖AIPS/ICAPS,ECP/EWSP/EPS缺口须独立补齐并保留原名。MM官网的完整历届链接当前404;使用SIGMM档案与官网逐年实际标签交叉核对,不从首尾年推算。[MM官方汇总统计](https://www.acmmm.org/) 不是逐篇拒稿记录;SC政策PDF仍有proposal/alternative表述,不能据此代替具体会议最终决定。
|
||||
|
||||
## 政策证据的边界
|
||||
|
||||
- [COLM 2026 固定版 CFP](https://raw.githubusercontent.com/COLM-org/colm-org.github.io/f1718e86fd16ed9b10b4e010c9098c1b6223c2a8/cfp.md) 明确不发布拒稿、撤稿及其元数据,哈希与提交号保存在 JSON;不再依赖含 2024 旧链接的 2026 AuthorGuide。2025 有独立政策证据。
|
||||
- [RSS 2026 CFP](https://roboticsconference.org/2026/information/cfp/) 明确仅录用论文公开、评审不公开。无年份根路径已指向 2027,必须使用有年份的链接。
|
||||
- [CVPR 2026 指南](https://cvpr.thecvf.com/Conferences/2026/AuthorGuidelines) 说评审与回复不公开;这不自动证明所有拒稿元数据都永久私密。[MICCAI 2026 主会流程](https://miccai2026.org/en/THE-MICCAI-REVIEW-PROCESS.html) 的录用评审公开政策,也不能用 workshop 的通用 OpenReview 配置手册替代。
|
||||
- AISTATS 的撤稿统计口径、CoRL/CLeaR 审稿期隐私、是否使用 OpenReview,均不能单独证明决定后的拒稿发布范围。
|
||||
|
||||
## 新增政策核查与建模边界
|
||||
|
||||
本次仅补充政策证据,前面的已观察记录表仍对应固定生产快照,不滚动改写旧计数。43 个目标中,目前 43 个都有至少一条限定年份的政策核查,共 54 条;“有核查”包含仍然 unknown 的结果,不代表这些会议的全部历史年份已查清。额外的 TMLR 期刊政策单列在 JSON 的 `additional_nonconference_policy_checks`,不增加会议目标数。
|
||||
|
||||
- [ICAPS 2024 主会 CFP / FAQ](https://icaps24.icaps-conference.org/calls/main_track/) 仅明确录用论文的评审和最终 rebuttal 公开,不能据此推断所有拒稿元数据私密。该年把此前主题轨道统一为主轨道内的可选 primary keywords;technical/position、long/short 仍是论文属性,不能互相混用。
|
||||
- [ICCV 2025 作者指南](https://iccv.thecvf.com/Conferences/2025/AuthorGuidelines) 明确评审和作者回复不公开;拒稿元数据的会后发布范围仍未独立确认,不将审稿期保密外推为永久不公开。
|
||||
- [KDD 2026 研究轨道 CFP](https://kdd2026.kdd.org/research-track-call-for-papers/) 的 Resubmit 与 Reject、Withdrawn 分开,且保留 cycle。录用评审公开政策不证明拒稿全集可得;研究轨道证据不外推其他轨道。
|
||||
- [ICAPS 2025 主会 CFP](https://icaps25.icaps-conference.org/calls/main_track/) 另设海报录用及非存档扩展摘要;缺席存档论文集不能作为拒稿证据。论文类型与 long/short 分开,会后拒稿公开政策仍未确认。
|
||||
- [AAMAS 2026 AAAI track 专页](https://cyprusconferences.org/aamas2026/call-for-papers-aaai-track/) 接收先在 AAAI 被拒的修订稿,但与 [calls 总览](https://cyprusconferences.org/aamas2026/calls/) 的原会议年份分别写 AAAI-26、AAAI-25,存在冲突。[该 track 录用目录](https://cyprusconferences.org/aamas2026/aaai-accepted/) 可作为后续跨会历史候选,须补原投稿标识和逐篇决定证据后关联,不能仅凭 track 资格规则生成原拒稿记录;评审推荐也不替代会议最终决定。
|
||||
- [ICLR 2026 作者指南](https://iclr.cc/Conferences/2026/AuthorGuide) 明确录用、拒稿和截稿后撤稿的公开范围,截稿前撤稿可删除;该段未单独确认所有 desk rejection。撤稿权止于决定公布,不能把镜像提交时间当成决定后的撤稿时间。指南与 [CFP](https://iclr.cc/Conferences/2026/CallForPapers) 的通知日期也存在差异,逐篇日期须另有证据。
|
||||
- [FAccT 2026 作者指南](https://facctconference.org/2026/authorguide.html) 保密投稿材料、录用后公开标题/作者/摘要;未据此确认会后拒稿元数据的完整发布范围。[该年 CFP](https://facctconference.org/2026/cfp.html) 的 Revise 再审不是最终 Reject,non-archival 论文只刊摘要仍可为录用。
|
||||
- [AAAI 2026 投稿说明](https://aaai.org/conference/aaai/aaai-26/submission-instructions/) 的两阶段决定和 OpenReview 用法不能证明拒稿公开。[AI Review Pilot 原论文](https://arxiv.org/html/2604.13940v1) 的 AI 评审及 SPECS 合成错误样本也不是真实会议 Reject 证据;未核验到逐篇拒稿来源时继续标为 unknown。
|
||||
- [RecSys 2026 CFP](https://recsys.acm.org/recsys26/call/) 使用 EasyChair;开放出版不等于拒稿公开。Research & Practice Notes 明确不接受主轨道拒稿转投,论文类型和长度不自动改成新的会议投稿结果。
|
||||
- [KR 2026 主会 CFP](https://kr.org/KR2026/call_main_track.html) 的保密承诺截至出版日期,不能外推会后是否公开拒稿。regular/short 长度、会议录用、期刊邀请分别保留。
|
||||
- [WSDM 2026 CFP](https://wsdm-conference.org/2026/index.php/call-for-papers/) 区分不同评审角色对作者元数据的可见性;EasyChair 投稿和 ACM 开放出版均不能建立公开拒稿全集。
|
||||
- [TMLR 当前 FAQ](https://www.jmlr.org/tmlr/faq.html) 明确公开录用、拒稿、撤稿及撤回发表的投稿,desk-rejected 不公开。未录用作者仍保持匿名,不能借其他来源推断身份。期刊论文后续获得会议展示认证,也不能自动当成一次新的会议投稿录用。
|
||||
|
||||
- [IJCAI 2025 主会 CFP](https://2025.ijcai.org/call-for-papers-main-track/) 要求近期拒稿复投提供原评审与修改说明;这不能据此生成某篇论文的前次拒稿。[Reviewer FAQ](https://2025.ijcai.org/reviewers-faq/) 的内部讨论可见性也不能证明会后拒稿是否公开。该年主会仍标 unknown;Journal / Best Papers from Sister Conferences 展示轨道与新的主会投稿录用分开。
|
||||
|
||||
- [本批四项政策证据](nlp-aamas-policy-checks-2026-11-08.json):NAACL2025的ARR匿名投稿可选公开不等于会议最终拒稿公开;preferred venue不是正式commitment,ARR desk rejection不改记成NAACL决定。EACL2026未入main会自动考虑Findings,Findings录用不能当最终会议Reject;TACL/CL展示与主会录用分开。
|
||||
- COLING2025仅main直投通道明确不公开投稿与评审,ARR稿件另经commitment,不外推其他年份/轨道。AAMAS2026主会明确公开录用论文及评审,但尚未确认会后拒稿元数据发布范围;允许拒稿重投的规则不能生成逐篇历史决定。CoNLL的逐年公开拒稿政策仍待核查。
|
||||
|
||||
- [本批视觉与推理政策证据](vision-reasoning-policy-checks-2026-11-08.json):ECCV2026评审及回复永不公开,不等于已确认全部拒稿元数据的会后发布范围;五个作者贡献类型与轨道、主题、决定分开,无逐篇字段时不能补默认类型。ECAI2025内部跨会共享材料不等于公开,允许带原评审复投不能生成某篇论文的原拒稿。
|
||||
|
||||
- [ISMIR2026政策核查](music-medical-fairness-policy-checks-2026-11-08.json):双盲、CMT和desk rejection规则未确认会后公开拒稿范围。MICCAI、FAccT已有检查保持原定年份与范围;不把只公开录用稿件或审稿材料理解为公开全部拒稿。
|
||||
|
||||
- [机器人与语音政策证据](robotics-speech-policy-checks-2026-11-08.json):ICRA2026允许IROS2025未录用稿件转投,但政策不是逐篇原拒稿证据;期刊展示不额外生成主会录用。ICASSP no-show不进Xplore也可能已分发论文集,不能据索引缺失判拒。INTERSPEECH响应内静态政策说明审稿保密,重定向页面渲染异常另记;IROS政策访问受限未算完成核查。
|
||||
|
||||
- [WWW2026分轨道政策](ir-mining-policy-checks-2026-11-08.json):Research为EasyChair、会后拒稿范围unknown;Industry为OpenReview,仅公开录用稿件审稿材料。Research原HTML中隐藏的2025政策注释未作为2026证据。
|
||||
- WWW1994/1995各两届;当前`UNIQUE(venue_id,year,track)`不能表达两个同年main事件。补导前须提供独立事件身份、迁移和PG验证,保留原track与IDs,不用伪造track绕过约束。
|
||||
|
||||
- [最后四会限定政策](final-four-policy-checks-2026-11-08.json):CIKM Full Research、ICDM Research、SDM main、ECML-PKDD ADS分别记录,均未确认会后负面元数据全集。SDM2026公开group可读、三个public标志为false,根venueid匿名notes查询403,不当作零条;没有绕过权限。
|
||||
- 生产只读预检确认ECML/PKDD1997/1998/2000已经保存在独立venue/edition中,保持现有身份即可,不需要为这些记录迁移。WWW1995已有59条Fall卷来源;Spring及1994两届仍需先解决同一venue/year/track的事件身份,再补导。SIAM出版社与CIKM官方历史的索引文本提取使用独立哈希,直连403/TLS错误保留,不冒充原HTML。
|
||||
|
||||
- [CoNLL、SIGIR、IROS限定政策](remaining-policy-checks-2026-11-08.json):CoNLL2025第二次CFP改为只接直接投稿;其OpenReview路径中的Workshop不决定论文track,非存档展示也不增加存档录用。SIGIR2026仅Full Papers,公开group三个标志false、一次匿名拒稿查询403,不算零条。IROS2025为单盲,不把期刊展示视为常规新录用;2026与全部历史公开拒稿范围仍待查。43个目标都有至少一项限定核查,并不代表全部历史年份/轨道已经完整核查。
|
||||
|
||||
## 更新与验收
|
||||
|
||||
补充每个年份的官方 CFP/FAQ、固定版本或内容哈希、实际可读取来源、轨道和缺口原因。政策描述与记录证据分开:导入只依赖明确最终决定或明确公开分类,不从标题匹配、未录用清单、评分或评审推荐制造拒稿。同一论文后续在别会录用要保留原拒稿历史。
|
||||
|
||||
这份基线不关闭长期目标:还需完成 43 个会议逐年公开决定核查、跨来源身份/标签规范化、全部导入后的全库去重与冲突/摘要/约束/查询审计,以及运维文档最终整理。
|
||||
|
||||
MM 2026 的[官方 CFP](https://2026.acmmm.org/site/cfp-guidelines.html)说明会后公开最终评审及适用的作者回复,但未明确包含全部被拒投稿。2026-11-08 对官方组的匿名 API 查询返回200,对该组 `venueid` 的投稿查询返回403;[证据](mm-editions-2026-11-08.json)保存查询、时间和响应哈希。公开拒稿可用性仍为 unknown,403不能作为零记录或不存在公开拒稿的证据。
|
||||
|
||||
WWW早期逐来源核查见 `www-early-proceedings-2026-11-08.json`:1995春季论文三目录均为38个相同条目ID,海报摘要53个条目与作者链接47个条目不齐;1994春季50个Title字段与主页49场报告说法待逐项核对。上述为源目录观察,不是已导入或全部录用数量;主会、海报、教程等继续独立核验。
|
||||
|
||||
WWW事件标识生产迁移已独立验收(报告SHA `f5dbb8a8`):保留1399个原届次字段及IDs、59个Fall投稿和完整全库历史哈希。服务器已缓存46个官方HTML来源(约223KB),只作为后续维护式采集器的输入;尚未补导早期WWW论文,也未启用可选注解表。
|
||||
|
||||
IJCAI 联办届次的逐条后续核查见 [2018/2022 分区与目录差集](ijcai-sections-2026-11-08.md) 和 [稳定 ID 映射](ijcai-sections-2026-11-08.json)。已定位 345 条非 main 分类及 2022 官方 HTML 缺失但官方文件仍存在的一条记录;生产分类尚未修正,不能把整卷数量作为 main 覆盖率。
|
||||
|
||||
2026年11月9日的[当前历史年度缺口核对](historical-gaps-2026-11-09.md)单列135个历史会议—年份、14个2026年度及85个经范围修正的初步候选来源年度;它使用当前生产edition/别名快照,保留原固定快照不变。年度有记录不等于逐篇、逐track或公开拒稿历史完整。
|
||||
|
||||
[早期NLP来源范围复核](historical-source-scope-2026-11-09.md)保留3份官方网页的响应哈希,排除4个COLING卷对ACL缺口的误匹配,并区分会议举办记录、目录可获取性与论文级覆盖;尚未导入或关闭这些年度缺口。
|
||||
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"source_url": "https://aaai.org/conference/aaai/",
|
||||
"checked_at": "2026-11-08T10:52:18.532452+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "a615dd93457489752e7780c1352882547b44f67c2faf64b28b6f76ee9207e227",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://aaai.org/conference/aaai/",
|
||||
"error": "HTTP Error 403: Forbidden",
|
||||
"checked_at": "2026-11-08T10:47:21.547698+00:00"
|
||||
},
|
||||
"retrieval_note": "Primarypagewebextractioncontainsboth40pastAAAI-XXlabelsand40proceedingsyearlabelswithmatchingorderedyears,plusfuture41st2027. Rawdirectfetch403retainedaslimitation;nobypassorrawHTMLhashclaim. ArchivedwebtextreceiptisdistinctfromrawHTTPresponse.",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1980,
|
||||
1982,
|
||||
1983,
|
||||
1984,
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"label": "AAAI-26"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"label": "AAAI-25"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"label": "AAAI-24"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"label": "AAAI-23"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"label": "AAAI-22"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"label": "AAAI-21"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"label": "AAAI-20"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"label": "AAAI-19"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"label": "AAAI-18"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"label": "AAAI-17"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"label": "AAAI-16"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"label": "AAAI-15"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"label": "AAAI-14"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"label": "AAAI-13"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"label": "AAAI-12"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"label": "AAAI-11"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"label": "AAAI-10"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"label": "AAAI-08"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"label": "AAAI-07"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"label": "AAAI-06"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"label": "AAAI-05"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"label": "AAAI-04"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"label": "AAAI-02"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"label": "AAAI-00"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"label": "AAAI-99"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"label": "AAAI-98"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"label": "AAAI-97"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"label": "AAAI-96"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"label": "AAAI-94"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"label": "AAAI-93"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"label": "AAAI-92"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"label": "AAAI-91"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"label": "AAAI-90"
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"label": "AAAI-88"
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"label": "AAAI-87"
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"label": "AAAI-86"
|
||||
},
|
||||
{
|
||||
"year": 1984,
|
||||
"label": "AAAI-84"
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"label": "AAAI-83"
|
||||
},
|
||||
{
|
||||
"year": 1982,
|
||||
"label": "AAAI-82"
|
||||
},
|
||||
{
|
||||
"year": 1980,
|
||||
"label": "AAAI-80"
|
||||
}
|
||||
],
|
||||
"scope": "40actualAAAIeditionlabels1980–2026independentlycrosscheckedagainstproceedingslabelsonthesameprimaryhistorypage. Noannualinterpolationandnoinvented2009orotherunlistedyears. Conferencepapers,IAAI/EAAI,demonstrationsandothertracksstillrequireseparatescopechecks;OpenReviewandpublicationare notproofpublicRejectmetadata."
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"source_url": "https://www.ifaamas.org/previousaamas.html",
|
||||
"resolved_url": "https://www.ifaamas.org/previousaamas.html",
|
||||
"checked_at": "2026-11-08T10:03:00.826680+00:00",
|
||||
"source_sha256": "bf9d3ed74d85c801804918397fff3d1794c4d0486b712ea174a7427c91be56e1",
|
||||
"expected_years": [
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"label": "AAMAS 2026",
|
||||
"conference_url": "https://cyprusconferences.org/aamas2026/"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"label": "Bids to Host AAMAS 2022",
|
||||
"conference_url": "https://www.ifaamas.org/hosting-2022.html"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"label": "bids to host AAMAS 2022",
|
||||
"conference_url": "https://www.ifaamas.org/hosting-2022.html"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"label": "Detroit, USA (AAMAS 2025)",
|
||||
"conference_url": "https://aamas2025.org/"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"label": "Auckland, New Zealand (AAMAS 2024)",
|
||||
"conference_url": "https://www.aamas2024-conference.auckland.ac.nz/"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"label": "London, UK (AAMAS 2023)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2023/"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"label": "Auckland, New Zealand (AAMAS 2022) - held online",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2022/"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"label": "Auckland, New Zealand (AAMAS 2022)",
|
||||
"conference_url": "https://aamas2022-conference.auckland.ac.nz/"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"label": "London, UK (AAMAS 2021)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2021/"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"label": "Auckland, New Zealand (AAMAS 2020)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2020/"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"label": "Montreal, Canada (AAMAS 2019)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2019/"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"label": "Stockholm, Sweden (AAMAS 2018)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2018/"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"label": "São Paulo, Brazil (AAMAS 2017)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2017/"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"label": "Singapore (AAMAS 2016)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2016/"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"label": "Istanbul, Turkey (AAMAS 2015)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2015/"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"label": "Paris, France (AAMAS 2014)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2014/"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"label": "Saint Paul, USA (AAMAS 2013)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2013/"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"label": "Valencia, Spain (AAMAS 2012)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2012/"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"label": "Taipei, Taiwan (AAMAS 2011)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2011/"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"label": "Toronto, Canada (AAMAS 2010)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2010/"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"label": "Budapest, Hungary (AAMAS 2009)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas2009/"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"label": "Estoril, Portugal (AAMAS'08)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas08/"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"label": "Honolulu, USA (AAMAS'07)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas07/"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"label": "Hakodate, Japan (AAMAS'06)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas06/"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"label": "Utrecht, The Netherlands (AAMAS'05)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas05/"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"label": "New York, USA (AAMAS'04)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas04/"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"label": "Melbourne, Australia (AAMAS'03)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas03/"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"label": "Bologna, Italy (AAMAS'02)",
|
||||
"conference_url": "https://www.ifaamas.org/AAMAS/aamas02/"
|
||||
}
|
||||
],
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://www.ifaamas.org/proceedings.html",
|
||||
"resolved_url": "https://www.ifaamas.org/proceedings.html",
|
||||
"checked_at": "2026-11-08T10:03:01.535471+00:00",
|
||||
"source_sha256": "b0ad40e5042861bb5004ab902486306c048c50aa5972b962c803d63757b6c7bb"
|
||||
}
|
||||
],
|
||||
"scope": "IFAAMAS actual annualconferenceentries2002–2026. Publisherarchive separates ACM Digital Library2002–2006 from foundation archive2007onward. Keep planned locations and actual online2020–2022 events distinct. No per-paper/track or public rejection census; sister-conference/journal presentation tracks do not manufacture prior rejection or new main acceptance.",
|
||||
"cutoff_year": 2026,
|
||||
"excluded_future_years": [],
|
||||
"source_html_sha256": "bf9d3ed74d85c801804918397fff3d1794c4d0486b712ea174a7427c91be56e1"
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
# ACL 早期年份:会议存在、出版目录与逐篇资料分开核验
|
||||
|
||||
固定普查中 ACL 1963–1978 仍有年份缺口。不能因为会议年表连续,就假设每年都有独立的正式论文集;也不能因为当前目录始于 1979,就断言此前没有摘要、通知或其他公开资料。本次不修改固定的 1,266 个目标年份基准。
|
||||
|
||||
## 1978 年:限定 T78-1 的来源关系
|
||||
|
||||
[同期年会通知](https://aclanthology.org/J77-4001.pdf)的 PDF 第 9–10 页(印刷页码 9–10)明确说明,1978 年 ACL 年会采用第二届 Theoretical Issues in Natural Language Processing 的形式,地点为 Urbana/Champaign,日期为 7 月 25–27 日。通知中的 ACM 联合赞助确认仍处于待确认状态,不能将该预告改写为已完成的行政决定。
|
||||
|
||||
[1982 年 Donald E. Walker 的历史回顾](https://aclanthology.org/www.mt-archive.info/70/ACL-1982-Walker-1.pdf)第 3 页(印刷页码 91)的年会表及缩写说明,独立对应了 1978 年的时间、地点与 TNLP/TINLAP-2 关系。两份扫描件相关页已渲染并逐页目视核对,不仅依靠 OCR。
|
||||
|
||||
[官方卷目录](https://aclanthology.org/volumes/T78-1/)与固定 XML `T78.xml` 保留原系列名 TINLAP、完整卷名、1978 年及编辑 David L. Waltz。适配仅接受精确的 collection `T78`、volume `1` 和上述字段组合;关键元数据变化会拒绝处理,等待重新核查。
|
||||
|
||||
- 规范事件名使用 `ACL+TINLAP`,原系列名 `TINLAP`、原始 XML 的 `venue_codes: [tinlap]` 及证据均保留。
|
||||
- ACL/TINLAP 别名只挂在这一规范事件系列上,不把所有 TINLAP 年份都算成 ACL。T75、T87 及 T78 其他卷没有此例外。
|
||||
- 通知描述了邀请与提交论文两种参与方式,XML 没有逐篇角色。统一暂存为 `proceedings_unspecified`,不猜测每篇属于 invited、main 或 workshop。
|
||||
- XML 共 36 条条目,其中 T78-1036 是无作者的场次讨论问题列表。精确识别并在 manifest 的 `excluded_materials` 保留其标识、标题与原因;其余 35 条作为具名贡献整理。该排除不推广到所有无作者条目,已识别条目发生变化也须重新核查。
|
||||
- 全部 35 条 XML 均无摘要。出版目录中的 accepted 是来源观察;通知提及录用/不录用通知时间,不提供任何可识别的拒稿决定,不能制造 rejected 或 withdrawn。
|
||||
|
||||
采集器仅生成元数据文件,不写业务数据库。真实来源逐条验收、PostgreSQL 身份预检、串行导入与独立验收仍是后续门槛。35 条来源不等于 35 个新增论文实体,更不等于完成全库去重。
|
||||
|
||||
## 1965 年:替代关系不改写为别名
|
||||
|
||||
Walker 回顾第 1 页(印刷页码 89)说明,1965 年 ICCL(后来称 COLING)替代了当年的年会。[官方 C65-1 目录](https://aclanthology.org/volumes/C65-1/)及 XML 仍以 COLING 标记该卷。这是限定年份的历史关系,不证明 COLING 与 ACL 是两个可全局互换的名字。
|
||||
|
||||
本次保留 C65 原有 `COLING` 归属,不添加 ACL 全局别名、不重放已导入记录、不将某一年的日历关系推广到整个系列,也不据此悄悄减少固定普查缺口。其他 1963–1977 年资料仍须逐年核查;本次不能证明这些年份整体属于非归档例外。
|
||||
|
||||
## 固定来源与恢复
|
||||
|
||||
服务器证据目录:`/data/paper-index/collected/acl-early-source-evidence-v1`。五份官方响应均 HTTP 200,另有两份来自既有官方 XML checkout 的文件,已与 Git 对象逐字节核对。未下载论文全文集合;两份 PDF 是本次历史/行政取证资料,不进入论文全文库。
|
||||
|
||||
| 文件 | SHA256 |
|
||||
|---|---|
|
||||
| `acl-venue.html` | `c60f64cb4d72e677aeb84a5844cde28a8d50579e1995f08e8c7801eed1e3fac5` |
|
||||
| `acl-history-1982.pdf` | `35c21bd4983975bcaccbb94bd8ab91c9019fc190feec1791255407cf18a7e49a` |
|
||||
| `acl-1978-notice.pdf` | `14b5deb471c55afb07d789529b95d0462a2a1a77df3dfba7fa1f5d3ab75eb411` |
|
||||
| `tinlap1978-volume.html` | `7e20d709f72f415819e4d17e3674b19dc7d871eabcf0cf8b4935f0392d775729` |
|
||||
| `coling1965-volume.html` | `0d2f2f49f2a311f9c0b80a8832f6476eb32f94f35abf36f6d2f2e10063ac880f` |
|
||||
| `T78.xml` | `f712f94cff0cba05f786b7ac31dad2ea9408fde2a17a04531130df623f57dd84` |
|
||||
| `C65.xml` | `572791610e20b7c6045d984d968e73a18a144bcb5c3da64112001c781826808e` |
|
||||
|
||||
XML commit:`a7be623d01c48c61405dec31c871121cdbed5a01`。测试 fixture `tests/fixtures/acl-t78.xml` 是该原始文件,不是手工模拟论文;不包含 PDF。PDF 哈希建立完整性,不单独证明语义,语义依据是上述具体页面。
|
||||
|
||||
在服务器使用既有命令,固定 checkout 并输出到新目录:
|
||||
|
||||
```sh
|
||||
paper-atlas collect acl \
|
||||
--checkout /data/paper-index/raw/metadata-checkouts/acl-anthology \
|
||||
--collection T78 \
|
||||
--out /data/paper-index/collected/acl-t78-source-v1
|
||||
```
|
||||
|
||||
该命令会校验/更新官方 metadata checkout,实际 commit 必须以生成清单为准;严格重现本次取证时,使用已冻结的 XML 和上述 commit,不把更新后的内容冒充旧快照。不要将无 collection 限制的全部历史输出直接作为增量队列。采集完成不代表导入完成,恢复前先检查当前单元和报告,不因日志安静重启已执行的写入。
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,332 @@
|
||||
{
|
||||
"source_url": "https://aistats.org/other.html",
|
||||
"checked_at": "2026-11-08T07:00:27.535493+00:00",
|
||||
"source_html_sha256": "cc1d6e200d841f53a215e9b3d58fcc1311e8c65166afd37c5350a2f3949a966d",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1985,
|
||||
1989,
|
||||
1991,
|
||||
1993,
|
||||
1995,
|
||||
1997,
|
||||
1999,
|
||||
2001,
|
||||
2003,
|
||||
2005,
|
||||
2007,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"edition_entries": [
|
||||
{
|
||||
"year": 2026,
|
||||
"official_entry": "AISTATS 2026 May 2-5, Tangier, Morocco",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2026",
|
||||
"url": "https://aistats.org/aistats2026/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"official_entry": "AISTATS 2025 May 3 - May 5, Mai Khao, Thailand",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2025",
|
||||
"url": "https://aistats.org/aistats2025/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"official_entry": "AISTATS 2024 May 2 - May 4, Valencia, Spain",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2024",
|
||||
"url": "https://aistats.org/aistats2024/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"official_entry": "AISTATS 2023 April 25-27, Valencia, Spain",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2023",
|
||||
"url": "https://aistats.org/aistats2023/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"official_entry": "AISTATS 2022 March 28-30, Virtual Conference",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2022",
|
||||
"url": "https://aistats.org/aistats2022/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"official_entry": "AISTATS 2021 April 13-15, Virtual Conference",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2021",
|
||||
"url": "https://aistats.org/aistats2021/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"official_entry": "AISTATS 2020 August 26-28, Virtual Meeting",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2020",
|
||||
"url": "https://aistats.org/aistats2020/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"official_entry": "AISTATS 2019 April 16-18, Naha, Okinawa, Japan",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2019",
|
||||
"url": "https://aistats.org/aistats2019/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"official_entry": "AISTATS 2018 April 9-11 Playa Blanca, Lanzarote, Canary Islands",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2018",
|
||||
"url": "https://aistats.org/aistats2018/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"official_entry": "AISTATS 2017 April 20-22, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2017",
|
||||
"url": "https://aistats.org/aistats2017/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"official_entry": "AISTATS 2016 May 9-11, Cadiz, Spain",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2016",
|
||||
"url": "https://aistats.org/aistats2016/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"official_entry": "AISTATS 2015 May 9-12, San Diego, California, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2015",
|
||||
"url": "https://aistats.org/aistats2015/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"official_entry": "AISTATS 2014 April 22-25, Reykjavik, Iceland",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2014",
|
||||
"url": "https://aistats.org/aistats2014/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"official_entry": "AISTATS 2013 April 29-May 1, Scottsdale, Arizona, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2013",
|
||||
"url": "https://aistats.org/aistats2013/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"official_entry": "AISTATS 2012 April 21-23, La Palma, Canary Islands",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2012",
|
||||
"url": "https://aistats.org/aistats2012/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"official_entry": "AISTATS 2011 April 11-13, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2011",
|
||||
"url": "https://aistats.org/aistats2011/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"official_entry": "AISTATS 2010 May 13-15, Chia Laguna Resort, Sardinia, Italy",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2010",
|
||||
"url": "https://aistats.org/aistats2010/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"official_entry": "AISTATS 2009 April 16-18, Hilton Clearwater Beach Resort, Clearwater Beach, Florida USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2009",
|
||||
"url": "https://aistats.org/aistats2009/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"official_entry": "AISTATS 2007 March 21-24, Caribe Hilton Hotel, San Juan, Puerto Rico",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2007",
|
||||
"url": "https://aistats.org/aistats2007/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"official_entry": "AISTATS 2005 January 6-8, The Savanah Hotel, Bridgetown, Barbados",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2005",
|
||||
"url": "https://aistats.org/aistats2005/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"official_entry": "AISTATS 2003 January 1-3, The Hyatt Hotel, Key West, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2003",
|
||||
"url": "https://aistats.org/aistats2003/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"official_entry": "AISTATS 2001 January 3-6, The Hyatt Hotel, Key West, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 2001",
|
||||
"url": "https://aistats.org/aistats2001/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"official_entry": "AISTATS 1999 January 3-6, Radisson Bahia Mar Beach Resort, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 1999",
|
||||
"url": "https://aistats.org/aistats1999/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"official_entry": "AISTATS 1997 January 4-7, Radisson Bahia Mar Beach Resort, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 1997",
|
||||
"url": "https://aistats.org/aistats1997/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"official_entry": "AISTATS 1995 January 4-7, Hyatt Regency Pier 66, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 1995",
|
||||
"url": "https://aistats.org/aistats1995/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"official_entry": "AISTATS 1993 January, Hyatt Regency Pier 66, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 1993",
|
||||
"url": "https://aistats.org/aistats1993/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"official_entry": "AISTATS 1991 January, Hyatt Regency Pier 66, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 1991",
|
||||
"url": "https://aistats.org/aistats1991/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"official_entry": "AISTATS 1989 January 4-7, Hyatt Regency Pier 66, Fort Lauderdale, Florida, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 1989",
|
||||
"url": "https://aistats.org/aistats1989/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"official_entry": "AISTATS 1985 April",
|
||||
"links": [
|
||||
{
|
||||
"text": "AISTATS 1985",
|
||||
"url": "https://aistats.org/aistats1985/"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"scope": "Official conference-year enumeration only. Entry links are recorded as published, not proof that every linked target was fetched or every track/paper/negative decision is covered.",
|
||||
"enumeration_boundary": "Use the 29 actual official meeting entries. Do not fill calendar gaps (including 1987 and 2008) by interpolating the earliest/latest year."
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"source_url": "https://www.cikmconference.org/",
|
||||
"checked_at": "2026-11-08T12:10:20.249437+00:00",
|
||||
"source_representation": "indexed_first_party_history_page_text_returned_by_search_tool",
|
||||
"source_html_sha256": null,
|
||||
"source_extract_sha256": "7fd7e59c30ca60ca01c266352438c5e4fda27be33f3a1ac92b349ea3c7bd730a",
|
||||
"direct_fetch": {
|
||||
"source_url": "https://cikmconference.org/",
|
||||
"error": "<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'cikmconference.org'. (_ssl.c:1081)>"
|
||||
},
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://link.springer.com/book/10.1007/3-540-57419-0",
|
||||
"resolved_url": "https://link.springer.com/book/10.1007/3-540-57419-0?error=cookies_not_supported&code=882fa90f-f443-4ff5-b4bb-0a031701e8f9",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:03:58.690527+00:00",
|
||||
"source_sha256": "e596ea97fc0c1c8297ba549e8972897b8b1027af3554078c1a086f3d214924dc",
|
||||
"source_html_sha256": "e596ea97fc0c1c8297ba549e8972897b8b1027af3554078c1a086f3d214924dc"
|
||||
},
|
||||
{
|
||||
"source_url": "https://cikm2025.org/",
|
||||
"resolved_url": "https://cikm2025.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:06:35.191168+00:00",
|
||||
"source_sha256": "978ad9fa2455841e295b8d67155e5ab7d80558b25be3d76ed3891ebc4fb43a15",
|
||||
"source_html_sha256": "978ad9fa2455841e295b8d67155e5ab7d80558b25be3d76ed3891ebc4fb43a15"
|
||||
},
|
||||
{
|
||||
"source_url": "https://cikm2026.diag.uniroma1.it/",
|
||||
"resolved_url": "https://cikm2026.diag.uniroma1.it/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:06:33.175163+00:00",
|
||||
"source_sha256": "687e250043c7c18f120df4ff2b56257a5885391cb637ea1ab382ea74b327cf64",
|
||||
"source_html_sha256": "687e250043c7c18f120df4ff2b56257a5885391cb637ea1ab382ea74b327cf64"
|
||||
},
|
||||
{
|
||||
"source_url": "https://api.crossref.org/works/10.1145/170088",
|
||||
"resolved_url": "https://api.crossref.org/works/10.1145/170088",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:07:40.960053+00:00",
|
||||
"source_sha256": "660ebc5e235bf6fcbd0cb0f13e983a605fee1cf09f38533f3469f1848e39ae6f"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1992,
|
||||
"source_label": "CIKM '92",
|
||||
"dates_label": "November8–11,1992",
|
||||
"publication_year_of_selected_volume": 1993,
|
||||
"publication_scope": "SpringerLNCS752selectedpapers;notalloriginalproceedings"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_label": "CIKM '93",
|
||||
"dates_label": "November1–5,1993",
|
||||
"doi": "10.1145/170088",
|
||||
"evidence_scope": "ACM-depositedCrossrefproceedingsrecord"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "CIKM 1994",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "CIKM 1995",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "CIKM 1996",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "CIKM 1997",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "CIKM 1998",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "CIKM 1999",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "CIKM 2000",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "CIKM 2001",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "CIKM 2002",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "CIKM 2003",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "CIKM 2004",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "CIKM 2005",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "CIKM 2006",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "CIKM 2007",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "CIKM 2008",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "CIKM 2009",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "CIKM 2010",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "CIKM 2011",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "CIKM 2012",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "CIKM 2013",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "CIKM 2014",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "CIKM 2015",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "CIKM 2016",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "CIKM 2017",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "CIKM 2018",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "CIKM 2019",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "CIKM 2020",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "CIKM 2021",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "CIKM 2022",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "CIKM 2023",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "CIKM 2024",
|
||||
"evidence_scope": "officialhistorydirectorylabel"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "CIKM 2025",
|
||||
"evidence_scope": "officialconferencewebsite"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "CIKM 2026",
|
||||
"dates_label": "November7–11,2026",
|
||||
"event_status_at_cutoff": "ongoing"
|
||||
}
|
||||
],
|
||||
"retrieval_note": "OfficialhistoryTLS hostname mismatch and webtimeout retained; indexed firstpartyhistory31explicitlabels archived separately. NoTLS verification disabled. Publisher1992booktitle andACM-deposited1993eventrecord independentlysupplytwoearlyyears. Historyfuture2027excluded.",
|
||||
"scope": "35expliciteditionyears1992–2026.1992conferenceand1993selected-paperbookpublicationyearkeptseparate;selectedvolumeisnotthecomplete1992proceedings. CIKM2026isongoingNov7–11asofcutoff;availability/individualtrackcompletenessnotinferredfromeventsite. Full/short/applied/resource/demo/PhD/industry/workshoprequireindividualscope;ciKm.orgdomainisnotused."
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"source_url": "https://proceedings.mlr.press/",
|
||||
"checked_at": "2026-11-08T09:00:14.927398+00:00",
|
||||
"source_html_sha256": "6b0c53798d285af02e4425adfd01b51db9d0945e2dc7c92772daa517e8847843",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"publisher_index_years": [
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"url": "https://proceedings.mlr.press/v323/",
|
||||
"publisher_index_label": "Volume 323 Proceedings of CLeaR 2026",
|
||||
"checked_at": "2026-11-08T09:01:38.679644+00:00",
|
||||
"source_html_sha256": "57f28747aa48a7d7c22d951ec7ea63ca725e0d39d7135a309f62e2ad09ffbe44",
|
||||
"event_heading": "Volume 323: Causal Learning and Reasoning, 6-8 April 2026, Broad Institute of MIT and Harvard, Cambridge, USA"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"url": "https://proceedings.mlr.press/v275/",
|
||||
"publisher_index_label": "Volume 275 Proceedings of CLeaR 2025",
|
||||
"checked_at": "2026-11-08T09:01:38.558502+00:00",
|
||||
"source_html_sha256": "c5aafeebab81c47def2ca3f62bed9140c890cc8a2bfc5dca80ad44bf6f2db86d",
|
||||
"event_heading": "Volume 275: Causal Learning and Reasoning, 7-9 May 2025, Lausanne, Switzerland"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"url": "https://proceedings.mlr.press/v236/",
|
||||
"publisher_index_label": "Volume 236 Proceedings of CLeaR 2024",
|
||||
"checked_at": "2026-11-08T09:01:38.730670+00:00",
|
||||
"source_html_sha256": "3f71ca96a2c87880b8cfcb040356d5fb17ba54535d0c9421d6d4622cfce10bb7",
|
||||
"event_heading": "Volume 236: Causal Learning and Reasoning, 1-3 April 2024, Los Angeles, California, USA"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"url": "https://proceedings.mlr.press/v213/",
|
||||
"publisher_index_label": "Volume 213 Proceedings of CLeaR 2023",
|
||||
"checked_at": "2026-11-08T09:01:40.519783+00:00",
|
||||
"source_html_sha256": "7b70177fb388db0f60bdbe0b83fa2505ebed7b24eeb8eb0fc65b008e12c68c95",
|
||||
"event_heading": "Volume 213: Conference on Causal Learning and Reasoning, 11-14 April 2023, Amazon Development Center, Tübingen, Germany"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"url": "https://proceedings.mlr.press/v177/",
|
||||
"publisher_index_label": "Volume 177 Proceedings of CLeaR 2022",
|
||||
"checked_at": "2026-11-08T09:01:39.465244+00:00",
|
||||
"source_html_sha256": "b55542996032f89a89d1edb4a2f5daa1f68c624181721466d4a8dbba2b0e769e",
|
||||
"event_heading": "Volume 177: Conference on Causal Learning and Reasoning, 11-13 April 2022, Sequoia Conference Center, Eureka, CA, USA"
|
||||
}
|
||||
],
|
||||
"first_edition_explicitly_named_by_publisher": true,
|
||||
"announced_not_in_publisher_proceedings_index": [],
|
||||
"scope": "Independent first-edition and all actual publisher-index conference/event-year labels, checked against each volume event heading. No annual interpolation, per-paper/track/abstract completeness or public rejection census. CoRL2026 is separately announced/upcoming and not listed in PMLR index; missing snapshot year does not prove missing published papers."
|
||||
}
|
||||
@@ -0,0 +1,899 @@
|
||||
{
|
||||
"source_url": "https://aclanthology.org/venues/coling/",
|
||||
"resolved_url": "https://aclanthology.org/venues/coling/",
|
||||
"checked_at": "2026-11-08T10:20:25.283166+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "8e7ec0a2915bfbccaa26b7a7558a9cf977c4aadc119794516ecebb826f61623f",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1965,
|
||||
1967,
|
||||
1969,
|
||||
1971,
|
||||
1973,
|
||||
1976,
|
||||
1978,
|
||||
1980,
|
||||
1982,
|
||||
1984,
|
||||
1986,
|
||||
1988,
|
||||
1990,
|
||||
1992,
|
||||
1994,
|
||||
1996,
|
||||
1998,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2006,
|
||||
2008,
|
||||
2010,
|
||||
2012,
|
||||
2014,
|
||||
2016,
|
||||
2018,
|
||||
2020,
|
||||
2022,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"publisher_years": [
|
||||
1965,
|
||||
1967,
|
||||
1969,
|
||||
1973,
|
||||
1980,
|
||||
1982,
|
||||
1984,
|
||||
1986,
|
||||
1988,
|
||||
1990,
|
||||
1992,
|
||||
1994,
|
||||
1996,
|
||||
1998,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2006,
|
||||
2008,
|
||||
2010,
|
||||
2012,
|
||||
2014,
|
||||
2016,
|
||||
2018,
|
||||
2020,
|
||||
2022,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2025,
|
||||
"event_url": "https://aclanthology.org/events/coling-2025/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.coling-main/",
|
||||
"title": "Proceedings of the 31st International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.coling-demos/",
|
||||
"title": "Proceedings of the 31st International Conference on Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.coling-industry/",
|
||||
"title": "Proceedings of the 31st International Conference on Computational Linguistics: Industry Track"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"event_url": "https://aclanthology.org/events/coling-2024/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.lrec-main/",
|
||||
"title": "Proceedings of the 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation (LREC-COLING 2024)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.lrec-tutorials/",
|
||||
"title": "Proceedings of the 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation (LREC-COLING 2024): Tutorial Summaries"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"event_url": "https://aclanthology.org/events/coling-2022/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2022.coling-1/",
|
||||
"title": "Proceedings of the 29th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"event_url": "https://aclanthology.org/events/coling-2020/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2020.coling-main/",
|
||||
"title": "Proceedings of the 28th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2020.coling-demos/",
|
||||
"title": "Proceedings of the 28th International Conference on Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2020.coling-tutorials/",
|
||||
"title": "Proceedings of the 28th International Conference on Computational Linguistics: Tutorial Abstracts"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2020.coling-industry/",
|
||||
"title": "Proceedings of the 28th International Conference on Computational Linguistics: Industry Track"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"event_url": "https://aclanthology.org/events/coling-2018/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C18-1/",
|
||||
"title": "Proceedings of the 27th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C18-2/",
|
||||
"title": "Proceedings of the 27th International Conference on Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C18-3/",
|
||||
"title": "Proceedings of the 27th International Conference on Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"event_url": "https://aclanthology.org/events/coling-2016/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C16-1/",
|
||||
"title": "Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C16-2/",
|
||||
"title": "Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C16-3/",
|
||||
"title": "Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"event_url": "https://aclanthology.org/events/coling-2014/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C14-1/",
|
||||
"title": "Proceedings of COLING 2014, the 25th International Conference on Computational Linguistics: Technical Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C14-2/",
|
||||
"title": "Proceedings of COLING 2014, the 25th International Conference on Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C14-3/",
|
||||
"title": "Proceedings of COLING 2014, the 25th International Conference on Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"event_url": "https://aclanthology.org/events/coling-2012/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C12-1/",
|
||||
"title": "Proceedings of COLING 2012"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C12-2/",
|
||||
"title": "Proceedings of COLING 2012: Posters"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C12-3/",
|
||||
"title": "Proceedings of COLING 2012: Demonstration Papers"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"event_url": "https://aclanthology.org/events/coling-2010/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C10-1/",
|
||||
"title": "Proceedings of the 23rd International Conference on Computational Linguistics (Coling 2010)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C10-2/",
|
||||
"title": "Coling 2010: Posters"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C10-3/",
|
||||
"title": "Coling 2010: Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C10-4/",
|
||||
"title": "Coling 2010: Paraphrases and Applications–Tutorial notes"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C10-5/",
|
||||
"title": "Coling 2010: Kernel Engineering for Fast and Easy Design of Natural Language Applications–Tutorial notes"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"event_url": "https://aclanthology.org/events/coling-2008/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C08-1/",
|
||||
"title": "Proceedings of the 22nd International Conference on Computational Linguistics (Coling 2008)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C08-2/",
|
||||
"title": "Coling 2008: Companion volume: Posters"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C08-3/",
|
||||
"title": "Coling 2008: Companion volume: Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C08-4/",
|
||||
"title": "Coling 2008: Educational Natural Language Processing - Tutorial notes"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C08-5/",
|
||||
"title": "Coling 2008: Advanced Dynamic Programming in Computational Linguistics: Theory, Algorithms and Applications - Tutorial notes"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"event_url": "https://aclanthology.org/events/coling-2006/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/P06-1/",
|
||||
"title": "Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/P06-2/",
|
||||
"title": "Proceedings of the COLING/ACL 2006 Main Conference Poster Sessions"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/P06-3/",
|
||||
"title": "Proceedings of the COLING/ACL 2006 Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/P06-4/",
|
||||
"title": "Proceedings of the COLING/ACL 2006 Interactive Presentation Sessions"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"event_url": "https://aclanthology.org/events/coling-2004/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C04-1/",
|
||||
"title": "COLING 2004: Proceedings of the 20th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"event_url": "https://aclanthology.org/events/coling-2002/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C02-1/",
|
||||
"title": "COLING 2002: The 19th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C02-2/",
|
||||
"title": "COLING 2002: The 17th International Conference on Computational Linguistics: Project Notes"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"event_url": "https://aclanthology.org/events/coling-2000/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C00-1/",
|
||||
"title": "COLING 2000 Volume 1: The 18th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C00-2/",
|
||||
"title": "COLING 2000 Volume 2: The 18th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"event_url": "https://aclanthology.org/events/coling-1998/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C98-1/",
|
||||
"title": "COLING 1998 Volume 1: The 17th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C98-2/",
|
||||
"title": "COLING 1998 Volume 2: The 17th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"event_url": "https://aclanthology.org/events/coling-1996/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C96-1/",
|
||||
"title": "COLING 1996 Volume 1: The 16th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C96-2/",
|
||||
"title": "COLING 1996 Volume 2: The 16th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"event_url": "https://aclanthology.org/events/coling-1994/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C94-1/",
|
||||
"title": "COLING 1994 Volume 1: The 15th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C94-2/",
|
||||
"title": "COLING 1994 Volume 2: The 15th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"event_url": "https://aclanthology.org/events/coling-1992/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C92-1/",
|
||||
"title": "COLING 1992 Volume 1: The 14th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C92-2/",
|
||||
"title": "COLING 1992 Volume 2: The 14th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C92-3/",
|
||||
"title": "COLING 1992 Volume 3: The 14th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C92-4/",
|
||||
"title": "COLING 1992 Volume 4: The 14th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"event_url": "https://aclanthology.org/events/coling-1990/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C90-1/",
|
||||
"title": "COLING 1990 Volume 1: Papers presented to the 13th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C90-2/",
|
||||
"title": "COLING 1990 Volume 2: Papers presented to the 13th International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C90-3/",
|
||||
"title": "COLING 1990 Volume 3: Papers presented to the 13th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"event_url": "https://aclanthology.org/events/coling-1988/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C88-1/",
|
||||
"title": "Coling Budapest 1988 Volume 1: International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C88-2/",
|
||||
"title": "Coling Budapest 1988 Volume 2: International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"event_url": "https://aclanthology.org/events/coling-1986/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C86-1/",
|
||||
"title": "Coling 1986 Volume 1: The 11th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1984,
|
||||
"event_url": "https://aclanthology.org/events/coling-1984/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/P84-1/",
|
||||
"title": "10th International Conference on Computational Linguistics and 22nd Annual Meeting of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1982,
|
||||
"event_url": "https://aclanthology.org/events/coling-1982/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C82-1/",
|
||||
"title": "Coling 1982: Proceedings of the Ninth International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C82-2/",
|
||||
"title": "Coling 1982 Abstracts: Proceedings of the Ninth International Conference on Computational Linguistics Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1980,
|
||||
"event_url": "https://aclanthology.org/events/coling-1980/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C80-1/",
|
||||
"title": "COLING 1980 Volume 1: The 8th International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1973,
|
||||
"event_url": "https://aclanthology.org/events/coling-1973/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C73-1/",
|
||||
"title": "COLING 1973 Volume 1: Computational And Mathematical Linguistics: Proceedings of the International Conference on Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C73-2/",
|
||||
"title": "COLING 1973 Volume 2: Computational And Mathematical Linguistics: Proceedings of the International Conference on Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1969,
|
||||
"event_url": "https://aclanthology.org/events/coling-1969/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-01/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 1"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-02/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 2"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-03/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 3"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-04/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 4"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-05/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 5"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-06/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 6"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-07/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 7"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-08/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 8"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-09/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 9"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-10/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 10"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-11/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 11"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-12/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 12"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-13/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 13"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-14/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 14"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-15/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 15"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-16/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 16"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-17/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 17"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-18/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 18"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-19/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 19"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-20/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 20"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-21/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 21"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-22/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 22"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-23/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 23"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-24/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 24"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-25/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 25"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-26/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 26"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-27/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 27"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-28/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 28"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-29/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 29"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-30/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 30"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-31/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 31"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-32/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 32"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-33/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 33"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-34/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 34"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-35/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 35"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-36/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 36"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-37/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 37"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-38/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 38"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-39/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 39"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-40/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 40"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-41/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 41"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-42/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 42"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-43/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 43"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-44/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 44"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-45/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 45"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-46/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 46"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-47/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 47"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-48/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 48"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-49/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 49"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-50/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 50"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-51/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 51"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-52/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 52"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-53/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 53"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-54/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 54"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-55/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 55"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-56/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 56"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-57/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 57"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-58/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 58"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-59/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 59"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-60/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 60"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-61/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 61"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-62/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 62: Collection of Abstracts of Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-63/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 63"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-64/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 64"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-65/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 65"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-66/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 66"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-67/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 67"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-68/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 68"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-69/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 69: Collection of Abstracts of Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-70/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 70"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-71/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Preprint No. 71"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-72/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-73/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-74/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-75/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-76/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Post-Print I"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-77/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Index to Preprints"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-78/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Bulletin Monday, September 1, 1969"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C69-79/",
|
||||
"title": "International Conference on Computational Linguistics COLING 1969: Bulletin Wednesday, September 3, 1969"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1967,
|
||||
"event_url": "https://aclanthology.org/events/coling-1967/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C67-1/",
|
||||
"title": "COLING 1967 Volume 1: Conference Internationale Sur Le Traitement Automatique Des Langues"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1965,
|
||||
"event_url": "https://aclanthology.org/events/coling-1965/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/C65-1/",
|
||||
"title": "COLING 1965"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"scope": "Actual first-party publisher entries; multiple volumes/tracks do not create extra event years. Year census does not establish per-paper/track/abstract or public rejected-submission completeness. 31actualeventyears1965–2025 from28publisherheadings plus1971/1976/1978 named in contemporary1988frontmatter.2024isLREC-COLINGjoint,2025returnsstandalone/odd-yearschedule. No fabricated2026meeting. JointACL1984/1998/2006 are not additional distinctpaper acceptances; different1998catalogueIDs still require identity review.",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://aclanthology.org/C88-2000.pdf",
|
||||
"resolved_url": "https://aclanthology.org/C88-2000.pdf",
|
||||
"checked_at": "2026-11-08T10:22:01.141425+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "cd878f821b013f142856272b1bb2e993e2a70f45ec57f62c173416db9f5e7e7e",
|
||||
"pdf_page_one_based": 4,
|
||||
"review": "Visually read the complete Previous COLING Conferences list of11 actualevents; PDFpage1 states12thconference1988."
|
||||
},
|
||||
{
|
||||
"source_url": "https://coling2025.org/faqs/",
|
||||
"resolved_url": "https://coling2025.org/faqs/",
|
||||
"checked_at": "2026-11-08T10:22:00.644326+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "21ce11fb7f2deee77315c7e546ae97f0982c5cf4e16950c830005db60a49af1a"
|
||||
}
|
||||
],
|
||||
"early_history_entries": [
|
||||
{
|
||||
"year": 1965,
|
||||
"location": "New York"
|
||||
},
|
||||
{
|
||||
"year": 1967,
|
||||
"location": "Grenoble"
|
||||
},
|
||||
{
|
||||
"year": 1969,
|
||||
"location": "Sånga Säby"
|
||||
},
|
||||
{
|
||||
"year": 1971,
|
||||
"location": "Debrecen"
|
||||
},
|
||||
{
|
||||
"year": 1973,
|
||||
"location": "Pisa"
|
||||
},
|
||||
{
|
||||
"year": 1976,
|
||||
"location": "Ottawa"
|
||||
},
|
||||
{
|
||||
"year": 1978,
|
||||
"location": "Bergen"
|
||||
},
|
||||
{
|
||||
"year": 1980,
|
||||
"location": "Tokyo"
|
||||
},
|
||||
{
|
||||
"year": 1982,
|
||||
"location": "Prague"
|
||||
},
|
||||
{
|
||||
"year": 1984,
|
||||
"location": "Stanford"
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"location": "Bonn"
|
||||
}
|
||||
],
|
||||
"publisher_directory_missing_historical_years": [
|
||||
1971,
|
||||
1976,
|
||||
1978
|
||||
],
|
||||
"source_disagreements": [
|
||||
{
|
||||
"source_url": "https://coling2025.org/faqs/",
|
||||
"issue": "2025FAQ associates Bergen with1976; contemporary1988officialfrontmatter instead lists Ottawa1976 andBergen1978. Prefer contemporary explicitlist for these locations; no originalpaper metadata rewritten."
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"issue": "Publisherproject-notes title says17th while mainvolume says19th. Sameyear remains oneedition; originalvolume title preserved."
|
||||
}
|
||||
],
|
||||
"source_html_sha256": "8e7ec0a2915bfbccaa26b7a7558a9cf977c4aadc119794516ecebb826f61623f"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"source_url": "https://colm.cc/",
|
||||
"checked_at": "2026-11-08T06:51:08.576901+00:00",
|
||||
"source_html_sha256": "2fcea9d2a73cf3d88c09a731fbc4f16314fbb04e81b3506d3c355d14e7a8ae0d",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"year_links": {
|
||||
"2026": [
|
||||
"https://colm.cc/Conferences/2026/index.html"
|
||||
],
|
||||
"2025": [
|
||||
"https://colmweb.org/2025/"
|
||||
],
|
||||
"2024": [
|
||||
"https://colmweb.org/2024/"
|
||||
]
|
||||
},
|
||||
"edition_pages": [
|
||||
{
|
||||
"source_url": "https://colmweb.org/2024/",
|
||||
"checked_at": "2026-11-08T06:51:09.525917+00:00",
|
||||
"source_html_sha256": "d757f26ff2876cac240bc07e0b1dd78638307b9d4fcea3d3c2f848f799e85cf9"
|
||||
},
|
||||
{
|
||||
"source_url": "https://colmweb.org/2025/",
|
||||
"checked_at": "2026-11-08T06:51:11.606331+00:00",
|
||||
"source_html_sha256": "cd82ab43a570aad227dffdb9ea2302b2ab28f73d88e53d6955d49710cd514f62"
|
||||
}
|
||||
],
|
||||
"scope": "Official first-through-third conference enumeration only; no claim of per-track/paper completeness or public rejection coverage."
|
||||
}
|
||||
@@ -0,0 +1,830 @@
|
||||
{
|
||||
"source_url": "https://www.learningtheory.org/",
|
||||
"checked_at": "2026-11-08T07:00:26.440614+00:00",
|
||||
"source_html_sha256": "133586432353e07b6364cd38aea5769936460f58ad31fee654b75116840d500c",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"edition_entries": [
|
||||
{
|
||||
"year": 2027,
|
||||
"official_entry": "COLT 2027",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2027",
|
||||
"url": "http://learningtheory.org/colt2027/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"official_entry": "COLT 1988 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1988.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"official_entry": "COLT 1989 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1989",
|
||||
"url": "https://www.sciencedirect.com/book/9780080948294/colt-89"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1989.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"official_entry": "COLT 1990 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1990",
|
||||
"url": "https://www.sciencedirect.com/book/9781558601468/colt-proceedings-1990"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1990.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"official_entry": "COLT 1991 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1991",
|
||||
"url": "https://www.sciencedirect.com/book/9781558602137/colt"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1991.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"official_entry": "COLT 1992 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1992",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=130385"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1992.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"official_entry": "COLT 1993 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1993",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=168304"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1993.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"official_entry": "COLT 1994 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1994",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=180139"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1994.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"official_entry": "COLT 1995 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1995",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=225298"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1995.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"official_entry": "COLT 1996 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1996",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=238061"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1996.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"official_entry": "COLT 1997 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1997",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=267460"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1997.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"official_entry": "COLT 1998 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1998",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=279943"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1998.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"official_entry": "COLT 1999 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 1999",
|
||||
"url": "http://dl.acm.org/citation.cfm?id=307400"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt1999.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"official_entry": "COLT 2000 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2000",
|
||||
"url": "https://www.learningtheory.org/colt2000/"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2000.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20060202000723/http://www.learningtheory.org/colt2000/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"official_entry": "COLT 2001 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2001",
|
||||
"url": "https://link.springer.com/book/10.1007/3-540-44581-1"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2001.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20061205041150/http://learningtheory.org/colt2001/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"official_entry": "COLT 2002 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2002",
|
||||
"url": "https://link.springer.com/book/10.1007/3-540-45435-7"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2002.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20030208022421/http://www.cse.unsw.edu.au/~colt2002/colt2002.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"official_entry": "COLT 2003 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2003",
|
||||
"url": "https://link.springer.com/book/10.1007/b12006"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2003.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20070519034402/http://learningtheory.org/colt2003/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"official_entry": "COLT 2004 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2004",
|
||||
"url": "https://link.springer.com/book/10.1007/b98522"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2004.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20070703083129/http://www.learningtheory.org/colt2004/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"official_entry": "COLT 2005 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2005",
|
||||
"url": "https://link.springer.com/book/10.1007/b137542"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2005.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20070703134356/http://learningtheory.org/colt2005/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"official_entry": "COLT 2006 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2006",
|
||||
"url": "https://link.springer.com/book/10.1007/11776420"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2006.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20070706001445/http://learningtheory.org/colt2006/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"official_entry": "COLT 2007 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2007",
|
||||
"url": "https://link.springer.com/book/10.1007/978-3-540-72927-3"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2007.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20070807141052/http://www.learningtheory.org/colt2007/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"official_entry": "COLT 2008 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2008",
|
||||
"url": "https://www.learningtheory.org/colt2008/"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2008.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://colt2008.cs.helsinki.fi/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"official_entry": "COLT 2009 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2009",
|
||||
"url": "https://www.learningtheory.org/colt2009/"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2009.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://www.cs.mcgill.ca/~colt2009/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"official_entry": "COLT 2010 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2010",
|
||||
"url": "https://www.learningtheory.org/colt2010/"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2010.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://www.learningtheory.org/colt2010/conference-website/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"official_entry": "COLT 2011 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2011",
|
||||
"url": "https://proceedings.mlr.press/v19/"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2011.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://videolectures.net/colt2011_budapest/"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://www.conferences.hu/colt2011"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"official_entry": "COLT 2012 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2012",
|
||||
"url": "https://proceedings.mlr.press/v23/"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2012.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://www.ttic.edu/colt2012"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"official_entry": "COLT 2013 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2013",
|
||||
"url": "https://proceedings.mlr.press/v30/"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2013.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://videolectures.net/colt2013_princeton/"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20131109133822/https://orfe.princeton.edu/conferences/colt2013"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"official_entry": "COLT 2014 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2014",
|
||||
"url": "https://proceedings.mlr.press/v35"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2014.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://videolectures.net/colt2014_barcelona/"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20141122072429/http://orfe.princeton.edu/conferences/colt2014/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"official_entry": "COLT 2015 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2015",
|
||||
"url": "https://proceedings.mlr.press/v40"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2015.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://videolectures.net/colt2015_paris/"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20240813033833/http://www.learningtheory.org/colt2015/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"official_entry": "COLT 2016 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2016",
|
||||
"url": "https://proceedings.mlr.press/v49"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2016.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYxyz4k3OlafPd9G68v7zDWB"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20170702175829/http://www.learningtheory.org/colt2016/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"official_entry": "COLT 2017 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2017",
|
||||
"url": "https://proceedings.mlr.press/v65"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2017.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYw7U8mH0gCaWNbi3xDejrAH"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20241008042653/http://www.learningtheory.org/colt2017/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"official_entry": "COLT 2018 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2018",
|
||||
"url": "https://proceedings.mlr.press/v75"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2018.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYzMjoGTatLItEhisi5sBNFh"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2018"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"official_entry": "COLT 2019 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2019",
|
||||
"url": "https://proceedings.mlr.press/v99"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2019.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYz4jx6NPdnI_1rP3kj0E3G8"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2019"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"official_entry": "COLT 2020 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2020",
|
||||
"url": "https://proceedings.mlr.press/v125"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2020.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYw4LAGsUrCLamYRnBf9pTTT"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2020"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"official_entry": "COLT 2021 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2021",
|
||||
"url": "https://proceedings.mlr.press/v134"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2021.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYwAnL8ZSYN3c1tprFa9-Qdx"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2021"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"official_entry": "COLT 2022 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2022",
|
||||
"url": "https://proceedings.mlr.press/v178"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2022.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYxoGuHe6kYSSo8ETlzDqrJN"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2022"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"official_entry": "COLT 2023 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2023",
|
||||
"url": "https://proceedings.mlr.press/v195"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2023.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2023"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"official_entry": "COLT 2024 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2024",
|
||||
"url": "https://proceedings.mlr.press/v247"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2024.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2024"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"official_entry": "COLT 2025 dblp videos www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2025",
|
||||
"url": "https://proceedings.mlr.press/v291"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2025.html"
|
||||
},
|
||||
{
|
||||
"text": "videos",
|
||||
"url": "https://www.youtube.com/playlist?list=PLCHBdlWR7RYx9VNiWhgSboOAFfiYubw8u"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2025"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"official_entry": "COLT 2026 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "COLT 2026",
|
||||
"url": "https://proceedings.mlr.press/v336"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/colt/colt2026.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2026"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2027,
|
||||
"official_entry": "COLT 2027 www",
|
||||
"links": [
|
||||
{
|
||||
"text": "www",
|
||||
"url": "http://learningtheory.org/colt2027"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"scope": "Official conference-year enumeration only. Entry links are recorded as published, not proof that every linked target was fetched or every track/paper/negative decision is covered.",
|
||||
"related_series_entries": [
|
||||
{
|
||||
"year": 1993,
|
||||
"official_entry": "EuroCOLT 1993 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.uni-trier.de/db/conf/eurocolt/eurocolt1993.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"official_entry": "EuroCOLT 1995 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "EuroCOLT 1995",
|
||||
"url": "https://link.springer.com/book/10.1007/3-540-59119-2"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.org/db/conf/eurocolt/eurocolt1995.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"official_entry": "EuroCOLT 1997 dblp www",
|
||||
"links": [
|
||||
{
|
||||
"text": "EuroCOLT 1997",
|
||||
"url": "https://link.springer.com/book/10.1007/3-540-62685-9"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.org/db/conf/eurocolt/eurocolt1997.html"
|
||||
},
|
||||
{
|
||||
"text": "www",
|
||||
"url": "https://web.archive.org/web/20000901081649/http://ls2-www.cs.uni-dortmund.de/eurocolt/1997/index.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"official_entry": "EuroCOLT 1999 dblp",
|
||||
"links": [
|
||||
{
|
||||
"text": "EuroCOLT 1999",
|
||||
"url": "https://link.springer.com/book/10.1007/3-540-49097-3"
|
||||
},
|
||||
{
|
||||
"text": "dblp",
|
||||
"url": "https://dblp.org/db/conf/eurocolt/eurocolt1999.html"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"related_series_scope": "EuroCOLT entries retained separately for later source/identity checks; do not count them as another COLT edition in the same year or infer final decisions from titles."
|
||||
}
|
||||
@@ -0,0 +1,480 @@
|
||||
{
|
||||
"source_url": "https://aclanthology.org/venues/conll/",
|
||||
"resolved_url": "https://aclanthology.org/venues/conll/",
|
||||
"checked_at": "2026-11-08T10:20:25.545279+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "a342c627a8a97330fc064a5b3b7d612f917b9d81e07e050ffeb4a2b05d3bf061",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"publisher_years": [
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"event_url": "https://aclanthology.org/events/conll-2026/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2026.conll-main/",
|
||||
"title": "Proceedings of the 30th Conference on Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"event_url": "https://aclanthology.org/events/conll-2025/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.conll-1/",
|
||||
"title": "Proceedings of the 29th Conference on Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"event_url": "https://aclanthology.org/events/conll-2024/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.conll-1/",
|
||||
"title": "Proceedings of the 28th Conference on Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"event_url": "https://aclanthology.org/events/conll-2023/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2023.conll-1/",
|
||||
"title": "Proceedings of the 27th Conference on Computational Natural Language Learning (CoNLL)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"event_url": "https://aclanthology.org/events/conll-2022/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2022.conll-1/",
|
||||
"title": "Proceedings of the 26th Conference on Computational Natural Language Learning (CoNLL)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"event_url": "https://aclanthology.org/events/conll-2021/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.conll-1/",
|
||||
"title": "Proceedings of the 25th Conference on Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"event_url": "https://aclanthology.org/events/conll-2020/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2020.conll-1/",
|
||||
"title": "Proceedings of the 24th Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2020.conll-shared/",
|
||||
"title": "Proceedings of the CoNLL 2020 Shared Task: Cross-Framework Meaning Representation Parsing"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"event_url": "https://aclanthology.org/events/conll-2019/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K19-1/",
|
||||
"title": "Proceedings of the 23rd Conference on Computational Natural Language Learning (CoNLL)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K19-2/",
|
||||
"title": "Proceedings of the Shared Task on Cross-Framework Meaning Representation Parsing at the 2019 Conference on Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"event_url": "https://aclanthology.org/events/conll-2018/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K18-1/",
|
||||
"title": "Proceedings of the 22nd Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K18-2/",
|
||||
"title": "Proceedings of the CoNLL 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K18-3/",
|
||||
"title": "Proceedings of the CoNLL–SIGMORPHON 2018 Shared Task: Universal Morphological Reinflection"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"event_url": "https://aclanthology.org/events/conll-2017/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K17-1/",
|
||||
"title": "Proceedings of the 21st Conference on Computational Natural Language Learning (CoNLL 2017)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K17-2/",
|
||||
"title": "Proceedings of the CoNLL SIGMORPHON 2017 Shared Task: Universal Morphological Reinflection"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K17-3/",
|
||||
"title": "Proceedings of the CoNLL 2017 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"event_url": "https://aclanthology.org/events/conll-2016/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K16-1/",
|
||||
"title": "Proceedings of the 20th SIGNLL Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K16-2/",
|
||||
"title": "Proceedings of the CoNLL-16 shared task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"event_url": "https://aclanthology.org/events/conll-2015/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K15-1/",
|
||||
"title": "Proceedings of the Nineteenth Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/K15-2/",
|
||||
"title": "Proceedings of the Nineteenth Conference on Computational Natural Language Learning - Shared Task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"event_url": "https://aclanthology.org/events/conll-2014/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W14-16/",
|
||||
"title": "Proceedings of the Eighteenth Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W14-17/",
|
||||
"title": "Proceedings of the Eighteenth Conference on Computational Natural Language Learning: Shared Task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"event_url": "https://aclanthology.org/events/conll-2013/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W13-35/",
|
||||
"title": "Proceedings of the Seventeenth Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W13-36/",
|
||||
"title": "Proceedings of the Seventeenth Conference on Computational Natural Language Learning: Shared Task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"event_url": "https://aclanthology.org/events/conll-2012/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/D12-1/",
|
||||
"title": "Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W12-45/",
|
||||
"title": "Joint Conference on EMNLP and CoNLL - Shared Task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"event_url": "https://aclanthology.org/events/conll-2011/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W11-03/",
|
||||
"title": "Proceedings of the Fifteenth Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W11-19/",
|
||||
"title": "Proceedings of the Fifteenth Conference on Computational Natural Language Learning: Shared Task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"event_url": "https://aclanthology.org/events/conll-2010/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W10-29/",
|
||||
"title": "Proceedings of the Fourteenth Conference on Computational Natural Language Learning"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W10-30/",
|
||||
"title": "Proceedings of the Fourteenth Conference on Computational Natural Language Learning – Shared Task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"event_url": "https://aclanthology.org/events/conll-2009/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W09-11/",
|
||||
"title": "Proceedings of the Thirteenth Conference on Computational Natural Language Learning (CoNLL-2009)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W09-12/",
|
||||
"title": "Proceedings of the Thirteenth Conference on Computational Natural Language Learning (CoNLL 2009): Shared Task"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"event_url": "https://aclanthology.org/events/conll-2008/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W08-21/",
|
||||
"title": "CoNLL 2008: Proceedings of the Twelfth Conference on Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"event_url": "https://aclanthology.org/events/conll-2007/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/D07-1/",
|
||||
"title": "Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"event_url": "https://aclanthology.org/events/conll-2006/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W06-29/",
|
||||
"title": "Proceedings of the Tenth Conference on Computational Natural Language Learning (CoNLL-X)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"event_url": "https://aclanthology.org/events/conll-2005/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W05-06/",
|
||||
"title": "Proceedings of the Ninth Conference on Computational Natural Language Learning (CoNLL-2005)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"event_url": "https://aclanthology.org/events/conll-2004/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W04-24/",
|
||||
"title": "Proceedings of the Eighth Conference on Computational Natural Language Learning (CoNLL-2004) at HLT-NAACL 2004"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"event_url": "https://aclanthology.org/events/conll-2003/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W03-04/",
|
||||
"title": "Proceedings of the Seventh Conference on Natural Language Learning at HLT-NAACL 2003"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"event_url": "https://aclanthology.org/events/conll-2002/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W02-20/",
|
||||
"title": "COLING-02: The 6th Conference on Natural Language Learning 2002 (CoNLL-2002)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"event_url": "https://aclanthology.org/events/conll-2001/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W01-07/",
|
||||
"title": "Proceedings of the ACL 2001 Workshop on Computational Natural Language Learning (CoNLL)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"event_url": "https://aclanthology.org/events/conll-2000/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W00-07/",
|
||||
"title": "Fourth Conference on Computational Natural Language Learning and the Second Learning Language in Logic Workshop"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"event_url": "https://aclanthology.org/events/conll-1999/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W99-07/",
|
||||
"title": "EACL 1999: CoNLL-99 Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"event_url": "https://aclanthology.org/events/conll-1998/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W98-12/",
|
||||
"title": "Proceedings of the Joint Conference on New Methods in Language Processing and Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"event_url": "https://aclanthology.org/events/conll-1997/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/W97-10/",
|
||||
"title": "CoNLL97: Computational Natural Language Learning"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"scope": "Actual first-party publisher entries; multiple volumes/tracks do not create extra event years. Year census does not establish per-paper/track/abstract or public rejected-submission completeness. 30 actualeditions1997–2026:officialpreviouslist1997–2025 pluscurrent2026 andpublisherentries; separate shared-taskseries excluded from extraeditioncounts. Named ECML97/MLNet fore-runner is not the1997MadridCoNLLedition. Preserve earlyworkshop titles andtrack evidence rather than blindly relabel allrecords main.",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://www.conll.org/previous-editions",
|
||||
"resolved_url": "https://www.conll.org/previous-editions",
|
||||
"checked_at": "2026-11-08T10:24:23.579938+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "79e9e4342727acd13891103d140b40bc35ab4f3f5beef8b38868dab13c5129f4"
|
||||
},
|
||||
{
|
||||
"source_url": "https://www.conll.org/2026",
|
||||
"resolved_url": "https://www.conll.org/2026",
|
||||
"checked_at": "2026-11-08T10:23:34.920174+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "b4925b839e61d2a9e69b88bad06cca191c2e4bb40d66ea07a5890770ca4e8e02"
|
||||
}
|
||||
],
|
||||
"official_previous_edition_years": [
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"source_html_sha256": "a342c627a8a97330fc064a5b3b7d612f917b9d81e07e050ffeb4a2b05d3bf061"
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"source_url": "https://proceedings.mlr.press/",
|
||||
"checked_at": "2026-11-08T09:00:14.927398+00:00",
|
||||
"source_html_sha256": "6b0c53798d285af02e4425adfd01b51db9d0945e2dc7c92772daa517e8847843",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"publisher_index_years": [
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2025,
|
||||
"url": "https://proceedings.mlr.press/v305/",
|
||||
"publisher_index_label": "Volume 305 Proceedings of CoRL 2025",
|
||||
"checked_at": "2026-11-08T09:01:41.131259+00:00",
|
||||
"source_html_sha256": "6d006392265f4eec3a40cb44a89cf1c9b75d9b2cb393acdf711e91bda0d60e80",
|
||||
"event_heading": "Volume 305: Conference on Robot Learning, 27-30 September 2025, Seoul, Korea"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"url": "https://proceedings.mlr.press/v270/",
|
||||
"publisher_index_label": "Volume 270 Proceedings of CoRL 2024",
|
||||
"checked_at": "2026-11-08T09:01:46.083656+00:00",
|
||||
"source_html_sha256": "9bf9b3c63c131f8779ee3af7e9ffb3950be4e8eed0dd88d5dd75c7e956764bae",
|
||||
"event_heading": "Volume 270: Conference on Robot Learning, 6-9 November 2024, Munich, Germany"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"url": "https://proceedings.mlr.press/v229/",
|
||||
"publisher_index_label": "Volume 229 Proceedings of CoRL 2023",
|
||||
"checked_at": "2026-11-08T09:01:41.859103+00:00",
|
||||
"source_html_sha256": "7411f1baa35bc2034af476079fc14dc7198aea1943979f832c0415e34eb91421",
|
||||
"event_heading": "Volume 229: Conference on Robot Learning, 6-9 November 2023, Atlanta, USA"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"url": "https://proceedings.mlr.press/v205/",
|
||||
"publisher_index_label": "Volume 205 Proceedings of CoRL 2022",
|
||||
"checked_at": "2026-11-08T09:01:42.212859+00:00",
|
||||
"source_html_sha256": "ea69a217883f22500ce1153fc23c6dfa140ffbebb60081945b57baebee5e8db4",
|
||||
"event_heading": "Volume 205: Conference on Robot Learning, 14-18 December 2022, Auckland, New Zealand"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"url": "https://proceedings.mlr.press/v164/",
|
||||
"publisher_index_label": "Volume 164 Proceedings of CoRL 2021",
|
||||
"checked_at": "2026-11-08T09:01:43.424032+00:00",
|
||||
"source_html_sha256": "5dbbb03b4b021f50898b66ce2f9896ef809a2813210e17c1a97809ac36e0bf71",
|
||||
"event_heading": "Volume 164: Conference on Robot Learning, 8-11 November 2021, London, UK"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"url": "https://proceedings.mlr.press/v155/",
|
||||
"publisher_index_label": "Volume 155 Proceedings of CoRL 2020",
|
||||
"checked_at": "2026-11-08T09:01:43.030373+00:00",
|
||||
"source_html_sha256": "80350d6dac2b430312639d7a7c8973e5f5c91e1430c45a50fa7b10b7668b6905",
|
||||
"event_heading": "Volume 155: Conference on Robot Learning, 16-18 November 2020, virtual"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"url": "https://proceedings.mlr.press/v100/",
|
||||
"publisher_index_label": "Volume 100 CoRL 2019",
|
||||
"checked_at": "2026-11-08T09:01:45.269656+00:00",
|
||||
"source_html_sha256": "13c5f8504612969fc76a0547437d5e1ed00f6bc9e5961950dce9bd074e02962c",
|
||||
"event_heading": "Volume 100: Conference on Robot Learning, 30 October to 1 November 2019,"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"url": "https://proceedings.mlr.press/v87/",
|
||||
"publisher_index_label": "Volume 87 CoRL 2018",
|
||||
"checked_at": "2026-11-08T09:01:47.815772+00:00",
|
||||
"source_html_sha256": "9820e3ef1d900d1479a1dd2e90bdbf36d88bd1841cac3c1c23cf1aa4cd548396",
|
||||
"event_heading": "Volume 87: Conference on Robot Learning, 29-31 October 2018,"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"url": "https://proceedings.mlr.press/v78/",
|
||||
"publisher_index_label": "Volume 78 CoRL 2017 Proceedings",
|
||||
"checked_at": "2026-11-08T09:01:47.618892+00:00",
|
||||
"source_html_sha256": "9cf96de10cea85ea94e841861d6a17deccf9d89a0058c991fab7c69ac9a300e9",
|
||||
"event_heading": "Volume 78: Conference on Robot Learning, 13-15 November 2017,"
|
||||
}
|
||||
],
|
||||
"first_edition_explicitly_named_by_publisher": true,
|
||||
"announced_not_in_publisher_proceedings_index": [
|
||||
{
|
||||
"source_url": "https://www.corl.org/",
|
||||
"checked_at": "2026-11-08T09:01:51.370877+00:00",
|
||||
"source_html_sha256": "346f02407c7247f3de4e8124d65c391f8786afe5bdf6c2261de91b34a8ab25d2",
|
||||
"year": 2026,
|
||||
"event_dates": "2026-11-09/2026-11-12",
|
||||
"as_of": "2026-11-08",
|
||||
"state": "announced_upcoming_event_not_in_publisher_proceedings_index"
|
||||
}
|
||||
],
|
||||
"scope": "Independent first-edition and all actual publisher-index conference/event-year labels, checked against each volume event heading. No annual interpolation, per-paper/track/abstract completeness or public rejection census. CoRL2026 is separately announced/upcoming and not listed in PMLR index; missing snapshot year does not prove missing published papers."
|
||||
}
|
||||
@@ -0,0 +1,283 @@
|
||||
{
|
||||
"source_url": "https://www.thecvf.com/?page_id=100",
|
||||
"resolved_url": "https://www.thecvf.com/?page_id=100",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:47:26.989521+00:00",
|
||||
"source_sha256": "59b10db1ad99b8e47871bea22c5739310ce02294d6b34e5a0665bd7b32d1ed64",
|
||||
"source_html_sha256": "59b10db1ad99b8e47871bea22c5739310ce02294d6b34e5a0665bd7b32d1ed64",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1983,
|
||||
1985,
|
||||
1986,
|
||||
1988,
|
||||
1989,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2028,
|
||||
2029,
|
||||
2030,
|
||||
2031
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"location_label": "Denver",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2026"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"location_label": "Nashville",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2025"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"location_label": "Seattle",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2024"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"location_label": "Vancouver",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2023"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"location_label": "New Orleans",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2022"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"location_label": "Virtual",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2021"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"location_label": "Virtual",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2020.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"location_label": "Long Beach",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2019.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"location_label": "Salt Lake City",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2018.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"location_label": "Honolulu",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2017.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"location_label": "Las Vegas",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2016.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"location_label": "Boston",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2015.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"location_label": "Columbus",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2014.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"location_label": "Portland",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/CVPR2013.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"location_label": "Providence",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"location_label": "Colorado Springs",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"location_label": "San Francisco",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"location_label": "Miami",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"location_label": "Anchorage",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"location_label": "Minneapolis",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"location_label": "New York",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"location_label": "San Diego",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"location_label": "Washington D.C.",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"location_label": "Madison",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"location_label": "Kauai",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"location_label": "Hilton Head",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"location_label": "Fort Collins",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"location_label": "Santa Barbara",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"location_label": "San Juan",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"location_label": "San Francisco",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"location_label": "Seattle",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"location_label": "New York",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"location_label": "Champaign",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"location_label": "Lahaina",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"location_label": "San Francisco",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"location_label": "Ann Arbor",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"location_label": "Miami",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"location_label": "San Francisco",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"location_label": "Arlington",
|
||||
"links": []
|
||||
}
|
||||
],
|
||||
"scope": "Explicit rows from CVFcomprehensivepast/futureconference table, filteredat2026; notfirst/lastyear interpolation. Multiple proceedingsvolumes,tracksandfuturebidsdonotcreateextraeventyears. Doesnotproveperpaper/track/abstract/publicnegativecompleteness. Preserve irregular earlyyearlist; do not invent1984/1987/1990/1995/2002 because they fallbetweenfirstandlast. CVFofficialopenaccesslinksbegin2013, sohistoricalpublisheravailabilityisaseparatequestion.2026Findings retainsitsowntrack,notallworkshopproceedingsareFindings."
|
||||
}
|
||||
@@ -0,0 +1,492 @@
|
||||
{
|
||||
"source_url": "https://aclanthology.org/venues/eacl/",
|
||||
"resolved_url": "https://aclanthology.org/venues/eacl/",
|
||||
"checked_at": "2026-11-08T10:20:24.488318+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "d117c304299c40a1c569ebff91056cdb8fdfdb448d3e90a62bc962b31eb01f7d",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1983,
|
||||
1985,
|
||||
1987,
|
||||
1989,
|
||||
1991,
|
||||
1993,
|
||||
1995,
|
||||
1997,
|
||||
1999,
|
||||
2003,
|
||||
2006,
|
||||
2009,
|
||||
2012,
|
||||
2014,
|
||||
2017,
|
||||
2021,
|
||||
2023,
|
||||
2024,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"publisher_years": [
|
||||
1983,
|
||||
1985,
|
||||
1987,
|
||||
1989,
|
||||
1991,
|
||||
1993,
|
||||
1995,
|
||||
1997,
|
||||
1999,
|
||||
2003,
|
||||
2006,
|
||||
2009,
|
||||
2012,
|
||||
2014,
|
||||
2017,
|
||||
2021,
|
||||
2023,
|
||||
2024,
|
||||
2026
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2026/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2026.eacl-long/",
|
||||
"title": "Proceedings of the 19th Conference of the European Chapter of the Association for Computational Linguistics (Volume 1: Long Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2026.eacl-short/",
|
||||
"title": "Proceedings of the 19th Conference of the European Chapter of the Association for Computational Linguistics (Volume 2: Short Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2026.eacl-demo/",
|
||||
"title": "Proceedings of the 19th Conference of the European Chapter of the Association for Computational Linguistics (Volume 3: System Demonstrations)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2026.eacl-srw/",
|
||||
"title": "Proceedings of the 19th Conference of the European Chapter of the Association for Computational Linguistics (Volume 4: Student Research Workshop)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2026.eacl-industry/",
|
||||
"title": "Proceedings of the 19th Conference of the European Chapter of the Association for Computational Linguistics (Volume 5: Industry Track)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2026.eacl-tutorials/",
|
||||
"title": "Proceedings of the 19th Conference of the European Chapter of the Association for Computational Linguistics (Volume 6: Tutorial Abstracts)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2024/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.eacl-long/",
|
||||
"title": "Proceedings of the 18th Conference of the European Chapter of the Association for Computational Linguistics (Volume 1: Long Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.eacl-short/",
|
||||
"title": "Proceedings of the 18th Conference of the European Chapter of the Association for Computational Linguistics (Volume 2: Short Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.eacl-demo/",
|
||||
"title": "Proceedings of the 18th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.eacl-srw/",
|
||||
"title": "Proceedings of the 18th Conference of the European Chapter of the Association for Computational Linguistics: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.eacl-tutorials/",
|
||||
"title": "Proceedings of the 18th Conference of the European Chapter of the Association for Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2023/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2023.eacl-main/",
|
||||
"title": "Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2023.eacl-demo/",
|
||||
"title": "Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2023.eacl-srw/",
|
||||
"title": "Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2023.eacl-tutorials/",
|
||||
"title": "Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2021/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.eacl-main/",
|
||||
"title": "Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: Main Volume"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.eacl-demos/",
|
||||
"title": "Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.eacl-srw/",
|
||||
"title": "Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.eacl-tutorials/",
|
||||
"title": "Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2017/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E17-1/",
|
||||
"title": "Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E17-2/",
|
||||
"title": "Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E17-3/",
|
||||
"title": "Proceedings of the Software Demonstrations of the 15th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E17-4/",
|
||||
"title": "Proceedings of the Student Research Workshop at the 15th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E17-5/",
|
||||
"title": "Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2014/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E14-1/",
|
||||
"title": "Proceedings of the 14th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E14-2/",
|
||||
"title": "Proceedings of the Demonstrations at the 14th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E14-3/",
|
||||
"title": "Proceedings of the Student Research Workshop at the 14th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E14-4/",
|
||||
"title": "Proceedings of the 14th Conference of the European Chapter of the Association for Computational Linguistics, volume 2: Short Papers"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2012/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E12-1/",
|
||||
"title": "Proceedings of the 13th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E12-2/",
|
||||
"title": "Proceedings of the Demonstrations at the 13th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E12-3/",
|
||||
"title": "Proceedings of the Student Research Workshop at the 13th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2009/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E09-1/",
|
||||
"title": "Proceedings of the 12th Conference of the European Chapter of the ACL (EACL 2009)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E09-2/",
|
||||
"title": "Proceedings of the Demonstrations Session at EACL 2009"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E09-3/",
|
||||
"title": "Proceedings of the Student Research Workshop at EACL 2009"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2006/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E06-1/",
|
||||
"title": "11th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E06-2/",
|
||||
"title": "Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E06-3/",
|
||||
"title": "Student Research Workshop"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"event_url": "https://aclanthology.org/events/eacl-2003/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E03-1/",
|
||||
"title": "10th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E03-2/",
|
||||
"title": "Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E03-3/",
|
||||
"title": "Student Research Workshop"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1999/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E99-1/",
|
||||
"title": "Ninth Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1997/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/P97-1/",
|
||||
"title": "35th Annual Meeting of the Association for Computational Linguistics and 8th Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1995/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E95-1/",
|
||||
"title": "Seventh Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1993/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E93-1/",
|
||||
"title": "Sixth Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1991/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E91-1/",
|
||||
"title": "Fifth Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1989/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E89-1/",
|
||||
"title": "Fourth Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1987/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E87-1/",
|
||||
"title": "Third Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1985/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E85-1/",
|
||||
"title": "Second Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"event_url": "https://aclanthology.org/events/eacl-1983/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/E83-1/",
|
||||
"title": "First Conference of the European Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"scope": "Actual first-party publisher entries; multiple volumes/tracks do not create extra event years. Year census does not establish per-paper/track/abstract or public rejected-submission completeness. All19namededitions1983–2026 crosschecked against chapterdirectory; hostedACL2019/2022 are separate from EACLseries.1997explicitjointACL/EACL sharesP97-1.2027excluded; no interpolation across irregular intervals.2021plannedKyiv/heldonline are kept distinct.",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://eacl.org/conferences/",
|
||||
"resolved_url": "https://eacl.org/conferences/",
|
||||
"checked_at": "2026-11-08T10:20:25.447335+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "0ee08d024d3356336de9a2c02c7e214e6d48d97acb9060bfbc360ff510cd34c7"
|
||||
}
|
||||
],
|
||||
"chapter_directory_entries": [
|
||||
{
|
||||
"year": 2027,
|
||||
"label": "EACL 2027",
|
||||
"location_note": "Athens, Greece"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"label": "EACL 2026",
|
||||
"location_note": "Rabat, Morocco"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"label": "EACL 2024",
|
||||
"location_note": "St. Julians, Malta"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"label": "EACL 2023",
|
||||
"location_note": "Dubrovnik, Croatia (hybrid)"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"label": "ACL 2022",
|
||||
"location_note": "Dublin, Ireland"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"label": "EACL 2021",
|
||||
"location_note": "Kyiv, Ukraine (held online)"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"label": "ACL 2019",
|
||||
"location_note": "Florence, Italy"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"label": "EACL 2017",
|
||||
"location_note": "Valencia, Spain"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"label": "EACL 2014",
|
||||
"location_note": "Gothenburg, Sweden"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"label": "EACL 2012",
|
||||
"location_note": "Avignon, France"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"label": "EACL 2009",
|
||||
"location_note": "Athens, Greece"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"label": "EACL 2006",
|
||||
"location_note": "Trento, Italy"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"label": "EACL 2003",
|
||||
"location_note": "Budapest, Hungary"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"label": "EACL 1999",
|
||||
"location_note": "Bergen, Norway"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"label": "EACL-ACL 1997",
|
||||
"location_note": "Madrid, Spain"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"label": "EACL 1995",
|
||||
"location_note": "Dublin, Ireland"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"label": "EACL 1993",
|
||||
"location_note": "Utrecht, The Netherlands"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"label": "EACL 1991",
|
||||
"location_note": "Berlin, Germany"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"label": "EACL 1989",
|
||||
"location_note": "Manchester, England"
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"label": "EACL 1987",
|
||||
"location_note": "Copenhagen, Denmark"
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"label": "EACL 1985",
|
||||
"location_note": "Geneva, Switzerland"
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"label": "EACL 1983",
|
||||
"location_note": "Pisa, Italy"
|
||||
}
|
||||
],
|
||||
"chapter_hosted_acl_years_not_eacl_series_editions": [
|
||||
2022,
|
||||
2019
|
||||
],
|
||||
"source_html_sha256": "d117c304299c40a1c569ebff91056cdb8fdfdb448d3e90a62bc962b31eb01f7d"
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"source_url": "https://www.eurai.org/ecai/history",
|
||||
"resolved_url": "https://www.eurai.org/ecai/history",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:48:38.667782+00:00",
|
||||
"source_sha256": "9d7b1d7a1b9cc22abf8ae981bc421560ae028e484b759bbdc36e32e5f3cb2cff",
|
||||
"source_html_sha256": "9d7b1d7a1b9cc22abf8ae981bc421560ae028e484b759bbdc36e32e5f3cb2cff",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://ecai2025.org/",
|
||||
"resolved_url": "https://ecai2025.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:48:35.786591+00:00",
|
||||
"source_sha256": "485208f9783d26a094832af9dd8f024642528561e29226f29ca3533d2de81bce"
|
||||
},
|
||||
{
|
||||
"source_url": "https://www.eurai.org/ecai",
|
||||
"resolved_url": "https://www.eurai.org/ecai",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:47:36.587944+00:00",
|
||||
"source_sha256": "d9a23a3955947645ac19dbb80bb4aedf99ce19137ad3204acdaccbdc813824ad"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1974,
|
||||
1976,
|
||||
1978,
|
||||
1980,
|
||||
1982,
|
||||
1984,
|
||||
1986,
|
||||
1988,
|
||||
1990,
|
||||
1992,
|
||||
1994,
|
||||
1996,
|
||||
1998,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2006,
|
||||
2008,
|
||||
2010,
|
||||
2012,
|
||||
2014,
|
||||
2016,
|
||||
2018,
|
||||
2020,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"ordinal": 1,
|
||||
"year": 1974,
|
||||
"location_label": "Brighton",
|
||||
"series_label": "AISB predecessor",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"year": 1976,
|
||||
"location_label": "Edinburgh",
|
||||
"series_label": "AISB predecessor",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 3,
|
||||
"year": 1978,
|
||||
"location_label": "Hamburg",
|
||||
"series_label": "AISB predecessor",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 4,
|
||||
"year": 1980,
|
||||
"location_label": "Amsterdam",
|
||||
"series_label": "AISB predecessor",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 5,
|
||||
"year": 1982,
|
||||
"location_label": "Orsay",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 6,
|
||||
"year": 1984,
|
||||
"location_label": "Pisa",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 7,
|
||||
"year": 1986,
|
||||
"location_label": "Brighton",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 8,
|
||||
"year": 1988,
|
||||
"location_label": "Munich",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 9,
|
||||
"year": 1990,
|
||||
"location_label": "Stockholm",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 10,
|
||||
"year": 1992,
|
||||
"location_label": "Vienna",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 11,
|
||||
"year": 1994,
|
||||
"location_label": "Amsterdam",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 12,
|
||||
"year": 1996,
|
||||
"location_label": "Budapest",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 13,
|
||||
"year": 1998,
|
||||
"location_label": "Brighton",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 14,
|
||||
"year": 2000,
|
||||
"location_label": "Berlin",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 15,
|
||||
"year": 2002,
|
||||
"location_label": "Lyon",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 16,
|
||||
"year": 2004,
|
||||
"location_label": "Valencia",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 17,
|
||||
"year": 2006,
|
||||
"location_label": "Riva del Garda",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 18,
|
||||
"year": 2008,
|
||||
"location_label": "Patras",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 19,
|
||||
"year": 2010,
|
||||
"location_label": "Lisboa",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 20,
|
||||
"year": 2012,
|
||||
"location_label": "Montpellier",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 21,
|
||||
"year": 2014,
|
||||
"location_label": "Prague",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 22,
|
||||
"year": 2016,
|
||||
"location_label": "The Hague",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 23,
|
||||
"year": 2018,
|
||||
"location_label": "Stockholm",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": true
|
||||
},
|
||||
{
|
||||
"ordinal": 24,
|
||||
"year": 2020,
|
||||
"location_label": "Santiago de Compostela (online)",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 25,
|
||||
"year": 2022,
|
||||
"location_label": "Vienna",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": true
|
||||
},
|
||||
{
|
||||
"ordinal": 26,
|
||||
"year": 2023,
|
||||
"location_label": "Krakow",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 27,
|
||||
"year": 2024,
|
||||
"location_label": "Santiago de Compostela",
|
||||
"series_label": "ECAI",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 28,
|
||||
"year": 2025,
|
||||
"series_label": "ECAI",
|
||||
"location_label": "Bologna",
|
||||
"joint_with_ijcai": false
|
||||
},
|
||||
{
|
||||
"ordinal": 29,
|
||||
"year": 2026,
|
||||
"series_label": "IJCAI-ECAI",
|
||||
"location_label": "Bremen",
|
||||
"joint_with_ijcai": true
|
||||
}
|
||||
],
|
||||
"predecessor_years": [
|
||||
1974,
|
||||
1976,
|
||||
1978,
|
||||
1980
|
||||
],
|
||||
"scope": "Officialhistoryenumerates27actualeditions1974–2024;currentofficial28th2025and29thjoint2026sourcesextendto29. FirstfourwereAISBconferencesretrospectivelynumberedinthefamily;ECAInamefirstused1982. PreserveoriginalAISBsource names,notimplicitrenaming. JointIJCAI2018/2022/2026areoneeventperyear,notadditionalpapers;2023onannualonlyasactualentries. Earlypredecessors,perpapertracksandpublicnegativecoverage stillneedindependentcollection."
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"source_url": "https://www.thecvf.com/?page_id=100",
|
||||
"resolved_url": "https://www.thecvf.com/?page_id=100",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:47:26.989521+00:00",
|
||||
"source_sha256": "59b10db1ad99b8e47871bea22c5739310ce02294d6b34e5a0665bd7b32d1ed64",
|
||||
"source_html_sha256": "59b10db1ad99b8e47871bea22c5739310ce02294d6b34e5a0665bd7b32d1ed64",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1990,
|
||||
1992,
|
||||
1994,
|
||||
1996,
|
||||
1998,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2006,
|
||||
2008,
|
||||
2010,
|
||||
2012,
|
||||
2014,
|
||||
2016,
|
||||
2018,
|
||||
2020,
|
||||
2022,
|
||||
2024,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"location_label": "Malmö",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"location_label": "Milan",
|
||||
"links": [
|
||||
"https://www.ecva.net/papers.php"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"location_label": "Tel Aviv",
|
||||
"links": [
|
||||
"https://www.ecva.net/papers.php"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"location_label": "Edinburgh",
|
||||
"links": [
|
||||
"https://www.ecva.net/papers.php"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"location_label": "Munich",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/ECCV2018.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"location_label": "Amsterdam",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"location_label": "Zurich",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"location_label": "Florence",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"location_label": "Hersonissos",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"location_label": "Marseille",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"location_label": "Graz",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"location_label": "Prague",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"location_label": "Copenhagen",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"location_label": "Dublin",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"location_label": "Freiburg",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"location_label": "Cambridge",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"location_label": "Stockholm",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"location_label": "Santa Margherita Ligure",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"location_label": "Antibes",
|
||||
"links": []
|
||||
}
|
||||
],
|
||||
"scope": "Explicit rows from CVFcomprehensivepast/futureconference table, filteredat2026; notfirst/lastyear interpolation. Multiple proceedingsvolumes,tracksandfuturebidsdonotcreateextraeventyears. Doesnotproveperpaper/track/abstract/publicnegativecompleteness. CVFexplicitlylists1990–2026; ECVAoverviewlistsonly2004–2024 andlabelsitslistpartial.2026websiteconfirmscurrentedition; proceedingavailabilitynotinferredfromeventlisting. Workshop/demo/contributiontype remainindependent.",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://www.ecva.net/",
|
||||
"resolved_url": "https://www.ecva.net/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:47:22.058487+00:00",
|
||||
"source_sha256": "c1946548b87a08a6381bf8ab409f35bc18ede20d3e09b6152b8e147a629386da"
|
||||
},
|
||||
{
|
||||
"source_url": "https://eccv.ecva.net/Conferences/2026",
|
||||
"resolved_url": "https://eccv.ecva.net/Conferences/2026",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:48:37.796019+00:00",
|
||||
"source_sha256": "4a8dfff82350066c696247f62baf8069af49368135827fca95cdfc1be8953967"
|
||||
}
|
||||
],
|
||||
"source_disagreements": [
|
||||
{
|
||||
"year": 2020,
|
||||
"cvf_location_label": "Edinburgh",
|
||||
"ecva_location_label": "Glasgow, Scotland",
|
||||
"interpretation": "Retain firstparty directory disagreement; no venue metadata rewritten or actualinpersonlocationinferred."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,432 @@
|
||||
{
|
||||
"source_url": "https://www.ecmlpkdd2011.org/pastConferences.php",
|
||||
"resolved_url": "https://www.ecmlpkdd2011.org/pastConferences.php",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:03:53.988202+00:00",
|
||||
"source_sha256": "c3ecdb032aeacf6a365aace5457773827d1405872ad9bc6be6fc05851d5e68d6",
|
||||
"source_html_sha256": "c3ecdb032aeacf6a365aace5457773827d1405872ad9bc6be6fc05851d5e68d6",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://ecmlpkdd.org/",
|
||||
"resolved_url": "https://ecmlpkdd.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:03:53.009253+00:00",
|
||||
"source_sha256": "d390dbba8ae6142d828b10eee646dc0a70cf744dabdd200dd419ea281a23ff23",
|
||||
"source_html_sha256": "d390dbba8ae6142d828b10eee646dc0a70cf744dabdd200dd419ea281a23ff23"
|
||||
},
|
||||
{
|
||||
"source_url": "https://www.ecmlpkdd2011.org/",
|
||||
"resolved_url": "https://www.ecmlpkdd2011.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:06:35.511744+00:00",
|
||||
"source_sha256": "ad5b311ec3e17173615e092b436f740a27114fcbd4272e6d659f78ebc2a7c809",
|
||||
"source_html_sha256": "ad5b311ec3e17173615e092b436f740a27114fcbd4272e6d659f78ebc2a7c809"
|
||||
},
|
||||
{
|
||||
"source_url": "https://ecmlpkdd.org/2026/",
|
||||
"resolved_url": "https://ecmlpkdd.org/2026/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:06:36.806556+00:00",
|
||||
"source_sha256": "6c8d1ce8f13698f377304104f4ed887952776928ac5e2dcf07e859c5d0aa445c",
|
||||
"source_html_sha256": "6c8d1ce8f13698f377304104f4ed887952776928ac5e2dcf07e859c5d0aa445c"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1991,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1986,
|
||||
"source_series": "EWSL",
|
||||
"source_label": "EWSL 1986, Orsay, France, February 3-4, 1986",
|
||||
"census_event_key": "ewsl:1986"
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"source_series": "EWSL",
|
||||
"source_label": "EWSL 1987, Bled, Yugoslavia, May 13-15, 1987",
|
||||
"census_event_key": "ewsl:1987"
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"source_series": "EWSL",
|
||||
"source_label": "EWSL 1988, Glasgow, Scotland, UK, October 3-5, 1988",
|
||||
"census_event_key": "ewsl:1988"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"source_series": "EWSL",
|
||||
"source_label": "EWSL 1989, Montpellier, France, December 4-6, 1989",
|
||||
"census_event_key": "ewsl:1989"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"source_series": "EWSL",
|
||||
"source_label": "EWSL 1991, Porto, Portugal, March 6-8, 1991",
|
||||
"census_event_key": "ewsl:1991"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_series": "ECML",
|
||||
"source_label": "ECML 1993, Vienna, Austria, April 5-7, 1993",
|
||||
"census_event_key": "ecml:1993"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_series": "ECML",
|
||||
"source_label": "ECML 1994, Catania, Italy, April 6-8, 1994",
|
||||
"census_event_key": "ecml:1994"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_series": "ECML",
|
||||
"source_label": "ECML 1995, Heraclion, Crete, Greece, April 25-27, 1995",
|
||||
"census_event_key": "ecml:1995"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_series": "ECML",
|
||||
"source_label": "ECML 1997, located in Prague, Czech Republic, April 23-26, 1997",
|
||||
"census_event_key": "ecml:1997"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_series": "PKDD",
|
||||
"source_label": "PKDD 1997, Trondheim, Norway, June 24-27, 1997",
|
||||
"census_event_key": "pkdd:1997"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_series": "ECML",
|
||||
"source_label": "ECML 1998, Chemnitz, Germany, April 21-24, 1998",
|
||||
"census_event_key": "ecml:1998"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_series": "PKDD",
|
||||
"source_label": "PKDD 1998, Nantes, France, September 23-26, 1998",
|
||||
"census_event_key": "pkdd:1998"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_series": "PKDD",
|
||||
"source_label": "PKDD 1999, Prague, Czech Republic, September 15-18, 1999",
|
||||
"census_event_key": "pkdd:1999"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_series": "ECML",
|
||||
"source_label": "ECML 2000, Barcelona, Spain, May 30-June 2, 2000",
|
||||
"census_event_key": "ecml:2000"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_series": "PKDD",
|
||||
"source_label": "PKDD 2000, Lyon, France, September 13-16, 2000",
|
||||
"census_event_key": "pkdd:2000"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2001, Freiburg, Germany, September 3-7, 2001",
|
||||
"census_event_key": "ecml-pkdd:2001"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2002, Helsinki, Finland, August 19-23, 2002",
|
||||
"census_event_key": "ecml-pkdd:2002"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2003, Cavtat/Dubrovnik, Croatia, September 22-26, 2003",
|
||||
"census_event_key": "ecml-pkdd:2003"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2004, Pisa, Italy, September 20-24, 2004",
|
||||
"census_event_key": "ecml-pkdd:2004"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2005, Porto, Portugal, October 3-7, 2005",
|
||||
"census_event_key": "ecml-pkdd:2005"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2006, Berlin, Germany, September 18-22, 2006",
|
||||
"census_event_key": "ecml-pkdd:2006"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2007, Warsaw, Poland, September 17-21, 2007",
|
||||
"census_event_key": "ecml-pkdd:2007"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2008, Antwerp, Belgium September 15-19, 2008",
|
||||
"census_event_key": "ecml-pkdd:2008"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2009, Bled, Slovenia, September 7-11, 2009",
|
||||
"census_event_key": "ecml-pkdd:2009"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML-PKDD 2010, Barcelona, Catalonia, Spain, September 20-24, 2010",
|
||||
"census_event_key": "ecml-pkdd:2010"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2011",
|
||||
"census_event_key": "ecml-pkdd:2011",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2012",
|
||||
"census_event_key": "ecml-pkdd:2012",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2013",
|
||||
"census_event_key": "ecml-pkdd:2013",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2014",
|
||||
"census_event_key": "ecml-pkdd:2014",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2015",
|
||||
"census_event_key": "ecml-pkdd:2015",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2016",
|
||||
"census_event_key": "ecml-pkdd:2016",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2017",
|
||||
"census_event_key": "ecml-pkdd:2017",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2018",
|
||||
"census_event_key": "ecml-pkdd:2018",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2019",
|
||||
"census_event_key": "ecml-pkdd:2019",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2020",
|
||||
"census_event_key": "ecml-pkdd:2020",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2021",
|
||||
"census_event_key": "ecml-pkdd:2021",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2022",
|
||||
"census_event_key": "ecml-pkdd:2022",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2023",
|
||||
"census_event_key": "ecml-pkdd:2023",
|
||||
"evidence_scope": "officialOldSite.datesJSONarray"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2024",
|
||||
"census_event_key": "ecml-pkdd:2024",
|
||||
"evidence_scope": "officialcurrenteventorrecentsitelist"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2025",
|
||||
"census_event_key": "ecml-pkdd:2025",
|
||||
"evidence_scope": "officialcurrenteventorrecentsitelist"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_series": "ECML-PKDD",
|
||||
"source_label": "ECML PKDD 2026",
|
||||
"census_event_key": "ecml-pkdd:2026",
|
||||
"evidence_scope": "officialcurrenteventorrecentsitelist"
|
||||
}
|
||||
],
|
||||
"event_count": 41,
|
||||
"multiple_events_in_same_year": {
|
||||
"1997": [
|
||||
"ECML",
|
||||
"PKDD"
|
||||
],
|
||||
"1998": [
|
||||
"ECML",
|
||||
"PKDD"
|
||||
],
|
||||
"2000": [
|
||||
"ECML",
|
||||
"PKDD"
|
||||
]
|
||||
},
|
||||
"predecessor_years": [
|
||||
1991,
|
||||
1989,
|
||||
1988,
|
||||
1987,
|
||||
1986
|
||||
],
|
||||
"scope": "41expliciteventsacross38years1986–2026. FiveEWSLpredecessors1986/1987/1988/1989/1991retainnames;ECMLnamefrom1993,PKDDfrom1997,andco-locationfrom2001. No1990/1992/1996interpolation. SeparateECML/PKDDeventsin1997/1998/2000arenotonehistoricalconference. OnlyOldSite.datesJSONparsedwithoutJSexecution;currentrecentyearsindependentlymatch. MultipleLNCSvolumes,journaltrackandADS/research/workshopsnotduplicateeventacceptances.",
|
||||
"existing_event_identity_preflight": {
|
||||
"snapshot_at": "2026-11-08 12:13:48.722149+00:00",
|
||||
"report_path": "/data/paper-index/collected/same-year-event-preflight-v1.json",
|
||||
"report_sha256": "50e213d5fdc194ae4fee8b74059252fa3f6f9a3bb2d2b593993ba1b95636e3b5",
|
||||
"database_written": false,
|
||||
"scope": "Read-onlyrepeatablereadmatchingvenues+fiveyears; notfinaldedupaudit.",
|
||||
"status": "existing_separate_venue_identity_verified_preserve",
|
||||
"venues": [
|
||||
{
|
||||
"id": 30,
|
||||
"acronym": "ECML"
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"acronym": "PKDD"
|
||||
}
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"id": 641,
|
||||
"venue_id": 30,
|
||||
"acronym": "ECML",
|
||||
"year": 1997,
|
||||
"track": "main",
|
||||
"submissions": 33
|
||||
},
|
||||
{
|
||||
"id": 642,
|
||||
"venue_id": 30,
|
||||
"acronym": "ECML",
|
||||
"year": 1998,
|
||||
"track": "main",
|
||||
"submissions": 48
|
||||
},
|
||||
{
|
||||
"id": 643,
|
||||
"venue_id": 30,
|
||||
"acronym": "ECML",
|
||||
"year": 2000,
|
||||
"track": "main",
|
||||
"submissions": 45
|
||||
},
|
||||
{
|
||||
"id": 1053,
|
||||
"venue_id": 47,
|
||||
"acronym": "PKDD",
|
||||
"year": 1997,
|
||||
"track": "main",
|
||||
"submissions": 43
|
||||
},
|
||||
{
|
||||
"id": 1054,
|
||||
"venue_id": 47,
|
||||
"acronym": "PKDD",
|
||||
"year": 1998,
|
||||
"track": "main",
|
||||
"submissions": 56
|
||||
},
|
||||
{
|
||||
"id": 1056,
|
||||
"venue_id": 47,
|
||||
"acronym": "PKDD",
|
||||
"year": 2000,
|
||||
"track": "main",
|
||||
"submissions": 86
|
||||
}
|
||||
],
|
||||
"interpretation": "ExistingECMLandPKDDsameyeareventsaredistinctvenue/editionIDsandhaveindependentDBLPvolumeanchors. Noidentitymigrationneededfortheseexistingrecords. Keepseparatecanonicalvenues; familyquerymembershipdoesnotmeanoneevent. Earlierconstraint-onlyriskinferencewastoobroad."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,621 @@
|
||||
{
|
||||
"source_url": "https://sigdat.org/events",
|
||||
"checked_at": "2026-11-08T07:00:27.310733+00:00",
|
||||
"source_html_sha256": "5988b322cd329b9ff4eb10af701f40201fc6e2c394422e48b4f20357ace50769",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"edition_entries": [
|
||||
{
|
||||
"year": 2026,
|
||||
"official_heading": "2026 Conference on Empirical Methods in Natural Language Processing (EMNLP 2026)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"official_heading": "2025 Conference on Empirical Methods in Natural Language Processing (EMNLP 2023)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"official_heading": "2024 Conference on Empirical Methods in Natural Language Processing (EMNLP 2023)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"official_heading": "2023 Conference on Empirical Methods in Natural Language Processing (EMNLP 2023)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"official_heading": "2022 Conference on Empirical Methods in Natural Language Processing (EMNLP 2022)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"official_heading": "2021 Conference on Empirical Methods in Natural Language Processing (EMNLP 2021)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"official_heading": "2020 Conference on Empirical Methods in Natural Language Processing (EMNLP 2020)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"official_heading": "2020 Conference on Empirical Methods in Natural Language Processing and 9th International Joint Conference on Natural Language Processing (EMNLP 2020)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"official_heading": "2019 Conference on Empirical Methods in Natural Language Processing and 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP 2019)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"official_heading": "2018 Conference on Empirical Methods in Natural Language Processing (EMNLP 2018)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"official_heading": "2017 Conference on Empirical Methods in Natural Language Processing (EMNLP 2015)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"official_heading": "2016 Conference on Empirical Methods in Natural Language Processing (EMNLP 2015)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"official_heading": "2015 Conference on Empirical Methods in Natural Language Processing (EMNLP 2015)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"official_heading": "2014 Conference on Empirical Methods in Natural Language Processing (EMNLP 2014)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"official_heading": "2013 Conference on Empirical Methods in Natural Language Processing (EMNLP 2013)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"official_heading": "2012 Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL 2012)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"official_heading": "2011 Conference on Empirical Methods in Natural Language Processing (EMNLP 2011)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"official_heading": "2010 Conference on Empirical Methods in Natural Language Processing (EMNLP 2010)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"official_heading": "2009 Conference on Empirical Methods in Natural Language Processing (EMNLP 2009)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"official_heading": "2008 Conference on Empirical Methods in Natural Language Processing (EMNLP 2008)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"official_heading": "2007 Joint Conference on Empirical Methods in Natural Language Processing and Natural Langauge Learning (EMNLP-CoNLL 2007)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"official_heading": "2006 Conference on Empirical Methods in Natural Language Processing (EMNLP 2006)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"official_heading": "2005 Joint Conference on Human Language Technology and Empirical Methods in Natural Language Processing (HLT-EMNLP 2005)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"official_heading": "2004 Conference on Empirical Methods in Natural Language Processing (EMNLP 2004)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"official_heading": "2003 Conference on Empirical Methods in Natural Language Processing (EMNLP 2003)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"official_heading": "2002 Conference on Empirical Methods in Natural Language Processing (EMNLP 2002)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"official_heading": "2001 Conference on Empirical Methods in Natural Language Processing (EMNLP 2001)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"official_heading": "2000 Joint SIGDAT Conference on Empirical Methods in NLP and Very Large Corpora (EMNLP/VLC 2000)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"official_heading": "1999 Joint SIGDAT Conference on Empirical Methods in NLP and Very Large Corpora (EMNLP/VLC 1999)",
|
||||
"year_basis": "leading heading year"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"official_heading": "3rd Conference on Empirical Methods in Natural Language Processing (EMNLP-3)",
|
||||
"year_basis": "dated body following numbered/first EMNLP heading"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"official_heading": "2nd Conference on Empirical Methods in Natural Language Processing (EMNLP-2)",
|
||||
"year_basis": "dated body following numbered/first EMNLP heading"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"official_heading": "First Conference on Empirical Methods in Natural Language Processing",
|
||||
"year_basis": "dated body following numbered/first EMNLP heading"
|
||||
}
|
||||
],
|
||||
"related_event_headings_excluded_from_emnlp_year_count": [
|
||||
"Sixth Workshop on Very Large Corpora (WVLC-6)",
|
||||
"Fifth Workshop on Very Large Corpora (WVLC-5) - August 18-20, 1997",
|
||||
"Fourth Workshop on Very Large Corpora (WVLC-4) at COLING-96",
|
||||
"Third Workshop on Very Large Corpora (WVLC-3) at ACL-95",
|
||||
"EACL-95 SIGDAT Workshop: From Text to Tags",
|
||||
"Second Workshop on Very Large Corpora (WVLC-2) at COLING-94 (Kyoto)",
|
||||
"First Workshop on Very Large Corpora (WVLC-1) at ACL-93 (Columbus, Ohio)"
|
||||
],
|
||||
"archive_links": [
|
||||
{
|
||||
"text": "SIGDAT",
|
||||
"url": "https://sigdat.org/"
|
||||
},
|
||||
{
|
||||
"text": "About",
|
||||
"url": "https://sigdat.org/about"
|
||||
},
|
||||
{
|
||||
"text": "Organization",
|
||||
"url": "https://sigdat.org/organization"
|
||||
},
|
||||
{
|
||||
"text": "Constitution",
|
||||
"url": "https://sigdat.org/constitution"
|
||||
},
|
||||
{
|
||||
"text": "Information",
|
||||
"url": "https://sigdat.org/information"
|
||||
},
|
||||
{
|
||||
"text": "Calls",
|
||||
"url": "https://sigdat.org/calls/bids2025"
|
||||
},
|
||||
{
|
||||
"text": "Videos",
|
||||
"url": "https://sigdat.org/videos"
|
||||
},
|
||||
{
|
||||
"text": "Past Events",
|
||||
"url": "https://sigdat.org/events"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2026.emnlp.org"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2025.emnlp.org"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://aclanthology.org/events/emnlp-2025/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2024.emnlp.org"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://aclanthology.org/events/emnlp-2024/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2023.emnlp.org/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2023/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2022.emnlp.org/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2022/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2021.emnlp.org/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2021/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2020.emnlp.org/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2020/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2020.emnlp.org/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2020/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://www.emnlp-ijcnlp2019.org"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2019/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://2018.emnlp.org/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2018/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://www.emnlp2017.net"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2017/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://www.aclweb.org/mirror/emnlp2016/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2016/"
|
||||
},
|
||||
{
|
||||
"text": "Culturgest",
|
||||
"url": "http://www.culturgest.pt/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://www.emnlp2015.org"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2015/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://www.emnlp2014.org"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2014/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://hum.csse.unimelb.edu.au/emnlp2013/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2013/"
|
||||
},
|
||||
{
|
||||
"text": "Poster",
|
||||
"url": "http://www.cs.jhu.edu/~yarowsky/EMNLP-CoNLL-2012.jpg"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://emnlp-conll2012.unige.ch/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2012/"
|
||||
},
|
||||
{
|
||||
"text": "Poster",
|
||||
"url": "http://www.cs.jhu.edu/~yarowsky/emnlp-2011.jpg"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://conferences.inf.ed.ac.uk/emnlp2011/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2011/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://www.lsi.upc.edu/events/emnlp2010/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2010/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://conferences.inf.ed.ac.uk/emnlp09/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2009/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://conferences.inf.ed.ac.uk/emnlp08/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2008/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://cs.jhu.edu/EMNLP-CoNLL-2007/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2007/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://nlp.stanford.edu/emnlp06"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2006/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "http://www.cs.utexas.edu/~ml/HLT-EMNLP05"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2005/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://web.archive.org/web/20041208220224/http://www.cs.ualberta.ca/~lindek/emnlp04"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2004/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://web.archive.org/web/20031203134359/http://www.ai.mit.edu/people/mcollins/emnlp03.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2003/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://web.archive.org/web/20021209092212/http://ufal.ms.mff.cuni.cz/~hajic/emnlp02/"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2002/"
|
||||
},
|
||||
{
|
||||
"text": "Website",
|
||||
"url": "https://web.archive.org/web/20011101075859/http://www.cs.cornell.edu/home/llee/emnlp.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2001/"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/20011128122922/http://www-csli.stanford.edu/~schuetze/finalprogram.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/20011128105606/http://www-csli.stanford.edu/~schuetze/emnlp-vlc2000.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-2000/"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/20001208024200/http://www.ee.ust.hk:80/~pascale/emnlpwvlc99_program.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/20001014101735/http://www.ee.ust.hk:80/~pascale/emnlpwvlc99-final.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-1999/"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/19990429022549/http://coling-acl98.iro.umontreal.ca/WVLC6_prog.en.html"
|
||||
},
|
||||
{
|
||||
"text": "Registration",
|
||||
"url": "https://web.archive.org/web/19991106060156/http://coling-acl98.iro.umontreal.ca/Fees.en.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/19991103110053/http://www.cs.jhu.edu/~yarowsky/wvlc6.html"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/19990225093521/http://www.cs.vassar.edu/~ide/papers.html"
|
||||
},
|
||||
{
|
||||
"text": "Registration",
|
||||
"url": "https://web.archive.org/web/19990504092315/http://www.cs.vassar.edu/~ide/registration.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/19990429050846/http://www.cs.vassar.edu/~ide/emnlp3.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-1998/"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/19970805000114/http://www.cs.cornell.edu/Info/People/cardie/emnlp2.html"
|
||||
},
|
||||
{
|
||||
"text": "Registration",
|
||||
"url": "https://web.archive.org/web/19970805000114/http://www.cs.cornell.edu/Info/People/cardie/emnlp2.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/19970805000114/http://www.cs.cornell.edu/Info/People/cardie/emnlp2.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/events/emnlp-1997/"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/19991104192207/http://www.lexis-nexis.com:80/WVLC-5/final.html"
|
||||
},
|
||||
{
|
||||
"text": "Registration",
|
||||
"url": "https://web.archive.org/web/19991010145622/http://www.lexis-nexis.com:80/WVLC-5/regform.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/19991010072858/http://www.lexis-nexis.com:80/WVLC-5/2ndpap.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/W/W97/#0100"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/19990218074412/http://www.ling.umu.se:80/WVLC-4/program.html"
|
||||
},
|
||||
{
|
||||
"text": "Registration",
|
||||
"url": "https://web.archive.org/web/19991014043712/http://www.ling.umu.se:80/WVLC-4/coling-reg.txt"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/19991014033008/http://www.ling.umu.se:80/WVLC-4/2ndcfp.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "http://www.aclweb.org/anthology/W/W96/#0100/"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/20010609141717/http://www.cis.upenn.edu:80/~yarowsky/Conf_on_Emp_Meth.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "http://www.aclweb.org/anthology/W/W96/#0200/"
|
||||
},
|
||||
{
|
||||
"text": "Program & Registration",
|
||||
"url": "https://web.archive.org/web/20010606230356/http://www.cis.upenn.edu:80/~yarowsky/wvlc3.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/20010609145326/http://www.cis.upenn.edu:80/~yarowsky/wvlc3_cfp.html"
|
||||
},
|
||||
{
|
||||
"text": "Proceedings",
|
||||
"url": "https://www.aclweb.org/anthology/W/W95/#0100"
|
||||
},
|
||||
{
|
||||
"text": "Program",
|
||||
"url": "https://web.archive.org/web/20010609143300/http://www.cis.upenn.edu:80/~yarowsky/eacl_sigdat_prog.html"
|
||||
},
|
||||
{
|
||||
"text": "Registration",
|
||||
"url": "https://web.archive.org/web/20010408030721/http://www.cis.upenn.edu:80/~yarowsky/eacl_sigdat_reg.html"
|
||||
},
|
||||
{
|
||||
"text": "Call for papers",
|
||||
"url": "https://web.archive.org/web/20010406122325/http://www.cis.upenn.edu:80/~yarowsky/eacl_sigdat_cfp.html"
|
||||
},
|
||||
{
|
||||
"text": "Feed",
|
||||
"url": "https://sigdat.org/feed.xml"
|
||||
},
|
||||
{
|
||||
"text": "Jekyll",
|
||||
"url": "https://jekyllrb.com"
|
||||
},
|
||||
{
|
||||
"text": "Minimal Mistakes",
|
||||
"url": "https://mademistakes.com/work/minimal-mistakes-jekyll-theme/"
|
||||
}
|
||||
],
|
||||
"source_issues": [
|
||||
"2024/2025 headings retain parenthetical EMNLP 2023; use leading year only for edition enumeration, not as repaired source text.",
|
||||
"2026 heading lists a 2023 date; event dates remain untrusted here.",
|
||||
"2016/2017 headings retain parenthetical EMNLP 2015.",
|
||||
"2020 appears twice, one entry retaining 9th IJCNLP text; count one EMNLP year and do not create a new joint event from this typo.",
|
||||
"2023 location disagrees with the actual EMNLP2023 official homepage (Singapore); do not import history-page locations."
|
||||
],
|
||||
"scope": "Year enumeration only, preserving joint edition headings and separate WVLC events. Dates/locations/parenthetical labels contain source conflicts and are not imported as metadata. No per-track/paper or negative completeness claim."
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"source_url": "https://facctconference.org/",
|
||||
"resolved_url": "https://facctconference.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:37:54.104171+00:00",
|
||||
"source_html_sha256": "dfe181a34da6ac39e456440e85014625c9a0d6295cf73a19fab5585abe34c81d",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "FAT*2018 New York",
|
||||
"source_url": "https://facctconference.org/2018/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "FAT*2019 Atlanta",
|
||||
"source_url": "https://facctconference.org/2019/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "FAT*2020 Barcelona",
|
||||
"source_url": "https://facctconference.org/2020/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "FAccT 2021 Online",
|
||||
"source_url": "https://facctconference.org/2021/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "Home",
|
||||
"source_url": "https://facctconference.org/2022/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "Home",
|
||||
"source_url": "https://facctconference.org/2023/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "Home",
|
||||
"source_url": "https://facctconference.org/2024/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "Home",
|
||||
"source_url": "https://facctconference.org/2025/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "Home",
|
||||
"source_url": "https://facctconference.org/2026/index.html"
|
||||
}
|
||||
],
|
||||
"scope": "Nine actual linked conference years, not annual interpolation. Preserve FAT* labels for 2018–2020 and FAccT from 2021. Earlier FATML workshops are not extra FAccT main conferences. Archival and non-archival acceptances, CRAFTs, tutorials and doctoral events require separate scope; no per-paper completeness or public rejection export claimed."
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"checked_on": "2026-11-08",
|
||||
"scope": "Four bounded2026trackchecks, no individualnegativeexport orDBwrite. Unknowndoesnotmeanprivateforeverorzerorecords.",
|
||||
"checks": [
|
||||
{
|
||||
"venue": "CIKM",
|
||||
"year": 2026,
|
||||
"track": "full_research",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://cikm2026.diag.uniroma1.it/full-research-papers/",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方Full Research与通用政策使用EasyChair、双盲、作者审稿义务及desk rejection规则;未确认会后逐篇拒稿元数据公开范围。各short/applied/resource/demo/industry轨道不自动继承相同公开范围。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://cikm2026.diag.uniroma1.it/full-research-papers/",
|
||||
"resolved_url": "https://cikm2026.diag.uniroma1.it/full-research-papers/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:07:43.733817+00:00",
|
||||
"source_sha256": "c3b6ae0e7160ab0b3d972537aecb0997d2ba7b0577b3b8d09f74d8f7e30a2fcb",
|
||||
"source_html_sha256": "c3b6ae0e7160ab0b3d972537aecb0997d2ba7b0577b3b8d09f74d8f7e30a2fcb"
|
||||
},
|
||||
{
|
||||
"source_url": "https://cikm2026.diag.uniroma1.it/policies-and-information/",
|
||||
"resolved_url": "https://cikm2026.diag.uniroma1.it/policies-and-information/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:06:35.159771+00:00",
|
||||
"source_sha256": "0a89aad73fb2b95558c251e61fcb7507d350d71f85b0d0f4f6d8297e30743118",
|
||||
"source_html_sha256": "0a89aad73fb2b95558c251e61fcb7507d350d71f85b0d0f4f6d8297e30743118"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICDM",
|
||||
"year": 2026,
|
||||
"track": "research",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://icdm2026.neu.edu.cn/CallforResearchTrack/",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方Research使用CyberChair及triple-blind,超长稿件不送审;三盲包含评审之间与AC的身份隐藏,不能概括为普通双盲。既有预印本可保留不代表公开最终拒稿,实际会后负面元数据发布范围仍未确认。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://icdm2026.neu.edu.cn/CallforResearchTrack/",
|
||||
"resolved_url": "https://icdm2026.neu.edu.cn/CallforResearchTrack/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:07:39.969872+00:00",
|
||||
"source_sha256": "12803953314a3f4165108cf3f95d6d3c678d6d3a3dd9a24cdc28dabd6abda446",
|
||||
"source_html_sha256": "12803953314a3f4165108cf3f95d6d3c678d6d3a3dd9a24cdc28dabd6abda446"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "SDM",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://www.siam.org/conferences-events/siam-conferences/sdm26/submissions/",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方说明三盲、OpenReview及desk rejection规则;核查时会议尚未举行。公开group配置的public_submissions/public_withdrawn_submissions/public_desk_rejected_submissions均false;一次根venueid匿名notes查询403,未获得逐篇记录。查询不等于完整拒稿出口检查,不能把403说成零条,未来会后公开范围仍unknown。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://www.siam.org/conferences-events/siam-conferences/sdm26/submissions/",
|
||||
"checked_at": "2026-11-08T12:10:20.249437+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_html_sha256": null,
|
||||
"source_extract_sha256": "34abd19290f2b0539b28be04867c9bc5540266fd6cd77b2ce04481c027b4ef87",
|
||||
"direct_fetch": {
|
||||
"source_url": "https://www.siam.org/conferences-events/siam-conferences/sdm26/submissions/",
|
||||
"error": "HTTP Error 403: Forbidden",
|
||||
"checked_at": "2026-11-08T12:07:40.123155+00:00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source_url": "https://api2.openreview.net/groups?id=SIAM.org%2F2026%2FConference_on_Data_Mining",
|
||||
"resolved_url": "https://api2.openreview.net/groups?id=SIAM.org%2F2026%2FConference_on_Data_Mining",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:07:42.385042+00:00",
|
||||
"source_sha256": "8aecd0bc5cf2ae980bab011e0454d4307f1426b2779018a619e4459ec4dad724"
|
||||
},
|
||||
{
|
||||
"source_url": "https://api2.openreview.net/notes?content.venueid=SIAM.org%2F2026%2FConference_on_Data_Mining&limit=1",
|
||||
"error": "HTTP Error 403: Forbidden",
|
||||
"checked_at": "2026-11-08T12:07:43.286510+00:00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ECML-PKDD",
|
||||
"year": 2026,
|
||||
"track": "applied_data_science",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://ecmlpkdd.org/2026/submissions-ads-track/",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方ADS采用CMT、双盲、Springer LNCS,并说明不在轨道间重新分配稿件;鼓励公开代码数据与可复现性,不等于公开投稿/拒稿决定。Research、journal、demo、workshop等轨道另查,不能由ADS推断全会公开范围。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://ecmlpkdd.org/2026/submissions-ads-track/",
|
||||
"resolved_url": "https://ecmlpkdd.org/2026/submissions-ads-track/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:07:42.127752+00:00",
|
||||
"source_sha256": "84308422cd240bd2ca63f4a316cbd60507f4b1b4d2b8f474cbd131d18e77ead8",
|
||||
"source_html_sha256": "84308422cd240bd2ca63f4a316cbd60507f4b1b4d2b8f474cbd131d18e77ead8"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"sdm2026_anonymous_access_check": {
|
||||
"group_id": "SIAM.org/2026/Conference_on_Data_Mining",
|
||||
"public_flags_at_check": {
|
||||
"public_submissions": false,
|
||||
"public_withdrawn_submissions": false,
|
||||
"public_desk_rejected_submissions": false
|
||||
},
|
||||
"group_receipt": {
|
||||
"source_url": "https://api2.openreview.net/groups?id=SIAM.org%2F2026%2FConference_on_Data_Mining",
|
||||
"resolved_url": "https://api2.openreview.net/groups?id=SIAM.org%2F2026%2FConference_on_Data_Mining",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:07:42.385042+00:00",
|
||||
"source_sha256": "8aecd0bc5cf2ae980bab011e0454d4307f1426b2779018a619e4459ec4dad724"
|
||||
},
|
||||
"notes_query_receipt": {
|
||||
"source_url": "https://api2.openreview.net/notes?content.venueid=SIAM.org%2F2026%2FConference_on_Data_Mining&limit=1",
|
||||
"error": "HTTP Error 403: Forbidden",
|
||||
"checked_at": "2026-11-08T12:07:43.286510+00:00"
|
||||
},
|
||||
"query_scope": "Onecontent.venueid=rootgroup query, limit1; did not query specificRejected_Submissionvenueid or claimcompleteexport. Noauthnobypass.",
|
||||
"interpretation": "Publicgroupconfigurationreadable; notesrequest403. Notzero, notproofallhistorical/futureSDMnegativepublicationpolicy."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,867 @@
|
||||
{
|
||||
"snapshot_at": "2026-11-08 16:34:40.741334+00:00",
|
||||
"scope": "Official first-pass conference-year census vs current populated editions and real aliases. Missing year means no imported attempt in that year, not missing paper count or proof all other years complete. Includes announced/nonarchival exceptions below.",
|
||||
"venues": [
|
||||
{
|
||||
"venue": "NeurIPS",
|
||||
"expected_years": 40,
|
||||
"observed_expected_years": 39,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"NeurIPS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICML",
|
||||
"expected_years": 43,
|
||||
"observed_expected_years": 14,
|
||||
"missing_years": [
|
||||
1980,
|
||||
1983,
|
||||
1985,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012
|
||||
],
|
||||
"missing_count": 29,
|
||||
"canonical_matches": [
|
||||
"ICML"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICLR",
|
||||
"expected_years": 14,
|
||||
"observed_expected_years": 11,
|
||||
"missing_years": [
|
||||
2014,
|
||||
2015,
|
||||
2016
|
||||
],
|
||||
"missing_count": 3,
|
||||
"canonical_matches": [
|
||||
"ICLR"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "COLM",
|
||||
"expected_years": 3,
|
||||
"observed_expected_years": 3,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"COLM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "COLT",
|
||||
"expected_years": 39,
|
||||
"observed_expected_years": 39,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"COLT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "AISTATS",
|
||||
"expected_years": 29,
|
||||
"observed_expected_years": 25,
|
||||
"missing_years": [
|
||||
1985,
|
||||
1989,
|
||||
1991,
|
||||
1993
|
||||
],
|
||||
"missing_count": 4,
|
||||
"canonical_matches": [
|
||||
"AISTATS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "UAI",
|
||||
"expected_years": 42,
|
||||
"observed_expected_years": 42,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"UAI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "CLeaR",
|
||||
"expected_years": 5,
|
||||
"observed_expected_years": 5,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"CLEAR"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ACL",
|
||||
"expected_years": 64,
|
||||
"observed_expected_years": 48,
|
||||
"missing_years": [
|
||||
1963,
|
||||
1964,
|
||||
1965,
|
||||
1966,
|
||||
1967,
|
||||
1968,
|
||||
1969,
|
||||
1970,
|
||||
1971,
|
||||
1972,
|
||||
1973,
|
||||
1974,
|
||||
1975,
|
||||
1976,
|
||||
1977,
|
||||
1978
|
||||
],
|
||||
"missing_count": 16,
|
||||
"canonical_matches": [
|
||||
"ACL",
|
||||
"ACL+COLING",
|
||||
"ACL+EACL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "EMNLP",
|
||||
"expected_years": 31,
|
||||
"observed_expected_years": 31,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"CoNLL+EMNLP",
|
||||
"EMNLP"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "NAACL",
|
||||
"expected_years": 18,
|
||||
"observed_expected_years": 18,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"NAACL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "EACL",
|
||||
"expected_years": 19,
|
||||
"observed_expected_years": 19,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"ACL+EACL",
|
||||
"EACL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "COLING",
|
||||
"expected_years": 31,
|
||||
"observed_expected_years": 28,
|
||||
"missing_years": [
|
||||
1971,
|
||||
1976,
|
||||
1978
|
||||
],
|
||||
"missing_count": 3,
|
||||
"canonical_matches": [
|
||||
"ACL+COLING",
|
||||
"COLING",
|
||||
"COLING+LREC"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "CoNLL",
|
||||
"expected_years": 30,
|
||||
"observed_expected_years": 30,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"CoNLL",
|
||||
"CoNLL+EMNLP"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "CVPR",
|
||||
"expected_years": 39,
|
||||
"observed_expected_years": 14,
|
||||
"missing_years": [
|
||||
1983,
|
||||
1985,
|
||||
1986,
|
||||
1988,
|
||||
1989,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012
|
||||
],
|
||||
"missing_count": 25,
|
||||
"canonical_matches": [
|
||||
"CVPR"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICCV",
|
||||
"expected_years": 20,
|
||||
"observed_expected_years": 7,
|
||||
"missing_years": [
|
||||
1987,
|
||||
1988,
|
||||
1990,
|
||||
1993,
|
||||
1995,
|
||||
1998,
|
||||
1999,
|
||||
2001,
|
||||
2003,
|
||||
2005,
|
||||
2007,
|
||||
2009,
|
||||
2011
|
||||
],
|
||||
"missing_count": 13,
|
||||
"canonical_matches": [
|
||||
"ICCV"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ECCV",
|
||||
"expected_years": 19,
|
||||
"observed_expected_years": 4,
|
||||
"missing_years": [
|
||||
1990,
|
||||
1992,
|
||||
1994,
|
||||
1996,
|
||||
1998,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2006,
|
||||
2008,
|
||||
2010,
|
||||
2012,
|
||||
2014,
|
||||
2016,
|
||||
2026
|
||||
],
|
||||
"missing_count": 15,
|
||||
"canonical_matches": [
|
||||
"ECCV"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "AAAI",
|
||||
"expected_years": 40,
|
||||
"observed_expected_years": 40,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"AAAI",
|
||||
"AAAI+IAAI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "IJCAI",
|
||||
"expected_years": 35,
|
||||
"observed_expected_years": 35,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"ECAI+IJCAI",
|
||||
"IJCAI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ECAI",
|
||||
"expected_years": 29,
|
||||
"observed_expected_years": 27,
|
||||
"missing_years": [
|
||||
1974,
|
||||
1980
|
||||
],
|
||||
"missing_count": 2,
|
||||
"canonical_matches": [
|
||||
"ECAI",
|
||||
"ECAI+IJCAI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "KDD",
|
||||
"expected_years": 32,
|
||||
"observed_expected_years": 32,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"KDD"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "SIGIR",
|
||||
"expected_years": 50,
|
||||
"observed_expected_years": 50,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"SIGIR"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "WWW",
|
||||
"expected_years": 33,
|
||||
"observed_expected_years": 27,
|
||||
"missing_years": [
|
||||
1994,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000
|
||||
],
|
||||
"missing_count": 6,
|
||||
"canonical_matches": [
|
||||
"WWW"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "WSDM",
|
||||
"expected_years": 19,
|
||||
"observed_expected_years": 19,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"WSDM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "RecSys",
|
||||
"expected_years": 20,
|
||||
"observed_expected_years": 19,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"RecSys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "CIKM",
|
||||
"expected_years": 35,
|
||||
"observed_expected_years": 34,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"CIKM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICDM",
|
||||
"expected_years": 26,
|
||||
"observed_expected_years": 25,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"ICDM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "SDM",
|
||||
"expected_years": 26,
|
||||
"observed_expected_years": 25,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"SDM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ECML-PKDD",
|
||||
"expected_years": 38,
|
||||
"observed_expected_years": 33,
|
||||
"missing_years": [
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1991
|
||||
],
|
||||
"missing_count": 5,
|
||||
"canonical_matches": [
|
||||
"ECML",
|
||||
"ECML-PKDD",
|
||||
"PKDD"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICRA",
|
||||
"expected_years": 43,
|
||||
"observed_expected_years": 43,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"ICRA"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "IROS",
|
||||
"expected_years": 39,
|
||||
"observed_expected_years": 35,
|
||||
"missing_years": [
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
2026
|
||||
],
|
||||
"missing_count": 4,
|
||||
"canonical_matches": [
|
||||
"IROS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "RSS",
|
||||
"expected_years": 22,
|
||||
"observed_expected_years": 20,
|
||||
"missing_years": [
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"missing_count": 2,
|
||||
"canonical_matches": [
|
||||
"RSS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "CoRL",
|
||||
"expected_years": 10,
|
||||
"observed_expected_years": 9,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"CORL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICAPS",
|
||||
"expected_years": 37,
|
||||
"observed_expected_years": 28,
|
||||
"missing_years": [
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1995,
|
||||
1997,
|
||||
1999,
|
||||
2001,
|
||||
2026
|
||||
],
|
||||
"missing_count": 9,
|
||||
"canonical_matches": [
|
||||
"AIPS",
|
||||
"ICAPS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "KR",
|
||||
"expected_years": 23,
|
||||
"observed_expected_years": 23,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"KR"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "AAMAS",
|
||||
"expected_years": 25,
|
||||
"observed_expected_years": 22,
|
||||
"missing_years": [
|
||||
2012,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"missing_count": 3,
|
||||
"canonical_matches": [
|
||||
"AAMAS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICASSP",
|
||||
"expected_years": 51,
|
||||
"observed_expected_years": 49,
|
||||
"missing_years": [
|
||||
1977,
|
||||
2026
|
||||
],
|
||||
"missing_count": 2,
|
||||
"canonical_matches": [
|
||||
"ICASSP"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "INTERSPEECH",
|
||||
"expected_years": 39,
|
||||
"observed_expected_years": 39,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"ECST",
|
||||
"EUROSPEECH",
|
||||
"ICSLP",
|
||||
"INTERSPEECH"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ISMIR",
|
||||
"expected_years": 27,
|
||||
"observed_expected_years": 26,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"ISMIR"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "MICCAI",
|
||||
"expected_years": 29,
|
||||
"observed_expected_years": 29,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"MICCAI"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "FAccT",
|
||||
"expected_years": 9,
|
||||
"observed_expected_years": 9,
|
||||
"missing_years": [],
|
||||
"missing_count": 0,
|
||||
"canonical_matches": [
|
||||
"FAccT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "MLSys",
|
||||
"expected_years": 9,
|
||||
"observed_expected_years": 8,
|
||||
"missing_years": [
|
||||
2018
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"MLSys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "MM",
|
||||
"expected_years": 34,
|
||||
"observed_expected_years": 33,
|
||||
"missing_years": [
|
||||
2026
|
||||
],
|
||||
"missing_count": 1,
|
||||
"canonical_matches": [
|
||||
"MM"
|
||||
]
|
||||
}
|
||||
],
|
||||
"expected_venue_years": 1266,
|
||||
"missing_venue_years": 150,
|
||||
"venues_with_missing_years": 25,
|
||||
"known_nonpublication_exceptions": [
|
||||
{
|
||||
"venue": "NeurIPS",
|
||||
"year": 2026,
|
||||
"reason": "announced;not in proceedings index at census"
|
||||
},
|
||||
{
|
||||
"venue": "CoRL",
|
||||
"year": 2026,
|
||||
"reason": "not in publisher proceedings index at census"
|
||||
},
|
||||
{
|
||||
"venue": "MLSys",
|
||||
"year": 2018,
|
||||
"reason": "first non-archival SysML meeting; not a missing formal publication volume"
|
||||
}
|
||||
],
|
||||
"historical_missing_years_excluding_nonarchival_2018": 135,
|
||||
"historical_venues_with_missing_years": 16,
|
||||
"historical_gaps": [
|
||||
{
|
||||
"venue": "ICML",
|
||||
"years": [
|
||||
1980,
|
||||
1983,
|
||||
1985,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICLR",
|
||||
"years": [
|
||||
2014,
|
||||
2015,
|
||||
2016
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "AISTATS",
|
||||
"years": [
|
||||
1985,
|
||||
1989,
|
||||
1991,
|
||||
1993
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ACL",
|
||||
"years": [
|
||||
1963,
|
||||
1964,
|
||||
1965,
|
||||
1966,
|
||||
1967,
|
||||
1968,
|
||||
1969,
|
||||
1970,
|
||||
1971,
|
||||
1972,
|
||||
1973,
|
||||
1974,
|
||||
1975,
|
||||
1976,
|
||||
1977,
|
||||
1978
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "COLING",
|
||||
"years": [
|
||||
1971,
|
||||
1976,
|
||||
1978
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "CVPR",
|
||||
"years": [
|
||||
1983,
|
||||
1985,
|
||||
1986,
|
||||
1988,
|
||||
1989,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICCV",
|
||||
"years": [
|
||||
1987,
|
||||
1988,
|
||||
1990,
|
||||
1993,
|
||||
1995,
|
||||
1998,
|
||||
1999,
|
||||
2001,
|
||||
2003,
|
||||
2005,
|
||||
2007,
|
||||
2009,
|
||||
2011
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ECCV",
|
||||
"years": [
|
||||
1990,
|
||||
1992,
|
||||
1994,
|
||||
1996,
|
||||
1998,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2006,
|
||||
2008,
|
||||
2010,
|
||||
2012,
|
||||
2014,
|
||||
2016
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ECAI",
|
||||
"years": [
|
||||
1974,
|
||||
1980
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "WWW",
|
||||
"years": [
|
||||
1994,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ECML-PKDD",
|
||||
"years": [
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1991
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "IROS",
|
||||
"years": [
|
||||
1988,
|
||||
1989,
|
||||
1990
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "RSS",
|
||||
"years": [
|
||||
2025
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICAPS",
|
||||
"years": [
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1995,
|
||||
1997,
|
||||
1999,
|
||||
2001
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "AAMAS",
|
||||
"years": [
|
||||
2012,
|
||||
2025
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICASSP",
|
||||
"years": [
|
||||
1977
|
||||
]
|
||||
}
|
||||
],
|
||||
"current_2026_gaps": 14
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
# 历史年度缺口的当前核对
|
||||
|
||||
生产只读快照:2026-11-08 16:34:40.741334 UTC(北京时间11月9日00:34),foundry_data/research。对比已核实的43份首轮官方会议年度清单,使用当前有投稿记录的edition及真实venue_aliases,不沿用旧固定快照的missing_years。
|
||||
|
||||
- 清单共1266个会议—年份位置,当前有150个位置尚无投稿记录,涉及25个目标会议。
|
||||
- 其中2025年及以前136个;排除已明确非存档的SysML2018首届,剩**135个历史年度待补采或核实,涉及16个会议**。
|
||||
- 另有14个2026年度待核实。已知NeurIPS2026和CoRL2026在首轮核查时尚未进入论文集索引,不能一律当已公开论文遗漏;其他年度也需逐个核实发布时间。
|
||||
|
||||
这些是“整年没有任何投稿记录”的数量,不是缺论文篇数,也不是完整性百分比。一个年份只有少数记录、只有公开拒稿或缺了某个track,仍会被计作“已有年度”;这些更细缺口及公开拒稿的逐年可获得性尚须继续核验。会议别名共享的联合届次不能当成两批独立论文,未见录用也不能推断拒稿。
|
||||
|
||||
| 会议 | 历史缺口年份数 |
|
||||
| --- | ---: |
|
||||
| ICML | 29 |
|
||||
| CVPR | 25 |
|
||||
| ACL | 16 |
|
||||
| ECCV | 14 |
|
||||
| ICCV | 13 |
|
||||
| ICAPS | 8 |
|
||||
| WWW | 6 |
|
||||
| ECML-PKDD | 5 |
|
||||
| AISTATS | 4 |
|
||||
| ICLR、COLING、IROS | 各3 |
|
||||
| ECAI、AAMAS | 各2 |
|
||||
| RSS、ICASSP | 各1 |
|
||||
|
||||
[完整逐年结果](historical-gaps-2026-11-09.json) 保留43目标的官方预期、现有年份数、缺失年份与规范会议匹配。原始只读生产导出保存在 `/data/paper-index/collected/historical-gap-current-20261109-v1.json`。 导出SHA256 `580cdea6dd9869adafe9bc28fb75cf3854bb290ad65aa5a600d9bc368a528b93`。年度对照清单为 `docs/coverage/inventory-2026-11-08.json`;候选来源文件绑定的输入哈希与本目录缺口JSON逐字节一致。来源清单的年份和哈希沿用相应 `*-editions-2026-11-08.json`,不是本轮重新访问所有会议网站;2026发布状态需要后续更新。
|
||||
|
||||
## 候选来源与下一步
|
||||
|
||||
另一次只读目录核查在现有、已校验的DBLP快照中,为135个历史年度中的**85个**匹配到初步候选论文集,另**50个**尚未按本轮规则匹配到,需要继续识别目录键或寻找官方来源。未匹配不等于会议没举办、未出版或没有公开来源。
|
||||
|
||||
[候选卷清单](historical-source-candidates-2026-11-09.json) 保留卷key、标题、出版年份、原始bibliographic counts和出版者链接。初筛使用目标family映射内的四位卷key年份或卷标题唯一显式年份,再按具体会议身份复核;两位键、出版年份与会议年份差异、前身系列及其他目录命名可能漏匹配。原始计数可能含workshop、前言、索引或多个卷,**不能当可直接导入的录用论文数量**。
|
||||
|
||||
后续[来源范围复核](historical-source-scope-2026-11-09.md)排除了4个误归ACL的COLING卷,因此候选年度由89修正为85、未匹配年度由46增至50。原卷及排除理由保留在JSON中;135个历史年度缺口不因此改变。ACL1963–1978与COLING1971/1976/1978在当前Anthology目录未列出,继续记为来源待核实,不能一律称作已公开但漏采的论文集。
|
||||
|
||||
优先核查已有候选卷较集中的CVPR22年、ICCV12年、ECCV14年和ICML25年。其中ICML早期workshop名称可能属于官方主系列前身,也可能是附属workshop,须对照官方届次证据逐卷区分,不能靠标题包含workshop一刀切。所有候选须经过范围、稳定标识、重复/冲突、原始字段和覆盖预检;这一步没有导入候选卷。
|
||||
|
||||
## 复核方法
|
||||
|
||||
只读获取当前有记录的edition,不连接papers大文本或标签表:
|
||||
|
||||
```sql
|
||||
WITH counts AS (
|
||||
SELECT edition_id,count(*) AS submissions
|
||||
FROM submissions GROUP BY edition_id
|
||||
)
|
||||
SELECT e.id,e.venue_id,v.acronym,e.year,e.track,e.event_key,counts.submissions
|
||||
FROM editions e JOIN venues v ON v.id=e.venue_id
|
||||
JOIN counts ON counts.edition_id=e.id ORDER BY e.id;
|
||||
|
||||
SELECT venue_id,alias FROM venue_aliases ORDER BY venue_id,alias;
|
||||
```
|
||||
|
||||
逐目标取规范会议名或别名相等的edition年份集合,与该目标edition_census.expected_years做集合差;再把2026与明确非存档的SysML2018单列。保留原始导出与校验哈希,不把每个matched year误当逐篇/逐track完整。
|
||||
|
||||
与本清单同一阶段的WWW补采只补1995年现有poster轨道,不新增缺失年度,所以即使其15条增量已验收,135这个年度计数也不会随之下降。早期1994年的50条正式展示候选、307条混合节目候选共357条仍需核实;其中并非每条都是论文。
|
||||
|
||||
本清单用于明确第14步剩余范围,不代表第14步完成,也不替代所有导入结束后的第16步全库去重、摘要、约束和实际查询验收。
|
||||
@@ -0,0 +1,53 @@
|
||||
# EWSL 与规划会议前身的来源范围
|
||||
|
||||
本项扩展 DBLP 元数据适配:核对具体历史卷,保留 EWSL、EPS、ECP、EWSP 原始系列名称,并使用已有会议别名关系关联 ECML-PKDD 或 ICAPS。它不把历史论文的原始会议名称替换成后来的会议,也不从卷的存在推断有逐篇数据。
|
||||
|
||||
## 证据与已核验边界
|
||||
|
||||
[ECML-PKDD 2011 官方历史页](https://ecmlpkdd2011.org/pastConferences.php)与 [ICAPS 官方系列历史](https://www.icaps-conference.org/conference-series/)分别提供系列前身关系。2026-11-09 冻结页面 SHA-256 为:
|
||||
|
||||
- ECML-PKDD:`c3ecdb032aeacf6a365aace5457773827d1405872ad9bc6be6fc05851d5e68d6`。
|
||||
- ICAPS:`de1d217660cb819825f58112cdaf774d0f68da6ed87e3e90a59055e52f152081`。
|
||||
|
||||
与固定 DBLP 2026-11-01 快照的完整 proceedings 目录对照后,仅对下列具体卷识别前身主系列:
|
||||
|
||||
| 原始系列 | 事件年 | DBLP 卷 key | 卷出版年 | 原始逐篇书目计数 |
|
||||
|---|---:|---|---:|---:|
|
||||
| EWSL | 1987 | `conf/ecml/1987` | 1987 | 16 |
|
||||
| EWSL | 1988 | `conf/ecml/1988` | 1988 | 21 |
|
||||
| EWSL | 1989 | `conf/ecml/1989` | 1989 | 0 |
|
||||
| EWSL | 1991 | `conf/ecml/1991` | 1991 | 44 |
|
||||
| EPS | 1990 | `conf/aips/1990` | 1990 | 48 |
|
||||
| ECP | 1997 | `conf/ecp/1997` | 1997 | 35 |
|
||||
| ECP | 1999 | `conf/ecp/1999` | 2000 | 28 |
|
||||
| EWSP | 1991 | `conf/ewsp/1991` | 1991 | 10 |
|
||||
|
||||
合计 202 条是原始 `inproceedings` 书目计数,尚未经过前言等材料排除、身份核查与生产验收,不能作为新论文数量。EWSL 1989 在当前 catalogue 中有卷信息,但未匹配到 `inproceedings` 条目;其他记录类型和其他来源仍待核查。代码支持它的范围规则不表示已补上这一年的论文。
|
||||
|
||||
核验同时要求来源 family、booktitle 基名、空轨道后缀、完整 proceedings key、完整标题及卷出版年与固定证据一致。邻近年份、标题附加内容、`w` 卷后缀或工作坊 booktitle 均不能继承此范围。ECP、EWSP 及 EPS 的未知卷保持待审。原有 AIPS、ICML/IROS、AISTATS/COLT 规则保持各自边界。
|
||||
|
||||
EWSL 的主轨道仍属于 `EWSL`,通过 `ECML-PKDD` 别名纳入家族查询;EPS、ECP、EWSP 保留原名,通过 `ICAPS` 别名关联。`main` 在此表示该原始系列的主轨道。原始 booktitle、作者、论文书目年、卷标题、卷出版年、事件年及历史页 URL 分开保存在 metadata 中。例如 ECP 1999 的事件年 1999 与卷出版年 2000 都保留,不用其中一个覆盖另一个。
|
||||
|
||||
## 候选文件与完整快照
|
||||
|
||||
旧的窄范围 `dblp-ai-candidates.jsonl` 未纳入 `ecp`、`ewsp` family,但完整 catalogue 的 proceedings 与 volume_counts 中有它们。新的 catalogue 导出会纳入这两个 family。
|
||||
|
||||
选择 ICAPS 且截止年达到 EWSP 1991 或 ECP 1997 时,若候选 manifest 缺少相应 family,`collect dblp --candidates` 会明确报错,要求使用原始完整 `--archive`。错误发生在写输出之前,不会把遗漏当作成功采集。选择其他会议或截止 EPS 1990 的旧候选采集不受这项新家族检查影响。
|
||||
|
||||
在已确认的远程运行环境中使用完整快照:
|
||||
|
||||
```sh
|
||||
paper-atlas collect dblp \
|
||||
--catalogue /data/paper-index/collected/dblp/dblp-catalogue.sqlite \
|
||||
--archive /path/to/pinned-dblp.xml.gz --dtd /path/to/pinned-dblp.dtd \
|
||||
--venue ECML-PKDD --venue ICAPS --through-year 2001 \
|
||||
--out /data/paper-index/collected/historical-predecessors
|
||||
```
|
||||
|
||||
完整快照与 DTD 均沿用现有固定身份校验。该命令也会输出已覆盖的其他年度;生产导入前须单独筛选目标卷与年度,检查 raw source、前言材料、稳定标识、标题、作者及现有投稿,不能直接导入整个输出目录。不会下载论文 PDF。
|
||||
|
||||
## 验证和当前限制
|
||||
|
||||
回归检查使用独立保存的八卷原始目录 fixture,合成论文只用于隔离测试;不代表真实逐篇来源。检查原始系列/别名、完整标题和年份边界、旧候选文件显式失败、扩展 family 的 catalogue 导出、原生导入后的元数据与关系。
|
||||
|
||||
代码、测试、采集和生产导入是不同阶段。新范围不表示本批数据已采集或已导入,更不表示公开拒稿、摘要或最终去重完整。原始书目仅提供发表条目证据,不是原始决定信;没有记录不能推断为拒稿或未举办。后续各批需保留独立验收报告,保护既有跨会投稿、决定与标签历史。
|
||||
@@ -0,0 +1,33 @@
|
||||
# ICML 与 IROS 早期主系列的来源范围
|
||||
|
||||
本轮修正采集阶段的届次识别,不修改任何现有生产投稿轨道或历史。正式主系列曾以Workshop命名,不等于附属workshop;也不能反过来把所有旧workshop升为主会。
|
||||
|
||||
## 已核实的精确范围
|
||||
|
||||
| 会议 | 论文集键 | 依据与行为 |
|
||||
| --- | --- | --- |
|
||||
| ICML | `conf/icml/1988`、`1989`、`1990`、`1991`、`1992` | [官方历史](https://icml.cc/Conferences/2008/past_icmls.shtml.html)将其列为第5–9届,年份与举办地对应固定目录中的完整标题。1989/1991/1992的Workshop名称不再导致主系列被默认排除;1988/1990保留main并增加来源范围证据 |
|
||||
| IROS | `conf/iros/1988`、`1989`、`1990` | [IEEE RAS官方历届目录](https://www.ieee-ras.org/conferences-workshops/financially-co-sponsored/iros/iros-past-and-future-venues/)列出三届与论文集链接,地点及日期对应固定目录标题;这些是IROS主系列 |
|
||||
|
||||
规则同时要求family、booktitle基础别名(ML或IROS)、空轨道后缀、完整精确论文集键、匹配的事件年份及固定完整标题。仍执行原有书目年份核查:与事件年不同且标题无明确事件年时拒绝推断。ML91原始标题没有四位年份,使用精确1991卷键、完整标题、逐篇书目年和官方第8届记录,不从两位标题代码猜世纪。
|
||||
|
||||
`1991w`/`1988w`等卷键、booktitle中的Workshops后缀、不同届次/地点/完整标题、未列入的年份均不会获得上述主系列豁免。AISTATS/COLT既有精确规则保留;真正的附属workshop仍受默认不采集workshop的边界约束。
|
||||
|
||||
## 原始字段、决定与后续导入
|
||||
|
||||
采集器仍保存原始proceedings标题(包括Workshop)、书目年、原始作者名、完整来源书目字段及稳定标识;新增 `track_scope_note` 与官方 `track_scope_evidence_url`。接受状态仍只源自该论文的inproceedings书目证据;不从历史目录生成占位论文或拒稿,也不重新导入已经存在的记录。
|
||||
|
||||
新规则的输出必须重新做原始来源/标题/作者/稳定标识与现有库冲突预检,再按增量导入。此前被隔离的ICML1988/1990记录不能仅凭代码规则而直接解除全部冲突。当前正在运行的历史批次使用原固定版本和文件,不能在运行中替换其源码或输入。
|
||||
|
||||
## 验证与证据
|
||||
|
||||
新增回归覆盖:ICML三届Workshop名称、IROS最初三届、ICML原Conference名称的两届、错误卷键/后缀/标题/未知年份,以及归一化记录经过原生文件导入后保留轨道证据。构建与测试仅在已授权的ces-control远程runner执行,本机仅做语法和文本/JSON一致性检查;结果以相应commit的CI回执为准。
|
||||
|
||||
官方HTML在工作证据目录 `paper-index/historical-primary-series-evidence-v1/`,附响应状态、字节数、时间与SHA256;仅取元数据网页,没有下载论文全文。
|
||||
|
||||
| 来源 | UTC采样时间 | HTTP | 字节数 | SHA256 |
|
||||
| --- | --- | ---: | ---: | --- |
|
||||
| [icml-history](https://icml.cc/Conferences/2008/past_icmls.shtml.html) | 2026-11-08T18:36:43.043135+00:00 | 200 | 11993 | `80cce886fe985551339a52b13c4077acf827e8fcc01555f854dc24077bdebdf0` |
|
||||
| [iros-history](https://www.ieee-ras.org/conferences-workshops/financially-co-sponsored/iros/iros-past-and-future-venues/) | 2026-11-08T18:36:45.687171+00:00 | 200 | 466059 | `fdb4594621e68567e1099f5c88aae53de835b7b8146025148c3b1968df990697` |
|
||||
|
||||
本次不关闭历史年度缺口,也不替代全部导入后的全库去重、来源/年度/track覆盖、摘要和实际查询验收。
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,32 @@
|
||||
# 早期 NLP 来源范围复核
|
||||
|
||||
核查时间:2026-11-08 18:27 UTC(北京时间11月9日)。本轮只修正来源候选和记录可获得性,没有操作生产数据库。
|
||||
|
||||
## 跨会议候选修正
|
||||
|
||||
先前候选清单将 `conf/coling/1965`、`1967`、`1969`、`1973` 匹配到 ACL 年会缺口。这四卷标题明确属于 COLING;[COLING 官方 Anthology 目录](https://aclanthology.org/venues/coling/)将它们列在 COLING 下。出版者写作 ACL 或目标映射包含 COLING,不足以证明某一年是 ACL 联办届次。
|
||||
|
||||
从 ACL 候选中排除上述四卷,原始卷字段和排除理由保留在[候选JSON](historical-source-candidates-2026-11-09.json)的 `excluded_cross_venue_candidates` 中。135个历史会议—年份位置仍未关闭;有初步候选来源的年度由89修正为85,尚未匹配的由46增至50。这些数字是目录初筛结果,不是已验证可导入的论文数。
|
||||
|
||||
联合届次仍按具体年度的明确会议身份处理,例如有官方联办证据的卷可以属于多个会议。不能一律排除跨family卷,也不能把联合卷重复导入为两批论文。
|
||||
|
||||
## 来源待核实的早期年份
|
||||
|
||||
| 范围 | 本轮官方来源观察 | 处理 |
|
||||
| --- | --- | --- |
|
||||
| ACL 1963–1978,共16年 | [ACL 官方 Anthology 目录](https://aclanthology.org/venues/acl/)目前从1979年列起 | 保留历史举办清单;逐年核实是否有可索引发表材料,不能据会议举办就断言漏采正式论文集,也不据目录缺失断言未出版 |
|
||||
| COLING 1971、1976、1978 | [主办委员会历史](https://ufal.mff.cuni.cz/iccl-old)列出这三届;当前Anthology COLING目录未列出 | 来源缺口继续开放,需要主办方或出版者逐篇索引;不生成占位论文或录用/拒稿记录 |
|
||||
|
||||
这19个位置不能用其他会议的卷补齐,也不能因本轮未找到目录而删除。公开拒稿可获得性是独立核查,不从论文集或录用清单缺失推断。
|
||||
|
||||
## 证据与复核
|
||||
|
||||
三份原始HTML及 `receipts.json` 保存在工作证据目录 `paper-index/nlp-history-source-review-v1/`;结构化响应URL、时间、状态、字节数和完整SHA256收录于候选JSON的 `scope_review.evidence`。三次响应均为HTTP200;未获取论文全文。
|
||||
|
||||
| 官方来源 | 响应SHA256 |
|
||||
| --- | --- |
|
||||
| [acl-venue](https://aclanthology.org/venues/acl/) | `d04c188c0769e065f18ca9c0246f70086e2f7027ce3efe5ea0f2cdc641796b72` |
|
||||
| [coling-venue](https://aclanthology.org/venues/coling/) | `8e7ec0a2915bfbccaa26b7a7558a9cf977c4aadc119794516ecebb826f61623f` |
|
||||
| [iccl-history](https://ufal.mff.cuni.cz/iccl-old) | `c5286dc51236c90685d22543ff1f7b209adcb3eedb82a7b1ac2115c8dd0169fc` |
|
||||
|
||||
复核时先校验保存的原始响应哈希,再读取目录中的会议身份和年度。实时网页若已变化,应另存新响应和时间,不能把新内容套用旧哈希。本次不改最初会议年度清单或生产年度快照,不代表第14步覆盖验收或第16步最终全库审计完成。
|
||||
@@ -0,0 +1,425 @@
|
||||
{
|
||||
"source_url": "https://www.icaps-conference.org/conference-series/",
|
||||
"resolved_url": "https://www.icaps-conference.org/conference-series/",
|
||||
"checked_at": "2026-11-08T10:03:01.651775+00:00",
|
||||
"source_sha256": "de1d217660cb819825f58112cdaf774d0f68da6ed87e3e90a59055e52f152081",
|
||||
"expected_years": [
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2026,
|
||||
"label": "ICAPS 2026",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2026/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2025,
|
||||
"label": "ICAPS 2025",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2025/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2024,
|
||||
"label": "ICAPS 2024",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2024/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2023,
|
||||
"label": "ICAPS 2023",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2023/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2022,
|
||||
"label": "ICAPS 2022",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2022/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2021,
|
||||
"label": "ICAPS 2021",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2021/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2020,
|
||||
"label": "ICAPS 2020",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2020/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2019,
|
||||
"label": "ICAPS 2019",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2019/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2018,
|
||||
"label": "ICAPS 2018",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2018/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2017,
|
||||
"label": "ICAPS 2017",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2017/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2016,
|
||||
"label": "ICAPS 2016",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2016/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2015,
|
||||
"label": "ICAPS 2015",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2015/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2014,
|
||||
"label": "ICAPS 2014",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2014/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2013,
|
||||
"label": "ICAPS 2013",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2013/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2012,
|
||||
"label": "ICAPS 2012",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2012/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2011,
|
||||
"label": "ICAPS 2011",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2011/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2010,
|
||||
"label": "ICAPS 2010",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2010/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2009,
|
||||
"label": "ICAPS 2009",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2009/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2008,
|
||||
"label": "ICAPS 2008",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2008/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2007,
|
||||
"label": "ICAPS 2007",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2007/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2006,
|
||||
"label": "ICAPS 2006",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2006/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2005,
|
||||
"label": "ICAPS 2005",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2005/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2004,
|
||||
"label": "ICAPS 2004",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2004/"
|
||||
},
|
||||
{
|
||||
"name": "ICAPS",
|
||||
"year": 2003,
|
||||
"label": "ICAPS 2003",
|
||||
"url": "https://www.icaps-conference.org/conference/icaps-2003/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 2002,
|
||||
"label": "AIPS 2002",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-2002/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 2001,
|
||||
"label": "ECP 2001",
|
||||
"url": "https://www.icaps-conference.org/conference/ecp-2001/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 2000,
|
||||
"label": "AIPS 2000",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-2000/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 1999,
|
||||
"label": "ECP 1999",
|
||||
"url": "https://www.icaps-conference.org/conference/ecp-1999/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1998,
|
||||
"label": "AIPS 1998",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1998/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 1997,
|
||||
"label": "ECP 1997",
|
||||
"url": "https://www.icaps-conference.org/conference/1890/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1996,
|
||||
"label": "AIPS 1996",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1996/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1995,
|
||||
"label": "EWSP 1995",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1995/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1994,
|
||||
"label": "AIPS 1994",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1994/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1993,
|
||||
"label": "EWSP 1993",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1993/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1992,
|
||||
"label": "AIPS 1992",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1992/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1991,
|
||||
"label": "EWSP 1991",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1991/"
|
||||
},
|
||||
{
|
||||
"name": "EPS",
|
||||
"year": 1990,
|
||||
"label": "EPS 1990",
|
||||
"url": "https://www.icaps-conference.org/conference/eps-1990/"
|
||||
}
|
||||
],
|
||||
"primary_name_years": [
|
||||
2026,
|
||||
2025,
|
||||
2024,
|
||||
2023,
|
||||
2022,
|
||||
2021,
|
||||
2020,
|
||||
2019,
|
||||
2018,
|
||||
2017,
|
||||
2016,
|
||||
2015,
|
||||
2014,
|
||||
2013,
|
||||
2012,
|
||||
2011,
|
||||
2010,
|
||||
2009,
|
||||
2008,
|
||||
2007,
|
||||
2006,
|
||||
2005,
|
||||
2004,
|
||||
2003
|
||||
],
|
||||
"predecessor_editions": [
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 2002,
|
||||
"label": "AIPS 2002",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-2002/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 2001,
|
||||
"label": "ECP 2001",
|
||||
"url": "https://www.icaps-conference.org/conference/ecp-2001/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 2000,
|
||||
"label": "AIPS 2000",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-2000/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 1999,
|
||||
"label": "ECP 1999",
|
||||
"url": "https://www.icaps-conference.org/conference/ecp-1999/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1998,
|
||||
"label": "AIPS 1998",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1998/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 1997,
|
||||
"label": "ECP 1997",
|
||||
"url": "https://www.icaps-conference.org/conference/1890/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1996,
|
||||
"label": "AIPS 1996",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1996/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1995,
|
||||
"label": "EWSP 1995",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1995/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1994,
|
||||
"label": "AIPS 1994",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1994/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1993,
|
||||
"label": "EWSP 1993",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1993/"
|
||||
},
|
||||
{
|
||||
"name": "AIPS",
|
||||
"year": 1992,
|
||||
"label": "AIPS 1992",
|
||||
"url": "https://www.icaps-conference.org/conference/aips-1992/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1991,
|
||||
"label": "EWSP 1991",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1991/"
|
||||
},
|
||||
{
|
||||
"name": "EPS",
|
||||
"year": 1990,
|
||||
"label": "EPS 1990",
|
||||
"url": "https://www.icaps-conference.org/conference/eps-1990/"
|
||||
}
|
||||
],
|
||||
"collector_scope_gaps": [
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 2001,
|
||||
"label": "ECP 2001",
|
||||
"url": "https://www.icaps-conference.org/conference/ecp-2001/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 1999,
|
||||
"label": "ECP 1999",
|
||||
"url": "https://www.icaps-conference.org/conference/ecp-1999/"
|
||||
},
|
||||
{
|
||||
"name": "ECP",
|
||||
"year": 1997,
|
||||
"label": "ECP 1997",
|
||||
"url": "https://www.icaps-conference.org/conference/1890/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1995,
|
||||
"label": "EWSP 1995",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1995/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1993,
|
||||
"label": "EWSP 1993",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1993/"
|
||||
},
|
||||
{
|
||||
"name": "EWSP",
|
||||
"year": 1991,
|
||||
"label": "EWSP 1991",
|
||||
"url": "https://www.icaps-conference.org/conference/ewsp-1991/"
|
||||
},
|
||||
{
|
||||
"name": "EPS",
|
||||
"year": 1990,
|
||||
"label": "EPS 1990",
|
||||
"url": "https://www.icaps-conference.org/conference/eps-1990/"
|
||||
}
|
||||
],
|
||||
"scope": "Official combined family directory:24ICAPSnamededitions2003–2026 plus13namedpredecessors1990–2002. Preserve AIPS/ECP/EWSP/EPS labels, never rename their paper metadata to ICAPS. Existing collector only maps aips/icaps; ECP-lineage entries identify extra scope/data gaps needing separate follow-up. Year census is not a claim those papers are imported.",
|
||||
"cutoff_year": 2026,
|
||||
"source_html_sha256": "de1d217660cb819825f58112cdaf774d0f68da6ed87e3e90a59055e52f152081"
|
||||
}
|
||||
@@ -0,0 +1,392 @@
|
||||
{
|
||||
"source_url": "https://signalprocessingsociety.org/sites/default/files/uploads/conferences_events/docs/ICASSP_Proposal_Guidelines.pdf",
|
||||
"resolved_url": "https://signalprocessingsociety.org/sites/default/files/uploads/conferences_events/docs/ICASSP_Proposal_Guidelines.pdf",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:44:10.502686+00:00",
|
||||
"source_sha256": "3974cf5173ef4cbb55a729a6b605538ef81a48ce637d3e3caaaafe021357af69",
|
||||
"source_representation": "official_pdf_table_page_1_visually_verified",
|
||||
"source_html_sha256": null,
|
||||
"source_pdf_sha256": "3974cf5173ef4cbb55a729a6b605538ef81a48ce637d3e3caaaafe021357af69",
|
||||
"text_extract_sha256": "6eb7ae7f242c188fbec1f6c4948c88498903ff37d4cfaeef445cbcc7e8870e6d",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1976,
|
||||
1977,
|
||||
1978,
|
||||
1979,
|
||||
1980,
|
||||
1981,
|
||||
1982,
|
||||
1983,
|
||||
1984,
|
||||
1985,
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2028,
|
||||
2029
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1976,
|
||||
"source_label": "ICASSP 1976",
|
||||
"location_label": "Philadelphia, PA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1977,
|
||||
"source_label": "ICASSP 1977",
|
||||
"location_label": "Hartford, CT, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1978,
|
||||
"source_label": "ICASSP 1978",
|
||||
"location_label": "Tulsa, OK, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1979,
|
||||
"source_label": "ICASSP 1979",
|
||||
"location_label": "Washington, DC, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1980,
|
||||
"source_label": "ICASSP 1980",
|
||||
"location_label": "Denver, CO, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1981,
|
||||
"source_label": "ICASSP 1981",
|
||||
"location_label": "Atlanta, GA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1982,
|
||||
"source_label": "ICASSP 1982",
|
||||
"location_label": "Paris, France",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"source_label": "ICASSP 1983",
|
||||
"location_label": "Boston, MA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1984,
|
||||
"source_label": "ICASSP 1984",
|
||||
"location_label": "San Diego, CA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"source_label": "ICASSP 1985",
|
||||
"location_label": "Tampa, FL, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"source_label": "ICASSP 1986",
|
||||
"location_label": "Tokyo, Japan",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"source_label": "ICASSP 1987",
|
||||
"location_label": "Dallas, TX, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"source_label": "ICASSP 1988",
|
||||
"location_label": "New York, NY, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"source_label": "ICASSP 1989",
|
||||
"location_label": "Glasgow, Scotland",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"source_label": "ICASSP 1990",
|
||||
"location_label": "Albuquerque, NM, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"source_label": "ICASSP 1991",
|
||||
"location_label": "Toronto, ON, Canada",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"source_label": "ICASSP 1992",
|
||||
"location_label": "San Francisco, CA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_label": "ICASSP 1993",
|
||||
"location_label": "Minneapolis, MN, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "ICASSP 1994",
|
||||
"location_label": "Adelaide, Australia",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "ICASSP 1995",
|
||||
"location_label": "Detroit, MI, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "ICASSP 1996",
|
||||
"location_label": "Atlanta, GA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "ICASSP 1997",
|
||||
"location_label": "Munich, Germany",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "ICASSP 1998",
|
||||
"location_label": "Seattle, WA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "ICASSP 1999",
|
||||
"location_label": "Phoenix, AZ, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "ICASSP 2000",
|
||||
"location_label": "Istanbul, Turkey",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "ICASSP 2001",
|
||||
"location_label": "Salt Lake City, UT, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "ICASSP 2002",
|
||||
"location_label": "Orlando, FL, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "ICASSP 2003",
|
||||
"location_label": "Hong Kong (cancelled)",
|
||||
"physical_event_status": "cancelled_as_marked_by_society"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "ICASSP 2004",
|
||||
"location_label": "Montreal, QC, Canada",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "ICASSP 2005",
|
||||
"location_label": "Philadelphia, PA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "ICASSP 2006",
|
||||
"location_label": "Toulouse, France",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "ICASSP 2007",
|
||||
"location_label": "Honolulu, HI, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "ICASSP 2008",
|
||||
"location_label": "Las Vegas, NV, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "ICASSP 2009",
|
||||
"location_label": "Taipei, Taiwan",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "ICASSP 2010",
|
||||
"location_label": "Dallas, TX, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "ICASSP 2011",
|
||||
"location_label": "Prague, Czech Republic",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "ICASSP 2012",
|
||||
"location_label": "Kyoto, Japan",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "ICASSP 2013",
|
||||
"location_label": "Vancouver, BC, Canada",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "ICASSP 2014",
|
||||
"location_label": "Florence, Italy",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "ICASSP 2015",
|
||||
"location_label": "Brisbane, Australia",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "ICASSP 2016",
|
||||
"location_label": "Shanghai, China",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "ICASSP 2017",
|
||||
"location_label": "New Orleans, LA, USA",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "ICASSP 2018",
|
||||
"location_label": "Calgary, AB, Canada",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "ICASSP 2019",
|
||||
"location_label": "Brighton, UK",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "ICASSP 2020",
|
||||
"location_label": "Virtual, Formerly, Barcelona, Spain",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "ICASSP 2021",
|
||||
"location_label": "Virtual, Formerly Toronto, ON, Canada",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "ICASSP 2022",
|
||||
"location_label": "Singapore, Singapore",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "ICASSP 2023",
|
||||
"location_label": "Kos Island, Greece",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "ICASSP 2024",
|
||||
"location_label": "Seoul, Korea",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "ICASSP 2025",
|
||||
"location_label": "Hyderabad, India",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "ICASSP 2026",
|
||||
"location_label": "Barcelona, Spain",
|
||||
"physical_event_status": "not_independently_classified"
|
||||
}
|
||||
],
|
||||
"publication_evidence_for_cancelled_event": {
|
||||
"year": 2003,
|
||||
"source": {
|
||||
"source_url": "https://api.crossref.org/works/10.1109/ICASSP.2003.1201769",
|
||||
"resolved_url": "https://api.crossref.org/works/10.1109/ICASSP.2003.1201769",
|
||||
"checked_at": "2026-11-08T11:47:39.032775+00:00",
|
||||
"source_sha256": "ccf299df282642b9c5f5a4ce4080fe02d1da1ad1612b1466e6e927e4779cb473"
|
||||
},
|
||||
"doi": "10.1109/icassp.2003.1201769",
|
||||
"publisher": "IEEE",
|
||||
"container_title": "2003 IEEE International Conference on Acoustics, Speech, and Signal Processing, 2003. Proceedings. (ICASSP '03).",
|
||||
"interpretation": "Publisher-deposited DOI record confirms a proceedings article exists. Cancellation of the physical event does not justify deleting publications or classifying papers as rejected."
|
||||
},
|
||||
"scope": "51 explicitly listed edition years1976–2026, including 2003 marked cancelled; this is not a claim that51inpersonmeetingsoccurred. Future2027/2028/2029 excluded. Keep virtual2020/2021 labels.1977is an explicit official entry missing in the fixed DB snapshot, not interpolated. Multiple volumes, main/special sessions, OJSP journal papers and no-show publication status need independent per-paper checks."
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"source_url": "https://www.thecvf.com/?page_id=100",
|
||||
"resolved_url": "https://www.thecvf.com/?page_id=100",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:47:26.989521+00:00",
|
||||
"source_sha256": "59b10db1ad99b8e47871bea22c5739310ce02294d6b34e5a0665bd7b32d1ed64",
|
||||
"source_html_sha256": "59b10db1ad99b8e47871bea22c5739310ce02294d6b34e5a0665bd7b32d1ed64",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1987,
|
||||
1988,
|
||||
1990,
|
||||
1993,
|
||||
1995,
|
||||
1998,
|
||||
1999,
|
||||
2001,
|
||||
2003,
|
||||
2005,
|
||||
2007,
|
||||
2009,
|
||||
2011,
|
||||
2013,
|
||||
2015,
|
||||
2017,
|
||||
2019,
|
||||
2021,
|
||||
2023,
|
||||
2025
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2029,
|
||||
2031
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2025,
|
||||
"location_label": "Honolulu",
|
||||
"links": [
|
||||
"https://openaccess.thecvf.com/ICCV2025"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"location_label": "Paris",
|
||||
"links": [
|
||||
"https://openaccess.thecvf.com/ICCV2023"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"location_label": "Virtual",
|
||||
"links": [
|
||||
"https://openaccess.thecvf.com/ICCV2021"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"location_label": "Seoul",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/ICCV2019.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"location_label": "Venice",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/ICCV2017.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"location_label": "Santiago",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/ICCV2015.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"location_label": "Sydney",
|
||||
"links": [
|
||||
"http://openaccess.thecvf.com/ICCV2013.py"
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"location_label": "Barcelona",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"location_label": "Kyoto",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"location_label": "Rio de Janeiro",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"location_label": "Beijing",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"location_label": "Nice",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"location_label": "Vancouver",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"location_label": "Kerkyra",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"location_label": "Bombay",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"location_label": "Boston",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"location_label": "Berlin",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"location_label": "Osaka",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"location_label": "Tampa",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"location_label": "London",
|
||||
"links": []
|
||||
}
|
||||
],
|
||||
"scope": "Explicit rows from CVFcomprehensivepast/futureconference table, filteredat2026; notfirst/lastyear interpolation. Multiple proceedingsvolumes,tracksandfuturebidsdonotcreateextraeventyears. Doesnotproveperpaper/track/abstract/publicnegativecompleteness. Includes actual1988/1990/1998 entries; do notforceallhistoricaleditionsintooddyears orcreate2026.2027/2029/2031futureentriesexcluded."
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"source_url": "https://icdm.zhonghuapu.com/main.shtml",
|
||||
"resolved_url": "https://icdm.zhonghuapu.com/main.shtml",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:06:31.460027+00:00",
|
||||
"source_sha256": "2ee351a898264b028f5d166d63e288149e86f569fb3d2b1d6574af7d63033e0a",
|
||||
"source_html_sha256": "2ee351a898264b028f5d166d63e288149e86f569fb3d2b1d6574af7d63033e0a",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2028,
|
||||
2029
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "ICDM 2001",
|
||||
"dates_location_label": "(11/29-12/02) San Jose, California, USA"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "ICDM 2002",
|
||||
"dates_location_label": "(12/09-12/12) Maebashi City, Japan"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "ICDM 2003",
|
||||
"dates_location_label": "(11/19-11/22) Melbourne, Florida, USA"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "ICDM 2004",
|
||||
"dates_location_label": "(11/01-11/04) Brighton, United Kingdom"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "ICDM 2005",
|
||||
"dates_location_label": "(11/27-11/30) Houston, Texas, USA"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "ICDM 2006",
|
||||
"dates_location_label": "(12/18-12/22) Hong Kong, China"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "ICDM 2007",
|
||||
"dates_location_label": "(10/28-10/31) Omaha, Nebraska, USA"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "ICDM 2008",
|
||||
"dates_location_label": "(12/15-12/19) Pisa, Italy"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "ICDM 2009",
|
||||
"dates_location_label": "(12/06-12/09) Miami, Florida, USA"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "ICDM 2010",
|
||||
"dates_location_label": "(12/14-12/17) Sydney, Australia"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "ICDM 2011",
|
||||
"dates_location_label": "(12/11-12/14) Vancouver, Canada"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "ICDM 2012",
|
||||
"dates_location_label": "(12/10-12/13) Brussels, Belgium"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "ICDM 2013",
|
||||
"dates_location_label": "(12/07-12/10) Dallas, TX, USA"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "ICDM 2014",
|
||||
"dates_location_label": "(12/14-12/17) Shenzhen, China"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "ICDM 2015",
|
||||
"dates_location_label": "(11/14-11/17) Atlantic City, NJ, USA"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "ICDM 2016",
|
||||
"dates_location_label": "(12/12-12/15) Barcelona, Spain"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "ICDM 2017",
|
||||
"dates_location_label": "(11/18-11/21) New Orleans, LA, USA"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "ICDM 2018",
|
||||
"dates_location_label": "(11/17-11/20) Singapore"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "ICDM 2019",
|
||||
"dates_location_label": "(11/8-11/11) Beijing, China"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "ICDM 2020",
|
||||
"dates_location_label": "(11/17-11/20) Sorrento, Italy"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "ICDM 2021",
|
||||
"dates_location_label": "(12/7-12/10) Auckland, New Zealand"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "ICDM 2022",
|
||||
"dates_location_label": "(11/30-12/3) Orlando, USA"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "ICDM 2023",
|
||||
"dates_location_label": "(12/1-12/4) Shanghai, China"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "ICDM 2024",
|
||||
"dates_location_label": "(12/9-12/12) Abu Dhabi, UAE"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "ICDM 2025",
|
||||
"dates_location_label": "(11/12-11/15) Washington DC, USA"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "ICDM 2026",
|
||||
"dates_location_label": "(11/12-11/15) Shenyang, China"
|
||||
}
|
||||
],
|
||||
"upcoming_within_cutoff": [
|
||||
2026
|
||||
],
|
||||
"source_note": "Society series page intro still says2001to2022 but actual table extends to2029. Read actual rows; duplicate2025/2026rowsdeduplicated.",
|
||||
"scope": "26explicitserieseditionyears2001–2026;2026eventNov12–15isupcomingasofNov8,notproofproceedingsready.2027/2028/2029futureyears excluded. Regularmain/workshops/Applied/BlueSky/PhD have separate scopes. No individualnegativeinferredfromaggregateortripleblindreview. Originaldates/locationlabelsretained,notverifiedinpersonformat."
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
# ICLR 2014–2016 官方历史录用档案
|
||||
|
||||
此适配器是长期维护工具的一部分,按需运行。只识别已经独立核对的三种页面布局;后续页面发生变化必须重新核查,不能放松计数或轨道边界以使采集成功。
|
||||
|
||||
| 官方页面 | 页面链接次数 | 整理后的不同记录 |
|
||||
|---|---:|---:|
|
||||
| [2014 Conference Proceedings](https://iclr.cc/archive/2014/conference-proceedings/) | 35 | main 35 |
|
||||
| [2015 accepted-main](https://iclr.cc/archive/www/doku.php%3Fid=iclr2015:accepted-main.html) | 116 | main 31、workshop 74 |
|
||||
| [2016 accepted-main](https://iclr.cc/archive/www/doku.php%3Fid=iclr2016:accepted-main.html) | 80 | main 80 |
|
||||
|
||||
2015 的 11 篇 oral 全部再次出现在 poster 段落中。相同年份、轨道及 arXiv 标识的重复展示只生成一条来源记录,但每次展示的标题、作者显示字符串、链接、版本和段落均保留在 `source_variants`。两处标题或解析作者冲突时停止采集、等待人工核查。不同年份或不同轨道不合并投稿。
|
||||
|
||||
2014 的作者以分号列出,一条有末尾分号,一条标题和作者斜体块不在普通段落中,部分作者段落拆成多个格式片段;必须读取完整作者段落或独立斜体块,不能只读首个格式片段。2016 的代码链接不属于作者。保留原文,解析结果不替代来源证据。oral、poster 作为 `iclr_archive:presentation` 标签,不改成独立投稿轨道。arXiv 版本留在来源变体中,稳定标识使用去版本号的编号。
|
||||
|
||||
## 来源快照与运行
|
||||
|
||||
2026-11-09 已冻结的官方响应 SHA256:
|
||||
|
||||
- 2014:`a33858176fbffae0066ed3c10310f7dd98a66d12a36334b6339ef1f915ef07af`
|
||||
- 2015:`131491663742cb084662a4804009b8318e0fa7bc184d4a9044d16dd28f05b888`
|
||||
- 2016:`7320b8652431793b6ea0743f871ee446bf08b6361ccd4e421b6b53449e71f4f6`
|
||||
|
||||
在服务器运行,输出新目录,不下载论文 PDF:
|
||||
|
||||
```sh
|
||||
paper-atlas collect iclr-archive --year 2015 \
|
||||
--snapshots /data/paper-index/collected/historical-next-source-evidence-v1 \
|
||||
--out /data/paper-index/collected/iclr-archive-source-v1/2015
|
||||
|
||||
# 或重新下载官方 HTML,并保留 HTTP 缓存与收据
|
||||
paper-atlas collect iclr-archive --year 2016 \
|
||||
--cache /data/paper-index/cache/iclr-archive \
|
||||
--out /data/paper-index/collected/iclr-archive-source-v1/2016
|
||||
```
|
||||
|
||||
冻结输入目录必须包含 `receipts.json`,每项有精确 `url`、HTTP `status: 200`、相对 `file`、`bytes`、`sha256` 和带时区的 `finished_at`。读取时重新核对尺寸、哈希和路径;拒绝越界及指向目录外的软链接。已完成输出不可覆盖,应检查报告后另建明确版本目录。解析或计数失败时不生成完成报告,也不导入数据库。
|
||||
|
||||
输出分轨道 JSONL、manifest、原始 HTML 证据和年度采集报告。仅支持这三年已审查的页面。2014 workshop、其他未列轨道、逐篇摘要及公开拒稿范围尚未通过这些页面核验,不能据此声称完整。缺席不代表 rejected、withdrawn 或从未被录用。
|
||||
|
||||
## 导入前后的边界
|
||||
|
||||
这三页合计 220 条不同来源记录,不等于新增 220 篇论文;同一工作可能已存在于 arXiv 或其他会议。先核验来源字段与原始页面,再执行 PostgreSQL 只读预检,比较稳定标识、标题、作者和原始来源。标题/作者差异、版本关联及冲突必须保留证据并明确评估;不能仅靠标题猜测身份,也不能覆盖原有摘要。
|
||||
|
||||
采集器不连接数据库。正式导入使用既有 `import records`,必须有新的生产保护基线和独立验收;全部导入结束后仍需全库去重和历史覆盖审计。来自官方录用清单的 accepted 是清单观察,不是原始审稿决定签名或决定日期。
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"source_url": "https://iclr.cc/",
|
||||
"checked_at": "2026-11-08T07:28:29.958753+00:00",
|
||||
"source_html_sha256": "a88e5db514670fcb6bcf80b58a338520d4ab4007d8cb5b85f2eb513408d799d7",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"edition_links": [
|
||||
{
|
||||
"text": "2027",
|
||||
"url": "https://iclr.cc/Conferences/2027/index.html"
|
||||
},
|
||||
{
|
||||
"text": "2026",
|
||||
"url": "https://iclr.cc/Conferences/2026"
|
||||
},
|
||||
{
|
||||
"text": "2025",
|
||||
"url": "https://iclr.cc/Conferences/2025"
|
||||
},
|
||||
{
|
||||
"text": "2024",
|
||||
"url": "https://iclr.cc/Conferences/2024"
|
||||
},
|
||||
{
|
||||
"text": "2023",
|
||||
"url": "https://iclr.cc/Conferences/2023"
|
||||
},
|
||||
{
|
||||
"text": "2022",
|
||||
"url": "https://iclr.cc/Conferences/2022"
|
||||
},
|
||||
{
|
||||
"text": "2021",
|
||||
"url": "https://iclr.cc/Conferences/2021"
|
||||
},
|
||||
{
|
||||
"text": "2020",
|
||||
"url": "https://iclr.cc/Conferences/2020"
|
||||
},
|
||||
{
|
||||
"text": "2019",
|
||||
"url": "https://iclr.cc/Conferences/2019"
|
||||
},
|
||||
{
|
||||
"text": "2018",
|
||||
"url": "https://iclr.cc/Conferences/2018"
|
||||
},
|
||||
{
|
||||
"text": "2017",
|
||||
"url": "https://iclr.cc/archive/www/2017.html"
|
||||
},
|
||||
{
|
||||
"text": "2016",
|
||||
"url": "https://iclr.cc/archive/www/2016.html"
|
||||
},
|
||||
{
|
||||
"text": "2015",
|
||||
"url": "https://iclr.cc/archive/www/2015.html"
|
||||
},
|
||||
{
|
||||
"text": "2014",
|
||||
"url": "https://iclr.cc/archive/2014/"
|
||||
},
|
||||
{
|
||||
"text": "2013",
|
||||
"url": "https://iclr.cc/archive/2013/"
|
||||
}
|
||||
],
|
||||
"scope": "Official conference-year directory only. Link targets not all fetched; per-track/paper/negative availability and current database completeness unverified."
|
||||
}
|
||||
@@ -0,0 +1,380 @@
|
||||
{
|
||||
"source_url": "https://icml.cc/Conferences/2008/past_icmls.shtml.html",
|
||||
"resolved_url": "https://icml.cc/Conferences/2008/past_icmls.shtml.html",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:55:52.568028+00:00",
|
||||
"source_sha256": "80cce886fe985551339a52b13c4077acf827e8fcc01555f854dc24077bdebdf0",
|
||||
"source_html_sha256": "80cce886fe985551339a52b13c4077acf827e8fcc01555f854dc24077bdebdf0",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://icml.cc/",
|
||||
"resolved_url": "https://icml.cc/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:55:55.401775+00:00",
|
||||
"source_sha256": "a67cbcc28b56efc9020801901459e5aed56efdbe9d6d2a87939a80cc4c715f20",
|
||||
"source_html_sha256": "a67cbcc28b56efc9020801901459e5aed56efdbe9d6d2a87939a80cc4c715f20"
|
||||
},
|
||||
{
|
||||
"source_url": "https://icml.cc/Conferences/2012/",
|
||||
"resolved_url": "https://icml.cc/Conferences/2012/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:55:52.550215+00:00",
|
||||
"source_sha256": "c2069fa350aaa3635ef380107e3531b69e4e501e7970993c96b1a28f135f1698",
|
||||
"source_html_sha256": "c2069fa350aaa3635ef380107e3531b69e4e501e7970993c96b1a28f135f1698"
|
||||
},
|
||||
{
|
||||
"source_url": "https://icml.cc/Conferences/2026",
|
||||
"resolved_url": "https://icml.cc/Conferences/2026",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:55:57.066327+00:00",
|
||||
"source_sha256": "75c650c61dfebd68da3e2bc2feca0a74fce37b2a29a3d9c9aebef12d0c864e1c",
|
||||
"source_html_sha256": "75c650c61dfebd68da3e2bc2feca0a74fce37b2a29a3d9c9aebef12d0c864e1c"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1980,
|
||||
1983,
|
||||
1985,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1980,
|
||||
"ordinal": 1,
|
||||
"location_label": "Pittsburgh, Pennsylvania, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"ordinal": 2,
|
||||
"location_label": "Monticello, Illinois, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"ordinal": 3,
|
||||
"location_label": "Skytop, Pennsylvania, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"ordinal": 4,
|
||||
"location_label": "Irvine, California, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"ordinal": 5,
|
||||
"location_label": "Ann Arbor, Michigan, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"ordinal": 6,
|
||||
"location_label": "Ithaca, New York, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"ordinal": 7,
|
||||
"location_label": "Austin, Texas, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"ordinal": 8,
|
||||
"location_label": "Evanston, Illinois, USA",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"ordinal": 9,
|
||||
"location_label": "Aberdeen, Scotland, UK",
|
||||
"original_series_scope": "historical workshop predecessor",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"ordinal": 10,
|
||||
"location_label": "Amherst, Massachusetts, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"ordinal": 11,
|
||||
"location_label": "New Brunswick, New Jersey, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"ordinal": 12,
|
||||
"location_label": "Tahoe City, California, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"ordinal": 13,
|
||||
"location_label": "Bari, Italy",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"ordinal": 14,
|
||||
"location_label": "Nashville, Tennessee, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"ordinal": 15,
|
||||
"location_label": "Madison, Wisconsin, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"ordinal": 16,
|
||||
"location_label": "Bled, Slovenia",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"ordinal": 17,
|
||||
"location_label": "Stanford, California, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"ordinal": 18,
|
||||
"location_label": "Williamstown, Massachusetts, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"ordinal": 19,
|
||||
"location_label": "Sydney Australia",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"ordinal": 20,
|
||||
"location_label": "Washington DC, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"ordinal": 21,
|
||||
"location_label": "Banff, Alberta, Canada",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"ordinal": 22,
|
||||
"location_label": "Bonn, Germany",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"ordinal": 23,
|
||||
"location_label": "Pittsburgh, Pennsylvania, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"ordinal": 24,
|
||||
"location_label": "Corvallis, Oregon, USA",
|
||||
"original_series_scope": "ICML conference",
|
||||
"evidence_source": "official2008historictable"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "ICML 2008",
|
||||
"source_url": "https://icml.cc/Conferences/2008",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "ICML 2009",
|
||||
"source_url": "https://icml.cc/Conferences/2009",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "ICML 2010",
|
||||
"source_url": "https://icml.cc/Conferences/2010",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "ICML 2011",
|
||||
"source_url": "https://icml.cc/Conferences/2011",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "ICML 2012",
|
||||
"source_url": "https://icml.cc/Conferences/2012",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "ICML 2013",
|
||||
"source_url": "https://icml.cc/Conferences/2013",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "ICML 2014",
|
||||
"source_url": "https://icml.cc/Conferences/2014",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "ICML 2015",
|
||||
"source_url": "https://icml.cc/Conferences/2015",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "ICML 2016",
|
||||
"source_url": "https://icml.cc/Conferences/2016",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "ICML 2017",
|
||||
"source_url": "https://icml.cc/Conferences/2017",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "ICML 2018",
|
||||
"source_url": "https://icml.cc/Conferences/2018",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "ICML 2019",
|
||||
"source_url": "https://icml.cc/Conferences/2019/",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "ICML 2020",
|
||||
"source_url": "https://icml.cc/Conferences/2020/",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "ICML 2021",
|
||||
"source_url": "https://icml.cc/Conferences/2021/index.html",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "ICML 2022",
|
||||
"source_url": "https://icml.cc/Conferences/2022",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "ICML 2023",
|
||||
"source_url": "https://icml.cc/Conferences/2023",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "ICML 2024",
|
||||
"source_url": "https://icml.cc/Conferences/2024",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "ICML 2025",
|
||||
"source_url": "https://icml.cc/Conferences/2025",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "ICML 2026",
|
||||
"source_url": "https://icml.cc/Conferences/2026",
|
||||
"evidence_source": "officialcurrentmatchingyearnavigation"
|
||||
}
|
||||
],
|
||||
"predecessor_years": [
|
||||
1980,
|
||||
1983,
|
||||
1985,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992
|
||||
],
|
||||
"previous_partial_evidence_file": "icml-partial-editions-2026-11-08.json",
|
||||
"scope": "43explicitconference-familyyears:24historic2008tableentries1980–2007plus19matchingcurrentnavigationentries2008–2026, current2026is43rd. No1981/1982/1984/1986interpolation.2012officialhistorysaysconferencenamebegan1993;1980–1992workshoppredecessorsretainoriginalnames. Brokencurrent2007/2006/2004navlabelsarenotusedtoinferyears; historictableindependentlyprovidesthem. Yearcensuscompletiondoesnotmeanearlyproceedingsdownloadedorrecordsimported;2007–2012publisher/sourceandmain/position/workshop/negativegapsneedindividualchecks."
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"source_url": "https://icml.cc/",
|
||||
"checked_at": "2026-11-08T07:28:28.878319+00:00",
|
||||
"source_html_sha256": "ce6233fdf4dc4af5edeae7756fb1ba2ee4652069634f196918e4ba25c4cd2f09",
|
||||
"status": "partial_official_archive_unavailable",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": null,
|
||||
"observed_navigation_labels": [
|
||||
{
|
||||
"text": "2027",
|
||||
"url": "https://icml.cc/Conferences/2027"
|
||||
},
|
||||
{
|
||||
"text": "2026",
|
||||
"url": "https://icml.cc/Conferences/2026"
|
||||
},
|
||||
{
|
||||
"text": "2025",
|
||||
"url": "https://icml.cc/Conferences/2025"
|
||||
},
|
||||
{
|
||||
"text": "2024",
|
||||
"url": "https://icml.cc/Conferences/2024"
|
||||
},
|
||||
{
|
||||
"text": "2023",
|
||||
"url": "https://icml.cc/Conferences/2023"
|
||||
},
|
||||
{
|
||||
"text": "2022",
|
||||
"url": "https://icml.cc/Conferences/2022"
|
||||
},
|
||||
{
|
||||
"text": "2021",
|
||||
"url": "https://icml.cc/Conferences/2021/index.html"
|
||||
},
|
||||
{
|
||||
"text": "2020",
|
||||
"url": "https://icml.cc/Conferences/2020/"
|
||||
},
|
||||
{
|
||||
"text": "2019",
|
||||
"url": "https://icml.cc/Conferences/2019/"
|
||||
},
|
||||
{
|
||||
"text": "2018",
|
||||
"url": "https://icml.cc/Conferences/2018"
|
||||
},
|
||||
{
|
||||
"text": "2017",
|
||||
"url": "https://icml.cc/Conferences/2017"
|
||||
},
|
||||
{
|
||||
"text": "2016",
|
||||
"url": "https://icml.cc/Conferences/2016"
|
||||
},
|
||||
{
|
||||
"text": "2015",
|
||||
"url": "https://icml.cc/Conferences/2015"
|
||||
},
|
||||
{
|
||||
"text": "2014",
|
||||
"url": "https://icml.cc/Conferences/2014"
|
||||
},
|
||||
{
|
||||
"text": "2013",
|
||||
"url": "https://icml.cc/Conferences/2013"
|
||||
},
|
||||
{
|
||||
"text": "2012",
|
||||
"url": "https://icml.cc/Conferences/2012"
|
||||
},
|
||||
{
|
||||
"text": "2011",
|
||||
"url": "https://icml.cc/Conferences/2011"
|
||||
},
|
||||
{
|
||||
"text": "2010",
|
||||
"url": "https://icml.cc/Conferences/2010"
|
||||
},
|
||||
{
|
||||
"text": "2009",
|
||||
"url": "https://icml.cc/Conferences/2009"
|
||||
},
|
||||
{
|
||||
"text": "2008",
|
||||
"url": "https://icml.cc/Conferences/2008"
|
||||
},
|
||||
{
|
||||
"text": "2007",
|
||||
"url": "https://icml.cc/Conferences/2008"
|
||||
},
|
||||
{
|
||||
"text": "2006",
|
||||
"url": "https://icml.cc/Conferences/2007"
|
||||
},
|
||||
{
|
||||
"text": "2005",
|
||||
"url": "https://icml.cc/Conferences/2005"
|
||||
},
|
||||
{
|
||||
"text": "2004",
|
||||
"url": "https://icml.cc/Conferences/2005"
|
||||
},
|
||||
{
|
||||
"text": "2002",
|
||||
"url": "https://icml.cc/Conferences/2002"
|
||||
},
|
||||
{
|
||||
"text": "1996",
|
||||
"url": "https://icml.cc/Conferences/1996"
|
||||
}
|
||||
],
|
||||
"conflicting_navigation_links": [
|
||||
{
|
||||
"text": "2007",
|
||||
"url": "https://icml.cc/Conferences/2008"
|
||||
},
|
||||
{
|
||||
"text": "2006",
|
||||
"url": "https://icml.cc/Conferences/2007"
|
||||
},
|
||||
{
|
||||
"text": "2004",
|
||||
"url": "https://icml.cc/Conferences/2005"
|
||||
}
|
||||
],
|
||||
"external_archive_attempt": {
|
||||
"source_url": "https://www.machinelearning.org/archive.html",
|
||||
"error": "URLError",
|
||||
"status": null
|
||||
},
|
||||
"scope": "Root navigation is incomplete and some labels link to other years. Official external IMLS archive request failed. Do not interpolate a complete historical year set or count this as completed independent year census.",
|
||||
"later_independent_census": {
|
||||
"checked_on": "2026-11-08",
|
||||
"evidence_file": "icml-editions-2026-11-08.json",
|
||||
"note": "Earlier partial receipt kept unchanged as historical evidence. Independent2008table resolves missing earlyyears; oldbadnavigationnotreclassifiedasvalid."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
{
|
||||
"source_url": "https://www.ieee-ras.org/conferences-workshops/fully-sponsored/icra/icra-venues-and-archive/",
|
||||
"checked_at": "2026-11-08T11:49:47.378390+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "2b667b2945d1c228ace071b6318b9d2c33a3b0328565c0ca5c380936495fed6e",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://www.ieee-ras.org/conferences-workshops/fully-sponsored/icra/icra-venues-and-archive/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Official web-tool extraction archived separately from raw HTTP. Direct403 retained, not bypassed and not represented as HTML hash.",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1984,
|
||||
1985,
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2028,
|
||||
2029,
|
||||
2030
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1984,
|
||||
"source_label": "ICRA 1984 Atlanta (GA), USA"
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"source_label": "ICRA 1985 St Louis (MO), USA"
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"source_label": "ICRA 1986 San Francisco (CA), USA"
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"source_label": "ICRA 1987 Raleigh (NC), USA"
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"source_label": "ICRA 1988 Philadelphia (PA), USA"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"source_label": "ICRA 1989 Scottsdale (AZ), USA)"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"source_label": "ICRA 1990 Cincinnati (OH), USA"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"source_label": "ICRA 1991 Sacramento (CA), USA"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"source_label": "ICRA 1992 Nice, France"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_label": "ICRA 1993 Atlanta (GA), USA"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "ICRA 1994 San Diego (CA), USA"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "ICRA 1995 Nagoya, Japan"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "ICRA 1996 Minneapolis (MN), USA"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "ICRA 1997 Albuquerque (NM), USA"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "ICRA 1998 Leuven, Belgium"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "ICRA 1999 Detroit (MI), USA"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "ICRA 2000 San Francisco (CA), USA"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "ICRA 2001 Seoul, Korea"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "ICRA 2002 Washington (DC), USA"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "ICRA 2003 Taipei, China"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "ICRA 2004 New Orleans (LA), USA"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "ICRA 2005 Barcelona, Spain"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "ICRA 2006 Orlando (FL), USA"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "ICRA 2007 Rome, Italy"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "ICRA 2008 Pasadena (CA), USA"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "ICRA 2009 Kobe, Japan"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "ICRA 2010 Anchorage (AK), USA"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "ICRA 2011 Shanghai, China"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "ICRA 2012 Minneapolis (MN), USA"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "ICRA 2013 Karlsruhe, Germany"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "ICRA 2014 Hong Kong, China"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "ICRA 2015 Seattle (WA), USA"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "ICRA 2016 Stockholm, Sweden"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "ICRA 2017 Singapore"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "ICRA 2018 Brisbane, Australia"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "ICRA 2019 Montreal, Canada"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "ICRA 2020 Paris, France (Virtual Event)"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "ICRA 2021 Xi’an, China"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "ICRA 2022 Philadelphia (PA), USA"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "ICRA 2023 London, United Kingdom"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "ICRA 2024 Yokohama, Japan"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "ICRA 2025 Atlanta (GA), USA"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "ICRA 2026 Vienna, Austria"
|
||||
}
|
||||
],
|
||||
"scope": "Explicit society archive edition labels only; no interpolation from database years, dates or footer copyright. Multiple proceedings volumes, journal presentation options and workshops do not create additional main conference acceptances. Public negative-record completeness is not established.",
|
||||
"additional_extract_receipts": [
|
||||
{
|
||||
"source_url": "https://www.ieee-ras.org/conferences-workshops/fully-sponsored/icra/icra-venues-and-archive/",
|
||||
"checked_at": "2026-11-08T11:49:47.378390+00:00",
|
||||
"source_extract_sha256": "6bc312efe214aab58a77d9c6a89008a380b560b4fcbf43e1a1566c3e680a784e",
|
||||
"scope": "Tail extraction confirms 1987/1986/1985/1984 after initial text output stopped at 1988."
|
||||
}
|
||||
],
|
||||
"source_disagreements": [
|
||||
{
|
||||
"year": 2002,
|
||||
"edition_heading": "ICRA 2002",
|
||||
"date_line": "11-15 May 2022",
|
||||
"interpretation": "Preserve internally inconsistent date text. Census uses explicit edition heading; no date rewrite."
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"scope": "Official archive states delay from May to September due to SARS. Do not confuse with cancelled ICASSP2003 physical meeting."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,464 @@
|
||||
{
|
||||
"source_url": "https://ijcai.org/past_conferences/",
|
||||
"resolved_url": "https://ijcai.org/past_conferences/",
|
||||
"checked_at": "2026-11-08T08:40:42.121749+00:00",
|
||||
"source_html_sha256": "e38587dc922778c008bd355851ac3df7993bdf894154fc1ec81836f8803ee398",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1969,
|
||||
1971,
|
||||
1973,
|
||||
1975,
|
||||
1977,
|
||||
1979,
|
||||
1981,
|
||||
1983,
|
||||
1985,
|
||||
1987,
|
||||
1989,
|
||||
1991,
|
||||
1993,
|
||||
1995,
|
||||
1997,
|
||||
1999,
|
||||
2001,
|
||||
2003,
|
||||
2005,
|
||||
2007,
|
||||
2009,
|
||||
2011,
|
||||
2013,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"label": "IJCAI-ECAI-26",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2026/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"label": "IJCAI-25",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2025/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"label": "IJCAI-24",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2024/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"label": "IJCAI-23",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2023/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"label": "IJCAI-ECAI-22",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2022/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"label": "IJCAI-21",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2021/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"label": "IJCAI-PRICAI-20",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2020/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"label": "IJCAI-19",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2019/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"label": "IJCAI-ECAI-18",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2018/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"label": "IJCAI-17",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2017/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"label": "IJCAI-16",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2016/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"label": "IJCAI-15",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2015/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"label": "IJCAI-13",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2013/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"label": "IJCAI-11",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2011/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"label": "IJCAI-09",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2009/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"label": "IJCAI-07",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2007/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"label": "IJCAI-05",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2005/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"label": "IJCAI-03",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/2003/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"label": "IJCAI-01",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/2001-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/2001-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"label": "IJCAI-99",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1999-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1999-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"label": "IJCAI-97",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1997-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1997-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"label": "IJCAI-95",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1995-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1995-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"label": "IJCAI-93",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1993-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1993-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"label": "IJCAI-91",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1991-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1991-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"label": "IJCAI-89",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1989-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1989-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"label": "IJCAI-87",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1987-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1987-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"label": "IJCAI-85",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1985-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1985-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"label": "IJCAI-83",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1983-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1983-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1981,
|
||||
"label": "IJCAI-81",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1981-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1981-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1979,
|
||||
"label": "IJCAI-79",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1979-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1979-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1977,
|
||||
"label": "IJCAI-77",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings vol. 1",
|
||||
"url": "https://ijcai.org/proceedings/1977-1/"
|
||||
},
|
||||
{
|
||||
"label": "vol. 2",
|
||||
"url": "https://ijcai.org/proceedings/1977-2/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1975,
|
||||
"label": "IJCAI-75",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/1975/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1973,
|
||||
"label": "IJCAI-73",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/1973/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1971,
|
||||
"label": "IJCAI-71",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/1971/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1969,
|
||||
"label": "IJCAI-69",
|
||||
"proceedings_links": [
|
||||
{
|
||||
"label": "Proceedings",
|
||||
"url": "https://ijcai.org/proceedings/1969/"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"policy_sources": [
|
||||
{
|
||||
"source_url": "https://2025.ijcai.org/call-for-papers-main-track/",
|
||||
"resolved_url": "https://2025.ijcai.org/call-for-papers-main-track/",
|
||||
"checked_at": "2026-11-08T08:40:52.887317+00:00",
|
||||
"source_html_sha256": "bef26040fbee191248efb333e255d37bac39c1ea2e83de26f3008d284f696405"
|
||||
},
|
||||
{
|
||||
"source_url": "https://2025.ijcai.org/reviewers-faq/",
|
||||
"resolved_url": "https://2025.ijcai.org/reviewers-faq/",
|
||||
"checked_at": "2026-11-08T08:41:05.695475+00:00",
|
||||
"source_html_sha256": "0c15b7d0817fed9e15599d763d1435ab1d269a80915886b946ddafdb7498e111"
|
||||
}
|
||||
],
|
||||
"scope": "Official enumerated conference years only. IJCAI-ECAI and IJCAI-PRICAI labels preserved, multivolume proceedings not counted as extra conferences. Does not establish per-paper/track completeness or public rejection availability."
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
# IJCAI 2018、2022 逐条目录与 track 核查
|
||||
|
||||
2026-11-08 的只读生产快照中,edition 867(2018)和 871(2022)已正确属于 IJCAI/ECAI 联办会议,但整本论文集的所有投稿仍归在 `main`。本核查用官方目录的逐条 DOI 和分区定位问题,不修改生产数据。
|
||||
|
||||
| 年份 | 库中投稿 | 官方目录条目 | DOI 一对一对应 | 官方 Main track | 明确非 main | 当前目录缺项 |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
|
||||
| 2018 | 870 | 870 | 870 | 709 | 161 | 0 |
|
||||
| 2022 | 863 | 862 | 862 | 678 | 184 | 1 |
|
||||
|
||||
2018 官方分区为 Main track 709、Invited Speakers 3、Evolution of the contours of AI 6、Sister Conferences Best Papers 46、Survey track 16、Journal track 24、Early Career 19、Doctoral Consortium 17、Demos 30。
|
||||
|
||||
2022 官方分区为 Main Track 678、Special Track on AI, the Arts and Creativity 17、Special Track on AI for Good 33、Sister Conferences Best Papers 26、Survey Track 38、Journal Track 19、Early Career 8、Doctoral Consortium 25、Demo Track 18。Special Track 保留独立范围,不因同在正式论文集就合进 main。
|
||||
|
||||
## 862/863 差异已定位,不能删一条凑数
|
||||
|
||||
数据库独有条目:`conf/ijcai/Fang22`,题名 **Fixed-Budget Pure Exploration in Multinomial Logit Bandits**,DOI `10.24963/ijcai.2022/409`,页码 2951–2957。submission 333599、source_record 3578445、paper 3442268。
|
||||
|
||||
[当前官方总目录](https://ijcai.org/proceedings/2022/) 没有这一条,详情页 `/proceedings/2022/409` 本次 HTTP 404;但[官方论文文件](https://ijcai.org/proceedings/2022/0409.pdf) HEAD 返回 HTTP 200、application/pdf、153657 字节。浏览器读取的官方文件标题、作者 Boli Fang、IJCAI-22 页脚及首页 2951 与数据库对应,共七页。服务器没有下载保存 PDF 正文。
|
||||
|
||||
因此这是已定位的“当前 HTML 目录缺项但官方文件仍存在”的来源差异。没有证据证明撤稿、拒稿或数据库多收了一篇;保留原条目与发表证据。其当前官方 track 仍待明确,不根据相邻编号擅自归 main。
|
||||
|
||||
## 可复核证据
|
||||
|
||||
同目录 JSON 保存两份官方 HTML 的 URL、HTTP 状态、时间、字节数和 SHA256,以及生产只读导出 SHA256。服务器快照目录 `/data/paper-index/collected/ijcai-section-audit-v1/` 保留 HTML、来源回执、原始数据库来源导出和 409 HTTP 回执。
|
||||
|
||||
JSON 的 `years[].sections[].records` 每条为 `[submission_id, source_record_id, doi_suffix]`;DOI 为 `10.24963/ijcai.<year>/<doi_suffix>`。这些是现有稳定 ID,不是待插入的新投稿。全部 1732 个当前目录条目均对应唯一数据库来源 DOI,目录与数据库均无重复 DOI,官方目录独有条目为零。
|
||||
|
||||
标题仅作辅助核验:NFKC、casefold、去除 Unicode 非 word 字符后,2018 全部一致;2022 有一个拼写差异,DOI `/552` 的 DBLP 标题将 Revisiting、Re-Construction 拼为 Revisting、Re-Constrcution。原始标题均保留,未因此创建或合并论文。
|
||||
|
||||
## 未完成事项及修正边界
|
||||
|
||||
本次交付只完成来源核查和逐条分区映射,**345 条非 main 的生产分类尚未修正**,第 14 步尚未完成。下一步需要可复用的、带快照前提和验收报告的分区修正流程:
|
||||
|
||||
- 保持原 submission、source_record、paper、decision 的 ID 和证据内容;纠正 edition 归属,不制造“新一次投稿”。
|
||||
- 同步处理依赖 edition 的 submission_identifiers、覆盖记录与联合会议别名;不能只移动 submissions 一个字段。
|
||||
- 保存官方分区文字、URL、源文件 SHA 和原始分类,防止以后 DBLP 整卷刷新把精确 track 覆盖回 main。
|
||||
- 对 409 保持单独待核实状态,不推断撤稿、拒稿或当前 main 归属。
|
||||
- 修正后独立核验完整投稿/决定历史、稳定标识、各 track 行数及实际查询。研究方法类型不能由 track 自动生成。
|
||||
|
||||
这是 2018、2022 两届的完整目录差集和分区证据,不代表其他年份已逐条验收,也不替代所有导入结束后的全库去重。
|
||||
@@ -0,0 +1,311 @@
|
||||
{
|
||||
"source_url": "https://www.isca-archive.org/",
|
||||
"resolved_url": "https://www.isca-archive.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:44:20.741970+00:00",
|
||||
"source_sha256": "ea110bbf0d9ace8297de8bab32bb1293125f854221f263a661e24373de815802",
|
||||
"source_html_sha256": "ea110bbf0d9ace8297de8bab32bb1293125f854221f263a661e24373de815802",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://isca-speech.org/page-18313",
|
||||
"resolved_url": "https://isca-speech.org/page-18313",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:44:11.781820+00:00",
|
||||
"source_sha256": "6414722eb62caed905058445f17a54efc7ac83e96c91c9db2b3acd18db09c35c"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1987,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1987,
|
||||
"source_label": "European Conference on Speech Technology",
|
||||
"source_series": "ECST",
|
||||
"source_url": "https://www.isca-archive.org/ecst_1987/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"source_label": "First European Conference on Speech Communication and Technology (Eurospeech 1989)",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_1989/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"source_label": "First International Conference on Spoken Language Processing (ICSLP 1990)",
|
||||
"source_series": "ICSLP",
|
||||
"source_url": "https://www.isca-archive.org/icslp_1990/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"source_label": "2nd European Conference on Speech Communication and Technology (Eurospeech 1991)",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_1991/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"source_label": "2nd International Conference on Spoken Language Processing (ICSLP 1992)",
|
||||
"source_series": "ICSLP",
|
||||
"source_url": "https://www.isca-archive.org/icslp_1992/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_label": "3rd European Conference on Speech Communication and Technology (Eurospeech 1993)",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_1993/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "3rd International Conference on Spoken Language Processing (ICSLP 1994)",
|
||||
"source_series": "ICSLP",
|
||||
"source_url": "https://www.isca-archive.org/icslp_1994/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "4th European Conference on Speech Communication and Technology (Eurospeech 1995)",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_1995/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "4th International Conference on Spoken Language Processing (ICSLP 1996)",
|
||||
"source_series": "ICSLP",
|
||||
"source_url": "https://www.isca-archive.org/icslp_1996/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "5th European Conference on Speech Communication and Technology (Eurospeech 1997)",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_1997/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "5th International Conference on Spoken Language Processing (ICSLP 1998)",
|
||||
"source_series": "ICSLP",
|
||||
"source_url": "https://www.isca-archive.org/icslp_1998/index.html"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "6th European Conference on Speech Communication and Technology",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_1999/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "6th International Conference on Spoken Language Processing (ICSLP 2000)",
|
||||
"source_series": "ICSLP",
|
||||
"source_url": "https://www.isca-archive.org/icslp_2000/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "7th European Conference on Speech Communication and Technology (Eurospeech 2001)",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_2001/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "7th International Conference on Spoken Language Processing (ICSLP 2002)",
|
||||
"source_series": "ICSLP",
|
||||
"source_url": "https://www.isca-archive.org/icslp_2002/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "8th European Conference on Speech Communication and Technology (Eurospeech 2003)",
|
||||
"source_series": "Eurospeech",
|
||||
"source_url": "https://www.isca-archive.org/eurospeech_2003/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "Interspeech 2004",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2004/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "Interspeech 2005",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2005/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "Interspeech 2006",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2006/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "Interspeech 2007",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2007/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "Interspeech 2008",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2008/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "Interspeech 2009",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2009/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "Interspeech 2010",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2010/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "Interspeech 2011",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2011/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "Interspeech 2012",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2012/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "Interspeech 2013",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2013/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "Interspeech 2014",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2014/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "Interspeech 2015",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2015/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "Interspeech 2016",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2016/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "Interspeech 2017",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2017/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "Interspeech 2018",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2018/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "Interspeech 2019",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2019/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "Interspeech 2020",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2020/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "Interspeech 2021",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2021/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "Interspeech 2022",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2022/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "Interspeech 2023",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2023/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "Interspeech 2024",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2024/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "Interspeech 2025",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2025/index.html"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "Interspeech 2026",
|
||||
"source_series": "Interspeech",
|
||||
"source_url": "https://www.isca-archive.org/interspeech_2026/index.html"
|
||||
}
|
||||
],
|
||||
"predecessor_years": [
|
||||
1987,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999
|
||||
],
|
||||
"scope": "39 actual official archive entries for Interspeech/Eurospeech/ICSLP/ECST family1987–2026, no1988interpolation. ExactduplicateHTMLrowsdeduplicated. Society says common Interspeech label began2000, while archive retains original Eurospeech2001/2003 and ICSLP2000/2002 names; preserve these source labels. ECST1987 is an explicitly linked predecessor, not renamed a contemporaneous Interspeech conference. Other402archiveconferences and satelliteworkshops are excluded. Journal/conference/track/publicnegative completeness not proven."
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"checked_on": "2026-11-08",
|
||||
"scope": "Two separate2026tracks; no public rejected export or database write. not_published concerns this official review release policy, not author self-disclosures or other tracks/years.",
|
||||
"checks": [
|
||||
{
|
||||
"venue": "WWW",
|
||||
"year": 2026,
|
||||
"track": "research",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://www2026.thewebconf.org/calls/research-tracks.html",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方Research使用EasyChair并实行双盲;当前可见政策未确认会后全体拒稿元数据范围。HTML注释中遗留的2025 OpenReview透明政策未作为2026证据;不能把产业轨道政策套用到研究轨道。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://www2026.thewebconf.org/calls/research-tracks.html",
|
||||
"resolved_url": "https://www2026.thewebconf.org/calls/research-tracks.html",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:57:16.998157+00:00",
|
||||
"source_sha256": "52d6b3507eb3d45b75fb5c78b1949750a65cf8579a3664cf9a036018c2776385",
|
||||
"source_html_sha256": "52d6b3507eb3d45b75fb5c78b1949750a65cf8579a3664cf9a036018c2776385"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "WWW",
|
||||
"year": 2026,
|
||||
"track": "industry",
|
||||
"status": "not_published",
|
||||
"primary_url": "https://www2026.thewebconf.org/calls/industry.html",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方Industry说明评审期间投稿不公开,最终仅录用稿件的原投稿、评审、meta-review和讨论公开于OpenReview;该范围不包括拒稿。产业稿件进入Main proceedings不意味着与Research为同一审稿轨道;有desk reject/withdraw规则不能生成逐篇决定。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://www2026.thewebconf.org/calls/industry.html",
|
||||
"resolved_url": "https://www2026.thewebconf.org/calls/industry.html",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:57:17.849915+00:00",
|
||||
"source_sha256": "fdd4f96ef3102e1f47845f553a00419ea1f26e925ee756291fda0fb3479f0d46",
|
||||
"source_html_sha256": "fdd4f96ef3102e1f47845f553a00419ea1f26e925ee756291fda0fb3479f0d46"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"html_comment_boundary": "Research page hidden2025transparencycomment excluded; rawHTML retained withSHA."
|
||||
}
|
||||
@@ -0,0 +1,216 @@
|
||||
{
|
||||
"source_url": "https://www.ieee-ras.org/conferences-workshops/financially-co-sponsored/iros/iros-past-and-future-venues/",
|
||||
"checked_at": "2026-11-08T11:49:47.378390+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "3671feaccc8fecbf4b0074438a667209d203a62bdab2a71d32800da163215bb8",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://www.ieee-ras.org/conferences-workshops/financially-co-sponsored/iros/iros-past-and-future-venues/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Official web-tool extraction archived separately from raw HTTP. Direct403 retained, not bypassed and not represented as HTML hash.",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1988,
|
||||
"source_label": "IROS 1988 Tokyo, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"source_label": "IROS 1989 Ysukuba, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"source_label": "IROS 1990 Ibaraki, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"source_label": "IROS 1991 Osaka, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"source_label": "IROS 1992 Raleigh (NC) USA (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_label": "IROS 1993 Tokyo, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "IROS 1994 Munich, Germany (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "IROS 1995 Pittsburgh (PA) USA (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "IROS 1996 Osaka, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "IROS 1997 Grenoble, France (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "IROS 1998 Victoria, Canada (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "IROS 1999 Kyongju, Korea (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "IROS 2000 Takamatsu, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "IROS 2001 Maui (HI) USA (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "IROS 2002 (Archived) Lausanne, Switerland (Website, Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "IROS 2003 Las Vegas (NV) USA (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "IROS 2004 Sendai, Japan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "IROS 2005 (Archived) Edmonton, Canada (Website, Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "IROS 2006 Beijing, China (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "IROS 2007 San Diego (CA) USA (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "IROS 2008 (Archived) Nice, France (Website, Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "IROS 2009 St. Louis (MO) USA (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "IROS 2010 Taipei, Taiwan (Proceedings)"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "IROS 2011 San Francisco (CA) USA (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "IROS 2012 Vilamoura, Algarve, Portugal (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "IROS 2013 Tokyo, Japan (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "IROS 2014 Chicago (IL) USA (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "IROS 2015 Hamburg, Germany (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "IROS 2016 Daejon, South Korea (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "IROS 2017 Vancouver, Canada (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "IROS 2018 Madrid, Spain (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "IROS 2019 Macau, China (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "IROS 2020 Las Vegas (NV) USA (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "IROS 2021 Prague, Czech Republic (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "IROS 2022 Kyoto, Japan (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "IROS 2023 Detroit (MI), USA (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "IROS 2024 Abu Dhabi, UAE"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "IROS 2025 Hangzhou, China (Website)"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "IROS 2026"
|
||||
}
|
||||
],
|
||||
"scope": "Explicit society archive edition labels only; no interpolation from database years, dates or footer copyright. Multiple proceedings volumes, journal presentation options and workshops do not create additional main conference acceptances. Public negative-record completeness is not established. Includes1988–1990 before the oldest observed DBLP year1991; future2027 excluded. Archived location is not proof an edition occurred in person."
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
{
|
||||
"source_url": "https://ismir.net/conferences/",
|
||||
"checked_at": "2026-11-08T11:39:24.623314+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "873bc007add9fad226a46fcd9a6720c66a8931f8f73c0f42ea903fe8fe0d35b7",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://ismir.net/conferences/",
|
||||
"error": "HTTP Error 406: Not Acceptable"
|
||||
},
|
||||
"retrieval_note": "Anonymous direct HTTP returned 403/406. Archived official-page web-tool text is a separate representation, not a raw HTML response; no access-control bypass.",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://ismir2026.ismir.net/",
|
||||
"checked_at": "2026-11-08T11:39:24.623314+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "e661b42ec5216c1450e93993933f4ec5dd67bd0c132776428246d9861ec7d46a",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://ismir2026.ismir.net/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Anonymous direct HTTP returned 403/406. Archived official-page web-tool text is a separate representation, not a raw HTML response; no access-control bypass."
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "ISMIR 2025"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "ISMIR 2024"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "ISMIR 2023"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "ISMIR 2022"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "ISMIR 2021"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "ISMIR 2020"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "ISMIR 2019"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "ISMIR 2018"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "ISMIR 2017"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "ISMIR 2016"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "ISMIR 2015"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "ISMIR 2014"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "ISMIR 2013"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "ISMIR 2012"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "ISMIR 2011"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "ISMIR 2010"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "ISMIR 2009"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "ISMIR 2008"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "ISMIR 2007"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "ISMIR 2006"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "ISMIR 2005"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "ISMIR 2004"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "ISMIR 2003"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "ISMIR 2002"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "ISMIR 2001"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "ISMIR 2000"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "ISMIR 2026",
|
||||
"dates_label": "November 8-12, 2026",
|
||||
"event_status_at_cutoff": "starts_on_cutoff_date",
|
||||
"publication_status": "not_independently_verified"
|
||||
}
|
||||
],
|
||||
"scope": "26 explicit past-conference headings plus current official 27th 2026 conference. The event starts on the cutoff date; this is not proof proceedings or all accepted metadata are available. Historical workshop/symposium naming must remain as source records state it; directory uses retrospective ISMIR labels. Main, late-breaking demos, tutorials and music submissions are separate. No negative decisions inferred from missing publication."
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
{
|
||||
"source_url": "https://www.kdd.org/conferences",
|
||||
"resolved_url": "https://www.kdd.org/conferences",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:54:42.709760+00:00",
|
||||
"source_sha256": "dc2ac9180ea9261818dd4d95996a7a27d6918921b7419ded5a96e80e06f48966",
|
||||
"source_html_sha256": "dc2ac9180ea9261818dd4d95996a7a27d6918921b7419ded5a96e80e06f48966",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "KDD-1995 Montreal, QC August 20-21"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "KDD-1996 Portland, OR August 2-4"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "KDD-1997 Newport Beach, CA August 14-17"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "KDD-1998 New York, NY August 27-31"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "KDD-1999 San Diego, CA August 15-18"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "KDD-2000 Boston, MA August 20-23"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "KDD-2001 San Francisco, CA August 26-29"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "KDD-2002 Edmonton, AB July 23-26"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "KDD-2003 Washington, D.C. August 24-27"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "KDD-2004 Seattle, WA August 22-25"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "KDD-2005 Chicago, IL August 21-24"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "KDD-2006 Philadelphia, PA August 20-23"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "KDD-2007 San Jose, CA August 12-15"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "KDD-2008 Las Vegas, NV August 24-27"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "KDD-2009 Paris, France June 28 - July 1"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "KDD-2010 Washington, DC July 25-28"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "KDD-2011 San Diego, CA August 21-24, 2011"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "KDD-2012, August 12-16, 2012, Beijing, China"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "KDD-2013, August 11-14, Chicago, IL"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "KDD-2014: August 24-27, 2014 New York City"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "KDD-2015: August 10-13, 2015, Sydney, Australia"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "KDD-2016: August 13-17, 2016 San Francisco, California"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "KDD-2017: August 13-17, 2017, Halfiax, Nova Scotia"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "KDD-2018: August 19-23, 2018, London, UK"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "KDD-2019: August 4 - 8, 2019, Anchorage, AK"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "KDD-2020: August 23 - 27, 2020, San Diego, CA"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "KDD-2021: August 14 - 19, 2021, Singapore/Virtual"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "KDD-2022: August 14 - 18, 2022, Washington DC, USA"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "KDD-2023: August 6 - 10, 2023, Long Beach, CA"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "KDD-2024: August 25 - 29, 2024, Barcelona, Spain"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "KDD-2025: August 3 - 7, 2025, Toronto, Canada"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "Join us for KDD 2026"
|
||||
}
|
||||
],
|
||||
"named_predecessor_workshops": [
|
||||
{
|
||||
"year": 1989,
|
||||
"source_label": "KDD-1989 workshop Detroit, MI, August 20"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"source_label": "KDD-1991 workshop Anaheim, CA, July 14-15"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_label": "KDD-1993 workshop Washington, D.C., July 11-12"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "KDD-1994 workshop Seattle, WA, July 31-Aug 1"
|
||||
}
|
||||
],
|
||||
"scope": "32 explicit conference headings1995–2026. Four separately named KDD workshops1989/1991/1993/1994 retained outside main conference expected years; no interpolation for1990/1992. KDD Cup is not the main research conference; AppliedDataScience/Research/Datasets/Benchmarks require individual track proof. Existing2026policy check retained, not generalized across all history."
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
{
|
||||
"source_url": "https://kr.org/js/data.js",
|
||||
"resolved_url": "https://kr.org/js/data.js",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:48:32.435524+00:00",
|
||||
"source_sha256": "8d048de6a0b4bafb6c76f00b7240c08daf7da0a8d15eb8c79ac7740e9fb5bd72",
|
||||
"source_representation": "official_static_javascript_data_not_executed",
|
||||
"source_html_sha256": null,
|
||||
"source_js_sha256": "8d048de6a0b4bafb6c76f00b7240c08daf7da0a8d15eb8c79ac7740e9fb5bd72",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://kr.org/conferences.html",
|
||||
"resolved_url": "https://kr.org/conferences.html",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:47:24.636636+00:00",
|
||||
"source_sha256": "14a2b89b522853179814f61daaf57bda964486dc1a735e057ae6ddda23098454"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1989,
|
||||
1991,
|
||||
1992,
|
||||
1994,
|
||||
1996,
|
||||
1998,
|
||||
2000,
|
||||
2002,
|
||||
2004,
|
||||
2006,
|
||||
2008,
|
||||
2010,
|
||||
2012,
|
||||
2014,
|
||||
2016,
|
||||
2018,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2028
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"status": "past",
|
||||
"location": "Lisbon, Portugal",
|
||||
"dates": "July 20–23, 2026",
|
||||
"link": "https://kr.org/KR2026/",
|
||||
"proceedingsUrl": "https://proceedings.kr.org/2026/"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"status": "past",
|
||||
"location": "Melbourne, Australia",
|
||||
"dates": "November 11–17, 2025",
|
||||
"link": "https://kr.org/KR2025/",
|
||||
"proceedingsUrl": "https://proceedings.kr.org/2025/"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"status": "past",
|
||||
"location": "Hanoi, Vietnam",
|
||||
"dates": "November 2–8, 2024",
|
||||
"link": "https://kr.org/KR2024/",
|
||||
"proceedingsUrl": "https://proceedings.kr.org/2024/"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"status": "past",
|
||||
"location": "Rhodes, Greece",
|
||||
"dates": "September 2–8, 2023",
|
||||
"link": "https://kr.org/KR2023/",
|
||||
"proceedingsUrl": "https://proceedings.kr.org/2023/"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"status": "past",
|
||||
"location": "Haifa, Israel",
|
||||
"dates": "July 31–August 5, 2022",
|
||||
"link": "https://kr.org/KR2022/",
|
||||
"proceedingsUrl": "https://proceedings.kr.org/2022/"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"status": "past",
|
||||
"location": "Hanoi, Vietnam (virtual)",
|
||||
"dates": "November 3–12, 2021",
|
||||
"link": "https://kr.org/KR2021/",
|
||||
"proceedingsUrl": "https://proceedings.kr.org/2021/"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"status": "past",
|
||||
"location": "Rhodes, Greece (virtual)",
|
||||
"dates": "September 12–18, 2020",
|
||||
"link": "https://kr.org/KR2020/",
|
||||
"proceedingsUrl": "https://proceedings.kr.org/2020/"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"status": "past",
|
||||
"location": "Tempe, Arizona, USA",
|
||||
"dates": "October 27–November 2, 2018",
|
||||
"link": "https://kr.org/KR2018/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-16-2018/"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"status": "past",
|
||||
"location": "Cape Town, South Africa",
|
||||
"dates": "April 25–29, 2016",
|
||||
"link": "https://kr.org/KR2016/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-15-2016/"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"status": "past",
|
||||
"location": "Vienna, Austria",
|
||||
"dates": "July 20–24, 2014",
|
||||
"link": "https://kr.org/KR2014/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-14-2014/"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"status": "past",
|
||||
"location": "Rome, Italy",
|
||||
"dates": "June 10–14, 2012",
|
||||
"link": "https://kr.org/KR2012/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-13-2012/"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"status": "past",
|
||||
"location": "Toronto, Canada",
|
||||
"dates": "May 9–13, 2010",
|
||||
"link": "https://kr.org/KR2010/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-12-2010/"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"status": "past",
|
||||
"location": "Sydney, Australia",
|
||||
"dates": "September 16–19, 2008",
|
||||
"link": "https://kr.org/KR2008/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-2008/"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"status": "past",
|
||||
"location": "Lake District, UK",
|
||||
"dates": "June 2–5, 2006",
|
||||
"link": "https://kr.org/KR2006/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-2006/"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"status": "past",
|
||||
"location": "Whistler, Canada",
|
||||
"dates": "June 2–5, 2004",
|
||||
"link": "https://kr.org/KR2004/",
|
||||
"proceedingsUrl": "https://aaai.org/proceeding/kr-2004/"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"status": "past",
|
||||
"location": "Toulouse, France",
|
||||
"dates": "April 22–25, 2002",
|
||||
"link": "https://kr.org/KR2002/",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-2002-proceedings-scanned.pdf"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"status": "past",
|
||||
"location": "Breckenridge, Colorado, USA",
|
||||
"dates": "April 12–15, 2000",
|
||||
"link": "https://kr.org/KR2000/",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-2000-proceedings-scanned.pdf"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"status": "past",
|
||||
"location": "Trento, Italy",
|
||||
"dates": "June 2–5, 1998",
|
||||
"link": "https://kr.org/KR1998/",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-1998-proceedings-scanned.pdf"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"status": "past",
|
||||
"location": "Cambridge, Massachusetts, USA",
|
||||
"dates": "November 5–8, 1996",
|
||||
"link": "https://kr.org/KR1996/",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-1996-proceedings-scanned.pdf"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"status": "past",
|
||||
"location": "Bonn, Germany",
|
||||
"dates": "May 24–27, 1994",
|
||||
"link": "https://dblp.org/db/conf/kr/kr94.html",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-1994-proceedings-scanned.pdf"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"status": "past",
|
||||
"location": "Cambridge, Massachusetts, USA",
|
||||
"dates": "October 25–29, 1992",
|
||||
"link": "https://dblp.org/db/conf/kr/kr92.html",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-1992-proceedings-scanned.pdf"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"status": "past",
|
||||
"location": "Cambridge, Massachusetts, USA",
|
||||
"dates": "April 22–25, 1991",
|
||||
"link": "https://dblp.org/db/conf/kr/kr91.html",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-1991-proceedings-scanned.pdf"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"status": "past",
|
||||
"location": "Toronto, Canada",
|
||||
"dates": "May 15–18, 1989",
|
||||
"link": "https://dblp.org/db/conf/kr/kr89.html",
|
||||
"proceedingsUrl": "https://kr.org/proceedings/KR-1989-proceedings-scanned.pdf"
|
||||
}
|
||||
],
|
||||
"scope": "23actualeventrows1989–2026 isolatedfromofficialCONFERENCESarray linkedbyconferencepage; staticstring/numberparsingonly,nocodeexecution. Excludesawards/otherarraysandannounced2027/2028. Datesandlinksretained; virtual2021keptdistinctfrominpersonlocation. ProceedingsPDFlinksaremetadataonly,nopaperPDFdownload; noindividualaccepted/negativeclaim."
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"source_url": "https://miccai.org/past-conferences/",
|
||||
"checked_at": "2026-11-08T11:39:24.623314+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "5f981fec02f6b3cc189833bea24e3214a91db4d9eaf27401e7d60070abebb6b2",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://miccai.org/past-conferences/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Anonymous direct HTTP returned 403/406. Archived official-page web-tool text is a separate representation, not a raw HTML response; no access-control bypass.",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "MICCAI 2026"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "MICCAI 2025"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "MICCAI 2024"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "MICCAI 2023"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "MICCAI 2022"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "MICCAI 2021"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "MICCAI 2020"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "MICCAI 2019"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "MICCAI 2018"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "MICCAI 2017"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "MICCAI 2016"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "MICCAI 2015"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "MICCAI 2014"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "MICCAI 2013"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "MICCAI 2012"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "MICCAI 2011"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "MICCAI 2010"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "MICCAI 2009"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "MICCAI 2008"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "MICCAI 2007"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "MICCAI 2006"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "MICCAI 2005"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "MICCAI 2004"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "MICCAI 2003"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "MICCAI 2002"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "MICCAI 2001"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "MICCAI 2000"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "MICCAI 99"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "MICCAI 98"
|
||||
}
|
||||
],
|
||||
"named_predecessor_events": [
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "CVRMed-MRCAS 97"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "VBC 96"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "MRCAS 95"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "CVRMed 95"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "MRCAS 94"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "VBC 94"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"source_label": "VBC 92"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"source_label": "VBC 90"
|
||||
}
|
||||
],
|
||||
"source_disagreements": [
|
||||
{
|
||||
"year": 2026,
|
||||
"current_society_history": "Sept 27-Oct 1; Strasbourg, France",
|
||||
"older_sponsorship_material": "Oct 4-8; Abu Dhabi, United Arab Emirates",
|
||||
"older_source_url": "https://conferences.miccai.org/2026/files/downloads/MICCAI2026-sponsorship-prospectus.pdf",
|
||||
"interpretation": "Retain primary-source conflict; event year is agreed. No database date/location rewrite or assumption the old prospectus describes the final venue."
|
||||
}
|
||||
],
|
||||
"scope": "29 explicit MICCAI rows including two-digit 98/99 labels decoded as 1998/1999. Eight separately named predecessor events are preserved outside MICCAI expected years: same-year CVRMed/MRCAS/VBC events are not renamed or collapsed into MICCAI. Society incorporation in 2004 is not the conference start. Multiple LNCS volumes and workshops do not create extra main events; accepted reviews do not prove public rejection export."
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"source_url": "https://mlsys.org/",
|
||||
"checked_at": "2026-11-08T06:51:13.127546+00:00",
|
||||
"source_html_sha256": "2309b47c1294e42a3b5eee4ffe52a192aabc25fcd642710750f4ade6928cdf7d",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"year_links": {
|
||||
"2018": [
|
||||
"https://mlsys.org/Conferences/2018"
|
||||
],
|
||||
"2019": [
|
||||
"https://mlsys.org/Conferences/2019/"
|
||||
],
|
||||
"2020": [
|
||||
"https://mlsys.org/Conferences/2020"
|
||||
],
|
||||
"2021": [
|
||||
"https://mlsys.org/Conferences/2021"
|
||||
],
|
||||
"2022": [
|
||||
"https://mlsys.org/Conferences/2022"
|
||||
],
|
||||
"2023": [
|
||||
"https://mlsys.org/Conferences/2023"
|
||||
],
|
||||
"2024": [
|
||||
"https://mlsys.org/Conferences/2024"
|
||||
],
|
||||
"2025": [
|
||||
"https://mlsys.org/Conferences/2025"
|
||||
],
|
||||
"2026": [
|
||||
"https://mlsys.org/Conferences/2026"
|
||||
],
|
||||
"2027": [
|
||||
"https://mlsys.org/Conferences/2027/CallForResearchPapers",
|
||||
"https://mlsys.org/Conferences/2027/Dates"
|
||||
]
|
||||
},
|
||||
"proceedings_archive": {
|
||||
"source_url": "https://proceedings.mlsys.org/",
|
||||
"checked_at": "2026-11-08T06:51:09.375277+00:00",
|
||||
"source_html_sha256": "3102f1921a5c120dd02749f3c7e31ec3d58c32e03da21c244469903f04f833ba",
|
||||
"expected_proceedings_years": [
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"year_links": {
|
||||
"2019": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2019"
|
||||
],
|
||||
"2020": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2020"
|
||||
],
|
||||
"2021": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2021"
|
||||
],
|
||||
"2022": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2022"
|
||||
],
|
||||
"2023": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2023"
|
||||
],
|
||||
"2024": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2024"
|
||||
],
|
||||
"2025": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2025"
|
||||
],
|
||||
"2026": [
|
||||
"https://proceedings.mlsys.org/paper_files/paper/2026"
|
||||
]
|
||||
}
|
||||
},
|
||||
"predecessor_edition": {
|
||||
"source_url": "https://mlsys.org/Conferences/2018/",
|
||||
"checked_at": "2026-11-08T06:51:18.356899+00:00",
|
||||
"source_html_sha256": "474b710e34c938d287f923c65b4bdc28ac3d61d6a97d14fde66db818e707673e",
|
||||
"year": 2018,
|
||||
"name": "SysML",
|
||||
"publication_mode": "non_archival",
|
||||
"note": "官方首届录用 oral/poster 非存档;允许近期已发表研究,后续可原样再投。不由 PDF 链接制造正式出版或重复录用;拒稿公开范围未核实。"
|
||||
},
|
||||
"scope": "Conference-year enumeration only; archival proceedings begin in 2019. Per-track/paper coverage and public negative availability require independent verification."
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"source_url": "https://www.acmmm.org/",
|
||||
"resolved_url": "https://www.acmmm.org/",
|
||||
"checked_at": "2026-11-08T10:03:02.860428+00:00",
|
||||
"source_sha256": "1b3428b0a898f66dc92a5bd517f882d06dada0164d805cabae627107cda05a47",
|
||||
"expected_years": [
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2028
|
||||
],
|
||||
"history_years": [
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015
|
||||
],
|
||||
"past_and_current_heading_years": [
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"research_track_statistic_year_labels": [
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://www.sigmm.org/preservation/mm/",
|
||||
"resolved_url": "https://www.sigmm.org/preservation/mm/",
|
||||
"checked_at": "2026-11-08T10:03:03.844294+00:00",
|
||||
"source_sha256": "711435f0d0c27e542342b92b0295bda95422b47b6e3dfa6be8b694a9b976f84e"
|
||||
},
|
||||
{
|
||||
"source_url": "https://2026.acmmm.org/",
|
||||
"resolved_url": "https://2026.acmmm.org/",
|
||||
"checked_at": "2026-11-08T10:03:03.026686+00:00",
|
||||
"source_sha256": "775794bad24dbbc8cabace5243485b51ff07789076cc7dbb4aa38d0615707020"
|
||||
}
|
||||
],
|
||||
"announced_upcoming_events": [
|
||||
{
|
||||
"year": 2026,
|
||||
"event_dates": "2026-11-10/2026-11-14",
|
||||
"as_of": "2026-11-08",
|
||||
"scope": "Not yet held; publication availability not independently inferred."
|
||||
}
|
||||
],
|
||||
"broken_previous_editions_link": {
|
||||
"url": "https://www.acmmm.org/ACMMM_pasteditions.html",
|
||||
"observed_status": 404,
|
||||
"interpretation": "Not absence evidence; SIGMMarchive and individually listed first-partyyearlabels used instead."
|
||||
},
|
||||
"policy_assets": [
|
||||
{
|
||||
"source_url": "https://www.acmmm.org/files/ACMMMDeskRej_2025.pdf",
|
||||
"resolved_url": "https://www.acmmm.org/files/ACMMMDeskRej_2025.pdf",
|
||||
"checked_at": "2026-11-08T10:03:04.577190+00:00",
|
||||
"source_sha256": "649bb2309c4d18653a49b4fa4a4b5d9cc872e5a03e57c5342ecf4f169d17cf6d"
|
||||
}
|
||||
],
|
||||
"policy_note": "Steering-committee website links a December2025approved desk-rejection PDF which retains proposal/alternative wording. Do not infer final sanction thresholds or actual per-paper decisions from that document, nor public rejection availability. First-party aggregate research-track submission/acceptance totals are not individual rejected-paper records.",
|
||||
"scope": "34actualyearlabels through2026 from SIGMMhistory1993–2015, currenthomepagepast/currentheadings and separately listedresearch-trackstatistics2005–2025, checked against2026official34thconference announcement. No annual interpolation. Main/workshop/demo/other tracks remain independent; MM is not MMM or ICME.",
|
||||
"cutoff_year": 2026,
|
||||
"source_html_sha256": "1b3428b0a898f66dc92a5bd517f882d06dada0164d805cabae627107cda05a47",
|
||||
"public_metadata_access_check": {
|
||||
"official_group_url": "https://openreview.net/group?id=acmmm.org/ACMMM/2026/Conference",
|
||||
"official_policy_url": "https://2026.acmmm.org/site/cfp-guidelines.html",
|
||||
"checks": [
|
||||
{
|
||||
"url": "https://api2.openreview.net/groups?id=acmmm.org%2FACMMM%2F2026%2FConference",
|
||||
"checked_at": "2026-11-08T10:08:54.026580+00:00",
|
||||
"http_status": 200,
|
||||
"response_sha256": "857dab80694ba7443cac711d9e567b427a1c43568c7d3b91e80aa7800e0db5f2",
|
||||
"scope": "Only this anonymous public endpoint/query; not a rejection census or proof of absence."
|
||||
},
|
||||
{
|
||||
"url": "https://api2.openreview.net/notes?content.venueid=acmmm.org%2FACMMM%2F2026%2FConference&limit=1",
|
||||
"checked_at": "2026-11-08T10:08:57.480669+00:00",
|
||||
"http_status": 403,
|
||||
"response_sha256": "b8001134d8f50a8008037fd5a918a97e5479c019500404f741e6d13f6c8ddbfd",
|
||||
"scope": "Only this anonymous public endpoint/query; not a rejection census or proof of absence."
|
||||
}
|
||||
],
|
||||
"interpretation": "The public group endpoint returned200, while this anonymous venueid notes query returned403. This is an access limitation for the exact query, not zero records or evidence that rejected submissions are absent. CFP describes post-process public final reviews and applicable author responses, but does not establish that all rejected submissions are public. No access bypass or database write.",
|
||||
"rejection_availability": "unknown"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"checked_on": "2026-11-08",
|
||||
"scope": "One bounded main-track policy review; no per-paper rejection export and no database write. Existing MICCAI/FAccT checks remain unchanged.",
|
||||
"checks": [
|
||||
{
|
||||
"venue": "ISMIR",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://ismir2026.ismir.net/authors/call-for-papers",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方CFP与作者指南说明双盲、CMT及可能desk rejection,但未确认会后全体拒稿元数据是否公开;匿名投稿及预印本规则不等于逐篇最终决定。late-breaking/demo、tutorial及music投稿另属轨道,不能混作主会拒稿。",
|
||||
"evidence_file": "music-medical-fairness-policy-checks-2026-11-08.json",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://ismir2026.ismir.net/authors/call-for-papers",
|
||||
"checked_at": "2026-11-08T11:39:24.623314+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "e1572ef05e361930fa8705b4d64bb8494d17793eb0bad42352f389dc87a4e8ae",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://ismir2026.ismir.net/authors/call-for-papers",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Anonymous direct HTTP returned 403/406. Archived official-page web-tool text is a separate representation, not a raw HTML response; no access-control bypass."
|
||||
},
|
||||
{
|
||||
"source_url": "https://ismir2026.ismir.net/authors/author-guidelines",
|
||||
"checked_at": "2026-11-08T11:39:24.623314+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "9cd75abefdbc4136a9de9d59d326d7df911ebfa0079f8047d45bae1277ae377f",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://ismir2026.ismir.net/authors/author-guidelines",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Anonymous direct HTTP returned 403/406. Archived official-page web-tool text is a separate representation, not a raw HTML response; no access-control bypass."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,516 @@
|
||||
{
|
||||
"source_url": "https://aclanthology.org/venues/naacl/",
|
||||
"resolved_url": "https://aclanthology.org/venues/naacl/",
|
||||
"checked_at": "2026-11-08T10:20:24.463381+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "d45623780479aa07c8afc419d5799decf59c9f1b124ea799281993f2a43ec14f",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2000,
|
||||
2001,
|
||||
2003,
|
||||
2004,
|
||||
2006,
|
||||
2007,
|
||||
2009,
|
||||
2010,
|
||||
2012,
|
||||
2013,
|
||||
2015,
|
||||
2016,
|
||||
2018,
|
||||
2019,
|
||||
2021,
|
||||
2022,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"publisher_years": [
|
||||
2000,
|
||||
2001,
|
||||
2003,
|
||||
2004,
|
||||
2006,
|
||||
2007,
|
||||
2009,
|
||||
2010,
|
||||
2012,
|
||||
2013,
|
||||
2015,
|
||||
2016,
|
||||
2018,
|
||||
2019,
|
||||
2021,
|
||||
2022,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2025,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2025/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.naacl-long/",
|
||||
"title": "Proceedings of the 2025 Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 1: Long Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.naacl-short/",
|
||||
"title": "Proceedings of the 2025 Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 2: Short Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.naacl-industry/",
|
||||
"title": "Proceedings of the 2025 Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 3: Industry Track)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.naacl-srw/",
|
||||
"title": "Proceedings of the 2025 Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 4: Student Research Workshop)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.naacl-tutorial/",
|
||||
"title": "Proceedings of the 2025 Annual Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 5: Tutorial Abstracts)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2025.naacl-demo/",
|
||||
"title": "Proceedings of the 2025 Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies (System Demonstrations)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2024/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.naacl-long/",
|
||||
"title": "Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 1: Long Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.naacl-short/",
|
||||
"title": "Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 2: Short Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.naacl-demo/",
|
||||
"title": "Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 3: System Demonstrations)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.naacl-srw/",
|
||||
"title": "Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 4: Student Research Workshop)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.naacl-tutorials/",
|
||||
"title": "Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 5: Tutorial Abstracts)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2024.naacl-industry/",
|
||||
"title": "Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 6: Industry Track)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2022/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2022.naacl-main/",
|
||||
"title": "Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2022.naacl-srw/",
|
||||
"title": "Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2022.naacl-demo/",
|
||||
"title": "Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: System Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2022.naacl-tutorials/",
|
||||
"title": "Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Tutorial Abstracts"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2022.naacl-industry/",
|
||||
"title": "Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Industry Track"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2021/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.naacl-main/",
|
||||
"title": "Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.naacl-demos/",
|
||||
"title": "Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.naacl-srw/",
|
||||
"title": "Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.naacl-tutorials/",
|
||||
"title": "Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Tutorials"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/2021.naacl-industry/",
|
||||
"title": "Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Industry Papers"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2019/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N19-1/",
|
||||
"title": "Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N19-2/",
|
||||
"title": "Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Industry Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N19-3/",
|
||||
"title": "Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N19-4/",
|
||||
"title": "Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics (Demonstrations)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N19-5/",
|
||||
"title": "Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Tutorials"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2018/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N18-1/",
|
||||
"title": "Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N18-2/",
|
||||
"title": "Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Short Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N18-3/",
|
||||
"title": "Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 3 (Industry Papers)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N18-4/",
|
||||
"title": "Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N18-5/",
|
||||
"title": "Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N18-6/",
|
||||
"title": "Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2016/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N16-1/",
|
||||
"title": "Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N16-2/",
|
||||
"title": "Proceedings of the NAACL Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N16-3/",
|
||||
"title": "Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N16-4/",
|
||||
"title": "Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2015/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N15-1/",
|
||||
"title": "Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N15-2/",
|
||||
"title": "Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N15-3/",
|
||||
"title": "Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N15-4/",
|
||||
"title": "Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2013/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N13-1/",
|
||||
"title": "Proceedings of the 2013 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N13-2/",
|
||||
"title": "Proceedings of the 2013 NAACL HLT Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N13-3/",
|
||||
"title": "Proceedings of the 2013 NAACL HLT Demonstration Session"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N13-4/",
|
||||
"title": "NAACL HLT 2013 Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2012/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N12-1/",
|
||||
"title": "Proceedings of the 2012 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N12-2/",
|
||||
"title": "Proceedings of the NAACL HLT 2012 Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N12-3/",
|
||||
"title": "Proceedings of the Demonstration Session at the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N12-4/",
|
||||
"title": "Tutorial Abstracts at the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2010/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N10-1/",
|
||||
"title": "Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N10-2/",
|
||||
"title": "Proceedings of the NAACL HLT 2010 Demonstration Session"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N10-3/",
|
||||
"title": "Proceedings of the NAACL HLT 2010 Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N10-4/",
|
||||
"title": "NAACL HLT 2010 Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2009/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N09-1/",
|
||||
"title": "Proceedings of Human Language Technologies: The 2009 Annual Conference of the North American Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N09-2/",
|
||||
"title": "Proceedings of Human Language Technologies: The 2009 Annual Conference of the North American Chapter of the Association for Computational Linguistics, Companion Volume: Short Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N09-3/",
|
||||
"title": "Proceedings of Human Language Technologies: The 2009 Annual Conference of the North American Chapter of the Association for Computational Linguistics, Companion Volume: Student Research Workshop and Doctoral Consortium"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N09-4/",
|
||||
"title": "Proceedings of Human Language Technologies: The 2009 Annual Conference of the North American Chapter of the Association for Computational Linguistics, Companion Volume: Tutorial Abstracts"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N09-5/",
|
||||
"title": "Proceedings of Human Language Technologies: The 2009 Annual Conference of the North American Chapter of the Association for Computational Linguistics, Companion Volume: Demonstration Session"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2007/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N07-1/",
|
||||
"title": "Human Language Technologies 2007: The Conference of the North American Chapter of the Association for Computational Linguistics; Proceedings of the Main Conference"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N07-2/",
|
||||
"title": "Human Language Technologies 2007: The Conference of the North American Chapter of the Association for Computational Linguistics; Companion Volume, Short Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N07-3/",
|
||||
"title": "Proceedings of the NAACL-HLT 2007 Doctoral Consortium"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N07-4/",
|
||||
"title": "Proceedings of Human Language Technologies: The Annual Conference of the North American Chapter of the Association for Computational Linguistics (NAACL-HLT)"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N07-5/",
|
||||
"title": "Proceedings of the Human Language Technology Conference of the NAACL, Companion Volume: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2006/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N06-1/",
|
||||
"title": "Proceedings of the Human Language Technology Conference of the NAACL, Main Conference"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N06-2/",
|
||||
"title": "Proceedings of the Human Language Technology Conference of the NAACL, Companion Volume: Short Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N06-3/",
|
||||
"title": "Proceedings of the Human Language Technology Conference of the NAACL, Companion Volume: Doctoral Consortium"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N06-4/",
|
||||
"title": "Proceedings of the Human Language Technology Conference of the NAACL, Companion Volume: Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N06-5/",
|
||||
"title": "Proceedings of the Human Language Technology Conference of the NAACL, Companion Volume: Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2004/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N04-1/",
|
||||
"title": "Proceedings of the Human Language Technology Conference of the North American Chapter of the Association for Computational Linguistics: HLT-NAACL 2004"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N04-2/",
|
||||
"title": "Proceedings of the Student Research Workshop at HLT-NAACL 2004"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N04-3/",
|
||||
"title": "Demonstration Papers at HLT-NAACL 2004"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N04-4/",
|
||||
"title": "Proceedings of HLT-NAACL 2004: Short Papers"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2003/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N03-1/",
|
||||
"title": "Proceedings of the 2003 Human Language Technology Conference of the North American Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N03-2/",
|
||||
"title": "Companion Volume of the Proceedings of HLT-NAACL 2003 - Short Papers"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N03-3/",
|
||||
"title": "Proceedings of the HLT-NAACL 2003 Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N03-4/",
|
||||
"title": "Companion Volume of the Proceedings of HLT-NAACL 2003 - Demonstrations"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N03-5/",
|
||||
"title": "Companion Volume of the Proceedings of HLT-NAACL 2003 - Tutorial Abstracts"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2001/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/N01-1/",
|
||||
"title": "Second Meeting of the North American Chapter of the Association for Computational Linguistics"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"event_url": "https://aclanthology.org/events/naacl-2000/",
|
||||
"volumes": [
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/A00-2/",
|
||||
"title": "1st Meeting of the North American Chapter of the Association for Computational Linguistics"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/A00-3/",
|
||||
"title": "Proceedings of the ANLP-NAACL 2000 Student Research Workshop"
|
||||
},
|
||||
{
|
||||
"url": "https://aclanthology.org/volumes/A00-4/",
|
||||
"title": "Author Index to the Proceedings of ANLP-NAACL 2000 and the Student Research Workshop"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"scope": "Actual first-party publisher entries; multiple volumes/tracks do not create extra event years. Year census does not establish per-paper/track/abstract or public rejected-submission completeness. 18 published NAACLseries eventyears2000–2025, with first/second meetings and subsequent actual publisherentries, crosschecked against chapter list. No annual interpolation or fabricated NAACL2026.",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://naacl.org/conferences/",
|
||||
"resolved_url": "https://naacl.org/conferences/",
|
||||
"checked_at": "2026-11-08T10:20:26.974206+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "bf0a00acb6be31011516080b7ef0311299236525e3db445be46b104c83a46f38"
|
||||
},
|
||||
{
|
||||
"source_url": "https://naacl.org/posts/2001-09-01-newsletter",
|
||||
"resolved_url": "https://naacl.org/posts/2001-09-01-newsletter",
|
||||
"checked_at": "2026-11-08T10:22:01.105833+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "5ddef8c8bd3ec53301f2f8215eafc4190dc1891a76dd2ad47a240165a8c5e97c"
|
||||
}
|
||||
],
|
||||
"chapter_hosted_acl_years_not_new_naacl_series_editions": [
|
||||
2002,
|
||||
2005,
|
||||
2008,
|
||||
2011,
|
||||
2014,
|
||||
2017
|
||||
],
|
||||
"chapter_hosting_note": "Currentchapterlist mixes independently named NAACL/HLT-NAACL with hosted ACL meetings. The2001officialnewsletter explicitly calls2002 co-hosting internationalACL, not an extra standalone NAACL series acceptance. Chapterschedule/hosting does not rename ACLpapers. Publisher first andsecond meetings2000/2001 supplement chapterweb list starting2003.",
|
||||
"name_change": {
|
||||
"formerly": "North American Chapter",
|
||||
"current": "Nations of the Americas Chapter",
|
||||
"publisher_stated_until": "2024-10",
|
||||
"interpretation": "Preserve historic source titles/author fields; this organizational name change is not a new conference series or an extra submission."
|
||||
},
|
||||
"source_html_sha256": "d45623780479aa07c8afc419d5799decf59c9f1b124ea799281993f2a43ec14f"
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"source_url": "https://neurips.cc/",
|
||||
"checked_at": "2026-11-08T07:28:31.793833+00:00",
|
||||
"source_html_sha256": "2adec2819b63be23b21960b4f1c8d0dff1af501b8593b16f029bbb3e0902ebdf",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"published_years_in_official_proceedings_index": [
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025
|
||||
],
|
||||
"announced_years_without_proceedings_index": [
|
||||
2026
|
||||
],
|
||||
"proceedings_index": {
|
||||
"source_url": "https://proceedings.neurips.cc/",
|
||||
"checked_at": "2026-11-08T07:28:27.754669+00:00",
|
||||
"source_html_sha256": "c3bd4a4fd93a352393985c9e3ae3806ca34d7026c99d73e798910496babaad37",
|
||||
"year_and_track_links": [
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems Datasets and Benchmarks, 2021",
|
||||
"url": "https://datasets-benchmarks-proceedings.neurips.cc/paper/2021"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 38 Main Conference",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2025/vol38-main-conference"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 38 Creative AI",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2025"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 37",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2024"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 36",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2023"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 35",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2022"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 34",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2021"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 33",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2020"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 32",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2019"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 31",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2018"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 30",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2017"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 29",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2016"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 28",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2015"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 27",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2014"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 26",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2013"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 25",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2012"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 24",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2011"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 23",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2010"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 22",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2009"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 21",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2008"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 20",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2007"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 19",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2006"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 18",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2005"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 17",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2004"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 16",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2003"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 15",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2002"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 14",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2001"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 13",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/2000"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 12",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1999"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 11",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1998"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 10",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1997"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 9",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1996"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 8",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1995"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 7",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1994"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 6",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1993"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 5",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1992"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 4",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1991"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 3",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1990"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 2",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1989"
|
||||
},
|
||||
{
|
||||
"text": "Advances in Neural Information Processing Systems 1",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1988"
|
||||
},
|
||||
{
|
||||
"text": "Neural Information Processing Systems 0",
|
||||
"url": "https://proceedings.neurips.cc/paper_files/paper/1987"
|
||||
}
|
||||
]
|
||||
},
|
||||
"track_boundaries": [
|
||||
"2021 Datasets and Benchmarks has a separate index; from2022 it is inside main proceedings and requires per-paper track metadata.",
|
||||
"2025 Main Conference and Creative AI have distinct official index URLs; count one conference year, preserve separate tracks."
|
||||
],
|
||||
"scope": "Official published years 1987–2025 plus announced 40th edition2026. At check time 2026 proceedings not listed; missing announced year is not a claim of missing published records. No per-paper/track/negative completeness claim."
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"checked_on": "2026-11-08",
|
||||
"scope": "Four bounded year/track primary-source checks; not a historical policy census, actual rejected-paper export, or production import. No access bypass.",
|
||||
"checks": [
|
||||
{
|
||||
"venue": "NAACL",
|
||||
"year": 2025,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://2025.naacl.org/calls/papers/",
|
||||
"evidence": {
|
||||
"source_url": "https://2025.naacl.org/calls/papers/",
|
||||
"resolved_url": "https://2025.naacl.org/calls/papers/",
|
||||
"checked_at": "2026-11-08T10:22:02.491032+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "8b8db0cf37f0ef1b30b2b1578f609306f292fa87bef8c97083961c4b777aa077"
|
||||
},
|
||||
"note": "ARR评审不公开,作者可选择公开匿名投稿;这不是NAACL最终拒稿公开证据。会议commitment与ARR评审周期分开,ARR的preferred venue不是已投会议;ARR desk rejection不能标成NAACL desk rejection。TACL/CL展示不自动产生新的主会录用。该年最终拒稿发布范围仍未确认。"
|
||||
},
|
||||
{
|
||||
"venue": "EACL",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://2026.eacl.org/calls/papers/",
|
||||
"evidence": {
|
||||
"source_url": "https://2026.eacl.org/calls/papers/",
|
||||
"resolved_url": "https://2026.eacl.org/calls/papers/",
|
||||
"checked_at": "2026-11-08T10:23:05.391233+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "e71bcee71f1bd52ae9fce2c78f48f9ad3fb738461d8daef4fd62aaaec3597e15"
|
||||
},
|
||||
"note": "官方CFP确认ARR评审后commitment;未入主会的稿件会自动考虑Findings,两者同时通知,不能将Findings录用推断为最终会议Reject。TACL/CL期刊展示不自动当成主会录用;该页未明确会后拒稿元数据发布范围。"
|
||||
},
|
||||
{
|
||||
"venue": "COLING",
|
||||
"year": 2025,
|
||||
"track": "main_direct",
|
||||
"status": "not_published",
|
||||
"primary_url": "https://coling2025.org/calls/main_conference_papers/",
|
||||
"evidence": {
|
||||
"source_url": "https://coling2025.org/calls/main_conference_papers/",
|
||||
"resolved_url": "https://coling2025.org/calls/main_conference_papers/",
|
||||
"checked_at": "2026-11-08T10:22:02.995232+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "3185283db3be9adda44c381074d61b9fbaaab9b62d1ddab6cbcbdc3ac4f971e0"
|
||||
},
|
||||
"note": "仅该年main直投通道明确说明投稿和评审不公开;ARR已评审稿件另经commitment,由SAC/PC决定,ARR评审不是最终COLING决定。不外推其他年份、轨道或独立数据集;不从未录用清单生成拒稿。"
|
||||
},
|
||||
{
|
||||
"venue": "AAMAS",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://cyprusconferences.org/aamas2026/submission-instructions/",
|
||||
"evidence": {
|
||||
"source_url": "https://cyprusconferences.org/aamas2026/submission-instructions/",
|
||||
"resolved_url": "https://cyprusconferences.org/aamas2026/submission-instructions/",
|
||||
"checked_at": "2026-11-08T10:20:30.733617+00:00",
|
||||
"http_status": 200,
|
||||
"source_sha256": "c428a92e83ba913b1f36a8cca009ccf0f62fe29f20f8c4c74d173a4fb591b27a"
|
||||
},
|
||||
"note": "官方说明录用论文及评审将在OpenReview公开,投稿材料保密;未明确会后所有拒稿元数据发布范围。允许其他会议拒稿重投是资格规则,不能据此生成逐篇先前拒稿;不能把AAAI特殊轨道规则外推主会。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"source_url": "https://recsys.acm.org/",
|
||||
"checked_at": "2026-11-07T20:53:46.009213+00:00",
|
||||
"source_html_sha256": "b2f68fbe060b34e24c2bbb9032aa69aac66a1a48a20cb4da1cd205b977c7f30b",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"year_links": {
|
||||
"2007": [
|
||||
"https://recsys.acm.org/recsys07/"
|
||||
],
|
||||
"2008": [
|
||||
"https://recsys.acm.org/recsys08/"
|
||||
],
|
||||
"2009": [
|
||||
"https://recsys.acm.org/recsys09/"
|
||||
],
|
||||
"2010": [
|
||||
"https://recsys.acm.org/recsys10/"
|
||||
],
|
||||
"2011": [
|
||||
"https://recsys.acm.org/recsys11/"
|
||||
],
|
||||
"2012": [
|
||||
"https://recsys.acm.org/recsys12/"
|
||||
],
|
||||
"2013": [
|
||||
"https://recsys.acm.org/recsys13/"
|
||||
],
|
||||
"2014": [
|
||||
"https://recsys.acm.org/recsys14/"
|
||||
],
|
||||
"2015": [
|
||||
"https://recsys.acm.org/recsys15/"
|
||||
],
|
||||
"2016": [
|
||||
"https://recsys.acm.org/recsys16/"
|
||||
],
|
||||
"2017": [
|
||||
"https://recsys.acm.org/recsys17/"
|
||||
],
|
||||
"2018": [
|
||||
"https://recsys.acm.org/recsys18/"
|
||||
],
|
||||
"2019": [
|
||||
"https://recsys.acm.org/recsys19/"
|
||||
],
|
||||
"2020": [
|
||||
"https://recsys.acm.org/recsys20/"
|
||||
],
|
||||
"2021": [
|
||||
"https://recsys.acm.org/recsys21/"
|
||||
],
|
||||
"2022": [
|
||||
"https://recsys.acm.org/recsys22/"
|
||||
],
|
||||
"2023": [
|
||||
"https://recsys.acm.org/recsys23/"
|
||||
],
|
||||
"2024": [
|
||||
"https://recsys.acm.org/recsys24/"
|
||||
],
|
||||
"2025": [
|
||||
"https://recsys.acm.org/recsys25/"
|
||||
],
|
||||
"2026": [
|
||||
"https://recsys.acm.org/recsys26/"
|
||||
],
|
||||
"2027": [
|
||||
"https://recsys.acm.org/recsys27/"
|
||||
]
|
||||
},
|
||||
"scope": "Official conference-year archive enumeration only; not per-track/paper-list or rejection coverage."
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"checked_on": "2026-11-08",
|
||||
"scope": "补充三个会议各一项限定年份/轨道核查;不是完整历史政策普查或公开负面记录全集,无数据库写入。当前配置快照不代表永久发布政策。",
|
||||
"checks": [
|
||||
{
|
||||
"venue": "CoNLL",
|
||||
"year": 2025,
|
||||
"track": "archival",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://www.aclweb.org/portal/content/conll-2025-2nd-call-papers",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "2025第二次官方CFP改为只收直接投稿;不能继续用第一次CFP的ARR路径。Archival匿名、非存档展示不匿名且可为2023–2025已有发表论文,展示不生成新的主会存档录用。OpenReview托管路径含Workshop不代表CoNLL正式论文的语义track。公开group当前三个public标志false,未确认会后全部拒稿/withdrawn元数据范围,不能推断零条或永不公开。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://www.aclweb.org/portal/content/conll-2025-2nd-call-papers",
|
||||
"checked_at": "2026-11-08T12:23:12.646583+00:00",
|
||||
"source_representation": "first_party_organizer_CFP_text_returned_by_web_tool",
|
||||
"source_html_sha256": null,
|
||||
"source_extract_sha256": "168aae01ee24b65f7b120d87bfd8a3a46e313a7e43482f755db3e13b2a52d9a8",
|
||||
"direct_fetch": {
|
||||
"source_url": "https://www.aclweb.org/portal/content/conll-2025-2nd-call-papers",
|
||||
"error": "HTTP Error 418: Unknown",
|
||||
"checked_at": "2026-11-08T12:21:07.703494+00:00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"source_url": "https://api2.openreview.net/groups?id=aclweb.org%2FACL%2F2025%2FWorkshop%2FCoNLL",
|
||||
"resolved_url": "https://api2.openreview.net/groups?id=aclweb.org%2FACL%2F2025%2FWorkshop%2FCoNLL",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:21:49.351048+00:00",
|
||||
"source_sha256": "7ad88f486224f08bec7a673e541557d8b7d46238154bf21aa9e6a0cf636aa894"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "SIGIR",
|
||||
"year": 2026,
|
||||
"track": "full_papers",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://sigir2026.org/en-AU/pages/submissions/full-papers-track",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方OpenReview group说明为2026 Full Papers Track并链接确切CFP;三个投稿公开标志当前为false。一次Rejected_Submission匿名notes查询403,未取得逐篇记录,不能当作零条或完整全历史拒稿核查。CFP直连HTTP200但web工具没有可读行,原HTML及路由限制保留;不把short/其他轨道或2027规则套用到2026。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://api2.openreview.net/groups?id=ACM.org%2FSIGIR%2F2026%2FConference",
|
||||
"resolved_url": "https://api2.openreview.net/groups?id=ACM.org%2FSIGIR%2F2026%2FConference",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:19:52.058120+00:00",
|
||||
"source_sha256": "1b622a620e7f35f1648d25d08faada7c384d8c05cdc3f84cef3f2656cf141108"
|
||||
},
|
||||
{
|
||||
"source_url": "https://sigir2026.org/en-AU/pages/submissions/full-papers-track",
|
||||
"resolved_url": "https://sigir2026.org/en-AU/pages/submissions/full-papers-track",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:22:04.292334+00:00",
|
||||
"source_sha256": "1adbff7531aa3f86c6c94605eaeefe349c8e760f222cf620b4572e52c8fc718e"
|
||||
},
|
||||
{
|
||||
"source_url": "https://api2.openreview.net/notes?content.venueid=ACM.org%2FSIGIR%2F2026%2FConference%2FRejected_Submission&limit=1",
|
||||
"error": "HTTP Error 403: Forbidden",
|
||||
"checked_at": "2026-11-08T12:22:05.292689+00:00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "IROS",
|
||||
"year": 2025,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://www.iros25.org/CallForPapersv2",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方2025 CFP说明PaperPlaza、单盲审稿及Senior Program Committee最终决定;仅期刊展示不算常规IROS新录用。保密规则和已录用稿件发表安排未确认会后逐篇拒稿元数据公开范围。TLS校验失败保留,使用索引中的官方CFP文本;未关闭TLS验证。2026访问限制依旧,不能将2025结论推广为2026或全部历史。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://www.iros25.org/CallForPapersv2",
|
||||
"checked_at": "2026-11-08T12:23:12.646583+00:00",
|
||||
"source_representation": "indexed_first_party_CFP_text_returned_by_search_tool",
|
||||
"source_html_sha256": null,
|
||||
"source_extract_sha256": "ae0c2d0211a8d2ade1a528d1758a5e7f58fb3111ae96af5807f570ee9f1a4318",
|
||||
"direct_fetch": {
|
||||
"source_url": "https://www.iros25.org/CallForPapersv2",
|
||||
"error": "<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1081)>",
|
||||
"checked_at": "2026-11-08T12:19:47.356024+00:00"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"public_group_snapshots": [
|
||||
{
|
||||
"venue": "CoNLL",
|
||||
"group_id": "aclweb.org/ACL/2025/Workshop/CoNLL",
|
||||
"public_flags_at_check": {
|
||||
"public_submissions": false,
|
||||
"public_withdrawn_submissions": false,
|
||||
"public_desk_rejected_submissions": false
|
||||
},
|
||||
"submission_venue_id": "aclweb.org/ACL/2025/Workshop/CoNLL/Submission",
|
||||
"rejected_venue_id": "aclweb.org/ACL/2025/Workshop/CoNLL/Rejected_Submission",
|
||||
"receipt": {
|
||||
"source_url": "https://api2.openreview.net/groups?id=aclweb.org%2FACL%2F2025%2FWorkshop%2FCoNLL",
|
||||
"resolved_url": "https://api2.openreview.net/groups?id=aclweb.org%2FACL%2F2025%2FWorkshop%2FCoNLL",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:21:49.351048+00:00",
|
||||
"source_sha256": "7ad88f486224f08bec7a673e541557d8b7d46238154bf21aa9e6a0cf636aa894"
|
||||
}
|
||||
},
|
||||
{
|
||||
"venue": "SIGIR",
|
||||
"group_id": "ACM.org/SIGIR/2026/Conference",
|
||||
"public_flags_at_check": {
|
||||
"public_submissions": false,
|
||||
"public_withdrawn_submissions": false,
|
||||
"public_desk_rejected_submissions": false
|
||||
},
|
||||
"submission_venue_id": "ACM.org/SIGIR/2026/Conference/Submission",
|
||||
"rejected_venue_id": "ACM.org/SIGIR/2026/Conference/Rejected_Submission",
|
||||
"receipt": {
|
||||
"source_url": "https://api2.openreview.net/groups?id=ACM.org%2FSIGIR%2F2026%2FConference",
|
||||
"resolved_url": "https://api2.openreview.net/groups?id=ACM.org%2FSIGIR%2F2026%2FConference",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T12:19:52.058120+00:00",
|
||||
"source_sha256": "1b622a620e7f35f1648d25d08faada7c384d8c05cdc3f84cef3f2656cf141108"
|
||||
}
|
||||
}
|
||||
],
|
||||
"anonymous_access_attempts": [
|
||||
{
|
||||
"venue": "SIGIR",
|
||||
"year": 2026,
|
||||
"track": "full_papers",
|
||||
"receipt": {
|
||||
"source_url": "https://api2.openreview.net/notes?content.venueid=ACM.org%2FSIGIR%2F2026%2FConference%2FRejected_Submission&limit=1",
|
||||
"error": "HTTP Error 403: Forbidden",
|
||||
"checked_at": "2026-11-08T12:22:05.292689+00:00"
|
||||
},
|
||||
"scope": "仅一次官方group配置所列Rejected_Submission venueid查询,limit1;403不是零记录,不绕过权限。"
|
||||
}
|
||||
],
|
||||
"conll2025_policy_revision": {
|
||||
"source": {
|
||||
"source_url": "https://www.aclweb.org/portal/content/conll-2025-2nd-call-papers",
|
||||
"checked_at": "2026-11-08T12:23:12.646583+00:00",
|
||||
"source_representation": "first_party_organizer_CFP_text_returned_by_web_tool",
|
||||
"source_html_sha256": null,
|
||||
"source_extract_sha256": "168aae01ee24b65f7b120d87bfd8a3a46e313a7e43482f755db3e13b2a52d9a8",
|
||||
"direct_fetch": {
|
||||
"source_url": "https://www.aclweb.org/portal/content/conll-2025-2nd-call-papers",
|
||||
"error": "HTTP Error 418: Unknown",
|
||||
"checked_at": "2026-11-08T12:21:07.703494+00:00"
|
||||
}
|
||||
},
|
||||
"revision": "2025-02-07 second CFP",
|
||||
"direct_only": true,
|
||||
"archival_anonymous": true,
|
||||
"nonarchival_anonymous": false,
|
||||
"nonarchival_scope": "已有2023–2025发表作品的展示,不额外生成存档主会录用。",
|
||||
"hosting_path_semantics": "Workshop路径是OpenReview托管标识,不能单独决定论文track。"
|
||||
},
|
||||
"retrieval_boundaries": "CoNLL官方CFP直连418、IROS TLS失败,分别保留官方网页提取和索引文本哈希,与原HTML区分;SIGIR web路由无可读行,不执行其脚本。"
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"checked_on": "2026-11-08",
|
||||
"scope": "Three bounded main-track policy checks, no per-paper negative export and no DB write. IROS2025/2026 access attempts remain unverified rather than counted as completed policy reviews.",
|
||||
"checks": [
|
||||
{
|
||||
"venue": "ICRA",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://2026.ieee-icra.org/contribute/call-for-icra-2026-papers-now-accepting-submissions/",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方主会说明双盲、保密及Paperplaza;IROS2025未录用稿件可带评审回复转投ICRA2026,仍需正常审稿。转投政策不是逐篇公开原拒稿证据,具体跨会历史需要逐篇标识与来源。期刊论文仅展示须与主会新录用分开,会后全部拒稿元数据范围未确认。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://2026.ieee-icra.org/contribute/call-for-icra-2026-papers-now-accepting-submissions/",
|
||||
"checked_at": "2026-11-08T11:49:47.378390+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "1b137225f3eddf70b52bc85a9e67283aecfd391345c6f11adda4ac41812e7896",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://2026.ieee-icra.org/contribute/call-for-icra-2026-papers-now-accepting-submissions/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Official web-tool extraction archived separately from raw HTTP. Direct403 retained, not bypassed and not represented as HTML hash."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "ICASSP",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://2026.ieeeicassp.org/editorial-policies/",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方编辑政策说明初筛、至少三位评审、可选rebuttal及最终建议;存在desk rejection规则并不证明所有实际拒稿元数据公开。no-show未进IEEE Xplore也可能已向参会者分发论文集,不能因索引缺失或未展示推断Reject。OJSP期刊轨道与主会分开。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://2026.ieeeicassp.org/editorial-policies/",
|
||||
"checked_at": "2026-11-08T11:49:47.378390+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "fd0bea379c611f2f7bd7d0adaa5514ea0cb7f7468711cde247ac7b8874b1df6d",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://2026.ieeeicassp.org/editorial-policies/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Official web-tool extraction archived separately from raw HTTP. Direct403 retained, not bypassed and not represented as HTML hash."
|
||||
},
|
||||
{
|
||||
"source_url": "https://2026.ieeeicassp.org/sps-policies/",
|
||||
"checked_at": "2026-11-08T11:49:47.378390+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "9147c23b94a5deaad9e807b758ea493c9404cfa10a0e371e63628c78dccbd6c6",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://2026.ieeeicassp.org/sps-policies/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Official web-tool extraction archived separately from raw HTTP. Direct403 retained, not bypassed and not represented as HTML hash."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"venue": "INTERSPEECH",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://interspeech2026.org/pages/author-resources/submission-policy",
|
||||
"checked_on": "2026-11-08",
|
||||
"note": "官方响应内静态政策文字说明审稿保密、投稿不录用时版权暂转失效;允许预印本不是公开逐篇最终拒稿。会后全体拒稿元数据范围仍未确认。官网重定向页面的可渲染状态存在限制,已保留回执。",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://interspeech2026.org/pages/author-resources/submission-policy",
|
||||
"resolved_url": "https://interspeech2026.org/en-AU/pages/author-resources/submission-policy",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:46:45.791744+00:00",
|
||||
"source_sha256": "212d7bd47c1ed3974ee2ddd5c8ae66164fe6fb6b549812098e924e1bcbdfd6c3",
|
||||
"source_representation": "static_policy_text_in_official_html_JSON_string_literals_not_executed",
|
||||
"source_html_sha256": "212d7bd47c1ed3974ee2ddd5c8ae66164fe6fb6b549812098e924e1bcbdfd6c3",
|
||||
"policy_text_sha256": "5c2fd10c43a418baf35ada26853b30126df387ac452741d0cbc644f17b61821a",
|
||||
"retrieval_note": "HTTP200 redirects to en-AU; web-tool rendered route returned PageNotFound. Confidentiality policy text is embedded in response JSON strings and matches first-party search extraction, not claimed to be successfully rendered page. Keep routing limitation; no JS executed."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"unverified_access_attempts": [
|
||||
{
|
||||
"venue": "IROS",
|
||||
"year": 2025,
|
||||
"track": "main",
|
||||
"receipt": {
|
||||
"source_url": "https://iros25.org/CallForPapersv2",
|
||||
"error": "<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1081)>"
|
||||
},
|
||||
"web_tool_error": "502 Bad Gateway",
|
||||
"interpretation": "Do not disable TLS verification; not evidence of no public rejection data."
|
||||
},
|
||||
{
|
||||
"venue": "IROS",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"source_url": "https://2026.ieee-iros.org/contribute/call-for-papers/",
|
||||
"web_tool_error": "blocked by robots.txt",
|
||||
"interpretation": "No bypass and no claim of absent negative records."
|
||||
}
|
||||
],
|
||||
"cross_conference_resubmission_policy": {
|
||||
"source": {
|
||||
"source_url": "https://2026.ieee-icra.org/contribute/call-for-icra-2026-papers-now-accepting-submissions/",
|
||||
"checked_at": "2026-11-08T11:49:47.378390+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_extract_sha256": "1b137225f3eddf70b52bc85a9e67283aecfd391345c6f11adda4ac41812e7896",
|
||||
"source_html_sha256": null,
|
||||
"direct_fetch": {
|
||||
"source_url": "https://2026.ieee-icra.org/contribute/call-for-icra-2026-papers-now-accepting-submissions/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"retrieval_note": "Official web-tool extraction archived separately from raw HTTP. Direct403 retained, not bypassed and not represented as HTML hash."
|
||||
},
|
||||
"from_venue": "IROS",
|
||||
"from_year": 2025,
|
||||
"to_venue": "ICRA",
|
||||
"to_year": 2026,
|
||||
"category_label": "IROS-ICRA transfer",
|
||||
"scope": "Authors include response and prior reviewer comments; new regular review required. Policy alone creates no submission, decision, merge or prior-rejection annotation."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,147 @@
|
||||
{
|
||||
"source_url": "https://www.roboticsproceedings.org/",
|
||||
"resolved_url": "https://www.roboticsproceedings.org/",
|
||||
"checked_at": "2026-11-08T10:03:01.144979+00:00",
|
||||
"source_sha256": "0d61c8fe136b5eeb2422b37cd44ed5f090907a8c7659b32b8a613a7478713feb",
|
||||
"expected_years": [
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2026,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss22/index.html",
|
||||
"roman_ordinal": "XXII"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss21/index.html",
|
||||
"roman_ordinal": "XXI"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss20/index.html",
|
||||
"roman_ordinal": "XX"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss19/index.html",
|
||||
"roman_ordinal": "XIX"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss18/index.html",
|
||||
"roman_ordinal": "XVIII"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss17/index.html",
|
||||
"roman_ordinal": "XVII"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss16/index.html",
|
||||
"roman_ordinal": "XVI"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss15/index.html",
|
||||
"roman_ordinal": "XV"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss14/index.html",
|
||||
"roman_ordinal": "XIV"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss13/index.html",
|
||||
"roman_ordinal": "XIII"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss12/index.html",
|
||||
"roman_ordinal": "XII"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss11/index.html",
|
||||
"roman_ordinal": "XI"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss10/index.html",
|
||||
"roman_ordinal": "X"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss09/index.html",
|
||||
"roman_ordinal": "IX"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss08/index.html",
|
||||
"roman_ordinal": "VIII"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss07/index.html",
|
||||
"roman_ordinal": "VII"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss06/index.html",
|
||||
"roman_ordinal": "VI"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss05/index.html",
|
||||
"roman_ordinal": "V"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss04/index.html",
|
||||
"roman_ordinal": "IV"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss03/index.html",
|
||||
"roman_ordinal": "III"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss02/index.html",
|
||||
"roman_ordinal": "II"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"proceedings_url": "https://www.roboticsproceedings.org/rss01/index.html",
|
||||
"roman_ordinal": "I"
|
||||
}
|
||||
],
|
||||
"scope": "Official proceedings enumeration of22actualconferenceyears. Event dates distinguish later printed-book publication years; linked journal special issues are separate publications, not new RSS acceptances. No per-paper/track or public rejection completeness claim.",
|
||||
"cutoff_year": 2026,
|
||||
"excluded_future_years": [],
|
||||
"source_html_sha256": "0d61c8fe136b5eeb2422b37cd44ed5f090907a8c7659b32b8a613a7478713feb",
|
||||
"conference_name": "Robotics: Science and Systems"
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
{
|
||||
"source_url": "https://epubs.siam.org/action/showBookSeries?seriesCode=pr",
|
||||
"checked_at": "2026-11-08T12:10:20.249437+00:00",
|
||||
"source_representation": "indexed_first_party_publisher_page_text_returned_by_search_tool",
|
||||
"source_html_sha256": null,
|
||||
"source_extract_sha256": "5032af58a6979585e38ef43dc66c33ab7c3e458ff3a03217830c056118027430",
|
||||
"direct_fetch": {
|
||||
"source_url": "https://epubs.siam.org/action/showBookSeries?seriesCode=pr",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
},
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://www.siam.org/conferences-events/siam-conferences/sdm26/",
|
||||
"checked_at": "2026-11-08T12:10:20.249437+00:00",
|
||||
"source_representation": "first_party_page_text_returned_by_web_tool",
|
||||
"source_html_sha256": null,
|
||||
"source_extract_sha256": "6dcfc45afb51ed0359e1e9cc9a5ea096e62af395545727026054601483d205f2",
|
||||
"direct_fetch": {
|
||||
"source_url": "https://www.siam.org/conferences-events/siam-conferences/sdm26/",
|
||||
"error": "HTTP Error 403: Forbidden"
|
||||
}
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "SDM 2001",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "SDM 2002",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "SDM 2003",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "SDM 2004",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "SDM 2005",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "SDM 2006",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "SDM 2007",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "SDM 2008",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "SDM 2009",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "SDM 2010",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "SDM 2011",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "SDM 2012",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "SDM 2013",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "SDM 2014",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "SDM 2015",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "SDM 2016",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "SDM 2017",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "SDM 2018",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "SDM 2019",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "SDM 2020",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "SDM 2021",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "SDM 2022",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "SDM 2023",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "SDM 2024",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "SDM 2025",
|
||||
"evidence_scope": "publisher-listed proceedings"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "SDM26",
|
||||
"dates_label": "November19–20,2026",
|
||||
"location_label": "SaltLakeCity,Utah,U.S.",
|
||||
"event_status_at_cutoff": "announced_upcoming",
|
||||
"publication_status": "not_independently_verified"
|
||||
}
|
||||
],
|
||||
"retrieval_note": "Rawpublisherfetch403andwebopen timeout retained. Searchtoolreturned indexed firstpartyproceedingslist with25explicityeartitles; extracthash identifies that representation, notrawHTML orfreshpublicationavailability. Current2026separateofficialeventpage confirmsupcomingevent.",
|
||||
"scope": "25explicitpublisherproceedingsyears2001–2025plusofficialannounced2026,26editionyears; not26heldphysicalmeetings.2020haspublishedproceedings; physicaleventcancellation/formatdoesnotremoveanedition. Do nottreatMDS/ImagingSciencejointmeetingsasextraSDMmainacceptances. Proceedingscalendarandindividualpaper/track/abstract/negativerecordscope are distinct."
|
||||
}
|
||||
@@ -0,0 +1,381 @@
|
||||
{
|
||||
"source_url": "https://sigir.org/general-information/history/",
|
||||
"resolved_url": "https://sigir.org/general-information/history/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:54:43.994403+00:00",
|
||||
"source_sha256": "8b8789c024b68515d1da53eccc0d25cef408b1be772fa9dba90535325c7ca791",
|
||||
"source_html_sha256": "8b8789c024b68515d1da53eccc0d25cef408b1be772fa9dba90535325c7ca791",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://sigir2026.org/",
|
||||
"resolved_url": "https://sigir2026.org/en-AU",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:56:14.986412+00:00",
|
||||
"source_sha256": "1353484731cc9609ac713c79a32babeff9acfd75536c352f47ddba12c358f6df",
|
||||
"source_html_sha256": "1353484731cc9609ac713c79a32babeff9acfd75536c352f47ddba12c358f6df"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1971,
|
||||
1978,
|
||||
1979,
|
||||
1980,
|
||||
1981,
|
||||
1982,
|
||||
1983,
|
||||
1984,
|
||||
1985,
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1971,
|
||||
"source_label": "SIGIR 1971",
|
||||
"series_scope": "separate historical Information Storage and Retrieval event"
|
||||
},
|
||||
{
|
||||
"year": 1978,
|
||||
"source_label": "SIGIR 1978",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1979,
|
||||
"source_label": "SIGIR 1979",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1980,
|
||||
"source_label": "SIGIR 1980",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1981,
|
||||
"source_label": "SIGIR 1981",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1982,
|
||||
"source_label": "SIGIR 1982",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1983,
|
||||
"source_label": "SIGIR 1983",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1984,
|
||||
"source_label": "SIGIR 1984",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"source_label": "SIGIR 1985",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"source_label": "SIGIR 1986",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"source_label": "SIGIR 1987",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"source_label": "SIGIR 1988",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"source_label": "SIGIR 1989",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"source_label": "SIGIR 1990",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"source_label": "SIGIR 1991",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"source_label": "SIGIR 1992",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"source_label": "SIGIR 1993",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"source_label": "SIGIR 1994",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"source_label": "SIGIR 1995",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"source_label": "SIGIR 1996",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"source_label": "SIGIR 1997",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"source_label": "SIGIR 1998",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"source_label": "SIGIR 1999",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"source_label": "SIGIR 2000",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"source_label": "SIGIR 2001",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"source_label": "SIGIR 2002",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"source_label": "SIGIR 2003",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"source_label": "SIGIR 2004",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"source_label": "SIGIR 2005",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"source_label": "SIGIR 2006",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"source_label": "SIGIR 2007",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "SIGIR 2008",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "SIGIR 2009",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "SIGIR 2010",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "SIGIR 2011",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "SIGIR 2012",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "SIGIR 2013",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "SIGIR 2014",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "SIGIR 2015",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "SIGIR 2016",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "SIGIR 2017",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "SIGIR 2018",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "SIGIR 2019",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "SIGIR 2020",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "SIGIR 2021",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "SIGIR 2022",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "SIGIR 2023",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "SIGIR 2024",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "SIGIR 2025",
|
||||
"series_scope": "annual SIGIR series"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "SIGIR 2026",
|
||||
"series_scope": "annual SIGIR series"
|
||||
}
|
||||
],
|
||||
"annual_series_years": [
|
||||
1978,
|
||||
1979,
|
||||
1980,
|
||||
1981,
|
||||
1982,
|
||||
1983,
|
||||
1984,
|
||||
1985,
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"separate_historical_event_years": [
|
||||
1971
|
||||
],
|
||||
"scope": "49 explicit history headings include1971InformationStorageandRetrieval event and48annual1978–2025entries; current2026officialpage identifies49thannualconference. Thus50familyeventyears, not50annualeditions. No1972–1977interpolation. Current website HTML metadata/embedded content confirms49th, rendered en-AU route has no readable lines in web tool. ICTIRco-location is not extraSIGIRmainacceptance; historicalnames and tracks remain distinct. Publicnegative scope still unverified."
|
||||
}
|
||||
@@ -0,0 +1,412 @@
|
||||
{
|
||||
"source_url": "https://www.auai.org/",
|
||||
"checked_at": "2026-11-08T07:00:27.315635+00:00",
|
||||
"source_html_sha256": "42138b961e725d6e1dbf5a336e991cbce1bb2f603fccb5aa9e776d079feea33f",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1985,
|
||||
1986,
|
||||
1987,
|
||||
1988,
|
||||
1989,
|
||||
1990,
|
||||
1991,
|
||||
1992,
|
||||
1993,
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [],
|
||||
"edition_entries": [
|
||||
{
|
||||
"year": 2025,
|
||||
"official_entry": "41 2025 Rio de Janeiro, Brazil",
|
||||
"links": [
|
||||
{
|
||||
"text": "Rio de Janeiro, Brazil",
|
||||
"url": "https://www.auai.org/uai2025/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"official_entry": "40 2024 Barcelona, Spain",
|
||||
"links": [
|
||||
{
|
||||
"text": "Barcelona, Spain",
|
||||
"url": "https://www.auai.org/uai2024/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"official_entry": "39 2023 Pittsburgh, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Pittsburgh, USA",
|
||||
"url": "https://www.auai.org/uai2023/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"official_entry": "38 2022 Eindhoven, The Netherlands",
|
||||
"links": [
|
||||
{
|
||||
"text": "Eindhoven, The Netherlands",
|
||||
"url": "https://www.auai.org/uai2022/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"official_entry": "37 2021 Virtual",
|
||||
"links": [
|
||||
{
|
||||
"text": "Virtual",
|
||||
"url": "https://www.auai.org/uai2021/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"official_entry": "36 2020 Virtual",
|
||||
"links": [
|
||||
{
|
||||
"text": "Virtual",
|
||||
"url": "https://www.auai.org/uai2020/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"official_entry": "35 2019 Tel Aviv, Israel",
|
||||
"links": [
|
||||
{
|
||||
"text": "Tel Aviv, Israel",
|
||||
"url": "https://www.auai.org/uai2019/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"official_entry": "34 2018 Monterey, CA, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Monterey, CA, USA",
|
||||
"url": "https://www.auai.org/uai2018/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"official_entry": "33 2017 Sydney, Australia",
|
||||
"links": [
|
||||
{
|
||||
"text": "Sydney, Australia",
|
||||
"url": "https://www.auai.org/uai2017/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"official_entry": "32 2016 New York, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "New York, USA",
|
||||
"url": "https://www.auai.org/uai2016/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"official_entry": "31 2015 Amsterdam, Netherlands",
|
||||
"links": [
|
||||
{
|
||||
"text": "Amsterdam, Netherlands",
|
||||
"url": "https://www.auai.org/uai2015/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"official_entry": "30 2014 Quebec City, Quebec, Canada",
|
||||
"links": [
|
||||
{
|
||||
"text": "Quebec City, Quebec, Canada",
|
||||
"url": "https://www.auai.org/uai2014/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"official_entry": "29 2013 Bellevue, Washington, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Bellevue, Washington, USA",
|
||||
"url": "https://www.auai.org/uai2013/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"official_entry": "28 2012 Catalina Island, California, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Catalina Island, California, USA",
|
||||
"url": "https://www.auai.org/uai2012/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"official_entry": "27 2011 Barcelona, Spain",
|
||||
"links": [
|
||||
{
|
||||
"text": "Barcelona, Spain",
|
||||
"url": "https://www.auai.org/uai2011/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"official_entry": "26 2010 Catalina Island, California, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Catalina Island, California, USA",
|
||||
"url": "http://event.cwi.nl/uai2010/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"official_entry": "25 2009 Montreal, Canada",
|
||||
"links": [
|
||||
{
|
||||
"text": "Montreal, Canada",
|
||||
"url": "https://www.auai.org/uai2009/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"official_entry": "24 2008 Helsinki, Finland",
|
||||
"links": [
|
||||
{
|
||||
"text": "Helsinki, Finland",
|
||||
"url": "https://www.auai.org/uai2008/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"official_entry": "23 2007 Vancouver, Canada",
|
||||
"links": [
|
||||
{
|
||||
"text": "Vancouver, Canada",
|
||||
"url": "https://www.auai.org/uai2007/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"official_entry": "22 2006 Cambridge, Massachusetts, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Cambridge, Massachusetts, USA",
|
||||
"url": "https://www.auai.org/uai2006/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"official_entry": "21 2005 Edinburgh, Scotland, UK",
|
||||
"links": [
|
||||
{
|
||||
"text": "Edinburgh, Scotland, UK",
|
||||
"url": "https://www.auai.org/uai2005/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"official_entry": "20 2004 Banff, Canada",
|
||||
"links": [
|
||||
{
|
||||
"text": "Banff, Canada",
|
||||
"url": "https://www.auai.org/uai2004/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"official_entry": "19 2003 Acapulco, Mexico",
|
||||
"links": [
|
||||
{
|
||||
"text": "Acapulco, Mexico",
|
||||
"url": "https://www.auai.org/uai2003/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"official_entry": "18 2002 Edmonton, Canada",
|
||||
"links": [
|
||||
{
|
||||
"text": "Edmonton, Canada",
|
||||
"url": "http://web.archive.org/web/20021201030651/http://www.cs.ucla.edu/~uai02/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"official_entry": "17 2001 Seattle, Washington, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"official_entry": "16 2000 Stanford, California, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Stanford, California, USA",
|
||||
"url": "https://www.auai.org/uai2000/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"official_entry": "15 1999 Stockholm, Sweden",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"official_entry": "14 1998 Madison, Wisconsin, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"official_entry": "13 1997 Providence, Rhode Island, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Providence, Rhode Island, USA",
|
||||
"url": "https://www.auai.org/uai1997/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"official_entry": "12 1996 Portland, Oregon, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Portland, Oregon, USA",
|
||||
"url": "https://www.auai.org/uai1996/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"official_entry": "11 1995 Montreal, Canada",
|
||||
"links": [
|
||||
{
|
||||
"text": "Montreal, Canada",
|
||||
"url": "https://www.auai.org/uai1995/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"official_entry": "10 1994 Seattle, Washington, USA",
|
||||
"links": [
|
||||
{
|
||||
"text": "Seattle, Washington, USA",
|
||||
"url": "https://www.auai.org/uai1994/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"year": 1993,
|
||||
"official_entry": "9 1993 Washington, DC, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1992,
|
||||
"official_entry": "8 1992 Stanford, California, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1991,
|
||||
"official_entry": "7 1991 Los Angeles, California, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1990,
|
||||
"official_entry": "6 1990 Cambridge, Massachusetts, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1989,
|
||||
"official_entry": "5 1989 Windsor, Ontario, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1988,
|
||||
"official_entry": "4 1988 Minneapolis, Minnesota, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1987,
|
||||
"official_entry": "3 1987 Seattle, Washington, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1986,
|
||||
"official_entry": "2 1986 Philadelphia, Pennsylvania, USA",
|
||||
"links": []
|
||||
},
|
||||
{
|
||||
"year": 1985,
|
||||
"official_entry": "1 1985 Los Angeles, California, USA",
|
||||
"links": []
|
||||
}
|
||||
],
|
||||
"scope": "Official conference-year enumeration only. Entry links are recorded as published, not proof that every linked target was fetched or every track/paper/negative decision is covered.",
|
||||
"current_edition_evidence": {
|
||||
"source_url": "https://www.auai.org/uai2026/",
|
||||
"checked_at": "2026-11-08T07:00:26.473380+00:00",
|
||||
"source_html_sha256": "3cc4b89026fe83041838ffa0fc0a12902bbe0ea2ab6f00bb66665a27d95bb773",
|
||||
"year": 2026,
|
||||
"edition_number": 42
|
||||
},
|
||||
"publication_boundary": "1985–1990 collections were edited books; conference year and book publication year must remain separate. Root archive has some unlinked historical entries; missing links are not absent conferences."
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"checked_on": "2026-11-08",
|
||||
"scope": "Two boundedyear/main policyreviews, not actualRejectexport orcompletehistoricalpolicycensus. NoDBwrite.",
|
||||
"checks": [
|
||||
{
|
||||
"venue": "ECCV",
|
||||
"year": 2026,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://eccv.ecva.net/Conferences/2026/SubmissionPolicies",
|
||||
"checked_on": "2026-11-08",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://eccv.ecva.net/Conferences/2026/AuthorGuide",
|
||||
"resolved_url": "https://eccv.ecva.net/Conferences/2026/AuthorGuide",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:49:35.617521+00:00",
|
||||
"source_sha256": "d6bd6656d5132b9e2c0c657fdb868fef1bac4710d0a2208927782d25233d974f"
|
||||
},
|
||||
{
|
||||
"source_url": "https://eccv.ecva.net/Conferences/2026/SubmissionPolicies",
|
||||
"resolved_url": "https://eccv.ecva.net/Conferences/2026/SubmissionPolicies",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:49:32.449048+00:00",
|
||||
"source_sha256": "125f846b287ccfd1eea1ff5eb0b39fc169eeaf23960c38b4cecad7f69e86eb19"
|
||||
},
|
||||
{
|
||||
"source_url": "https://eccv.ecva.net/Conferences/2026/AuthorContributionTypes",
|
||||
"resolved_url": "https://eccv.ecva.net/Conferences/2026/AuthorContributionTypes",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:49:32.490036+00:00",
|
||||
"source_sha256": "7756aacb752ebc827bad246fd8729618855977588d16f9dd66932b0364e2ba3c"
|
||||
}
|
||||
],
|
||||
"note": "官方说明审稿中稿件仅分配的委员会可见,评审及作者回复永不公开;这未独立确认会后所有拒稿元数据的发布范围。投稿选择的一种primary Contribution Type是研究属性,不是轨道或最终决定;无逐篇原字段时不能用默认选项补写类型。"
|
||||
},
|
||||
{
|
||||
"venue": "ECAI",
|
||||
"year": 2025,
|
||||
"track": "main",
|
||||
"status": "unknown",
|
||||
"primary_url": "https://ecai2025.org/call-for-papers/",
|
||||
"checked_on": "2026-11-08",
|
||||
"evidence": [
|
||||
{
|
||||
"source_url": "https://ecai2025.org/call-for-papers/",
|
||||
"resolved_url": "https://ecai2025.org/call-for-papers/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:49:38.238706+00:00",
|
||||
"source_sha256": "f8d0360418662c17ab81b85ce37a3ac002a77efda0d05505c23b1e2e4a3e1170"
|
||||
}
|
||||
],
|
||||
"note": "官方CFP说明投稿保密、可为识别重复投稿及减少重复评审与其他会议组织者共享;内部共享不是公开数据。过去12个月被其他会拒的作者可补充原评审及回复,不据此生成逐篇原拒稿、年份或决定。主会与PAIS/demo/journal展示分开;该年会后拒稿元数据范围未确认。"
|
||||
}
|
||||
],
|
||||
"eccv2026_contribution_type_vocabulary": {
|
||||
"source": {
|
||||
"source_url": "https://eccv.ecva.net/Conferences/2026/AuthorContributionTypes",
|
||||
"resolved_url": "https://eccv.ecva.net/Conferences/2026/AuthorContributionTypes",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T10:49:32.490036+00:00",
|
||||
"source_sha256": "7756aacb752ebc827bad246fd8729618855977588d16f9dd66932b0364e2ba3c"
|
||||
},
|
||||
"labels": [
|
||||
"Algorithms / General",
|
||||
"Theory / Foundational",
|
||||
"Applied / Systems",
|
||||
"Datasets / Benchmarks",
|
||||
"Concept & Feasibility"
|
||||
],
|
||||
"scope": "OneprimaryauthorselectedtypeforECCV2026;independentfromtopic/track/acceptance. PolicydefaultAlgorithms/Generalisnotsufficientperpaperevidencetofillmissingmetadata. Noautomaticcrossplatformtaxonomy mapping ornewannotationevents."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"source_url": "https://wsdm-conference.org/",
|
||||
"resolved_url": "https://wsdm-conference.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:54:42.458696+00:00",
|
||||
"source_sha256": "681e529e2c513c111f9eea6887863690dd4e2d04add470cc79c81bb26f400736",
|
||||
"source_html_sha256": "681e529e2c513c111f9eea6887863690dd4e2d04add470cc79c81bb26f400736",
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "WSDM 2008",
|
||||
"source_url": "http://www.wsdm2009.org/wsdm2008.org/"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"source_label": "WSDM 2009",
|
||||
"source_url": "http://www.wsdm2009.org/"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"source_label": "WSDM 2010",
|
||||
"source_url": "http://www.wsdm-conference.org/2010/"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"source_label": "WSDM 2011",
|
||||
"source_url": "http://www.wsdm2011.org/"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"source_label": "WSDM 2012",
|
||||
"source_url": "http://www.wsdm2012.org/"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"source_label": "WSDM 2013",
|
||||
"source_url": "http://www.dis.uniroma1.it/wsdm2013"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"source_label": "WSDM 2014",
|
||||
"source_url": "http://www.wsdm-conference.org/2014"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"source_label": "WSDM 2015",
|
||||
"source_url": "http://www.wsdm-conference.org/2015"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"source_label": "WSDM 2016",
|
||||
"source_url": "http://www.wsdm-conference.org/2016"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"source_label": "WSDM 2017",
|
||||
"source_url": "http://www.wsdm-conference.org/2017"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"source_label": "WSDM 2018",
|
||||
"source_url": "http://www.wsdm-conference.org/2018"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"source_label": "WSDM 2019",
|
||||
"source_url": "http://www.wsdm-conference.org/2019"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"source_label": "WSDM 2020",
|
||||
"source_url": "http://www.wsdm-conference.org/2020"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"source_label": "WSDM 2021",
|
||||
"source_url": "http://www.wsdm-conference.org/2021"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"source_label": "WSDM 2022",
|
||||
"source_url": "http://www.wsdm-conference.org/2022"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"source_label": "WSDM 2023",
|
||||
"source_url": "http://www.wsdm-conference.org/2023"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"source_label": "WSDM 2024",
|
||||
"source_url": "http://www.wsdm-conference.org/2024"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "WSDM 2025",
|
||||
"source_url": "http://www.wsdm-conference.org/2025"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "WSDM 2026",
|
||||
"source_url": "http://www.wsdm-conference.org/2026"
|
||||
}
|
||||
],
|
||||
"source_disagreements": [
|
||||
{
|
||||
"year": 2008,
|
||||
"source_label": "WSDM 2008",
|
||||
"linked_url": "http://www.wsdm2009.org/wsdm2008.org/",
|
||||
"interpretation": "The official2008labelandStanforddescriptionlinkto2009domain. Keep badlinkreceipt; yearcomesfromactual2008labelanddescription, notredirecttarget. No2009duplicateedition."
|
||||
}
|
||||
],
|
||||
"scope": "19actualconferenceyearlabels2008–2026, future2027excluded and2028callforproposalsnotaneventrow. Virtual2021/2022distinctfrominpersonclaims. Existing2026limitedpolicyretained; notproofperpaper/publicnegativecompleteness."
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"format": 1,
|
||||
"source_cache_sha256": "8a65562f3490497cada2919ec77827134beabd5ec9c3690dec3625e2318aa54e",
|
||||
"records": [
|
||||
{
|
||||
"entry_id": "45",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/45/index.html",
|
||||
"individual_sha256": "83bede6afc9a7039fae2dd1f28274a394418b34f5d5632590b913617580bda1a",
|
||||
"title": "WISE - World Wide Information System for R&D; Efforts",
|
||||
"authors": [
|
||||
"Fritz Loseries",
|
||||
"Veronika Samara",
|
||||
"Bodo Urban"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "16",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/16/index.html",
|
||||
"individual_sha256": "cf76da903eaeaa27d19857fdaa13220f6821559bf4ac22844fae10abbaa6f3f3",
|
||||
"title": "The World Wide Web as a Tool for Collaborative Inter-Agency Projects: Creation of an Environmental Metadata Database for the Analysis of the Venice Lagoon Ecosystem.",
|
||||
"authors": [
|
||||
"Mirko Labbri"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "17",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/17/index.html",
|
||||
"individual_sha256": "0578fec9c82e8f2f98c4de0f1bcc44011ebb84c53353fdcc423a69cf70673bc2",
|
||||
"title": "NetRepreneur",
|
||||
"authors": [
|
||||
"Kari-Pekka Turtiainen",
|
||||
"Antti Auer"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "29",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/29/index.html",
|
||||
"individual_sha256": "624ad3f685de1163411e33e90488975d848a63243fd7ffbed0862c6fb58c4140",
|
||||
"title": "Mosaic TueV 2.4.3: Multilingual GUI and Improvements towards User Friendliness",
|
||||
"authors": [
|
||||
"Mike Bretz",
|
||||
"Uwe Koch",
|
||||
"Paul de Bra"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "13",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/13/index.html",
|
||||
"individual_sha256": "02409321a3403a94d8362a9862f4960386ea9c344fb47f4bcdf9eae128e8b46e",
|
||||
"title": "Using a WWW Browser as an Alternative User Interface for Interactive Applications",
|
||||
"authors": [
|
||||
"Frank Lonczewski"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "36",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/36/index.html",
|
||||
"individual_sha256": "ed9dada4ea5903cb8f0a4e75f2958416a6e32647fbf3530e58edd9abf26070ce",
|
||||
"title": "HyperSource: A Hypermedia Program Development And Documentation System",
|
||||
"authors": [
|
||||
"Jan Oliver Borchers"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "57",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/57/index.html",
|
||||
"individual_sha256": "3ad4206ad28a19823172cd2845f636fe7a461c251940e9a93deb8f6484b8a984",
|
||||
"title": "Progressive Image Transmission Capability (PROTRAC) on the World Wide Web",
|
||||
"authors": [
|
||||
"Vojislav Lalich-Petrich",
|
||||
"Gaurav Bhatia",
|
||||
"Larry Davis"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "38",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/38/index.html",
|
||||
"individual_sha256": "940370acc5e6a954b197053fe451e466a904d1f0ac82c8fe4e6ca455faf2c927",
|
||||
"title": "Measuring the Web with Lycos",
|
||||
"authors": [
|
||||
"Michael L. Mauldin"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": "Official abstract listing has no abstract. Canonical HTML has body sections but no explicit abstract; body is not substituted as a summary."
|
||||
},
|
||||
{
|
||||
"entry_id": "05",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/05/index.html",
|
||||
"individual_sha256": "1858be87d6e7f47476e1cb8fb4793c0fce3b8a6ff653bcfd4a35089e0520f177",
|
||||
"title": "Virtual Places - Adding people to the web",
|
||||
"authors": [
|
||||
"Yosi Mass"
|
||||
],
|
||||
"author_source": "author_index",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": "Official abstract listing and canonical HTML have no abstract. Canonical page identifies a contact and links PostScript; no full-text download. Author identity comes from author index, not inferred from contact role."
|
||||
},
|
||||
{
|
||||
"entry_id": "37",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/37/index.html",
|
||||
"individual_sha256": "b700a0a51b7a82a5f88373ae0283bb369d1cf6f455acff7d91cd7313fa8b3adf",
|
||||
"title": "The Internet Public Library: Serving a Global Community",
|
||||
"authors": [
|
||||
"Susan Schweitzer"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "41",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/41/index.html",
|
||||
"individual_sha256": "397b474109f9c1240a77d0f490f2b02dd35fae93febbb7397d1b2a31759a8ec1",
|
||||
"title": "Graphical Browsing in the WorldWideWeb and the MultiMedia Forum",
|
||||
"authors": [
|
||||
"Rainer Pagé",
|
||||
"Klaus Süllow"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "47",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/47/index.html",
|
||||
"individual_sha256": "52eb4bfdd658730a222c98170b72dabf9cbcc5ffd2ada1e900b826baf2b02833",
|
||||
"title": "Interoperating Advanced Hypermedia Systems with WWW",
|
||||
"authors": [
|
||||
"Jian Zhang",
|
||||
"Martin Fruehauf",
|
||||
"Thomas Kirste"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "50",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/50/index.html",
|
||||
"individual_sha256": "8dc8b0561bd8b1b106c5b209a973c695c3cc9df5288450d4a01fe32541476b7e",
|
||||
"title": "Web Enabled Agile Manufacturing",
|
||||
"authors": [
|
||||
"S. V. Iyer",
|
||||
"T. Singh",
|
||||
"U. Ravaioli",
|
||||
"R. E. DeVor",
|
||||
"S. G. Kapoor",
|
||||
"G. Veknatasubramian"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "55",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/55/index.html",
|
||||
"individual_sha256": "21780cd4047f513e8c9aeced5247002e27cf71719f08de85c6531b57a9e5058d",
|
||||
"title": "Weblets: Fundamental Building Blocks for WWW Tools",
|
||||
"authors": [
|
||||
"Thomas J. Watt Jr."
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
},
|
||||
{
|
||||
"entry_id": "59",
|
||||
"individual_url": "https://archives.iw3c2.org/www3/proceedings/posters/59/index.html",
|
||||
"individual_sha256": "fed4cc9dcaee350a12c5e4b6fa9c99be9bead25a81632512d31566400d3d0fad",
|
||||
"title": "Usenet and the World-Wide Web",
|
||||
"authors": [
|
||||
"M. L. Grant"
|
||||
],
|
||||
"author_source": "canonical_byline",
|
||||
"reason": "Reviewed canonical H1 and explicit authorship for this exact linked poster entry; retain abstract-heading and author-index title variants without fuzzy matching.",
|
||||
"missing_abstract_reason": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,747 @@
|
||||
{
|
||||
"checked_at": "2026-11-08",
|
||||
"status": "primary_source_inventory_complete_not_normalized_or_imported",
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/proceedings/www1/index.html",
|
||||
"resolved": "https://archives.iw3c2.org/proceedings/www1/index.html",
|
||||
"http_status": 200,
|
||||
"sha256": "dc0ca83f552c3bb89b5c8cf40a688e41874087a0ac29979720a53120938f818a",
|
||||
"checked_at": "2026-11-08T13:11:50.509805+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/proceedings/www2/index.html",
|
||||
"resolved": "https://archives.iw3c2.org/proceedings/www2/index.html",
|
||||
"http_status": 200,
|
||||
"sha256": "ead63295f45dc68bbd55e3c1f4f28f5fbaed0a1e902068a0e16073ab277a25cc",
|
||||
"checked_at": "2026-11-08T13:11:52.335785+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/proceedings/www3/index.html",
|
||||
"resolved": "https://archives.iw3c2.org/proceedings/www3/index.html",
|
||||
"http_status": 200,
|
||||
"sha256": "5a4bfa0e44d3723500ced8c5375bb1d5447838ab91d3c62cf21a3ac5fd533f74",
|
||||
"checked_at": "2026-11-08T13:11:53.350674+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/proceedings.html",
|
||||
"resolved": "https://archives.iw3c2.org/www3/proceedings/proceedings.html",
|
||||
"http_status": 200,
|
||||
"sha256": "93457641ea3291dc250af40c284f3c9f7df34830d383bc6e972249b7e5c50792",
|
||||
"checked_at": "2026-11-08T13:11:54.408737+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www1/Proceedings.html",
|
||||
"resolved": "https://archives.iw3c2.org/www1/Proceedings.html",
|
||||
"http_status": 200,
|
||||
"sha256": "ffc8766e1771398988d4c0ef1c648510e4ab6c689a94b675a3e6f068ab88e20d",
|
||||
"checked_at": "2026-11-08T13:11:55.626468+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www1/PrelimProcs.html",
|
||||
"resolved": "https://archives.iw3c2.org/www1/PrelimProcs.html",
|
||||
"http_status": 200,
|
||||
"sha256": "f2e0e0efcdd748059597a1d82bacd30901a5e7bf72b2d21df2307b79892ca616",
|
||||
"bytes": 21649,
|
||||
"checked_at": "2026-11-08T13:12:19.093459+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/WWW2_Proceedings.html",
|
||||
"resolved": "https://archives.iw3c2.org/www2/Proceedings/WWW2_Proceedings.html",
|
||||
"http_status": 200,
|
||||
"sha256": "62bcb038775cdffa50454037cbd0db60255bc52c190691adaab9a286e7c84c76",
|
||||
"bytes": 3052,
|
||||
"checked_at": "2026-11-08T13:12:18.071445+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/papers/author.html",
|
||||
"resolved": "https://archives.iw3c2.org/www3/proceedings/papers/author.html",
|
||||
"http_status": 200,
|
||||
"sha256": "19aa53681f21b33e2f126ea4e050a5843cf27b55989fde6b53fca1a5875ecb23",
|
||||
"bytes": 17760,
|
||||
"checked_at": "2026-11-08T13:12:18.257055+00:00",
|
||||
"decoded_as": "iso-8859-1"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/papers/session.html",
|
||||
"resolved": "https://archives.iw3c2.org/www3/proceedings/papers/session.html",
|
||||
"http_status": 200,
|
||||
"sha256": "df9d09c330c6eb30c1138e63175bc2079c417db4a77e8577367d25edf29949a9",
|
||||
"bytes": 5207,
|
||||
"checked_at": "2026-11-08T13:12:19.798816+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/papers/abstract.html",
|
||||
"resolved": "https://archives.iw3c2.org/www3/proceedings/papers/abstract.html",
|
||||
"http_status": 200,
|
||||
"sha256": "dd6861a4f9905c690ae59beea8dc2e7214d6349c001f5a6101f17088753d0f2b",
|
||||
"bytes": 47315,
|
||||
"checked_at": "2026-11-08T13:12:20.090797+00:00",
|
||||
"decoded_as": "iso-8859-1"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/posters/author.html",
|
||||
"resolved": "https://archives.iw3c2.org/www3/proceedings/posters/author.html",
|
||||
"http_status": 200,
|
||||
"sha256": "f0d20819e675874b67527675eb96c633117f412790daa1477cb7da17ac0ae679",
|
||||
"bytes": 17561,
|
||||
"checked_at": "2026-11-08T13:12:20.189771+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/posters/abstract.html",
|
||||
"resolved": "https://archives.iw3c2.org/www3/proceedings/posters/abstract.html",
|
||||
"http_status": 200,
|
||||
"sha256": "bb1cbbc0391a6168947763e8aa2edc61a0e2a48634dda421b686250c68d693c0",
|
||||
"bytes": 47202,
|
||||
"checked_at": "2026-11-08T13:12:21.727587+00:00",
|
||||
"decoded_as": "utf-8"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"year": 1994,
|
||||
"event_key": "www-1994-spring",
|
||||
"source_url": "https://archives.iw3c2.org/www1/PrelimProcs.html",
|
||||
"title_field_occurrences": 50,
|
||||
"homepage_formal_presentations_claim": 49,
|
||||
"count_discrepancy": "50 explicit Title fields vs homepage49 formal presentations; per-entry audit required, neither number is an accepted-paper total.",
|
||||
"track_scope": "Some keyword lines explicitly say BUSINESS TRACK?; preserve raw scope, not all regularmain.",
|
||||
"abstracts": "Not on this HTML list; PDF files not fetched.",
|
||||
"journal_boundary": "Official publication note says journal specialissue contains selected fullpapers plus abstracts ofotherpapers; not a full conference acceptance listing."
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"event_key": "www-1994-fall",
|
||||
"source_url": "https://archives.iw3c2.org/www2/Proceedings/WWW2_Proceedings.html",
|
||||
"top_level_categories": 34,
|
||||
"scope": "Categories include Birds ofaFeather, DevelopersDay, tutorials, products as well as papers. No individualpaper count inferred from34categories; unlinked title does notmeanReject."
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"event_key": "www-1995-spring",
|
||||
"source_url": "https://archives.iw3c2.org/www3/proceedings/proceedings.html",
|
||||
"papers": {
|
||||
"author_index_link_occurrences": 90,
|
||||
"distinct_author_index_entry_ids": 38,
|
||||
"session_index_entry_ids": 38,
|
||||
"abstract_index_entry_ids": 38,
|
||||
"all_three_id_sets_equal": true,
|
||||
"entry_ids": [
|
||||
"44",
|
||||
"46",
|
||||
"47",
|
||||
"48",
|
||||
"49",
|
||||
"50",
|
||||
"51",
|
||||
"52",
|
||||
"54",
|
||||
"55",
|
||||
"58",
|
||||
"59",
|
||||
"60",
|
||||
"62",
|
||||
"65",
|
||||
"67",
|
||||
"68",
|
||||
"70",
|
||||
"72",
|
||||
"75",
|
||||
"76",
|
||||
"77",
|
||||
"78",
|
||||
"79",
|
||||
"80",
|
||||
"82",
|
||||
"84",
|
||||
"86",
|
||||
"87",
|
||||
"88",
|
||||
"89",
|
||||
"90",
|
||||
"94",
|
||||
"95",
|
||||
"97",
|
||||
"100",
|
||||
"104",
|
||||
"105"
|
||||
],
|
||||
"literal_url_sets_equal": false,
|
||||
"url_discrepancy": {
|
||||
"entry_id": "80",
|
||||
"author_and_session": "80/userpatterns/UserPatterns.Paper4.formatted.html",
|
||||
"abstract": "80/userpatterns/ UserPatterns.Paper4.formatted.html",
|
||||
"action": "Retain raw malformed href; use exact same event/entry ID corroborated byboth otherindexes, neverfuzzytitle-only join."
|
||||
}
|
||||
},
|
||||
"posters": {
|
||||
"author_index_link_occurrences": 83,
|
||||
"distinct_linked_author_index_entry_ids": 47,
|
||||
"abstract_index_entry_ids": 53,
|
||||
"abstract_only_entry_ids": [
|
||||
"37",
|
||||
"41",
|
||||
"47",
|
||||
"50",
|
||||
"55",
|
||||
"59"
|
||||
],
|
||||
"scope": "53 linked poster abstractentries are not 53 mainpapers; authorindexhasplaceholder#links andsuspectperson/place strings, so missinglinks ornames requireper-entry verification.",
|
||||
"entry_ids": [
|
||||
"01",
|
||||
"03",
|
||||
"04",
|
||||
"05",
|
||||
"06",
|
||||
"07",
|
||||
"08",
|
||||
"09",
|
||||
"13",
|
||||
"14",
|
||||
"15",
|
||||
"16",
|
||||
"17",
|
||||
"18",
|
||||
"19",
|
||||
"20",
|
||||
"21",
|
||||
"22",
|
||||
"23",
|
||||
"24",
|
||||
"26",
|
||||
"27",
|
||||
"28",
|
||||
"29",
|
||||
"30",
|
||||
"31",
|
||||
"32",
|
||||
"33",
|
||||
"34",
|
||||
"35",
|
||||
"36",
|
||||
"37",
|
||||
"38",
|
||||
"40",
|
||||
"41",
|
||||
"42",
|
||||
"43",
|
||||
"44",
|
||||
"45",
|
||||
"46",
|
||||
"47",
|
||||
"48",
|
||||
"50",
|
||||
"51",
|
||||
"52",
|
||||
"53",
|
||||
"54",
|
||||
"55",
|
||||
"56",
|
||||
"57",
|
||||
"58",
|
||||
"59",
|
||||
"60"
|
||||
]
|
||||
},
|
||||
"separate_not_fetched": [
|
||||
"Tutorial notes",
|
||||
"Workshop proceedings",
|
||||
"Developers Day notes"
|
||||
]
|
||||
}
|
||||
],
|
||||
"production_boundary": {
|
||||
"existing_www1995_fall_edition_id": 1212,
|
||||
"existing_fall_submissions": 59,
|
||||
"new_source_rows_imported": 0,
|
||||
"source_record_ids_assigned": false,
|
||||
"no_rejected_decision_acquired": true,
|
||||
"no_pdf_downloaded": true
|
||||
},
|
||||
"next_actions": [
|
||||
"Implementmaintainedcollectorwithsourcecaching,exactevent/trackidentity,sourceevidenceandparserfixtures;build/testonlyremoteapprovedrunner.",
|
||||
"ResolveWWW1count/scopeandWWW2category-per-itemboundariesbeforeacceptedmainassignment.",
|
||||
"NormalizeWWW3papers/postersindependently,verifyabstractsauthorsandmalformedhrefhandling,preflightcurrentPGidentitiesbeforeimport.",
|
||||
"Productioneventmigrationindependentlyaccepted f5dbb8a8;preserve59Fallrows,no reimport. Newearlysourcepapersstillnotnormalizedorimported."
|
||||
],
|
||||
"server_raw_cache": {
|
||||
"status": "46of46HTML_sources_HTTP200",
|
||||
"directory": "/data/paper-index/collected/www-early-archive-source-v1",
|
||||
"manifest_sha256": "c9388ccef44486e0684c9ee9e8620a465cdc4574e6bc9ea9391d743e01a3312c",
|
||||
"html_bytes": 222803,
|
||||
"sources": [
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/proceedings/www1/index.html",
|
||||
"checked_at": "2026-11-08T13:23:28.781495+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/proceedings/www1/index.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-00.html",
|
||||
"bytes": 98,
|
||||
"sha256": "dc0ca83f552c3bb89b5c8cf40a688e41874087a0ac29979720a53120938f818a"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/proceedings/www2/index.html",
|
||||
"checked_at": "2026-11-08T13:23:28.782745+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/proceedings/www2/index.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-01.html",
|
||||
"bytes": 115,
|
||||
"sha256": "ead63295f45dc68bbd55e3c1f4f28f5fbaed0a1e902068a0e16073ab277a25cc"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/proceedings/www3/index.html",
|
||||
"checked_at": "2026-11-08T13:23:28.784438+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/proceedings/www3/index.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-02.html",
|
||||
"bytes": 110,
|
||||
"sha256": "5a4bfa0e44d3723500ced8c5375bb1d5447838ab91d3c62cf21a3ac5fd533f74"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www1/PrelimProcs.html",
|
||||
"checked_at": "2026-11-08T13:23:29.910554+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www1/PrelimProcs.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-03.html",
|
||||
"bytes": 21649,
|
||||
"sha256": "f2e0e0efcdd748059597a1d82bacd30901a5e7bf72b2d21df2307b79892ca616"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www1/Proceedings.html",
|
||||
"checked_at": "2026-11-08T13:23:29.911932+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www1/Proceedings.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-04.html",
|
||||
"bytes": 723,
|
||||
"sha256": "ffc8766e1771398988d4c0ef1c648510e4ab6c689a94b675a3e6f068ab88e20d"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Agents.html",
|
||||
"checked_at": "2026-11-08T13:23:29.914010+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Agents.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-05.html",
|
||||
"bytes": 1197,
|
||||
"sha256": "556a583cde97ff393ef6cf7358ea823bb943513be9266eb9d4af5e19d20d88dd"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Arts.html",
|
||||
"checked_at": "2026-11-08T13:23:30.679804+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Arts.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-06.html",
|
||||
"bytes": 2155,
|
||||
"sha256": "19226f05834727aee9be6fad4183e5360a4d0307db4bfb86459e0f2495035796"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Astronomy.html",
|
||||
"checked_at": "2026-11-08T13:23:30.716223+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Astronomy.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-07.html",
|
||||
"bytes": 1912,
|
||||
"sha256": "2f8c66b1b175f18367774c407678b71d7f8fcfcd7a5593681e65ce7bf7356bfa"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Autools.html",
|
||||
"checked_at": "2026-11-08T13:23:30.929960+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Autools.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-08.html",
|
||||
"bytes": 2386,
|
||||
"sha256": "e477b77a2c90797fabe3caa5feae81e93f4c1e4c4cc62ee17b9566d3b7630f91"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/BioChem.html",
|
||||
"checked_at": "2026-11-08T13:23:31.471326+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/BioChem.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-09.html",
|
||||
"bytes": 1220,
|
||||
"sha256": "ef6284cb2c65c83b821e2f7b484ff39513223b2a7285d02b4f4cdb63d43c76eb"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/BofF.html",
|
||||
"checked_at": "2026-11-08T13:23:31.477667+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/BofF.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-10.html",
|
||||
"bytes": 820,
|
||||
"sha256": "83405fc3732a470d0c431116d36b0c0f1c0dbdef0e04172891a1ff04034665a1"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/CSCW.html",
|
||||
"checked_at": "2026-11-08T13:23:31.717781+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/CSCW.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-11.html",
|
||||
"bytes": 2212,
|
||||
"sha256": "c1cbf984dca24d81e4547a12307219431ec5d99d041ec126bd981c018ff648e4"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Campus.Infosys.html",
|
||||
"checked_at": "2026-11-08T13:23:32.251580+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Campus.Infosys.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-12.html",
|
||||
"bytes": 1488,
|
||||
"sha256": "cc9c742790f6375ecef16ab291227cc5a66b2a9525306268b788b1b73f2baf72"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/ComEc.html",
|
||||
"checked_at": "2026-11-08T13:23:32.262571+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/ComEc.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-13.html",
|
||||
"bytes": 1661,
|
||||
"sha256": "c64889cfb1b34f0c28429ae5b891dc7864587a790f29badca970e827f0f30bf5"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/CorInfSys.html",
|
||||
"checked_at": "2026-11-08T13:23:32.472184+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/CorInfSys.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-14.html",
|
||||
"bytes": 3472,
|
||||
"sha256": "90de7baec3289086dcc76bb2f2ba8c7cb98237054f0a1a5952f1e9389030d5d1"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/DDay.html",
|
||||
"checked_at": "2026-11-08T13:23:33.044684+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/DDay.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-15.html",
|
||||
"bytes": 6461,
|
||||
"sha256": "de191af59155231919b14aa3d74386e8f41fe38529467f9b33cee6f0f381f7da"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/EarSci.html",
|
||||
"checked_at": "2026-11-08T13:23:33.051137+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/EarSci.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-16.html",
|
||||
"bytes": 1869,
|
||||
"sha256": "b0c1314d65cb8ac4a618aec136e438e8f3af016de9636f33302308ab5675222c"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Educ.html",
|
||||
"checked_at": "2026-11-08T13:23:33.254789+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Educ.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-17.html",
|
||||
"bytes": 4982,
|
||||
"sha256": "318471e7e2b37398752817ae5f8bacbc03c1c3e61f32d50f4aa1e9ae4494aca9"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/EvolvingInter.html",
|
||||
"checked_at": "2026-11-08T13:23:33.798705+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/EvolvingInter.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-18.html",
|
||||
"bytes": 1744,
|
||||
"sha256": "340697fae542f59333c7feb330b251165ace4a69455b48325fb4ac097002c2a5"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Fin.html",
|
||||
"checked_at": "2026-11-08T13:23:33.803029+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Fin.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-19.html",
|
||||
"bytes": 1035,
|
||||
"sha256": "d7e64c662e3961ca1258047ac727e3676f6cb91838ac6c310e20b84e8c6b257b"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/GenSci.html",
|
||||
"checked_at": "2026-11-08T13:23:34.040529+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/GenSci.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-20.html",
|
||||
"bytes": 742,
|
||||
"sha256": "3f3e469dea3dc36877b3a67ecb9389d7c0e3b5d1d1f7835e5be50d5bdca1fac3"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/HCI.html",
|
||||
"checked_at": "2026-11-08T13:23:34.601259+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/HCI.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-21.html",
|
||||
"bytes": 1821,
|
||||
"sha256": "ad75aa91e433101d580552e60831894d2d57904076c090fb5f3511386abd718f"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Int.html",
|
||||
"checked_at": "2026-11-08T13:23:34.603284+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Int.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-22.html",
|
||||
"bytes": 987,
|
||||
"sha256": "63a345fea731b8613afb66e5889b0e66196ae1eaa3cd8b271daafbb84d57bdde"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/LibApps.html",
|
||||
"checked_at": "2026-11-08T13:23:34.796908+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/LibApps.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-23.html",
|
||||
"bytes": 1373,
|
||||
"sha256": "6f8bd049f10d036a5c093a640a8d9d855d038f103dd9204dbfab7106cc5be99d"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/LocalCom.html",
|
||||
"checked_at": "2026-11-08T13:23:35.361878+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/LocalCom.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-24.html",
|
||||
"bytes": 937,
|
||||
"sha256": "1701270af1d2cfc80b8944ebb846374b6d0af5bc7f17c953ac0e25dd048a8466"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/MedEd.html",
|
||||
"checked_at": "2026-11-08T13:23:35.384200+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/MedEd.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-25.html",
|
||||
"bytes": 1297,
|
||||
"sha256": "af813365720e6d57abf015023f3dcb489b30c6e2d69a252497251a46dd712423"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/MedTrack.html",
|
||||
"checked_at": "2026-11-08T13:23:35.552044+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/MedTrack.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-26.html",
|
||||
"bytes": 1631,
|
||||
"sha256": "9fa188317d5ba0ac6f251911e9a5b939431dc7f952706a7229f95a891ad0afe8"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Meta.html",
|
||||
"checked_at": "2026-11-08T13:23:36.121248+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Meta.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-27.html",
|
||||
"bytes": 612,
|
||||
"sha256": "d7726ccc65bddf3c65a5ea96bfe56aba45c2313de25437e641e245dc22630d97"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Museum.html",
|
||||
"checked_at": "2026-11-08T13:23:36.143441+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Museum.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-28.html",
|
||||
"bytes": 1004,
|
||||
"sha256": "b9421c11f64e02b470f643a50f226545256047545f3a6db4a526cd031af67ff0"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/NationWideSites.html",
|
||||
"checked_at": "2026-11-08T13:23:36.340067+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/NationWideSites.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-29.html",
|
||||
"bytes": 1457,
|
||||
"sha256": "bcfe65ee71d714e25bfac73a9e568c4073287ead07198c52e40499d203032e21"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Overviews.html",
|
||||
"checked_at": "2026-11-08T13:23:36.903238+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Overviews.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-30.html",
|
||||
"bytes": 1212,
|
||||
"sha256": "dc4313537799b0e33d95a53183faaec0c1841e1359c2dd27721e33331df53239"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Prod.html",
|
||||
"checked_at": "2026-11-08T13:23:36.914194+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Prod.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-31.html",
|
||||
"bytes": 968,
|
||||
"sha256": "37cf01790b2536ebbaf7ebf6398fc905db1e481bd0bfbabd9a91bd2fb447dab4"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Pub.html",
|
||||
"checked_at": "2026-11-08T13:23:37.127844+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Pub.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-32.html",
|
||||
"bytes": 2096,
|
||||
"sha256": "e5c17f3e74574795c7458da87bc121d95104d5d7e4409a560041c34661ea66f7"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Searching.html",
|
||||
"checked_at": "2026-11-08T13:23:37.657431+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Searching.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-33.html",
|
||||
"bytes": 2813,
|
||||
"sha256": "7aea8a29d7fe7d93da1df5969396c51db42b81517158f7637a0f7816deac8449"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Security.html",
|
||||
"checked_at": "2026-11-08T13:23:37.668203+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Security.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-34.html",
|
||||
"bytes": 1223,
|
||||
"sha256": "75e91b9c97e78af9202d56921116b3897b12d72f2cad34cd969e943a6237198c"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/SocialSci.html",
|
||||
"checked_at": "2026-11-08T13:23:37.882372+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/SocialSci.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-35.html",
|
||||
"bytes": 1167,
|
||||
"sha256": "3c0e1d58b033cfab6de6d507272374f88aa1901ad33b483bc571a89a1d7ede6a"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/Tutor.html",
|
||||
"checked_at": "2026-11-08T13:23:38.420164+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/Tutor.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-36.html",
|
||||
"bytes": 2462,
|
||||
"sha256": "dabe18d58d19b184bcf44ed5b131c08229301ffe6fc3ec641bf025883da007ef"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/VR.html",
|
||||
"checked_at": "2026-11-08T13:23:38.456039+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/VR.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-37.html",
|
||||
"bytes": 1226,
|
||||
"sha256": "ba3d0f123456170a62c201626526b60a1f362aa4f1cd02db0b958da3796e2cfa"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/WWW2_Proceedings.html",
|
||||
"checked_at": "2026-11-08T13:23:38.673738+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/WWW2_Proceedings.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-38.html",
|
||||
"bytes": 3052,
|
||||
"sha256": "62bcb038775cdffa50454037cbd0db60255bc52c190691adaab9a286e7c84c76"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www2/Proceedings/WebProd.html",
|
||||
"checked_at": "2026-11-08T13:23:39.177032+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www2/Proceedings/WebProd.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-39.html",
|
||||
"bytes": 862,
|
||||
"sha256": "a8bf4a7d9dd597c7fc1fe2e782319c2f12e5ddfdb4e823cd1f55c3738af07924"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/papers/abstract.html",
|
||||
"checked_at": "2026-11-08T13:23:39.239517+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www3/proceedings/papers/abstract.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-40.html",
|
||||
"bytes": 47315,
|
||||
"sha256": "dd6861a4f9905c690ae59beea8dc2e7214d6349c001f5a6101f17088753d0f2b"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/papers/author.html",
|
||||
"checked_at": "2026-11-08T13:23:39.462217+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www3/proceedings/papers/author.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-41.html",
|
||||
"bytes": 17760,
|
||||
"sha256": "19aa53681f21b33e2f126ea4e050a5843cf27b55989fde6b53fca1a5875ecb23"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/papers/session.html",
|
||||
"checked_at": "2026-11-08T13:23:40.476927+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www3/proceedings/papers/session.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-42.html",
|
||||
"bytes": 5207,
|
||||
"sha256": "df9d09c330c6eb30c1138e63175bc2079c417db4a77e8577367d25edf29949a9"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/posters/abstract.html",
|
||||
"checked_at": "2026-11-08T13:23:40.702777+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www3/proceedings/posters/abstract.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-43.html",
|
||||
"bytes": 47202,
|
||||
"sha256": "bb1cbbc0391a6168947763e8aa2edc61a0e2a48634dda421b686250c68d693c0"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/posters/author.html",
|
||||
"checked_at": "2026-11-08T13:23:40.952774+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www3/proceedings/posters/author.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-44.html",
|
||||
"bytes": 17561,
|
||||
"sha256": "f0d20819e675874b67527675eb96c633117f412790daa1477cb7da17ac0ae679"
|
||||
},
|
||||
{
|
||||
"url": "https://archives.iw3c2.org/www3/proceedings/proceedings.html",
|
||||
"checked_at": "2026-11-08T13:23:41.262929+00:00",
|
||||
"status": 200,
|
||||
"resolved_url": "https://archives.iw3c2.org/www3/proceedings/proceedings.html",
|
||||
"content_type": "text/html",
|
||||
"file": "source-45.html",
|
||||
"bytes": 1507,
|
||||
"sha256": "93457641ea3291dc250af40c284f3c9f7df34830d383bc6e972249b7e5c50792"
|
||||
}
|
||||
],
|
||||
"normalized": false,
|
||||
"imported": false,
|
||||
"PDF_downloaded": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,357 @@
|
||||
{
|
||||
"source_url": "https://www2024.thewebconf.org/about/the-web-conference/",
|
||||
"resolved_url": "https://www2024.thewebconf.org/about/the-web-conference/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:54:48.803606+00:00",
|
||||
"source_sha256": "fefa73c83154fe329f3c85d338fdbcae00c02292d1e8bdd4397561dff20fb20c",
|
||||
"source_html_sha256": "fefa73c83154fe329f3c85d338fdbcae00c02292d1e8bdd4397561dff20fb20c",
|
||||
"additional_primary_sources": [
|
||||
{
|
||||
"source_url": "https://thewebconf.org/",
|
||||
"resolved_url": "https://thewebconf.org/",
|
||||
"http_status": 200,
|
||||
"checked_at": "2026-11-08T11:54:44.622249+00:00",
|
||||
"source_sha256": "ed617c308779eaf08458d9d64b02eb01b799c2579812f766d7c6c04811079f3b",
|
||||
"source_html_sha256": "ed617c308779eaf08458d9d64b02eb01b799c2579812f766d7c6c04811079f3b"
|
||||
}
|
||||
],
|
||||
"cutoff_year": 2026,
|
||||
"expected_years": [
|
||||
1994,
|
||||
1995,
|
||||
1996,
|
||||
1997,
|
||||
1998,
|
||||
1999,
|
||||
2000,
|
||||
2001,
|
||||
2002,
|
||||
2003,
|
||||
2004,
|
||||
2005,
|
||||
2006,
|
||||
2007,
|
||||
2008,
|
||||
2009,
|
||||
2010,
|
||||
2011,
|
||||
2012,
|
||||
2013,
|
||||
2014,
|
||||
2015,
|
||||
2016,
|
||||
2017,
|
||||
2018,
|
||||
2019,
|
||||
2020,
|
||||
2021,
|
||||
2022,
|
||||
2023,
|
||||
2024,
|
||||
2025,
|
||||
2026
|
||||
],
|
||||
"excluded_future_years": [
|
||||
2027,
|
||||
2028
|
||||
],
|
||||
"editions": [
|
||||
{
|
||||
"year": 1994,
|
||||
"dates_label": "May 25-27, 1994",
|
||||
"location_label": "CERN, Geneva, Switzerland",
|
||||
"source_url": "https://thewebconf.org/www1",
|
||||
"census_event_key": "www:1994:may-25-27-1994"
|
||||
},
|
||||
{
|
||||
"year": 1994,
|
||||
"dates_label": "October 17-20, 1994",
|
||||
"location_label": "Chicago, IL (USA)",
|
||||
"source_url": "https://thewebconf.org/www2",
|
||||
"census_event_key": "www:1994:october-17-20-1994"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"dates_label": "April 10-14, 1995",
|
||||
"location_label": "Darmstadt, Germany",
|
||||
"source_url": "https://thewebconf.org/www3",
|
||||
"census_event_key": "www:1995:april-10-14-1995"
|
||||
},
|
||||
{
|
||||
"year": 1995,
|
||||
"dates_label": "December 11-14, 1995",
|
||||
"location_label": "Boston, MA (USA)",
|
||||
"source_url": "https://thewebconf.org/www4",
|
||||
"census_event_key": "www:1995:december-11-14-1995"
|
||||
},
|
||||
{
|
||||
"year": 1996,
|
||||
"dates_label": "May 6-10, 1996",
|
||||
"location_label": "Paris, France",
|
||||
"source_url": "https://thewebconf.org/www5",
|
||||
"census_event_key": "www:1996:may-6-10-1996"
|
||||
},
|
||||
{
|
||||
"year": 1997,
|
||||
"dates_label": "April 7-11, 1997",
|
||||
"location_label": "Santa Clara, CA (USA)",
|
||||
"source_url": "https://thewebconf.org/www6",
|
||||
"census_event_key": "www:1997:april-7-11-1997"
|
||||
},
|
||||
{
|
||||
"year": 1998,
|
||||
"dates_label": "April 14-18, 1998",
|
||||
"location_label": "Brisbane, Australia",
|
||||
"source_url": "https://thewebconf.org/www7",
|
||||
"census_event_key": "www:1998:april-14-18-1998"
|
||||
},
|
||||
{
|
||||
"year": 1999,
|
||||
"dates_label": "May 11-14, 1999",
|
||||
"location_label": "Toronto, Canada",
|
||||
"source_url": "https://thewebconf.org/www8",
|
||||
"census_event_key": "www:1999:may-11-14-1999"
|
||||
},
|
||||
{
|
||||
"year": 2000,
|
||||
"dates_label": "May 15-19, 2000",
|
||||
"location_label": "Amsterdam, The Netherlands",
|
||||
"source_url": "https://thewebconf.org/www9",
|
||||
"census_event_key": "www:2000:may-15-19-2000"
|
||||
},
|
||||
{
|
||||
"year": 2001,
|
||||
"dates_label": "May 1-5, 2001",
|
||||
"location_label": "Hong Kong, China",
|
||||
"source_url": "https://thewebconf.org/www10",
|
||||
"census_event_key": "www:2001:may-1-5-2001"
|
||||
},
|
||||
{
|
||||
"year": 2002,
|
||||
"dates_label": "May 6-11, 2002",
|
||||
"location_label": "Honolulu, HI (USA)",
|
||||
"source_url": "https://thewebconf.org/www2002",
|
||||
"census_event_key": "www:2002:may-6-11-2002"
|
||||
},
|
||||
{
|
||||
"year": 2003,
|
||||
"dates_label": "May 20-24, 2003",
|
||||
"location_label": "Budapest, Hungary",
|
||||
"source_url": "https://thewebconf.org/www2003",
|
||||
"census_event_key": "www:2003:may-20-24-2003"
|
||||
},
|
||||
{
|
||||
"year": 2004,
|
||||
"dates_label": "May 17-22, 2004",
|
||||
"location_label": "New York, NY (USA)",
|
||||
"source_url": "https://thewebconf.org/www2004",
|
||||
"census_event_key": "www:2004:may-17-22-2004"
|
||||
},
|
||||
{
|
||||
"year": 2005,
|
||||
"dates_label": "May 10-14, 2005",
|
||||
"location_label": "Chiba, Japan",
|
||||
"source_url": "https://thewebconf.org/www2005",
|
||||
"census_event_key": "www:2005:may-10-14-2005"
|
||||
},
|
||||
{
|
||||
"year": 2006,
|
||||
"dates_label": "May 22-26, 2006",
|
||||
"location_label": "Edinburgh, Scotland (UK)",
|
||||
"source_url": "https://thewebconf.org/www2006",
|
||||
"census_event_key": "www:2006:may-22-26-2006"
|
||||
},
|
||||
{
|
||||
"year": 2007,
|
||||
"dates_label": "May 8-12, 2007",
|
||||
"location_label": "Banff, Canada",
|
||||
"source_url": "https://thewebconf.org/www2007",
|
||||
"census_event_key": "www:2007:may-8-12-2007"
|
||||
},
|
||||
{
|
||||
"year": 2008,
|
||||
"dates_label": "April 21-25, 2008",
|
||||
"location_label": "Beijing, China",
|
||||
"source_url": "https://thewebconf.org/www2008",
|
||||
"census_event_key": "www:2008:april-21-25-2008"
|
||||
},
|
||||
{
|
||||
"year": 2009,
|
||||
"dates_label": "April 20-24, 2009",
|
||||
"location_label": "Madrid, Spain",
|
||||
"source_url": "https://thewebconf.org/www2009",
|
||||
"census_event_key": "www:2009:april-20-24-2009"
|
||||
},
|
||||
{
|
||||
"year": 2010,
|
||||
"dates_label": "April 26-30, 2010",
|
||||
"location_label": "Raleigh, NC (USA)",
|
||||
"source_url": "https://thewebconf.org/www2010",
|
||||
"census_event_key": "www:2010:april-26-30-2010"
|
||||
},
|
||||
{
|
||||
"year": 2011,
|
||||
"dates_label": "March 28-April 1, 2011",
|
||||
"location_label": "Hyderabad, India",
|
||||
"source_url": "https://thewebconf.org/www2011",
|
||||
"census_event_key": "www:2011:march-28-april-1-2011"
|
||||
},
|
||||
{
|
||||
"year": 2012,
|
||||
"dates_label": "April 16-20, 2012",
|
||||
"location_label": "Lyon, France",
|
||||
"source_url": "https://thewebconf.org/www2012",
|
||||
"census_event_key": "www:2012:april-16-20-2012"
|
||||
},
|
||||
{
|
||||
"year": 2013,
|
||||
"dates_label": "May 13-17, 2013",
|
||||
"location_label": "Rio de Janeiro, Brazil",
|
||||
"source_url": "https://thewebconf.org/www2013",
|
||||
"census_event_key": "www:2013:may-13-17-2013"
|
||||
},
|
||||
{
|
||||
"year": 2014,
|
||||
"dates_label": "May 7-11, 2014",
|
||||
"location_label": "Seoul, South Korea",
|
||||
"source_url": "https://thewebconf.org/www2014",
|
||||
"census_event_key": "www:2014:may-7-11-2014"
|
||||
},
|
||||
{
|
||||
"year": 2015,
|
||||
"dates_label": "May 18-22, 2015",
|
||||
"location_label": "Florence, Italy",
|
||||
"source_url": "https://thewebconf.org/www2015",
|
||||
"census_event_key": "www:2015:may-18-22-2015"
|
||||
},
|
||||
{
|
||||
"year": 2016,
|
||||
"dates_label": "April 11-15, 2016",
|
||||
"location_label": "Montreal, Canada",
|
||||
"source_url": "https://thewebconf.org/www2016",
|
||||
"census_event_key": "www:2016:april-11-15-2016"
|
||||
},
|
||||
{
|
||||
"year": 2017,
|
||||
"dates_label": "April 3-7, 2017",
|
||||
"location_label": "Perth, Western Australia",
|
||||
"source_url": "https://thewebconf.org/www2017",
|
||||
"census_event_key": "www:2017:april-3-7-2017"
|
||||
},
|
||||
{
|
||||
"year": 2018,
|
||||
"dates_label": "April 23-27, 2018",
|
||||
"location_label": "Lyon, France",
|
||||
"source_url": "https://thewebconf.org/www2018",
|
||||
"census_event_key": "www:2018:april-23-27-2018"
|
||||
},
|
||||
{
|
||||
"year": 2019,
|
||||
"dates_label": "May 13-17 2019",
|
||||
"location_label": "San Francisco, California, USA",
|
||||
"source_url": "https://thewebconf.org/www2019",
|
||||
"census_event_key": "www:2019:may-13-17-2019"
|
||||
},
|
||||
{
|
||||
"year": 2020,
|
||||
"dates_label": "April 20-24, 2020",
|
||||
"location_label": "Taipei",
|
||||
"source_url": "https://thewebconf.org/www2020",
|
||||
"census_event_key": "www:2020:april-20-24-2020"
|
||||
},
|
||||
{
|
||||
"year": 2021,
|
||||
"dates_label": "April 19-23, 2021",
|
||||
"location_label": "Ljubljana, Slovenia",
|
||||
"source_url": "https://thewebconf.org/www2021",
|
||||
"census_event_key": "www:2021:april-19-23-2021"
|
||||
},
|
||||
{
|
||||
"year": 2022,
|
||||
"dates_label": "April 25-20, 2022",
|
||||
"location_label": "Lyon, France",
|
||||
"source_url": "https://www2022.thewebconf.org/",
|
||||
"census_event_key": "www:2022:april-25-20-2022"
|
||||
},
|
||||
{
|
||||
"year": 2023,
|
||||
"dates_label": "April 30-May 4, 2023",
|
||||
"location_label": "Austin, Texas",
|
||||
"source_url": "https://www2023.thewebconf.org/",
|
||||
"census_event_key": "www:2023:april-30-may-4-2023"
|
||||
},
|
||||
{
|
||||
"year": 2024,
|
||||
"dates_label": "May 13-17, 2024",
|
||||
"location_label": "Singapore",
|
||||
"source_url": "https://www2024.thewebconf.org/",
|
||||
"census_event_key": "www:2024:may-13-17-2024"
|
||||
},
|
||||
{
|
||||
"year": 2025,
|
||||
"source_label": "The ACM Web Conference 2025",
|
||||
"source_url": "https://archives.iw3c2.org/www2025",
|
||||
"census_event_key": "www:2025:annual"
|
||||
},
|
||||
{
|
||||
"year": 2026,
|
||||
"source_label": "The ACM Web Conference 2026",
|
||||
"source_url": "https://www2026.thewebconf.org",
|
||||
"census_event_key": "www:2026:annual"
|
||||
}
|
||||
],
|
||||
"event_count": 35,
|
||||
"multiple_events_in_same_year": {
|
||||
"1994": 2,
|
||||
"1995": 2
|
||||
},
|
||||
"blocking_model_gap": {
|
||||
"status": "production_event_identity_migration_independently_accepted",
|
||||
"code_evidence": "paper_atlas/db/schema.sql UNIQUE(venue_id,year,track), also mirrored by PostgreSQL schema",
|
||||
"problem": "Two main events in one year cannot be distinguished by the current edition uniqueness. The1995observedyear does not prove both events imported.",
|
||||
"next_action": "Preserveexisting1212and59Fallhistories. Implementmaintainedcollectorwithpreciseevent/track/sourceidentityforWWW1994and1995Spring;sourcecacheonlyisnotimport."
|
||||
},
|
||||
"scope": "35explicitactualevents1994–2026in33years:1994and1995eachhavetwoevents. Official2024historylists33eventrows1994–2024, serieshomepageadds2025/2026. Future2027/2028excluded. Sourceeventkeysarecensusidentifiers,notdatabaseIDsorverifiedcrosssourcealiases. RenamedTheWebConferencefrom2018, ACM/SIGWEBfrom2022; preserveoriginalWWWnames. Workshops/companion/industry/researchtracksandOpenReviewpoliciesseparate.",
|
||||
"existing_event_identity_preflight": {
|
||||
"snapshot_at": "2026-11-08 12:13:48.722149+00:00",
|
||||
"report_path": "/data/paper-index/collected/same-year-event-preflight-v1.json",
|
||||
"report_sha256": "50e213d5fdc194ae4fee8b74059252fa3f6f9a3bb2d2b593993ba1b95636e3b5",
|
||||
"database_written": false,
|
||||
"scope": "All59sourceevidencerowsunderexistingWWW1995editionanchortofallvolume. NoWWW1994editionobservedwithinthiscanonical/aliasvenuequery. Notproofnoexternal1994/spring1995papers.",
|
||||
"status": "fall_1995_only_observed_spring_still_pending",
|
||||
"edition_id": 1212,
|
||||
"venue_id": 53,
|
||||
"year": 1995,
|
||||
"track": "main",
|
||||
"submissions": 59,
|
||||
"booktitle": "WWW (Fall)",
|
||||
"dblp_volume": "db/conf/www/www1995f.html",
|
||||
"next_action": "Preserveexisting1212and59histories; implementdistinctsamevenue/yearmaineventidentitybeforeaddingSpring1995orboth1994events. Noautomaticdeletion/reimport."
|
||||
},
|
||||
"early_proceedings_source_inventory": "www-early-proceedings-2026-11-08.json",
|
||||
"event_identity_production_acceptance": {
|
||||
"source_commit": "4182070e76dfa13ef7dbb526a0b6a4d155f19cd6",
|
||||
"snapshot_at": "2026-11-08 13:26:53.095310+00:00",
|
||||
"report_sha256": "f5dbb8a8e387904adb076896e9c50a89c9e16cc6781ad8a93b7d7f29fe31acdf",
|
||||
"existing_edition_id": 1212,
|
||||
"event_key": "www-1995-fall",
|
||||
"existing_submissions_preserved": 59,
|
||||
"original_edition_ids_fields_unchanged": 1399,
|
||||
"global_raw_histories_unchanged": {
|
||||
"submissions": {
|
||||
"rows": 512006,
|
||||
"sha256": "ac9e7cb403b1850a959140fcdbce51900a5e888f8bce12d53f6b861be060a25c"
|
||||
},
|
||||
"decisions": {
|
||||
"rows": 551558,
|
||||
"sha256": "f507601e2fe09acd84cf32cdd0f07beb57c2bede57246c992408e00f487b6ca2"
|
||||
},
|
||||
"decision_sources": {
|
||||
"rows": 551558,
|
||||
"sha256": "cb419b2943972c3766585a2b845a00466ec0be955a48dbec1c79d038691d4572"
|
||||
}
|
||||
},
|
||||
"new_source_imported": false,
|
||||
"optional_annotations_initialized": false
|
||||
}
|
||||
}
|
||||
+106
-1
@@ -16,6 +16,8 @@
|
||||
- [ACL Anthology 权威 XML 与 API](https://aclanthology.org/info/development/)
|
||||
- [NeurIPS](https://proceedings.neurips.cc/)
|
||||
- [COLM](https://proceedings.colm.cc/)
|
||||
- [MLSys](https://proceedings.mlsys.org/)
|
||||
- [ACM Multimedia 历史目录](https://dblp.org/db/conf/mm/index.html)
|
||||
- [CVF](https://openaccess.thecvf.com/)
|
||||
- [ECVA](https://www.ecva.net/papers.php)
|
||||
- [IJCAI](https://www.ijcai.org/all_proceedings/)
|
||||
@@ -29,6 +31,7 @@
|
||||
| 机器学习、理论 | NeurIPS、ICML、ICLR、COLM、COLT、AISTATS、UAI、CLeaR | OpenReview、PMLR、NeurIPS、COLM 官方论文集 |
|
||||
| 自然语言 | ACL、EMNLP、NAACL、EACL、COLING、CoNLL | ACL Anthology |
|
||||
| 视觉 | CVPR、ICCV、ECCV | CVF、ECVA |
|
||||
| 多模态与机器学习系统 | ACM MM、MLSys | ACM / DBLP、MLSys 官方论文集 |
|
||||
| 综合 AI | AAAI、IJCAI、ECAI | 官方论文集、DBLP |
|
||||
| 检索与数据 | KDD、SIGIR、WWW、WSDM、RecSys、CIKM、ICDM、SDM、ECML-PKDD | 官方出版方、DBLP,具体年份入口待逐项登记 |
|
||||
| 机器人 | ICRA、IROS、RSS、CoRL | 官方论文集、PMLR、DBLP |
|
||||
@@ -38,6 +41,25 @@
|
||||
|
||||
这些是领域覆盖候选,不构成统一排名,也不能据此声称已全部入库。逐年目录以真实举办届次和正式出版清单为准:双年会议不补造不存在的年份;主会、Findings、workshop 分开。`edition_sources` 保存实际采集状态,不能用候选名单代替覆盖率报告。
|
||||
|
||||
最新已入库基线与逐年公开拒稿核查状态见 [会议覆盖清单](coverage/README.md)。它分开记录政策证据、实际导入和未核实缺口;不是历史覆盖完成声明。
|
||||
|
||||
## ACM MM 与 MLSys
|
||||
|
||||
会议注册表包含 `MM`(别名 `ACMMM`、`ACM MM`)和 `MLSys`。MLSys 官方根目录目前列出 2019–2026 年的 8 卷,直接采集每篇标题、摘要、公开作者和引用元数据:
|
||||
|
||||
```sh
|
||||
paper-atlas collect mlsys --cache /data/paper-index/raw/http-cache \
|
||||
--out /data/paper-index/collected/mlsys
|
||||
```
|
||||
|
||||
每年清单核对官方声明数量,缺摘要标为 partial;未知现代轨道、空目录或读取失败不能记为成功。`SysML 2019` 归于同一 MLSys 系列并保留别名。2018 年官方说明接受的投稿为 non-archival,论文集从 2019 年开始;不拼造 2018 年归档卷,也不把未出现在论文集中的投稿判为拒稿。参见 [2018 年官方说明](https://mlsys.org/Conferences/2018/)。
|
||||
|
||||
MLSys 老式 `/paper/<year>/hash/…` 与新式 `/paper_files/paper/<year>/hash/…` 链接规范为同一个 `publication_mlsys` 标识,也支持 2023 年实际使用的 `-Abstract-mlsys2023.html` 及对应年份标签;标签年份必须与目录年份一致。DBLP 和官方摘要源共用它,避免同一发表记录成为两个论文实体或两次投稿。只从自身出版社链接提取,不从摘要参考文献提取,也不把发表标识用于合并某次拒稿尝试。共享投稿身份入口要求 MLSys 源具有有效的同年出版社身份,缺失或错年的文件不能生成投稿事件;旧版 DBLP 整理文件可利用已保留的唯一自身出版社链接补得此身份,不需要丢弃来源或依靠标题猜测。
|
||||
|
||||
ACM MM 使用固定 DBLP 原始快照和已核验的 proceedings crossref 盘点历史,主会 `ACM Multimedia`、历史编号分卷与同系列 workshop 分开。主会卷也包含 Doctoral Symposium、Reproducibility Companion Papers、Tutorials 等章节(参见 [2025 年目录](https://dblp.org/db/conf/mm/mm2025.html)),而原始 XML 不含逐篇章节,所以这类记录暂标 `proceedings_unspecified`,不能整卷当作 regular 主轨道;后续需逐篇目录证据补齐。旧版候选 JSONL 没有 `mm` / `mlsys` 家族,不能用它假装覆盖新增会议;应从已经下载并校验的原始 XML 重新筛选这两个会议,保留完整扫描数量、卷证据与遗漏原因。DBLP 没有摘要,后续须通过 DOI、真实 forum 等独立标识关联官方或公开元数据,不能将书目导入成功表述为摘要已齐全。
|
||||
|
||||
公开拒稿镜像的 `acmmm` 家族映射到 `MM`,只接受明确的负面状态,继续保留镜像与原始签名决定的区别。现有固定 OpenReview 镜像只含 ACM MM 2024 的录用记录,没有据此证明其他年份没有公开拒稿;[2025 年官方 CFP](https://acmmm2025.org/call-for-papers/) 仅说明审稿期间不公开,不能外推为会后永不公开。
|
||||
|
||||
## 官方会议元数据采集
|
||||
|
||||
```sh
|
||||
@@ -58,6 +80,42 @@ PMLR 的同一出版 ID 可能对应多份 Git 元数据,例如 CoRL 2023 的
|
||||
|
||||
PeerRead 采集仅选择作者公开发布的 ICLR 2017 投稿元数据,固定到源仓库 commit。只依据明确的布尔 `accepted` 标签形成 accepted/rejected;空标签为 unknown,不使用其他数据分区中的 probably-rejected 推断。不会保存 reviews 或 parsed_pdfs 正文。
|
||||
|
||||
### 其他会议的公开拒稿
|
||||
|
||||
范围是逐会议、逐年份寻找已公开的拒稿投稿,不能只补录已发表名单。ICML、NeurIPS 部分年份由作者选择是否公开拒稿,因此公开子集不能用于推算完整拒稿数或录用率。其他会议没有在某个镜像中出现 Reject,也不代表该会议没有公开拒稿;需要继续核对官方公开政策、原平台与其他有明确标签的公开快照。
|
||||
|
||||
`collect public-openreview` 读取 [PaperCopilot 的公开元数据镜像](https://github.com/papercopilot/openreview/tree/41ee277825d685bd78e88e48b69da6aead9a69bb),固定版本并核验每个文件的 Git blob 哈希。默认盘点该版本截至 2026 年的非 ICLR 文件;ICLR 默认沿用独立的公开原始投稿/决定快照,需要补查时可显式指定 `--family iclr`。只保留明确的 Reject、Desk rejected、Withdrawn 标签,不根据 Submitted、Active、Pending、TBD、分数或录用名单缺席推断拒稿。
|
||||
|
||||
```sh
|
||||
paper-atlas collect public-openreview --out /data/paper-index/collected/public-openreview-v1
|
||||
paper-atlas audit public-openreview --db /data/paper-index/papers.sqlite \
|
||||
--inventory /data/paper-index/collected/public-openreview-v1/public-openreview-inventory.json \
|
||||
--out /data/paper-index/collected/public-openreview-preimport.json
|
||||
```
|
||||
|
||||
输出按会议、届次及 main、position、datasets_benchmarks 分文件。workshop 默认进入单独的 held 清单;有明确 workshop 名称时可通过 `--include-workshops` 单列采集,不合并到主会。Retraction、未映射的轨道或负面标签也保留在 `held-records.jsonl`,不强改为 Reject 或 Withdrawn。当前决定表没有独立 retracted 状态,因此撤回发表记录仍需后续专门建模。
|
||||
|
||||
`parser_version=2` 还会将明确负面标签但标题缺失、空白或 null 的记录放入 `held-records.jsonl`,保留原始状态、forum ID、固定来源版本和行号;不制造标题或导入不可识别的论文,也不让这一条缺失阻断其他可用记录。held 文件哈希与各原因数量保存在 inventory;非文本标题、错误身份、冲突届次和哈希不符仍使整批失败。旧年 ICLR 镜像的明确 `Withdraw` 标签归为 `withdrawn`,`Workshop`、`Poster Workshop`、`Oral Workshop` 均不作为拒稿。采集文件与导入主库仍是两个独立步骤。
|
||||
|
||||
`parser_version=3` 增加五组已核实身份的 ICLR workshop 标签:2024 ME-FoMo / GenAI4DM 的 Withdrawn Submission、2025 AgenticAI 的 Reject / LMRL 的 Withdrawn Submission,以及 2026 LLM Reasoning 的 Withdrawn Submission。仅在 `--include-workshops` 下输出,并分别保存 `workshop_me_fomo`、`workshop_genai4dm`、`workshop_agenticai`、`workshop_lmrl`、`workshop_llm_reasoning`;默认仍暂存。标签必须与原文件会议、年份和原始 workshop track 一致,错年/错会议使采集失败,错轨道单独暂存,未知标签继续待核查,不用宽泛的 Reject/Withdraw 正则猜测。
|
||||
|
||||
[OpenReview 官方 ICLR 活动目录](https://openreview.net/venue?id=ICLR.cc) 确认上述独立 workshop 身份;[ME-FoMo 2024](https://sites.google.com/view/me-fomo2024/call-for-papers)、[GenAI4DM 2024](https://sites.google.com/view/genai4dm-iclr2024)、[AgenticAI 2025](https://iclragenticai.github.io/) 和 [LLM Reasoning 2026](https://sites.google.com/view/iclr-2026-llmreasoning) 的活动网站也提供对应投稿入口。输出在 metadata 保存 `workshop_venueid` 和身份目录证据,决定仍只标为固定镜像的公开分类断言,保留原始标签、forum、来源行号与哈希,不声称核验原始决定签名。2026-11-08 核查时部分原站记录页要求浏览器验证;身份目录和主办方入口可读,不代表逐篇原始决定已可访问,也不外推其他 workshop 的公开政策。采集后仍须经过 PostgreSQL 身份/决定冲突预检、串行导入和独立验收。
|
||||
|
||||
该来源明确标记为 `curated_public_status_assertion`:保留源 commit、文件哈希、行号、原标签和 forum ID,不声称已核验原始 PC 签名。只保存标题、摘要、公开作者名、关键词、领域、索引与决定来源,不缓存镜像中的个人资料、邮箱、性别、评审内容或 PDF。所有输出清单均为 partial;盘点中的零条记录仅描述这个固定镜像。
|
||||
|
||||
入库前审计核验文件哈希、数量、轨道和来源声明,并用真实 forum ID 对比同届同轨道已有投稿。存在不同决定时阻止整批导入,交由来源和时序核查;另一会议的后续录用属于独立投稿历史,不构成该次拒稿的冲突。同一 forum 的镜像不新增投稿事件,但论文实体的跨平台去重仍须在全量结束后核验。审计通过的报告包含带 SHA-256 的导入队列;应在单写入维护锁下及时串行导入,主库变化后重新审计。
|
||||
|
||||
ICML 2026 另有[公开原始投稿快照](https://github.com/HemantKumar01/ICML-2026-data/blob/1a1b9d973a8dfbf254f740fb8100a2fcf36757ea/data/rejected.json),包含 214 条投稿根记录。`collect icml-public-archive` 固定该 commit、文件长度及 Git blob 哈希,逐条要求 `readers` 包含 everyone、forum 等于自身 ID、域及投稿邀请属于主会、平台 `venueid` 明确为 `ICML.cc/2026/Conference/Rejected_Submission`。不能仅根据显示文案 Submitted to ICML 2026 推断拒稿。
|
||||
|
||||
```sh
|
||||
paper-atlas collect icml-public-archive --out /data/paper-index/collected/icml-2026-public-archive
|
||||
paper-atlas audit public-openreview --db /data/paper-index/papers.sqlite \
|
||||
--inventory /data/paper-index/collected/icml-2026-public-archive/public-openreview-inventory.json \
|
||||
--out /data/paper-index/collected/icml-2026-public-preimport.json
|
||||
```
|
||||
|
||||
这批证据标记为 `public_submission_venueid`,保留逐投稿许可及快照出处;它与整理者的 Reject 标签、原始签名决定分别表述。记录修改时间不当作决定日期,观察时间采用快照上界,不采用今天的导入时间。214 是这个公开 opt-in 子集的投稿数,不能当作会议全部拒稿数,也不能直接当作去重论文实体数。该采集器同样只提取元数据与标题摘要,丢弃 authorids、个人资料、评审和 PDF 字段。
|
||||
|
||||
```sh
|
||||
python3 -B -m paper_atlas collect peerread --cache /data/paper-index/raw/http-cache \
|
||||
--out /data/paper-index/collected
|
||||
@@ -128,8 +186,14 @@ paper-atlas collect dblp \
|
||||
|
||||
输出按会议/年份/track 分文件,附 manifest、`dblp-normalization.json` 范围审查统计和带哈希的 `dblp-import-queue.json`。不能识别的书目、年份或归属会逐类登记,不默认算作主会。DBLP 不含摘要,因此输出摘要为空、清单为 partial;需要通过有证据的跨来源关联补齐论文实体摘要。书目发表证据与原始审稿决定分别保留,不依据书目缺席推断拒稿。已存在其他出版来源的届次,还须先回填其权威身份并核验镜像记录,不能直接累加投稿数。
|
||||
|
||||
早期 AISTATS 1995/1997/1999/2001/2003/2005 和 COLT 1988–1991 的主系列名称本身含 Workshop,不能当作附属 workshop 漏掉。识别要求已核对的完整 proceedings key、会议书目名、原始标题前缀、届数和事件年一致;轨道名为 `main` 表示主系列,保留原始 Workshop 名称及官方目录证据,不改造其历史名称或出版形式。参见 [AISTATS 官方历史目录](https://aistats.org/other.html)、[COLT 协会目录](https://www.learningtheory.org/)。1995 AISTATS 的会议年与1996图书出版年分开;[PMLR R0](https://proceedings.mlr.press/r0/) 是后来重发的 pre-proceedings,不与 DBLP 图书条目盲目逐篇等同。
|
||||
|
||||
真正附属的 AISTATS 2010 Active Learning and Experimental Design workshop 仍单列。COLT 2003 与 Kernel Workshop 的 [混合论文集](https://doi.org/10.1007/b12006) 缺少逐篇章节信息,使用 `proceedings_unspecified`,不能整卷改成 main 或附属 workshop。输出保存 `track_scope_note` 与 `track_scope_evidence_url`,导入后仍可追查分类理由;这些出版证据不是真实拒稿或原始决定签名,也不自动修正既有主库记录。
|
||||
|
||||
部分早期 SIGIR、CIKM、IJCAI 出版卷使用两位年份键;只有论文集标题明确给出唯一完整年份且与短键相符时才采用,不推测世纪。WWW 特殊兴趣、Alternate track 单列;同卷混合 Applied Data Science、Demo、Industrial 且不能逐篇区分时使用 `proceedings_unspecified`,不把整卷归为某一个具体 track。
|
||||
|
||||
书目中的前后页、目录组合和明确会务标题不产生论文录用记录;缺作者的赞助、委员会、活动汇总等标题单独排除。WWW 2019 companion 的匿名合成活动条目归入待核查材料,原始快照仍保留。范围报告分别统计这些原因;单纯缺作者并不排除真实研究论文,也不补造作者。
|
||||
|
||||
XML 只允许校验过的本地 DTD;官方通用名 `dblp.dtd` 与月度快照使用的 `dblp-2023-06-28.dtd` 均解析到同一份已校验文件。拒绝其他外部实体和内部 DTD 子集,不访问 XML 声明的任意网络地址,并遵循源 XML 的字符编码。临时目录库或 gzip 检查失败时不发布正式候选文件,需先调查残留的 `.part` 状态,再决定是否重新运行。
|
||||
|
||||
公开 ICLR 投稿快照的固定 Release 供后续筛选投稿和明确决定;它是第三方保存的 OpenReview 历史副本,不等于最新官方全量数据:
|
||||
@@ -221,6 +285,25 @@ python3 -B -m paper_atlas query --db /data/paper-index/papers.sqlite \
|
||||
|
||||
只将 Conference 来源的论文视为 ICLR 主会录用,排除 Blog 和期刊转会展示,并在审计清单保存排除计数。2020/2021 旧数据允许依据官方主会 paper program 形成录用证据;无 forum ID 时保留 program 身份和匹配候选,不伪造标识。历史年度返回 404 会登记 unavailable,未来未发表届次登记 not_yet_published,其他访问或解析失败登记 blocked;这些状态都不能宣称该年已覆盖。
|
||||
|
||||
ICLR 2020 的现代程序 JSON 没有真实 forum 链接,数字 event ID 也不能拼接为旧版海报地址。该年未核验身份的记录先使用官方 Papers 索引地址。旧版官方页面实际引用的 [papers.json](https://iclr.cc/virtual_2020/papers.json) 提供 687 个 forum;可用固定大小及 SHA-256 校验的副本进行独立身份核对:
|
||||
|
||||
```sh
|
||||
paper-atlas download --url https://iclr.cc/virtual_2020/papers.json \
|
||||
--output /data/paper-index/raw/iclr-2020-legacy-papers.json \
|
||||
--expected-bytes 391687 \
|
||||
--sha256 2405f2da6e2641fa600762f7d7cdf7c9d27f4d0ae65799168f3aee46036d30d2
|
||||
|
||||
paper-atlas audit iclr-legacy \
|
||||
--program /data/paper-index/collected/iclr-program-2020-main.jsonl \
|
||||
--snapshot /data/paper-index/collected/openreview-snapshot-2020-main.jsonl \
|
||||
--legacy /data/paper-index/raw/iclr-2020-legacy-papers.json \
|
||||
--out /data/paper-index/collected/iclr-2020-verified
|
||||
```
|
||||
|
||||
核对同时要求同届公开录用、唯一投稿编号和官方 forum 清单一致;编号只是候选关联,还必须有独立的标题/摘要/公开作者证据。旧版作者缩写或姓名格式差异不会放宽全库作者匹配规则。一篇 Explain Your Move 有三个来源中的三种标题,使用逐个核对的精确标题组合及至少两名共同公开作者作例外,不启用通用模糊标题合并。
|
||||
|
||||
输出保留原 `2020/program-编号` 来源 ID、标题、摘要和作者,补充真实 forum、核验证据和旧版官方海报 URL。它不写数据库,也不修改输入文件。先在维护锁下使用输出的 `iclr-2020-backfill-queue.json` 给已有程序投稿回填身份,再导入核验后的程序文件与原始投稿快照;这样补充拒稿不会把已有录用事件再建一次。`iclr-2020-snapshot-queue.json` 和审计报告均记录待用文件的哈希,合并前仍须复核。
|
||||
|
||||
主题、关键词使用 `iclr_program:topic`、`iclr_program:keyword` 命名空间。通用导入器按源记录刷新标签证据,保留同一论文其他源记录及 `custom:*` 标签。每年的 JSONL、manifest、`iclr-program-year-status.json` 和 `iclr-program-last-run.json` 保存实际范围、独立展示数、主会展示数、论文数、缺失摘要与缺失 forum 数。录用程序不能提供拒稿全集,公开投稿及拒稿补充仍需独立来源。
|
||||
|
||||
### CVF / ECVA 视觉会议元数据
|
||||
@@ -232,8 +315,30 @@ python3 -B -m paper_atlas collect ecva \
|
||||
--cache /data/paper-index/raw/http-cache --out /data/paper-index/collected
|
||||
```
|
||||
|
||||
CVF 从官方根目录发现 CVPR、ICCV 主会与 Findings,分别保存 track;不把 workshop 或 WACV 算入这些会议。优先跟随页面明确提供的 All Papers 链接,避免只收录默认显示的第一天。ECVA 从官方总目录按论文 URL 的会议与年份分组,当前总目录列有 ECCV 2018、2020、2022、2024。不存在于来源的 `--venue`、`--year` 或二者组合会报错,不补造双年会议届次,也不能因此推断旧届次未举办。
|
||||
CVF 从官方根目录发现 CVPR、ICCV 主会与 Findings,分别保存 track;不把 workshop 或 WACV 算入这些会议。优先跟随页面明确提供的 All Papers 链接;只有逐日目录时遍历全部明确链接的日期,再按论文 URL 合并重复条目并检查标题、作者、DOI 一致性。`.py` 与无后缀的同届入口可关联,不跟随其他会议、年份或站点的日期链接。ECVA 从官方总目录按论文 URL 的会议与年份分组,当前总目录列有 ECCV 2018、2020、2022、2024。不存在于来源的 `--venue`、`--year` 或二者组合会报错,不补造双年会议届次,也不能因此推断旧届次未举办。
|
||||
|
||||
只访问论文索引与摘要 HTML/PHP 页面。作者优先取 citation 元数据,旧页面尊重声明编码;无 citation 作者时取索引中的作者行,排除论文集出版信息。DOI 只取该论文条目所属的 DOI 链接或 citation 字段;冲突会失败,不从摘要引用中抽取当前论文 ID。不请求 PDF、补充材料、视频或代码。
|
||||
|
||||
每份清单记录索引入口数、论文数、缺失摘要与作者数,缺失内容保留为空并标记 partial。存在未被标题条目解析的论文链接时会失败,防止静默漏项。逐来源的 discovery、index-status、last-run 文件分别保存发现目录、逐届结果和实际请求范围。可重复使用 `--year` 或 `--venue` 限定重试;其他届次状态会保留。官方开放目录之外的早期届次、尚未刊出的新届次和独立出版方历史数据仍需后续补齐,采集器完成不代表全历史覆盖已完成。
|
||||
|
||||
单个摘要页面 404 时,仍保存官方目录提供的题目、作者和发表证据,摘要留空并记录失败 URL;整届文件标为 partial。403 等访问拒绝会终止该届采集。刷新缺失摘要时,存储层保留原来已知的论文摘要及其来源观察信息,后续页面恢复时可以更新。
|
||||
|
||||
针对旧 catalogue 的 blocked 届次可单独补采到新目录,避免与现有采集任务同时改写状态文件:
|
||||
|
||||
```sh
|
||||
paper-atlas collect cvf --cache /data/paper-index/raw/http-cache \
|
||||
--retry-catalogue /data/paper-index/collected/cvf-index-status.json \
|
||||
--out /data/paper-index/collected/cvf-repair
|
||||
```
|
||||
|
||||
parser_version 2 的清单还保存实际遍历的 index_urls、入口错误及缺失摘要页面。补采结果经过清单与身份核验后才导入,不能因重试任务启动就标记缺口已解决。
|
||||
|
||||
## PMLR 中的 ICML 多轨道论文
|
||||
|
||||
ICML 2024 起的一个 PMLR 卷可以同时包含研究主轨道与 Position Paper,不能把整卷都标为 `main`。采集器 v3 按轨道输出 `pmlr-v<VOLUME>-main.jsonl`、`pmlr-v<VOLUME>-position.jsonl` 及各自 manifest;卷级 `pmlr-v<VOLUME>.inventory.json` 和目录清单的 `files` 数组列出实际文件。导入队列应展开 `files`,不能假定每卷只有一个 `file`。
|
||||
|
||||
2025、2026 年通过出版社元数据的真实 OpenReview forum ID,匹配官方完整节目单中的 `Conference` / `Position_Paper_Track` 来源组;忽略负编号生成的口头报告副本,遇到冲突、缺少身份或未匹配的发表记录停止发布结果。每条记录保存节目单 URL、SHA-256、事件 ID、关联身份及轨道证据。
|
||||
|
||||
2024 年的官方节目单把两轨都放在 `Conference`,但提供 PMLR 论文自链接。该年仅采用组织方在 [2025 Position CFP](https://icml.cc/Conferences/2025/CallForPositionPapers) 明确链接的 [2024 Position 论文标题筛选](https://icml.cc/virtual/2024/papers.html?filter=titles&search=position%3A) 规则;同时保存规则页面的哈希。这个规则不用于其他会议或年份。官方节目单将 `guyard24a` 链接误写为 `theo24a`:只对这条已核查的映射额外要求标题精确一致、至少两名公开作者重合,不进行全库模糊匹配。
|
||||
|
||||
导入与身份回填拒绝 ICML 2024 起 parser_version<3 或没有官方轨道证据的旧文件。已有主库中的错误轨道需要在独占维护锁内迁移原投稿事件、保留决定与来源关联;仅重新导入拆分文件会留下旧的主轨道事件,不能作为修复方式。完成迁移前,不把新文件直接导入现有库。
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
# 按证据修正既有投稿的轨道
|
||||
|
||||
`paper-atlas maintain edition-tracks` 用于已导入整卷论文集、后来取得逐条官方分区证据的情形。它更正原投稿的 edition 归属,保留投稿 ID、所有决定和来源关系;不会重新导入论文、合并实体、生成研究方法标签或推断拒稿。支持独立 SQLite 样本和共享 PostgreSQL;不得写入已冻结的生产 SQLite 备份。
|
||||
|
||||
## 证据与完整范围
|
||||
|
||||
先核实官方目录、稳定 DOI、原始来源记录和分区,保存原始页面及 SHA256。输入 JSON 为 `{"format":1,"records":[...]}`,每条必须包含:
|
||||
|
||||
| 字段 | 含义 |
|
||||
| --- | --- |
|
||||
| `submission_id`、`source_record_id`、`external_id` | 原有投稿、主来源记录及主来源投稿标识 |
|
||||
| `source`、`doi` | 原来源名称及其 metadata.record_identifiers 中的 DOI |
|
||||
| `from_edition_id`、`year`、`venue` | 原 edition 及其真实年份和规范会议名 |
|
||||
| `venue_names` | 规范会议名加全部已有别名;必须与库中一致 |
|
||||
| `track` | 经核实的目标轨道,使用小写字母、数字、下划线;范围未明确可用 proceedings_unspecified |
|
||||
| `section` | 官方分区原文或明确的未确定说明,不推断研究方法 |
|
||||
| `evidence_url`、`evidence_sha256` | 已人工/独立核实的 HTTPS 原始证据和内容哈希 |
|
||||
|
||||
输入必须列出每个原 edition 的**全部**投稿,包含留在原轨道的记录。工具核对身份、DOI、单来源发表观察、现有别名、完整范围以及目标冲突;不自动解释 HTML,也不把填写了 URL/哈希当成已证明内容。核查者应先独立证明每条分区对应关系。
|
||||
|
||||
多来源共同拥有的投稿、有非 accepted 决定历史的投稿、已有分类修订、非空目标 edition、目标已有覆盖或标识等情形会停止,需要专门核对。每个原 edition 须有一个明确来源清单;其他来源或多清单覆盖需先另行协调。本功能不是任意批量移动或跨会合并工具。
|
||||
|
||||
## 只读计划、事务执行和验收
|
||||
|
||||
```sh
|
||||
paper-atlas maintain edition-tracks \
|
||||
--pg-service foundry-research --pg-schema research \
|
||||
--inventory reviewed-inventory.json --out plan.json
|
||||
|
||||
sha256sum plan.json
|
||||
|
||||
paper-atlas maintain edition-tracks \
|
||||
--pg-service foundry-research --pg-schema research \
|
||||
--plan plan.json --plan-sha256 <上一步的完整SHA256> --out applied.json
|
||||
```
|
||||
|
||||
报告路径必须是已有目录中的新文件。预检只读。执行使用 PostgreSQL 单写入 advisory lock,或 SQLite BEGIN IMMEDIATE;整个分类修正、逐来源证据、标识、覆盖及验收在一个事务中完成。计划绑定数据库身份、全部来源文本/非修订元数据、标签、可选 annotation_events、投稿/决定/来源/标识内容及原覆盖快照;过期即停止。失败回滚数据,PostgreSQL 序列可能留下正常间隙,不能用 max(id) 当数量。
|
||||
|
||||
目标 edition 沿用原会议、年份、event_key,不删除或重命名原 edition。只更正既有 submissions.edition_id 和对应 submission_identifiers.edition_id。原文、来源检索时间、决定 ID/状态/证据及各表来源关系不变。
|
||||
|
||||
分类证据写入来源元数据的保留字段 `edition_scope_curation_v1`,包括原范围、目标 edition、官方分区、URL、哈希和计划摘要。普通来源导入不能伪造或替换此字段;后续 record 刷新保留修订。相同来源投稿通过旧范围调用 decision 时仍路由到修正后的 edition。旧整卷 main 文件通过 import records 刷新会报错并回滚,要求先按核实轨道重新整理,避免覆盖正确的统计。
|
||||
|
||||
覆盖保留原清单 URL、cursor、成功时间,按实际目标分配 expected_count/imported_count 并标 partial;本工具核实分类,未核实摘要或所有来源完整性。原覆盖整行保留在计划中,不能继续将整卷数当 main 论文数。应用后校验原 edition 身份、全部受保护内容、分类、标识、修订字段和覆盖;相同计划再次执行仅在这些验收条件仍成立时返回 already_applied。
|
||||
|
||||
生产使用前必须在已确认 runner 完成软件验证。正式数据修正后仍需独立验收,并在最终全库审计中复核;单元测试和应用回执不能代替生产验收。
|
||||
@@ -0,0 +1,44 @@
|
||||
# 同年多届会议的事件身份
|
||||
|
||||
`venue`、`year`、`track` 描述系列、年份和投稿轨道;`event_key` 区分同系列、同年、同轨道的实际会议事件。例如 WWW 1995 的春季与秋季会议分别使用 `www-1995-spring` 和 `www-1995-fall`,两者仍是 `main`。相同论文可以在两届有不同投稿与决定;论文去重不会把这两次投稿合成一次。
|
||||
|
||||
普通单届数据继续使用空键。新输入在同一组已有具名事件或已知同年多届时必须提供明确键;不能任选第一个 edition。已有来源刷新可依据自己的原投稿关系回到原事件,不能被显式改到另一事件。精确固定 DBLP 快照、WWW Fall 书目名、1995 年及 `www1995f.html` 卷共同支持旧秋季文件的归属;不按标题猜年份或季节。
|
||||
|
||||
规范 JSONL 行及 manifest 都可提供 `event_key`,非空值限制为最多80个小写字母、数字及 `._:-`,首字符为字母或数字。manifest 提供键时,每行必须一致;一份文件仍仅对应一个事件及轨道。跨行冲突会回滚整份业务导入。身份回填同样按事件选择,不能借机把来源移到另一届。
|
||||
|
||||
## 新样本与既有数据
|
||||
|
||||
新建 SQLite 样本的 `editions` 唯一键为 `(venue_id, year, track, event_key)`。已有 SQLite/PostgreSQL 不会因普通读写命令自动升级。其普通单届导入继续可用;WWW1994/1995或带事件键的导入会要求先迁移。冻结的 SQLite 生产备份仍受 cutover 标记保护,不能写入或升级。
|
||||
|
||||
先在 PostgreSQL 生成只读计划:
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas maintain event-identity \
|
||||
--pg-service foundry-research --pg-schema research --out /data/paper-index/event-plan.json
|
||||
```
|
||||
|
||||
检查计划的数据库身份、原 edition IDs、业务表数量、目标来源与历史指纹。计数也包含已显式启用的可选注解表。精确计数在同一快照中按主键分页,每页最多5000行,只读取主键;不使用估计行数。CLI向stderr持续报告计数进度,避免大库长时间无输出。已有未标记 WWW1995 edition 必须逐投稿都有固定 DBLP Fall 卷证据,才会只为原 edition 填入 `www-1995-fall`;缺证或混合卷会拒绝计划。本文命令不表示生产已经迁移。
|
||||
|
||||
应用时传入同一文件及命令输出的文件 SHA256:
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas maintain event-identity \
|
||||
--pg-service foundry-research --pg-schema research \
|
||||
--apply-plan /data/paper-index/event-plan.json --plan-sha256 PLAN_FILE_SHA256 \
|
||||
--out /data/paper-index/event-applied.json
|
||||
```
|
||||
|
||||
原生 PostgreSQL writer 使用现有 schema advisory lock,并在事务中锁定 editions,核对计划后添加列及替换唯一约束。SQLite 样本使用独占写事务,重建父表时保留 IDs,并在提交前检查外键;不级联删除子记录。额外列、未知唯一约束或 SQLite 额外索引会拒绝自动升级,须单独评估。未改变原版四列的排序内容哈希、任何业务表数量或目标投稿/决定/来源内容,才可提交;失败回滚。迁移标记与 DDL 同事务。原计划立即重试为 `already_applied`;若后续业务已经变化,应重新生成计划,不重放旧计划。
|
||||
|
||||
ECML 与 PKDD 的联合举办前事件已有不同 venue/edition,保持原身份即可。这项迁移不会把它们合并,也不会创建新的论文、投稿或决定。WWW 春季及1994两届的逐篇采集、来源核验和导入仍须另做。
|
||||
|
||||
## 查询与验收
|
||||
|
||||
```sh
|
||||
paper-atlas query --pg-service foundry-research --pg-schema research \
|
||||
--venue WWW --year 1995 --track main --event-key www-1995-fall
|
||||
```
|
||||
|
||||
详细投稿历史及 `known_acceptances` 返回 `event_key`。`--event-key` 可与 `--status` 一起限定同一事件中的最新已知决定。未迁移的旧库仍可普通查询,其事件键为空;不能声称已经区分季节。`audit histories` 的新库事件输出也保留键。
|
||||
|
||||
远程测试应覆盖同一作品的两届独立投稿、拒稿后另一届录用、原 IDs 与 Unicode/NUL 来源内容保留、旧文件刷新、歧义及错误键拒绝、整文件回滚、明确事件的身份回填、旧计划失效、重试与真实 PostgreSQL 迁移。生产应用后还须独立核验约束、来源和历史、全文索引及 foundry-core 健康;单元测试不替代生产或最终全库去重验收。
|
||||
@@ -0,0 +1,67 @@
|
||||
# Repairing joint conference membership
|
||||
|
||||
EURAI's [official history](https://www.eurai.org/ecai/history) identifies ECAI 2018
|
||||
and 2022 as joint IJCAI/ECAI conferences. The pinned DBLP volumes
|
||||
`conf/ijcai/2018` and `conf/ijcai/2022` use `IJCAI` as their booktitle and title.
|
||||
Existing records can therefore already be present under IJCAI while an ECAI query
|
||||
shows a missing year. Adding ECAI as a global alias to the ordinary IJCAI venue
|
||||
would incorrectly include all other IJCAI years.
|
||||
|
||||
The existing canonical `ECAI+IJCAI` venue has both member aliases. This maintenance
|
||||
command changes only the venue reference of the two existing `main` edition rows.
|
||||
Edition IDs, submission IDs, decisions, source text, authors, identifiers, tags,
|
||||
source links and coverage records stay intact. It does not merge or create papers
|
||||
or submissions, resolve per-paper tracks, or turn reviews into negative decisions.
|
||||
The DBLP collector applies the joint mapping only to these two exact main volume
|
||||
keys; original booktitle/title remain in source metadata with the membership evidence.
|
||||
The shared ingestion entry point also resolves these exact pinned source volumes before
|
||||
creating an edition, so refreshing an older normalized file cannot recreate a separate
|
||||
IJCAI edition. Other sources, years, workshop volumes and additional tracks retain their existing rules.
|
||||
|
||||
## Review a read-only plan
|
||||
|
||||
Use a runtime containing this repair command. The configured PostgreSQL writer lock
|
||||
is used only for the apply operation; do not replace a newer ingestion runtime with
|
||||
an older main-based feature branch.
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas maintain joint-editions \
|
||||
--pg-service foundry-research --pg-schema research --out joint-plan.json
|
||||
```
|
||||
|
||||
The preflight requires the existing joint venue and exactly its two member aliases,
|
||||
one nonempty unambiguous edition per year, and matching pinned DBLP volume evidence
|
||||
for every existing submission. A colliding target edition, missing provenance or
|
||||
unexpected source scope fails closed. The plan binds current database/schema, IDs,
|
||||
counts and full fingerprints of affected papers, identifiers, source records, tags,
|
||||
submissions, decisions and their provenance, and coverage rows. Observation time is
|
||||
recorded separately from conference year. These are scoped checks, not a final global
|
||||
identity or conference completeness audit.
|
||||
|
||||
## Apply the exact reviewed plan
|
||||
|
||||
Compute the file's SHA256 after review and pass it explicitly:
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas maintain joint-editions \
|
||||
--pg-service foundry-research --pg-schema research --plan joint-plan.json \
|
||||
--plan-sha256 "$PLAN_SHA256" --out joint-applied.json
|
||||
```
|
||||
|
||||
The plan hash is checked before opening a writer. Current evidence is checked again
|
||||
under the dataset writer lock; both edition updates and an audit marker commit in one
|
||||
transaction. Protected row hashes are checked again before commit. Changed evidence
|
||||
requires a fresh reviewed plan. Existing output reports are preserved; choose a new
|
||||
path for another run. SQLite samples use `--db sample.sqlite`; the frozen production
|
||||
backup remains protected.
|
||||
|
||||
If a response is lost after commit, rerun with the same plan and a new output path.
|
||||
When protected evidence is unchanged and both editions already point to the joint
|
||||
venue, the result is `already_joint` with zero updates. It does not replay imports or
|
||||
regenerate source records. Keep the plan, apply report and independent postcheck
|
||||
alongside collection evidence. The audit marker is `joint_ijcai_ecai_2018_2022_v1`.
|
||||
|
||||
Publication counts can differ between the DBLP volume and the current publisher
|
||||
page. This membership repair preserves all existing rows rather than deleting entries
|
||||
to force an aggregate match; section-level main/invited/other classification and
|
||||
publication completeness require separate per-paper evidence.
|
||||
+139
-2
@@ -1,7 +1,83 @@
|
||||
# 运行维护与数据核验
|
||||
|
||||
## PostgreSQL 迁移
|
||||
|
||||
共享实例的容器名为 `foundry-postgres`,底层镜像为 `postgres:17-alpine`;Compose 服务名仍为 `postgres`。数据库和 schema 是可配置的逻辑边界,表按研究数据域组织,不按调用项目复制。其他项目可获授 `research` 的 USAGE 及必要表权限,复用相同论文 ID 和表。未来换库只更新 libpq service;换 schema 可更新角色 search_path 或查询的 `--pg-schema`。
|
||||
|
||||
复用已确认的现有实例,在共享 `foundry_data` 数据库按数据域使用 `research` schema 和专用角色,不修改其他业务库。安装、测试和构建在已批准的 `ces-control:host` 执行环境运行。libpq service 文件由服务器提供,权限必须为 `0600`,不得放进仓库或带密码的命令行参数。
|
||||
|
||||
冻结 SQLite 写入,确认维护进程实际结束、WAL 已清空;采集到独立文件不修改索引。迁移持有源维护锁和目标 advisory lock,还须确保没有绕过协调器的旧版手工写入。
|
||||
|
||||
```sh
|
||||
export PGSERVICEFILE=/etc/paper-atlas/pg_service.conf
|
||||
paper-atlas maintain postgres \
|
||||
--db /data/paper-index/papers.sqlite --pg-service foundry-research \
|
||||
--storage-path /var/lib/docker/volumes/endoleap-dev_postgres/_data \
|
||||
--min-free-gib 8 --out /data/paper-index/collected/postgres-migration.json
|
||||
```
|
||||
|
||||
全部 21 张业务表保留原 ID、原始 JSON 文本、NULL、来源、投稿、决定、标签出处和合并记录。`sqlite_sequence` 用于重设 PostgreSQL identity 序列,并考虑已合并的历史 ID,避免复用;SQLite FTS5 shadow 表根据完整标题/摘要重建为原生 GIN 索引,不逐字复制引擎文件。
|
||||
|
||||
SQLite 允许文本包含 `U+0000`(NUL),PostgreSQL `text` 不允许。迁移使用 `nul-soh-v1` 可逆编码:NUL 存为 `U+0001 U+0001`,原有 `U+0001` 存为 `U+0001 U+0002`,其他字符不变;包括字串前缀在内的二进制排序保持一致,主键、唯一约束和外键可继续验证。编码版本保存在 `<schema>_migration.run.text_codec`,发布时同时写入 schema 注释 `paper-atlas:text-codec=nul-soh-v1`,其他项目只需研究表的权限即可读取格式信息,无须访问迁移控制表。CLI 的只读连接自动还原结果并编码筛选参数;直接 SQL/ETL 调用者应使用 `paper_atlas.postgres.text.encode/decode`,不能删除或直接替换控制字符。全文检索把这些控制字符当作分隔符,不承担逐字节匹配。
|
||||
|
||||
先 COPY 到独立暂存 schema,每张表提交和记录哈希。中断后以同一命令、同一报告路径恢复,必须仍是**完全相同的未变更快照**。不同输入、已发布目标、未清空 WAL、新的未知业务表都会拒绝覆盖;恢复只会清空本次运行尚未完成且尚未发布的暂存表。保留错误现场,不盲目从头复制。
|
||||
|
||||
恢复旧版本未发布的暂存数据时,在一个事务中转义已提交表里原有的 `U+0001`,然后记录新编码版本;失败回滚,重复恢复不会二次编码。已经提交的表无需从 SQLite 重新复制。报告中的 `source_sha256`、`target_sha256` 比较完整还原后的原始值;`target_storage_sha256` 另记实际存储值的哈希,包含转义的表两种哈希可以不同。
|
||||
|
||||
发布前逐表按主键完整回读,比较数量及逐行 SHA-256;建立并验证所有主键、唯一约束、CHECK 和外键,重设序列、建立 GIN 并 ANALYZE。全部通过后原子重命名为 `research` schema,报告才为 `complete`。`copying`、`prepared`、部分表通过或 CI 通过均不代表生产迁移完成,也不替代原任务最后的实体去重和会议覆盖审计。
|
||||
|
||||
发布后核对 PostgreSQL 的统计、全文检索、论文详情,以及 reject 后另会 accept 的历史。确认后保留 SQLite 只读备份,并在旁保存 `<SQLite路径>.postgresql-cutover.json`,记录报告路径、源哈希、目标 service/schema;新版本旧写入入口见此标记会拒绝写入。标记不含密码。后续导入适配属于下一阶段,不可继续更新 SQLite 后声称 PostgreSQL 已同步。
|
||||
|
||||
远程集成测试通过 `PAPER_ATLAS_TEST_PG_SERVICE` 显式指定,使用随机前缀 schema 并仅清理自己的 fixture;没有该配置时会跳过,应另外报告“未运行”,不能用 SQLite 测试代替 PostgreSQL 验证。
|
||||
|
||||
## PostgreSQL 增量写入
|
||||
|
||||
`import records`、`import arxiv`、`maintain backfill` 使用 `--pg-service` 选择主库,`--pg-schema` 可覆盖配置的 search_path。写入只接受已经发布、拥有完整业务表和受支持编码标记的 schema,不自动建库或引导空表。SQLite 样本仍使用 `--db`,已切换备份继续禁止写入。
|
||||
|
||||
写入连接按数据库/schema 获取会话级 advisory lock,文件提交、回滚以及 arXiv 分批提交均不释放;关闭连接才释放,其他写入者立即得到明确的占用错误。只读查询继续使用独立一致性快照。锁是所有调用方必须遵守的协议,其他项目不要绕过接口并发修改同一论文和投稿;[PostgreSQL 会话锁说明](https://www.postgresql.org/docs/17/explicit-locking.html#ADVISORY-LOCKS)解释了其事务边界。
|
||||
|
||||
论文身份匹配、跨来源合并、投稿/决定来源和标签维护复用同一套领域逻辑。PostgreSQL 使用原生 RETURNING 和 identity 序列分配 ID,继承迁移时设定的历史 ID 高水位;失败和冲突尝试可以留下序列空洞,不能把最大 ID 当作行数。绑定文本按 `nul-soh-v1` 编码,结果解码,GIN 随论文写入自动更新。
|
||||
|
||||
会议文件的数据变化在同一事务内完成,manifest 数量不符等错误会回滚整份文件,`ingest_runs` 另保留 failed、已处理数和零写入数;身份回填整个队列一次提交。arXiv 每 500 行提交数据和 checkpoint,异常只回滚尚未提交部分,重试必须仍为同一压缩包。大批次开始前核对独立审计清单、当前主库冲突和磁盘空间;完成后对数量、实际来源/决定关联及检索做数据验收,代码测试成功不代表生产导入成功。
|
||||
|
||||
`audit public-openreview --pg-service ...` 在只读快照中核验两个受支持公开负面决定来源的固定 revision、逐文件哈希、manifest、原始出处标记和既有同届投稿。最新决定排序与查询端一致:观察时间、决定日期(为空时回退观察时间)、ID。实际导入持有写锁后再次复核该投稿的最新状态,阻止过期预检或弱来源标签覆盖冲突决定;冲突文件整体回滚并等待进一步证据核查,其他会议录用不构成同一次投稿的冲突。
|
||||
|
||||
会议导入按原始字节流计算 SHA-256,在提交前与 manifest 提供的 `file_sha256` 比较;不符则回滚整份文件。成功批次的 checkpoint 会记录实际读取内容的哈希,便于复核导入时使用的文件版本。
|
||||
|
||||
代码以固定 commit 部署,已经启动的任务继续使用其原版本。目录重构不要求迁移数据库,也不更改已有 JSONL 和 manifest 格式。
|
||||
|
||||
## arXiv 原始编号与类别证据
|
||||
|
||||
原始行数、唯一 arXiv 编号数和合并后的论文实体数分别核验。以下只读原始压缩包,流式处理到 ZIP EOF/CRC 检查完成;输出审计 JSON 与编号 SQLite 索引,不修改论文主库:
|
||||
|
||||
```sh
|
||||
paper-atlas audit arxiv --archive /data/paper-index/raw/arxiv-metadata.zip \
|
||||
--out /data/paper-index/collected/arxiv-source-audit.json
|
||||
```
|
||||
|
||||
同编号的重复行会记录出现位置、次数和内容哈希版本,不直接视作不同论文;同篇论文的多个 arXiv 编号则保留各自来源及类别证据。旧导入器使用共享类别证据键,可能在论文实体合并时丢失某个编号的相同类别出处。新导入使用逐记录证据键;已有数据须在没有其他主库写入任务时按保留的来源 metadata 修复:
|
||||
|
||||
```sh
|
||||
paper-atlas maintain arxiv-tags --db /data/paper-index/papers.sqlite \
|
||||
--out /data/paper-index/collected/arxiv-tag-repair.json
|
||||
```
|
||||
|
||||
修复使用同一维护锁,分批提交并保存断点,保留 `custom:*` 和其他来源证据;失败后确认原因已解决,再增加 `--resume` 从上次提交位置继续。完成报告不能作为重新扫描的断点,重新核验应指定新报告。源审计和标签修复均保留 8 GiB 空闲空间,不能代替所有来源入库后的实体、投稿去重与完整性检查。
|
||||
|
||||
修复结束后还须核对每条 arXiv 来源记录的类别集合,不能只看旧证据键是否清零。下面的只读审计比较来源 metadata 中的类别、所属论文实体和逐记录证据键,同时检查没有合法 arXiv 来源的类别行:
|
||||
|
||||
```sh
|
||||
paper-atlas audit arxiv-tags --db /data/paper-index/papers.sqlite \
|
||||
--repair-report /data/paper-index/collected/arxiv-tag-repair.json \
|
||||
--out /data/paper-index/collected/arxiv-tag-coverage-audit.json
|
||||
```
|
||||
|
||||
审计持有共享维护锁;修复或其他协调写入尚未结束时会拒绝运行。提供修复报告时,还会核对其已完成状态、数据库路径和固定来源范围。审计以一致的只读快照分批读取,记录完整扫描数量、缺失/多余证据、错误论文归属、残留旧键及少量异常样例,不修改主库。
|
||||
|
||||
来源记录按整数主键区间读取,避免 SQLite 误选按 external_id 排列的来源索引、每批重新排序整个来源;其他来源交错在编号区间内时仍按 source_id 过滤。类别证据继续使用 source_record_id 索引批量读取。完整核验范围不因查询优化缩小。
|
||||
|
||||
只有全量记录核对完毕且无差异时才标记 `passed`;存在差异为 `failed` 并返回非零退出码,解析或执行中断为 `error`。运行中的报告不能作为完成证明。重新核验须使用新输出路径,不能覆盖已有报告;该检查不替代最后的实体去重、外键、SQLite 与全文索引核验。
|
||||
|
||||
## 长期维护与更新
|
||||
|
||||
1. 每次采集先核对来源、许可、可访问性、空闲空间和现有运行批次。保持低并发,遵守来源限流、重试与人机验证要求。
|
||||
@@ -16,6 +92,67 @@
|
||||
|
||||
2026-11-06 从目标服务器测试:Kaggle 元数据 GET 可下载;OpenReview 会议 group 接口可读,但 notes 接口返回 `ChallengeRequiredError`。这限制了直接补全;已使用来源可追溯的公开历史快照补充近期投稿与明确决定。仍不能用录用名单替代全部投稿,也不能声称覆盖了全部拒稿。
|
||||
|
||||
已核验的采集文件计数:ICLR 2020–2026 主会 15,534 条、COLM 2024–2026 共 1,573 条,摘要均已取得;候选范围内的 PMLR 文件为 31,428 条,已剔除两份重复出版元数据。ACL Anthology 已选文件为 63,297 条,其中 15,147 条源记录缺摘要。这些是采集文件的来源记录数,不能相加当作去重论文数,也不能代替主库实时统计;实际入库量使用 paper-atlas query --stats 查看。
|
||||
## 查询批次与入库状态
|
||||
|
||||
代码在 `codex/metadata-index` 工作分支交付,[Draft PR #1](https://gitea.entroia.com/Zayden-Jung/paper-atlas/pulls/1) 尚未合并,等待全量就绪后用户手动合并。各提交分别由远程 CI 验证,结果以对应提交的 Gitea Actions 检查为准。全量导入、其他会议适配器、去重复核和覆盖率核验继续进行,应随实际结果更新此说明。
|
||||
采集文件、已入库的来源记录和去重论文实体是不同的计数。来源可能覆盖同一篇论文,同一篇论文也可能有多次投稿;不能把各批文件数量相加作为独立论文总数。实时统计与覆盖报告使用:
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas query --pg-service foundry-research --pg-schema research --stats
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas coverage \
|
||||
--pg-service foundry-research --pg-schema research \
|
||||
--out /data/paper-index/collected/venue-coverage-current.json
|
||||
```
|
||||
|
||||
manifest 和采集器状态清单用于确认文件是否齐全及是否缺摘要;`ingest_runs` 和协调器日志用于确认主库导入是否成功。官方程序、书目目录和公开投稿快照分别保留,未出现在某份清单不等于被拒稿;第三方快照也不能代表平台当前全量状态。代码测试成功不能代替最终全库去重、完整性和逐届覆盖核验。
|
||||
|
||||
`coverage` 的所有计数来自同一个只读快照。`latest_observed_status_counts` 按每次投稿的最新观察决定统计,`decision_observation_counts` 保留所有历史观察;重复来源不增加投稿数,缺少决定的投稿计入最新状态 unknown,但不凭空制造 unknown 决定。`source_record_counts` 统计来源在该届次的实际记录与缺摘要数,和 `sources` 中逐清单的预期/导入数量分开;身份补充清单与原始论文集清单可以描述同一条记录。来源缺摘要与论文实体从其他来源获得摘要也分别报告。报告仍将历史覆盖标为待独立审计,不能用某个清单 complete 或没有拒稿记录推断全会议覆盖。
|
||||
|
||||
当前代码与合并状态以 [Pull Requests](https://gitea.entroia.com/Zayden-Jung/paper-atlas/pulls) 为准;CI 结果以对应提交的 Actions 检查为准。工作分支交付后等待用户手动合并。合并代码不自动部署、不自动启动采集,也不代表数据批次已完成。
|
||||
## 修正已有 PMLR 投稿的轨道
|
||||
|
||||
先用采集器 v3 把 ICML 多轨道卷采集到新目录,保留旧文件。以下命令默认只读生成迁移计划;`--inventory` 可重复指定,以完整卷为单位核对,不能只提供 Position 子集:
|
||||
|
||||
```sh
|
||||
paper-atlas maintain pmlr-tracks --db /data/paper-index/papers.sqlite \
|
||||
--inventory /data/paper-index/collected/pmlr-tracks-v3/pmlr-v235.inventory.json \
|
||||
--inventory /data/paper-index/collected/pmlr-tracks-v3/pmlr-v267.inventory.json \
|
||||
--inventory /data/paper-index/collected/pmlr-tracks-v3/pmlr-v306.inventory.json \
|
||||
--out /data/paper-index/collected/pmlr-track-plan.json
|
||||
```
|
||||
|
||||
检查报告后,在同一命令添加 `--apply` 并使用新的 `--out` 路径执行迁移。计划使用共享维护锁,实际迁移使用独占锁;已有 arXiv 类别修复或其他写入运行时会拒绝启动,不会停止或重启它们。一次事务内核对整个来源集合、原始题目/摘要/作者、forum 身份、已有事件及目标冲突,更新原投稿的 edition 和身份归属,回填官方轨道出处及逐轨道覆盖数,最后复查轨道与外键后提交。论文、来源、投稿、决定的 ID 及决定观察均保留,不重新创建事件、不做实体合并、不改论文正文元数据或标签。
|
||||
|
||||
报告记录每个迁移事件的旧 edition、原身份、完整决定观察及新轨道证据。`planned` 是未执行的计划;`complete` 才表示事务已提交;`error` 表示执行失败。若进程在提交前后中断而报告停在 `prepared`,先对照主库和报告核查,不根据日志缺失自行重启任务。新路径重跑会重新核对当前数据库,已正确的轨道不会再次迁移。共享多个来源、重复目标事件或冲突决定会停止迁移,需另行核对,不能直接删掉其中一条。
|
||||
|
||||
## 追加同一目录的部分记录
|
||||
|
||||
默认 `import records` 把 manifest 当成一份来源快照,覆盖统计使用该文件的数量。
|
||||
若目录已有2条,之后仅补入1条,不能把这一小批当成完整快照,否则会把目录计数改成1。
|
||||
为已核验的部分补充批次,在 manifest 显式声明:
|
||||
|
||||
```json
|
||||
{
|
||||
"coverage_mode": "incremental",
|
||||
"coverage_previous_count": 2,
|
||||
"coverage_previous_expected_count": 2,
|
||||
"coverage_expected_count": 4,
|
||||
"status": "partial",
|
||||
"count": 1
|
||||
}
|
||||
```
|
||||
|
||||
这只是新增字段示例,manifest仍须保留source、venue、year、track、list_url、文件哈希等来源证据。
|
||||
`count`是本文件行数,`coverage_previous_count`是导入前该来源/届次的实际记录数,
|
||||
`coverage_previous_expected_count`是旧覆盖行的expected_count(未知时用null),
|
||||
`coverage_expected_count`是独立目录证据支持的整份来源预期数,不能小于已知旧预期数。
|
||||
这个例子成功后覆盖统计为预期4、已导入3;文件checkpoint的records_written仍为1。
|
||||
刷新相同记录不重复累加。初次导入部分来源可声明previous_count为0、previous_expected_count为null。
|
||||
|
||||
只支持当前最多一个规范目录URL且旧覆盖状态为partial的来源/届次;多目录、旧状态complete、
|
||||
旧计数与实际来源记录不符,或前置计数已变化,都会中止,先核对来源范围或重新取得完整快照。
|
||||
该模式在写入前检查父状态,并在同一文件事务中按实际来源记录重新计数、检查总量界限和乐观更新覆盖行。
|
||||
失败会回滚本文件的论文、来源、决定、标签和覆盖变化,保留失败运行记录;更早已提交文件不重放。
|
||||
增量模式始终保留partial,不能靠一个小批次推断完整论文集、摘要或公开拒稿覆盖。
|
||||
|
||||
仍需先独立核对新增记录身份与决定,按原生单写入保护串行导入,再独立核验数据与原有历史。
|
||||
这些计数检查不证明外部目录完整,也不代替最终全库去重。
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# Integrated research runtime
|
||||
|
||||
This branch composes the independently reviewed identity guards (PR25), incremental
|
||||
coverage (PR27), joint-edition refresh guard (PR29), event identity (PR30), and optional
|
||||
annotation support (PR28). It starts from main 1b81d1a and preserves their commits;
|
||||
it is an explicit integration dependency, not evidence that those PRs have merged.
|
||||
Users merge through Gitea manually. Review this combined diff against main, including
|
||||
its conflict resolutions, before using it as the maintained runtime.
|
||||
|
||||
The shared Store preserves stable source/identifier anchors before title matching,
|
||||
rejects ambiguous unanchored matches, resolves pinned IJCAI/ECAI volumes before event
|
||||
lookup, and selects same-year events by event_key. Incremental manifests for a named
|
||||
or ambiguous event must state event_key; their parent count and optimistic update
|
||||
are checked against that exact event, not the first venue/year/track match.
|
||||
|
||||
Query filters compose event_key, status, tags and research type. An earlier rejected
|
||||
attempt and a later known acceptance remain distinct; neither annotations nor track
|
||||
names infer a research type. Installing this code does not initialize annotation_events.
|
||||
Event plans count that optional table when present, alongside the original business
|
||||
rows. Annotation initialization and event identity upgrade remain explicit commands
|
||||
with their own transactional checks. Neither command imports historical records.
|
||||
|
||||
## Production sequencing
|
||||
|
||||
1. Verify the exact integrated commit on the approved ces-control runner, including
|
||||
the real PostgreSQL interaction tests and wheel/installed CLI checks.
|
||||
2. Stage that exact source in a separate release directory and verify package hashes;
|
||||
leave the current runtime and frozen SQLite backup intact.
|
||||
3. Inspect live writers and coordinate through the existing database writer lock.
|
||||
Generate a fresh read-only event plan using that integrated release. Check its
|
||||
database/schema identity, all business counts and preserved history hashes. A plan
|
||||
from before further data or optional-schema changes must not be reused.
|
||||
4. Apply only that reviewed file with its actual SHA256, in one transaction. Independently
|
||||
verify the constraint, original edition IDs and fields, assigned Fall source, source
|
||||
and history bytes, ordinary queries, full-text queries and foundry health.
|
||||
5. Use the verified integrated release for subsequent writes. Older writers lacking
|
||||
event identity support must not resume against the upgraded schema. Annotation
|
||||
initialization requires a separate explicit operation and acceptance.
|
||||
|
||||
These are operational requirements, not claims of completed production deployment.
|
||||
The production event-key migration and optional annotation activation have not occurred
|
||||
at preparation time. Existing migration/import/repair acceptance remains valid; do not
|
||||
rerun those jobs to install source code. Cross-feature tests use disposable fixtures
|
||||
and PostgreSQL schemas, never the production research tables.
|
||||
|
||||
Coverage output also returns event_key for each independent edition ID. Two same-year
|
||||
main events keep their own status/source counts; venue paper totals remain distinct
|
||||
work counts rather than sums across events. Legacy datasets without the event column
|
||||
return an empty event key and remain read-only compatible.
|
||||
@@ -0,0 +1,36 @@
|
||||
# 会后选集的元数据采集
|
||||
|
||||
`collect springer-selected` 读取已冻结、带 HTTP 回执的公开 HTML,不访问 PDF、不写业务库。目前仅支持核验过的 *Selecting Models from Data: Artificial Intelligence and Statistics IV*,书籍 DOI 为 `10.1007/978-1-4612-2660-4`。增加其他卷前必须另行核对会议关系、目录、年份和字段格式。
|
||||
|
||||
[会议官方旧站](https://www.gatsby.ucl.ac.uk/aistats/workshops.html)区分现场分发的 Preliminary Papers 与之后修订、再次评审的选集。[出版社卷说明](https://link.springer.com/book/10.1007/978-1-4612-2660-4)将本书关联到 1993 年 1 月的第四届 workshop,书籍出版年份为 1994。三页目录共有 49 个章节 DOI;分区 Front Matter 不作为章节论文导入。
|
||||
|
||||
规范记录保留:
|
||||
|
||||
- 会议年份 1993、独立 track `selected_volume` 与事件标识 `aistats-1993-selected-volume-1994`;出版年份单独记为 1994。
|
||||
- 章节本身的 DOI、作者原始引用写法及顺序、姓名首字母、标题、摘要、页码和逐页原始证据。不扩写作者首字母。
|
||||
- 明确提供本章 `publication_doi` 投稿出版标识,不把它转移到旧的原始会议评审记录,也不因短标题相同而强制合并实体。
|
||||
- `springer_selected_volume:publication_format` 标签与独立来源 namespace。
|
||||
- `accepted` 仅表示章节已列入这本出版选集,原始 1993 投稿评审决定、决定日期和全部录用清单均未知。后续原会议 main、拒稿或撤稿证据可以独立保留。
|
||||
|
||||
不能据此宣称会议全部录用、全部投稿或公开拒稿覆盖完整,也不能把出版社机器添加的关键词视为作者标签。未命中选集不等于被拒。
|
||||
|
||||
## 按需运行与恢复
|
||||
|
||||
输入分别是卷目录/旧站说明和章节页的快照目录。每个目录的 `receipts.json` 包含 `responses` 列表,每条保留 `url`、`final_url`、`file`、`http_status`、`headers`、`bytes`、`sha256`、`at`。需要三页目录、官方旧站说明及全部 49 个章节页面。
|
||||
|
||||
```sh
|
||||
paper-atlas collect springer-selected \
|
||||
--toc-snapshots /data/paper-index/collected/aistats1993-book-evidence-v1 \
|
||||
--chapter-snapshots /data/paper-index/collected/aistats1993-chapter-evidence-v1 \
|
||||
--out /data/paper-index/collected/aistats1993-source-v1
|
||||
```
|
||||
|
||||
采集器验证回执和内容哈希、文件路径、HTTP 类型、目录/章节 DOI 和标题、作者格式、出版年份及页码。Springer 对公开元数据返回的同路径 `cookies_not_supported` 诊断参数会原样保留;不接受其他域、路径、分页变化或未知查询参数。官方旧站说明固定哈希为 `6db205b9dbc82b4a096556efd2aa67e065cad8e0bd6351176b1962ffd1fca179`,变化时须重新审核。
|
||||
|
||||
全部文件先核验,输出使用排他锁和暂存目录,完成报告最后发布。已有输出拒绝覆盖;发现不完整或已消费文件,应先查运行状态与报告,另建明确版本目录,不能重放生产导入。
|
||||
|
||||
输出 JSONL 配套 manifest 始终为 `partial`。收集完成后还必须做 PostgreSQL 稳定标识/标题/作者身份预检、排除已导入记录、准备限定增量文件、保存旧数据保护基线、原生导入和独立验收。49 条来源不代表 49 个新增论文实体,全部来源处理后仍须全库去重审计。
|
||||
|
||||
## 固定测试资料
|
||||
|
||||
`tests/fixtures/springer-aistats1993-fixture.json.gz` 保存 4 份范围/目录 HTML、49 份章节 HTML、原始请求回执及独立原始字段审计的预期元数据,SHA256 为 `94028fd37080f9d8027e5790e379cc151ee6eab17ed0d1dcc0f59e6e75f9d4d0`。摘要按 HTML 段落边界分隔;未修改原始 HTML 或回执。它是压缩的公开元数据测试资料,不包含论文 PDF。测试覆盖全部真实章节字段、缺失和漂移输入、来源安全边界、幂等导入及旧拒稿历史保留。构建和测试只在已授权远程 runner 执行。
|
||||
+133
-8
@@ -2,6 +2,73 @@
|
||||
|
||||
先在已确认的远程环境安装项目,使用 `paper-atlas`。从源码运行时,将命令前缀替换为 `python3 -B -m paper_atlas`,其余参数相同。数据目录位于仓库外。
|
||||
|
||||
## 按证据补充稳定标识
|
||||
|
||||
`paper-atlas curate identifiers --plan /data/review/plan.json --output /data/review/prepared`
|
||||
只生成新的 JSONL、manifest、证据副本及 `curation-report.json`,不会连接数据库。
|
||||
输出目录必须不存在,父目录必须已存在;任何输入或断言失败,都不发布本批输出。
|
||||
原始文件不变,未选中的记录逐字节保留。题名、作者、年份、页码、投稿决定、标签和既有 metadata
|
||||
均不重写,仅补充 `identifiers` 并追加 `metadata.identifier_curation` 证据链。
|
||||
|
||||
计划格式如下(哈希占位符须替换为真实 SHA256,所有路径按命令当前目录解析):
|
||||
|
||||
```json
|
||||
{
|
||||
"format_version": 1,
|
||||
"inputs": [{
|
||||
"file": "/data/review/uai2001.jsonl",
|
||||
"sha256": "<JSONL 文件 SHA256>",
|
||||
"manifest_sha256": "<同名 .manifest.json 文件 SHA256>"
|
||||
}],
|
||||
"assertions": [{
|
||||
"source": "dblp",
|
||||
"external_id": "conf/uai/example",
|
||||
"record_sha256": "<原始物理行字节 SHA256,包含该行原有换行符>",
|
||||
"identifiers": {"arxiv": "1408.1485"},
|
||||
"evidence": [{
|
||||
"file": "/data/review/primary-metadata.json",
|
||||
"sha256": "<证据 JSON 文件 SHA256>",
|
||||
"url": "https://example.org/primary-record",
|
||||
"checked_at": "2026-11-08T08:00:00Z",
|
||||
"note": "说明人工核对的题名、作者、出版版本和稳定标识证据"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
输入 manifest 必须包含 `source/venue/year/track/count/list_url/file_sha256`,且与逐条记录一致。
|
||||
断言必须唯一、准确命中一条记录。仅支持无版本后缀的 arXiv 编号与小写规范 DOI;
|
||||
已有同类标识不允许覆盖,相同值可以补记证据。证据只接受不超过 16 MiB 的 JSON 元数据文件,
|
||||
来源 URL 要求 HTTPS 且不含凭据,核查时间必须带时区;不下载论文 PDF。
|
||||
|
||||
`verification_scope=input_and_evidence_integrity_only` 和 `semantic_identity_verified=false`
|
||||
明确表示哈希校验不能证明两条记录属于同一作品。请先独立核对版本关系;仅年份、页码或相同题名
|
||||
不能作为合并依据。存在来源冲突的行应继续暂缓。新 manifest 保留原来的 partial 状态及摘要缺失数,
|
||||
不会把补充编号伪装成来源覆盖或摘要补全。证据副本按 SHA256 保存在输出目录 `evidence/`,
|
||||
原计划也保存在 `plan.json`,供之后复查。
|
||||
|
||||
文件生成后仍需另做当前 PostgreSQL 身份、投稿和决定冲突预检;导入运行时必须包含
|
||||
“稳定标识优先、多个标题候选则整文件回滚”的身份保护,再以 `import records` 独立导入并验收。
|
||||
该命令不会自动导入或合并实体,也不代表最终全库去重通过。
|
||||
|
||||
## PostgreSQL 查询
|
||||
|
||||
在远程环境安装 `.[postgres]`,通过权限为 `0600` 的 libpq service 文件连接,不把密码放入 URL、命令行或仓库。
|
||||
|
||||
```sh
|
||||
export PGSERVICEFILE=/etc/paper-atlas/pg_service.conf
|
||||
paper-atlas query --pg-service foundry-research --stats
|
||||
paper-atlas query --pg-service foundry-research --query '"language model"' --tag arxiv:category=cs.CL
|
||||
paper-atlas query --pg-service foundry-research --status rejected --outcome accepted --limit 20
|
||||
paper-atlas query --pg-service foundry-research --paper 123
|
||||
```
|
||||
|
||||
使用只读一致性事务,支持论文 ID、会议别名、年份、轨道、标签、最新决定和跨会议录用筛选。全文检索使用 PostgreSQL `websearch_to_tsquery('english', ...)`,支持引号短语、`OR` 和减号排除;与 SQLite FTS5 的语法及分词结果不完全相同。JSON 来源列保留原始文本;转成 `jsonb` 前须确认原始值符合该类型的限制。
|
||||
|
||||
CLI 自动还原迁移中的 NUL/SOH 文本转义,详情中的来源摘要和筛选参数保留原字符。直接 SQL 读取可能看到 `U+0001` 转义序列;跨项目 ETL 应按迁移元数据中的 `text_codec` 使用 `paper_atlas.postgres.text.encode/decode`。存储格式和无损哈希验收见[运行维护](operations.md#postgresql-迁移)。
|
||||
|
||||
迁移与切换见[运行维护](operations.md#postgresql-迁移)。`import records`、`import arxiv` 和 `maintain backfill` 均支持 `--pg-service` 和可选 `--pg-schema`;与 `--db` 二选一。SQLite 导入仅用于未切换的索引或独立样本。尚未适配 PostgreSQL 的维护、覆盖审计命令仍可只读检查冻结备份,不能当作主库的当前状态。
|
||||
|
||||
## 1. 下载固定快照
|
||||
|
||||
`paper-atlas download --help` 说明大小、校验和与续传参数。各来源的固定版本与具体命令见[数据源说明](data-sources.md)。下载成功只表示原始文件已核验。
|
||||
@@ -14,16 +81,44 @@ paper-atlas collect cvf --cache /data/paper-index/raw/http-cache --out /data/pap
|
||||
paper-atlas collect ecva --cache /data/paper-index/raw/http-cache --out /data/paper-index/collected
|
||||
paper-atlas catalogue dblp --help
|
||||
paper-atlas audit iclr --help
|
||||
paper-atlas collect public-openreview --help
|
||||
paper-atlas collect icml-public-archive --help
|
||||
paper-atlas audit public-openreview --help
|
||||
```
|
||||
|
||||
采集输出 JSONL、manifest 和逐卷或逐年 catalogue。逐项检查 blocked、partial、缺失摘要及目标会议归属。DBLP 候选目录还需核验届次和 track,不能直接当作主会录用名单。
|
||||
|
||||
## 3. 串行导入
|
||||
其他会议的公开拒稿使用 `collect public-openreview`,再以 `audit public-openreview` 核对既有投稿身份和决定冲突。来源版本、逐文件状态盘点和未解决记录分别保存在 inventory 与 held 清单中,具体命令见[数据源说明](data-sources.md#其他会议的公开拒稿)。这类公开子集不能当作会议完整投稿名单。
|
||||
|
||||
首次 arXiv 导入使用 `paper-atlas import arxiv --db ... --archive ...`。现有数据库合并已核验的会议文件使用:
|
||||
主库切换后,预检须直接连接当前 PostgreSQL,不能用冻结的 SQLite 备份推断当前决定:
|
||||
|
||||
```sh
|
||||
paper-atlas maintain merge --db /data/paper-index/papers.sqlite \
|
||||
paper-atlas audit public-openreview --pg-service foundry-research \
|
||||
--inventory /data/paper-index/collected/public-openreview-v1/public-openreview-inventory.json \
|
||||
--out /data/paper-index/collected/public-negative-pg-preflight.json
|
||||
```
|
||||
|
||||
预检使用只读一致性快照,报告会记录实际数据库、schema、文件哈希和同届次/轨道的决定冲突;其他会议的录用保留为独立历史。预检不预留写锁,实际导入这两类公开负面决定时会在写事务中再次复核同一次投稿的最新状态;过期预检报告不能覆盖已经变化的决定。
|
||||
|
||||
## 3. 串行导入
|
||||
|
||||
PostgreSQL 主库逐文件导入已经核验的资料:
|
||||
|
||||
```sh
|
||||
paper-atlas import records --pg-service foundry-research \
|
||||
/data/paper-index/collected/selected-file.jsonl
|
||||
paper-atlas maintain backfill --pg-service foundry-research \
|
||||
--queue /data/paper-index/collected/audited-identity-queue.json
|
||||
```
|
||||
|
||||
文件和 queue 须替换为实际核验通过的路径。会议导入按文件提交,失败时该文件的论文、标签和决定更改全部回滚,失败批次日志保留;重跑会按来源标识与决定证据去重。回填使用已有源记录,只合并经独立身份佐证的投稿,不重新导入文本。所有写入者须遵守同一数据库/schema 的会话锁;其他项目也应通过相同的写入接口更新共享论文和投稿。
|
||||
|
||||
未来需要导入新的 arXiv 元数据包时使用 `paper-atlas import arxiv --pg-service foundry-research --archive ... --storage-path ...`。每 500 行提交断点,恢复同一文件时保留已提交 ID 和标签证据;`--storage-path` 指定运行主机上要监测的文件系统,在数据库主机执行时应指向数据库卷。已完成的历史压缩包不需要重复导入。
|
||||
|
||||
SQLite 独立样本的首次 arXiv 导入使用 `paper-atlas import arxiv --db ... --archive ...`。SQLite 协调器仍适用于未切换的索引:
|
||||
|
||||
```sh
|
||||
paper-atlas maintain merge --db /data/paper-index/samples/example.sqlite \
|
||||
--archive /data/paper-index/raw/arxiv-metadata.zip \
|
||||
/data/paper-index/collected/selected-file.jsonl
|
||||
```
|
||||
@@ -33,13 +128,43 @@ paper-atlas maintain merge --db /data/paper-index/papers.sqlite \
|
||||
## 4. 查询与分析前检查
|
||||
|
||||
```sh
|
||||
paper-atlas query --db /data/paper-index/papers.sqlite --query '"language model"' --limit 20
|
||||
paper-atlas query --db /data/paper-index/papers.sqlite --tag arxiv:category=cs.AI
|
||||
paper-atlas query --db /data/paper-index/papers.sqlite --venue ICLR --year 2025 --status rejected
|
||||
paper-atlas query --db /data/paper-index/papers.sqlite --paper 123
|
||||
paper-atlas coverage --db /data/paper-index/papers.sqlite --out /data/paper-index/collected/coverage.json
|
||||
paper-atlas query --pg-service foundry-research --query '"language model"' --limit 20
|
||||
paper-atlas query --pg-service foundry-research --tag arxiv:category=cs.AI
|
||||
paper-atlas query --pg-service foundry-research --venue ICLR --year 2025 --status rejected
|
||||
paper-atlas query --pg-service foundry-research --paper 123
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas coverage \
|
||||
--pg-service foundry-research --pg-schema research --out /data/paper-index/collected/coverage.json
|
||||
```
|
||||
|
||||
`--status rejected` 筛选某次投稿的最新已知决定。它并不表示论文在所有会议均未录用;分析转投情况时查看该论文的完整投稿历史。年份表示会议届次,观察时间和决定日期分别保留。
|
||||
|
||||
覆盖报告使用只读一致性快照,标明实际数据库和 schema,并列出零入库目标与注册表外的已入库会议。逐届、逐 track 分别列出最新观察状态的投稿数、全部决定观察数、各来源记录数,以及来源摘要和论文实体摘要的缺失数。摘要缺失指 NULL 或空字符串;有文字不代表内容已经完整核验。同一来源的多个清单 URL 可以重叠,不能把清单计数相加当作来源总量;零条拒稿也不证明该会议没有公开拒稿。SQLite 样本仍可显式使用 `--db`,生产报告应查询当前 PostgreSQL。
|
||||
|
||||
例如,查找在 ICLR 有拒稿记录、但在其他已知投稿中已有录用的论文:
|
||||
|
||||
```sh
|
||||
paper-atlas query --pg-service foundry-research \
|
||||
--venue ICLR --status rejected --outcome accepted
|
||||
```
|
||||
|
||||
`known_acceptances` 列出目前仍为录用状态的各次投稿及会议、年份、track 和决定证据,`publication_outcome` 汇总为 accepted 或 no_known_acceptance。汇总会检查所有会议和 track,不把某次拒稿覆盖到整篇论文;同一次投稿的后续撤稿也会更新该次状态并保留原决定。no_known_acceptance 只表示现有来源中没有查到录用,不能称为“从未录用”。
|
||||
|
||||
`--stats` 中 papers 是当前规则下的论文实体数;source_records 是来源记录数;decisions 是决定观察数。一个投稿可能有多个来源和多条观察,不能相加当作论文数。
|
||||
|
||||
已有稳定标识或原来源记录匹配时,该身份优先;同标题、同作者的另一 arXiv 存档或扩展稿不会仅因相似标题被并入。没有身份锚点时,作者佐证的精确标题只有一个候选才可匹配;多个候选会报 `Ambiguous paper identity`,整个采集文件回滚并记录失败运行。应补有证据的标识或先核查版本关系,不删除重复候选或任取第一个。一个新来源明确同时携带两个既有稳定标识时,仍可按既有规则归并并保留投稿、标签和合并日志;未归并的同标题关系继续保留为待核查候选。这些规则不证明全库去重完成。
|
||||
|
||||
## 5. 投稿历史关系审计
|
||||
|
||||
```sh
|
||||
PGSERVICEFILE=/etc/paper-atlas/pg_service.conf paper-atlas audit histories \
|
||||
--pg-service foundry-research --pg-schema research --examples 20 \
|
||||
--out /data/paper-index/collected/history-audit.json
|
||||
```
|
||||
|
||||
使用一个只读一致性快照,区分论文实体、投稿和决定观察;分别统计同次投稿曾出现负面与录用观察、不同投稿共存负面与当前已知录用、不同会议之间的共存。workshop/main 是不同 track,属于同一会议时不算跨会议;会议别名也不会增加一个会议。当前已知录用使用与 `query --outcome` 相同的“每次投稿最新观察”规则,后续撤稿的该次投稿不再算当前录用,但旧录用决定仍保留。
|
||||
|
||||
报告不凭观察时间、届次年份或行顺序断言“拒稿发生在录用之前”。样例保留真实 `decision_date`、`observed_at`、原始标签、证据 URL 和决定来源,供进一步核查;日期缺失仍保持未知。`negative` 统计包含 rejected、desk_rejected 和 withdrawn,其原始状态不互相替换。
|
||||
|
||||
总数覆盖快照内全部投稿,样例由 `--examples` 限定为 0–100 篇;每篇最多展示 20 次投稿、每次最多 50 条决定、每条决定最多 100 个来源,并明确标记截断。样例优先保留负面/录用的不同投稿对。四项来源关系检查报告缺失关联和来源论文归属不一致,不自动修复。
|
||||
|
||||
这些统计依赖现有论文身份关联,不证明实体合并正确,也不证明原始决定签名、公开拒稿全集、标签类型或最终全库去重已完成。SQLite 独立样本可使用 `--db`;冻结备份不能代表当前 PostgreSQL 的历史情况。
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
# Early WWW archive collector
|
||||
|
||||
`paper-atlas collect www-archive` is a maintained metadata adapter. It reads official
|
||||
IW3C2 archive HTML, keeps exact source hashes, and separates importable rows from
|
||||
program entries that still need review. It fetches no PDF, follows no paper-body or
|
||||
reference link, and makes no database connection.
|
||||
|
||||
For a fresh source snapshot on the server:
|
||||
|
||||
```sh
|
||||
paper-atlas collect www-archive \
|
||||
--http-cache /data/paper-index/cache/www-archive \
|
||||
--source-cache /data/paper-index/collected/www-archive-source-v2 \
|
||||
--out /data/paper-index/collected/www-archive-normalized-v2
|
||||
```
|
||||
|
||||
For reproducible offline replay of the already verified snapshot:
|
||||
|
||||
```sh
|
||||
paper-atlas collect www-archive \
|
||||
--source-cache /data/paper-index/collected/www-early-archive-source-v1 \
|
||||
--source-cache-sha256 c9388ccef44486e0684c9ee9e8620a465cdc4574e6bc9ea9391d743e01a3312c \
|
||||
--out /data/paper-index/collected/www-archive-normalized-v1
|
||||
```
|
||||
|
||||
Use a new output directory for another batch. Existing snapshots and normalized
|
||||
batches are never overwritten. The manifest hash binds every source URL, byte count,
|
||||
response hash and cache filename. Plain files must remain directly within the cache;
|
||||
symlinks, escaping paths, duplicate URLs, non-200 responses and altered bytes fail.
|
||||
The command uses UTF-8 where valid and explicitly records an ISO-8859-1 fallback for
|
||||
older pages; original bytes remain authoritative for encoding corrections.
|
||||
|
||||
## Evidence and outputs
|
||||
|
||||
- WWW3 Spring 1995 papers use `event_key=www-1995-spring`, `track=main`. The author,
|
||||
session and abstract indexes must have the same nonempty entry-ID set. The ID is
|
||||
local to this exact event and proceedings section, never a DOI or OpenReview ID.
|
||||
- Posters remain `track=poster`. An abstract without a linked author-index entry
|
||||
stays in review even when another index has a placeholder `#` link for it.
|
||||
- Paper URLs must agree between author and session indexes. A malformed whitespace
|
||||
URL in the abstract list may use the exact event/entry-ID match only when both
|
||||
independent indexes corroborate the same clean URL. The original href is retained.
|
||||
- Canonical names come from the explicitly labeled author index. The source lists
|
||||
them alphabetically; this is **not** original byline order. Both the raw index names
|
||||
and the full abstract-page byline/affiliation text remain in metadata. No person ID
|
||||
or cross-source identity is inferred from a name. Conflicting titles or missing
|
||||
abstracts stay in review. Topic keywords are not treated as an abstract.
|
||||
- WWW1 1994 formal presentations and WWW2 1994 mixed categories remain review
|
||||
candidates. The first list contains uncertain business-track annotations and a
|
||||
count discrepancy; the second contains panels, tutorials, products and other
|
||||
activities. Neither presentation listing nor a missing full-text link establishes
|
||||
a regular-paper acceptance or a rejection. Raw category/title/name claims are kept.
|
||||
|
||||
The main and poster JSONL files have independent manifests with explicit event key,
|
||||
track, count and SHA256. `source_listing_count` records the full recognized abstract
|
||||
listing, while `held_entry_count` records excluded entries; neither is a ready-row
|
||||
count. Their status stays `partial`: a verified linked subset does
|
||||
not prove complete event coverage. `review-candidates.jsonl` contains nested
|
||||
candidates and reasons, with no importable decision status. It is excluded from
|
||||
`import-queue.json`. `report.json` accounts for ready/held records and every source
|
||||
used. Newlines delimit JSONL; Unicode U+2028/U+2029 inside metadata are not line breaks.
|
||||
The output is published only after all required source and scope checks pass.
|
||||
|
||||
## Before importing
|
||||
|
||||
This independent collector branch starts from main; it does not include or silently
|
||||
install the event-aware writer. Its output requires the reviewed integrated runtime
|
||||
from PR31 (or a main revision containing that implementation). The production event
|
||||
schema migration has been independently accepted, preserving existing edition1212
|
||||
and its 59 Fall submissions; that is not an import of the Spring proceedings.
|
||||
|
||||
Inspect held entries and original author names, preflight every ready row against
|
||||
current PostgreSQL stable identifiers and candidate identities, and verify the
|
||||
source/year/track/event coverage before running `import records`. When a ready subset
|
||||
excludes held entries, preserve the independently known listing total in the existing
|
||||
incremental-coverage protocol: bind a freshly checked parent count and expected count,
|
||||
and set the full expected count from this manifest. A new source uses previous count
|
||||
0 and previous expected count null; an existing source requires its actual current
|
||||
values. These live parent values are not guessed by the offline collector. Do not automatically
|
||||
run this queue against an older writer. Preserve extended versions and independent
|
||||
submission/decision evidence, and keep unresolved identities held. A normalization
|
||||
report or passing tests alone do not establish production import, complete historical
|
||||
coverage or final global deduplication.
|
||||
|
||||
Initial fixed-cache replay (64ced7a, CI1057): 38 main papers and38 posters ready;
|
||||
372 entries held (50 first-conference fields,307 mixed program entries,15 posters).
|
||||
Independent report44dfd070 verified source hashes,counts and author evidence, finding
|
||||
one existing exact-title candidate. That publication is explicitly linked to
|
||||
arXiv1811.12161 by its WWW1995/journal-reference declaration; arXiv1810.07232 is a
|
||||
different1997 invited chapter and remains separate despite the overlap note. This
|
||||
is a preparation observation, not evidence of completed production import or final
|
||||
global deduplication.
|
||||
|
||||
## 以单篇官方页面核实待处理 poster
|
||||
|
||||
作者索引漏链接、摘要目录使用短标题或标题存在拼写差异时,不放宽全局标题匹配。可以先取得单篇官方 HTML,人工核对 H1、署名区与原目录同一 entry URL,再提供带 SHA256 的逐条核查文件:
|
||||
|
||||
```sh
|
||||
paper-atlas collect www-archive \
|
||||
--source-cache /data/paper-index/collected/www-poster-reviewed-source-v2 \
|
||||
--source-cache-sha256 8a65562f3490497cada2919ec77827134beabd5ec9c3690dec3625e2318aa54e \
|
||||
--reviewed-posters docs/coverage/www-1995-posters-reviewed-2026-11-09.json \
|
||||
--reviewed-posters-sha256 <核查文件的SHA256> \
|
||||
--out <新的输出目录>
|
||||
```
|
||||
|
||||
[1995 年15条poster的核查输入](coverage/www-1995-posters-reviewed-2026-11-09.json) 绑定61页来源快照:原46页和补取的15页单篇HTML。程序验证输入文件及快照哈希、单篇页面哈希、完全一致的 canonical H1、原摘要目录中的同一URL/entry ID及作者证据,不通过相似标题猜身份。规范标题采用单篇H1,摘要目录标题及作者索引标题均在 metadata 中保留。
|
||||
|
||||
`author_source=canonical_byline` 表示名字出现在H1之后、摘要/关键词或下一节标题之前的署名区域,由逐条核查明确选出,不从全文引用或机构猜作者;保留原始缩写、顺序、重音和拼写。只有 `author_source=author_index` 时使用原作者索引顺序并逐项核对;05的单篇页面写的是联系人,作者身份使用原作者索引证据,不由联系人角色推断。核查输入是审阅后的数据声明,程序的字符串/哈希检查不代替人工识别署名语义。
|
||||
|
||||
38和05的来源没有可明确引用的摘要。保留 `abstract=null` 和逐条缺失原因,manifest准确报告 missing_abstract_count,继续标partial;正文、联系方式及PostScript链接不当作摘要,也不下载正文。缺摘要不等于拒稿或未发表。本批输出仍包含原先已验收记录,正式导入前必须只取新增external ID,检查实时覆盖父记录并按incremental模式准备,不能直接重导入全部输出。
|
||||
@@ -0,0 +1,90 @@
|
||||
"""Independently count raw arXiv IDs and their payload variants to ZIP EOF."""
|
||||
import argparse
|
||||
from contextlib import closing
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import sqlite3
|
||||
import tempfile
|
||||
import zipfile
|
||||
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
from paper_atlas.io.snapshots import digest_file
|
||||
|
||||
MEMBER='arxiv-metadata-oai-snapshot.json'
|
||||
|
||||
|
||||
def fingerprint(path):
|
||||
info=path.stat()
|
||||
return {'bytes':info.st_size,'mtime_ns':info.st_mtime_ns}
|
||||
|
||||
|
||||
def audit(archive,out,expected_sha256=None):
|
||||
out=Path(out).resolve();out.parent.mkdir(parents=True,exist_ok=True)
|
||||
with out.with_suffix('.lock').open('a') as lock:
|
||||
fcntl.flock(lock,fcntl.LOCK_EX|fcntl.LOCK_NB)
|
||||
return _audit(archive,out,expected_sha256)
|
||||
|
||||
|
||||
def _audit(archive,out,expected_sha256=None):
|
||||
archive=Path(archive).resolve();out=Path(out).resolve()
|
||||
ids=out.with_suffix('.ids.sqlite')
|
||||
if out.exists() or ids.exists():raise ValueError('Audit output exists; inspect it before another run')
|
||||
out.parent.mkdir(parents=True,exist_ok=True)
|
||||
before=fingerprint(archive);identity=digest_file(archive)
|
||||
if expected_sha256 and identity['sha256']!=expected_sha256:raise ValueError('Archive checksum mismatch')
|
||||
if shutil.disk_usage(out.parent).free<8*1024**3:raise RuntimeError('Less than 8 GiB free before source audit')
|
||||
count=0;missing_title=0;missing_abstract=0
|
||||
with tempfile.TemporaryDirectory(prefix='.arxiv-audit-',dir=out.parent) as temporary:
|
||||
stage=Path(temporary)/ids.name
|
||||
with closing(sqlite3.connect(stage)) as c:
|
||||
c.executescript('PRAGMA cache_size=-16384; CREATE TABLE raw_ids(external_id TEXT PRIMARY KEY,first_line INTEGER,last_line INTEGER,occurrences INTEGER,first_sha256 BLOB,has_payload_variants INTEGER) WITHOUT ROWID; CREATE TABLE duplicate_variants(external_id TEXT,payload_sha256 BLOB,first_line INTEGER,last_line INTEGER,occurrences INTEGER,PRIMARY KEY(external_id,payload_sha256)) WITHOUT ROWID;')
|
||||
with zipfile.ZipFile(archive) as zipped:
|
||||
info=zipped.getinfo(MEMBER)
|
||||
with zipped.open(info) as stream:
|
||||
for count,line in enumerate(stream,1):
|
||||
row=json.loads(line);external=row.get('id')
|
||||
if not isinstance(external,str) or not external or external!=external.strip():raise ValueError('Missing or malformed arXiv ID')
|
||||
payload=hashlib.sha256(json.dumps(row,ensure_ascii=False,sort_keys=True,separators=(',',':')).encode()).digest()
|
||||
inserted=c.execute('INSERT OR IGNORE INTO raw_ids VALUES(?,?,?,1,?,0)',(external,count,count,payload)).rowcount
|
||||
if not inserted:
|
||||
first_line,first=c.execute('SELECT first_line,first_sha256 FROM raw_ids WHERE external_id=?',(external,)).fetchone()
|
||||
c.execute('INSERT OR IGNORE INTO duplicate_variants VALUES(?,?,?,?,1)',(external,first,first_line,first_line))
|
||||
c.execute('INSERT INTO duplicate_variants VALUES(?,?,?,?,1) ON CONFLICT(external_id,payload_sha256) DO UPDATE SET last_line=excluded.last_line,occurrences=duplicate_variants.occurrences+1',(external,payload,count,count))
|
||||
c.execute('UPDATE raw_ids SET last_line=?,occurrences=occurrences+1,has_payload_variants=has_payload_variants OR first_sha256!=? WHERE external_id=?',(count,payload,external))
|
||||
missing_title+=not bool((row.get('title') or '').strip())
|
||||
missing_abstract+=not bool((row.get('abstract') or '').strip())
|
||||
if count%10000==0:
|
||||
c.commit()
|
||||
if shutil.disk_usage(out.parent).free<8*1024**3:raise RuntimeError('Less than 8 GiB free during source audit')
|
||||
if count%100000==0:print(json.dumps({'source':'arxiv_audit','raw_rows':count}),flush=True)
|
||||
# zipfile verifies the member CRC only when its stream reaches EOF.
|
||||
if not count:raise ValueError('Empty arXiv metadata member')
|
||||
if fingerprint(archive)!=before:raise ValueError('Archive changed during audit')
|
||||
c.commit()
|
||||
if c.execute('PRAGMA quick_check').fetchone()[0]!='ok':raise ValueError('Audit index failed SQLite quick_check')
|
||||
unique=c.execute('SELECT count(*) FROM raw_ids').fetchone()[0]
|
||||
duplicate_ids=[]
|
||||
for key,first,last,occurrences,variants in c.execute('SELECT external_id,first_line,last_line,occurrences,has_payload_variants FROM raw_ids WHERE occurrences>1 ORDER BY external_id'):
|
||||
duplicate_ids.append({'external_id':key,'first_line':first,'last_line':last,'occurrences':occurrences,'has_payload_variants':bool(variants),
|
||||
'variants':[{'sha256':digest.hex(),'first_line':a,'last_line':b,'occurrences':n} for digest,a,b,n in c.execute('SELECT payload_sha256,first_line,last_line,occurrences FROM duplicate_variants WHERE external_id=? ORDER BY first_line',(key,))]})
|
||||
result={'checked_at':timestamp(),'archive':str(archive),'archive_identity':identity,'member':MEMBER,'member_crc32':f'{info.CRC:08x}',
|
||||
'uncompressed_bytes':info.file_size,'zip_eof_crc_verified':True,'raw_rows':count,'unique_external_ids':unique,'extra_rows_for_repeated_ids':count-unique,
|
||||
'repeated_id_count':len(duplicate_ids),'repeated_ids_with_payload_variants':sum(item['has_payload_variants'] for item in duplicate_ids),
|
||||
'missing_title_rows':missing_title,'missing_abstract_rows':missing_abstract,'duplicate_ids':duplicate_ids,'id_index':str(ids),
|
||||
'interpretation':'Raw ID/payload audit, not a count of unique research works. Payload variants are retained as evidence; latest source import uses the last row for each ID. Cross-source entity/submission dedup requires a separate database audit.'}
|
||||
stage.replace(ids)
|
||||
part=out.with_suffix('.part');part.write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n');part.replace(out)
|
||||
print(json.dumps({key:value for key,value in result.items() if key!='duplicate_ids'}),flush=True)
|
||||
return result
|
||||
|
||||
|
||||
def main(argv=None,*,prog=None):
|
||||
parser=argparse.ArgumentParser(prog=prog);parser.add_argument('--archive',required=True);parser.add_argument('--out',required=True)
|
||||
parser.add_argument('--expected-sha256');args=parser.parse_args(argv)
|
||||
audit(args.archive,args.out,args.expected_sha256)
|
||||
|
||||
|
||||
if __name__=='__main__':main()
|
||||
@@ -0,0 +1,143 @@
|
||||
"""Compare every arXiv record's category evidence with retained source metadata."""
|
||||
import argparse
|
||||
from collections import defaultdict
|
||||
from contextlib import closing
|
||||
import fcntl
|
||||
import json
|
||||
from pathlib import Path
|
||||
import sqlite3
|
||||
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
|
||||
|
||||
def save(path, state):
|
||||
part = path.with_suffix('.part')
|
||||
part.write_text(json.dumps(state, ensure_ascii=False, indent=2) + '\n')
|
||||
part.replace(path)
|
||||
|
||||
|
||||
def audit(db, out, repair_report=None, batch_size=500):
|
||||
db, out = Path(db).resolve(), Path(out).resolve()
|
||||
if not db.is_file():
|
||||
raise ValueError('Existing database required')
|
||||
if not 1 <= batch_size <= 500:
|
||||
raise ValueError('Batch size must be between 1 and 500')
|
||||
if out == db or repair_report and out == Path(repair_report).resolve():
|
||||
raise ValueError('Audit output must preserve its inputs')
|
||||
out.parent.mkdir(parents=True, exist_ok=True)
|
||||
with Path(str(db) + '.maintenance.lock').open('a') as maintenance, Path(str(out) + '.lock').open('a') as output_lock:
|
||||
# A partial repair is not a useful full-category audit. This also keeps
|
||||
# cooperating maintenance writers out for the entire read-only snapshot.
|
||||
fcntl.flock(maintenance, fcntl.LOCK_SH | fcntl.LOCK_NB)
|
||||
fcntl.flock(output_lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
if out.exists():
|
||||
raise ValueError('Audit report exists; select a new output path')
|
||||
with closing(sqlite3.connect(db.as_uri() + '?mode=ro', uri=True)) as c:
|
||||
c.execute('PRAGMA cache_size=-32768')
|
||||
c.execute('BEGIN')
|
||||
source = c.execute("SELECT id FROM sources WHERE name='arxiv'").fetchone()
|
||||
if source is None:
|
||||
raise ValueError('No imported arXiv source')
|
||||
total, maximum = c.execute('SELECT count(*),COALESCE(max(id),0) FROM source_records WHERE source_id=?', source).fetchone()
|
||||
if not total:
|
||||
raise ValueError('No imported arXiv records')
|
||||
scope = {'db': str(db), 'source_id': source[0], 'source_record_count': total,
|
||||
'maximum_source_record_id': maximum}
|
||||
if repair_report:
|
||||
repair = json.loads(Path(repair_report).read_text())
|
||||
if repair.get('status') != 'complete' or repair.get('records_refreshed') != total:
|
||||
raise ValueError('Category repair has not completed this source inventory')
|
||||
if any(repair.get(key) != value for key, value in scope.items()):
|
||||
raise ValueError('Repair report belongs to a different source inventory')
|
||||
state = {**scope, 'started_at': timestamp(), 'status': 'running', 'records_checked': 0,
|
||||
'last_record_id': 0, 'expected_evidence': 0, 'actual_evidence': 0,
|
||||
'records_with_mismatches': 0, 'missing_evidence': 0, 'unexpected_evidence': 0,
|
||||
'legacy_evidence': 0, 'examples': [], 'repair_report': str(Path(repair_report).resolve()) if repair_report else None}
|
||||
save(out, state)
|
||||
try:
|
||||
while True:
|
||||
# The (source_id,external_id) index orders by external ID,
|
||||
# so choosing it sorts the entire source again per batch.
|
||||
# This fixed ID interval must use the integer primary key.
|
||||
records = c.execute('''SELECT id,external_id,paper_id,metadata_json FROM source_records NOT INDEXED
|
||||
WHERE source_id=? AND id>? AND id<=? ORDER BY id LIMIT ?''',
|
||||
(source[0], state['last_record_id'], maximum, batch_size)).fetchall()
|
||||
if not records:
|
||||
break
|
||||
ids = [row[0] for row in records]
|
||||
actual = defaultdict(set)
|
||||
for record, paper, category, evidence in c.execute('''SELECT pt.source_record_id,pt.paper_id,t.value,pt.evidence_key
|
||||
FROM paper_tags pt JOIN tags t ON t.id=pt.tag_id WHERE t.namespace='arxiv:category'
|
||||
AND pt.source_record_id IN (''' + ','.join('?' for _ in ids) + ')', ids):
|
||||
actual[record].add((category, paper, evidence))
|
||||
state['legacy_evidence'] += evidence == 'arxiv:categories'
|
||||
for record, external, paper, payload in records:
|
||||
metadata = json.loads(payload)
|
||||
if not isinstance(metadata, dict):
|
||||
raise ValueError('arXiv source metadata must be an object')
|
||||
categories = metadata.get('categories')
|
||||
if categories is None:
|
||||
categories = ''
|
||||
if not isinstance(categories, str):
|
||||
raise ValueError('arXiv source categories must be text')
|
||||
evidence_key = f'arxiv:record:{record}:tags'
|
||||
expected = {(category, paper, evidence_key) for category in categories.split()}
|
||||
found = actual[record]
|
||||
missing, unexpected = expected - found, found - expected
|
||||
state['expected_evidence'] += len(expected)
|
||||
state['actual_evidence'] += len(found)
|
||||
state['missing_evidence'] += len(missing)
|
||||
state['unexpected_evidence'] += len(unexpected)
|
||||
if missing or unexpected:
|
||||
state['records_with_mismatches'] += 1
|
||||
if len(state['examples']) < 20:
|
||||
state['examples'].append({'record_id': record, 'external_id': external,
|
||||
'paper_id': paper, 'missing': sorted(missing), 'unexpected': sorted(unexpected)})
|
||||
state['records_checked'] += 1
|
||||
state['last_record_id'] = ids[-1]
|
||||
if state['records_checked'] % 10000 < len(records):
|
||||
save(out, state)
|
||||
print(json.dumps({k: state[k] for k in ('status', 'records_checked', 'source_record_count', 'records_with_mismatches')}), flush=True)
|
||||
if state['records_checked'] != total:
|
||||
raise ValueError('Audited record count differs from the fixed source inventory')
|
||||
# Every category row must also have an arXiv source-record owner.
|
||||
# The full namespace total catches orphan and wrong-source evidence
|
||||
# that cannot appear in the per-record traversal above.
|
||||
all_evidence = c.execute("SELECT count(*) FROM paper_tags pt JOIN tags t ON t.id=pt.tag_id WHERE t.namespace='arxiv:category'").fetchone()[0]
|
||||
unscoped = all_evidence - state['actual_evidence']
|
||||
if unscoped < 0:
|
||||
raise ValueError('Category evidence totals are inconsistent')
|
||||
state.update(namespace_evidence=all_evidence, evidence_without_arxiv_record=unscoped)
|
||||
if unscoped:
|
||||
state['unscoped_examples'] = [dict(zip(('paper_id', 'category', 'source_record_id', 'evidence_key'), row))
|
||||
for row in c.execute('''SELECT pt.paper_id,t.value,pt.source_record_id,pt.evidence_key
|
||||
FROM paper_tags pt JOIN tags t ON t.id=pt.tag_id
|
||||
LEFT JOIN source_records r ON r.id=pt.source_record_id
|
||||
WHERE t.namespace='arxiv:category' AND (r.source_id IS NULL OR r.source_id<>?) LIMIT 20''', source)]
|
||||
passed = not state['records_with_mismatches'] and not unscoped
|
||||
state.update(status='passed' if passed else 'failed', finished_at=timestamp(),
|
||||
note='Full per-record category, canonical paper and evidence-key equality. '
|
||||
'Read-only; not a global paper deduplication or full database-integrity audit.')
|
||||
save(out, state)
|
||||
except BaseException as error:
|
||||
state.update(status='error', error=str(error), finished_at=timestamp())
|
||||
save(out, state)
|
||||
raise
|
||||
print(json.dumps(state), flush=True)
|
||||
return state
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
parser.add_argument('--db', required=True)
|
||||
parser.add_argument('--out', required=True)
|
||||
parser.add_argument('--repair-report')
|
||||
parser.add_argument('--batch-size', type=int, default=500)
|
||||
args = parser.parse_args(argv)
|
||||
result = audit(args.db, args.out, args.repair_report, args.batch_size)
|
||||
if result['status'] != 'passed':
|
||||
raise SystemExit('arXiv category evidence audit failed; inspect the report')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
+120
-27
@@ -1,45 +1,138 @@
|
||||
"""Show every target venue, including those with no imported records."""
|
||||
"""Describe imported venue coverage without implying a complete census."""
|
||||
import argparse
|
||||
from paper_atlas.config import DEFAULT_REGISTRY
|
||||
from collections import defaultdict
|
||||
import json
|
||||
from pathlib import Path
|
||||
import sqlite3
|
||||
|
||||
from paper_atlas.config import DEFAULT_REGISTRY
|
||||
from paper_atlas.db.backend import database_arguments, open_read_connection
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
from paper_atlas.querying import LATEST_DECISION
|
||||
|
||||
|
||||
def report(db,registry):
|
||||
registry=json.loads(Path(registry).read_text());targets=registry['venues']
|
||||
names=[row['acronym'].casefold() for row in targets]
|
||||
if len(names)!=len(set(names)):raise ValueError('Duplicate target venue')
|
||||
scope='(v.acronym=? COLLATE NOCASE OR EXISTS(SELECT 1 FROM venue_aliases a WHERE a.venue_id=v.id AND a.alias=? COLLATE NOCASE))'
|
||||
c=sqlite3.connect(Path(db).resolve().as_uri()+'?mode=ro',uri=True);c.row_factory=sqlite3.Row
|
||||
STATUSES = ('accepted', 'rejected', 'desk_rejected', 'withdrawn', 'under_review', 'unknown')
|
||||
|
||||
|
||||
def _status_counts(connection, *, latest):
|
||||
if latest:
|
||||
query = '''SELECT s.edition_id,COALESCE(d.status,'unknown') AS status,count(*) AS count
|
||||
FROM submissions s LEFT JOIN decisions d ON d.submission_id=s.id AND ''' + LATEST_DECISION
|
||||
else:
|
||||
query = '''SELECT s.edition_id,COALESCE(d.status,'unknown') AS status,count(*) AS count
|
||||
FROM submissions s JOIN decisions d ON d.submission_id=s.id'''
|
||||
counts = defaultdict(dict)
|
||||
for row in connection.execute(query + " GROUP BY s.edition_id,COALESCE(d.status,'unknown')"):
|
||||
counts[row[0]][row[1]] = row[2]
|
||||
return counts
|
||||
|
||||
|
||||
def report(db, registry, *, pg_service=None, pg_schema=None):
|
||||
started_at = timestamp()
|
||||
registry = json.loads(Path(registry).read_text())
|
||||
targets = registry['venues']
|
||||
names = [row['acronym'].casefold() for row in targets]
|
||||
if len(names) != len(set(names)):
|
||||
raise ValueError('Duplicate target venue')
|
||||
scope = '''(lower(v.acronym)=lower(?) OR EXISTS(
|
||||
SELECT 1 FROM venue_aliases a WHERE a.venue_id=v.id AND lower(a.alias)=lower(?)))'''
|
||||
connection = open_read_connection(db, pg_service=pg_service, pg_schema=pg_schema)
|
||||
if not pg_service:
|
||||
connection.row_factory = sqlite3.Row
|
||||
try:
|
||||
c.execute('BEGIN');venues=[]
|
||||
if pg_service:
|
||||
identity = connection.execute('SELECT current_database(),current_schema()').fetchone()
|
||||
database, schema = identity[0], identity[1]
|
||||
else:
|
||||
database, schema = str(Path(db).resolve()), None
|
||||
from paper_atlas.db.events import has_event_key
|
||||
event = 'e.event_key' if has_event_key(connection) else "''"
|
||||
latest = _status_counts(connection, latest=True)
|
||||
observations = _status_counts(connection, latest=False)
|
||||
# Aggregate the paper join once for the whole snapshot. Repeating it
|
||||
# for each registry target caused repeated scans on the production DB.
|
||||
edition_counts = {}
|
||||
for row in connection.execute('''SELECT s.edition_id,count(s.id) AS submissions,
|
||||
count(DISTINCT s.paper_id) AS papers,
|
||||
count(DISTINCT CASE WHEN p.abstract IS NULL OR p.abstract='' THEN s.paper_id END)
|
||||
AS papers_without_abstract_text
|
||||
FROM submissions s LEFT JOIN papers p ON p.id=s.paper_id GROUP BY s.edition_id'''):
|
||||
entry = dict(row)
|
||||
edition_counts[entry.pop('edition_id')] = entry
|
||||
source_counts = defaultdict(list)
|
||||
for row in connection.execute('''SELECT s.edition_id,so.name AS source,
|
||||
count(DISTINCT sr.id) AS source_records,
|
||||
count(DISTINCT CASE WHEN sr.abstract IS NULL OR sr.abstract='' THEN sr.id END)
|
||||
AS source_records_without_abstract_text
|
||||
FROM submission_sources ss JOIN submissions s ON s.id=ss.submission_id
|
||||
JOIN source_records sr ON sr.id=ss.source_record_id JOIN sources so ON so.id=sr.source_id
|
||||
GROUP BY s.edition_id,so.name ORDER BY s.edition_id,so.name'''):
|
||||
entry = dict(row)
|
||||
source_counts[entry.pop('edition_id')].append(entry)
|
||||
venues, covered_venue_ids = [], set()
|
||||
for target in targets:
|
||||
acronym=target['acronym'];params=(acronym,acronym)
|
||||
editions=[]
|
||||
for row in c.execute('SELECT e.id,v.acronym AS canonical_venue,e.year,e.track,count(s.id) AS submissions,count(DISTINCT s.paper_id) AS papers FROM editions e JOIN venues v ON v.id=e.venue_id LEFT JOIN submissions s ON s.edition_id=e.id WHERE '+scope+' GROUP BY e.id ORDER BY e.year,e.track',params):
|
||||
edition=dict(row)
|
||||
edition['sources']=[dict(source) for source in c.execute('SELECT so.name,es.status,es.expected_count,es.imported_count,es.list_url,es.last_success_at,es.last_error FROM edition_sources es JOIN sources so ON so.id=es.source_id WHERE es.edition_id=? ORDER BY so.name',(row['id'],))]
|
||||
acronym = target['acronym']
|
||||
params = (acronym, acronym)
|
||||
editions = []
|
||||
for row in connection.execute('''SELECT e.id,v.id AS venue_id,v.acronym AS canonical_venue,
|
||||
e.year,e.track,''' + event + ''' AS event_key FROM editions e JOIN venues v ON v.id=e.venue_id
|
||||
WHERE ''' + scope + '''
|
||||
ORDER BY e.year,e.track,event_key,v.acronym,e.id''', params):
|
||||
edition = dict(row)
|
||||
edition.update(edition_counts.get(row['id'], {
|
||||
'submissions': 0, 'papers': 0, 'papers_without_abstract_text': 0}))
|
||||
covered_venue_ids.add(edition['venue_id'])
|
||||
edition['latest_observed_status_counts'] = {status: latest[row['id']].get(status, 0) for status in STATUSES}
|
||||
edition['decision_observation_counts'] = {status: observations[row['id']].get(status, 0) for status in STATUSES}
|
||||
edition['source_record_counts'] = source_counts[row['id']]
|
||||
edition['sources'] = [dict(source) for source in connection.execute('''SELECT so.name,
|
||||
es.status,es.expected_count,es.imported_count,es.list_url,es.last_success_at,es.last_error
|
||||
FROM edition_sources es JOIN sources so ON so.id=es.source_id
|
||||
WHERE es.edition_id=? ORDER BY so.name,es.list_url''', (row['id'],))]
|
||||
editions.append(edition)
|
||||
totals=c.execute('SELECT count(s.id),count(DISTINCT s.paper_id) FROM submissions s JOIN editions e ON e.id=s.edition_id JOIN venues v ON v.id=e.venue_id WHERE '+scope,params).fetchone()
|
||||
venues.append({'acronym':acronym,'field':target['field'],'imported_submissions':totals[0],'distinct_papers':totals[1],
|
||||
'history_status':'partial_history_pending_independent_audit' if totals[0] else 'no_imported_records',
|
||||
'discovery_sources':target.get('discovery_sources',[]),'editions':editions})
|
||||
return {'checked_at':timestamp(),'target_venue_count':len(targets),'venues_with_imported_records':sum(bool(v['imported_submissions']) for v in venues),
|
||||
'scope_note':registry['scope_note'],'interpretation':'All registry targets are listed. Edition source complete means that source file passed import checks; it does not prove full historical or abstract coverage. Papers can appear in multiple venues/years, so do not sum venue paper counts as a global total.',
|
||||
'venues':venues}
|
||||
finally:c.close()
|
||||
totals = connection.execute('''SELECT count(s.id),count(DISTINCT s.paper_id)
|
||||
FROM submissions s JOIN editions e ON e.id=s.edition_id
|
||||
JOIN venues v ON v.id=e.venue_id WHERE ''' + scope, params).fetchone()
|
||||
venues.append({'acronym': acronym, 'field': target['field'],
|
||||
'imported_submissions': totals[0], 'distinct_papers': totals[1],
|
||||
'history_status': 'partial_history_pending_independent_audit' if totals[0] else 'no_imported_records',
|
||||
'discovery_sources': target.get('discovery_sources', []), 'editions': editions})
|
||||
outside_registry = [dict(row) for row in connection.execute('''SELECT v.id AS venue_id,
|
||||
v.acronym,count(s.id) AS submissions,count(DISTINCT s.paper_id) AS papers
|
||||
FROM submissions s JOIN editions e ON e.id=s.edition_id JOIN venues v ON v.id=e.venue_id
|
||||
GROUP BY v.id,v.acronym ORDER BY v.acronym''') if row[0] not in covered_venue_ids]
|
||||
return {'report_started_at': started_at, 'checked_at': timestamp(),
|
||||
'engine': 'postgresql' if pg_service else 'sqlite', 'database': database, 'schema': schema,
|
||||
'pg_service': pg_service, 'target_venue_count': len(targets),
|
||||
'venues_with_imported_records': sum(bool(v['imported_submissions']) for v in venues),
|
||||
'scope_note': registry['scope_note'],
|
||||
'interpretation': 'All registry targets are listed, including zero imports. '
|
||||
'Latest status counts use the latest observed decision for each attempt; decision observations retain history. '
|
||||
'Source record totals are per source and edition, not per list URL; multiple list entries may describe overlapping records. '
|
||||
'Missing abstract text means NULL or empty string; nonempty text does not prove a complete abstract. '
|
||||
'An edition source marked complete is not a proof of complete conference history or public rejection coverage. '
|
||||
'Zero imported rejections does not establish that no rejections are public. '
|
||||
'Papers can appear in several venues/years; do not sum venue paper counts as a global total.',
|
||||
'venues': venues, 'imported_venues_outside_registry': outside_registry}
|
||||
finally:
|
||||
connection.close()
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser=argparse.ArgumentParser(prog=prog);parser.add_argument('--db',required=True)
|
||||
parser.add_argument('--registry',default=str(DEFAULT_REGISTRY));parser.add_argument('--out')
|
||||
args=parser.parse_args(argv);result=report(args.db,args.registry);text=json.dumps(result,ensure_ascii=False,indent=2)
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
database_arguments(parser)
|
||||
parser.add_argument('--registry', default=str(DEFAULT_REGISTRY))
|
||||
parser.add_argument('--out')
|
||||
args = parser.parse_args(argv)
|
||||
result = report(args.db, args.registry, pg_service=args.pg_service, pg_schema=args.pg_schema)
|
||||
text = json.dumps(result, ensure_ascii=False, indent=2)
|
||||
if args.out:
|
||||
path=Path(args.out);stage=path.with_suffix('.part');stage.write_text(text+'\n');stage.replace(path)
|
||||
else:print(text)
|
||||
path = Path(args.out)
|
||||
stage = path.with_suffix('.part')
|
||||
stage.write_text(text + '\n')
|
||||
stage.replace(path)
|
||||
else:
|
||||
print(text)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -0,0 +1,200 @@
|
||||
"""Audit linked submission histories without inferring event chronology."""
|
||||
import argparse
|
||||
from collections import Counter
|
||||
import json
|
||||
from pathlib import Path
|
||||
import sqlite3
|
||||
|
||||
from paper_atlas.db.backend import database_arguments, open_read_connection
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
from paper_atlas.querying import LATEST_DECISION
|
||||
|
||||
|
||||
ATTEMPTS = '''SELECT s.paper_id,s.id AS submission_id,e.venue_id,v.acronym AS venue,e.year,e.track,
|
||||
count(d.id) AS decision_observations,
|
||||
MAX(CASE WHEN d.status IN ('rejected','desk_rejected','withdrawn') THEN 1 ELSE 0 END)
|
||||
AS historical_negative,
|
||||
MAX(CASE WHEN d.status='accepted' THEN 1 ELSE 0 END) AS historical_acceptance,
|
||||
COALESCE(MAX(CASE WHEN ''' + LATEST_DECISION + ''' THEN d.status END),'unknown')
|
||||
AS latest_observed_status
|
||||
FROM submissions s JOIN editions e ON e.id=s.edition_id JOIN venues v ON v.id=e.venue_id
|
||||
LEFT JOIN decisions d ON d.submission_id=s.id
|
||||
GROUP BY s.paper_id,s.id,e.venue_id,v.acronym,e.year,e.track
|
||||
ORDER BY s.paper_id,e.venue_id,s.id'''
|
||||
|
||||
|
||||
def _paper_counts(attempts):
|
||||
negative = sum(row['historical_negative'] for row in attempts)
|
||||
accepted = sum(row['latest_observed_status'] == 'accepted' for row in attempts)
|
||||
overlap = sum(row['historical_negative'] and row['latest_observed_status'] == 'accepted'
|
||||
for row in attempts)
|
||||
venues = {}
|
||||
for row in attempts:
|
||||
counts = venues.setdefault(row['venue_id'], [0, 0])
|
||||
counts[0] += row['historical_negative']
|
||||
counts[1] += row['latest_observed_status'] == 'accepted'
|
||||
return {
|
||||
'papers_with_submissions': 1,
|
||||
'papers_with_multiple_submissions': int(len(attempts) > 1),
|
||||
'papers_with_historical_negative': int(negative > 0),
|
||||
'papers_with_current_known_acceptance': int(accepted > 0),
|
||||
'papers_with_negative_and_acceptance_in_distinct_attempts': int(negative * accepted > overlap),
|
||||
'papers_with_negative_and_acceptance_in_distinct_venues':
|
||||
int(negative * accepted > sum(n * a for n, a in venues.values())),
|
||||
}
|
||||
|
||||
|
||||
def _example(connection, attempts):
|
||||
# Keep a negative/accepted pair visible even when a paper has many attempts.
|
||||
accepted = [row for row in attempts if row['latest_observed_status'] == 'accepted']
|
||||
first = accepted[0] if accepted else None
|
||||
other_venue = next((row for row in accepted if row['venue_id'] != first['venue_id']), None)
|
||||
pair = None
|
||||
for negative in attempts:
|
||||
if negative['historical_negative'] and first:
|
||||
candidate = first if first['venue_id'] != negative['venue_id'] else other_venue
|
||||
if candidate:
|
||||
pair = (negative, candidate)
|
||||
break
|
||||
if pair is None:
|
||||
for negative in attempts:
|
||||
if negative['historical_negative'] and first:
|
||||
candidate = first if first['submission_id'] != negative['submission_id'] else (
|
||||
accepted[1] if len(accepted) > 1 else None)
|
||||
if candidate:
|
||||
pair = (negative, candidate)
|
||||
break
|
||||
selected = {}
|
||||
for row in list(pair or ()) + attempts:
|
||||
if len(selected) < 20:
|
||||
selected.setdefault(row['submission_id'], dict(row))
|
||||
for row in selected.values():
|
||||
row['decisions'] = []
|
||||
for decision in connection.execute('''SELECT id,status,raw_value,evidence_url,
|
||||
decision_date,observed_at FROM decisions WHERE submission_id=?
|
||||
ORDER BY observed_at DESC,COALESCE(decision_date,observed_at) DESC,id DESC LIMIT 50''',
|
||||
(row['submission_id'],)):
|
||||
entry = dict(decision)
|
||||
sources = [dict(source) for source in connection.execute('''
|
||||
SELECT so.name,r.external_id,ds.source_decision_id FROM decision_sources ds
|
||||
JOIN source_records r ON r.id=ds.source_record_id JOIN sources so ON so.id=r.source_id
|
||||
WHERE ds.decision_id=? ORDER BY so.name,r.external_id LIMIT 101''', (entry['id'],))]
|
||||
entry['sources'] = sources[:100]
|
||||
entry['sources_truncated'] = len(sources) > 100
|
||||
row['decisions'].append(entry)
|
||||
row['decisions_truncated'] = row['decision_observations'] > len(row['decisions'])
|
||||
paper_id = attempts[0]['paper_id']
|
||||
return {'paper_id': paper_id,
|
||||
'title': connection.execute('SELECT title FROM papers WHERE id=?', (paper_id,)).fetchone()[0],
|
||||
'counts': _paper_counts(attempts), 'attempt_count': len(attempts),
|
||||
'attempts': list(selected.values()), 'attempts_truncated': len(attempts) > len(selected),
|
||||
'chronology': 'Not inferred from observed_at, edition year, or row order.'}
|
||||
|
||||
|
||||
def report(db=None, *, pg_service=None, pg_schema=None, examples=20):
|
||||
if not 0 <= examples <= 100:
|
||||
raise ValueError('Examples must be between 0 and 100')
|
||||
started_at = timestamp()
|
||||
connection = open_read_connection(db, pg_service=pg_service, pg_schema=pg_schema)
|
||||
if not pg_service:
|
||||
connection.row_factory = sqlite3.Row
|
||||
try:
|
||||
if pg_service:
|
||||
identity = connection.execute('SELECT current_database(),current_schema()').fetchone()
|
||||
database, schema = identity[0], identity[1]
|
||||
else:
|
||||
database, schema = str(Path(db).resolve()), None
|
||||
names = ['papers_with_submissions', 'papers_with_multiple_submissions',
|
||||
'papers_with_historical_negative', 'papers_with_current_known_acceptance',
|
||||
'papers_with_negative_and_acceptance_in_distinct_attempts',
|
||||
'papers_with_negative_and_acceptance_in_distinct_venues']
|
||||
totals = Counter({key: 0 for key in names})
|
||||
totals.update(submissions=0, decision_observations=0,
|
||||
attempts_with_historical_negative=0,
|
||||
attempts_with_historical_negative_and_acceptance=0)
|
||||
latest = Counter()
|
||||
sample_attempts = []
|
||||
|
||||
def consume(rows):
|
||||
if not rows:
|
||||
return
|
||||
counts = _paper_counts(rows)
|
||||
totals.update(counts)
|
||||
if counts['papers_with_negative_and_acceptance_in_distinct_attempts'] and len(sample_attempts) < examples:
|
||||
sample_attempts.append(rows)
|
||||
|
||||
current = []
|
||||
from paper_atlas.db.events import has_event_key
|
||||
attempts_sql = ATTEMPTS
|
||||
if has_event_key(connection):
|
||||
attempts_sql = attempts_sql.replace('e.year,e.track,', 'e.year,e.track,e.event_key,', 1).replace('e.year,e.track\n', 'e.year,e.track,e.event_key\n')
|
||||
for raw in connection.execute(attempts_sql):
|
||||
row = dict(raw)
|
||||
if current and row['paper_id'] != current[0]['paper_id']:
|
||||
consume(current)
|
||||
current = []
|
||||
current.append(row)
|
||||
totals['submissions'] += 1
|
||||
totals['decision_observations'] += row['decision_observations']
|
||||
totals['attempts_with_historical_negative'] += row['historical_negative']
|
||||
totals['attempts_with_historical_negative_and_acceptance'] += int(
|
||||
row['historical_negative'] and row['historical_acceptance'])
|
||||
latest[row['latest_observed_status']] += 1
|
||||
consume(current)
|
||||
# These are relationship checks, not a substitute for the final entity/FK audit.
|
||||
integrity = {}
|
||||
checks = {
|
||||
'submissions_without_source_links': '''SELECT count(*) FROM submissions s
|
||||
WHERE NOT EXISTS(SELECT 1 FROM submission_sources ss WHERE ss.submission_id=s.id)''',
|
||||
'decisions_without_source_links': '''SELECT count(*) FROM decisions d
|
||||
WHERE NOT EXISTS(SELECT 1 FROM decision_sources ds WHERE ds.decision_id=d.id)''',
|
||||
'submission_source_paper_mismatches': '''SELECT count(*) FROM submission_sources ss
|
||||
JOIN submissions s ON s.id=ss.submission_id JOIN source_records r ON r.id=ss.source_record_id
|
||||
WHERE s.paper_id<>r.paper_id''',
|
||||
'decision_source_paper_mismatches': '''SELECT count(*) FROM decision_sources ds
|
||||
JOIN decisions d ON d.id=ds.decision_id JOIN submissions s ON s.id=d.submission_id
|
||||
JOIN source_records r ON r.id=ds.source_record_id WHERE s.paper_id<>r.paper_id''',
|
||||
}
|
||||
for name, query in checks.items():
|
||||
integrity[name] = connection.execute(query).fetchone()[0]
|
||||
return {'report_started_at': started_at, 'checked_at': timestamp(),
|
||||
'engine': 'postgresql' if pg_service else 'sqlite', 'database': database,
|
||||
'schema': schema, 'pg_service': pg_service,
|
||||
'status': 'observed_history_audit_not_final_dedup', 'counts': dict(totals),
|
||||
'latest_attempt_status_counts': dict(sorted(latest.items())),
|
||||
'evidence_relationship_checks': integrity,
|
||||
'examples': [_example(connection, rows) for rows in sample_attempts],
|
||||
'example_limit': examples,
|
||||
'interpretation': [
|
||||
'Counts use existing canonical paper links, not independently verified real-world identity.',
|
||||
'Negative includes rejected, desk_rejected and withdrawn observations; these remain distinct decisions.',
|
||||
'Known acceptance follows the latest observed decision per attempt, matching query --outcome.',
|
||||
'Distinct attempts/venues require separate submission/venue IDs; aliases do not create new venues.',
|
||||
'Coexisting evidence does not prove rejection happened before acceptance. observed_at is collection time.',
|
||||
'No known acceptance is not proof of never accepted. Source signatures and completeness are not established here.',
|
||||
'Examples are bounded; counts include all attempts and observations in one read-only snapshot.',
|
||||
'This does not perform entity merging, final deduplication, or label namespace/type validation.',
|
||||
]}
|
||||
finally:
|
||||
connection.close()
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
database_arguments(parser)
|
||||
parser.add_argument('--examples', type=int, default=20)
|
||||
parser.add_argument('--out')
|
||||
args = parser.parse_args(argv)
|
||||
result = report(args.db, pg_service=args.pg_service, pg_schema=args.pg_schema, examples=args.examples)
|
||||
text = json.dumps(result, ensure_ascii=False, indent=2)
|
||||
if args.out:
|
||||
path = Path(args.out)
|
||||
stage = path.with_suffix('.part')
|
||||
stage.write_text(text + '\n')
|
||||
stage.replace(path)
|
||||
else:
|
||||
print(text)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,172 @@
|
||||
"""Reconcile the 2020 program with independently identified official papers."""
|
||||
import argparse
|
||||
from collections import Counter, defaultdict
|
||||
import copy
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import tempfile
|
||||
|
||||
from paper_atlas.audits.iclr import load
|
||||
from paper_atlas.db.store import author_keys, normalized
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
|
||||
|
||||
LEGACY_URL = 'https://iclr.cc/virtual_2020/papers.json'
|
||||
LEGACY_SHA256 = '2405f2da6e2641fa600762f7d7cdf7c9d27f4d0ae65799168f3aee46036d30d2'
|
||||
LEGACY_BYTES = 391687
|
||||
EXPECTED = 687
|
||||
# This one paper has three documented titles across the pinned official legacy
|
||||
# list, current official program, and public submission snapshot. The exception
|
||||
# also requires independent public-author agreement; it is not fuzzy matching.
|
||||
REVIEWED_TITLE_VARIANT = {
|
||||
'forum': 'SJgzLkBKPB',
|
||||
'program': 'Explain Your Move: Understanding Agent Actions Using Salient and Relevant Feature Attribution',
|
||||
'legacy': 'Explain Your Move: Understanding Agent Actions Using Focused Feature Saliency',
|
||||
'snapshot': 'Explain Your Move: Understanding Agent Actions Using Specific and Relevant Feature Attribution',
|
||||
}
|
||||
|
||||
|
||||
def reconcile(program, snapshot, legacy):
|
||||
by_number = defaultdict(list)
|
||||
for row in snapshot.values():
|
||||
by_number[row['metadata'].get('source_submission_number')].append(row)
|
||||
legacy_by_forum = {}
|
||||
for note in legacy:
|
||||
forum = note.get('forum')
|
||||
content = note.get('content') or {}
|
||||
if not isinstance(forum, str) or not re.fullmatch(r'[A-Za-z0-9_-]+', forum):
|
||||
raise ValueError('Invalid legacy forum identity')
|
||||
if note.get('id') != forum or content.get('iclr_id') != forum or forum in legacy_by_forum:
|
||||
raise ValueError('Conflicting or repeated official legacy forum')
|
||||
if not isinstance(content.get('title'), str) or not content['title'].strip() or not isinstance(content.get('authors'), list):
|
||||
raise ValueError('Legacy paper lacks title or public authors')
|
||||
legacy_by_forum[forum] = content
|
||||
if len(program) != len(legacy_by_forum):
|
||||
raise ValueError('Official program and legacy inventories differ')
|
||||
title_counts = Counter(normalized(row['title']) for row in legacy_by_forum.values())
|
||||
enriched = []
|
||||
assigned = set()
|
||||
numbers = set()
|
||||
evidence_counts = Counter()
|
||||
for original in program:
|
||||
if any(original.get(k) != v for k, v in {'source': 'iclr_program', 'venue': 'ICLR', 'year': 2020, 'track': 'main', 'status': 'accepted'}.items()):
|
||||
raise ValueError('Program record is outside the accepted 2020 main track')
|
||||
metadata = original.get('metadata') or {}
|
||||
number = metadata.get('program_source_id')
|
||||
if metadata.get('program_identity_type') != 'submission' or type(number) is not int or number <= 0 or number in numbers:
|
||||
raise ValueError('Missing or repeated program submission number')
|
||||
numbers.add(number)
|
||||
candidates = by_number[number]
|
||||
if len(candidates) != 1:
|
||||
raise ValueError('Submission number is absent or ambiguous in the public snapshot')
|
||||
submission = candidates[0]
|
||||
forum = submission['identifiers']['openreview']
|
||||
if submission['status'] != 'accepted' or forum not in legacy_by_forum or forum in assigned:
|
||||
raise ValueError('Snapshot acceptance and official forum inventory do not agree')
|
||||
content = legacy_by_forum[forum]
|
||||
shared_legacy = len(author_keys(original['authors']) & author_keys(content['authors']))
|
||||
shared_snapshot = len(author_keys(original['authors']) & author_keys(submission['authors']))
|
||||
checks = {'legacy_title': normalized(original['title']) == normalized(content['title']),
|
||||
'snapshot_title': normalized(original['title']) == normalized(submission['title']),
|
||||
'snapshot_abstract': bool(original.get('abstract')) and original['abstract'].strip() == (submission.get('abstract') or '').strip(),
|
||||
'two_snapshot_authors': shared_snapshot >= 2}
|
||||
independent_snapshot = sum(checks[k] for k in ('snapshot_title', 'snapshot_abstract', 'two_snapshot_authors')) >= 2
|
||||
checks['legacy_title_unique'] = title_counts[normalized(content['title'])] == 1
|
||||
independent_legacy = checks['legacy_title'] and checks['legacy_title_unique'] and shared_legacy >= 1
|
||||
reviewed_variant = (forum == REVIEWED_TITLE_VARIANT['forum']
|
||||
and normalized(original['title']) == normalized(REVIEWED_TITLE_VARIANT['program'])
|
||||
and normalized(content['title']) == normalized(REVIEWED_TITLE_VARIANT['legacy'])
|
||||
and normalized(submission['title']) == normalized(REVIEWED_TITLE_VARIANT['snapshot'])
|
||||
and shared_legacy >= 2 and shared_snapshot >= 2)
|
||||
if not (independent_snapshot or independent_legacy or reviewed_variant):
|
||||
raise ValueError('Submission number alone cannot establish forum identity: ' + original['external_id'])
|
||||
own = original.get('identifiers') or {}
|
||||
if own.get('openreview') not in (None, forum):
|
||||
raise ValueError('Existing program forum conflicts with independent evidence')
|
||||
row = copy.deepcopy(original)
|
||||
row['identifiers'] = {**own, 'openreview': forum}
|
||||
row['url'] = 'https://iclr.cc/virtual_2020/poster_' + forum + '.html'
|
||||
row['metadata'].update(identity_state='forum', program_submission_number_verified=True,
|
||||
program_identity_verification={'method': 'official_legacy_and_public_submission_crosscheck',
|
||||
'legacy_url': LEGACY_URL, 'legacy_sha256': LEGACY_SHA256,
|
||||
'original_program_url': original['url'], 'legacy_forum': forum,
|
||||
'checks': checks, 'shared_legacy_authors': shared_legacy,
|
||||
'shared_snapshot_authors': shared_snapshot, 'reviewed_title_variant': reviewed_variant})
|
||||
enriched.append(row)
|
||||
assigned.add(forum)
|
||||
evidence_counts.update({'independent_snapshot': int(independent_snapshot),
|
||||
'independent_legacy': int(independent_legacy),
|
||||
'reviewed_title_variant': int(reviewed_variant)})
|
||||
if assigned != legacy_by_forum.keys():
|
||||
raise ValueError('Unmatched official legacy forum identities remain')
|
||||
if assigned != {forum for forum, row in snapshot.items() if row['status'] == 'accepted'}:
|
||||
raise ValueError('Accepted snapshot forum inventory differs from the official program')
|
||||
return enriched, dict(evidence_counts)
|
||||
|
||||
|
||||
def audit(program_path, snapshot_path, legacy_path, out):
|
||||
program_path, snapshot_path, legacy_path = map(lambda p: Path(p).resolve(), (program_path, snapshot_path, legacy_path))
|
||||
raw = legacy_path.read_bytes()
|
||||
if len(raw) != LEGACY_BYTES or hashlib.sha256(raw).hexdigest() != LEGACY_SHA256:
|
||||
raise ValueError('Official legacy snapshot checksum mismatch')
|
||||
legacy = json.loads(raw)
|
||||
if not isinstance(legacy, list) or len(legacy) != EXPECTED:
|
||||
raise ValueError('Official legacy count mismatch')
|
||||
manifest = json.loads(program_path.with_suffix('.manifest.json').read_text())
|
||||
if manifest.get('parser_version', 0) < 2 or any(manifest.get(k) != v for k, v in {'source': 'iclr_program', 'venue': 'ICLR', 'year': 2020, 'track': 'main', 'count': EXPECTED}.items()):
|
||||
raise ValueError('Invalid collected program inventory')
|
||||
program_bytes = program_path.read_bytes()
|
||||
program = [json.loads(line) for line in program_bytes.splitlines()]
|
||||
if len(program) != EXPECTED or len({r['external_id'] for r in program}) != EXPECTED:
|
||||
raise ValueError('Program count or source identity mismatch')
|
||||
snapshot, snapshot_manifest, snapshot_sha = load(snapshot_path, 'openreview_snapshot', 2020)
|
||||
rows, checks = reconcile(program, snapshot, legacy)
|
||||
out = Path(out).resolve()
|
||||
if out / 'iclr-program-2020-main.jsonl' in (program_path, snapshot_path, legacy_path):
|
||||
raise ValueError('Output must preserve the original input files')
|
||||
out.mkdir(parents=True, exist_ok=True)
|
||||
with (out / 'iclr-legacy.lock').open('a') as lock:
|
||||
fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
if (out / 'iclr-2020-identity-audit.json').exists():
|
||||
raise ValueError('Completed identity audit exists; choose a new output directory')
|
||||
with tempfile.TemporaryDirectory(prefix='.iclr-legacy-', dir=out) as temporary:
|
||||
stage = Path(temporary)
|
||||
path = stage / 'iclr-program-2020-main.jsonl'
|
||||
path.write_text(''.join(json.dumps(row, ensure_ascii=False) + '\n' for row in rows))
|
||||
digest = hashlib.sha256(path.read_bytes()).hexdigest()
|
||||
manifest.update(parser_version=3, file=str(out / path.name), file_sha256=digest,
|
||||
missing_forum_count=0, legacy_identity_sha256=LEGACY_SHA256)
|
||||
path.with_suffix('.manifest.json').write_text(json.dumps(manifest, indent=2) + '\n')
|
||||
backfill = {'files': [str(out / path.name)], 'file_sha256': {str(out / path.name): digest}}
|
||||
snapshots = {'files': [str(snapshot_path)], 'file_sha256': {str(snapshot_path): snapshot_sha}}
|
||||
result = {'year': 2020, 'checked_at': timestamp(), 'program_records': len(rows),
|
||||
'snapshot_records': len(snapshot), 'snapshot_status_counts': snapshot_manifest['submission_status_counts'],
|
||||
'legacy_url': LEGACY_URL, 'legacy_sha256': LEGACY_SHA256,
|
||||
'program_input_sha256': hashlib.sha256(program_bytes).hexdigest(),
|
||||
'corroboration_counts': checks, 'backfill_queue': backfill, 'snapshot_files': snapshots,
|
||||
'note': 'No database writes. Backfill existing program identities before importing the snapshot; source IDs, titles and abstracts are preserved.'}
|
||||
(stage / 'iclr-2020-backfill-queue.json').write_text(json.dumps(backfill, indent=2) + '\n')
|
||||
(stage / 'iclr-2020-snapshot-queue.json').write_text(json.dumps(snapshots, indent=2) + '\n')
|
||||
report = stage / 'iclr-2020-identity-audit.json'
|
||||
report.write_text(json.dumps(result, ensure_ascii=False, indent=2) + '\n')
|
||||
for child in sorted(stage.iterdir(), key=lambda child: child == report):
|
||||
child.replace(out / child.name)
|
||||
print(json.dumps(result), flush=True)
|
||||
return result
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
parser.add_argument('--program', required=True)
|
||||
parser.add_argument('--snapshot', required=True)
|
||||
parser.add_argument('--legacy', required=True)
|
||||
parser.add_argument('--out', required=True)
|
||||
args = parser.parse_args(argv)
|
||||
audit(args.program, args.snapshot, args.legacy, args.out)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,110 @@
|
||||
"""Check curated negative assertions against existing submission decisions."""
|
||||
import argparse
|
||||
from contextlib import closing
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
from paper_atlas.collectors.public_openreview import SOURCE, REVISION
|
||||
from paper_atlas.collectors.icml_public_archive import SOURCE as ARCHIVE_SOURCE, REVISION as ARCHIVE_REVISION
|
||||
from paper_atlas.db.submissions import timestamp, latest_status
|
||||
from paper_atlas.db.backend import database_arguments, open_read_connection
|
||||
|
||||
|
||||
def audit(db, inventory, out, *, pg_service=None, pg_schema=None):
|
||||
inventory = Path(inventory).resolve()
|
||||
result = json.loads(inventory.read_text())
|
||||
specs = {SOURCE: (REVISION, 'curated_public_status_assertion'),
|
||||
ARCHIVE_SOURCE: (ARCHIVE_REVISION, 'public_submission_venueid')}
|
||||
source = result.get('source')
|
||||
if source not in specs or result.get('revision') != specs[source][0]:
|
||||
raise ValueError('Unsupported public source inventory')
|
||||
revision, evidence_kind = specs[source]
|
||||
conflicts = []
|
||||
seen = set()
|
||||
checked = 0
|
||||
existing_attempts = 0
|
||||
files = []
|
||||
checksums = {}
|
||||
with closing(open_read_connection(db, pg_service=pg_service, pg_schema=pg_schema)) as c:
|
||||
if pg_service:
|
||||
identity = c.execute('SELECT current_database(),current_schema()').fetchone()
|
||||
database, actual_schema = identity[0], identity[1]
|
||||
else:
|
||||
database, actual_schema = str(Path(db).resolve()), None
|
||||
for manifest in result['files']:
|
||||
path = Path(manifest['file'])
|
||||
if hashlib.sha256(path.read_bytes()).hexdigest() != manifest['file_sha256']:
|
||||
raise ValueError('Collected file differs from pinned inventory')
|
||||
if json.loads(path.with_suffix('.manifest.json').read_text()) != manifest:
|
||||
raise ValueError('Collected manifest differs from inventory')
|
||||
count = 0
|
||||
# Unicode paragraph/line separators are valid inside JSON strings;
|
||||
# split physical byte lines, not Unicode text boundaries.
|
||||
for line in path.read_bytes().splitlines():
|
||||
row = json.loads(line)
|
||||
if any(row[key] != manifest[key] for key in ('source', 'venue', 'year', 'track')):
|
||||
raise ValueError('Record edition differs from inventory')
|
||||
meta = row['metadata']
|
||||
if meta.get('evidence_kind') != evidence_kind or meta.get('source_revision') != revision:
|
||||
raise ValueError('Missing explicit public source provenance')
|
||||
if meta.get('original_decision_signature_verified') is not False:
|
||||
raise ValueError('Curated metadata must not claim original signatures')
|
||||
if row['status'] not in ('rejected', 'desk_rejected', 'withdrawn'):
|
||||
raise ValueError('Unsupported negative assertion')
|
||||
forum = row['identifiers']['openreview']
|
||||
if forum in seen:
|
||||
raise ValueError('Repeated forum in normalized inventory')
|
||||
seen.add(forum)
|
||||
existing = c.execute('''SELECT s.id FROM submission_identifiers i
|
||||
JOIN submissions s ON s.id=i.submission_id JOIN editions e ON e.id=i.edition_id
|
||||
JOIN venues v ON v.id=e.venue_id WHERE v.acronym=? AND e.year=? AND e.track=?
|
||||
AND i.scheme='openreview' AND i.value=?''',
|
||||
(row['venue'], row['year'], row['track'], forum)).fetchall()
|
||||
if len(existing) > 1:
|
||||
raise ValueError('Multiple canonical attempts for one forum')
|
||||
if existing:
|
||||
existing_attempts += 1
|
||||
latest = latest_status(c, existing[0][0])
|
||||
if latest and latest not in ('unknown', 'under_review', row['status']):
|
||||
conflicts.append({'forum': forum, 'venue': row['venue'], 'year': row['year'],
|
||||
'track': row['track'], 'submission_id': existing[0][0],
|
||||
'existing_status': latest, 'curated_status': row['status']})
|
||||
count += 1
|
||||
if count != manifest['count']:
|
||||
raise ValueError('Collected record count differs from inventory')
|
||||
checked += count
|
||||
files.append(str(path))
|
||||
checksums[str(path)] = manifest['file_sha256']
|
||||
if checked != result['normalized_records']:
|
||||
raise ValueError('Normalized inventory total differs from checked records')
|
||||
report = {'source': source, 'revision': revision, 'database': database,
|
||||
'engine': 'postgresql' if pg_service else 'sqlite', 'schema': actual_schema, 'pg_service': pg_service,
|
||||
'inventory': str(inventory), 'checked_at': timestamp(), 'records_checked': checked,
|
||||
'existing_same_edition_attempts': existing_attempts, 'conflicts': conflicts,
|
||||
'status': 'blocked' if conflicts else 'ready_for_serial_import',
|
||||
'files': [] if conflicts else files, 'file_sha256': {} if conflicts else checksums,
|
||||
'note': 'Read-only preflight. Other-conference acceptances remain separate history; '
|
||||
'this is not an entity deduplication or complete rejection-coverage proof.'}
|
||||
out = Path(out)
|
||||
out.parent.mkdir(parents=True, exist_ok=True)
|
||||
part = out.with_suffix('.part')
|
||||
part.write_text(json.dumps(report, ensure_ascii=False, indent=2) + '\n')
|
||||
part.replace(out)
|
||||
print(json.dumps(report), flush=True)
|
||||
return report
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
database_arguments(parser)
|
||||
parser.add_argument('--inventory', required=True)
|
||||
parser.add_argument('--out', required=True)
|
||||
args = parser.parse_args(argv)
|
||||
report = audit(args.db, args.inventory, args.out, pg_service=args.pg_service, pg_schema=args.pg_schema)
|
||||
if report['status'] == 'blocked':
|
||||
raise SystemExit('Conflicting existing decisions require review before import')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
+21
-1
@@ -6,25 +6,45 @@ from paper_atlas import __version__
|
||||
|
||||
|
||||
COMMANDS = {
|
||||
('annotate',): ('paper_atlas.curation.annotations', {}, '管理独立的研究类型与自定义标签证据'),
|
||||
('curate','identifiers'): ('paper_atlas.curation.identifiers', {}, '按证据补充稳定标识并生成独立待导入文件'),
|
||||
('query',): ('paper_atlas.querying', {}, '查询论文、标签和投稿历史'),
|
||||
('coverage',): ('paper_atlas.audits.coverage', {}, '查看全部候选会议的覆盖情况'),
|
||||
('download',): ('paper_atlas.io.snapshots', {}, '下载并校验固定版本快照'),
|
||||
('collect','pmlr'): ('paper_atlas.collectors.pmlr', {}, 'PMLR 官方元数据'),
|
||||
('collect','acl'): ('paper_atlas.collectors.acl', {}, 'ACL Anthology XML'),
|
||||
('collect','springer-selected'): ('paper_atlas.collectors.springer_selected', {}, '核验限定的会后选集章节与原会议关系'),
|
||||
('collect','iclr-archive'): ('paper_atlas.collectors.iclr_archive', {}, '核对ICLR 2014–2016官方历史录用档案'),
|
||||
('collect','iclr-program'): ('paper_atlas.collectors.iclr', {}, 'ICLR 官方公开程序'),
|
||||
('collect','iclr-snapshot'): ('paper_atlas.collectors.openreview', {}, 'ICLR 公开投稿与决定快照'),
|
||||
('collect','public-openreview'): ('paper_atlas.collectors.public_openreview', {}, '核验其他会议的公开拒稿及撤稿标签'),
|
||||
('collect','icml-public-archive'): ('paper_atlas.collectors.icml_public_archive', {}, 'ICML 2026 公开拒稿原始投稿快照'),
|
||||
('collect','peerread'): ('paper_atlas.collectors.peerread', {}, 'PeerRead 历史决定补充'),
|
||||
('collect','colm'): ('paper_atlas.collectors.proceedings', {'source':'colm'}, 'COLM 官方论文集'),
|
||||
('collect','neurips'): ('paper_atlas.collectors.proceedings', {'source':'neurips'}, 'NeurIPS 官方论文集'),
|
||||
('collect','mlsys'): ('paper_atlas.collectors.proceedings', {'source':'mlsys'}, 'MLSys 官方历年标题与摘要'),
|
||||
('collect','cvf'): ('paper_atlas.collectors.vision', {'source':'cvf'}, 'CVPR / ICCV 官方开放目录'),
|
||||
('collect','ecva'): ('paper_atlas.collectors.vision', {'source':'ecva'}, 'ECCV 官方开放目录'),
|
||||
('collect','aamas-proceedings'): ('paper_atlas.collectors.aamas', {}, '按官方目录区分 AAMAS 发表形式和摘要'),
|
||||
('collect','www-archive'): ('paper_atlas.collectors.www_archive', {}, '核验早期WWW官方档案并分开待核查条目'),
|
||||
('collect','dblp'): ('paper_atlas.collectors.dblp_records', {}, '核对并整理 DBLP 历史发表记录'),
|
||||
('catalogue','dblp'): ('paper_atlas.collectors.dblp', {}, '盘点 DBLP 历史会议目录'),
|
||||
('import','arxiv'): ('paper_atlas.ingestion.arxiv', {}, '导入 arXiv 元数据 ZIP'),
|
||||
('import','records'): ('paper_atlas.ingestion.records', {}, '导入核验过的会议文件'),
|
||||
('maintain','edition-tracks'): ('paper_atlas.ingestion.edition_tracks', {}, '按逐条来源证据修正既有投稿轨道并保护刷新'),
|
||||
('maintain','joint-editions'): ('paper_atlas.ingestion.joint_editions', {}, '按已核验计划修正既有联合会议届次归属'),
|
||||
('maintain','event-identity'): ('paper_atlas.ingestion.event_identity', {}, '按核验计划增加同年会议事件身份'),
|
||||
('maintain','merge'): ('paper_atlas.ingestion.maintenance', {}, '协调单写入合并与恢复'),
|
||||
('maintain','backfill'): ('paper_atlas.ingestion.backfill', {}, '回填既有投稿的来源身份'),
|
||||
('maintain','arxiv-tags'): ('paper_atlas.ingestion.arxiv_tags', {}, '恢复逐来源记录的 arXiv 类别证据'),
|
||||
('maintain','pmlr-tracks'): ('paper_atlas.ingestion.pmlr_tracks', {}, '核对并迁移既有 PMLR 投稿轨道'),
|
||||
('maintain','postgres'): ('paper_atlas.postgres.migration', {}, '迁移 SQLite 完整业务数据并核验 PostgreSQL'),
|
||||
('audit','iclr'): ('paper_atlas.audits.iclr', {}, '核对 ICLR 快照与同届官方程序'),
|
||||
('audit','iclr-legacy'): ('paper_atlas.audits.iclr_legacy', {}, '独立核验 ICLR 2020 旧目录投稿身份'),
|
||||
('audit','arxiv'): ('paper_atlas.audits.arxiv', {}, '核验 arXiv 原始编号、重复行与 ZIP 完整性'),
|
||||
('audit','arxiv-tags'): ('paper_atlas.audits.arxiv_tags', {}, '逐记录核验 arXiv 类别及出处完整性'),
|
||||
('audit','public-openreview'): ('paper_atlas.audits.public_openreview', {}, '核对公开负面决定与已有投稿历史'),
|
||||
('audit','histories'): ('paper_atlas.audits.histories', {}, '只读核对跨会议投稿历史及决定来源关系'),
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +57,7 @@ def main(argv=None):
|
||||
leaf=commands.add_parser(route[0],help=help_text,add_help=False)
|
||||
else:
|
||||
if route[0] not in groups:
|
||||
group=commands.add_parser(route[0],help={'collect':'采集来源元数据','catalogue':'盘点历史目录','import':'导入数据库','maintain':'维护数据库','audit':'核验数据'}[route[0]])
|
||||
group=commands.add_parser(route[0],help={'collect':'采集来源元数据','catalogue':'盘点历史目录','import':'导入数据库','maintain':'维护数据库','audit':'核验数据','curate':'按证据整理元数据'}[route[0]])
|
||||
groups[route[0]]=group.add_subparsers(dest='operation',required=True)
|
||||
leaf=groups[route[0]].add_parser(route[1],help=help_text,add_help=False)
|
||||
leaf.set_defaults(handler=(route,module,kwargs))
|
||||
|
||||
@@ -0,0 +1,213 @@
|
||||
"""Official AAMAS proceedings metadata, with publication format separate from track."""
|
||||
import argparse
|
||||
from collections import Counter, defaultdict
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import tempfile
|
||||
from urllib.parse import urljoin, urlsplit
|
||||
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
from paper_atlas.io.html import Document, Node, clean
|
||||
from paper_atlas.io.http import fetch
|
||||
|
||||
SOURCE = 'aamas_proceedings'
|
||||
ROOT = 'https://www.ifaamas.org/Proceedings/aamas2012/'
|
||||
# Counts independently checked against the frozen publisher sections. This
|
||||
# adapter deliberately refuses other editions/layouts until they are reviewed.
|
||||
SECTIONS = {
|
||||
'fullpapers': ('Full Papers', 'full_paper', 'proceedings_unspecified', 136),
|
||||
'extabstracts': ('Extended Abstracts', 'extended_abstract', 'proceedings_unspecified', 146),
|
||||
'demos': ('Demos', 'demo', 'demo', 28),
|
||||
'doctorals': ('Doctorial Consortium Abstracts', 'doctoral_abstract', 'doctoral', 24),
|
||||
}
|
||||
|
||||
|
||||
def classes(node):
|
||||
return set(node.attrs.get('class', '').split())
|
||||
|
||||
|
||||
def text_without(node, omitted):
|
||||
if node.tag in ('script', 'style') or classes(node) & omitted:
|
||||
return ''
|
||||
parts = [text_without(child, omitted) if isinstance(child, Node) else child
|
||||
for child in node.children]
|
||||
value = ''.join(parts)
|
||||
return ' '+value+' ' if node.tag in ('p', 'div', 'section', 'li', 'br') else value
|
||||
|
||||
|
||||
def one(nodes, description):
|
||||
if len(nodes) != 1:
|
||||
raise ValueError('Expected one '+description)
|
||||
return nodes[0]
|
||||
|
||||
|
||||
def parse_section(html, section, observed_at, evidence):
|
||||
heading, publication_format, track, _ = SECTIONS[section]
|
||||
document = Document(html)
|
||||
titles = [clean(n.text()) for n in document.root.walk() if n.tag == 'title']
|
||||
if titles != [heading+' - AAMAS 2012']:
|
||||
raise ValueError('Unexpected proceedings edition or section title')
|
||||
headings = [clean(n.text()) for n in document.root.walk() if n.tag == 'h1']
|
||||
if headings != [heading]:
|
||||
raise ValueError('Unexpected proceedings section heading')
|
||||
url = ROOT+'resources/'+section+'.html'
|
||||
records = []
|
||||
seen = set()
|
||||
session = None
|
||||
for node in document.root.walk():
|
||||
if node.tag == 'h2' and 'section' in classes(node):
|
||||
session = {'id': node.attrs.get('id'), 'title': clean(node.text())}
|
||||
if node.tag != 'div' or 'paper' not in classes(node):
|
||||
continue
|
||||
paper_id = node.attrs.get('id', '')
|
||||
if not re.fullmatch(r'[A-Za-z0-9]+_[0-9]+', paper_id) or paper_id in seen:
|
||||
raise ValueError('Missing or repeated publisher paper ID')
|
||||
seen.add(paper_id)
|
||||
title_node = one([n for n in node.walk() if n.tag == 'span' and 'title' in classes(n)], 'paper title')
|
||||
link = one([n for n in title_node.children if isinstance(n, Node) and n.tag == 'a'], 'paper link')
|
||||
paper_url = urljoin(url, link.attrs.get('href', ''))
|
||||
if paper_url != ROOT+'papers/'+paper_id+'.pdf':
|
||||
raise ValueError('Paper link differs from publisher ID or official host')
|
||||
title = clean(text_without(link, {'abstract'}))
|
||||
abstract_nodes = [n for n in link.walk() if n.tag == 'span' and 'abstract' in classes(n)]
|
||||
if len(abstract_nodes) > 1:
|
||||
raise ValueError('Multiple abstracts for one paper')
|
||||
abstract = (clean(abstract_nodes[0].text()) or None) if abstract_nodes else None
|
||||
author_node = one([n for n in node.walk() if n.tag == 'span' and 'authors' in classes(n)], 'author list')
|
||||
author_display = clean(text_without(author_node, {'amount'}))
|
||||
authors = [clean(name) for name in author_display.split(',')]
|
||||
if not title or not author_display or any(not name for name in authors):
|
||||
raise ValueError('Empty paper title or author')
|
||||
tags = [{'namespace': 'aamas_proceedings:publication_format', 'value': publication_format}]
|
||||
if session:
|
||||
tags.append({'namespace': 'aamas_proceedings:session', 'value': session['title']})
|
||||
records.append({
|
||||
'source': SOURCE, 'external_id': '2012/'+paper_id,
|
||||
'url': url+'#'+paper_id, 'title': title, 'abstract': abstract,
|
||||
'authors': authors, 'identifiers': {}, 'venue': 'AAMAS', 'venue_aliases': [],
|
||||
'year': 2012, 'track': track, 'status': 'accepted',
|
||||
'observed_at': observed_at,
|
||||
'raw_decision': 'listed in official AAMAS 2012 proceedings '+heading,
|
||||
'metadata': {'publisher_paper_id': paper_id, 'paper_url': paper_url,
|
||||
'section_url': url, 'section_heading': heading,
|
||||
'publication_format': publication_format, 'session': session,
|
||||
'authors_display': author_display, 'source_evidence': evidence,
|
||||
'publication_evidence': 'official published proceedings entry; not an original decision note',
|
||||
'track_scope_note': ('Full papers and extended abstracts include general and special submission tracks; '
|
||||
'session topics do not establish an individual submission track.'
|
||||
if track == 'proceedings_unspecified' else 'Explicit publisher section.'),
|
||||
'decision_date_precision': 'not_supplied'},
|
||||
'tags': tags})
|
||||
if not records:
|
||||
raise ValueError('No publisher paper entries found')
|
||||
return records
|
||||
|
||||
|
||||
def read_pages(cache=None, snapshots=None):
|
||||
if bool(cache) == bool(snapshots):
|
||||
raise ValueError('Choose exactly one HTTP cache or frozen snapshot directory')
|
||||
urls = {'introduction': ROOT, **{key: ROOT+'resources/'+key+'.html' for key in SECTIONS}}
|
||||
pages = {}
|
||||
receipts = []
|
||||
frozen = json.loads((Path(snapshots)/'receipts.json').read_text())['receipts'] if snapshots else []
|
||||
for key, url in urls.items():
|
||||
if snapshots:
|
||||
receipt = one([r for r in frozen if r['url'] == url], 'frozen response receipt')
|
||||
filename = Path(receipt['file'])
|
||||
if filename.is_absolute() or '..' in filename.parts or receipt.get('status') != 200:
|
||||
raise ValueError('Unsafe or unsuccessful frozen response')
|
||||
data = (Path(snapshots)/filename).read_bytes()
|
||||
if len(data) > 8*1024**2 or hashlib.sha256(data).hexdigest() != receipt['sha256'] or len(data) != receipt['bytes']:
|
||||
raise ValueError('Frozen publisher response checksum or size mismatch')
|
||||
observed = receipt['finished_at']
|
||||
else:
|
||||
data = fetch(url, cache, 8*1024**2, delay=1)
|
||||
receipt = json.loads((Path(cache)/hashlib.sha256(url.encode()).hexdigest()).with_suffix('.json').read_text())
|
||||
observed = receipt['retrieved_at']
|
||||
evidence = {'url': url, 'sha256': hashlib.sha256(data).hexdigest(), 'bytes': len(data),
|
||||
'file': 'evidence/'+hashlib.sha256(data).hexdigest()+'.html', 'observed_at': observed,
|
||||
'http_status': 200, 'response_receipt': receipt}
|
||||
pages[key] = (data, evidence)
|
||||
receipts.append(evidence)
|
||||
return pages, receipts
|
||||
|
||||
|
||||
def _collect(year, out, *, cache=None, snapshots=None):
|
||||
if year == 2025:
|
||||
from paper_atlas.collectors.aamas2025 import collect as collect_2025
|
||||
return collect_2025(out, cache=cache, snapshots=snapshots)
|
||||
if year != 2012:
|
||||
raise ValueError('Only the independently reviewed AAMAS 2012 layout is supported')
|
||||
pages, receipts = read_pages(cache, snapshots)
|
||||
intro = Document(pages['introduction'][0].decode('utf-8'))
|
||||
if [clean(n.text()) for n in intro.root.walk() if n.tag == 'title'] != ['AAMAS 2012']:
|
||||
raise ValueError('Unexpected proceedings introduction')
|
||||
records = []
|
||||
for section, (_, _, _, expected) in SECTIONS.items():
|
||||
data, evidence = pages[section]
|
||||
group = parse_section(data.decode('utf-8'), section, evidence['observed_at'], evidence)
|
||||
if len(group) != expected:
|
||||
raise ValueError('Publisher section count differs from reviewed inventory: '+section)
|
||||
records.extend(group)
|
||||
if len({r['external_id'] for r in records}) != len(records):
|
||||
raise ValueError('Paper IDs collide across publisher sections')
|
||||
grouped = defaultdict(list)
|
||||
for record in records:
|
||||
grouped[record['track']].append(record)
|
||||
out = Path(out)
|
||||
out.mkdir(parents=True, exist_ok=True)
|
||||
files = []
|
||||
with tempfile.TemporaryDirectory(prefix='.aamas-', dir=out) as temporary:
|
||||
stage = Path(temporary)
|
||||
(stage/'evidence').mkdir()
|
||||
for data, evidence in pages.values():
|
||||
(stage/evidence['file']).write_bytes(data)
|
||||
for track, group in sorted(grouped.items()):
|
||||
path = stage/f'aamas-proceedings-2012-{track}.jsonl'
|
||||
path.write_text(''.join(json.dumps(r, ensure_ascii=False)+'\n' for r in group))
|
||||
manifest = {'source': SOURCE, 'parser_version': 1, 'venue': 'AAMAS', 'year': 2012, 'track': track,
|
||||
'count': len(group), 'file': str(out/path.name), 'file_sha256': hashlib.sha256(path.read_bytes()).hexdigest(),
|
||||
'list_url': ROOT, 'status': 'partial', 'missing_abstract_count': sum(not r['abstract'] for r in group),
|
||||
'publication_format_counts': dict(Counter(r['metadata']['publication_format'] for r in group)),
|
||||
'note': 'Publisher sections verified; individual full/extended submission track, decision history and independent identities still need review.'}
|
||||
path.with_suffix('.manifest.json').write_text(json.dumps(manifest, ensure_ascii=False, indent=2)+'\n')
|
||||
files.append(manifest)
|
||||
result = {'source': SOURCE, 'year': year, 'finished_at': timestamp(), 'status': 'collected_pending_identity_review',
|
||||
'records': len(records), 'files': files, 'source_receipts': receipts,
|
||||
'publication_format_counts': dict(Counter(r['metadata']['publication_format'] for r in records)),
|
||||
'database_written': False, 'pdfs_downloaded': False,
|
||||
'note': 'Aggregate submission/withdrawal totals do not identify individual rejected or withdrawn papers.'}
|
||||
(stage/'aamas-proceedings-2012.json').write_text(json.dumps(result, ensure_ascii=False, indent=2)+'\n')
|
||||
# Validated files first; write the completed collection report last.
|
||||
(out/'evidence').mkdir(exist_ok=True)
|
||||
for path in (stage/'evidence').iterdir():
|
||||
path.replace(out/'evidence'/path.name)
|
||||
for path in stage.iterdir():
|
||||
if path.is_file() and path.name != 'aamas-proceedings-2012.json':
|
||||
path.replace(out/path.name)
|
||||
(stage/'aamas-proceedings-2012.json').replace(out/'aamas-proceedings-2012.json')
|
||||
return result
|
||||
|
||||
|
||||
def collect(year, out, *, cache=None, snapshots=None):
|
||||
if year not in (2012, 2025):
|
||||
raise ValueError('Only independently reviewed AAMAS 2012/2025 layouts are supported')
|
||||
out = Path(out)
|
||||
out.mkdir(parents=True, exist_ok=True)
|
||||
with (out/'aamas.collect.lock').open('a') as lock:
|
||||
fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
return _collect(year, out, cache=cache, snapshots=snapshots)
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
parser.add_argument('--year', type=int, choices=[2012, 2025], required=True)
|
||||
parser.add_argument('--out', required=True)
|
||||
source = parser.add_mutually_exclusive_group(required=True)
|
||||
source.add_argument('--cache')
|
||||
source.add_argument('--snapshots')
|
||||
args = parser.parse_args(argv)
|
||||
print(json.dumps(collect(args.year, args.out, cache=args.cache, snapshots=args.snapshots), ensure_ascii=False))
|
||||
@@ -0,0 +1,183 @@
|
||||
"""Reviewed AAMAS 2025 publisher TOC; HTML metadata only, never paper PDFs."""
|
||||
from collections import Counter, defaultdict
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import tempfile
|
||||
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
from paper_atlas.io.html import Document, Node, clean
|
||||
from paper_atlas.io.http import fetch
|
||||
|
||||
ROOT = 'https://www.ifaamas.org/Proceedings/aamas2025/'
|
||||
URLS = {'index': ROOT, 'contents': ROOT+'forms/contents.htm'}
|
||||
TITLE = 'AAMAS 2025: Proceedings of the 2025 International Conference on Autonomous Agents and Multiagent Systems'
|
||||
SECTIONS = {
|
||||
'1': ('Keynote Talks', 'keynote', 'keynote', 3),
|
||||
'2': ('Research Paper Track', 'full_paper', 'proceedings_unspecified', 260),
|
||||
'3': ('Extended Abstracts', 'extended_abstract', 'proceedings_unspecified', 148),
|
||||
'4': ('Blue Sky Ideas', 'blue_sky_paper', 'blue_sky', 12),
|
||||
'5': ('Doctoral Consortium', 'doctoral_abstract', 'doctoral', 25),
|
||||
'6': ('Demo Track', 'demo', 'demo', 22),
|
||||
'7': ('JAAMAS Track', 'journal_presentation', 'jaamas', 9),
|
||||
}
|
||||
COMPETITION_TITLE = '[COMP24] The Automated Negotiating Agents Competition (ANAC) 2024 Challenges and Results'
|
||||
PAPER = re.compile(r'\.\./pdfs/p([0-9]+)\.pdf')
|
||||
|
||||
|
||||
def one(items, label):
|
||||
if len(items) != 1:
|
||||
raise ValueError('Expected one '+label)
|
||||
return items[0]
|
||||
|
||||
|
||||
def parse_contents(html, evidence):
|
||||
doc = Document(html)
|
||||
if [clean(n.text()) for n in doc.root.walk() if n.tag == 'title'] != [TITLE]:
|
||||
raise ValueError('Unexpected AAMAS proceedings title/year')
|
||||
for paragraph in doc.root.walk():
|
||||
if paragraph.tag != 'p' or any(n is not paragraph and n.tag == 'p' for n in paragraph.walk()):
|
||||
continue
|
||||
anchors = [n.attrs['name'] for n in paragraph.walk() if n.tag == 'a' and n.attrs.get('name') in SECTIONS]
|
||||
if anchors and (len(anchors) != 1 or clean(paragraph.text()) != SECTIONS[anchors[0]][0]):
|
||||
raise ValueError('Publisher section heading differs from reviewed layout')
|
||||
section = None
|
||||
headers = []
|
||||
records, excluded, counts, seen = [], [], Counter(), set()
|
||||
for node in doc.root.walk():
|
||||
if node.tag == 'a' and node.attrs.get('name') in SECTIONS:
|
||||
section = node.attrs['name']
|
||||
headers.append(section)
|
||||
if node.tag != 'p' or any(n is not node and n.tag == 'p' for n in node.walk()):
|
||||
continue
|
||||
links = [n for n in node.walk() if n.tag == 'a' and PAPER.fullmatch(n.attrs.get('href', ''))]
|
||||
if not links:
|
||||
continue
|
||||
link = one(links, 'paper link per paragraph')
|
||||
if section not in SECTIONS:
|
||||
raise ValueError('Paper outside a reviewed publisher section')
|
||||
page = int(PAPER.fullmatch(link.attrs['href'])[1])
|
||||
if page in seen:
|
||||
raise ValueError('Repeated publisher paper/page ID')
|
||||
seen.add(page)
|
||||
title = clean(link.text())
|
||||
if not title:
|
||||
raise ValueError('Empty paper title')
|
||||
# Names are outside italicized affiliations and separated by explicit BRs.
|
||||
font = one([n for n in node.walk() if n.tag == 'font' and n.attrs.get('color', '').lower() == '#222222'], 'ordered author block')
|
||||
authors, affiliations = [], []
|
||||
name, affiliation = '', ''
|
||||
def flush():
|
||||
nonlocal name, affiliation
|
||||
if clean(name) or clean(affiliation):
|
||||
if not clean(name):
|
||||
raise ValueError('Affiliation without author')
|
||||
authors.append(clean(name)); affiliations.append(clean(affiliation))
|
||||
name, affiliation = '', ''
|
||||
for child in font.children:
|
||||
if isinstance(child, str):
|
||||
name += child
|
||||
elif child.tag == 'br':
|
||||
flush()
|
||||
elif child.tag == 'i':
|
||||
affiliation += child.text()
|
||||
else:
|
||||
raise ValueError('Unreviewed author markup: '+child.tag)
|
||||
flush()
|
||||
if not authors:
|
||||
raise ValueError('Empty author list')
|
||||
heading, publication_format, track, _ = SECTIONS[section]
|
||||
counts[section] += 1
|
||||
if section == '1':
|
||||
excluded.append({'publisher_page': page, 'title': title, 'authors': authors, 'reason': 'publisher keynote talk, not a research-paper submission'})
|
||||
continue
|
||||
note = 'Explicit publisher section; section topics are not research types.'
|
||||
if track == 'proceedings_unspecified':
|
||||
note = 'Published format is known; individual main/special submission track is not provided.'
|
||||
if page == 3000:
|
||||
if section != '6' or title != COMPETITION_TITLE:
|
||||
raise ValueError('Competition report differs from reviewed publisher entry')
|
||||
publication_format, track = 'competition_report', 'proceedings_unspecified'
|
||||
note = 'Publisher places this competition report in Demo Track; no individual demonstration submission is inferred.'
|
||||
records.append({
|
||||
'source': 'aamas_proceedings', 'external_id': '2025/p'+str(page),
|
||||
'url': URLS['contents']+'#'+section, 'title': title, 'abstract': None,
|
||||
'authors': authors, 'identifiers': {}, 'venue': 'AAMAS', 'venue_aliases': [],
|
||||
'year': 2025, 'track': track, 'status': 'accepted',
|
||||
'observed_at': evidence['observed_at'],
|
||||
'raw_decision': 'listed in official AAMAS 2025 published proceedings '+heading,
|
||||
'tags': [{'namespace': 'aamas_proceedings:publication_format', 'value': publication_format}],
|
||||
'metadata': {'publisher_page': page, 'paper_url': ROOT+'pdfs/p'+str(page)+'.pdf',
|
||||
'section_url': URLS['contents'], 'section_anchor': section,
|
||||
'section_heading': heading, 'publication_format': publication_format,
|
||||
'author_affiliations': affiliations, 'source_evidence': evidence,
|
||||
'track_scope_note': note, 'decision_date_precision': 'not_supplied',
|
||||
'missing_abstract_reason': 'Publisher HTML supplies no abstract; research PDF not downloaded.',
|
||||
'publication_evidence': 'Published proceedings entry, not an original decision note.'}})
|
||||
if headers != list(SECTIONS) or dict(counts) != {k: v[3] for k, v in SECTIONS.items()}:
|
||||
raise ValueError('Publisher section inventory differs from reviewed 2025 layout')
|
||||
if len(records) != 476 or len(excluded) != 3 or sum(r['metadata']['publication_format'] == 'competition_report' for r in records) != 1:
|
||||
raise ValueError('Unexpected publication partition')
|
||||
return records, excluded
|
||||
|
||||
|
||||
def read_pages(cache, snapshots):
|
||||
if bool(cache) == bool(snapshots):
|
||||
raise ValueError('Choose exactly one cache or frozen snapshot directory')
|
||||
frozen = json.loads((Path(snapshots)/'receipts.json').read_text())['receipts'] if snapshots else []
|
||||
pages = {}
|
||||
for key, url in URLS.items():
|
||||
if snapshots:
|
||||
r = one([r for r in frozen if r['url'] == url], 'frozen response receipt')
|
||||
filename = Path(r['file']); base = Path(snapshots).resolve()
|
||||
if filename.is_absolute() or '..' in filename.parts or not (base/filename).resolve().is_relative_to(base) or r.get('http_status') != 200:
|
||||
raise ValueError('Unsafe or unsuccessful publisher response')
|
||||
data = (base/filename).read_bytes()
|
||||
if len(data) > 8*1024**2 or len(data) != r['bytes'] or hashlib.sha256(data).hexdigest() != r['sha256']:
|
||||
raise ValueError('Frozen publisher response checksum/size mismatch')
|
||||
observed = r['at']
|
||||
else:
|
||||
data = fetch(url, cache, 8*1024**2, delay=1)
|
||||
r = json.loads((Path(cache)/hashlib.sha256(url.encode()).hexdigest()).with_suffix('.json').read_text())
|
||||
observed = r['retrieved_at']
|
||||
timestamp(observed)
|
||||
pages[key] = data, {'url': url, 'sha256': hashlib.sha256(data).hexdigest(), 'bytes': len(data),
|
||||
'file': 'evidence/'+hashlib.sha256(data).hexdigest()+'.html',
|
||||
'observed_at': observed, 'http_status': 200, 'response_receipt': r}
|
||||
return pages
|
||||
|
||||
|
||||
def collect(out, *, cache=None, snapshots=None):
|
||||
pages = read_pages(cache, snapshots)
|
||||
if [clean(n.text()) for n in Document(pages['index'][0].decode('utf-8')).root.walk() if n.tag == 'title'] != [TITLE]:
|
||||
raise ValueError('Unexpected AAMAS 2025 introduction')
|
||||
records, excluded = parse_contents(pages['contents'][0].decode('utf-8'), pages['contents'][1])
|
||||
grouped = defaultdict(list)
|
||||
for row in records: grouped[row['track']].append(row)
|
||||
out = Path(out); out.mkdir(parents=True, exist_ok=True); files = []
|
||||
with tempfile.TemporaryDirectory(prefix='.aamas2025-', dir=out) as temporary:
|
||||
stage = Path(temporary); (stage/'evidence').mkdir()
|
||||
for data, e in pages.values(): (stage/e['file']).write_bytes(data)
|
||||
for track, group in sorted(grouped.items()):
|
||||
p = stage/f'aamas-proceedings-2025-{track}.jsonl'
|
||||
p.write_text(''.join(json.dumps(r, ensure_ascii=False)+'\n' for r in group))
|
||||
m = {'source': 'aamas_proceedings', 'parser_version': 2, 'venue': 'AAMAS', 'year': 2025,
|
||||
'track': track, 'count': len(group), 'file': str(out/p.name), 'file_sha256': hashlib.sha256(p.read_bytes()).hexdigest(),
|
||||
'list_url': URLS['contents'], 'status': 'partial', 'missing_abstract_count': len(group),
|
||||
'publication_format_counts': dict(Counter(r['metadata']['publication_format'] for r in group)),
|
||||
'note': 'Complete published TOC partition; HTML abstracts absent, identities and submission-track scope require independent review.'}
|
||||
p.with_suffix('.manifest.json').write_text(json.dumps(m, ensure_ascii=False, indent=2)+'\n'); files.append(m)
|
||||
result = {'source': 'aamas_proceedings', 'year': 2025, 'finished_at': timestamp(),
|
||||
'status': 'collected_pending_identity_review', 'records': len(records), 'files': files,
|
||||
'excluded_publications': excluded, 'source_receipts': [e for _, e in pages.values()],
|
||||
'publication_format_counts': dict(Counter(r['metadata']['publication_format'] for r in records)),
|
||||
'database_written': False, 'pdfs_downloaded': False,
|
||||
'note': 'Neither absence from proceedings nor aggregate rejection/withdrawal counts identify an individual negative decision.'}
|
||||
report = 'aamas-proceedings-2025.json'; (stage/report).write_text(json.dumps(result, ensure_ascii=False, indent=2)+'\n')
|
||||
(out/'evidence').mkdir(exist_ok=True)
|
||||
for p in (stage/'evidence').iterdir(): p.replace(out/'evidence'/p.name)
|
||||
for p in stage.iterdir():
|
||||
if p.is_file() and p.name != report: p.replace(out/p.name)
|
||||
(stage/report).replace(out/report)
|
||||
return result
|
||||
@@ -6,6 +6,7 @@ import xml.etree.ElementTree as ET
|
||||
from pathlib import Path
|
||||
|
||||
from paper_atlas.io.git_metadata import checkout_metadata
|
||||
from paper_atlas.collectors.acl_historical import event_scope, material_reason
|
||||
|
||||
VENUES={'acl':'ACL','emnlp':'EMNLP','naacl':'NAACL','eacl':'EACL','coling':'COLING','conll':'CoNLL'}
|
||||
|
||||
@@ -29,7 +30,10 @@ def paper_id(collection,volume,number):
|
||||
return f'{collection}-{int(volume):0{width}d}{int(number):0{digits}d}'
|
||||
|
||||
|
||||
def volume_scope(meta,volume):
|
||||
def volume_scope(meta,volume,collection=None):
|
||||
historical=event_scope(meta,volume,collection)
|
||||
if historical:
|
||||
return historical['canonical_venue'],historical['venue_aliases'],historical['track']
|
||||
codes=[text(n).lower() for n in meta.findall('venue')]
|
||||
book=text(meta.find('booktitle'))
|
||||
lower=book.lower()
|
||||
@@ -59,7 +63,7 @@ def collect_xml(path,out,commit):
|
||||
vid=volume.attrib['id']
|
||||
meta=volume.find('meta')
|
||||
if meta is None:raise ValueError('Volume metadata missing')
|
||||
scope=volume_scope(meta,vid)
|
||||
scope=volume_scope(meta,vid,collection)
|
||||
key=f'{collection}-{vid}'
|
||||
if scope is None:
|
||||
results.append({'volume':key,'status':'excluded_by_venue','venue_codes':[text(n) for n in meta.findall('venue')],'booktitle':text(meta.find('booktitle')),'year':text(meta.find('year'))})
|
||||
@@ -70,12 +74,18 @@ def collect_xml(path,out,commit):
|
||||
year=int(year_text)
|
||||
records=[]
|
||||
frontmatter=0
|
||||
excluded_materials=[]
|
||||
historical=event_scope(meta,vid,collection)
|
||||
for paper in volume.findall('paper'):
|
||||
pid=paper.attrib['id']
|
||||
if int(pid)==0:
|
||||
frontmatter+=1
|
||||
continue
|
||||
identifier=paper_id(collection,vid,pid)
|
||||
reason=material_reason(collection,vid,paper)
|
||||
if reason:
|
||||
excluded_materials.append({'external_id':identifier,'title':text(paper.find('title')),'reason':reason})
|
||||
continue
|
||||
doi=text(paper.find('doi'))
|
||||
if doi.startswith('10.18653/v1/') and doi.split('10.18653/v1/',1)[1].casefold()!=identifier.casefold():
|
||||
raise ValueError('Official DOI disagrees with constructed Anthology ID: '+identifier)
|
||||
@@ -83,6 +93,8 @@ def collect_xml(path,out,commit):
|
||||
if not title:raise ValueError('Missing paper title: '+identifier)
|
||||
authors=[{'given':text(a.find('first')),'family':text(a.find('last'))} for a in paper.findall('author')]
|
||||
records.append({'source':'acl_anthology','external_id':identifier,'url':f'https://aclanthology.org/{identifier}/','title':title,'abstract':text(paper.find('abstract')) or None,'authors':authors,'identifiers':{'acl':identifier,'doi':doi},'venue':venue,'venue_aliases':aliases if len(aliases)>1 else [],'year':year,'track':track,'status':'accepted','raw_decision':'listed in authoritative ACL Anthology proceedings XML','metadata':{'collection':collection,'volume':vid,'booktitle':text(meta.find('booktitle')),'venue_codes':[text(n) for n in meta.findall('venue')],'pages':text(paper.find('pages')),'publisher':text(meta.find('publisher')),'metadata_commit':commit,'source_xml':f'https://github.com/acl-org/acl-anthology/blob/{commit}/data/xml/{collection}.xml'}})
|
||||
if historical:
|
||||
records[-1]['metadata']['historical_event_scope']=historical
|
||||
if not records:
|
||||
results.append({'volume':key,'status':'unavailable','reason':'no research paper elements after excluding front matter'})
|
||||
continue
|
||||
@@ -93,7 +105,7 @@ def collect_xml(path,out,commit):
|
||||
for record in records:output.write(json.dumps(record,ensure_ascii=False)+'\n')
|
||||
part.replace(target)
|
||||
missing=sum(not row['abstract'] for row in records)
|
||||
manifest={'source':'acl_anthology','venue':venue,'year':year,'track':track,'count':len(records),'xml_paper_elements':len(volume.findall('paper')),'excluded_frontmatter':frontmatter,'missing_abstract_count':missing,'list_url':f'https://aclanthology.org/{key}/','metadata_commit':commit,'file':str(target),'status':'partial' if missing else 'collected'}
|
||||
manifest={'source':'acl_anthology','venue':venue,'year':year,'track':track,'count':len(records),'xml_paper_elements':len(volume.findall('paper')),'excluded_frontmatter':frontmatter,'excluded_materials':excluded_materials,'missing_abstract_count':missing,'list_url':f'https://aclanthology.org/{key}/','metadata_commit':commit,'file':str(target),'status':'partial' if missing else 'collected'}
|
||||
target.with_suffix('.manifest.json').write_text(json.dumps(manifest,indent=2))
|
||||
results.append(manifest)
|
||||
print(json.dumps(manifest),flush=True)
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
"""Edition-specific historical scope; never alias every TINLAP year to ACL."""
|
||||
|
||||
HISTORY_URL = 'https://aclanthology.org/www.mt-archive.info/70/ACL-1982-Walker-1.pdf'
|
||||
NOTICE_URL = 'https://aclanthology.org/J77-4001.pdf'
|
||||
BOOK = 'Theoretical Issues in Natural Language Processing-2'
|
||||
MATERIAL_TITLE = 'List of questions suggested for consideration in each session'
|
||||
|
||||
|
||||
def text(node):
|
||||
return ' '.join(''.join(node.itertext()).split()) if node is not None else ''
|
||||
|
||||
|
||||
def event_scope(meta, volume, collection):
|
||||
if (collection, volume) != ('T78', '1'):
|
||||
return None
|
||||
if ([text(n) for n in meta.findall('venue')] != ['tinlap']
|
||||
or [text(n) for n in meta.findall('year')] != ['1978']
|
||||
or [text(n) for n in meta.findall('booktitle')] != [BOOK]
|
||||
or [(text(n.find('first')), text(n.find('last'))) for n in meta.findall('editor')]
|
||||
!= [('David L.', 'Waltz')]):
|
||||
raise ValueError('Reviewed T78-1 scope metadata changed; independent review required')
|
||||
return {
|
||||
'collection': 'T78', 'volume': '1', 'original_venue': 'TINLAP',
|
||||
'event_year': 1978, 'event_dates': ['1978-07-25', '1978-07-27'],
|
||||
'relationship': 'ACL annual meeting took the form of TINLAP-2',
|
||||
'canonical_venue': 'ACL+TINLAP', 'venue_aliases': ['ACL', 'TINLAP'],
|
||||
'track': 'proceedings_unspecified',
|
||||
'track_scope_note': 'Invited and submitted contributions are described at volume level; individual roles are not identified in XML.',
|
||||
'evidence': [
|
||||
{'url': NOTICE_URL, 'sha256': '14b5deb471c55afb07d789529b95d0462a2a1a77df3dfba7fa1f5d3ab75eb411',
|
||||
'pdf_pages': [9, 10], 'printed_pages': ['9', '10'],
|
||||
'scope': 'Contemporary annual meeting notice, not individual decision notes; ACM confirmation was pending in this notice.'},
|
||||
{'url': HISTORY_URL, 'sha256': '35c21bd4983975bcaccbb94bd8ab91c9019fc190feec1791255407cf18a7e49a',
|
||||
'pdf_pages': [3], 'printed_pages': ['91'],
|
||||
'scope': 'Retrospective annual meeting table and TNLP abbreviation confirm the 1978 event association.'},
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
def material_reason(collection, volume, paper):
|
||||
if (collection, volume, paper.attrib.get('id')) != ('T78', '1', '36'):
|
||||
return None
|
||||
if text(paper.find('title')) != MATERIAL_TITLE or paper.findall('author'):
|
||||
raise ValueError('Reviewed T78-1036 material changed; independent review required')
|
||||
return 'Session question list, not an authored research contribution; no decision inferred.'
|
||||
@@ -20,7 +20,7 @@ DTD_MD5='96e4283e71886dec2173718957293648'
|
||||
DTD_NAMES={'dblp.dtd','dblp-2023-06-28.dtd'}
|
||||
RELEASE='https://doi.org/10.4230/dblp.xml.2026-11-01'
|
||||
# Broad discovery candidates, including historical names; not a venue mapping.
|
||||
FAMILIES=set('nips icml iclr colm colt aistats uai clear acl emnlp naacl eacl coling conll cvpr iccv eccv aaai ijcai ecai kdd sigir www wsdm recsys cikm icdm sdm ecml pkdd ecmlpkdd icra iros rss corl aips icaps kr atal aamas icassp interspeech eurospeech icslp ismir miccai fat facct lrec'.split())
|
||||
FAMILIES=set('nips icml iclr colm colt aistats uai clear acl emnlp naacl eacl coling conll cvpr iccv eccv aaai ijcai ecai kdd sigir www wsdm recsys cikm icdm sdm ecml pkdd ecmlpkdd icra iros rss corl aips icaps ecp ewsp kr atal aamas icassp interspeech eurospeech icslp ismir miccai fat facct lrec mm mlsys'.split())
|
||||
|
||||
|
||||
def records(archive,dtd_bytes):
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
"""Exact predecessor volumes, with original names and independent family histories."""
|
||||
ECML_HISTORY = 'https://ecmlpkdd2011.org/pastConferences.php'
|
||||
ICAPS_HISTORY = 'https://www.icaps-conference.org/conference-series/'
|
||||
|
||||
# family/year: booktitle, original series, target family, publication year, full title
|
||||
VOLUMES = {
|
||||
('ecml', 1987): ('EWSL', 'EWSL', 'ECML-PKDD', 1987,
|
||||
'Progress in Machine Learning - Proceedings of EWSL 87: 2nd European Working Session on Learning, Bled, Yugoslavia, May 1987'),
|
||||
('ecml', 1988): ('EWSL', 'EWSL', 'ECML-PKDD', 1988,
|
||||
'Proceedings of the Third European Working Session on Learning, EWSL 1988, Turing Institute, Glasgow, UK, October 3-5, 1988'),
|
||||
('ecml', 1989): ('EWSL', 'EWSL', 'ECML-PKDD', 1989,
|
||||
'Proceedings of the 4th European Working Session on Learning, Montpellier, France, 4-6 December 1989'),
|
||||
('ecml', 1991): ('EWSL', 'EWSL', 'ECML-PKDD', 1991,
|
||||
'Machine Learning - EWSL-91, European Working Session on Learning, Porto, Portugal, March 6-8, 1991, Proceedings'),
|
||||
('aips', 1990): ('Expert Planning Systems', 'EPS', 'ICAPS', 1990,
|
||||
'Proceedings of the First International Conference on Expert Planning Systems, Brighton, UK, June 27-29, 1990'),
|
||||
('ecp', 1997): ('ECP', 'ECP', 'ICAPS', 1997,
|
||||
"Recent Advances in AI Planning, 4th European Conference on Planning, ECP'97, Toulouse, France, September 24-26, 1997, Proceedings"),
|
||||
('ecp', 1999): ('ECP', 'ECP', 'ICAPS', 2000,
|
||||
"Recent Advances in AI Planning, 5th European Conference on Planning, ECP'99, Durham, UK, September 8-10, 1999, Proceedings"),
|
||||
('ewsp', 1991): ('EWSP', 'EWSP', 'ICAPS', 1991,
|
||||
"European Workshop on Planning, EWSP '91, Sankt Augustin, Germany, March 18-19, 1991, Proceedings"),
|
||||
}
|
||||
|
||||
|
||||
def predecessor_scope(family, base, suffix, volume, year, title):
|
||||
definition = VOLUMES.get((family, year))
|
||||
if definition is None:
|
||||
return None
|
||||
book, original, target, publication_year, expected_title = definition
|
||||
if (suffix or base != book or volume['key'] != f'conf/{family}/{year}'
|
||||
or title != expected_title or volume['fields'].get('year') != [str(publication_year)]):
|
||||
return None
|
||||
return {'original_series': original, 'target_family': target,
|
||||
'history_url': ECML_HISTORY if target == 'ECML-PKDD' else ICAPS_HISTORY,
|
||||
'proceedings_key': volume['key'], 'proceedings_title': title,
|
||||
'event_year': year, 'proceedings_year_fields': list(volume['fields']['year'])}
|
||||
|
||||
|
||||
def missing_candidate_families(targets, families, through_year):
|
||||
# These two families were absent from the earlier narrowed candidate JSONL,
|
||||
# although their proceedings and volume_counts exist in the full catalogue.
|
||||
required = {family for (family, year), definition in VOLUMES.items()
|
||||
if family in ('ecp', 'ewsp') and definition[2] in targets and year <= through_year}
|
||||
return sorted(family for family in required if not families.get(family))
|
||||
@@ -15,16 +15,33 @@ from urllib.parse import parse_qs,unquote,urlsplit
|
||||
from paper_atlas.config import DEFAULT_REGISTRY
|
||||
from paper_atlas.collectors.dblp import XML_SHA,DTD_MD5,RELEASE,records
|
||||
from paper_atlas.collectors.dblp_scope import scope
|
||||
from paper_atlas.collectors.dblp_predecessors import missing_candidate_families
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
from paper_atlas.io.snapshots import digest_file
|
||||
from paper_atlas.io.publication_ids import mlsys_id
|
||||
|
||||
AS_OF='2026-11-01T00:00:00.000Z'
|
||||
FRONTMATTER=re.compile(r'(?:preface|foreword|editorial|welcome(?: message)?|organizing committee|program committee|title page|table of contents)[.!:]?',re.I)
|
||||
MATERIAL_PART=r'(?:title(?: page)?|preface|foreword|editorial|front\s?matter|back\s?matter|(?:table of )?contents|(?:author |subject )?index|contributors|(?:conference |program |organizing |steering )?committee|conference organization|reviewers)'
|
||||
FRONTMATTER=re.compile(MATERIAL_PART+r'(?:\s*[,;&]\s*'+MATERIAL_PART+r')*[.!:]?',re.I)
|
||||
HEADINGS=re.compile(r'(?:(?:IJCAI|AAAI)(?:[- ]\d{2,4})? |(?:19|20)\d{2} )?(?:conference )?(?:organization|organizers and sponsors|sponsorship|sponsors|(?:non-PC )?reviewers|awards and distinguished papers|keynote and invited speakers|area chairs and program committee|tutorials|panel session|invited talks|workshops|workshop summaries|special track on continuous planning)[.!:]?',re.I)
|
||||
|
||||
|
||||
def material_reason(title,authors,key,year,track):
|
||||
if FRONTMATTER.fullmatch(title):return 'frontmatter'
|
||||
if re.search(r"\bchairs['’]? welcome(?:\s*&\s*organization listing)?[.!:]?$",title,re.I):return 'frontmatter'
|
||||
if not authors:
|
||||
if HEADINGS.fullmatch(title) or re.fullmatch(r'(?:past IJCAI conferences|events colocated with IJCAI-\d{2}|welcome message from the conference chairs|welcome to (?:ICDM|IJCAI|AAAI) \d{4})[.!:]?',title,re.I):return 'proceedings_heading'
|
||||
# These anonymous synthetic entries name whole workshop events, rather
|
||||
# than identifiable papers. Hold them without discarding the raw source.
|
||||
if year==2019 and track=='companion' and re.fullmatch(r'conf/www/X19[a-z]?',key):return 'unverified_proceedings_material'
|
||||
return None
|
||||
|
||||
|
||||
def identifiers(fields):
|
||||
dois=set();arxiv=set();forums=set()
|
||||
dois=set();arxiv=set();forums=set();mlsys=set()
|
||||
for link in fields.get('ee',[]):
|
||||
if own_mlsys := mlsys_id(link):
|
||||
mlsys.add(own_mlsys)
|
||||
parsed=urlsplit(link);path=unquote(parsed.path)
|
||||
doi=None
|
||||
if parsed.netloc in ('doi.org','dx.doi.org','doi.ieeecomputersociety.org'):doi=path.lstrip('/')
|
||||
@@ -44,9 +61,10 @@ def identifiers(fields):
|
||||
if match:arxiv.add(re.sub(r'v\d+$','',match[1]))
|
||||
publications={doi for doi in dois if not doi.startswith('10.48550/arxiv.')}
|
||||
own={}
|
||||
for scheme,values in (('doi',publications),('arxiv',arxiv),('openreview',forums)):
|
||||
groups=(('doi',publications),('arxiv',arxiv),('openreview',forums),('publication_mlsys',mlsys))
|
||||
for scheme,values in groups:
|
||||
if len(values)==1:own[scheme]=next(iter(values))
|
||||
ambiguous={scheme:sorted(values) for scheme,values in (('doi',publications),('arxiv',arxiv),('openreview',forums)) if len(values)>1}
|
||||
ambiguous={scheme:sorted(values) for scheme,values in groups if len(values)>1}
|
||||
return own,ambiguous
|
||||
|
||||
|
||||
@@ -61,15 +79,24 @@ def normalize_row(row,volumes,targets,include_workshops=False,through_year=2026)
|
||||
titles=fields.get('title',[])
|
||||
if len(titles)!=1 or not titles[0].strip():return None,'missing_or_multiple_titles'
|
||||
title=' '.join(titles[0].split())
|
||||
if FRONTMATTER.fullmatch(title):return None,'frontmatter'
|
||||
own,ambiguous=identifiers(fields)
|
||||
authors=[re.sub(r'\s+\d{4}$','',name).strip() for name in fields.get('author',[]) if name.strip()]
|
||||
reason=material_reason(title,authors,row['key'],edition['year'],edition['track'])
|
||||
if reason:return None,reason
|
||||
own,ambiguous=identifiers(fields)
|
||||
metadata={'snapshot_sha256':XML_SHA,'snapshot_release':RELEASE,'observation_date_precision':'day',
|
||||
'proceedings_key':refs[0],'proceedings_title':edition['proceedings_title'],'bibliographic_year':edition['bibliographic_year'],
|
||||
'edition_year_basis':edition['edition_year_basis'],
|
||||
'scope_rule':edition['rule'],'author_names_raw':fields.get('author',[]),'publtype':row.get('publtype'),
|
||||
'bibliography':{key:value for key,value in fields.items() if key in ('booktitle','year','ee','url','pages','volume','number','publisher','series','isbn')},
|
||||
'ambiguous_identifiers':ambiguous,'publication_evidence':'inproceedings bibliography; not an original decision note'}
|
||||
if edition.get('historical_predecessor_evidence'):
|
||||
metadata['historical_predecessor_evidence'] = edition['historical_predecessor_evidence']
|
||||
if edition.get('joint_edition_evidence'):
|
||||
metadata['joint_edition_evidence'] = edition['joint_edition_evidence']
|
||||
if edition.get('track_scope_note'):
|
||||
metadata['track_scope_note']=edition['track_scope_note']
|
||||
if edition.get('track_scope_evidence_url'):
|
||||
metadata['track_scope_evidence_url']=edition['track_scope_evidence_url']
|
||||
flagged=bool(re.search(r'\b(?:withdrawn|retracted)\b',row.get('publtype') or '',re.I))
|
||||
result={'source':'dblp','external_id':row['key'],'url':'https://dblp.org/rec/'+row['key']+'.html',
|
||||
'title':title,'abstract':None,'authors':authors,'identifiers':own,
|
||||
@@ -96,6 +123,13 @@ def collect(catalogue,out,venues=None,candidates=None,archive=None,dtd=None,incl
|
||||
allowed={row['acronym'].casefold():row['acronym'] for row in json.loads(DEFAULT_REGISTRY.read_text())['venues']}
|
||||
if venues and set(name.casefold() for name in venues)-allowed.keys():raise ValueError('Unknown registry venue')
|
||||
targets={allowed[name.casefold()] for name in venues} if venues else set(allowed.values())
|
||||
if candidates:
|
||||
families = manifest.get('candidate_family_counts', {})
|
||||
missing = [venue for venue, family in [('MM', 'mm'), ('MLSys', 'mlsys')]
|
||||
if venue in targets and not families.get(family)]
|
||||
missing += ['ICAPS/'+family for family in missing_candidate_families(targets, families, through_year)]
|
||||
if missing:
|
||||
raise ValueError('Candidate file omits requested families ' + ', '.join(missing) + '; use the original --archive')
|
||||
out=Path(out);out.mkdir(parents=True,exist_ok=True)
|
||||
with (out/'dblp.normalize.lock').open('a') as lock:
|
||||
fcntl.flock(lock,fcntl.LOCK_EX|fcntl.LOCK_NB)
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
"""Explicit bibliographic aliases; a directory family alone is not venue evidence."""
|
||||
import re
|
||||
|
||||
from paper_atlas.collectors.dblp_predecessors import predecessor_scope
|
||||
|
||||
|
||||
# Ordered long/joint names precede their shorter forms.
|
||||
BOOKS = {
|
||||
@@ -27,15 +29,78 @@ BOOKS = {
|
||||
'pkdd':[('ECML/PKDD','ECML-PKDD',[]),('ECML PKDD','ECML-PKDD',[]),('PKDD','PKDD',['ECML-PKDD'])],
|
||||
'icra':[('ICRA','ICRA',[])], 'iros':[('IROS','IROS',[])],
|
||||
'rss':[('Robotics: Science and Systems','RSS',[])], 'corl':[('CoRL','CoRL',[])],
|
||||
'aips':[('ICAPS','ICAPS',[]),('AIPS','AIPS',['ICAPS'])], 'icaps':[('ICAPS','ICAPS',[])],
|
||||
'aips':[('ICAPS','ICAPS',[]),('AIPS','AIPS',['ICAPS']),('Expert Planning Systems','EPS',['ICAPS'])], 'icaps':[('ICAPS','ICAPS',[])],
|
||||
'ecp':[('ECP','ECP',['ICAPS'])], 'ewsp':[('EWSP','EWSP',['ICAPS'])],
|
||||
'kr':[('KR','KR',[])], 'atal':[('AAMAS','AAMAS',[])],
|
||||
'icassp':[('ICASSP','ICASSP',[])],
|
||||
'interspeech':[('INTERSPEECH','INTERSPEECH',[]),('EUROSPEECH','EUROSPEECH',['INTERSPEECH']),('ICSLP','ICSLP',['INTERSPEECH']),('ECST','ECST',['INTERSPEECH'])],
|
||||
'ismir':[('ISMIR','ISMIR',[])], 'miccai':[('MICCAI','MICCAI',[])],
|
||||
'fat':[('FAccT','FAccT',[]),('FAT*','FAccT',[]),('FAT','FAccT',[])],
|
||||
'mm':[('ACM Multimedia','MM',['ACMMM','ACM MM'])],
|
||||
'mlsys':[('MLSys','MLSys',[]),('SysML','MLSys',['SysML'])],
|
||||
}
|
||||
|
||||
|
||||
# These are the historical primary series themselves, not co-located workshops.
|
||||
# Exact proceedings keys, original names, ordinals and event years must agree.
|
||||
HISTORICAL_WORKSHOP_TITLES = {
|
||||
**{('aistats', year): prefix + ordinal + ' International Workshop on Artificial Intelligence and Statistics'
|
||||
for year, ordinal, prefix in [
|
||||
(1995, 'Fifth', 'Learning from Data - '),
|
||||
(1997, 'Sixth', 'Proceedings of the '),
|
||||
(1999, 'Seventh', 'Proceedings of the '),
|
||||
(2001, 'Eighth', 'Proceedings of the '),
|
||||
(2003, 'Ninth', 'Proceedings of the '),
|
||||
(2005, 'Tenth', 'Proceedings of the ')]},
|
||||
**{('colt', year): 'Proceedings of the ' + ordinal + ' Annual Workshop on Computational Learning Theory'
|
||||
for year, ordinal in [(1988, 'First'), (1989, 'Second'), (1990, 'Third'), (1991, 'Fourth')]},
|
||||
}
|
||||
|
||||
|
||||
# Exact pinned volume titles corroborated by official series histories. The
|
||||
# original title (including Workshop) remains in source metadata. In particular
|
||||
# ML91 has no four-digit year in its title; its exact key/title and bibliographic
|
||||
# year are checked independently, rather than guessing a title year.
|
||||
HISTORICAL_PRIMARY_EVIDENCE = {
|
||||
'icml': ('ML', 'https://icml.cc/Conferences/2008/past_icmls.shtml.html'),
|
||||
'iros': ('IROS', 'https://www.ieee-ras.org/conferences-workshops/financially-co-sponsored/iros/iros-past-and-future-venues/'),
|
||||
}
|
||||
HISTORICAL_PRIMARY_TITLES = {
|
||||
('icml', 1988): 'Machine Learning, Proceedings of the Fifth International Conference on Machine Learning, Ann Arbor, Michigan, USA, June 12-14, 1988',
|
||||
('icml', 1989): 'Proceedings of the Sixth International Workshop on Machine Learning (ML 1989), Cornell University, Ithaca, New York, USA, June 26-27, 1989',
|
||||
('icml', 1990): 'Machine Learning, Proceedings of the Seventh International Conference on Machine Learning, Austin, Texas, USA, June 21-23, 1990',
|
||||
('icml', 1991): 'Proceedings of the Eighth International Workshop (ML91), Northwestern University, Evanston, Illinois, USA',
|
||||
('icml', 1992): 'Proceedings of the Ninth International Workshop on Machine Learning (ML 1992), Aberdeen, Scotland, UK, July 1-3, 1992',
|
||||
('iros', 1988): "IEEE International Workshop on Intelligent Robots and Systems '88, Proceedings. IROS 1988, Tokyo, Japan, October 31 - November 2, 1988",
|
||||
('iros', 1989): "IEEE International Workshop on Intelligent Robots and Systems '89, Proceedings. IROS 1989, September 4-6, 1989, Tsukuba, Japan",
|
||||
('iros', 1990): "IEEE International Workshop on Intelligent Robots and Systems '90, Towards a New Frontier of Applications, Proceedings. IROS 1990, July 3-6, 1990, Ibaraki, Japan",
|
||||
}
|
||||
|
||||
|
||||
def historical_track(family, base, suffix, volume_key, year, title):
|
||||
primary = HISTORICAL_PRIMARY_EVIDENCE.get(family)
|
||||
if (primary and not suffix and base.casefold() == primary[0].casefold()
|
||||
and volume_key == f'conf/{family}/{year}'
|
||||
and title == HISTORICAL_PRIMARY_TITLES.get((family, year))):
|
||||
return ('main',
|
||||
'Historical primary series; exact proceedings key, complete title and bibliographic/event year corroborated by official series history. Workshop in this original title is not an affiliated track.',
|
||||
primary[1])
|
||||
if suffix or base.casefold() != family or volume_key != f'conf/{family}/{year}':
|
||||
return None
|
||||
prefix = HISTORICAL_WORKSHOP_TITLES.get((family, year))
|
||||
if (prefix and title.casefold().startswith(prefix.casefold() + ',')
|
||||
and re.search(r'\b' + str(year) + r'\b', title)):
|
||||
url = 'https://aistats.org/other.html' if family == 'aistats' else 'https://www.learningtheory.org/'
|
||||
return ('main', 'Historical primary series named Workshop; exact proceedings key, ordinal, title and event year verified.', url)
|
||||
if (family == 'colt' and year == 2003
|
||||
and title.startswith('Computational Learning Theory and Kernel Machines, 16th Annual Conference on Computational Learning Theory and 7th Kernel Workshop, COLT/Kernel 2003,')
|
||||
and title.endswith('Proceedings')):
|
||||
return ('proceedings_unspecified',
|
||||
'Combined COLT 2003 and Kernel Workshop volume; per-paper section absent from DBLP XML. Do not infer a main or workshop track.',
|
||||
'https://doi.org/10.1007/b12006')
|
||||
return None
|
||||
|
||||
|
||||
def scope(row,volume,through_year=2026):
|
||||
fields=row['fields'];books=fields.get('booktitle',[])
|
||||
if len(books)!=1:return None,'ambiguous_booktitle'
|
||||
@@ -45,6 +110,7 @@ def scope(row,volume,through_year=2026):
|
||||
if not volume:return None,'missing_proceedings'
|
||||
title=' '.join(volume['fields'].get('title',[]))
|
||||
if family=='clear2' and 'causal learning and reasoning' not in title.casefold():return None,'ambiguous_venue_name'
|
||||
if family=='mlsys' and 'machine learning and systems' not in title.casefold():return None,'ambiguous_venue_name'
|
||||
matched=None
|
||||
for base,venue,aliases in BOOKS[family]:
|
||||
match=re.fullmatch(re.escape(base)+r'(?:\s+\((.*)\)|\s+(.*)|,\s*(Vol\.\s*\d+))?',book,re.I)
|
||||
@@ -67,11 +133,18 @@ def scope(row,volume,through_year=2026):
|
||||
if year%100!=int(short[1]):return None,'unverified_edition_year'
|
||||
year_basis='unique explicit event year in proceedings title, corroborated by two-digit proceedings key'
|
||||
if year>through_year:return None,'future_edition'
|
||||
if venue=='MLSys' and year<2019:return None,'nonarchival_predecessor'
|
||||
bibliographic=fields.get('year',[])
|
||||
if len(bibliographic)!=1 or not re.fullmatch(r'\d{4}',bibliographic[0]):return None,'ambiguous_bibliographic_year'
|
||||
if int(bibliographic[0])!=year and not re.search(r'\b'+str(year)+r'\b',title):return None,'unverified_year_difference'
|
||||
text=(suffix+' '+title).casefold();track='main'
|
||||
if 'findings' in text:track='findings'
|
||||
predecessor = predecessor_scope(family, base, suffix, volume, year, title)
|
||||
if (family in ('ecp', 'ewsp') or (family == 'aips' and base == 'Expert Planning Systems')) and not predecessor:
|
||||
return None, 'unverified_historical_predecessor'
|
||||
historical = (('main', 'Historical predecessor; exact volume, full title, event and publication years verified; original series retained.', predecessor['history_url'])
|
||||
if predecessor else historical_track(family, base, suffix, volume['key'], year, title))
|
||||
if historical:track=historical[0]
|
||||
elif 'findings' in text:track='findings'
|
||||
elif 'shared task' in text:track='shared_task'
|
||||
elif 'student research' in text or 'workshop' in text or 'wokshop' in text or base in ('ICCVW','EWSL'):track='workshop'
|
||||
elif ('demo track' in text and ('industrial track' in text or 'applied data science track' in text)):track='proceedings_unspecified'
|
||||
@@ -92,5 +165,23 @@ def scope(row,volume,through_year=2026):
|
||||
elif suffix.casefold() in ('poster','posters') and venue not in ('ICLR','ACL','EMNLP','NAACL','EACL','COLING','CoNLL'):track='poster'
|
||||
if venue=='AAAI+IAAI':track='proceedings_unspecified'
|
||||
if venue=='AAMAS' and year<2002:return None,'predecessor_not_aamas'
|
||||
return {'venue':venue,'venue_aliases':aliases,'year':year,'track':track,'bibliographic_year':int(bibliographic[0]),
|
||||
'rule':family+':'+base,'proceedings_title':title,'edition_year_basis':year_basis},None
|
||||
joint_evidence = None
|
||||
if (family == 'ijcai' and base == 'IJCAI' and track == 'main'
|
||||
and year in (2018, 2022) and volume['key'] == 'conf/ijcai/' + str(year)):
|
||||
venue, aliases = 'ECAI+IJCAI', ['ECAI', 'IJCAI']
|
||||
joint_evidence = 'https://www.eurai.org/ecai/history'
|
||||
result = {'venue':venue,'venue_aliases':aliases,'year':year,'track':track,'bibliographic_year':int(bibliographic[0]),
|
||||
'rule':family+':'+base,'proceedings_title':title,'edition_year_basis':year_basis}
|
||||
if predecessor:
|
||||
result['historical_predecessor_evidence'] = predecessor
|
||||
if joint_evidence:
|
||||
result['joint_edition_evidence'] = joint_evidence
|
||||
if historical:
|
||||
result['track_scope_note'] = historical[1]
|
||||
result['track_scope_evidence_url'] = historical[2]
|
||||
if venue=='MM' and track=='main':
|
||||
# A main MM volume also includes doctoral, tutorials, companion papers
|
||||
# and other sections. DBLP XML omits the per-paper TOC section.
|
||||
result['track']='proceedings_unspecified'
|
||||
result['track_scope_note']='Main proceedings volume; per-paper section is absent from the bibliography. Do not infer a regular research track.'
|
||||
return result,None
|
||||
|
||||
@@ -141,6 +141,10 @@ def parse_program(data, abstracts, year, index_url):
|
||||
external = f'{year}/{forum}' if forum else f'{year}/program-{identity[1]}'
|
||||
missing_identity += not bool(forum)
|
||||
page = urljoin(ROOT, primary.get('virtualsite_url') or f'/virtual/{year}/{str(primary.get("eventtype", "Poster")).lower()}/{primary["id"]}')
|
||||
if year == 2020 and not primary.get('virtualsite_url'):
|
||||
# Numeric modern event IDs do not identify legacy poster pages.
|
||||
# The independently verified forum bridge supplies the paper URL.
|
||||
page = index_url
|
||||
topics = sorted({str(row['topic']).strip() for row in group if row.get('topic')})
|
||||
keywords = sorted({str(keyword).strip() for row in group for keyword in row.get('keywords', []) if keyword})
|
||||
records.append({'source': SOURCE, 'external_id': external, 'url': page,
|
||||
|
||||
@@ -0,0 +1,225 @@
|
||||
"""Frozen official ICLR 2014–2016 lists; presentation evidence is not a track."""
|
||||
import argparse
|
||||
from collections import Counter, defaultdict
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import tempfile
|
||||
from urllib.parse import urlsplit
|
||||
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
from paper_atlas.io.html import Document, Node, clean
|
||||
from paper_atlas.io.http import fetch
|
||||
|
||||
SOURCE = 'iclr_archive'
|
||||
PAGES = {
|
||||
2014: ('https://iclr.cc/archive/2014/conference-proceedings/', {'main': 35}),
|
||||
2015: ('https://iclr.cc/archive/www/doku.php%3Fid=iclr2015:accepted-main.html', {'main': 31, 'workshop': 74}),
|
||||
2016: ('https://iclr.cc/archive/www/doku.php%3Fid=iclr2016:accepted-main.html', {'main': 80}),
|
||||
}
|
||||
SECTIONS = {
|
||||
2015: {'Main Conference - Oral Presentations': ('main', 'oral'),
|
||||
'Main Conference - Poster Presentations': ('main', 'poster'),
|
||||
'Workshop Papers': ('workshop', 'workshop')},
|
||||
2016: {'Oral Presentations': ('main', 'oral'), 'Poster Presentations': ('main', 'poster')},
|
||||
}
|
||||
|
||||
|
||||
def arxiv_link(url):
|
||||
parsed = urlsplit(url)
|
||||
if parsed.hostname != 'arxiv.org':
|
||||
return None
|
||||
match = re.fullmatch(r'/(?:abs|pdf)/(\d{4}\.\d{4,5})(v[1-9]\d*)?(?:\.pdf)?', parsed.path)
|
||||
if (parsed.scheme not in ('http', 'https') or parsed.netloc != 'arxiv.org'
|
||||
or parsed.query or parsed.fragment or not match):
|
||||
raise ValueError('Unexpected official arXiv link')
|
||||
return match[1], match[2] or None
|
||||
|
||||
|
||||
def without_links(node):
|
||||
if node.tag in ('a', 'script', 'style'):
|
||||
return ''
|
||||
value = ''.join(without_links(n) if isinstance(n, Node) else n for n in node.children)
|
||||
return ' '+value+' ' if node.tag in ('div', 'li', 'p', 'br') else value
|
||||
|
||||
|
||||
def authors(display, year):
|
||||
parts = display.rstrip(';').split(';') if year == 2014 else re.split(r',\s*(?:and\s+)?|\s+and\s+', display)
|
||||
names = [clean(p) for p in parts]
|
||||
if not names or any(not name for name in names):
|
||||
raise ValueError('Missing author or unsupported author delimiter')
|
||||
return names
|
||||
|
||||
|
||||
def parse_page(html, year, evidence):
|
||||
if year not in PAGES:
|
||||
raise ValueError('Unreviewed ICLR archive year')
|
||||
document = Document(html)
|
||||
nodes = list(document.root.walk())
|
||||
headings = [clean(n.text()) for n in nodes if n.tag in ('h1', 'h2', 'h3')]
|
||||
if year == 2014:
|
||||
if 'Conference Proceedings' not in headings or 'conference papers accepted' not in clean(document.root.text()):
|
||||
raise ValueError('Unexpected ICLR 2014 accepted list')
|
||||
elif (set(SECTIONS[year]) - set(headings)
|
||||
or (year == 2016 and 'Accepted Papers (Conference Track)' not in headings)):
|
||||
raise ValueError('Unexpected ICLR accepted sections')
|
||||
entries = []
|
||||
section = None
|
||||
for index, node in enumerate(nodes):
|
||||
if node.tag in ('h1', 'h2', 'h3'):
|
||||
section = clean(node.text())
|
||||
if year == 2014:
|
||||
if node.tag != 'a' or not arxiv_link(node.attrs.get('href', '')):
|
||||
continue
|
||||
link = node
|
||||
# This archived Google Sites page has an entry outside a paragraph.
|
||||
# Authors can span several differently formatted italic spans.
|
||||
# Read their whole paragraph, never only the first styled fragment.
|
||||
display = None
|
||||
for following in nodes[index+sum(1 for _ in link.walk()):]:
|
||||
if following.tag == 'a' and arxiv_link(following.attrs.get('href', '')):
|
||||
break
|
||||
if following.tag in ('i', 'em') or (following.tag == 'p' and any(
|
||||
n.tag in ('i', 'em') or 'font-style:italic' in n.attrs.get('style', '').replace(' ', '')
|
||||
for n in following.walk())):
|
||||
text = clean(following.text())
|
||||
if text:
|
||||
display = text
|
||||
break
|
||||
if not display:
|
||||
raise ValueError('Missing explicit ICLR 2014 author span')
|
||||
track, presentation = 'main', 'conference'
|
||||
else:
|
||||
if node.tag != 'li':
|
||||
continue
|
||||
links = [n for n in node.walk() if n.tag == 'a' and arxiv_link(n.attrs.get('href', ''))]
|
||||
if not links:
|
||||
continue
|
||||
if len(links) != 1 or section not in SECTIONS[year]:
|
||||
raise ValueError('Ambiguous paper link or unknown accepted section')
|
||||
link, = links
|
||||
display = clean(without_links(node)).lstrip(',').strip()
|
||||
track, presentation = SECTIONS[year][section]
|
||||
arxiv, version = arxiv_link(link.attrs['href'])
|
||||
title = clean(link.text())
|
||||
if not title:
|
||||
raise ValueError('Empty official title')
|
||||
entries.append({'arxiv': arxiv, 'version': version, 'title': title,
|
||||
'authors': authors(display, year), 'authors_display': display,
|
||||
'paper_url': link.attrs['href'], 'track': track,
|
||||
'section': section, 'presentation': presentation})
|
||||
# Check every arXiv occurrence, including links outside the expected layout.
|
||||
occurrences = sum(n.tag == 'a' and bool(arxiv_link(n.attrs.get('href', ''))) for n in nodes)
|
||||
if len(entries) != occurrences or not entries:
|
||||
raise ValueError('Some official paper links were not parsed')
|
||||
grouped = defaultdict(list)
|
||||
for entry in entries:
|
||||
grouped[(entry['track'], entry['arxiv'])].append(entry)
|
||||
result = []
|
||||
for (track, arxiv), variants in grouped.items():
|
||||
first = variants[0]
|
||||
if any((v['title'], v['authors']) != (first['title'], first['authors']) for v in variants):
|
||||
raise ValueError('Repeated presentation has conflicting title or authors; review required')
|
||||
presentations = sorted({v['presentation'] for v in variants})
|
||||
result.append({'source': SOURCE, 'external_id': f'{year}/{track}/{arxiv}',
|
||||
'url': PAGES[year][0], 'title': first['title'], 'abstract': None,
|
||||
'authors': first['authors'], 'identifiers': {'arxiv': arxiv},
|
||||
'venue': 'ICLR', 'venue_aliases': [], 'year': year, 'track': track,
|
||||
'status': 'accepted', 'observed_at': evidence['observed_at'],
|
||||
'raw_decision': 'listed in official ICLR accepted '+track+' list',
|
||||
'metadata': {'source_evidence': evidence, 'source_variants': variants,
|
||||
'presentations': presentations, 'decision_date_precision': 'not_supplied',
|
||||
'identity_note': 'Official arXiv link, not title matching; validate canonical identity before import.',
|
||||
'decision_evidence': 'Archived accepted list, not an original decision note.'},
|
||||
'tags': [{'namespace': SOURCE+':presentation', 'value': value} for value in presentations]})
|
||||
return result
|
||||
|
||||
|
||||
def read_page(year, *, cache=None, snapshots=None):
|
||||
if bool(cache) == bool(snapshots):
|
||||
raise ValueError('Choose exactly one cache or frozen snapshot directory')
|
||||
url = PAGES[year][0]
|
||||
if snapshots:
|
||||
root = Path(snapshots).resolve()
|
||||
receipts = json.loads((root/'receipts.json').read_bytes())['receipts']
|
||||
matches = [r for r in receipts if r['url'] == url]
|
||||
if len(matches) != 1:
|
||||
raise ValueError('Expected one exact official response receipt')
|
||||
receipt, = matches
|
||||
filename = Path(receipt['file'])
|
||||
path = root/filename
|
||||
if (filename.is_absolute() or '..' in filename.parts or not path.resolve().is_relative_to(root)
|
||||
or receipt['status'] != 200):
|
||||
raise ValueError('Unsafe or unsuccessful archive snapshot')
|
||||
data = path.read_bytes()
|
||||
if (len(data) > 8*1024**2 or len(data) != receipt['bytes']
|
||||
or hashlib.sha256(data).hexdigest() != receipt['sha256']):
|
||||
raise ValueError('Archive snapshot checksum or size differs')
|
||||
observed = timestamp(receipt['finished_at'])
|
||||
else:
|
||||
data = fetch(url, cache, 8*1024**2, delay=1)
|
||||
receipt = json.loads((Path(cache)/hashlib.sha256(url.encode()).hexdigest()).with_suffix('.json').read_bytes())
|
||||
observed = timestamp(receipt['retrieved_at'])
|
||||
evidence = {'url': url, 'sha256': hashlib.sha256(data).hexdigest(), 'bytes': len(data),
|
||||
'file': 'evidence/'+hashlib.sha256(data).hexdigest()+'.html',
|
||||
'observed_at': observed, 'http_status': 200, 'response_receipt': receipt}
|
||||
return data, evidence
|
||||
|
||||
|
||||
def collect(year, out, *, cache=None, snapshots=None):
|
||||
if year not in PAGES:
|
||||
raise ValueError('Only independently reviewed ICLR archive years are supported')
|
||||
out = Path(out)
|
||||
out.mkdir(parents=True, exist_ok=True)
|
||||
with (out/'iclr-archive.collect.lock').open('a') as lock:
|
||||
fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
report = out/f'iclr-archive-{year}.json'
|
||||
if report.exists():
|
||||
raise FileExistsError('Existing completed archive output must be inspected, not overwritten')
|
||||
data, evidence = read_page(year, cache=cache, snapshots=snapshots)
|
||||
records = parse_page(data.decode('utf-8'), year, evidence)
|
||||
counts = Counter(r['track'] for r in records)
|
||||
if dict(counts) != PAGES[year][1]:
|
||||
raise ValueError('Distinct archive entries differ from reviewed inventory')
|
||||
files = []
|
||||
with tempfile.TemporaryDirectory(prefix='.iclr-archive-', dir=out) as temporary:
|
||||
stage = Path(temporary)
|
||||
(stage/'evidence').mkdir()
|
||||
(stage/evidence['file']).write_bytes(data)
|
||||
for track in sorted(counts):
|
||||
group = [r for r in records if r['track'] == track]
|
||||
path = stage/f'iclr-archive-{year}-{track}.jsonl'
|
||||
path.write_text(''.join(json.dumps(r, ensure_ascii=False)+'\n' for r in group))
|
||||
manifest = {'source': SOURCE, 'parser_version': 1, 'venue': 'ICLR', 'year': year,
|
||||
'track': track, 'count': len(group), 'file': str(out/path.name),
|
||||
'file_sha256': hashlib.sha256(path.read_bytes()).hexdigest(),
|
||||
'list_url': PAGES[year][0], 'status': 'partial', 'missing_abstract_count': len(group)}
|
||||
path.with_suffix('.manifest.json').write_text(json.dumps(manifest, ensure_ascii=False, indent=2)+'\n')
|
||||
files.append(manifest)
|
||||
result = {'source': SOURCE, 'year': year, 'records': len(records), 'files': files,
|
||||
'source_evidence': evidence, 'database_written': False, 'pdfs_downloaded': False,
|
||||
'status': 'collected_pending_identity_review',
|
||||
'note': 'Accepted list only. Oral/poster are presentation evidence; absent papers are not rejected. '
|
||||
'ICLR2014 workshop and other unlisted tracks remain outside these reviewed pages.'}
|
||||
(stage/report.name).write_text(json.dumps(result, ensure_ascii=False, indent=2)+'\n')
|
||||
(out/'evidence').mkdir(exist_ok=True)
|
||||
for path in (stage/'evidence').iterdir():
|
||||
path.replace(out/'evidence'/path.name)
|
||||
for path in stage.iterdir():
|
||||
if path.is_file() and path.name != report.name:
|
||||
path.replace(out/path.name)
|
||||
(stage/report.name).replace(report)
|
||||
return result
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
parser.add_argument('--year', type=int, choices=sorted(PAGES), required=True)
|
||||
parser.add_argument('--out', required=True)
|
||||
source = parser.add_mutually_exclusive_group(required=True)
|
||||
source.add_argument('--cache')
|
||||
source.add_argument('--snapshots')
|
||||
args = parser.parse_args(argv)
|
||||
print(json.dumps(collect(args.year, args.out, cache=args.cache, snapshots=args.snapshots), ensure_ascii=False))
|
||||
@@ -0,0 +1,125 @@
|
||||
"""ICML 2026 public submission roots with explicit Rejected_Submission IDs."""
|
||||
import argparse
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import shutil
|
||||
import tempfile
|
||||
|
||||
from paper_atlas.collectors.openreview import date_ms, invitations, public, value
|
||||
from paper_atlas.collectors.public_openreview import download
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
|
||||
|
||||
SOURCE = 'openreview_public_archive'
|
||||
REVISION = '1a1b9d973a8dfbf254f740fb8100a2fcf36757ea'
|
||||
AS_OF = '2026-08-08T12:03:26.000Z'
|
||||
URL = 'https://raw.githubusercontent.com/HemantKumar01/ICML-2026-data/' + REVISION + '/data/rejected.json'
|
||||
BLOB_SHA1 = 'cebdcddffe3eb2145d32d328db89a1626e3f85eb'
|
||||
BYTES = 1600856
|
||||
EXPECTED = 214
|
||||
DOMAIN = 'ICML.cc/2026/Conference'
|
||||
VENUEID = DOMAIN + '/Rejected_Submission'
|
||||
|
||||
|
||||
def normalize(note):
|
||||
forum = note.get('id')
|
||||
if not isinstance(forum, str) or not re.fullmatch(r'[A-Za-z0-9_-]{8,32}', forum) or note.get('forum') != forum:
|
||||
raise ValueError('Not a public submission root with a real forum identity')
|
||||
if not public(note) or note.get('ddate'):
|
||||
raise ValueError('Submission is not explicitly public and live in the archive')
|
||||
if note.get('domain') != DOMAIN or DOMAIN + '/-/Submission' not in invitations(note):
|
||||
raise ValueError('Submission is outside the ICML 2026 conference track')
|
||||
content = note.get('content') or {}
|
||||
if value(content, 'venueid') != VENUEID:
|
||||
raise ValueError('Missing explicit platform Rejected_Submission classification')
|
||||
title, abstract = value(content, 'title'), value(content, 'abstract')
|
||||
if not isinstance(title, str) or not title.strip():
|
||||
raise ValueError('Submission lacks a title')
|
||||
if abstract is not None and not isinstance(abstract, str):
|
||||
raise ValueError('Submission abstract must be text')
|
||||
authors = value(content, 'authors', []) or []
|
||||
if not isinstance(authors, list):
|
||||
raise ValueError('Unexpected public author format')
|
||||
authors = [a.strip() for a in authors if isinstance(a, str) and a.strip() and '@' not in a
|
||||
and not re.fullmatch(r'anonymous(?: authors?)?', a.strip(), re.I)]
|
||||
tags = []
|
||||
for field in ('keywords', 'primary_area'):
|
||||
raw = value(content, field)
|
||||
terms = raw if isinstance(raw, list) else re.split(r'[,;]', raw) if field == 'keywords' and isinstance(raw, str) else [raw]
|
||||
tags.extend({'namespace': SOURCE + ':' + field, 'value': term.strip()}
|
||||
for term in terms if isinstance(term, str) and term.strip())
|
||||
url = 'https://openreview.net/forum?id=' + forum
|
||||
return {'source': SOURCE, 'external_id': 'icml/2026/' + forum, 'url': url,
|
||||
'title': ' '.join(title.split()), 'abstract': abstract.strip() if abstract else None,
|
||||
'authors': authors, 'identifiers': {'openreview': forum},
|
||||
'submission_identifiers': [{'scheme': 'openreview', 'value': forum}],
|
||||
'venue': 'ICML', 'year': 2026, 'track': 'main', 'status': 'rejected',
|
||||
'raw_decision': VENUEID, 'evidence_url': url, 'observed_at': AS_OF,
|
||||
'submitted_at': date_ms(note.get('cdate') or note.get('tcdate')), 'tags': tags,
|
||||
'metadata': {'source_revision': REVISION, 'source_blob_sha1': BLOB_SHA1,
|
||||
'source_file': URL, 'original_forum': forum, 'license': note.get('license'),
|
||||
'venue': value(content, 'venue'), 'venueid': VENUEID,
|
||||
'public_readers_verified': True, 'original_invitations': invitations(note),
|
||||
'source_note_modified_at': date_ms(note.get('mdate')),
|
||||
'evidence_kind': 'public_submission_venueid',
|
||||
'original_decision_signature_verified': False,
|
||||
'source_snapshot_upper_bound': AS_OF}}
|
||||
|
||||
|
||||
def collect(out, fetcher=None):
|
||||
fetcher = fetcher or download
|
||||
out = Path(out)
|
||||
out.mkdir(parents=True, exist_ok=True)
|
||||
with (out / 'collect.lock').open('a') as lock:
|
||||
fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
if (out / 'public-openreview-inventory.json').exists():
|
||||
raise ValueError('Completed inventory exists; select a new output directory')
|
||||
if shutil.disk_usage(out).free < 8 * 1024**3:
|
||||
raise RuntimeError('Less than 8 GiB free before collection')
|
||||
data = fetcher(URL, BYTES)
|
||||
blob = hashlib.sha1(b'blob ' + str(len(data)).encode() + b'\0' + data).hexdigest()
|
||||
if len(data) != BYTES or blob != BLOB_SHA1:
|
||||
raise ValueError('Public archive checksum mismatch')
|
||||
archive = json.loads(data)
|
||||
notes = archive['notes']
|
||||
if archive.get('count') != EXPECTED or not isinstance(notes, list) or len(notes) != EXPECTED:
|
||||
raise ValueError('Public archive inventory count mismatch')
|
||||
records = [normalize(note) for note in notes]
|
||||
if len({row['identifiers']['openreview'] for row in records}) != EXPECTED:
|
||||
raise ValueError('Repeated submission forum in public archive')
|
||||
records.sort(key=lambda row: row['external_id'])
|
||||
with tempfile.TemporaryDirectory(prefix='.icml-public-', dir=out) as temporary:
|
||||
stage = Path(temporary)
|
||||
path = stage / 'public-openreview-icml-2026-main.jsonl'
|
||||
path.write_text(''.join(json.dumps(row, ensure_ascii=False) + '\n' for row in records))
|
||||
manifest = {'source': SOURCE, 'parser_version': 1, 'venue': 'ICML', 'year': 2026,
|
||||
'track': 'main', 'count': EXPECTED, 'status': 'partial', 'list_url': URL,
|
||||
'file': str(out / path.name), 'file_sha256': hashlib.sha256(path.read_bytes()).hexdigest(),
|
||||
'source_revision': REVISION, 'missing_abstract_count': sum(not row['abstract'] for row in records),
|
||||
'evidence_kind': 'public_submission_venueid',
|
||||
'note': 'Public opt-in subset; explicit platform venueid, not original signed PC notes.'}
|
||||
path.with_suffix('.manifest.json').write_text(json.dumps(manifest, indent=2) + '\n')
|
||||
result = {'source': SOURCE, 'revision': REVISION, 'finished_at': timestamp(),
|
||||
'input_rows': EXPECTED, 'normalized_records': EXPECTED, 'files': [manifest],
|
||||
'source_files': [{'url': URL, 'git_blob_sha1': blob, 'input_bytes': len(data)}],
|
||||
'note': 'Snapshot preserves per-note public visibility and licenses; no reviews, authorids or PDFs retained.'}
|
||||
inventory = stage / 'public-openreview-inventory.json'
|
||||
inventory.write_text(json.dumps(result, indent=2) + '\n')
|
||||
for child in sorted(stage.iterdir(), key=lambda child: child == inventory):
|
||||
child.replace(out / child.name)
|
||||
print(json.dumps(result), flush=True)
|
||||
return result
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
parser.add_argument('--out', required=True)
|
||||
args = parser.parse_args(argv)
|
||||
collect(args.out)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,5 +1,7 @@
|
||||
"""Collect official PMLR metadata, never the PDFs linked by the metadata."""
|
||||
import argparse
|
||||
from collections import defaultdict
|
||||
import hashlib
|
||||
from paper_atlas.config import DEFAULT_REGISTRY
|
||||
import io
|
||||
import json
|
||||
@@ -8,6 +10,7 @@ import os
|
||||
import subprocess
|
||||
import tarfile
|
||||
import time
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
@@ -37,6 +40,7 @@ def venue_key(shortname):
|
||||
|
||||
|
||||
from paper_atlas.io.http import fetch
|
||||
from paper_atlas.collectors.pmlr_tracks import collect_track_evidence, record_track
|
||||
|
||||
|
||||
def metadata_texts(volume,cache):
|
||||
@@ -98,57 +102,88 @@ def collect_volume(volume,cache,out,allowed=None):
|
||||
track = 'workshop' if 'workshop' in title.lower() else 'main'
|
||||
path = Path(out)/f'pmlr-v{volume}.jsonl'
|
||||
path.parent.mkdir(parents=True,exist_ok=True)
|
||||
part = path.with_suffix('.part')
|
||||
mixed_icml = venue == 'ICML' and year >= 2024
|
||||
mapping, track_program = collect_track_evidence(year, cache) if mixed_icml else ({}, None)
|
||||
records = {}
|
||||
duplicate_posts = 0
|
||||
with part.open('w') as output:
|
||||
for member_name,content in metadata_texts(volume,cache):
|
||||
parts = re.split(r'(?m)^---\s*$',content,maxsplit=2)
|
||||
if len(parts)<3 or parts[0].strip():
|
||||
raise RuntimeError('Missing YAML frontmatter: '+member_name)
|
||||
row = load_metadata(parts[1])
|
||||
if row.get('layout') not in ('inproceedings','article'):
|
||||
continue
|
||||
if not row.get('title'):
|
||||
raise ValueError('Paper metadata has no title: '+member_name)
|
||||
if not row.get('id'):
|
||||
raise ValueError('Paper metadata has no publication ID: '+member_name)
|
||||
external = f"v{volume}/{row['id']}"
|
||||
ids = {}
|
||||
for key in ('doi','openreview','arxiv'):
|
||||
value = row.get(key)
|
||||
if value:
|
||||
value = str(value)
|
||||
if key=='arxiv':
|
||||
value = re.sub(r'^https?://arxiv.org/(abs|pdf)/','',value).removesuffix('.pdf')
|
||||
if key=='openreview':
|
||||
value = value.split('id=')[-1].split('&')[0]
|
||||
ids[key] = value
|
||||
record = {'source':'pmlr','external_id':external,'url':f"https://proceedings.mlr.press/v{volume}/{row.get('id')}.html",'title':row['title'],'abstract':row.get('abstract'),'authors':row.get('author',[]),'identifiers':ids,'venue':venue,'year':year,'track':track,'status':'accepted','list_url':f'https://proceedings.mlr.press/v{volume}/','metadata':{key:row[key] for key in ('id','volume','date','page','doi','openreview','arxiv','publisher') if key in row}}
|
||||
version={'path':member_name,'date':row.get('date')}
|
||||
if external in records:
|
||||
previous=records[external]
|
||||
if ({k:v for k,v in previous.items() if k!='metadata'} != {k:v for k,v in record.items() if k!='metadata'}
|
||||
or {k:v for k,v in previous['metadata'].items() if k not in ('date','source_versions')} != {k:v for k,v in record['metadata'].items() if k!='date'}):
|
||||
raise ValueError('Conflicting metadata posts share a publication ID: '+external)
|
||||
previous['metadata']['source_versions'].append(version)
|
||||
if str(row.get('date') or '')>str(previous['metadata'].get('date') or ''):
|
||||
previous['metadata']['date']=row['date']
|
||||
duplicate_posts+=1
|
||||
continue
|
||||
record['metadata']['source_versions']=[version]
|
||||
records[external]=record
|
||||
for record in records.values():
|
||||
output.write(json.dumps(record,ensure_ascii=False,default=str)+'\n')
|
||||
for member_name,content in metadata_texts(volume,cache):
|
||||
parts = re.split(r'(?m)^---\s*$',content,maxsplit=2)
|
||||
if len(parts)<3 or parts[0].strip():
|
||||
raise RuntimeError('Missing YAML frontmatter: '+member_name)
|
||||
row = load_metadata(parts[1])
|
||||
if row.get('layout') not in ('inproceedings','article'):
|
||||
continue
|
||||
if not row.get('title'):
|
||||
raise ValueError('Paper metadata has no title: '+member_name)
|
||||
if not row.get('id'):
|
||||
raise ValueError('Paper metadata has no publication ID: '+member_name)
|
||||
external = f"v{volume}/{row['id']}"
|
||||
ids = {}
|
||||
for key in ('doi','openreview','arxiv'):
|
||||
value = row.get(key)
|
||||
if value:
|
||||
value = str(value)
|
||||
if key=='arxiv':
|
||||
value = re.sub(r'^https?://arxiv.org/(abs|pdf)/','',value).removesuffix('.pdf')
|
||||
if key=='openreview':
|
||||
value = value.split('id=')[-1].split('&')[0]
|
||||
ids[key] = value
|
||||
record = {'source':'pmlr','external_id':external,'url':f"https://proceedings.mlr.press/v{volume}/{row.get('id')}.html",'title':row['title'],'abstract':row.get('abstract'),'authors':row.get('author',[]),'identifiers':ids,'venue':venue,'year':year,'track':track,'status':'accepted','list_url':f'https://proceedings.mlr.press/v{volume}/','metadata':{key:row[key] for key in ('id','volume','date','page','doi','openreview','arxiv','publisher') if key in row}}
|
||||
version={'path':member_name,'date':row.get('date')}
|
||||
if external in records:
|
||||
previous=records[external]
|
||||
if ({k:v for k,v in previous.items() if k!='metadata'} != {k:v for k,v in record.items() if k!='metadata'}
|
||||
or {k:v for k,v in previous['metadata'].items() if k not in ('date','source_versions')} != {k:v for k,v in record['metadata'].items() if k!='date'}):
|
||||
raise ValueError('Conflicting metadata posts share a publication ID: '+external)
|
||||
previous['metadata']['source_versions'].append(version)
|
||||
if str(row.get('date') or '')>str(previous['metadata'].get('date') or ''):
|
||||
previous['metadata']['date']=row['date']
|
||||
duplicate_posts+=1
|
||||
continue
|
||||
record['metadata']['source_versions']=[version]
|
||||
records[external]=record
|
||||
count=len(records)
|
||||
missing_abstracts=sum(not (record.get('abstract') or '').strip() for record in records.values())
|
||||
if count==0:
|
||||
part.unlink(missing_ok=True)
|
||||
raise RuntimeError('No papers parsed; refusing an empty successful collection')
|
||||
part.replace(path)
|
||||
result = {'source':'pmlr','parser_version':2,'venue':venue,'year':year,'track':track,'volume':volume,'count':count,'metadata_post_count':count+duplicate_posts,'duplicate_post_count':duplicate_posts,'missing_abstract_count':missing_abstracts,'list_url':f'https://proceedings.mlr.press/v{volume}/','file':str(path),'status':'partial' if missing_abstracts else 'collected'}
|
||||
path.with_suffix('.manifest.json').write_text(json.dumps(result,indent=2))
|
||||
print(json.dumps(result),flush=True)
|
||||
grouped = defaultdict(list)
|
||||
for record in records.values():
|
||||
if mixed_icml:
|
||||
record_track(record, mapping, track_program)
|
||||
grouped[record['track']].append(record)
|
||||
# Parse and verify the entire volume before replacing any published output.
|
||||
manifests = []
|
||||
with tempfile.TemporaryDirectory(prefix=f'.pmlr-v{volume}-', dir=path.parent) as temporary:
|
||||
stage = Path(temporary)
|
||||
for current_track, rows in sorted(grouped.items()):
|
||||
filename = f'pmlr-v{volume}-{current_track}.jsonl' if mixed_icml else path.name
|
||||
output = stage / filename
|
||||
output.write_text(''.join(json.dumps(row, ensure_ascii=False, default=str)+'\n' for row in rows))
|
||||
absent = sum(not (row.get('abstract') or '').strip() for row in rows)
|
||||
manifest = {'source': 'pmlr', 'parser_version': 3, 'venue': venue, 'year': year,
|
||||
'track': current_track, 'volume': volume, 'count': len(rows),
|
||||
'missing_abstract_count': absent, 'list_url': f'https://proceedings.mlr.press/v{volume}/',
|
||||
'file': str(path.parent / filename), 'file_sha256': hashlib.sha256(output.read_bytes()).hexdigest(),
|
||||
'status': 'partial' if absent else 'collected'}
|
||||
if track_program:
|
||||
manifest['track_program'] = track_program
|
||||
output.with_suffix('.manifest.json').write_text(json.dumps(manifest, indent=2)+'\n')
|
||||
manifests.append(manifest)
|
||||
result = {'source': 'pmlr', 'parser_version': 3, 'venue': venue, 'year': year,
|
||||
'track': next(iter(grouped)) if len(grouped) == 1 else 'mixed', 'volume': volume,
|
||||
'count': count, 'metadata_post_count': count + duplicate_posts,
|
||||
'duplicate_post_count': duplicate_posts, 'missing_abstract_count': missing_abstracts,
|
||||
'list_url': f'https://proceedings.mlr.press/v{volume}/', 'files': manifests,
|
||||
'status': 'partial' if missing_abstracts else 'collected'}
|
||||
if len(manifests) == 1:
|
||||
result['file'] = manifests[0]['file']
|
||||
if track_program:
|
||||
result['track_program'] = track_program
|
||||
inventory = stage / f'pmlr-v{volume}.inventory.json'
|
||||
inventory.write_text(json.dumps(result, indent=2)+'\n')
|
||||
for child in sorted(stage.iterdir(), key=lambda child: child == inventory):
|
||||
child.replace(path.parent / child.name)
|
||||
print(json.dumps(result), flush=True)
|
||||
return result
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,140 @@
|
||||
"""Resolve mixed ICML proceedings tracks from the official paper program."""
|
||||
from collections import Counter
|
||||
import hashlib
|
||||
import json
|
||||
import re
|
||||
from urllib.parse import parse_qs, urlsplit
|
||||
|
||||
from paper_atlas.collectors.iclr import identifiers, source_number
|
||||
from paper_atlas.db.store import author_keys, normalized
|
||||
from paper_atlas.io.html import Document, clean
|
||||
from paper_atlas.io.http import fetch
|
||||
|
||||
|
||||
POSITION_LIST_POLICY = 'https://icml.cc/Conferences/2025/CallForPositionPapers'
|
||||
PUBLISHER_LINK_ALIASES = {'v235/theo24a': 'v235/guyard24a'}
|
||||
|
||||
|
||||
def position_list_policy(data):
|
||||
"""The organizers explicitly link this title filter as the 2024 position list."""
|
||||
for node in Document(data.decode()).root.walk():
|
||||
if node.tag != 'a' or clean(node.text()).casefold() != 'position papers':
|
||||
continue
|
||||
url = node.attrs.get('href', '')
|
||||
parsed = urlsplit(url)
|
||||
query = parse_qs(parsed.query)
|
||||
if (parsed.netloc in ('', 'icml.cc') and parsed.path == '/virtual/2024/papers.html'
|
||||
and query.get('filter') == ['titles'] and query.get('search') == ['position:']):
|
||||
return {'url': POSITION_LIST_POLICY, 'sha256': hashlib.sha256(data).hexdigest(),
|
||||
'position_list_url': 'https://icml.cc' + parsed.path + '?' + parsed.query}
|
||||
raise ValueError('Official policy no longer identifies the 2024 position-paper title list')
|
||||
|
||||
|
||||
def program_tracks(data, year, policy=None):
|
||||
program = json.loads(data)
|
||||
events = program.get('results') if isinstance(program, dict) else None
|
||||
if (not isinstance(events, list) or program.get('count') != len(events)
|
||||
or program.get('next') or program.get('previous')):
|
||||
raise ValueError('Official ICML program must be a complete counted event list')
|
||||
if len({str(row['id']) for row in events}) != len(events):
|
||||
raise ValueError('Repeated event identity in official ICML program')
|
||||
if year == 2024 and policy is None:
|
||||
raise ValueError('The 2024 position-list policy is required')
|
||||
mapping = {}
|
||||
excluded = Counter()
|
||||
for row in events:
|
||||
number = source_number(row)
|
||||
if number is not None and number < 0:
|
||||
excluded['synthetic_oral_event'] += 1
|
||||
continue
|
||||
parsed = urlsplit(row.get('sourceurl') or '')
|
||||
group = parse_qs(parsed.query).get('id', [])
|
||||
groups = {f'ICML.cc/{year}/Conference': 'main',
|
||||
f'ICML.cc/{year}/Position_Paper_Track': 'position'}
|
||||
if (parsed.netloc != 'openreview.net' or parsed.path != '/group'
|
||||
or len(group) != 1 or group[0] not in groups):
|
||||
excluded['other_source'] += 1
|
||||
continue
|
||||
if not str(row.get('decision') or '').casefold().startswith('accept'):
|
||||
raise ValueError('Non-accepted event in official ICML paper program')
|
||||
if year == 2024:
|
||||
# The 2024 program flattens both tracks into Conference and links
|
||||
# PMLR publication IDs instead of forums. Use only this year-specific,
|
||||
# organizer-endorsed list rule, never a global title heuristic.
|
||||
link = urlsplit(row.get('paper_pdf_url') or '')
|
||||
if link.netloc != 'proceedings.mlr.press' or not re.fullmatch(r'/v\d+/[^/]+\.html', link.path):
|
||||
raise ValueError('2024 ICML paper has no publisher self-link')
|
||||
key = ('pmlr', link.path.lstrip('/').removesuffix('.html'))
|
||||
track = 'position' if re.match(r'^Position(?: Paper)?:', row.get('name') or '', re.I) else 'main'
|
||||
kind = 'official_2024_position_list'
|
||||
else:
|
||||
forum = identifiers(row).get('openreview')
|
||||
if not forum:
|
||||
raise ValueError('ICML paper has no real OpenReview self-identity')
|
||||
key = ('openreview', forum)
|
||||
track, kind = groups[group[0]], 'official_openreview_track_group'
|
||||
evidence = {'track': track, 'kind': kind, 'event_ids': [row['id']],
|
||||
'source_group': group[0], 'program_title': row.get('name')}
|
||||
if key[0] == 'pmlr' and key[1] in PUBLISHER_LINK_ALIASES:
|
||||
evidence['publisher_link_alias'] = key[1]
|
||||
evidence['_authors'] = [author['fullname'] for author in row.get('authors', [])]
|
||||
key = ('pmlr', PUBLISHER_LINK_ALIASES[key[1]])
|
||||
if key in mapping:
|
||||
if mapping[key]['track'] != track:
|
||||
raise ValueError('One paper identity has conflicting official tracks')
|
||||
mapping[key]['event_ids'].append(row['id'])
|
||||
else:
|
||||
mapping[key] = evidence
|
||||
if not mapping:
|
||||
raise ValueError('Official ICML program contains no supported paper identities')
|
||||
return mapping, {'event_count': len(events), 'paper_identity_count': len(mapping),
|
||||
'excluded_events': dict(excluded)}
|
||||
|
||||
|
||||
def collect_track_evidence(year, cache):
|
||||
url = f'https://icml.cc/static/virtual/data/icml-{year}-orals-posters.json'
|
||||
data = fetch(url, cache)
|
||||
policy = position_list_policy(fetch(POSITION_LIST_POLICY, cache)) if year == 2024 else None
|
||||
mapping, inventory = program_tracks(data, year, policy)
|
||||
provenance = {'url': url, 'sha256': hashlib.sha256(data).hexdigest(), **inventory}
|
||||
if policy:
|
||||
provenance['position_list_policy'] = policy
|
||||
return mapping, provenance
|
||||
|
||||
|
||||
def record_track(record, mapping, provenance):
|
||||
key = ('pmlr', record['external_id']) if record['year'] == 2024 else ('openreview', record['identifiers'].get('openreview'))
|
||||
if key not in mapping:
|
||||
raise ValueError('Published ICML paper is absent from the verified official track inventory: ' + record['external_id'])
|
||||
evidence = {**mapping[key], 'identity_scheme': key[0], 'identity_value': key[1],
|
||||
'program_url': provenance['url'], 'program_sha256': provenance['sha256']}
|
||||
if 'publisher_link_alias' in evidence:
|
||||
overlap = author_keys(record.get('authors', [])) & author_keys(evidence.pop('_authors', []))
|
||||
if normalized(record['title']) != normalized(evidence['program_title']) or len(overlap) < 2:
|
||||
raise ValueError('Reviewed publisher-link alias lacks exact title and independent author corroboration')
|
||||
evidence['corroborating_author_count'] = len(overlap)
|
||||
if 'position_list_policy' in provenance:
|
||||
evidence['position_list_policy'] = provenance['position_list_policy']
|
||||
record['track'] = evidence['track']
|
||||
record['metadata']['track_evidence'] = evidence
|
||||
|
||||
|
||||
def require_track_manifest(manifest):
|
||||
if (manifest.get('source') == 'pmlr' and str(manifest.get('venue', '')).upper() == 'ICML'
|
||||
and int(manifest.get('year', 0)) >= 2024
|
||||
and (manifest.get('parser_version', 0) < 3 or not manifest.get('track_program'))):
|
||||
raise ValueError('Recollect mixed ICML PMLR proceedings with parser_version>=3 and official track evidence')
|
||||
|
||||
|
||||
def require_track_record(row, manifest):
|
||||
require_track_manifest({**manifest, **{key: row.get(key) for key in ('source', 'venue', 'year')}})
|
||||
if manifest.get('track_program'):
|
||||
evidence = row.get('metadata', {}).get('track_evidence', {})
|
||||
program = manifest['track_program']
|
||||
if (evidence.get('track') != row.get('track') or evidence.get('program_url') != program.get('url')
|
||||
or evidence.get('program_sha256') != program.get('sha256')
|
||||
or not evidence.get('event_ids') or evidence.get('identity_scheme') not in ('pmlr', 'openreview')):
|
||||
raise ValueError('PMLR record differs from its official track evidence')
|
||||
own = row['external_id'] if evidence['identity_scheme'] == 'pmlr' else row.get('identifiers', {}).get('openreview')
|
||||
if not own or evidence.get('identity_value') != own:
|
||||
raise ValueError('PMLR track evidence belongs to a different paper identity')
|
||||
@@ -1,4 +1,4 @@
|
||||
"""Collect COLM/NeurIPS official abstract pages without downloading PDFs."""
|
||||
"""Collect COLM, NeurIPS and MLSys official metadata without downloading PDFs."""
|
||||
import argparse
|
||||
import json
|
||||
import re
|
||||
@@ -8,8 +8,11 @@ from pathlib import Path
|
||||
from urllib.parse import urljoin,urlsplit
|
||||
|
||||
from paper_atlas.io.http import fetch
|
||||
from paper_atlas.io.publication_ids import mlsys_id
|
||||
|
||||
ROOTS={'colm':'https://proceedings.colm.cc/','neurips':'https://proceedings.neurips.cc/'}
|
||||
ROOTS={'colm':'https://proceedings.colm.cc/','neurips':'https://proceedings.neurips.cc/',
|
||||
'mlsys':'https://proceedings.mlsys.org/'}
|
||||
VENUES={'colm':'COLM','neurips':'NeurIPS','mlsys':'MLSys'}
|
||||
|
||||
|
||||
from paper_atlas.io.html import Document,Node,clean
|
||||
@@ -72,6 +75,22 @@ def parse_paper(html,url,source,year,index_url):
|
||||
track_text=' '.join(clean(n.text()) for n in nodes if 'paper-track' in n.attrs.get('class','').split())
|
||||
track=track_key(track_text or url)
|
||||
identifiers={}
|
||||
if source == 'mlsys':
|
||||
if year < 2019:
|
||||
raise ValueError('SysML 2018 was non-archival; official proceedings begin in 2019')
|
||||
own = mlsys_id(url)
|
||||
if not own or int(own.split('/')[0]) != year:
|
||||
raise ValueError('MLSys paper URL does not identify this publication year')
|
||||
identifiers['publication_mlsys'] = own
|
||||
if track_text:
|
||||
explicit = {'conference': 'main', 'main track': 'main', 'research track': 'main',
|
||||
'industry track': 'industry', 'industrial track': 'industry',
|
||||
'mlsys' + str(year): 'main'}
|
||||
if track_text.casefold() not in explicit:
|
||||
raise ValueError('Unclassified official MLSys track: ' + track_text)
|
||||
track = explicit[track_text.casefold()]
|
||||
elif year >= 2025 and not url.endswith('-Abstract-Conference.html'):
|
||||
raise ValueError('Modern MLSys paper lacks an explicit conference track')
|
||||
if meta['citation_doi']:
|
||||
identifiers['doi']=meta['citation_doi'][0]
|
||||
action_nodes=[]
|
||||
@@ -90,8 +109,11 @@ def parse_paper(html,url,source,year,index_url):
|
||||
from urllib.parse import parse_qs
|
||||
forum=parse_qs(parsed.query).get('id')
|
||||
if forum: identifiers['openreview']=forum[0]
|
||||
venue='COLM' if source=='colm' else 'NeurIPS'
|
||||
return {'source':source,'external_id':urlsplit(url).path,'url':url,'title':clean(title),'abstract':abstract,'authors':authors,'identifiers':identifiers,'venue':venue,'year':year,'track':track,'status':'accepted','raw_decision':'listed in official proceedings','list_url':index_url,'metadata':{'citation':dict(meta),'publication_state':'pre-proceedings' if 'pre-proceedings' in html.lower() else 'proceedings'}}
|
||||
venue=VENUES[source]
|
||||
result = {'source':source,'external_id':urlsplit(url).path,'url':url,'title':clean(title),'abstract':abstract,'authors':authors,'identifiers':identifiers,'venue':venue,'year':year,'track':track,'status':'accepted','raw_decision':'listed in official proceedings','list_url':index_url,'metadata':{'citation':dict(meta),'publication_state':'pre-proceedings' if 'pre-proceedings' in html.lower() else 'proceedings'}}
|
||||
if source == 'mlsys' and year == 2019:
|
||||
result['venue_aliases'] = ['SysML']
|
||||
return result
|
||||
|
||||
|
||||
def discover(source,cache):
|
||||
|
||||
@@ -0,0 +1,283 @@
|
||||
"""Collect explicit public negative labels without inferring unobserved decisions.
|
||||
|
||||
PaperCopilot is a curated mirror, not the conference's signed decision feed.
|
||||
Only metadata is retained; source profiles, reviews and PDFs are never cached.
|
||||
"""
|
||||
import argparse
|
||||
from collections import Counter, defaultdict
|
||||
import fcntl
|
||||
import hashlib
|
||||
import io
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import shutil
|
||||
import tempfile
|
||||
import urllib.request
|
||||
|
||||
from paper_atlas.config import DEFAULT_REGISTRY
|
||||
from paper_atlas.db.submissions import timestamp
|
||||
|
||||
|
||||
SOURCE = 'papercopilot_openreview'
|
||||
REVISION = '41ee277825d685bd78e88e48b69da6aead9a69bb'
|
||||
AS_OF = '2026-10-31T01:25:52.000Z'
|
||||
REPOSITORY = 'https://github.com/papercopilot/openreview'
|
||||
RAW_ROOT = 'https://raw.githubusercontent.com/papercopilot/openreview/' + REVISION + '/'
|
||||
TREE_URL = 'https://api.github.com/repos/papercopilot/openreview/git/trees/' + REVISION + '?recursive=1'
|
||||
NEGATIVE = {'reject': 'rejected', 'rejected': 'rejected',
|
||||
'desk reject': 'desk_rejected', 'desk rejected': 'desk_rejected',
|
||||
'withdraw': 'withdrawn', 'withdrawn': 'withdrawn', 'withdrawal': 'withdrawn'}
|
||||
TRACKS = {'main': 'main', 'Position': 'position',
|
||||
'Datasets & Benchmarks': 'datasets_benchmarks'}
|
||||
WORKSHOP_REJECT_LABELS = {"aim-fm workshop @ neurips'24 reject",
|
||||
'coginterp @ neurips 2025 reject'}
|
||||
# Exact curated labels, tied to the year and raw workshop track. The official
|
||||
# venue directory establishes workshop identity, not an original decision signature.
|
||||
ICLR_WORKSHOP_LABELS = {
|
||||
'iclr 2024 workshop mefomo withdrawn submission':
|
||||
(2024, 'workshop_me_fomo', 'withdrawn', 'ME-FoMo'),
|
||||
'iclr 2024 workshop genai4dm withdrawn submission':
|
||||
(2024, 'workshop_genai4dm', 'withdrawn', 'GenAI4DM'),
|
||||
'iclr 2025 workshop agenticai reject':
|
||||
(2025, 'workshop_agenticai', 'rejected', 'AgenticAI'),
|
||||
'iclr 2025 workshop lmrl withdrawn submission':
|
||||
(2025, 'workshop_lmrl', 'withdrawn', 'LMRL'),
|
||||
'iclr 2026 workshop llm reasoning withdrawn submission':
|
||||
(2026, 'workshop_llm_reasoning', 'withdrawn', 'LLM_Reasoning'),
|
||||
}
|
||||
|
||||
|
||||
def download(url, limit):
|
||||
request = urllib.request.Request(url, headers={'User-Agent': 'PaperAtlas/0.1 (public scholarly metadata)'})
|
||||
with urllib.request.urlopen(request, timeout=90) as response:
|
||||
if response.status != 200:
|
||||
raise ValueError('Expected a complete HTTP 200 response')
|
||||
result = response.read(limit + 1)
|
||||
if len(result) > limit:
|
||||
raise ValueError('Public metadata exceeds byte limit')
|
||||
return result
|
||||
|
||||
|
||||
def negative_status(raw):
|
||||
"""A closed mapping: pending, absent, low-score and retracted are not Reject."""
|
||||
if not isinstance(raw, str):
|
||||
raise ValueError('Status must be text')
|
||||
key = ' '.join(raw.casefold().split())
|
||||
if key in NEGATIVE:
|
||||
return NEGATIVE[key]
|
||||
if re.fullmatch(r'(?:icml|neurips) 20\d{2} (?:conference|workshop [a-z0-9 -]+) withdrawn submission', key):
|
||||
return 'withdrawn'
|
||||
if key in WORKSHOP_REJECT_LABELS:
|
||||
return 'rejected'
|
||||
return None
|
||||
|
||||
|
||||
def normalize(row, family, year, provenance, include_workshops=False):
|
||||
"""Return a normalized assertion or a reason requiring separate review."""
|
||||
raw_status = row.get('status', '')
|
||||
status = negative_status(raw_status)
|
||||
workshop = ICLR_WORKSHOP_LABELS.get(' '.join(raw_status.casefold().split()))
|
||||
workshop_metadata = {}
|
||||
if workshop:
|
||||
expected_year, expected_track, status, group_name = workshop
|
||||
if family != 'iclr' or year != expected_year:
|
||||
raise ValueError('Workshop status label conflicts with source conference year')
|
||||
if row.get('track') != expected_track:
|
||||
return None, 'conflicting_workshop_track'
|
||||
if not include_workshops:
|
||||
return None, 'separate_workshop'
|
||||
workshop_metadata = {
|
||||
'workshop_venueid': f'ICLR.cc/{year}/Workshop/{group_name}',
|
||||
'workshop_identity_evidence_url': 'https://openreview.net/venue?id=ICLR.cc',
|
||||
}
|
||||
if status is None:
|
||||
if re.search(r'\bretract\w*\b', raw_status, re.I):
|
||||
return None, 'retracted'
|
||||
if re.search(r'\b(?:reject\w*|withdraw\w*|desk)\b', raw_status, re.I):
|
||||
return None, 'unmapped_negative_label'
|
||||
return None, 'not_explicit_negative'
|
||||
forum = row.get('id')
|
||||
if not isinstance(forum, str) or not re.fullmatch(r'[A-Za-z0-9_-]{8,32}', forum) or re.match(r'20\d{2}-Oral-', forum):
|
||||
raise ValueError('Invalid public submission forum ID')
|
||||
track = row.get('track')
|
||||
if not isinstance(track, str):
|
||||
raise ValueError('Track must be explicit text')
|
||||
normalized_track = TRACKS.get(track)
|
||||
if normalized_track is None:
|
||||
if re.fullmatch(r'workshop_[a-z0-9_]+', track) and include_workshops:
|
||||
normalized_track = track
|
||||
else:
|
||||
return None, 'separate_workshop' if track.startswith('workshop') else 'unmapped_track'
|
||||
prefixed = re.match(r'^(ICML|NeurIPS) (20\d{2}) ', raw_status)
|
||||
if prefixed and (prefixed[1].casefold() != ('neurips' if family == 'nips' else family) or int(prefixed[2]) != year):
|
||||
raise ValueError('Status label conflicts with source conference year')
|
||||
allowed = {v['acronym'].casefold(): v['acronym'] for v in json.loads(DEFAULT_REGISTRY.read_text())['venues']}
|
||||
venue = allowed.get({'nips': 'neurips', 'acmmm': 'mm'}.get(family, family))
|
||||
if venue is None:
|
||||
return None, 'unmapped_venue'
|
||||
title = row.get('title')
|
||||
abstract = row.get('abstract')
|
||||
if title is None or (isinstance(title, str) and not title.strip()):
|
||||
return None, 'missing_title'
|
||||
if not isinstance(title, str):
|
||||
raise ValueError('Public submission lacks a title')
|
||||
if abstract is not None and not isinstance(abstract, str):
|
||||
raise ValueError('Abstract must be text or null')
|
||||
author_text = row.get('author') or ''
|
||||
if not isinstance(author_text, str):
|
||||
raise ValueError('Unexpected public author format')
|
||||
authors = [a.strip() for a in author_text.split(';') if a.strip() and '@' not in a
|
||||
and not re.fullmatch(r'anonymous(?: authors?)?', a.strip(), re.I)]
|
||||
tags = []
|
||||
for field in ('keywords', 'primary_area'):
|
||||
value = row.get(field)
|
||||
if value is None:
|
||||
continue
|
||||
terms = value if isinstance(value, list) else re.split(r'[,;]', value) if field == 'keywords' and isinstance(value, str) else [value]
|
||||
tags.extend({'namespace': SOURCE + ':' + field, 'value': term.strip()}
|
||||
for term in terms if isinstance(term, str) and term.strip())
|
||||
evidence = provenance['source_file'] + '#L' + str(provenance['source_line'])
|
||||
return {'source': SOURCE, 'external_id': f'{family}/{year}/{forum}',
|
||||
'url': 'https://openreview.net/forum?id=' + forum,
|
||||
'title': ' '.join(title.split()), 'abstract': abstract.strip() if abstract else None,
|
||||
'authors': authors, 'identifiers': {'openreview': forum},
|
||||
'submission_identifiers': [{'scheme': 'openreview', 'value': forum}],
|
||||
'venue': venue, 'year': year, 'track': normalized_track,
|
||||
'status': status, 'raw_decision': raw_status, 'evidence_url': evidence,
|
||||
'observed_at': AS_OF, 'tags': tags,
|
||||
'metadata': {**provenance, **workshop_metadata,
|
||||
'raw_track': track, 'raw_status': raw_status,
|
||||
'evidence_kind': 'curated_public_status_assertion',
|
||||
'original_decision_signature_verified': False,
|
||||
'source_snapshot_upper_bound': AS_OF}}, None
|
||||
|
||||
|
||||
def held_metadata(row, reason, provenance):
|
||||
# Retractions and unresolved track scopes remain visible without becoming
|
||||
# invented Reject/Withdrawn events in a schema that cannot represent them.
|
||||
return {key: row.get(key) for key in ('id', 'title', 'abstract', 'track', 'status')} | {
|
||||
'reason': reason, 'provenance': provenance}
|
||||
|
||||
|
||||
def collect(out, families=None, years=None, include_workshops=False, fetcher=None):
|
||||
fetcher = fetcher or download
|
||||
out = Path(out)
|
||||
out.mkdir(parents=True, exist_ok=True)
|
||||
with (out / 'collect.lock').open('a') as lock:
|
||||
fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
if (out / 'public-openreview-inventory.json').exists():
|
||||
raise ValueError('Completed inventory exists; select a new output directory')
|
||||
if shutil.disk_usage(out).free < 8 * 1024**3:
|
||||
raise RuntimeError('Less than 8 GiB free before collection')
|
||||
tree = json.loads(fetcher(TREE_URL, 8 * 1024**2))
|
||||
if tree.get('truncated') is not False or tree.get('sha') != REVISION:
|
||||
raise ValueError('Incomplete or unpinned public source tree')
|
||||
selected = []
|
||||
for item in tree['tree']:
|
||||
match = re.fullmatch(r'venues/([a-z0-9]+)/\1((?:19|20)\d{2})\.jsonl', item['path'])
|
||||
if item['type'] != 'blob' or not match:
|
||||
continue
|
||||
family, year = match[1], int(match[2])
|
||||
if year > 2026 or (families is None and family == 'iclr'):
|
||||
continue
|
||||
if families is not None and family not in families or years is not None and year not in years:
|
||||
continue
|
||||
selected.append((item, family, year))
|
||||
if not selected:
|
||||
raise ValueError('No pinned source files match the request')
|
||||
if families and set(families) - {family for _, family, _ in selected}:
|
||||
raise ValueError('Requested venue has no selected source file')
|
||||
if years and set(years) - {year for _, _, year in selected}:
|
||||
raise ValueError('Requested year has no selected source file')
|
||||
return _collect_files(out, selected, include_workshops, fetcher)
|
||||
|
||||
|
||||
def _collect_files(out, selected, include_workshops, fetcher):
|
||||
summaries = []
|
||||
groups = defaultdict(list)
|
||||
global_forums = {}
|
||||
with tempfile.TemporaryDirectory(prefix='.public-openreview-', dir=out) as temporary:
|
||||
stage = Path(temporary)
|
||||
held_path = stage / 'held-records.jsonl'
|
||||
with held_path.open('w') as held:
|
||||
for item, family, year in sorted(selected, key=lambda entry: entry[0]['path']):
|
||||
size = item['size']
|
||||
if not isinstance(size, int) or not 0 < size <= 96 * 1024**2:
|
||||
raise ValueError('Unexpected metadata file size')
|
||||
data = fetcher(RAW_ROOT + item['path'], size)
|
||||
blob = hashlib.sha1(b'blob ' + str(len(data)).encode() + b'\0' + data).hexdigest()
|
||||
if len(data) != size or blob != item['sha']:
|
||||
raise ValueError('Pinned source blob checksum mismatch')
|
||||
matrix = Counter()
|
||||
reasons = Counter()
|
||||
seen = set()
|
||||
rows = 0
|
||||
for number, line in enumerate(io.BytesIO(data), 1):
|
||||
if len(line) > 4 * 1024**2:
|
||||
raise ValueError('Oversized metadata row')
|
||||
row = json.loads(line)
|
||||
forum = row.get('id')
|
||||
if not isinstance(forum, str) or forum in seen:
|
||||
raise ValueError('Missing or duplicate source forum ID')
|
||||
seen.add(forum)
|
||||
edition = (family, year, row.get('track'))
|
||||
if forum in global_forums and global_forums[forum] != edition:
|
||||
raise ValueError('One forum appears in multiple source editions or tracks')
|
||||
global_forums[forum] = edition
|
||||
rows += 1
|
||||
matrix[(row.get('track'), row.get('status'))] += 1
|
||||
provenance = {'source_revision': REVISION, 'source_blob_sha1': blob,
|
||||
'source_file': RAW_ROOT + item['path'], 'source_line': number}
|
||||
record, reason = normalize(row, family, year, provenance, include_workshops)
|
||||
if record is None:
|
||||
reasons[reason] += 1
|
||||
if reason != 'not_explicit_negative':
|
||||
held.write(json.dumps(held_metadata(row, reason, provenance), ensure_ascii=False) + '\n')
|
||||
else:
|
||||
groups[(family, year, record['track'])].append(record)
|
||||
summary = {'path': item['path'], 'input_bytes': size, 'git_blob_sha1': blob,
|
||||
'rows': rows, 'excluded_or_held': dict(reasons),
|
||||
'status_matrix': [{'track': t, 'status': s, 'count': n} for (t, s), n in matrix.items()]}
|
||||
summaries.append(summary)
|
||||
print(json.dumps({key: summary[key] for key in ('path', 'rows', 'excluded_or_held')}), flush=True)
|
||||
files = []
|
||||
for (family, year, track), records in sorted(groups.items()):
|
||||
name = f'public-openreview-{family}-{year}-{track}.jsonl'
|
||||
path = stage / name
|
||||
path.write_text(''.join(json.dumps(row, ensure_ascii=False) + '\n' for row in records))
|
||||
manifest = {'source': SOURCE, 'parser_version': 3, 'venue': records[0]['venue'],
|
||||
'year': year, 'track': track, 'count': len(records), 'status': 'partial',
|
||||
'file': str(out / name), 'file_sha256': hashlib.sha256(path.read_bytes()).hexdigest(),
|
||||
'list_url': REPOSITORY + '/tree/' + REVISION, 'source_revision': REVISION,
|
||||
'missing_abstract_count': sum(not row['abstract'] for row in records),
|
||||
'evidence_kind': 'curated_public_status_assertion',
|
||||
'note': 'Public subset only; no population coverage or original decision-signature claim.'}
|
||||
path.with_suffix('.manifest.json').write_text(json.dumps(manifest, indent=2) + '\n')
|
||||
files.append(manifest)
|
||||
result = {'source': SOURCE, 'revision': REVISION, 'finished_at': timestamp(),
|
||||
'input_rows': sum(item['rows'] for item in summaries), 'source_files': summaries,
|
||||
'normalized_records': sum(item['count'] for item in files), 'files': files,
|
||||
'include_workshops': include_workshops, 'held_file': str(out / held_path.name),
|
||||
'held_file_sha256': hashlib.sha256(held_path.read_bytes()).hexdigest(),
|
||||
'note': 'Zero explicit negative records in this mirror does not prove no public rejections exist.'}
|
||||
inventory = stage / 'public-openreview-inventory.json'
|
||||
inventory.write_text(json.dumps(result, ensure_ascii=False, indent=2) + '\n')
|
||||
# Publish only after every selected source has passed its pinned hash.
|
||||
for path in sorted(stage.iterdir(), key=lambda path: path == inventory):
|
||||
path.replace(out / path.name)
|
||||
return result
|
||||
|
||||
|
||||
def main(argv=None, *, prog=None):
|
||||
parser = argparse.ArgumentParser(prog=prog)
|
||||
parser.add_argument('--out', required=True)
|
||||
parser.add_argument('--family', action='append', help='Source family, e.g. icml, nips, emnlp')
|
||||
parser.add_argument('--year', type=int, action='append')
|
||||
parser.add_argument('--include-workshops', action='store_true')
|
||||
args = parser.parse_args(argv)
|
||||
collect(args.out, args.family, args.year, args.include_workshops)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user