WP44: structural-change driver, landmark selection, KG extraction (A-004), runbook, tests
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
18 changed files +8,451 −9
modified
bibliometrics/01_volume_series.py
+1 −1
@@ -10,7 +10,7 @@ def main(): | |||||
| 10 | ap = argparse.ArgumentParser(); ap.add_argument("--root", required=True); a = ap.parse_args(); R = a.root | 10 | ap = argparse.ArgumentParser(); ap.add_argument("--root", required=True); a = ap.parse_args(); R = a.root | ||
| 11 | out = os.path.join(R, "results/bibliometrics"); os.makedirs(out, exist_ok=True) | 11 | out = os.path.join(R, "results/bibliometrics"); os.makedirs(out, exist_ok=True) | ||
| 12 | con = duckdb.connect(os.path.join(R, "data/processed/wp44.duckdb"), read_only=True); con.execute("SET threads TO 16;") | 12 | con = duckdb.connect(os.path.join(R, "data/processed/wp44.duckdb"), read_only=True); con.execute("SET threads TO 16;") | ||
| 13 | − con.execute(f"""COPY (SELECT first_month, period, type, in_dblp, cs_primary, (arxiv_id_linked IS NOT NULL) AS has_arxiv, count(*) AS n, | 13 | + con.execute(f"""COPY (SELECT first_month, period, date_precision, type, in_dblp, cs_primary, (arxiv_id_linked IS NOT NULL) AS has_arxiv, count(*) AS n, | ||
| 14 | sum(has_abstract::int) AS n_abstract, sum((n_refs>0)::int) AS n_with_refs, sum(is_oa::int) AS n_oa | 14 | sum(has_abstract::int) AS n_abstract, sum((n_refs>0)::int) AS n_with_refs, sum(is_oa::int) AS n_oa | ||
| 15 | FROM corpus_works WHERE eligible GROUP BY ALL ORDER BY 1,2,3) TO '{out}/volume_monthly.csv' (HEADER)""") | 15 | FROM corpus_works WHERE eligible GROUP BY ALL ORDER BY 1,2,3) TO '{out}/volume_monthly.csv' (HEADER)""") | ||
| 16 | con.execute(f"""COPY (SELECT publication_year AS year, count(*) AS n, sum(in_dblp::int) AS n_dblp, sum(cs_primary::int) AS n_cs_primary, | 16 | con.execute(f"""COPY (SELECT publication_year AS year, count(*) AS n, sum(in_dblp::int) AS n_dblp, sum(cs_primary::int) AS n_cs_primary, | ||
added
econometrics/run_structural_change.py
+75 −0
@@ -0,0 +1,75 @@ | |||||
| 1 | +#!/usr/bin/env python3 | ||||
| 2 | +"""WP44 — RQ2/H1/H3 driver: interrupted time series, placebo breaks, Bai–Perron, PELT and BOCPD on monthly series. | ||||
| 3 | + | ||||
| 4 | +Series: total eligible works (month-precision records only), by area and by category (results/graph/category_counts_monthly.csv, | ||||
| 5 | +n_month_precision column when present; before classification only the total is run). Window: 2018-01 → --last-complete | ||||
| 6 | +(default 2026-06; sensitivity 2026-08 and 2026-03). Event dates: 2022-11-30 (ChatGPT, primary) and alternatives | ||||
| 7 | +2020-05 (GPT-3), 2022-04 (DALL·E 2), 2023-03 (GPT-4), 2024-09 (o1). Outputs results/econometrics/its_results.json, | ||||
| 8 | +placebo_<series>.csv, breaks.csv, and a per-series CSV of fitted values.""" | ||||
| 9 | +import argparse, json, os, sys, numpy as np, pandas as pd | ||||
| 10 | +sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")) | ||||
| 11 | +from econometrics.structural_change import its_fit, placebo_breaks, bai_perron, pelt, bocpd | ||||
| 12 | + | ||||
| 13 | +EVENTS = {"chatgpt": "2022-12-01", "gpt3": "2020-06-01", "dalle2": "2022-05-01", "gpt4": "2023-04-01", "o1": "2024-10-01"} | ||||
| 14 | + | ||||
| 15 | + | ||||
| 16 | +def series_total(R): | ||||
| 17 | + d = pd.read_csv(f"{R}/results/bibliometrics/volume_monthly.csv") | ||||
| 18 | + if "date_precision" in d.columns: | ||||
| 19 | + d = d[d.date_precision == "month"] | ||||
| 20 | + m = d.groupby("first_month")["n"].sum(); return {"total": m} | ||||
| 21 | + | ||||
| 22 | + | ||||
| 23 | +def series_categories(R): | ||||
| 24 | + p = f"{R}/results/graph/category_counts_monthly.csv" | ||||
| 25 | + if not os.path.exists(p): | ||||
| 26 | + return {} | ||||
| 27 | + d = pd.read_csv(p); col = "n_month_precision" if "n_month_precision" in d.columns else "n_multilabel" | ||||
| 28 | + return {f"cat_{c}": g.set_index("first_month")[col] for c, g in d.groupby("category_id")} | ||||
| 29 | + | ||||
| 30 | + | ||||
| 31 | +def run_one(name, s, first, last, out): | ||||
| 32 | + s = s[(s.index >= first) & (s.index <= last)].astype(float) | ||||
| 33 | + idx = pd.period_range(first, last, freq="M").strftime("%Y-%m"); s = s.reindex(idx).fillna(0.0) | ||||
| 34 | + if (s > 0).sum() < 48 or s.sum() < 500: | ||||
| 35 | + return None | ||||
| 36 | + y = s.values + 1.0; dates = pd.to_datetime(idx + "-01"); res = {"series": name, "n_months": len(y), "total": float(s.sum())} | ||||
| 37 | + for ev, d in EVENTS.items(): | ||||
| 38 | + if pd.Timestamp(d) <= dates[12] or pd.Timestamp(d) >= dates[-12]: | ||||
| 39 | + continue | ||||
| 40 | + o, fit = its_fit(y, dates, d); res[f"its_{ev}"] = o | ||||
| 41 | + if ev == "chatgpt": | ||||
| 42 | + pl, df = placebo_breaks(y, dates, d); res["placebo_chatgpt"] = pl; df.to_csv(f"{out}/placebo_{name}.csv", index=False) | ||||
| 43 | + pd.DataFrame({"month": idx, "y": s.values, "fitted": np.exp(fit.fittedvalues) - 1}).to_csv(f"{out}/fit_{name}.csv", index=False) | ||||
| 44 | + bp = bai_perron(np.log(y), dates, max_breaks=3); res["bai_perron"] = {k: v for k, v in bp.items() if k != "by_m"} | ||||
| 45 | + res["bai_perron"]["bic_by_m"] = {m: round(v["bic"], 2) for m, v in bp["by_m"].items()} | ||||
| 46 | + res["pelt"] = [idx[i] for i in pelt(np.log(y)) if i < len(idx)] | ||||
| 47 | + _, cp, mrl = bocpd(np.log(y)); resets = [idx[t] for t in range(12, len(idx)) if mrl[t] <= 2 and mrl[t - 1] > 12] | ||||
| 48 | + res["bocpd_resets"] = resets; res["bocpd_cp_prob_2022_12_to_2023_03"] = float(cp[[i for i, m in enumerate(idx) if "2022-12" <= m <= "2023-03"]].max()) if any("2022-12" <= m <= "2023-03" for m in idx) else None | ||||
| 49 | + return res | ||||
| 50 | + | ||||
| 51 | + | ||||
| 52 | +def main(): | ||||
| 53 | + ap = argparse.ArgumentParser(); ap.add_argument("--root", required=True); ap.add_argument("--first", default="2018-02"); ap.add_argument("--last-complete", default="2026-06") | ||||
| 54 | + ap.add_argument("--sensitivity", default="2026-03,2026-08"); a = ap.parse_args(); R = a.root | ||||
| 55 | + out = f"{R}/results/econometrics"; os.makedirs(out, exist_ok=True) | ||||
| 56 | + S = series_total(R); S.update(series_categories(R)); all_res = {"last_complete": a.last_complete, "first": a.first, "events": EVENTS, "series": {}} | ||||
| 57 | + for name, s in S.items(): | ||||
| 58 | + r = run_one(name, s, a.first, a.last_complete, out) | ||||
| 59 | + if r: | ||||
| 60 | + all_res["series"][name] = r; print(name, "ITS chatgpt level", round(r.get("its_chatgpt", {}).get("level_change", float("nan")), 3), "p", round(r.get("its_chatgpt", {}).get("level_p", float("nan")), 3), "placebo p", r.get("placebo_chatgpt", {}).get("level_t_placebo_p"), "BP", r["bai_perron"].get("break_dates_bic"), flush=True) | ||||
| 61 | + sens = {} | ||||
| 62 | + for lc in a.sensitivity.split(","): | ||||
| 63 | + r = run_one("total", S["total"], a.first, lc, out + "/sens_tmp" if os.makedirs(out + "/sens_tmp", exist_ok=True) is None else out) | ||||
| 64 | + if r: | ||||
| 65 | + sens[lc] = {"its_chatgpt": r.get("its_chatgpt"), "bai_perron": r["bai_perron"].get("break_dates_bic")} | ||||
| 66 | + all_res["sensitivity_last_complete_total"] = sens | ||||
| 67 | + json.dump(all_res, open(f"{out}/its_results.json", "w"), indent=1, default=float) | ||||
| 68 | + rows = [{"series": n, **{f"{ev}_level": r.get(f"its_{ev}", {}).get("level_change") for ev in EVENTS}, **{f"{ev}_level_p": r.get(f"its_{ev}", {}).get("level_p") for ev in EVENTS}, | ||||
| 69 | + "chatgpt_slope": r.get("its_chatgpt", {}).get("slope_change"), "chatgpt_slope_p": r.get("its_chatgpt", {}).get("slope_p"), "placebo_level_p": r.get("placebo_chatgpt", {}).get("level_t_placebo_p"), | ||||
| 70 | + "placebo_slope_p": r.get("placebo_chatgpt", {}).get("slope_t_placebo_p"), "bp_breaks_bic": ";".join(r["bai_perron"].get("break_dates_bic", [])), "pelt": ";".join(r["pelt"]), "bocpd_resets": ";".join(r["bocpd_resets"])} for n, r in all_res["series"].items()] | ||||
| 71 | + pd.DataFrame(rows).to_csv(f"{out}/breaks.csv", index=False); print("series analysed:", len(rows)) | ||||
| 72 | + | ||||
| 73 | + | ||||
| 74 | +if __name__ == "__main__": | ||||
| 75 | + main() | ||||
added
knowledge_graph/03_extract_entities.py
+71 −0
@@ -0,0 +1,71 @@ | |||||
| 1 | +#!/usr/bin/env python3 | ||||
| 2 | +"""WP44 — Phase 3: schema-constrained LLM extraction of method / model / dataset / benchmark / claim nodes and typed edges | ||||
| 3 | +(introduces_method, uses_dataset, evaluates_on, extends, contradicts, reproduces, addresses_problem) for the high-priority set, | ||||
| 4 | +from title + abstract (evidence_type = abstract) — full text is NOT used unless a lawful OA text is attached later. | ||||
| 5 | +Every edge carries provenance (work_id + quoted span from the abstract), confidence (model-reported, 0–1) and | ||||
| 6 | +verification_status = 'unverified' (machine-verified when the quoted span is found verbatim in the abstract; human-verified | ||||
| 7 | +only after PI review). Model: claude-sonnet-5-5 (structured outputs, effort low), batches of 5 works, resumable JSONL. | ||||
| 8 | +Budget: see protocol/amendments.csv (A-004).""" | ||||
| 9 | +import argparse, json, os, time, pandas as pd | ||||
| 10 | + | ||||
| 11 | +SCHEMA = {"type": "object", "properties": {"works": {"type": "array", "items": {"type": "object", "properties": { | ||||
| 12 | + "work_id": {"type": "integer"}, | ||||
| 13 | + "contribution_type": {"type": "string", "enum": ["theory", "method", "empirical", "benchmark", "engineering", "survey", "other"]}, | ||||
| 14 | + "entities": {"type": "array", "items": {"type": "object", "properties": { | ||||
| 15 | + "name": {"type": "string"}, "kind": {"type": "string", "enum": ["method", "model", "dataset", "benchmark", "problem", "metric"]}, | ||||
| 16 | + "role": {"type": "string", "enum": ["introduced", "used", "evaluated_on", "extended", "compared_against", "addressed"]}, | ||||
| 17 | + "span": {"type": "string"}, "confidence": {"type": "number"}}, "required": ["name", "kind", "role", "span", "confidence"], "additionalProperties": False}}, | ||||
| 18 | + "claims": {"type": "array", "items": {"type": "object", "properties": {"claim": {"type": "string"}, "claim_kind": {"type": "string", "enum": ["result", "improvement", "negative_result", "reproduction", "contradiction"]}, | ||||
| 19 | + "span": {"type": "string"}, "confidence": {"type": "number"}}, "required": ["claim", "claim_kind", "span", "confidence"], "additionalProperties": False}}}, | ||||
| 20 | + "required": ["work_id", "contribution_type", "entities", "claims"], "additionalProperties": False}}}, "required": ["works"], "additionalProperties": False} | ||||
| 21 | +SYSTEM = ("You extract structured knowledge from computer-science paper abstracts for a knowledge graph. For each work: the contribution type; the named " | ||||
| 22 | + "methods, models, datasets, benchmarks, metrics and research problems with their role; and the main claims. Every entity and claim must quote a " | ||||
| 23 | + "short verbatim span (<= 25 words) from the abstract that supports it. Use canonical names (e.g. 'ImageNet', 'BERT', 'Transformer'). Never infer " | ||||
| 24 | + "anything not stated in the abstract. Confidence is your calibrated probability that the extraction is correct.") | ||||
| 25 | + | ||||
| 26 | + | ||||
| 27 | +def main(): | ||||
| 28 | + ap = argparse.ArgumentParser(); ap.add_argument("--root", required=True); ap.add_argument("--model", default="claude-sonnet-5-5"); ap.add_argument("--env-file", default="~/wp44_uqo/.env") | ||||
| 29 | + ap.add_argument("--batch", type=int, default=5); ap.add_argument("--limit", type=int, default=0); ap.add_argument("--max-usd", type=float, default=150.0); a = ap.parse_args(); R = a.root | ||||
| 30 | + import anthropic, duckdb | ||||
| 31 | + key = next(l.split("=", 1)[1].strip() for l in open(os.path.expanduser(a.env_file)) if l.startswith("ANTHROPIC_API_KEY=")) | ||||
| 32 | + client = anthropic.Anthropic(api_key=key, max_retries=5) | ||||
| 33 | + con = duckdb.connect(f"{R}/data/processed/wp44.duckdb", read_only=True) | ||||
| 34 | + hp = pd.read_parquet(f"{R}/literature_synthesis/landmarks/high_priority.parquet") | ||||
| 35 | + ab = con.execute(f"SELECT work_id, abstract FROM oa_abstracts WHERE work_id IN (SELECT work_id FROM read_parquet('{R}/literature_synthesis/landmarks/high_priority.parquet'))").df() | ||||
| 36 | + hp = hp.merge(ab, on="work_id"); hp = hp.sort_values(["score"], ascending=False) | ||||
| 37 | + if a.limit: hp = hp.head(a.limit) | ||||
| 38 | + out_dir = f"{R}/data/processed/graph/extraction"; os.makedirs(out_dir, exist_ok=True); out_p = f"{out_dir}/extractions_{a.model}.jsonl" | ||||
| 39 | + done = {json.loads(l)["work_id"] for l in open(out_p)} if os.path.exists(out_p) else set() | ||||
| 40 | + todo = hp[~hp.work_id.isin(done)]; cost = 0.0; price_in, price_out, price_cache = 2.0 / 1e6, 10.0 / 1e6, 0.2 / 1e6; n_calls = 0 | ||||
| 41 | + with open(out_p, "a") as fh: | ||||
| 42 | + for i in range(0, len(todo), a.batch): | ||||
| 43 | + if cost >= a.max_usd: | ||||
| 44 | + print("budget reached", cost); break | ||||
| 45 | + b = todo.iloc[i:i + a.batch] | ||||
| 46 | + items = "\n\n".join(f"### work_id {r.work_id}\nTitle: {r.title}\nYear: {r.year}\nAbstract: {(r.abstract or '')[:3000]}" for r in b.itertuples()) | ||||
| 47 | + for attempt in range(4): | ||||
| 48 | + try: | ||||
| 49 | + resp = client.messages.create(model=a.model, max_tokens=12000, system=[{"type": "text", "text": SYSTEM, "cache_control": {"type": "ephemeral"}}], | ||||
| 50 | + messages=[{"role": "user", "content": items}], output_config={"format": {"type": "json_schema", "schema": SCHEMA}, "effort": "low"}); break | ||||
| 51 | + except anthropic.RateLimitError: | ||||
| 52 | + time.sleep(15 * (attempt + 1)) | ||||
| 53 | + if resp.stop_reason == "refusal": | ||||
| 54 | + continue | ||||
| 55 | + u = resp.usage; cost += u.input_tokens * price_in + u.output_tokens * price_out + (u.cache_read_input_tokens or 0) * price_cache; n_calls += 1 | ||||
| 56 | + data = json.loads(next(bk.text for bk in resp.content if bk.type == "text")) | ||||
| 57 | + abs_by_id = {int(r.work_id): (r.abstract or "") for r in b.itertuples()} | ||||
| 58 | + for w in data["works"]: | ||||
| 59 | + txt = abs_by_id.get(w["work_id"], "") | ||||
| 60 | + for e in w["entities"] + w["claims"]: | ||||
| 61 | + e["verification_status"] = "machine-verified" if e["span"] and e["span"].strip().lower() in txt.lower() else "unverified" | ||||
| 62 | + w["model"] = a.model; w["evidence_type"] = "abstract"; fh.write(json.dumps(w) + "\n") | ||||
| 63 | + fh.flush() | ||||
| 64 | + if n_calls % 25 == 0: | ||||
| 65 | + print(f"{n_calls} calls, {i + len(b)}/{len(todo)} works, ${cost:.2f}", flush=True) | ||||
| 66 | + json.dump({"model": a.model, "calls": n_calls, "cost_usd": round(cost, 2), "works_done": len(done) + min(len(todo), i + len(b) if len(todo) else 0)}, open(f"{out_dir}/extraction_usage_{a.model}.json", "w"), indent=1) | ||||
| 67 | + print("done", n_calls, "calls", round(cost, 2), "USD") | ||||
| 68 | + | ||||
| 69 | + | ||||
| 70 | +if __name__ == "__main__": | ||||
| 71 | + main() | ||||
added
literature_synthesis/select_landmarks.py
+46 −0
@@ -0,0 +1,46 @@ | |||||
| 1 | +#!/usr/bin/env python3 | ||||
| 2 | +"""WP44 — select the synthesis populations (protocol P2/S5): | ||||
| 3 | + high-priority set (target >= 10,000): per (primary category × publication year) the top works by NCS36 (field-normalised | ||||
| 4 | + 36-month citations; for 2025–2026 by c12 then cited_by_count), proportional allocation with a floor of 25 per cell, eligible | ||||
| 5 | + works only, retracted excluded; | ||||
| 6 | + landmark set (target >= 1,000): top by NCS36 within category (floor 15 per category) plus the top 200 overall by c36, | ||||
| 7 | + deduplicated; flagged for PI review (H-3). | ||||
| 8 | +Outputs: literature_synthesis/landmarks/{high_priority.parquet,landmarks.csv,<area>_landmarks.csv,<area>_abstracts.jsonl,selection_report.json}.""" | ||||
| 9 | +import argparse, json, os, duckdb, yaml, pandas as pd | ||||
| 10 | + | ||||
| 11 | + | ||||
| 12 | +def main(): | ||||
| 13 | + ap = argparse.ArgumentParser(); ap.add_argument("--root", required=True); ap.add_argument("--ontology", required=True) | ||||
| 14 | + ap.add_argument("--n-high", type=int, default=10000); ap.add_argument("--n-land", type=int, default=1000); a = ap.parse_args(); R = a.root | ||||
| 15 | + out = f"{R}/literature_synthesis/landmarks"; os.makedirs(out, exist_ok=True) | ||||
| 16 | + ont = yaml.safe_load(open(a.ontology)); area = {c["id"]: c["area"] for c in ont["categories"]}; cats = list(area) | ||||
| 17 | + con = duckdb.connect(f"{R}/data/processed/wp44.duckdb", read_only=True); con.execute("SET threads TO 16;") | ||||
| 18 | + con.execute(f"CREATE OR REPLACE VIEW work_primary AS SELECT * FROM read_parquet('{R}/data/processed/classification/primary/*.parquet')") | ||||
| 19 | + con.execute(f"CREATE OR REPLACE VIEW wcw AS SELECT * FROM read_parquet('{R}/data/processed/corpus/work_citation_windows.parquet')") | ||||
| 20 | + df = con.execute("""SELECT c.id AS work_id, c.doi, c.arxiv_id_linked AS arxiv_id, c.title, c.source_name, c.publication_year AS year, c.type, p.primary_category, p.n_categories, | ||||
| 21 | + w.c12, w.c36, w.ncs36, c.cited_by_count, c.fwci, c.has_abstract, c.is_oa, c.period | ||||
| 22 | + FROM corpus_works c JOIN work_primary p ON p.work_id = c.id JOIN wcw w ON w.work_id = c.id WHERE c.eligible AND NOT c.e6_retracted""").df() | ||||
| 23 | + df["score"] = df.ncs36.fillna(0); recent = df.year >= 2025; df.loc[recent, "score"] = df.loc[recent, "c12"].fillna(0) / (df.loc[recent].groupby("year").c12.transform("mean") + 1e-9) | ||||
| 24 | + cell = df.groupby(["primary_category", "year"]).size(); alloc = (cell / cell.sum() * a.n_high).clip(lower=25).round().astype(int) | ||||
| 25 | + parts = [] | ||||
| 26 | + for (c, y), k in alloc.items(): | ||||
| 27 | + g = df[(df.primary_category == c) & (df.year == y)].nlargest(int(k), ["score", "cited_by_count"]); parts.append(g) | ||||
| 28 | + high = pd.concat(parts).drop_duplicates("work_id"); high["set"] = "high_priority" | ||||
| 29 | + land_parts = [df[df.primary_category == c].nlargest(max(15, a.n_land // len(cats)), ["score", "cited_by_count"]) for c in cats] | ||||
| 30 | + land = pd.concat(land_parts + [df.nlargest(200, ["c36", "cited_by_count"])]).drop_duplicates("work_id"); land["set"] = "landmark"; land["pi_review"] = True | ||||
| 31 | + high.to_parquet(f"{out}/high_priority.parquet"); land.to_csv(f"{out}/landmarks.csv", index=False) | ||||
| 32 | + con.execute(f"CREATE OR REPLACE TEMP TABLE L AS SELECT * FROM read_csv_auto('{out}/landmarks.csv')") | ||||
| 33 | + for ar in sorted(set(area.values())): | ||||
| 34 | + ids = [c for c in cats if area[c] == ar]; sub = land[land.primary_category.isin(ids)] | ||||
| 35 | + sub.to_csv(f"{out}/{ar}_landmarks.csv", index=False) | ||||
| 36 | + ab = con.execute(f"SELECT l.work_id, l.title, a.abstract FROM L l LEFT JOIN oa_abstracts a ON a.work_id = l.work_id WHERE l.primary_category IN ({','.join(repr(i) for i in ids)})").fetchall() | ||||
| 37 | + with open(f"{out}/{ar}_abstracts.jsonl", "w") as fh: | ||||
| 38 | + for w, t, abst in ab: | ||||
| 39 | + fh.write(json.dumps({"work_id": int(w), "title": t, "abstract": abst}) + "\n") | ||||
| 40 | + rep = {"high_priority": int(len(high)), "landmarks": int(len(land)), "by_area": land.primary_category.map(area).value_counts().to_dict(), "by_year_landmarks": land.year.value_counts().sort_index().to_dict(), | ||||
| 41 | + "share_with_abstract_landmarks": float(land.has_abstract.mean()), "share_oa_landmarks": float(land.is_oa.mean())} | ||||
| 42 | + json.dump(rep, open(f"{out}/selection_report.json", "w"), indent=1); print(rep) | ||||
| 43 | + | ||||
| 44 | + | ||||
| 45 | +if __name__ == "__main__": | ||||
| 46 | + main() | ||||
modified
protocol/amendments.csv
+1 −0
@@ -3,3 +3,4 @@ A-000,2026-11-02,0,"§14 of the mandate completed from §1–§13 (paste truncat | |||||
| 3 | A-001,2026-11-03,1,"Eligibility type list corrected: OpenAlex (2026) types conference-paper and software-paper are research outputs and are kept; DBLP-linked records are kept whatever their OpenAlex type unless in a hard-exclusion list; XPAC records are kept when DBLP-linked (flag xpac_kept_dblp)","first run of define_corpus.py showed 2.5 M conference-paper records (1.09 M DBLP-linked) excluded by an outdated type list; DBLP is the CS gold standard",executing agent (pending PI) | 3 | A-001,2026-11-03,1,"Eligibility type list corrected: OpenAlex (2026) types conference-paper and software-paper are research outputs and are kept; DBLP-linked records are kept whatever their OpenAlex type unless in a hard-exclusion list; XPAC records are kept when DBLP-linked (flag xpac_kept_dblp)","first run of define_corpus.py showed 2.5 M conference-paper records (1.09 M DBLP-linked) excluded by an outdated type list; DBLP is the CS gold standard",executing agent (pending PI) | ||
| 4 | A-002,2026-11-03,1,"Records whose primary source is a generic deposit platform (Zenodo, Figshare, IRDB, LA Referencia, Dialnet, DOAJ-as-source, OSTI) are excluded unless DBLP- or arXiv-linked (flag e7_generic_deposit); date_precision flag added (publication_date = YYYY-01-01 treated as year precision; monthly series use month-precision records only)","Zenodo alone contributes 138,533 eligible records in 2026 (20,141 in 2025; 1.3% with references) — deposits of slides, datasets and reports typed as articles; 18–28% of records carry a year-only date defaulting to 1 January",executing agent (pending PI) | 4 | A-002,2026-11-03,1,"Records whose primary source is a generic deposit platform (Zenodo, Figshare, IRDB, LA Referencia, Dialnet, DOAJ-as-source, OSTI) are excluded unless DBLP- or arXiv-linked (flag e7_generic_deposit); date_precision flag added (publication_date = YYYY-01-01 treated as year precision; monthly series use month-precision records only)","Zenodo alone contributes 138,533 eligible records in 2026 (20,141 in 2025; 1.3% with references) — deposits of slides, datasets and reports typed as articles; 18–28% of records carry a year-only date defaulting to 1 January",executing agent (pending PI) | ||
| 5 | A-003,2026-11-03,2,"LLM rating budget for taxonomy validation fixed at 25 USD (two raters: claude-haiku-5-5 and claude-sonnet-5-5, structured outputs); knowledge-graph extraction budget fixed separately when designed","mandate §7 requires agent-based validation with human checkpoints; the PI is the third rater on 200 works",executing agent (pending PI) | 5 | A-003,2026-11-03,2,"LLM rating budget for taxonomy validation fixed at 25 USD (two raters: claude-haiku-5-5 and claude-sonnet-5-5, structured outputs); knowledge-graph extraction budget fixed separately when designed","mandate §7 requires agent-based validation with human checkpoints; the PI is the third rater on 200 works",executing agent (pending PI) | ||
| 6 | +A-004,2026-11-03,3,"Knowledge-graph extraction from abstracts of the high-priority set with claude-sonnet-5-5 (structured outputs, provenance spans, machine verification of spans); budget 150 USD","mandate §6.4 requires provenance, confidence and verification status on every inferred relationship; abstract-level evidence is labelled as such",executing agent (pending PI) | ||||
added
reproducibility/RUNBOOK.md
+27 −0
@@ -0,0 +1,27 @@ | |||||
| 1 | +# Reproducibility runbook — WP44 | ||||
| 2 | + | ||||
| 3 | +Everything below was executed on M3U96b (Mac Studio M3 Ultra, 28 cores, 96 GB, macOS 27.0) in `~/wp44_uqo` with the | ||||
| 4 | +locked environment `reproducibility/environment_M3U96b.txt` (Python 3.12.15 via uv). Raw sources are public; the exact | ||||
| 5 | +inputs are pinned by manifests and hashes (`data/raw/README.md`, ledgers). Nothing requires credentials except the two LLM | ||||
| 6 | +raters of the taxonomy validation (Anthropic API key, never stored in the repository). | ||||
| 7 | + | ||||
| 8 | +| Step | Command | Inputs | Outputs | Wall time (measured) | | ||||
| 9 | +|---|---|---|---|---| | ||||
| 10 | +| 1 OpenAlex works snapshot (pass 1, CS filter + slim table) | `python ingestion/openalex_snapshot.py --out data/raw/openalex/works --manifest data/raw/openalex/works_manifest_2026-10-14.json --workers 8` | S3 public bucket, release 2026-10-14 | `works/cs/*.jsonl.zst` (15,490,159), `works/slim/*.parquet` (464,765,485), `ledger.sqlite` | 1 h 46 min at ≈ 108 MB/s | | ||||
| 11 | +| 2 OpenAlex entities | `python ingestion/openalex_entities.py --out data/raw/openalex` | S3 | `topics/ … institutions/`, `entities_ledger.json` | 5 min | | ||||
| 12 | +| 3 DBLP | `python ingestion/dblp_parse.py --xml data/raw/dblp/dblp.xml.gz --out data/raw/dblp` | dump 2026-11-02 (MD5 verified) | `dblp_publications.parquet` (8,840,866), report | 4 min 45 s | | ||||
| 13 | +| 4 arXiv OAI-PMH | `python ingestion/arxiv_oai.py --out data/raw/arxiv --from 2018-01-01 --until 2026-11-02` | OAI feed, set `cs` | raw XML pages (758), `arxiv_cs.parquet` (915,115) | ≈ 1 h | | ||||
| 14 | +| 5 ACL Anthology | `python ingestion/acl_parse.py --bib data/raw/acl/anthology+abstracts.bib.gz --out data/raw/acl` | bib export | `acl_anthology.parquet` (138,796) | 10 s | | ||||
| 15 | +| 6 Normalise | `python ingestion/build_corpus.py --cs-dir data/raw/openalex/works/cs --out data/processed --workers 12` | step 1 | `tables/<table>/*.parquet` | 2 min 10 s | | ||||
| 16 | +| 7 Compact | `ulimit -n 65536; python ingestion/compact_tables.py ~/wp44_uqo` | step 6 | `compact/<table>.parquet` | 30 s | | ||||
| 17 | +| 8 Link | `python ingestion/link_sources.py --root ~/wp44_uqo` | steps 3–7 | DuckDB `wp44.duckdb`, `link_*`, `data/metadata/linkage_report.json`, `needed_oa_ids.csv` | 10 s | | ||||
| 18 | +| 9 Second pass (DBLP/arXiv-linked works outside the CS-topic filter) | `python ingestion/openalex_snapshot.py --out data/raw/openalex/works_pass2 --manifest … --workers 8 --id-list data/metadata/needed_oa_ids.csv` then `ingestion/run_pass2_chain.sh` (steps 6–8 with suffix `_p2`, then 10–11) | S3 | `works_pass2/cs/*.jsonl.zst`, `compact/<table>_p2.parquet` | ≈ 1 h 50 min | | ||||
| 19 | +| 10 Corpus definition | `python systematic_review/define_corpus.py --root ~/wp44_uqo` | step 8 | `corpus_works`, `data/metadata/prisma_counts.json` | 2 min | | ||||
| 20 | +| 11 Volume, collaboration, citations, graph | `python bibliometrics/01_volume_series.py …`, `02_collaboration.py`, `03_citation_impact.py`, `knowledge_graph/01_citation_graph.py` | step 10 | `results/bibliometrics/*.csv`, `results/graph/*`, `data/processed/graph/*` | minutes | | ||||
| 21 | +| 12 Classification | `python taxonomy/classify.py --root ~/wp44_uqo --ontology taxonomy/ontology.yaml --prepare --run` | steps 8, 10, `taxonomy/ontology.yaml` | `data/processed/classification/{cats,primary}/*.parquet`, report | (to be measured) | | ||||
| 22 | +| 13 Validation sample + raters | `python taxonomy/validate_sample.py --root … --draw`; `--rate --model claude-haiku-5-5`; `--rate --model claude-sonnet-5-5`; `--metrics` | step 12 | `taxonomy/validation/*` | (to be measured) | | ||||
| 23 | +| 14 Embeddings | `python embeddings/embed_corpus.py --root … --prepare`; `--run --model allenai/specter2_base` (sharded over nodes) | step 10 | `data/processed/embeddings/<model>/shard_*.npy` | ≈ 300 texts/s per M3 Ultra | | ||||
| 24 | +| 15 Structural change, emerging detection, figures, tables | `econometrics/run_structural_change.py`, `experiments/emerging_detection.py`, `figures/make_figures.py`, `tables/make_numbers.py` | 11–14 | `results/econometrics`, `results/emerging`, `figures/`, `manuscript/tables/numbers.tex` | minutes | | ||||
| 25 | +| 16 Manuscript | `cd manuscript && make` | all | `manuscript/main.pdf` | — | | ||||
| 26 | + | ||||
| 27 | +Tests: `python -m pytest -q tests/` (structural-change toolkit, classification scoring, corpus rules). | ||||
added
reproducibility/environment_M3U96b.txt
+92 −0
@@ -0,0 +1,92 @@ | |||||
| 1 | +annotated-doc==0.0.5 | ||||
| 2 | +annotated-types==0.8.0 | ||||
| 3 | +anthropic==2.4.0 | ||||
| 4 | +anyio==4.16.0 | ||||
| 5 | +certifi==2026.10.23 | ||||
| 6 | +charset-normalizer==3.5.2 | ||||
| 7 | +click==8.5.0 | ||||
| 8 | +cloudpickle==3.1.2 | ||||
| 9 | +contourpy==1.4.0 | ||||
| 10 | +cycler==0.12.1 | ||||
| 11 | +docstring-parser==0.18.0 | ||||
| 12 | +duckdb==2.0.0 | ||||
| 13 | +filelock==4.2.7 | ||||
| 14 | +fonttools==4.68.0 | ||||
| 15 | +formulaic==1.2.2 | ||||
| 16 | +fsspec==2026.9.0 | ||||
| 17 | +h11==0.16.0 | ||||
| 18 | +hdbscan==0.8.44 | ||||
| 19 | +hf-xet==1.8.0 | ||||
| 20 | +httpcore2==2.16.0 | ||||
| 21 | +httpx2==2.16.0 | ||||
| 22 | +huggingface-hub==2.4.0 | ||||
| 23 | +idna==3.20 | ||||
| 24 | +igraph==1.0.0 | ||||
| 25 | +iniconfig==2.3.1 | ||||
| 26 | +interface-meta==2.0.1 | ||||
| 27 | +jinja2==3.1.6 | ||||
| 28 | +jiter==0.18.0 | ||||
| 29 | +joblib==1.6.0 | ||||
| 30 | +kiwisolver==1.5.1 | ||||
| 31 | +llvmlite==0.50.0 | ||||
| 32 | +lxml==6.1.3 | ||||
| 33 | +markdown-it-py==4.2.0 | ||||
| 34 | +markupsafe==3.0.4 | ||||
| 35 | +matplotlib==3.11.2 | ||||
| 36 | +mdurl==0.1.2 | ||||
| 37 | +mpmath==1.3.0 | ||||
| 38 | +narwhals==2.28.0 | ||||
| 39 | +networkx==3.7 | ||||
| 40 | +numba==0.68.1 | ||||
| 41 | +numpy==2.5.4 | ||||
| 42 | +opentelemetry-api==1.45.2 | ||||
| 43 | +orjson==3.13.0 | ||||
| 44 | +packaging==26.3 | ||||
| 45 | +pandas==3.1.0 | ||||
| 46 | +patsy==1.0.3 | ||||
| 47 | +pillow==13.0.0 | ||||
| 48 | +pluggy==1.7.0 | ||||
| 49 | +polars==2.1.0 | ||||
| 50 | +polars-runtime-32==2.1.0 | ||||
| 51 | +pyarrow==26.0.0 | ||||
| 52 | +pydantic==2.14.2 | ||||
| 53 | +pydantic-core==2.50.2 | ||||
| 54 | +pygments==2.21.0 | ||||
| 55 | +pynndescent==0.7.0 | ||||
| 56 | +pyparsing==3.3.3 | ||||
| 57 | +pytest==9.2.0 | ||||
| 58 | +python-dateutil==4.0.0 | ||||
| 59 | +python-igraph==1.0.0 | ||||
| 60 | +pyyaml==6.0.3 | ||||
| 61 | +regex==2026.9.29 | ||||
| 62 | +requests==2.34.2 | ||||
| 63 | +rich==15.0.0 | ||||
| 64 | +ruptures==1.1.10 | ||||
| 65 | +safetensors==0.8.0 | ||||
| 66 | +scikit-learn==1.9.1 | ||||
| 67 | +scipy==1.18.1 | ||||
| 68 | +sentence-transformers==6.2.0 | ||||
| 69 | +setuptools==84.2.1 | ||||
| 70 | +shellingham==1.5.4 | ||||
| 71 | +sniffio==1.3.1 | ||||
| 72 | +statsmodels==0.15.0 | ||||
| 73 | +sympy==1.14.0 | ||||
| 74 | +texttable==1.7.2 | ||||
| 75 | +threadpoolctl==3.7.0 | ||||
| 76 | +tokenizers==0.23.3 | ||||
| 77 | +torch==2.15.0 | ||||
| 78 | +tqdm==4.70.1 | ||||
| 79 | +transformers==5.22.1 | ||||
| 80 | +truststore==0.10.5 | ||||
| 81 | +typer==0.27.3 | ||||
| 82 | +typing-extensions==4.16.0 | ||||
| 83 | +typing-inspection==0.4.4 | ||||
| 84 | +tzdata==2026.6 | ||||
| 85 | +umap-learn==0.5.12 | ||||
| 86 | +urllib3==2.8.0 | ||||
| 87 | +wrapt==2.5.2 | ||||
| 88 | +zstandard==0.25.0 | ||||
| 89 | +Python 3.12.15 | ||||
| 90 | +26.4 | ||||
| 91 | +Apple M3 Ultra | ||||
| 92 | +103079215104 | ||||
added
taxonomy/ONTOLOGY.md
+673 −0
@@ -0,0 +1,673 @@ | |||||
| 1 | +# WP44 Ontology of Computer-Science Research (v1.0, 2026-11-03) | ||||
| 2 | + | ||||
| 3 | +Agent D (Taxonomy Architect). This document describes the extensible hierarchical ontology used to classify every | ||||
| 4 | +work of the WP44 corpus into the 40 leaf categories of `CLAUDE.md` section 4 (multi-label). The mapping itself is | ||||
| 5 | +*data*: it lives in `taxonomy/src/*.py` (one module per area), is validated and serialised by | ||||
| 6 | +`taxonomy/build_ontology.py` into `taxonomy/ontology.yaml` (the machine-readable ontology) and | ||||
| 7 | +`taxonomy/topic_map.csv` (the OpenAlex-topic audit table). Everything between the two markers below is generated by | ||||
| 8 | +the script and must not be edited by hand; everything outside the markers is written by hand. | ||||
| 9 | + | ||||
| 10 | +## 1. Design | ||||
| 11 | + | ||||
| 12 | +**Three levels.** Eight top-level *areas* group the 40 *leaves* (every leaf belongs to exactly one area); a small set | ||||
| 13 | +of `parent_of` / `child_of` edges records where a leaf is a specialisation of another leaf | ||||
| 14 | +(`llm` and `multimodal_ai` under `foundation_models`; `compilers` under `programming_languages`; `cloud_computing` | ||||
| 15 | +and `edge_computing` under `distributed_computing`; `federated_learning` under `privacy_preserving_computation`; | ||||
| 16 | +`ai_accelerators` under `computer_architecture`); `related` edges record the dense is-related-to graph between | ||||
| 17 | +leaves. The areas are an organisational device for the manuscript (Parts V–VII) and for reporting; classification | ||||
| 18 | +operates on leaves only. | ||||
| 19 | + | ||||
| 20 | +**Five signal types, one rule.** Each leaf lists weighted signals of five kinds: OpenAlex topics (from any field, not | ||||
| 21 | +only field 17), OpenAlex subfields (coarse fallback), arXiv categories, DBLP venue streams, and keyword regexes | ||||
| 22 | +over title and/or abstract; optional exclusion regexes veto the leaf. The assignment rule is deliberately simple so | ||||
| 23 | +that another agent can audit it: for each signal type the weights of matched signals are summed and capped at 1.0; | ||||
| 24 | +the capped values are summed across types; a work belongs to a leaf if the score is at least 1.0, and the primary | ||||
| 25 | +leaf is the argmax (ties: child before parent, then lower category number). A weight of 1.0 therefore means "this | ||||
| 26 | +signal alone suffices" (e.g. `cs.CV` for `computer_vision`, the regex `large language models?` for `llm`); a weight | ||||
| 27 | +of 0.3–0.6 means "corroborate with another signal type". | ||||
| 28 | + | ||||
| 29 | +**Keyword-sufficient categories.** Six AI categories that OpenAlex topics cannot separate (LLM, foundation models, | ||||
| 30 | +multimodal, generative AI, agents, AI safety) and seven small categories (federated learning, sustainable computing, | ||||
| 31 | +autonomous scientific discovery, privacy-preserving computation, blockchain, quantum computing, edge computing) | ||||
| 32 | +have at least one keyword pattern of weight 1.0; the build fails otherwise. Patterns use word boundaries, require a | ||||
| 33 | +computing qualifier on ambiguous tokens (`<qualifier> agent`, `<qualifier> accelerator`, `<qualifier> architecture`) | ||||
| 34 | +and never rely on single ambiguous words such as "agent", "model", "cloud", "edge" or "kernel". Where a polysemous | ||||
| 35 | +term is unavoidable, an anchored exclusion of the form `^(?!.*<computing term>).*<non-computing sense>` vetoes the | ||||
| 36 | +leaf only when *no* computing term appears anywhere in the text. | ||||
| 37 | + | ||||
| 38 | +**Provenance.** Every leaf carries a `provenance` note explaining how its mapping was built (which OpenAlex keyword | ||||
| 39 | +lists were inspected, why a venue is partial, which senses are vetoed). Topic weights were set by reading the | ||||
| 40 | +OpenAlex keyword lists of all 302 field-17 topics and of about 120 CS-adjacent topics from Mathematics, Engineering, | ||||
| 41 | +Decision Sciences, Physics, Biochemistry, Social Sciences and Medicine; stream weights by venue purity (a venue that | ||||
| 42 | +publishes only the category gets 1.0; shared venues 0.2–0.8); arXiv weights by the category's correspondence to the | ||||
| 43 | +arXiv taxonomy. | ||||
| 44 | + | ||||
| 45 | +## 2. Known ambiguities (decisions taken) | ||||
| 46 | + | ||||
| 47 | +- **LLM vs foundation model vs generative AI vs NLP.** `foundation_models` is the parent concept (any modality, | ||||
| 48 | + adaptation-oriented); `llm` is its language child and is the home of ChatGPT/GPT/LLaMA-era work; `generative_ai` | ||||
| 49 | + is about the generative model and its outputs (diffusion, GANs, text-to-X, deepfakes), not about text generation | ||||
| 50 | + by LLMs as such; `nlp` keeps task-framed language work. Multi-label assignment is expected: an instruction-tuning | ||||
| 51 | + paper scores in `llm` and `nlp`, a diffusion-LLM paper in `llm` and `generative_ai`. The OpenAlex topic T10028 | ||||
| 52 | + ("Topic Modeling") is in fact the host of BERT/pre-trained-LM/RAG work and is weighted 1.0 for `llm`. | ||||
| 53 | +- **AI agents vs reinforcement learning vs robotics.** Software autonomy (LLM agents, MAS, planning) is `ai_agents`; | ||||
| 54 | + learning from reward is `reinforcement_learning`; physical embodiment is `robotics`. "Agent" alone never counts; | ||||
| 55 | + chemical/medical/commercial agents are vetoed. | ||||
| 56 | +- **AI safety vs cybersecurity vs ML theory (XAI).** Adversarial examples, backdoors and prompt injection score in | ||||
| 57 | + both `ai_safety` (0.8) and `cybersecurity` (0.8); fairness and governance belong to `ai_safety`; XAI as a | ||||
| 58 | + statistical method is `ml_theory` (0.5) and as a safety practice `ai_safety` (interpretability of LLMs, 1.0). | ||||
| 59 | +- **Cloud vs distributed vs edge.** `distributed_computing` is the parent (algorithms, HPC systems, consensus); | ||||
| 60 | + `cloud_computing` is the service model (virtualisation, serverless, data-centre resource management); | ||||
| 61 | + `edge_computing` is placement near users/devices (offloading, MEC, on-device inference). IoT topics are shared | ||||
| 62 | + between `edge_computing` and `computer_networks`. | ||||
| 63 | +- **Cryptography vs security vs privacy.** Primitives and protocols are `applied_cryptography`; attacks, defences | ||||
| 64 | + and systems hardening are `cybersecurity`; using cryptography or statistics to protect data is | ||||
| 65 | + `privacy_preserving_computation`, whose child `federated_learning` has no OpenAlex topic or venue of its own and | ||||
| 66 | + is keyword-driven. T10764 ("Privacy-Preserving Technologies in Data") hosts both the parent (1.0) and the child (0.7). | ||||
| 67 | +- **Computer architecture vs AI accelerators vs operating systems.** Accelerators are a child of architecture and | ||||
| 68 | + include efficient-inference *systems* (vLLM, FlashAttention, quantisation for hardware); OS has no OpenAlex topic | ||||
| 69 | + and is carried by OSDI/SOSP/EuroSys/ATC/FAST streams, `cs.OS` and kernel/file-system keywords. | ||||
| 70 | +- **Quantum computing vs quantum physics.** Only computing/information-processing framings count; Physics topics on | ||||
| 71 | + qubit platforms are weighted 0.2–0.3 and a veto removes quantum-physics texts without any computing term. | ||||
| 72 | +- **Scientific computing vs computational biology vs autonomous discovery.** Numerical method → scientific | ||||
| 73 | + computing; biological object → computational biology; AI driving the scientific process itself → autonomous | ||||
| 74 | + discovery (keyword-driven, with a veto when no AI/automation term is present). | ||||
| 75 | +- **Algorithms vs complexity.** STOC/FOCS/ICALP are shared; ECCC/ToCT and `cs.CC` are complexity-only; metaheuristics | ||||
| 76 | + and evolutionary computation are counted as algorithms (0.5–0.6) because the corpus will contain many of them. | ||||
| 77 | +- **Education, media and other field-17 residues.** OpenAlex places 67 education/media/physics/generic clusters in | ||||
| 78 | + field 17; 63 of them are deliberately unmapped (listed with reasons below), 4 were mapped at low weight. | ||||
| 79 | + | ||||
| 80 | +## 3. Limitations | ||||
| 81 | + | ||||
| 82 | +The weights are expert priors, not fitted parameters; Phase 2 must validate them on the manually reviewed sample | ||||
| 83 | +(agreement statistics) and may re-weight. Venue weights are per DBLP stream, so workshop volumes sharing a stream | ||||
| 84 | +key with a flagship conference inherit its weight. OpenAlex keyword lists were read in full for the field-17 topics | ||||
| 85 | +and for the CS-adjacent topics named in the modules, but not for the remaining ~4,000 topics; a few relevant topics | ||||
| 86 | +from Medicine or Materials Science may therefore be missing and should be added when the corpus reveals them. | ||||
| 87 | + | ||||
| 88 | +<!-- BEGIN GENERATED --> | ||||
| 89 | +_Generated by `taxonomy/build_ontology.py` on 2026-11-03 from `openalex_topics_2026-10-14.csv` (4,516 topics) and `dblp_streams_2018_2026.csv` (3,569 streams). Do not edit between the markers._ | ||||
| 90 | + | ||||
| 91 | +## Areas and leaves | ||||
| 92 | + | ||||
| 93 | +| Area | Name | Leaves | | ||||
| 94 | +|---|---|---| | ||||
| 95 | +| `ai_ml` | Artificial Intelligence and Machine Learning | `llm`, `foundation_models`, `multimodal_ai`, `generative_ai`, `ai_agents`, `reinforcement_learning`, `ml_theory`, `deep_learning_architectures`, `ai_safety` | | ||||
| 96 | +| `perception_interaction` | Perception, Language, Robotics and Interaction | `computer_vision`, `nlp`, `speech_audio`, `robotics`, `hci`, `computer_graphics` | | ||||
| 97 | +| `software_pl` | Software, Programming Languages and Formal Methods | `software_engineering`, `programming_languages`, `compilers`, `formal_verification` | | ||||
| 98 | +| `theory` | Theory of Computation | `algorithms`, `computational_complexity` | | ||||
| 99 | +| `data_distributed` | Data, Information and Distributed Systems | `database_systems`, `information_retrieval`, `distributed_computing`, `cloud_computing`, `edge_computing`, `computer_networks` | | ||||
| 100 | +| `security_privacy` | Security, Privacy and Trust | `cybersecurity`, `applied_cryptography`, `blockchain`, `privacy_preserving_computation`, `federated_learning` | | ||||
| 101 | +| `hardware_emerging` | Hardware, Architecture and Emerging Computing | `computer_architecture`, `ai_accelerators`, `operating_systems`, `quantum_computing`, `sustainable_computing` | | ||||
| 102 | +| `computational_science` | Computational Science and Discovery | `scientific_computing`, `computational_biology`, `autonomous_scientific_discovery` | | ||||
| 103 | + | ||||
| 104 | +## The 40 categories | ||||
| 105 | + | ||||
| 106 | +**1. Large Language Models** (`llm`, area `ai_ml`) | ||||
| 107 | +Research whose object is a transformer-based language model trained at scale: pre-training, instruction tuning, prompting and in-context learning, reasoning, retrieval augmentation, efficient inference, evaluation and benchmarks of LLMs. Excludes classical NLP tasks solved with small task-specific models (nlp) and non-language foundation models (foundation_models). | ||||
| 108 | +_child of `foundation_models`; related to `foundation_models`, `nlp`, `generative_ai`, `ai_agents`, `ai_safety`._ | ||||
| 109 | + | ||||
| 110 | +**2. Foundation Models** (`foundation_models`, area `ai_ml`) | ||||
| 111 | +Large pre-trained models intended for adaptation to many downstream tasks in any modality: scaling laws, pre-training objectives, self-supervised representation learning at scale, transfer, fine-tuning and adapter methods, model releases and their evaluation. Language-specific work is llm (a child); vision-language work is multimodal_ai (a child). | ||||
| 112 | +_parent of `llm`, `multimodal_ai`; related to `llm`, `multimodal_ai`, `generative_ai`, `deep_learning_architectures`, `ml_theory`._ | ||||
| 113 | + | ||||
| 114 | +**3. Multimodal AI** (`multimodal_ai`, area `ai_ml`) | ||||
| 115 | +Models and systems that jointly process two or more modalities (vision-language, audio-visual, video-text, 3D-language, sensors with language): vision-language models and multimodal LLMs, captioning, visual question answering, cross-modal retrieval and grounding. Unimodal vision is computer_vision; pure speech is speech_audio. | ||||
| 116 | +_child of `foundation_models`; related to `computer_vision`, `nlp`, `llm`, `speech_audio`, `generative_ai`._ | ||||
| 117 | + | ||||
| 118 | +**4. Generative AI** (`generative_ai`, area `ai_ml`) | ||||
| 119 | +Models that synthesise new content (images, video, audio, 3D, text, code, molecules) and their training, sampling, evaluation, detection and misuse: GANs, VAEs, diffusion and flow models, autoregressive generators, text-to-X synthesis, deepfakes and AI-generated-content detection. LLM text generation as such is llm unless the contribution concerns the generative model or its outputs' authenticity. | ||||
| 120 | +_related to `llm`, `multimodal_ai`, `computer_vision`, `computer_graphics`, `foundation_models`, `speech_audio`._ | ||||
| 121 | + | ||||
| 122 | +**5. AI Agents and Autonomous Systems** (`ai_agents`, area `ai_ml`) | ||||
| 123 | +Software agents that perceive, decide and act with some autonomy: LLM-based agents and tool use, multi-agent systems, planning and automated reasoning for acting, agent architectures, negotiation, agentic workflows and benchmarks, embodied agents in simulated environments. Physical robots are robotics; RL algorithms as such are reinforcement_learning. | ||||
| 124 | +_related to `llm`, `reinforcement_learning`, `robotics`, `ai_safety`, `autonomous_scientific_discovery`._ | ||||
| 125 | + | ||||
| 126 | +**6. Reinforcement Learning** (`reinforcement_learning`, area `ai_ml`) | ||||
| 127 | +Learning to act from reward signals: value- and policy-based methods, model-based RL, offline and inverse RL, multi-agent RL, bandits, exploration, reward design, RL from human feedback, and RL theory. Applications to robot control are shared with robotics. | ||||
| 128 | +_related to `ai_agents`, `robotics`, `ml_theory`, `ai_safety`, `llm`._ | ||||
| 129 | + | ||||
| 130 | +**7. Machine Learning Theory** (`ml_theory`, area `ai_ml`) | ||||
| 131 | +Statistical and computational learning theory and principled ML methodology: generalisation and sample complexity, optimisation theory for learning, kernel and Bayesian methods, probabilistic models, causal inference, online learning, PAC learning, interpretability and fairness as formal problems. Architecture engineering is deep_learning_architectures. | ||||
| 132 | +_related to `deep_learning_architectures`, `reinforcement_learning`, `algorithms`, `computational_complexity`, `ai_safety`, `foundation_models`._ | ||||
| 133 | + | ||||
| 134 | +**8. Deep Learning Architectures** (`deep_learning_architectures`, area `ai_ml`) | ||||
| 135 | +Design, training and compression of neural network architectures as such: CNNs, RNNs, transformers and attention, graph neural networks, state-space models, normalisation and optimisers in practice, neural architecture search, pruning, quantisation and distillation, neuromorphic and spiking networks as models. Task-specific results go to the application category; hardware goes to ai_accelerators. | ||||
| 136 | +_related to `ml_theory`, `computer_vision`, `nlp`, `ai_accelerators`, `foundation_models`, `llm`._ | ||||
| 137 | + | ||||
| 138 | +**9. Computer Vision** (`computer_vision`, area `perception_interaction`) | ||||
| 139 | +Extracting information from images, video and 3D data: recognition, detection, segmentation, tracking, pose, depth and 3D reconstruction, image restoration and enhancement, medical and remote-sensing image analysis, visual representation learning. Image synthesis is generative_ai; vision-language is multimodal_ai; rendering is computer_graphics. | ||||
| 140 | +_related to `multimodal_ai`, `computer_graphics`, `robotics`, `deep_learning_architectures`, `generative_ai`, `computational_biology`._ | ||||
| 141 | + | ||||
| 142 | +**10. Natural Language Processing** (`nlp`, area `perception_interaction`) | ||||
| 143 | +Computational processing of human language: machine translation, parsing and tagging, information extraction, sentiment and text classification, summarisation, question answering, dialogue, text mining, computational linguistics, low-resource and multilingual NLP, NLP evaluation and resources. LLM-centred work is llm (also classified here when the task framing dominates). | ||||
| 144 | +_related to `llm`, `speech_audio`, `information_retrieval`, `multimodal_ai`, `computational_biology`._ | ||||
| 145 | + | ||||
| 146 | +**11. Speech and Audio Computing** (`speech_audio`, area `perception_interaction`) | ||||
| 147 | +Processing and generation of speech, music and general audio: speech recognition and synthesis, speaker and language recognition, enhancement and separation, spoken language understanding, music information retrieval and generation, audio event detection, neural audio codecs. Text-only dialogue is nlp. | ||||
| 148 | +_related to `nlp`, `multimodal_ai`, `generative_ai`, `llm`._ | ||||
| 149 | + | ||||
| 150 | +**12. Robotics** (`robotics`, area `perception_interaction`) | ||||
| 151 | +Machines that sense and act in the physical world: manipulation, locomotion, motion and path planning, SLAM and localisation, robot learning, human-robot interaction, autonomous vehicles and drones as robotic systems, soft and swarm robotics, teleoperation. RL algorithms are reinforcement_learning; robotic process automation and surgical-outcome studies are excluded. | ||||
| 152 | +_related to `reinforcement_learning`, `computer_vision`, `ai_agents`, `hci`, `edge_computing`._ | ||||
| 153 | + | ||||
| 154 | +**13. Human-Computer Interaction** (`hci`, area `perception_interaction`) | ||||
| 155 | +Design, evaluation and understanding of interactive systems and their users: user studies and usability, interaction techniques, VR/AR/XR, accessibility and assistive technology, CSCW and social computing, human-AI interaction, ubiquitous and wearable computing, affective computing. Rendering is computer_graphics; physical robots are robotics. | ||||
| 156 | +_related to `computer_graphics`, `robotics`, `ai_safety`, `multimodal_ai`, `software_engineering`, `information_retrieval`._ | ||||
| 157 | + | ||||
| 158 | +**14. Software Engineering** (`software_engineering`, area `software_pl`) | ||||
| 159 | +How software is specified, built, tested, maintained and studied: requirements, architecture, testing and debugging, program repair, mining software repositories, empirical studies of developers, DevOps, model-driven engineering, open-source ecosystems, and AI-assisted software development. Language design is programming_languages; proofs of correctness are formal_verification. | ||||
| 160 | +_related to `programming_languages`, `formal_verification`, `llm`, `hci`, `ai_agents`, `operating_systems`._ | ||||
| 161 | + | ||||
| 162 | +**15. Programming Languages** (`programming_languages`, area `software_pl`) | ||||
| 163 | +Design, semantics, type systems and implementation principles of programming languages: type theory, operational and denotational semantics, functional and logic programming, effects, concurrency models, memory safety, domain-specific languages, program analysis as a language problem. Code generation and optimisation pipelines are compilers (a child); machine-checked correctness is formal_verification. | ||||
| 164 | +_parent of `compilers`; related to `compilers`, `formal_verification`, `software_engineering`, `computational_complexity`._ | ||||
| 165 | + | ||||
| 166 | +**16. Compilers** (`compilers`, area `software_pl`) | ||||
| 167 | +Translation and optimisation of programs for execution: compiler construction, intermediate representations, optimisation passes, code generation, JIT compilation, auto-vectorisation and parallelisation, polyhedral methods, high-level synthesis, and compilers for machine-learning workloads and accelerators. A child of programming_languages. | ||||
| 168 | +_child of `programming_languages`; related to `programming_languages`, `ai_accelerators`, `computer_architecture`, `scientific_computing`, `distributed_computing`._ | ||||
| 169 | + | ||||
| 170 | +**17. Formal Verification** (`formal_verification`, area `software_pl`) | ||||
| 171 | +Mathematically rigorous establishment of system properties: model checking, theorem proving and proof assistants, SAT/SMT solving and automated reasoning, deductive and runtime verification, verified software and hardware, formal semantics as a verification tool, verification of neural networks, smart contracts and protocols, automata and temporal logics. Language semantics as design is programming_languages. | ||||
| 172 | +_related to `programming_languages`, `software_engineering`, `computational_complexity`, `applied_cryptography`, `ai_safety`, `computer_architecture`._ | ||||
| 173 | + | ||||
| 174 | +**18. Algorithms and Data Structures** (`algorithms`, area `theory`) | ||||
| 175 | +Design and analysis of algorithms and data structures: graph, string, geometric, approximation, randomized, online, streaming, parallel and parameterized algorithms, combinatorial optimisation and metaheuristics, algorithmic game theory, algorithm engineering, and the combinatorics that underpins them. Lower bounds and hardness as such are computational_complexity; numerical algorithms are scientific_computing. | ||||
| 176 | +_related to `computational_complexity`, `ml_theory`, `computer_graphics`, `database_systems`, `distributed_computing`, `scientific_computing`._ | ||||
| 177 | + | ||||
| 178 | +**19. Computational Complexity** (`computational_complexity`, area `theory`) | ||||
| 179 | +The intrinsic difficulty of computational problems: complexity classes and their separations, hardness of approximation, circuit, proof, communication and query complexity, fine-grained and parameterized complexity, pseudorandomness and derandomization, computability and automata theory, algebraic complexity, and quantum complexity. Algorithm design is algorithms; cryptographic hardness assumptions are applied_cryptography. | ||||
| 180 | +_related to `algorithms`, `formal_verification`, `quantum_computing`, `applied_cryptography`, `ml_theory`._ | ||||
| 181 | + | ||||
| 182 | +**20. Database Systems** (`database_systems`, area `data_distributed`) | ||||
| 183 | +Storage, querying and management of structured and semi-structured data: query processing and optimisation, transactions and concurrency control, indexing and storage engines, data integration, cleaning and provenance, big-data processing frameworks, data mining as a data-management problem, learned database components, vector and graph databases. Ranking of unstructured documents is information_retrieval. | ||||
| 184 | +_related to `information_retrieval`, `distributed_computing`, `cloud_computing`, `algorithms`, `ml_theory`._ | ||||
| 185 | + | ||||
| 186 | +**21. Information Retrieval** (`information_retrieval`, area `data_distributed`) | ||||
| 187 | +Finding and ranking relevant information for a user need: search engines and ranking models, dense and sparse retrieval, recommender systems, query understanding, evaluation and test collections, web search and mining, scholarly and digital-library retrieval, retrieval components of RAG systems. Structured query processing is database_systems; text understanding tasks are nlp. | ||||
| 188 | +_related to `nlp`, `database_systems`, `llm`, `hci`, `ml_theory`._ | ||||
| 189 | + | ||||
| 190 | +**22. Distributed Computing** (`distributed_computing`, area `data_distributed`) | ||||
| 191 | +Computation across multiple processors or machines: distributed algorithms and consensus, fault tolerance and replication, parallel programming and HPC systems software, cluster and grid resource management, distributed storage and middleware, distributed and parallel ML training systems. Cloud service models are cloud_computing and edge placement is edge_computing (both children). | ||||
| 192 | +_parent of `cloud_computing`, `edge_computing`; related to `cloud_computing`, `edge_computing`, `computer_networks`, `database_systems`, `operating_systems`, `scientific_computing`, `blockchain`, `federated_learning`._ | ||||
| 193 | + | ||||
| 194 | +**23. Cloud Computing** (`cloud_computing`, area `data_distributed`) | ||||
| 195 | +Computing delivered as elastic, multi-tenant, on-demand services: IaaS/PaaS/SaaS and serverless, virtualisation and containers, resource provisioning and auto-scaling, SLAs and pricing, cloud-native architectures, data-centre resource management, cloud security and migration. A child of distributed_computing; placement at the network edge is edge_computing. | ||||
| 196 | +_child of `distributed_computing`; related to `distributed_computing`, `edge_computing`, `operating_systems`, `computer_networks`, `sustainable_computing`, `cybersecurity`._ | ||||
| 197 | + | ||||
| 198 | +**24. Edge Computing** (`edge_computing`, area `data_distributed`) | ||||
| 199 | +Computation placed near data sources and users: edge/fog/MEC architectures, computation offloading, on-device and TinyML inference, edge-cloud collaboration and split computing, IoT platforms as computing substrates, latency-critical edge services, edge caching and orchestration. Radio access and protocols are computer_networks; model compression as such is deep_learning_architectures or ai_accelerators. | ||||
| 200 | +_child of `distributed_computing`; related to `cloud_computing`, `computer_networks`, `federated_learning`, `ai_accelerators`, `sustainable_computing`, `robotics`, `distributed_computing`._ | ||||
| 201 | + | ||||
| 202 | +**25. Computer Networks** (`computer_networks`, area `data_distributed`) | ||||
| 203 | +Design, protocols, measurement and performance of communication networks: Internet architecture and transport, routing, wireless and mobile networks, 5G/6G and software-defined networking, network management, sensor and vehicular networks, content delivery and caching, network coding and information theory applied to networking. Physical-layer signal processing is included only when framed as networking. | ||||
| 204 | +_related to `distributed_computing`, `edge_computing`, `cybersecurity`, `cloud_computing`, `applied_cryptography`._ | ||||
| 205 | + | ||||
| 206 | +**26. Cybersecurity** (`cybersecurity`, area `security_privacy`) | ||||
| 207 | +Protecting computing systems, networks, software and users from attack: vulnerability discovery and exploitation, malware and intrusion detection, authentication and access control, system and hardware security, web and mobile security, digital forensics, security of AI systems, security operations and human factors of security. Cryptographic primitives and protocols are applied_cryptography; data-protection techniques are privacy_preserving_computation. | ||||
| 208 | +_related to `applied_cryptography`, `privacy_preserving_computation`, `computer_networks`, `ai_safety`, `blockchain`, `formal_verification`, `operating_systems`, `software_engineering`._ | ||||
| 209 | + | ||||
| 210 | +**27. Applied Cryptography** (`applied_cryptography`, area `security_privacy`) | ||||
| 211 | +Design, analysis, implementation and deployment of cryptographic primitives and protocols: symmetric and public-key schemes, hash functions, signatures, key exchange, post-quantum cryptography, zero-knowledge proofs, secure multi-party computation and homomorphic encryption as primitives, cryptanalysis, side-channel-resistant implementations, cryptographic hardware, provable security, quantum key distribution. Deployment of these primitives for data protection is privacy_preserving_computation; ledgers are blockchain. | ||||
| 212 | +_related to `cybersecurity`, `privacy_preserving_computation`, `blockchain`, `quantum_computing`, `computational_complexity`, `computer_architecture`._ | ||||
| 213 | + | ||||
| 214 | +**28. Blockchain Systems** (`blockchain`, area `security_privacy`) | ||||
| 215 | +Distributed ledgers and the systems built on them: consensus for permissioned and permissionless chains, smart contracts and their security, scalability (sharding, layer-2, rollups), cryptocurrencies and DeFi mechanisms, blockchain applications and governance, measurement of blockchain ecosystems. Generic BFT consensus theory is shared with distributed_computing; primitives are applied_cryptography. | ||||
| 216 | +_related to `applied_cryptography`, `distributed_computing`, `cybersecurity`, `privacy_preserving_computation`, `computer_networks`._ | ||||
| 217 | + | ||||
| 218 | +**29. Computer Architecture** (`computer_architecture`, area `hardware_emerging`) | ||||
| 219 | +Organisation and design of processors, memory systems and digital hardware: microarchitecture, caches and memory hierarchies, interconnects and networks-on-chip, FPGAs and reconfigurable computing, embedded and real-time systems, hardware/software co-design, electronic design automation, VLSI and low-power design, processing-in-memory. Accelerators specialised for ML are ai_accelerators (a child); kernels are operating_systems. | ||||
| 220 | +_parent of `ai_accelerators`; related to `ai_accelerators`, `operating_systems`, `compilers`, `sustainable_computing`, `quantum_computing`, `distributed_computing`, `cybersecurity`._ | ||||
| 221 | + | ||||
| 222 | +**30. Accelerators and AI Hardware** (`ai_accelerators`, area `hardware_emerging`) | ||||
| 223 | +Hardware and hardware-aware software for efficient machine-learning computation: GPU/TPU/NPU design and programming, ASIC and FPGA DNN accelerators, neuromorphic and spiking hardware, in-memory and analog/photonic computing for AI, quantisation and sparsity exploited by hardware, efficient LLM inference and serving systems, ML compilers' hardware mapping, benchmarks such as MLPerf. A child of computer_architecture. | ||||
| 224 | +_child of `computer_architecture`; related to `computer_architecture`, `deep_learning_architectures`, `compilers`, `edge_computing`, `sustainable_computing`, `distributed_computing`, `llm`._ | ||||
| 225 | + | ||||
| 226 | +**31. Operating Systems** (`operating_systems`, area `hardware_emerging`) | ||||
| 227 | +System software that manages hardware and provides execution abstractions: kernels and drivers, scheduling, memory management, file and storage systems, virtualisation and containers, OS security and isolation, I/O and networking stacks, real-time and embedded OS, systems support for new hardware (persistent memory, CXL, SmartNICs). Distributed coordination is distributed_computing; hardware design is computer_architecture. | ||||
| 228 | +_related to `computer_architecture`, `distributed_computing`, `cloud_computing`, `cybersecurity`, `programming_languages`, `edge_computing`._ | ||||
| 229 | + | ||||
| 230 | +**32. Quantum Computing** (`quantum_computing`, area `hardware_emerging`) | ||||
| 231 | +Computation and information processing exploiting quantum mechanics: quantum algorithms and complexity, quantum error correction and fault tolerance, qubit hardware platforms and control, quantum software, compilers and simulators, variational and NISQ algorithms, quantum machine learning, quantum communication and key distribution, quantum networking. Quantum physics without a computational or information-processing framing is out of scope; post-quantum cryptography is applied_cryptography. | ||||
| 232 | +_related to `applied_cryptography`, `computational_complexity`, `computer_architecture`, `scientific_computing`, `compilers`._ | ||||
| 233 | + | ||||
| 234 | +**33. Scientific Computing** (`scientific_computing`, area `computational_science`) | ||||
| 235 | +Numerical and computational methods and software for mathematical models of science and engineering: numerical linear algebra, discretisation of differential equations, solvers and preconditioners, simulation frameworks, uncertainty quantification, reduced-order and surrogate models, scientific machine learning (PINNs, neural operators), high-performance scientific software and performance portability, mathematical software, computational physics/chemistry/engineering tooling. Domain biology is computational_biology; parallel systems software is distributed_computing. | ||||
| 236 | +_related to `distributed_computing`, `computational_biology`, `algorithms`, `computer_graphics`, `ai_accelerators`, `autonomous_scientific_discovery`, `compilers`, `ml_theory`._ | ||||
| 237 | + | ||||
| 238 | +**34. Computational Biology** (`computational_biology`, area `computational_science`) | ||||
| 239 | +Computational methods for biological and biomedical data: bioinformatics and genomics, protein structure and design, molecular modelling and computational drug discovery, single-cell and multi-omics analysis, systems and synthetic biology, biomedical text mining, computational neuroscience, biomedical and health informatics methods, DNA/molecular computing. Medical image analysis is shared with computer_vision; numerical methods as such are scientific_computing. | ||||
| 240 | +_related to `scientific_computing`, `nlp`, `computer_vision`, `ml_theory`, `autonomous_scientific_discovery`, `privacy_preserving_computation`, `generative_ai`._ | ||||
| 241 | + | ||||
| 242 | +**35. Computer Graphics** (`computer_graphics`, area `perception_interaction`) | ||||
| 243 | +Synthesis and manipulation of visual content from models: rendering, geometry processing and modelling, animation and simulation for graphics, neural rendering and 3D representations, visualisation, procedural content, game and VR engines. Image understanding is computer_vision; pixel-space generative models are generative_ai; user studies of VR are hci. | ||||
| 244 | +_related to `computer_vision`, `hci`, `generative_ai`, `scientific_computing`, `algorithms`._ | ||||
| 245 | + | ||||
| 246 | +**36. Privacy-Preserving Computation** (`privacy_preserving_computation`, area `security_privacy`) | ||||
| 247 | +Computing on, releasing or sharing data while limiting what is learned about individuals: differential privacy, homomorphic encryption, secure multi-party computation and TEEs applied to data analysis and ML, anonymisation and synthetic data, private information retrieval, privacy attacks on models and their defences, machine unlearning, privacy engineering and regulation (GDPR). Federated learning is a child; cryptographic constructions as such are applied_cryptography. | ||||
| 248 | +_parent of `federated_learning`; related to `applied_cryptography`, `cybersecurity`, `ai_safety`, `database_systems`, `blockchain`, `federated_learning`, `ml_theory`._ | ||||
| 249 | + | ||||
| 250 | +**37. Federated Learning** (`federated_learning`, area `security_privacy`) | ||||
| 251 | +Training models across multiple clients or institutions without centralising their raw data: federated averaging and optimisation under heterogeneity, communication efficiency, client selection, personalisation, secure aggregation and privacy of federated systems, robustness to malicious clients, vertical and cross-silo federated learning, federated fine-tuning of foundation models, decentralised/gossip learning. A child of privacy_preserving_computation; also linked to distributed_computing and edge_computing. | ||||
| 252 | +_child of `privacy_preserving_computation`; related to `privacy_preserving_computation`, `distributed_computing`, `edge_computing`, `ml_theory`, `ai_safety`, `foundation_models`._ | ||||
| 253 | + | ||||
| 254 | +**38. AI Safety and Alignment** (`ai_safety`, area `ai_ml`) | ||||
| 255 | +Making AI systems safe, aligned, robust, fair, interpretable and governable: alignment and preference learning framed as a safety problem, red-teaming and jailbreaks, adversarial robustness and backdoors, hallucination and truthfulness, bias and fairness, mechanistic interpretability, evaluation of dangerous capabilities, AI governance and regulation. Generic system security is cybersecurity; XAI as a statistical method only is ml_theory. | ||||
| 256 | +_related to `llm`, `ml_theory`, `cybersecurity`, `privacy_preserving_computation`, `ai_agents`, `hci`, `reinforcement_learning`._ | ||||
| 257 | + | ||||
| 258 | +**39. Sustainable Computing** (`sustainable_computing`, area `hardware_emerging`) | ||||
| 259 | +The energy, carbon, water and material footprint of computing and how to reduce it: energy-efficient and carbon-aware systems, data-centre energy and cooling, Green AI and the cost of training and inference, life-cycle and embodied carbon of hardware, green software engineering and networking, energy harvesting and intermittent computing, computing for sustainability when the object studied is the computing system. Generic low-power circuit design is computer_architecture; energy-efficient communication is computer_networks. | ||||
| 260 | +_related to `cloud_computing`, `computer_architecture`, `ai_accelerators`, `edge_computing`, `distributed_computing`, `computer_networks`, `ai_safety`._ | ||||
| 261 | + | ||||
| 262 | +**40. Autonomous Scientific Discovery** (`autonomous_scientific_discovery`, area `computational_science`) | ||||
| 263 | +AI and automation systems that perform or substantially drive the scientific process: AI scientist and research-agent systems, automated hypothesis generation and literature synthesis, self-driving laboratories and closed-loop experimentation, AI-driven discovery of materials, molecules, equations, algorithms or theorems, autonomous experimental design, benchmarks for research agents, and the epistemology and evaluation of machine-generated science. Using ML inside a scientific pipeline without autonomy is scientific_computing or computational_biology; LLM agents in general are ai_agents. | ||||
| 264 | +_related to `ai_agents`, `llm`, `scientific_computing`, `computational_biology`, `formal_verification`, `algorithms`, `information_retrieval`, `ai_safety`._ | ||||
| 265 | + | ||||
| 266 | +## Hierarchy (parent → child edges) | ||||
| 267 | + | ||||
| 268 | +- `foundation_models` → `llm` | ||||
| 269 | +- `foundation_models` → `multimodal_ai` | ||||
| 270 | +- `programming_languages` → `compilers` | ||||
| 271 | +- `distributed_computing` → `cloud_computing` | ||||
| 272 | +- `distributed_computing` → `edge_computing` | ||||
| 273 | +- `computer_architecture` → `ai_accelerators` | ||||
| 274 | +- `privacy_preserving_computation` → `federated_learning` | ||||
| 275 | + | ||||
| 276 | +## Signal counts per category | ||||
| 277 | + | ||||
| 278 | +| # | id | topics | subfields | arXiv | DBLP streams | keywords | exclusions | keyword alone reaches threshold | | ||||
| 279 | +|---|---|---|---|---|---|---|---|---| | ||||
| 280 | +| 1 | `llm` | 6 | 1 | 3 | 12 | 12 | 0 | yes | | ||||
| 281 | +| 2 | `foundation_models` | 5 | 1 | 4 | 8 | 10 | 0 | yes | | ||||
| 282 | +| 3 | `multimodal_ai` | 5 | 1 | 4 | 15 | 9 | 1 | yes | | ||||
| 283 | +| 4 | `generative_ai` | 5 | 0 | 6 | 9 | 11 | 2 | yes | | ||||
| 284 | +| 5 | `ai_agents` | 5 | 1 | 2 | 12 | 9 | 1 | yes | | ||||
| 285 | +| 6 | `reinforcement_learning` | 4 | 0 | 5 | 8 | 9 | 1 | yes | | ||||
| 286 | +| 7 | `ml_theory` | 20 | 1 | 4 | 51 | 11 | 0 | yes | | ||||
| 287 | +| 8 | `deep_learning_architectures` | 11 | 1 | 4 | 21 | 12 | 1 | yes | | ||||
| 288 | +| 9 | `computer_vision` | 44 | 1 | 2 | 58 | 10 | 0 | yes | | ||||
| 289 | +| 10 | `nlp` | 22 | 1 | 2 | 29 | 8 | 0 | yes | | ||||
| 290 | +| 11 | `speech_audio` | 10 | 1 | 4 | 16 | 5 | 0 | yes | | ||||
| 291 | +| 12 | `robotics` | 23 | 0 | 3 | 41 | 4 | 2 | yes | | ||||
| 292 | +| 13 | `hci` | 24 | 1 | 3 | 44 | 10 | 0 | yes | | ||||
| 293 | +| 14 | `software_engineering` | 20 | 1 | 1 | 39 | 5 | 0 | yes | | ||||
| 294 | +| 15 | `programming_languages` | 6 | 0 | 3 | 22 | 6 | 0 | yes | | ||||
| 295 | +| 16 | `compilers` | 4 | 0 | 5 | 25 | 5 | 0 | yes | | ||||
| 296 | +| 17 | `formal_verification` | 10 | 0 | 4 | 43 | 7 | 0 | yes | | ||||
| 297 | +| 18 | `algorithms` | 35 | 1 | 7 | 68 | 10 | 0 | yes | | ||||
| 298 | +| 19 | `computational_complexity` | 9 | 1 | 7 | 28 | 7 | 1 | yes | | ||||
| 299 | +| 20 | `database_systems` | 21 | 1 | 1 | 36 | 5 | 1 | yes | | ||||
| 300 | +| 21 | `information_retrieval` | 20 | 1 | 3 | 29 | 6 | 0 | yes | | ||||
| 301 | +| 22 | `distributed_computing` | 16 | 1 | 4 | 51 | 7 | 1 | yes | | ||||
| 302 | +| 23 | `cloud_computing` | 11 | 0 | 4 | 29 | 5 | 1 | yes | | ||||
| 303 | +| 24 | `edge_computing` | 13 | 0 | 4 | 38 | 5 | 1 | yes | | ||||
| 304 | +| 25 | `computer_networks` | 45 | 1 | 4 | 96 | 5 | 0 | yes | | ||||
| 305 | +| 26 | `cybersecurity` | 34 | 0 | 1 | 29 | 6 | 1 | yes | | ||||
| 306 | +| 27 | `applied_cryptography` | 14 | 0 | 4 | 29 | 6 | 0 | yes | | ||||
| 307 | +| 28 | `blockchain` | 6 | 0 | 3 | 19 | 4 | 1 | yes | | ||||
| 308 | +| 29 | `computer_architecture` | 21 | 1 | 5 | 59 | 4 | 1 | yes | | ||||
| 309 | +| 30 | `ai_accelerators` | 11 | 0 | 5 | 44 | 5 | 1 | yes | | ||||
| 310 | +| 31 | `operating_systems` | 12 | 0 | 5 | 39 | 4 | 1 | yes | | ||||
| 311 | +| 32 | `quantum_computing` | 16 | 0 | 6 | 27 | 3 | 1 | yes | | ||||
| 312 | +| 33 | `scientific_computing` | 41 | 1 | 6 | 57 | 4 | 0 | yes | | ||||
| 313 | +| 34 | `computational_biology` | 34 | 1 | 3 | 60 | 3 | 0 | yes | | ||||
| 314 | +| 35 | `computer_graphics` | 15 | 1 | 4 | 21 | 9 | 0 | yes | | ||||
| 315 | +| 36 | `privacy_preserving_computation` | 13 | 0 | 4 | 26 | 5 | 1 | yes | | ||||
| 316 | +| 37 | `federated_learning` | 4 | 0 | 4 | 15 | 5 | 1 | yes | | ||||
| 317 | +| 38 | `ai_safety` | 8 | 0 | 5 | 13 | 14 | 1 | yes | | ||||
| 318 | +| 39 | `sustainable_computing` | 11 | 0 | 6 | 28 | 4 | 1 | yes | | ||||
| 319 | +| 40 | `autonomous_scientific_discovery` | 12 | 0 | 8 | 26 | 4 | 1 | yes | | ||||
| 320 | + | ||||
| 321 | +Totals: 646 topic→category weights over 410 distinct topics; 1320 stream→category weights over 771 distinct streams; 273 keyword patterns; 24 exclusion patterns. | ||||
| 322 | + | ||||
| 323 | +## OpenAlex coverage | ||||
| 324 | + | ||||
| 325 | +- Field 17 (Computer Science): **240 of 302 topics mapped** (79.5 %); 62 left unmapped with an explicit reason below. | ||||
| 326 | +- Topics mapped from other fields: 170 — 11 Agricultural and Biological Sciences: 1; 12 Arts and Humanities: 5; 13 Biochemistry, Genetics and Molecular Biology: 18; 14 Business, Management and Accounting: 1; 18 Decision Sciences: 8; 19 Earth and Planetary Sciences: 2; 20 Economics, Econometrics and Finance: 1; 21 Energy: 1; 22 Engineering: 71; 23 Environmental Science: 3; 25 Materials Science: 1; 26 Mathematics: 20; 27 Medicine: 6; 28 Neuroscience: 4; 31 Physics and Astronomy: 15; 32 Psychology: 2; 33 Social Sciences: 10; 36 Health Professions: 1. | ||||
| 327 | +- Topics mapped to more than one category: 146 of 410. | ||||
| 328 | + | ||||
| 329 | +### Mapped CS topics per subfield | ||||
| 330 | + | ||||
| 331 | +| Subfield | topics | mapped | unmapped | | ||||
| 332 | +|---|---|---|---| | ||||
| 333 | +| 1702 Artificial Intelligence | 77 | 61 | 16 | | ||||
| 334 | +| 1703 Computational Theory and Mathematics | 24 | 23 | 1 | | ||||
| 335 | +| 1704 Computer Graphics and Computer-Aided Design | 4 | 3 | 1 | | ||||
| 336 | +| 1705 Computer Networks and Communications | 43 | 35 | 8 | | ||||
| 337 | +| 1706 Computer Science Applications | 10 | 7 | 3 | | ||||
| 338 | +| 1707 Computer Vision and Pattern Recognition | 35 | 35 | 0 | | ||||
| 339 | +| 1708 Hardware and Architecture | 8 | 8 | 0 | | ||||
| 340 | +| 1709 Human-Computer Interaction | 8 | 8 | 0 | | ||||
| 341 | +| 1710 Information Systems | 78 | 45 | 33 | | ||||
| 342 | +| 1711 Signal Processing | 10 | 10 | 0 | | ||||
| 343 | +| 1712 Software | 5 | 5 | 0 | | ||||
| 344 | + | ||||
| 345 | +### Unmapped CS topics (field 17) with reason | ||||
| 346 | + | ||||
| 347 | +| topic | name | subfield | works | reason | | ||||
| 348 | +|---|---|---|---|---| | ||||
| 349 | +| T13745 | Media and Digital Communication | 1705 | 204,789 | Media, communication or cultural studies cluster placed in field 17 by OpenAlex; not computer-science research. (204,789 works: 'Media and Digital Communication', the largest unmapped CS topic.) | | ||||
| 350 | +| T14496 | Educational Technology and E-Learning | 1710 | 163,032 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 351 | +| T14516 | English Language Learning and Teaching | 1710 | 107,202 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 352 | +| T14430 | Higher Education and Teaching Methods | 1710 | 103,711 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 353 | +| T12797 | History of Computing Technologies | 1706 | 72,582 | History of computing technologies (history of science); kept out of the research-category map; could feed Part II background. | | ||||
| 354 | +| T12564 | Sensor Technology and Measurement Systems | 1705 | 71,005 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (sensor technology and measurement instrumentation) | | ||||
| 355 | +| T11276 | Solar Radiation and Photovoltaics | 1702 | 70,601 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (solar radiation and photovoltaics) | | ||||
| 356 | +| T14455 | Technology and Education Systems | 1705 | 70,588 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 357 | +| T12157 | Geochemistry and Geologic Mapping | 1702 | 69,914 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (geochemistry and geologic mapping) | | ||||
| 358 | +| T12171 | Open Education and E-Learning | 1706 | 66,332 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 359 | +| T14498 | Educational Technology in Learning | 1710 | 63,096 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 360 | +| T14216 | Multimedia Learning Systems | 1710 | 62,005 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 361 | +| T11187 | Nonlinear Dynamics and Pattern Formation | 1705 | 61,626 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (nonlinear dynamics and pattern formation; mathematical physics) | | ||||
| 362 | +| T14103 | Educational Management and Quality | 1710 | 57,729 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 363 | +| T11370 | Mobile Learning in Education | 1710 | 55,961 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 364 | +| T12408 | Educational Innovations and Challenges | 1710 | 53,673 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 365 | +| T12395 | Educational Innovations and Technology | 1710 | 45,138 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 366 | +| T14025 | Educational Technology and Assessment | 1710 | 37,519 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 367 | +| T13602 | Educational Methods and Media Use | 1710 | 35,313 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 368 | +| T13194 | ICT in Developing Communities | 1710 | 32,298 | ICT for development / digital divide studies (development studies); media, communication or cultural studies cluster placed in field 17 by openalex; not computer-science research. | | ||||
| 369 | +| T13615 | Transportation Systems and Safety | 1704 | 26,785 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (transportation systems and safety; traffic engineering) | | ||||
| 370 | +| T14215 | Chemical and Environmental Engineering Research | 1710 | 25,315 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (chemical and environmental engineering) | | ||||
| 371 | +| T13018 | Seismology and Earthquake Studies | 1702 | 23,104 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (seismology and earthquake studies) | | ||||
| 372 | +| T13081 | Digital Education and Society | 1710 | 22,995 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 373 | +| T14029 | Thoreau and American Literature | 1710 | 19,567 | Literary studies ('Thoreau and American Literature'); media, communication or cultural studies cluster placed in field 17 by openalex; not computer-science research. | | ||||
| 374 | +| T13386 | Educational Methods and Teacher Development | 1710 | 19,565 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 375 | +| T14345 | Scientific Research and Philosophical Inquiry | 1710 | 18,505 | Philosophy of science and research methodology; media, communication or cultural studies cluster placed in field 17 by openalex; not computer-science research. | | ||||
| 376 | +| T13016 | Innovative Educational Technologies | 1710 | 16,953 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 377 | +| T13674 | Computer Science and Engineering | 1702 | 16,620 | Generic, uninformative cluster label (OpenAlex residual topic) whose keyword list has no specific computer-science content; works land in categories via venue, arXiv and keyword signals instead. | | ||||
| 378 | +| T13559 | Edcuational Technology Systems | 1702 | 16,507 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 379 | +| T14381 | Psychiatry, Mental Health, Neuroscience | 1702 | 15,800 | Out-of-scope discipline (psychiatry, economics, healthcare policy, literature, environmental engineering). (psychiatry, mental health, neuroscience) | | ||||
| 380 | +| T14519 | Innovations in Education and Learning Technologies | 1710 | 14,509 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 381 | +| T13062 | Cognitive Computing and Networks | 1702 | 13,053 | Cognitive informatics / brain informatics (concept algebra, abstract intelligence): a small, idiosyncratic cluster with no counterpart in the 40 categories; left unmapped rather than forced into ai_agents. | | ||||
| 382 | +| T13867 | Economic Growth and Development | 1710 | 9,780 | Out-of-scope discipline (psychiatry, economics, healthcare policy, literature, environmental engineering). (economic growth and development) | | ||||
| 383 | +| T13898 | Diverse Interdisciplinary Research Studies | 1702 | 6,495 | Generic, uninformative cluster label (OpenAlex residual topic) whose keyword list has no specific computer-science content; works land in categories via venue, arXiv and keyword signals instead. | | ||||
| 384 | +| T14246 | E-Learning and Knowledge Management | 1706 | 6,373 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 385 | +| T13523 | Mathematics, Computing, and Information Processing | 1703 | 6,343 | Generic, uninformative cluster label (OpenAlex residual topic) whose keyword list has no specific computer-science content; works land in categories via venue, arXiv and keyword signals instead. | | ||||
| 386 | +| T12805 | Cognitive Science and Mapping | 1702 | 5,430 | Cognitive science and mental mapping (psychology/geography); out-of-scope discipline (psychiatry, economics, healthcare policy, literature, environmental engineering). | | ||||
| 387 | +| T13935 | Mathematical Control Systems and Analysis | 1702 | 4,409 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (mathematical control systems; control theory without computing content) | | ||||
| 388 | +| T14409 | Educational Systems and Policies | 1710 | 3,650 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 389 | +| T13565 | Education and Learning Interventions | 1710 | 2,867 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 390 | +| T14071 | Healthcare during COVID-19 Pandemic | 1710 | 2,218 | Out-of-scope discipline (psychiatry, economics, healthcare policy, literature, environmental engineering). (healthcare during the COVID-19 pandemic) | | ||||
| 391 | +| T14403 | Educational Challenges and Innovations | 1710 | 1,150 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 392 | +| T13482 | Engineering Education and Technology | 1710 | 765 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 393 | +| T14351 | Statistical and Computational Modeling | 1702 | 731 | Generic, uninformative cluster label (OpenAlex residual topic) whose keyword list has no specific computer-science content; works land in categories via venue, arXiv and keyword signals instead. | | ||||
| 394 | +| T13932 | Education, Technology, and Economics | 1710 | 577 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 395 | +| T13873 | Educational Methods and Technology | 1710 | 329 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 396 | +| T13676 | Educational and Technological Research | 1710 | 52 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 397 | +| T13345 | Advanced Technologies and Applied Computing | 1705 | 17 | Generic, uninformative cluster label (OpenAlex residual topic) whose keyword list has no specific computer-science content; works land in categories via venue, arXiv and keyword signals instead. | | ||||
| 398 | +| T14387 | Environmental Engineering and Cultural Studies | 1710 | 2 | Physical-science or engineering cluster (no computing contribution) placed in field 17 by OpenAlex. (environmental engineering and cultural studies, 2 works) | | ||||
| 399 | +| T13514 | Experience-Based Knowledge Management | 1702 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 400 | +| T13567 | AI and Multimedia in Education | 1702 | 0 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 401 | +| T13693 | Smart Systems and Machine Learning | 1705 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 402 | +| T13748 | Advanced Statistical Modeling Techniques | 1705 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 403 | +| T13836 | Educational Research and Pedagogy | 1705 | 0 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 404 | +| T13964 | Educational Technology and Optimization | 1710 | 0 | Education / e-learning research (pedagogy, learning outcomes, teacher development); not a CS research category of CLAUDE.md section 4. Educational technology as software is captured through software_engineering/hci venues and keywords when the contribution is technical. | | ||||
| 405 | +| T14064 | Organizational and Employee Performance | 1702 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 406 | +| T14155 | Advanced Technology in Applications | 1710 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 407 | +| T14174 | Artificial Intelligence and Decision Support Systems | 1710 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 408 | +| T14175 | Intuitionistic Fuzzy Systems Applications | 1702 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 409 | +| T14413 | Advanced Technologies in Various Fields | 1702 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 410 | +| T14431 | Diverse Research and Applications | 1710 | 0 | Residual OpenAlex topic with 0 works in the export; nothing to map. | | ||||
| 411 | + | ||||
| 412 | +## DBLP coverage | ||||
| 413 | + | ||||
| 414 | +- Streams mapped: **771** (any rank); records covered (2018–2026, excluding CoRR): 2,017,910 of 3,319,884 (60.8 %). | ||||
| 415 | +- Of the 599 largest streams (CoRR excluded), 496 are mapped (82.8 %). The 103 unmapped large streams are listed below; they are either out of scope (medicine, geoscience, education, management, electronics) or too generic to be a category signal (IEEE Access, Sensors, Symmetry). | ||||
| 416 | + | ||||
| 417 | +| stream | records | name | | ||||
| 418 | +|---|---|---| | ||||
| 419 | +| `journals/access` | 108,838 | IEEE Access | | ||||
| 420 | +| `journals/tim` | 13,470 | IEEE Trans. Instrum. Meas. | | ||||
| 421 | +| `journals/tie` | 10,844 | IEEE Trans. Ind. Electron. | | ||||
| 422 | +| `conf/hicss` | 7,816 | HICSS | | ||||
| 423 | +| `conf/iecon` | 7,727 | IECON | | ||||
| 424 | +| `journals/cea` | 7,291 | Comput. Electron. Agric. | | ||||
| 425 | +| `conf/smc` | 6,048 | SMC | | ||||
| 426 | +| `journals/complexity` | 5,786 | Complex. | | ||||
| 427 | +| `journals/ress` | 5,732 | Reliab. Eng. Syst. Saf. | | ||||
| 428 | +| `journals/tac` | 5,687 | IEEE Trans. Autom. Control. | | ||||
| 429 | +| `journals/information` | 5,621 | Inf. | | ||||
| 430 | +| `journals/taes` | 5,543 | IEEE Trans. Aerosp. Electron. Syst. | | ||||
| 431 | +| `journals/jfi` | 5,432 | J. Frankl. Inst. | | ||||
| 432 | +| `journals/ijgi` | 5,118 | ISPRS Int. J. Geo Inf. | | ||||
| 433 | +| `journals/automatica` | 4,727 | Autom. | | ||||
| 434 | +| `conf/eucc` | 4,160 | ECC | | ||||
| 435 | +| `conf/iccsa` | 3,817 | ICCSA (4) | | ||||
| 436 | +| `conf/fie` | 3,807 | FIE | | ||||
| 437 | +| `conf/amcis` | 3,798 | AMCIS | | ||||
| 438 | +| `journals/peerj-cs` | 3,768 | PeerJ Comput. Sci. | | ||||
| 439 | +| `journals/systems` | 3,667 | Syst. | | ||||
| 440 | +| `journals/csysl` | 3,647 | IEEE Control. Syst. Lett. | | ||||
| 441 | +| `journals/aei` | 3,628 | Adv. Eng. Informatics | | ||||
| 442 | +| `journals/ijpr` | 3,591 | Int. J. Prod. Res. | | ||||
| 443 | +| `journals/sj` | 3,558 | IEEE Syst. J. | | ||||
| 444 | +| `journals/aeog` | 3,321 | Int. J. Appl. Earth Obs. Geoinformation | | ||||
| 445 | +| `conf/icis` | 3,160 | ICIS | | ||||
| 446 | +| `journals/jksucis` | 3,122 | J. King Saud Univ. Comput. Inf. Sci. | | ||||
| 447 | +| `conf/i2mtc` | 2,948 | I2MTC | | ||||
| 448 | +| `journals/chinaf` | 2,937 | Sci. China Inf. Sci. | | ||||
| 449 | +| `journals/tce` | 2,830 | IEEE Trans. Consumer Electron. | | ||||
| 450 | +| `conf/gcce` | 2,686 | GCCE | | ||||
| 451 | +| `journals/tem` | 2,615 | IEEE Trans. Engineering Management | | ||||
| 452 | +| `journals/tinstmc` | 2,606 | Trans. Inst. Meas. Control | | ||||
| 453 | +| `conf/siu` | 2,553 | SIU | | ||||
| 454 | +| `conf/codit` | 2,552 | CoDIT | | ||||
| 455 | +| `conf/tencon` | 2,519 | TENCON | | ||||
| 456 | +| `conf/etfa` | 2,452 | ETFA | | ||||
| 457 | +| `conf/iccel` | 2,447 | ICCE | | ||||
| 458 | +| `journals/ijet` | 2,354 | Int. J. Emerg. Technol. Learn. | | ||||
| 459 | +| `journals/ijbc` | 2,328 | Int. J. Bifurc. Chaos | | ||||
| 460 | +| `conf/educon` | 2,323 | EDUCON | | ||||
| 461 | +| `journals/computers` | 2,263 | Comput. | | ||||
| 462 | +| `conf/ieem` | 2,249 | IEEM | | ||||
| 463 | +| `conf/ecis` | 2,214 | ECIS | | ||||
| 464 | +| `conf/mipro` | 2,189 | MIPRO | | ||||
| 465 | +| `journals/ijcon` | 2,170 | Int. J. Control | | ||||
| 466 | +| `conf/pacis` | 2,132 | PACIS | | ||||
| 467 | +| `conf/icce-tw` | 2,085 | ICCE-Taiwan | | ||||
| 468 | +| `journals/csur` | 2,045 | ACM Comput. Surv. | | ||||
| 469 | +| `journals/ijsysc` | 1,969 | Int. J. Syst. Sci. | | ||||
| 470 | +| `conf/aied` | 1,945 | AIED (2) | | ||||
| 471 | +| `conf/isgteurope` | 1,920 | ISGT EUROPE | | ||||
| 472 | +| `conf/iasam` | 1,876 | IAS | | ||||
| 473 | +| `conf/worldcist` | 1,865 | WorldCIST (1) | | ||||
| 474 | +| `conf/icce` | 1,804 | ICCE | | ||||
| 475 | +| `journals/informaticaSI` | 1,796 | Informatica (Slovenia) | | ||||
| 476 | +| `journals/saem` | 1,760 | Int. J. Syst. Assur. Eng. Manag. | | ||||
| 477 | +| `conf/isie` | 1,759 | ISIE | | ||||
| 478 | +| `journals/qre` | 1,723 | Qual. Reliab. Eng. Int. | | ||||
| 479 | +| `journals/ieeejas` | 1,723 | IEEE CAA J. Autom. Sinica | | ||||
| 480 | +| `conf/fusion` | 1,707 | FUSION | | ||||
| 481 | +| `journals/jcscoll` | 1,670 | J. Comput. Sci. Coll. | | ||||
| 482 | +| `journals/jim` | 1,644 | J. Intell. Manuf. | | ||||
| 483 | +| `conf/IEEEssd` | 1,637 | SSD | | ||||
| 484 | +| `conf/ccwc` | 1,627 | CCWC | | ||||
| 485 | +| `journals/kybernetes` | 1,626 | Kybernetes | | ||||
| 486 | +| `conf/icit2` | 1,620 | ICIT | | ||||
| 487 | +| `conf/ccta` | 1,613 | CCTA | | ||||
| 488 | +| `conf/ifip5-7` | 1,611 | APMS (3) | | ||||
| 489 | +| `journals/tcns` | 1,596 | IEEE Trans. Control. Netw. Syst. | | ||||
| 490 | +| `conf/ism2` | 1,553 | ISM | | ||||
| 491 | +| `conf/centeris` | 1,525 | CENTERIS/ProjMAN/HCist | | ||||
| 492 | +| `conf/csedu` | 1,521 | CSEDU (2) | | ||||
| 493 | +| `journals/scl` | 1,510 | Syst. Control. Lett. | | ||||
| 494 | +| `conf/indin` | 1,502 | INDIN | | ||||
| 495 | +| `journals/cj` | 1,453 | Comput. J. | | ||||
| 496 | +| `conf/med` | 1,449 | MED | | ||||
| 497 | +| `journals/rcs` | 1,437 | Res. Comput. Sci. | | ||||
| 498 | +| `conf/ant` | 1,413 | ANT/EDI40 | | ||||
| 499 | +| `conf/eitce` | 1,410 | EITCE | | ||||
| 500 | +| `journals/siamco` | 1,407 | SIAM J. Control. Optim. | | ||||
| 501 | +| `journals/digearth` | 1,393 | Int. J. Digit. Earth | | ||||
| 502 | +| `conf/icecet` | 1,373 | ICECET | | ||||
| 503 | +| `journals/ijoe` | 1,371 | Int. J. Online Biomed. Eng. | | ||||
| 504 | +| `journals/taasm` | 1,354 | Technol. Anal. Strateg. Manag. | | ||||
| 505 | +| `conf/icaiic` | 1,333 | ICAIIC | | ||||
| 506 | +| `journals/elektrik` | 1,320 | Turkish J. Electr. Eng. Comput. Sci. | | ||||
| 507 | +| `conf/memea` | 1,280 | MeMeA | | ||||
| 508 | +| `conf/iiaiaai` | 1,255 | IIAI-AAI-Winter | | ||||
| 509 | +| `conf/csit` | 1,243 | CSIT (2) | | ||||
| 510 | +| `conf/aiam` | 1,224 | AIAM | | ||||
| 511 | +| `conf/meco` | 1,216 | MECO | | ||||
| 512 | +| `conf/ic3i` | 1,216 | IC3I | | ||||
| 513 | +| `conf/iccnc` | 1,213 | ICNC | | ||||
| 514 | +| `conf/acit4` | 1,192 | ACIT | | ||||
| 515 | +| `conf/ccece` | 1,181 | CCECE | | ||||
| 516 | +| `journals/cys` | 1,177 | Computación y Sistemas | | ||||
| 517 | +| `conf/iciscae` | 1,151 | ICISCAE (IEEE) | | ||||
| 518 | +| `journals/fcsc` | 1,146 | Frontiers Comput. Sci. | | ||||
| 519 | +| `journals/tamm` | 1,143 | Am. Math. Mon. | | ||||
| 520 | +| `journals/cii` | 1,137 | Comput. Ind. | | ||||
| 521 | +| `journals/jcal` | 1,132 | J. Comput. Assist. Learn. | | ||||
| 522 | + | ||||
| 523 | +## Topics mapped to several categories (audit list) | ||||
| 524 | + | ||||
| 525 | +| topic | name | categories (weight) | | ||||
| 526 | +|---|---|---| | ||||
| 527 | +| T10054 | Parallel Computing and Optimization Techniques | `computer_architecture` (0.8), `compilers` (0.6), `distributed_computing` (0.6), `scientific_computing` (0.4), `ai_accelerators` (0.3), `operating_systems` (0.2) | | ||||
| 528 | +| T10101 | Cloud Computing and Resource Management | `cloud_computing` (1.0), `distributed_computing` (0.4), `operating_systems` (0.3), `database_systems` (0.2), `edge_computing` (0.2), `sustainable_computing` (0.2) | | ||||
| 529 | +| T10273 | IoT and Edge/Fog Computing | `edge_computing` (1.0), `cloud_computing` (0.4), `distributed_computing` (0.3), `computer_networks` (0.3), `federated_learning` (0.1) | | ||||
| 530 | +| T10904 | Embedded Systems Design Techniques | `computer_architecture` (1.0), `ai_accelerators` (0.5), `compilers` (0.3), `operating_systems` (0.2), `edge_computing` (0.1) | | ||||
| 531 | +| T11181 | Advanced Data Storage Technologies | `operating_systems` (0.8), `database_systems` (0.5), `distributed_computing` (0.5), `computer_architecture` (0.5), `cloud_computing` (0.2) | | ||||
| 532 | +| T11598 | Internet Traffic Analysis and Secure E-voting | `computer_networks` (0.5), `cybersecurity` (0.4), `applied_cryptography` (0.2), `blockchain` (0.2), `privacy_preserving_computation` (0.2) | | ||||
| 533 | +| T11689 | Adversarial Robustness in Machine Learning | `ai_safety` (0.6), `cybersecurity` (0.4), `ml_theory` (0.3), `privacy_preserving_computation` (0.2), `federated_learning` (0.1) | | ||||
| 534 | +| T11986 | Scientific Computing and Data Management | `scientific_computing` (0.6), `software_engineering` (0.4), `computational_biology` (0.4), `distributed_computing` (0.3), `autonomous_scientific_discovery` (0.3) | | ||||
| 535 | +| T10028 | Topic Modeling | `llm` (1.0), `nlp` (0.6), `foundation_models` (0.3), `information_retrieval` (0.3) | | ||||
| 536 | +| T10036 | Advanced Neural Network Applications | `computer_vision` (1.0), `deep_learning_architectures` (0.5), `ai_accelerators` (0.3), `foundation_models` (0.2) | | ||||
| 537 | +| T10126 | Logic, programming, and type systems | `programming_languages` (1.0), `compilers` (0.4), `formal_verification` (0.3), `software_engineering` (0.2) | | ||||
| 538 | +| T10502 | Advanced Memory and Neural Computing | `ai_accelerators` (1.0), `computer_architecture` (0.6), `deep_learning_architectures` (0.2), `sustainable_computing` (0.1) | | ||||
| 539 | +| T10764 | Privacy-Preserving Technologies in Data | `privacy_preserving_computation` (1.0), `federated_learning` (0.7), `applied_cryptography` (0.3), `blockchain` (0.1) | | ||||
| 540 | +| T10772 | Distributed systems and fault tolerance | `distributed_computing` (1.0), `database_systems` (0.4), `blockchain` (0.2), `operating_systems` (0.2) | | ||||
| 541 | +| T11130 | Coding theory and cryptography | `applied_cryptography` (0.9), `computer_networks` (0.3), `computational_complexity` (0.2), `quantum_computing` (0.1) | | ||||
| 542 | +| T11614 | Cloud Data Security Solutions | `cloud_computing` (0.6), `cybersecurity` (0.6), `applied_cryptography` (0.4), `privacy_preserving_computation` (0.4) | | ||||
| 543 | +| T11714 | Multimodal Machine Learning Applications | `multimodal_ai` (1.0), `llm` (0.4), `foundation_models` (0.4), `computer_vision` (0.4) | | ||||
| 544 | +| T12002 | Computability, Logic, AI Algorithms | `computational_complexity` (0.8), `formal_verification` (0.4), `programming_languages` (0.2), `quantum_computing` (0.1) | | ||||
| 545 | +| T12127 | Software System Performance and Reliability | `software_engineering` (0.7), `cloud_computing` (0.6), `distributed_computing` (0.4), `operating_systems` (0.3) | | ||||
| 546 | +| T12611 | Neural Networks and Reservoir Computing | `ai_accelerators` (0.8), `deep_learning_architectures` (0.4), `computer_architecture` (0.3), `quantum_computing` (0.2) | | ||||
| 547 | +| T10020 | Quantum Information and Cryptography | `quantum_computing` (1.0), `applied_cryptography` (0.5), `computational_complexity` (0.1) | | ||||
| 548 | +| T10080 | Energy Efficient Wireless Sensor Networks | `computer_networks` (0.8), `edge_computing` (0.3), `sustainable_computing` (0.3) | | ||||
| 549 | +| T10215 | Semantic Web and Ontologies | `nlp` (0.4), `database_systems` (0.4), `information_retrieval` (0.3) | | ||||
| 550 | +| T10237 | Cryptography and Data Security | `applied_cryptography` (1.0), `cybersecurity` (0.5), `privacy_preserving_computation` (0.3) | | ||||
| 551 | +| T10249 | Distributed Control Multi-Agent Systems | `robotics` (0.5), `ai_agents` (0.3), `distributed_computing` (0.3) | | ||||
| 552 | +| T10270 | Blockchain Technology Applications and Security | `blockchain` (1.0), `applied_cryptography` (0.3), `cybersecurity` (0.2) | | ||||
| 553 | +| T10363 | Low-power high-performance VLSI design | `computer_architecture` (0.8), `ai_accelerators` (0.3), `sustainable_computing` (0.3) | | ||||
| 554 | +| T10388 | Advanced Steganography and Watermarking Techniques | `cybersecurity` (0.6), `computer_vision` (0.3), `generative_ai` (0.2) | | ||||
| 555 | +| T10525 | Human-Automation Interaction and Safety | `hci` (0.7), `robotics` (0.2), `ai_safety` (0.2) | | ||||
| 556 | +| T10627 | Advanced Image and Video Retrieval Techniques | `computer_vision` (0.7), `multimodal_ai` (0.4), `information_retrieval` (0.4) | | ||||
| 557 | +| T10679 | Service-Oriented Architecture and Web Services | `software_engineering` (0.7), `cloud_computing` (0.6), `distributed_computing` (0.3) | | ||||
| 558 | +| T10742 | Peer-to-Peer Network Technologies | `distributed_computing` (0.8), `computer_networks` (0.5), `blockchain` (0.2) | | ||||
| 559 | +| T10775 | Generative Adversarial Networks and Image Synthesis | `generative_ai` (1.0), `computer_vision` (0.3), `computer_graphics` (0.2) | | ||||
| 560 | +| T10824 | Image Retrieval and Classification Techniques | `computer_vision` (0.8), `information_retrieval` (0.3), `multimodal_ai` (0.2) | | ||||
| 561 | +| T10829 | Interconnection Networks and Systems | `computer_architecture` (0.6), `distributed_computing` (0.5), `computer_networks` (0.5) | | ||||
| 562 | +| T10888 | Augmented Reality Applications | `hci` (0.8), `computer_vision` (0.3), `computer_graphics` (0.3) | | ||||
| 563 | +| T10933 | Real-Time Systems Scheduling | `operating_systems` (0.8), `computer_architecture` (0.5), `sustainable_computing` (0.1) | | ||||
| 564 | +| T10963 | Advanced Optimization Algorithms Research | `algorithms` (0.4), `ml_theory` (0.3), `scientific_computing` (0.3) | | ||||
| 565 | +| T11017 | Chaos-based Image/Signal Encryption | `applied_cryptography` (0.7), `cybersecurity` (0.3), `computer_vision` (0.2) | | ||||
| 566 | +| T11206 | Model Reduction and Neural Networks | `scientific_computing` (0.7), `deep_learning_architectures` (0.2), `autonomous_scientific_discovery` (0.2) | | ||||
| 567 | +| T11307 | Domain Adaptation and Few-Shot Learning | `foundation_models` (0.5), `deep_learning_architectures` (0.3), `federated_learning` (0.1) | | ||||
| 568 | +| T11424 | Security and Verification in Computing | `cybersecurity` (0.8), `operating_systems` (0.6), `formal_verification` (0.2) | | ||||
| 569 | +| T11567 | semigroups and automata theory | `computational_complexity` (0.7), `formal_verification` (0.3), `programming_languages` (0.2) | | ||||
| 570 | +| T11644 | Spam and Phishing Detection | `cybersecurity` (1.0), `nlp` (0.3), `information_retrieval` (0.2) | | ||||
| 571 | +| T11727 | Advanced Algebra and Logic | `programming_languages` (0.3), `formal_verification` (0.3), `computational_complexity` (0.3) | | ||||
| 572 | +| T11800 | User Authentication and Security Systems | `cybersecurity` (0.9), `applied_cryptography` (0.3), `privacy_preserving_computation` (0.2) | | ||||
| 573 | +| T11937 | Research Data Management Practices | `database_systems` (0.3), `autonomous_scientific_discovery` (0.3), `information_retrieval` (0.2) | | ||||
| 574 | +| T11948 | Machine Learning in Materials Science | `autonomous_scientific_discovery` (0.6), `scientific_computing` (0.3), `computational_biology` (0.2) | | ||||
| 575 | +| T12016 | Web Data Mining and Analysis | `information_retrieval` (0.5), `database_systems` (0.4), `nlp` (0.3) | | ||||
| 576 | +| T12031 | Speech and dialogue systems | `nlp` (0.6), `speech_audio` (0.5), `llm` (0.3) | | ||||
| 577 | +| T12122 | Physical Unclonable Functions (PUFs) and Hardware Security | `cybersecurity` (0.7), `computer_architecture` (0.5), `applied_cryptography` (0.4) | | ||||
| 578 | +| T12128 | AI in Service Interactions | `hci` (0.4), `llm` (0.3), `ai_agents` (0.2) | | ||||
| 579 | +| T12326 | Network Packet Processing and Optimization | `computer_networks` (0.9), `operating_systems` (0.5), `computer_architecture` (0.3) | | ||||
| 580 | +| T12357 | Digital Media Forensic Detection | `generative_ai` (0.5), `cybersecurity` (0.5), `computer_vision` (0.4) | | ||||
| 581 | +| T12422 | Radiomics and Machine Learning in Medical Imaging | `computer_vision` (0.5), `computational_biology` (0.3), `foundation_models` (0.2) | | ||||
| 582 | +| T12799 | Mobile and Web Applications | `software_engineering` (0.6), `cloud_computing` (0.2), `operating_systems` (0.2) | | ||||
| 583 | +| T13155 | Digital Communication and Language | `hci` (0.4), `nlp` (0.3), `multimodal_ai` (0.2) | | ||||
| 584 | +| T13182 | Quantum-Dot Cellular Automata | `computer_architecture` (0.6), `quantum_computing` (0.3), `ai_accelerators` (0.2) | | ||||
| 585 | +| T13650 | Computational Physics and Python Applications | `scientific_computing` (0.8), `software_engineering` (0.3), `compilers` (0.2) | | ||||
| 586 | +| T14098 | Energy Efficiency in Computing | `sustainable_computing` (1.0), `cloud_computing` (0.4), `computer_architecture` (0.4) | | ||||
| 587 | +| T10052 | Medical Image Segmentation Techniques | `computer_vision` (0.7), `computational_biology` (0.3) | | ||||
| 588 | +| T10100 | Metaheuristic Optimization Algorithms Research | `algorithms` (0.5), `reinforcement_learning` (0.1) | | ||||
| 589 | +| T10181 | Natural Language Processing Techniques | `nlp` (1.0), `llm` (0.3) | | ||||
| 590 | +| T10211 | Computational Drug Discovery Methods | `computational_biology` (1.0), `autonomous_scientific_discovery` (0.3) | | ||||
| 591 | +| T10320 | Neural Networks and Applications | `deep_learning_architectures` (1.0), `ai_accelerators` (0.2) | | ||||
| 592 | +| T10400 | Network Security and Intrusion Detection | `cybersecurity` (1.0), `computer_networks` (0.5) | | ||||
| 593 | +| T10429 | EEG and Brain-Computer Interfaces | `hci` (0.5), `computational_biology` (0.3) | | ||||
| 594 | +| T10444 | Context-Aware Activity Recognition Systems | `computer_vision` (0.6), `hci` (0.3) | | ||||
| 595 | +| T10462 | Reinforcement Learning in Robotics | `reinforcement_learning` (1.0), `robotics` (0.5) | | ||||
| 596 | +| T10533 | Teaching and Learning Programming | `software_engineering` (0.4), `programming_languages` (0.2) | | ||||
| 597 | +| T10545 | Optimization and Variational Analysis | `scientific_computing` (0.4), `algorithms` (0.3) | | ||||
| 598 | +| T10648 | Virtual Reality Applications and Impacts | `hci` (1.0), `computer_graphics` (0.3) | | ||||
| 599 | +| T10664 | Sentiment Analysis and Opinion Mining | `nlp` (1.0), `information_retrieval` (0.2) | | ||||
| 600 | +| T10709 | Social Robot Interaction and HRI | `robotics` (1.0), `hci` (0.5) | | ||||
| 601 | +| T10715 | Distributed and Parallel Computing Systems | `distributed_computing` (1.0), `cloud_computing` (0.3) | | ||||
| 602 | +| T10719 | 3D Shape Modeling and Analysis | `computer_graphics` (0.8), `computer_vision` (0.5) | | ||||
| 603 | +| T10720 | Complexity and Algorithms in Graphs | `algorithms` (1.0), `computational_complexity` (0.5) | | ||||
| 604 | +| T10789 | Interactive and Immersive Displays | `hci` (1.0), `computer_graphics` (0.3) | | ||||
| 605 | +| T10792 | Matrix Theory and Algorithms | `scientific_computing` (0.8), `algorithms` (0.4) | | ||||
| 606 | +| T10828 | Biometric Identification and Security | `cybersecurity` (0.6), `privacy_preserving_computation` (0.2) | | ||||
| 607 | +| T10906 | AI-based Problem Solving and Planning | `ai_agents` (0.6), `autonomous_scientific_discovery` (0.1) | | ||||
| 608 | +| T10927 | Access Control and Trust | `cybersecurity` (0.6), `privacy_preserving_computation` (0.3) | | ||||
| 609 | +| T10951 | Cryptographic Implementations and Security | `applied_cryptography` (1.0), `cybersecurity` (0.4) | | ||||
| 610 | +| T10964 | Wireless Communication Security Techniques | `cybersecurity` (0.6), `computer_networks` (0.5) | | ||||
| 611 | +| T10996 | Computational Geometry and Mesh Generation | `computer_graphics` (0.8), `algorithms` (0.7) | | ||||
| 612 | +| T11010 | Logic, Reasoning, and Knowledge | `formal_verification` (0.4), `nlp` (0.3) | | ||||
| 613 | +| T11045 | Privacy, Security, and Data Protection | `privacy_preserving_computation` (0.6), `cybersecurity` (0.4) | | ||||
| 614 | +| T11106 | Data Management and Algorithms | `algorithms` (0.6), `database_systems` (0.5) | | ||||
| 615 | +| T11122 | Online Learning and Analytics | `hci` (0.2), `information_retrieval` (0.2) | | ||||
| 616 | +| T11147 | Misinformation and Its Impacts | `nlp` (0.3), `ai_safety` (0.3) | | ||||
| 617 | +| T11321 | Error Correcting Code Techniques | `computer_networks` (0.5), `applied_cryptography` (0.2) | | ||||
| 618 | +| T11349 | Music Technology and Sound Studies | `speech_audio` (0.6), `generative_ai` (0.2) | | ||||
| 619 | +| T11392 | Energy Harvesting in Wireless Networks | `computer_networks` (0.5), `sustainable_computing` (0.3) | | ||||
| 620 | +| T11398 | Hand Gesture Recognition Systems | `hci` (0.7), `computer_vision` (0.5) | | ||||
| 621 | +| T11439 | Video Analysis and Summarization | `computer_vision` (0.8), `multimodal_ai` (0.2) | | ||||
| 622 | +| T11478 | Caching and Content Delivery | `computer_networks` (1.0), `distributed_computing` (0.2) | | ||||
| 623 | +| T11498 | Security in Wireless Sensor Networks | `cybersecurity` (0.7), `computer_networks` (0.6) | | ||||
| 624 | +| T11504 | Advanced Authentication Protocols Security | `cybersecurity` (0.6), `applied_cryptography` (0.5) | | ||||
| 625 | +| T11512 | Anomaly Detection Techniques and Applications | `ml_theory` (0.6), `cybersecurity` (0.3) | | ||||
| 626 | +| T11522 | VLSI and FPGA Design Techniques | `computer_architecture` (1.0), `ai_accelerators` (0.3) | | ||||
| 627 | +| T11574 | Artificial Intelligence in Games | `ai_agents` (0.4), `reinforcement_learning` (0.3) | | ||||
| 628 | +| T11596 | Constraint Satisfaction and Optimization | `algorithms` (0.6), `formal_verification` (0.4) | | ||||
| 629 | +| T11612 | Stochastic Gradient Optimization Techniques | `ml_theory` (0.8), `deep_learning_architectures` (0.3) | | ||||
| 630 | +| T11675 | Open Source Software Innovations | `software_engineering` (0.8), `operating_systems` (0.3) | | ||||
| 631 | +| T11687 | Teleoperation and Haptic Systems | `robotics` (0.7), `hci` (0.5) | | ||||
| 632 | +| T11693 | Cryptography and Residue Arithmetic | `applied_cryptography` (1.0), `privacy_preserving_computation` (0.2) | | ||||
| 633 | +| T11697 | Numerical Methods and Algorithms | `scientific_computing` (1.0), `algorithms` (0.3) | | ||||
| 634 | +| T11704 | Mobile Crowdsensing and Crowdsourcing | `hci` (0.5), `edge_computing` (0.2) | | ||||
| 635 | +| T11707 | Gaze Tracking and Assistive Technology | `hci` (0.8), `computer_vision` (0.4) | | ||||
| 636 | +| T11710 | Biomedical Text Mining and Ontologies | `nlp` (0.8), `computational_biology` (0.6) | | ||||
| 637 | +| T11975 | Evolutionary Algorithms and Applications | `algorithms` (0.5), `autonomous_scientific_discovery` (0.2) | | ||||
| 638 | +| T12026 | Explainable Artificial Intelligence (XAI) | `ai_safety` (0.5), `ml_theory` (0.4) | | ||||
| 639 | +| T12056 | Markov Chains and Monte Carlo Methods | `scientific_computing` (0.4), `algorithms` (0.2) | | ||||
| 640 | +| T12079 | IoT Networks and Protocols | `computer_networks` (0.8), `edge_computing` (0.4) | | ||||
| 641 | +| T12131 | Wireless Signal Modulation Classification | `computer_networks` (0.4), `cybersecurity` (0.2) | | ||||
| 642 | +| T12162 | Cellular Automata and Applications | `algorithms` (0.3), `computational_complexity` (0.2) | | ||||
| 643 | +| T12203 | Mobile Agent-Based Network Management | `computer_networks` (0.6), `distributed_computing` (0.3) | | ||||
| 644 | +| T12205 | Time Series Analysis and Forecasting | `ml_theory` (0.3), `deep_learning_architectures` (0.2) | | ||||
| 645 | +| T12216 | Network Time Synchronization Technologies | `computer_networks` (0.5), `distributed_computing` (0.2) | | ||||
| 646 | +| T12238 | Green IT and Sustainability | `sustainable_computing` (1.0), `cloud_computing` (0.2) | | ||||
| 647 | +| T12262 | Hate Speech and Cyberbullying Detection | `nlp` (0.7), `ai_safety` (0.3) | | ||||
| 648 | +| T12303 | Tensor decomposition and applications | `scientific_computing` (0.5), `algorithms` (0.3) | | ||||
| 649 | +| T12479 | Web Application Security Vulnerabilities | `cybersecurity` (1.0), `software_engineering` (0.3) | | ||||
| 650 | +| T12536 | Topological and Geometric Data Analysis | `ml_theory` (0.4), `algorithms` (0.3) | | ||||
| 651 | +| T12601 | Web Applications and Data Management | `software_engineering` (0.5), `database_systems` (0.5) | | ||||
| 652 | +| T12676 | Machine Learning and ELM | `deep_learning_architectures` (0.5), `ml_theory` (0.2) | | ||||
| 653 | +| T12761 | Data Stream Mining Techniques | `database_systems` (0.6), `ml_theory` (0.3) | | ||||
| 654 | +| T12859 | Cell Image Analysis Techniques | `computer_vision` (0.5), `computational_biology` (0.5) | | ||||
| 655 | +| T12874 | Digital Imaging for Blood Diseases | `computer_vision` (0.4), `computational_biology` (0.3) | | ||||
| 656 | +| T12879 | Distributed Sensor Networks and Detection Algorithms | `computer_networks` (0.5), `distributed_computing` (0.2) | | ||||
| 657 | +| T12941 | Embedded Systems and FPGA Design | `computer_architecture` (1.0), `ai_accelerators` (0.3) | | ||||
| 658 | +| T12943 | COVID-19 Digital Contact Tracing | `privacy_preserving_computation` (0.5), `cybersecurity` (0.3) | | ||||
| 659 | +| T13197 | Spreadsheets and End-User Computing | `software_engineering` (0.8), `programming_languages` (0.2) | | ||||
| 660 | +| T13274 | Expert finding and Q&A systems | `information_retrieval` (0.8), `nlp` (0.4) | | ||||
| 661 | +| T13286 | Modeling and Simulation Systems | `scientific_computing` (0.7), `formal_verification` (0.2) | | ||||
| 662 | +| T13292 | Embedded Systems and FPGA Applications | `computer_architecture` (1.0), `ai_accelerators` (0.3) | | ||||
| 663 | +| T13373 | Data Mining and Machine Learning Applications | `database_systems` (0.4), `ml_theory` (0.2) | | ||||
| 664 | +| T13535 | Wireless Sensor Networks and IoT | `computer_networks` (0.6), `edge_computing` (0.3) | | ||||
| 665 | +| T13759 | Medical Imaging and Pathology Studies | `computer_vision` (0.3), `computational_biology` (0.2) | | ||||
| 666 | +| T13874 | Information Architecture and Usability | `hci` (0.8), `information_retrieval` (0.2) | | ||||
| 667 | +| T13976 | Web visibility and informetrics | `information_retrieval` (0.5), `autonomous_scientific_discovery` (0.1) | | ||||
| 668 | +| T13999 | Digital Rights Management and Security | `cybersecurity` (0.6), `privacy_preserving_computation` (0.2) | | ||||
| 669 | +| T14067 | Cloud Computing and Remote Desktop Technologies | `cloud_computing` (1.0), `operating_systems` (0.4) | | ||||
| 670 | +| T14254 | Digital Media and Visual Art | `computer_graphics` (0.3), `generative_ai` (0.2) | | ||||
| 671 | +| T14339 | Image Processing and 3D Reconstruction | `computer_vision` (1.0), `computer_graphics` (0.4) | | ||||
| 672 | +| T14435 | Information Retrieval and Data Mining | `information_retrieval` (0.6), `database_systems` (0.4) | | ||||
| 673 | +<!-- END GENERATED --> | ||||
added
taxonomy/__init__.py
+0 −0
modified
taxonomy/classify.py
+1 −1
@@ -47,7 +47,7 @@ def score_row(title, abstract, topic_ids, subfield_ids, arxiv_cats, dblp_streams | |||||
| 47 | title = title or ""; abstract = abstract or ""; both = title + "\n" + abstract | 47 | title = title or ""; abstract = abstract or ""; both = title + "\n" + abstract | ||
| 48 | out = [] | 48 | out = [] | ||
| 49 | for c in ONT["cats"]: | 49 | for c in ONT["cats"]: | ||
| 50 | − st = min(1.0, sum(c["topics"].get(str(t), 0.0) for t in (topic_ids or []))) | 50 | + st = min(1.0, sum(c["topics"].get(str(t), 0.0) for t in set(topic_ids or []))) | ||
| 51 | ss = min(1.0, sum(c["subfields"].get(str(s), 0.0) for s in set(subfield_ids or []))) | 51 | ss = min(1.0, sum(c["subfields"].get(str(s), 0.0) for s in set(subfield_ids or []))) | ||
| 52 | sa = min(1.0, sum(c["arxiv"].get(a, 0.0) for a in set(arxiv_cats or []))) | 52 | sa = min(1.0, sum(c["arxiv"].get(a, 0.0) for a in set(arxiv_cats or []))) | ||
| 53 | sd = min(1.0, sum(c["dblp"].get(d, 0.0) for d in set(dblp_streams or []))) | 53 | sd = min(1.0, sum(c["dblp"].get(d, 0.0) for d in set(dblp_streams or []))) | ||
added
taxonomy/ontology.yaml
+6765 −0
Large diff (6,765 lines) is not loaded by default to keep the page fast.Load diff
modified
taxonomy/src/area_ai_ml_a.py
+2 −1
Large diff (9 lines) is not loaded by default to keep the page fast.Load diff
modified
taxonomy/src/area_ai_ml_b.py
+10 −3
Large diff (31 lines) is not loaded by default to keep the page fast.Load diff
modified
taxonomy/src/area_perception_b.py
+2 −1
Large diff (9 lines) is not loaded by default to keep the page fast.Load diff
modified
taxonomy/src/area_security_a.py
+1 −1
Large diff (8 lines) is not loaded by default to keep the page fast.Load diff
modified
taxonomy/src/area_software_pl.py
+1 −1
Large diff (8 lines) is not loaded by default to keep the page fast.Load diff
added
taxonomy/topic_map.csv
+647 −0
Large diff (647 lines) is not loaded by default to keep the page fast.Load diff
added
tests/test_classify_rules.py
+36 −0
Large diff (37 lines) is not loaded by default to keep the page fast.Load diff