SPB Git

spb/wp44_uqo

Public

WP44: Part VII-a theory synthesis (Agent G, 65 refs); live verification of landmark records

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Nov 4, 2026) parent 3acdb05 Browse files

78 changed files +1,422 −749

78 changed files
Unified Split
added literature_synthesis/verify_landmarks.py +38 −0
@@ -0,0 +1,38 @@
1+#!/usr/bin/env python3
2+"""WP44 — live verification of the landmark records against the OpenAlex API (single-record lookups are free):
3+for each landmark id, fetch the live record, compare the normalised title with the snapshot title, and record the live
4+cited_by_count and publication_year. Records whose live title differs (ids merged or re-assigned since the snapshot, or
5+snapshot data errors) are flagged live_match = False and excluded from Part IX landmark statistics (they stay in the file).
6+Output: literature_synthesis/landmarks/landmarks_verified.csv + verification_report.json. Politeness: 8 requests/s max."""
7+import argparse, json, os, re, time, datetime as dt, unicodedata, requests, pandas as pd
8+
9+UA = "WP44-UQO-systematic-mapping/0.1 (mailto:spbou4@icloud.com)"
10+norm = lambda s: re.sub(r"[^a-z0-9]+", "", unicodedata.normalize("NFKD", str(s or "")).encode("ascii", "ignore").decode().lower())
11+
12+
13+def main():
14+ ap = argparse.ArgumentParser(); ap.add_argument("--root", required=True); a = ap.parse_args(); R = a.root
15+ d = pd.read_csv(f"{R}/literature_synthesis/landmarks/landmarks.csv"); s = requests.Session(); rows = []
16+ for i, r in enumerate(d.itertuples()):
17+ for attempt in range(3):
18+ try:
19+ resp = s.get(f"https://api.openalex.org/works/W{int(r.work_id)}", params={"mailto": "spbou4@icloud.com"}, headers={"User-Agent": UA}, timeout=30); break
20+ except requests.RequestException:
21+ time.sleep(5)
22+ if resp.status_code == 200:
23+ j = resp.json(); lt = j.get("title") or j.get("display_name") or ""; lid = j.get("id", "").rsplit("W", 1)[-1]
24+ match = norm(lt) == norm(r.title) or (norm(lt) and norm(r.title) and (norm(lt) in norm(r.title) or norm(r.title) in norm(lt)))
25+ rows.append({"work_id": int(r.work_id), "live_status": 200, "live_id": lid, "live_title": lt, "live_year": j.get("publication_year"), "live_cited_by_count": j.get("cited_by_count"), "live_match": bool(match), "id_changed": lid != str(int(r.work_id))})
26+ else:
27+ rows.append({"work_id": int(r.work_id), "live_status": resp.status_code, "live_id": None, "live_title": None, "live_year": None, "live_cited_by_count": None, "live_match": False, "id_changed": None})
28+ time.sleep(0.13)
29+ if (i + 1) % 200 == 0:
30+ print(i + 1, "checked", flush=True)
31+ v = d.merge(pd.DataFrame(rows), on="work_id", how="left"); v.to_csv(f"{R}/literature_synthesis/landmarks/landmarks_verified.csv", index=False)
32+ rep = {"n": int(len(v)), "live_match": int(v.live_match.sum()), "mismatch": int((~v.live_match).sum()), "id_changed": int(v.id_changed.fillna(False).sum()), "http_not_200": int((v.live_status != 200).sum()),
33+ "when": dt.datetime.now(dt.UTC).isoformat(), "mismatch_examples": v[~v.live_match][["work_id", "title", "live_title", "c36"]].head(15).to_dict("records")}
34+ json.dump(rep, open(f"{R}/literature_synthesis/landmarks/verification_report.json", "w"), indent=1, default=str); print({k: rep[k] for k in ("n", "live_match", "mismatch", "id_changed", "http_not_200")})
35+
36+
37+if __name__ == "__main__":
38+ main()
modified manuscript/sections/part05_ai.tex +142 −6
@@ -44,8 +44,9 @@ changed, not why.
44 The landmark candidates of the area were screened record by record before any 44 The landmark candidates of the area were screened record by record before any
45 of them was used, and the outcome conditions everything that follows. Of the 45 of them was used, and the outcome conditions everything that follows. Of the
46 \SelectionByAreaAiMl{} records, the screening flagged 44 as unreliable for the 46 \SelectionByAreaAiMl{} records, the screening flagged 44 as unreliable for the
47−purpose of a critical synthesis (Table~\ref{tab:ai_landmark_flags}; 47+purpose of a critical synthesis (Table~\ref{tab:ai_landmark_flags}; the record-level flags are in the file
48−\texttt{literature\_synthesis/agent\_E/contributions.csv}).\footnote{The 48+\texttt{contributions.csv} of the agent's directory under
49+\texttt{literature\_synthesis}).\footnote{The
49 flags are a human judgement by the specialist agent from identifiers, citation 50 flags are a human judgement by the specialist agent from identifiers, citation
50 counts, venue, title and abstract; they were not produced by a script and 51 counts, venue, title and abstract; they were not produced by a script and
51 must be audited (Part~III, Phase~8). The counts in this paragraph are those of 52 must be audited (Part~III, Phase~8). The counts in this paragraph are those of
@@ -112,7 +113,7 @@ BLIP-2, Mamba---is present in the set only where an arXiv record was linked,
112 and sometimes, as just shown, linked to the wrong record. The synthesis 113 and sometimes, as just shown, linked to the wrong record. The synthesis
113 therefore grounds its technical claims on the verified reference list and uses 114 therefore grounds its technical claims on the verified reference list and uses
114 the landmark set to characterise what the corpus \emph{rewards} rather than 115 the landmark set to characterise what the corpus \emph{rewards} rather than
115−what the field \emph{invented}. Table~\ref{tab:ai_landmarks} lists all 116+what the field \emph{invented}. Table~\ref{tab:ai_landmarks}, placed at the end of this part, lists all
116 234 candidates with their flag and contribution type. 117 234 candidates with their flag and contribution type.
117 118
118 \input{tables/tab_ai_landmark_flags} 119 \input{tables/tab_ai_landmark_flags}
@@ -140,6 +141,13 @@ and the categories are defined by rules over topics, arXiv classes, venues and
140 keyword patterns (Section~\ref{sec:m-classification}), so that a work on 141 keyword patterns (Section~\ref{sec:m-classification}), so that a work on
141 reward modelling for language models is an LLM work and not a reinforcement-learning 142 reward modelling for language models is an LLM work and not a reinforcement-learning
142 work, a point that matters for Section~\ref{sec:ai-rl}. 143 work, a point that matters for Section~\ref{sec:ai-rl}.
144+A third caution concerns the flows of Table~\ref{tab:ai_flows}. Because a
145+cited work can carry several categories, the row shares of a citing category
146+do not sum to one across the columns shown, and a reference from an LLM paper
147+to a paper that is both an LLM and an NLP work counts under both destinations;
148+the ``self'' share of a category is therefore an upper bound on its
149+intellectual closure, and changes in shares are more informative than their
150+levels.
143 151
144 \input{tables/tab_ai_growth} 152 \input{tables/tab_ai_growth}
145 \input{tables/tab_ai_counts} 153 \input{tables/tab_ai_counts}
@@ -328,6 +336,35 @@ model in hours. The QLoRA abstract's statement that its best model reaches
328 judge-based measurement, a point to which Section~\ref{sec:ai-eval} returns. 336 judge-based measurement, a point to which Section~\ref{sec:ai-eval} returns.
329 % [E-20] 337 % [E-20]
330 338
339+\subsection{Data as the contested resource}
340+
341+The compute-optimal allocation of \citet{hoffmann2022chinchilla} turned
342+training data from an afterthought into the binding constraint, and the
343+landmark set records the consequences from three sides without resolving any
344+of them. On the supply side, LAION-5B \citep{schuhmann2022laion5b} and the
345+public-data training of LLaMA \citep{touvron2023llama} show that web-scale
346+corpora could be assembled outside the frontier laboratories; the surveys of
347+data-centric foundation models in healthcare \citep{zhang2026datacentric} and
348+of multimodal fusion on low-quality data \citep{zhang2026lowqualityfusion}
349+describe, from the methods side, how quality, annotation, privacy and
350+missingness rather than volume limit the domain models of
351+Section~\ref{sec:ai-fm}. On the integrity side, the poisoning study of
352+\citet{alber2025poisoning} reports that a vanishingly small fraction of
353+deliberately false tokens in a public pretraining corpus suffices to shift a
354+model's medical answers, which turns the openness of the data pipeline into an
355+attack surface. On the legal side, the one landmark that addresses the
356+provenance of training data is a Portuguese-language essay on copyright whose
357+record, as shown above, carries GPT-3's identifier and citations; the
358+question it raises is real and the corpus's answer is an artefact. The three
359+sides share a measurement gap that no abstract in the set closes: the
360+composition of the corpora on which the frontier models were trained is not
361+disclosed, so that neither the scaling-law prescriptions nor the
362+contamination caveats of Section~\ref{sec:ai-eval} can be checked against the
363+models that matter most. Data, not architecture, is where the open and closed
364+lineages of the window diverge, and it is the resource whose exhaustion,
365+curation and legal status the next part of the manuscript lists among the
366+frontiers.
367+
331 \subsection{Contested claims: emergence, sparks and pure-RL reasoning} 368 \subsection{Contested claims: emergence, sparks and pure-RL reasoning}
332 369
333 Three claims about what scaled language models are have been argued largely in 370 Three claims about what scaled language models are have been argued largely in
@@ -598,6 +635,18 @@ The detector flags \emph{LLM agents} in \KnownLlmAgentsDetectionMonth{},
598 \KnownLlmAgentsLeadMonths{} months before peak growth in 635 \KnownLlmAgentsLeadMonths{} months before peak growth in
599 \KnownLlmAgentsPeakGrowthMonth{}, on \KnownLlmAgentsTotalWorks{} matching 636 \KnownLlmAgentsPeakGrowthMonth{}, on \KnownLlmAgentsTotalWorks{} matching
600 works; the concept arrived and peaked within a year. 637 works; the concept arrived and peaked within a year.
638+Three features of agent evaluation limit what the benchmarks can show. The
639+unit of evaluation is a trajectory rather than an answer, so that
640+non-determinism in the environment and in sampling compounds across steps and
641+the variance warning of \citet{henderson2018drlmatters} applies with greater
642+force than in single-turn evaluation; the cost of a run---tokens, tool calls,
643+wall-clock time---is rarely reported alongside the success rate, so that
644+rankings conflate capability with budget; and the environments are public and
645+static, so that the contamination problem of Section~\ref{sec:ai-eval} applies
646+to the tasks as much as to the models. The clinical benchmark in the landmark
647+set \citep{liu2026clinicalagents} is notable precisely because its abstract
648+reports comparing an open-source and a proprietary system under one protocol
649+across three task families; it is one study.
601 650
602 The strongest peer-reviewed evidence for agents is scientific. The Virtual Lab 651 The strongest peer-reviewed evidence for agents is scientific. The Virtual Lab
603 \citep{swanson2025virtuallab}, a Nature paper whose record carries no abstract 652 \citep{swanson2025virtuallab}, a Nature paper whose record carries no abstract
@@ -680,6 +729,17 @@ Several records are misdated---a 2008 inverse-reinforcement-learning paper
680 and a 2007 Bayesian one appear as 2018 and 2025 works---and four are 729 and a 2007 Bayesian one appear as 2018 and 2025 works---and four are
681 control-theory papers; the category's citation top is therefore a mixture of 730 control-theory papers; the category's citation top is therefore a mixture of
682 classics, control theory and one new result. 731 classics, control theory and one new result.
732+What the one new result represents is the model-based turn. DreamerV3 learns
733+a latent world model and improves its policy on imagined trajectories, and
734+its abstract stresses that a single configuration transfers across domains
735+where earlier algorithms required per-domain tuning; the survey of
736+model-predictive control and reinforcement learning in the set makes the
737+complementary point that the two fields derive from the same principles and
738+differ mainly in whether an environment model is part of the algorithm. Read
739+together with the rising share of references from the category to robotics,
740+they describe a field whose centre of gravity moved towards control of
741+physical systems while its optimisation machinery moved, under another name,
742+into language-model training.
683 743
684 The corpus places reinforcement learning among the modestly accelerating 744 The corpus places reinforcement learning among the modestly accelerating
685 categories: a post-period growth rate only slightly above the baseline 745 categories: a post-period growth rate only slightly above the baseline
@@ -777,6 +837,39 @@ proposed in Part~X---re-estimating the series on works whose only AI category
777 is architectures, with a classifier vocabulary frozen at 2022---has not been 837 is architectures, with a classifier vocabulary frozen at 2022---has not been
778 run. 838 run.
779 839
840+\subsection{Interpretability and the science of model internals}
841+
842+Between the theory that the citation ranking rewards and the architectures
843+that practice adopted lies a literature that the corpus barely registers: the
844+attempt to explain what a trained language model computes. The research
845+agenda of \citet{anwar2024foundational}, a preprint, lists it among the
846+foundational challenges of alignment, and the known-emergence set includes
847+\emph{mechanistic interpretability} as one of its eleven AI concepts. The
848+detector's result for it is the only negative lead in the set:
849+\KnownMechanisticInterpretabilityTotalWorks{} matching works, a peak-growth
850+month that precedes the detection month, and a lead of
851+\KnownMechanisticInterpretabilityLeadMonths{} months. % [E-17]
852+Two readings are possible and both are instructive. On the one hand the
853+concept is small---two to three orders of magnitude fewer matching works than
854+language models or retrieval augmentation---so that the growth statistic on
855+which the detector relies is noisy and a single busy quarter sets the peak.
856+On the other hand the vocabulary of the field changed inside the window:
857+``circuits'', ``features'' and ``sparse autoencoders'' replaced ``probing''
858+and ``attribution'', and a regular expression written in 2026 looks for the
859+later vocabulary in the earlier literature. The interpretability landmarks
860+that the ranking does surface are the pre-LLM ones---the case for inherently
861+interpretable models \citep{rudin2019stopexplaining}, the conceptual critique
862+\citep{lipton2018mythos}, the social-science account of explanation
863+\citep{miller2019explanation}, the explainable-AI surveys
864+\citep{barredoarrieta2020xai, ali2023xaitrust}---whose question is whether a
865+model's decision can be explained to a person, not whether its computation
866+can be reverse-engineered. The corpus therefore records the demand for
867+explanation and is nearly silent on the supply of mechanistic understanding;
868+the manuscript cannot say whether that silence reflects the small size of the
869+sub-field, its concentration in non-indexed venues and company reports, or
870+the vocabulary drift just described, and it flags the measurement as
871+unreliable rather than the sub-field as absent.
872+
780 \section{Evaluation} 873 \section{Evaluation}
781 \label{sec:ai-eval} 874 \label{sec:ai-eval}
782 875
@@ -821,6 +914,41 @@ improvements (RQ7) cannot be drawn from abstracts alone; Part~IX draws it, to
821 the extent that it can be drawn, from the citation and adoption structure 914 the extent that it can be drawn, from the citation and adoption structure
822 instead. 915 instead.
823 916
917+\subsection{Openness and the reproducibility of claims}
918+
919+RQ9 asks how open-source availability and evaluation standards evolved, and
920+the landmark abstracts speak to the first half directly. The LLaMA abstract
921+ends with the sentence that the models are released to the research
922+community; LAION-5B's purpose, by its title, is an open dataset for training
923+image--text models; Mamba, KAN, QLoRA, LLaMA-Adapter and the open code models
924+\citep{touvron2023llama, schuhmann2022laion5b, gu2023mamba, liu2024kan,
925+dettmers2023qlora, zhang2023llamaadapter, roziere2023codellama,
926+li2023starcoder} are weights-and-code releases whose adoption is measurable
927+in the short detector leads of Section~\ref{sec:ai-theory}; and the
928+DeepSeek-R1 paper \citep{deepseek2025r1nature} is the first peer-reviewed
929+frontier-class reasoning model with released weights. Against this stands
930+the closed lineage \citep{openai2023gpt4, gemini2023, openai2024o1}, whose
931+reports omit data, scale and training details and whose evaluations can
932+therefore not be reproduced by anyone but the vendor, and the arena and
933+judge-based evaluations of Section~\ref{sec:ai-eval}, which rank closed models
934+on prompts that are themselves not released. The AI Index reports
935+\citep{maslej2024aiindex, maslej2025aiindex} document, as secondary sources,
936+the growing share of notable models released by industry; the corpus
937+measures the same thing at the level of affiliations in Part~VIII\@.
938+Three consequences follow for the status of the claims read in this part.
939+First, every comparison between an open model and a closed one in an abstract
940+(QLoRA against ChatGPT, LLaMA against GPT-3) is a comparison between a
941+reproducible artefact and a moving target, and its date is part of its
942+meaning. Second, the reproducibility of a result in this area depends less on
943+whether the paper was peer reviewed than on whether the weights, data and
944+evaluation prompts were released; several peer-reviewed landmarks of
945+Section~\ref{sec:ai-fm} train on institutional clinical data that cannot be
946+shared, while several preprints release everything. Third, the
947+distinction between peer-reviewed and preprint evidence that this manuscript
948+maintains throughout is therefore necessary but not sufficient, and Part~IX's
949+openness indicators, which are computed on the whole corpus rather than on
950+the landmark set, are the appropriate measure of the trend.
951+
824 \section{Safety, alignment, fairness and societal evidence} 952 \section{Safety, alignment, fairness and societal evidence}
825 \label{sec:ai-safety} 953 \label{sec:ai-safety}
826 954
@@ -906,8 +1034,8 @@ Four reconciliations summarise what this part can say and what it cannot.
906 \emph{Growth versus discontinuity.} The nine AI categories accelerated after 1034 \emph{Growth versus discontinuity.} The nine AI categories accelerated after
907 2022; the acceleration is a slope change that the data-driven procedures date 1035 2022; the acceleration is a slope change that the data-driven procedures date
908 to the middle of 2022 or later and that steepened in 2023--2024, not a 1036 to the middle of 2022 or later and that steepened in 2023--2024, not a
909−level jump in December 2022 (Tables~\ref{tab:ai_breaks} and 1037+level jump in December 2022 (Tables~\ref{tab:ai_breaks}
910−\ref{tab:ai_altdates}). The design cannot attribute it to one product, and 1038+and~\ref{tab:ai_altdates}). The design cannot attribute it to one product, and
911 sentences of the form ``ChatGPT caused a surge in AI research'' are not 1039 sentences of the form ``ChatGPT caused a surge in AI research'' are not
912 supported by anything in this manuscript. What is supported is weaker and 1040 supported by anything in this manuscript. What is supported is weaker and
913 more useful: the trend of the LLM literature changed, the change propagated 1041 more useful: the trend of the LLM literature changed, the change propagated
@@ -931,7 +1059,10 @@ and the vocabulary of the second migrated into the LLM and foundation-model
931 categories. % [E-37, P-08] 1059 categories. % [E-37, P-08]
932 1060
933 \emph{Evidence tiers.} Twenty-eight of the 234 landmark candidates are 1061 \emph{Evidence tiers.} Twenty-eight of the 234 landmark candidates are
934−preprints and seventy-two are dated 2026 with twelve-month citation windows; 1062+preprints and seventy-two are dated 2026 with twelve-month citation
1063+windows;\footnote{Counts of the columns \texttt{type} and \texttt{year} of
1064+\texttt{literature\_synthesis/landmarks/ai\_ml\_landmarks.csv}, reproduced row by
1065+row in Table~\ref{tab:ai_landmarks}; no macro exists for them.}
935 many of the window's defining technical papers---LLaMA, BLIP-2, Mamba, the 1066 many of the window's defining technical papers---LLaMA, BLIP-2, Mamba, the
936 agent benchmarks, the emergent-abilities debate, the catastrophic-risk 1067 agent benchmarks, the emergent-abilities debate, the catastrophic-risk
937 agenda---have not passed peer review. The established results of this part 1068 agenda---have not passed peer review. The established results of this part
@@ -962,3 +1093,8 @@ long-horizon time series; whether generative-AI use helps or harms learning;
962 and, for this manuscript's own method, whether citation-based landmark 1093 and, for this manuscript's own method, whether citation-based landmark
963 identification can be made reliable for a field whose most-cited identifiers 1094 identification can be made reliable for a field whose most-cited identifiers
964 are the ones most often attached to the wrong record. 1095 are the ones most often attached to the wrong record.
1096+
1097+\subsection*{Supplementary table: the screened landmark candidates}
1098+\label{sec:ai-supp}
1099+
1100+\input{tables/tab_ai_landmarks}
modified manuscript/sections/part07a_theory.tex +9 −4
@@ -131,8 +131,9 @@ specialist-labelled sample.
131 131
132 \subsection{Growth in absolute terms, decline in relative terms} 132 \subsection{Growth in absolute terms, decline in relative terms}
133 133
134−Table~\ref{tab:theory_counts} gives the yearly counts of works carrying each category (multi-label) and of 134+Tables~\ref{tab:theory_counts} and~\ref{tab:theory_counts_primary} give the yearly counts of works carrying each category
135−works whose primary category it is; Table~\ref{tab:theory_summary} summarises growth and structural change. 135+(multi-label) and of works whose primary category it is; Table~\ref{tab:theory_summary} summarises growth and
136+Table~\ref{tab:theory_breaks} the structural-change estimates.
136 The multi-label counts grew in every category after 2022. Between 2023 and 2025 the compound annual growth was 137 The multi-label counts grew in every category after 2022. Between 2023 and 2025 the compound annual growth was
137 \ThyCagrMultilabelSoftwareEngineeringPostPct\% for software engineering, 138 \ThyCagrMultilabelSoftwareEngineeringPostPct\% for software engineering,
138 \ThyCagrMultilabelComputationalComplexityPostPct\% for computational complexity, 139 \ThyCagrMultilabelComputationalComplexityPostPct\% for computational complexity,
@@ -158,6 +159,7 @@ software categories are growing and shrinking at once: more works, a smaller fra
158 is set by the AI categories of Part~V. 159 is set by the AI categories of Part~V.
159 160
160 \input{tables/tab_theory_counts} 161 \input{tables/tab_theory_counts}
162+\input{tables/tab_theory_counts_primary}
161 163
162 Two cautions attach to these numbers. The post-period growth rate spans two years and is exposed to the 164 Two cautions attach to these numbers. The post-period growth rate spans two years and is exposed to the
163 indexing lag of the most recent year (Section~\ref{sec:m-truncation}); the primary-label counts for 2025 are 165 indexing lag of the most recent year (Section~\ref{sec:m-truncation}); the primary-label counts for 2025 are
@@ -170,6 +172,8 @@ not used here, and the discrepancy is recorded for the reproducibility audit.\fo
170 current counts resolves the discrepancy. Until then, Table~\ref{tab:cagr} and Table~\ref{tab:theory_summary} 172 current counts resolves the discrepancy. Until then, Table~\ref{tab:cagr} and Table~\ref{tab:theory_summary}
171 disagree for these six rows.} 173 disagree for these six rows.}
172 174
175+\input{tables/tab_theory_summary}
176+
173 \subsection{Structural change at the reference date} 177 \subsection{Structural change at the reference date}
174 178
175 The interrupted-time-series slope change at December 2022 is positive for all six primary-label series and 179 The interrupted-time-series slope change at December 2022 is positive for all six primary-label series and
@@ -187,7 +191,7 @@ verification and \ThyBreakProgrammingLanguagesPlaceboSlopeP{} for programming la
187 categories are closest to the threshold; none crosses it. A slope change that pseudo-events of the baseline 191 categories are closest to the threshold; none crosses it. A slope change that pseudo-events of the baseline
188 reproduce at these rates is a feature of series that were already accelerating, not of the reference date. 192 reproduce at these rates is a feature of series that were already accelerating, not of the reference date.
189 193
190−\input{tables/tab_theory_summary} 194+\input{tables/tab_theory_breaks}
191 195
192 The level changes point the other way in five categories. At December 2022 the level fell by 196 The level changes point the other way in five categories. At December 2022 the level fell by
193 \ThyBreakFormalVerificationChatgptLevelPct\% for formal verification ($p = \ThyBreakFormalVerificationChatgptLevelP$), 197 \ThyBreakFormalVerificationChatgptLevelPct\% for formal verification ($p = \ThyBreakFormalVerificationChatgptLevelP$),
@@ -225,6 +229,7 @@ mathematical ones, and it is a gradient of vocabulary: co-classification is a le
225 (Section~\ref{sec:m-classification}), not a measure of method adoption. 229 (Section~\ref{sec:m-classification}), not a measure of method adoption.
226 230
227 \input{tables/tab_theory_llm_cooccurrence} 231 \input{tables/tab_theory_llm_cooccurrence}
232+\input{tables/tab_theory_llm_cooccurrence_counts}
228 233
229 Citation flows are more conservative. In the post period, software-engineering works direct 234 Citation flows are more conservative. In the post period, software-engineering works direct
230 \ThyFlowSoftwareEngineeringToLlmPostPct\% of their categorised references to works of the LLM category, 235 \ThyFlowSoftwareEngineeringToLlmPostPct\% of their categorised references to works of the LLM category,
@@ -514,7 +519,7 @@ interfaces, whose abstract introduces multi-valued correctness requirements and
514 interface theories, is the one post-period research candidate of this kind. 519 interface theories, is the one post-period research candidate of this kind.
515 520
516 The category's primary share halved between 2018 and 2025 while its multi-label count grew by eleven per cent 521 The category's primary share halved between 2018 and 2025 while its multi-label count grew by eleven per cent
517−(Table~\ref{tab:theory_counts}). The arithmetic of the argmax assignment (Section~\ref{sec:m-score}) suggests 522+(Tables~\ref{tab:theory_counts} and~\ref{tab:theory_counts_primary}). The arithmetic of the argmax assignment (Section~\ref{sec:m-score}) suggests
518 why: a work that carries a verification label and an AI or security label loses the primary label to the 523 why: a work that carries a verification label and an AI or security label loses the primary label to the
519 larger category when the scores are close, so the primary series understates a category whose work is 524 larger category when the scores are close, so the primary series understates a category whose work is
520 increasingly done in combination. Measuring the share of works whose primary label switched, by co-assigned 525 increasingly done in combination. Measuring the share of works whose primary label switched, by co-assigned
modified manuscript/sections/part09_results.tex +8 −9
@@ -484,9 +484,8 @@ citations, the inequality statistic of hypothesis H5, falls monotonically throug
484 falling share of uncited works, which is the largest contributor to a Gini of this kind 484 falling share of uncited works, which is the largest contributor to a Gini of this kind
485 \citep{nielsen2021inequality}; the 2023 reversal coincides with the return of the uncited share and is, on the 485 \citep{nielsen2021inequality}; the 2023 reversal coincides with the return of the uncited share and is, on the
486 evidence available, a truncation effect rather than a change in the concentration of attention. The 99th 486 evidence available, a truncation effect rather than a change in the concentration of attention. The 99th
487−percentile of three-year citations is almost flat across cohorts (\CitationWindowsYearlyTwoZeroOneEightPNineNineCThreeSix{} 487+percentile of three-year citations is almost flat across the complete cohorts (Table~\ref{tab:citation_windows}),
488−in 2018, \CitationWindowsYearlyTwoZeroTwoThreePNineNineCThreeSix{} in 2023), so the top of the distribution 488+so the top of the distribution did not pull away from the body within fixed windows.
489−did not pull away from the body within fixed windows.
490 489
491 The field-weighted citation impact supplied by OpenAlex, whose normalisation is the database's own and not 490 The field-weighted citation impact supplied by OpenAlex, whose normalisation is the database's own and not
492 the study's (Section~\ref{sec:m-citations}), has a mean near \CitationWindowsYearlyTwoZeroOneEightMeanFwci{} 491 the study's (Section~\ref{sec:m-citations}), has a mean near \CitationWindowsYearlyTwoZeroOneEightMeanFwci{}
@@ -514,10 +513,10 @@ category and year with per-area quotas (Section~\ref{sec:m-kg}), it contains \Se
514 drawn from a high-priority set of \SelectionHighPriority{}; Table~\ref{tab:p9-landmarks} gives its 513 drawn from a high-priority set of \SelectionHighPriority{}; Table~\ref{tab:p9-landmarks} gives its
515 composition by area and year. The quotas make the set broader than a citation ranking would be: the AI and 514 composition by area and year. The quotas make the set broader than a citation ranking would be: the AI and
516 Machine Learning area holds the largest quota but less than a quarter of the set, and the theory area, 515 Machine Learning area holds the largest quota but less than a quarter of the set, and the theory area,
517−whose works are cited least, holds the smallest. By year the set is roughly balanced over 2018--2025 and 516+whose works are cited least, holds the smallest. By year the set is smallest for the 2021 cohort and largest
518−largest for 2026, which reflects the selection's reliance on the database's field-weighted impact for the 517+for 2023, 2024 and 2026; the size of the 2026 cohort reflects the selection's reliance on the database's
519−most recent cohort, where citation counts are smallest and the normalisation least stable; the 2026 518+field-weighted impact for the most recent works, where citation counts are smallest and the normalisation
520−landmarks should be treated as provisional. \SelectionShareWithAbstractLandmarks{} of the landmarks have an 519+least stable, and the 2026 landmarks should be treated as provisional. \SelectionShareWithAbstractLandmarks{} of the landmarks have an
521 abstract and \SelectionShareOaLandmarks{} have an open-access location, which bounds what the knowledge-graph 520 abstract and \SelectionShareOaLandmarks{} have an open-access location, which bounds what the knowledge-graph
522 extraction and the specialist reviews can work from. The identification of the methodological or 521 extraction and the specialist reviews can work from. The identification of the methodological or
523 theoretical contribution of each landmark is the object of the specialist reviews and of checkpoint H-3 522 theoretical contribution of each landmark is the object of the specialist reviews and of checkpoint H-3
@@ -708,8 +707,8 @@ them.
708 The protocol's semantic test of convergence compares the cosine similarity between category centroids in 707 The protocol's semantic test of convergence compares the cosine similarity between category centroids in
709 the embedding space, estimated separately on baseline and post works, and reports the drift of each 708 the embedding space, estimated separately on baseline and post works, and reports the drift of each
710 category's centroid between the two periods (Section~\ref{sec:m-semantic}). The result files 709 category's centroid between the two periods (Section~\ref{sec:m-semantic}). The result files
711−\texttt{results/semantic/category\_similarity\_baseline.csv}, \texttt{category\_similarity\_post.csv} and 710+\texttt{results/semantic/}\allowbreak\texttt{category\_similarity\_baseline.csv},
712−\texttt{category\_drift.csv} did not exist when this part was written. \pending{semantic atlas: insert the 711+\texttt{category\_similarity\_post.csv} and \texttt{category\_drift.csv} did not exist when this part was written. \pending{semantic atlas: insert the
713 category similarity comparison (baseline versus post, mean off-diagonal similarity, the pairs whose 712 category similarity comparison (baseline versus post, mean off-diagonal similarity, the pairs whose
714 similarity changed most) and the drift table when results/semantic/ is produced; the diversity indices of 713 similarity changed most) and the drift table when results/semantic/ is produced; the diversity indices of
715 Table~\ref{tab:diversity} are to be re-estimated with the semantic distance at the same time}. 714 Table~\ref{tab:diversity} are to be re-estimated with the semantic distance at the same time}.
modified manuscript/tables/TABLES.json +279 −60
@@ -103,7 +103,7 @@
103 "caption": "Fractional output of the fifteen largest countries by year.", 103 "caption": "Fractional output of the fifteen largest countries by year.",
104 "label": "tab:countries", 104 "label": "tab:countries",
105 "sources": [ 105 "sources": [
106− "./results/bibliometrics/countries_yearly.csv" 106+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/countries_yearly.csv"
107 ], 107 ],
108 "rows": 15 108 "rows": 15
109 }, 109 },
@@ -112,7 +112,7 @@
112 "caption": "Structural-change estimates by series: ITS level and slope changes at 2022-12 (HAC p-values), placebo p-values, Bai\u2013Perron (BIC) and PELT break dates.", 112 "caption": "Structural-change estimates by series: ITS level and slope changes at 2022-12 (HAC p-values), placebo p-values, Bai\u2013Perron (BIC) and PELT break dates.",
113 "label": "tab:breaks", 113 "label": "tab:breaks",
114 "sources": [ 114 "sources": [
115− "./results/econometrics/breaks.csv" 115+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
116 ], 116 ],
117 "rows": 41 117 "rows": 41
118 }, 118 },
@@ -121,7 +121,7 @@
121 "caption": "Out-of-time performance of the emerging-topic detectors at horizon 12 months (test cutoffs 2023-01\u20132024-10).", 121 "caption": "Out-of-time performance of the emerging-topic detectors at horizon 12 months (test cutoffs 2023-01\u20132024-10).",
122 "label": "tab:emerging_h12", 122 "label": "tab:emerging_h12",
123 "sources": [ 123 "sources": [
124− "./results/emerging/metrics_h12.json" 124+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json"
125 ], 125 ],
126 "rows": 3 126 "rows": 3
127 }, 127 },
@@ -130,7 +130,7 @@
130 "caption": "Out-of-time performance of the emerging-topic detectors at horizon 24 months (test cutoffs 2023-01\u20132024-04).", 130 "caption": "Out-of-time performance of the emerging-topic detectors at horizon 24 months (test cutoffs 2023-01\u20132024-04).",
131 "label": "tab:emerging_h24", 131 "label": "tab:emerging_h24",
132 "sources": [ 132 "sources": [
133− "./results/emerging/metrics_h24.json" 133+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json"
134 ], 134 ],
135 "rows": 3 135 "rows": 3
136 }, 136 },
@@ -139,7 +139,7 @@
139 "caption": "Preregistered known-emergence set: detection month, peak-growth month and lead time.", 139 "caption": "Preregistered known-emergence set: detection month, peak-growth month and lead time.",
140 "label": "tab:known_set", 140 "label": "tab:known_set",
141 "sources": [ 141 "sources": [
142− "./results/emerging/known_set_lead_times.csv" 142+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/known_set_lead_times.csv"
143 ], 143 ],
144 "rows": 12 144 "rows": 12
145 }, 145 },
@@ -148,8 +148,8 @@
148 "caption": "Team size and collaboration indicators by publication year (all eligible works; periods of the source file summed).", 148 "caption": "Team size and collaboration indicators by publication year (all eligible works; periods of the source file summed).",
149 "label": "tab:collaboration", 149 "label": "tab:collaboration",
150 "sources": [ 150 "sources": [
151− "./results/bibliometrics/team_size_yearly.csv", 151+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/team_size_yearly.csv",
152− "./results/bibliometrics/international_collab_yearly.csv" 152+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/international_collab_yearly.csv"
153 ], 153 ],
154 "rows": 9 154 "rows": 9
155 }, 155 },
@@ -158,7 +158,7 @@
158 "caption": "Share of typed affiliations by OpenAlex institution type and year (per cent of affiliation-work pairs).", 158 "caption": "Share of typed affiliations by OpenAlex institution type and year (per cent of affiliation-work pairs).",
159 "label": "tab:institution_types", 159 "label": "tab:institution_types",
160 "sources": [ 160 "sources": [
161− "./results/bibliometrics/institution_types_yearly.csv" 161+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/institution_types_yearly.csv"
162 ], 162 ],
163 "rows": 9 163 "rows": 9
164 }, 164 },
@@ -167,7 +167,7 @@
167 "caption": "Share of fractional output of the fifteen largest countries by year (per cent).", 167 "caption": "Share of fractional output of the fifteen largest countries by year (per cent).",
168 "label": "tab:country_shares", 168 "label": "tab:country_shares",
169 "sources": [ 169 "sources": [
170− "./results/bibliometrics/countries_yearly.csv" 170+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/countries_yearly.csv"
171 ], 171 ],
172 "rows": 15 172 "rows": 15
173 }, 173 },
@@ -176,7 +176,7 @@
176 "caption": "Concentration of output across countries by year, and the two largest producers under full counting.", 176 "caption": "Concentration of output across countries by year, and the two largest producers under full counting.",
177 "label": "tab:country_concentration", 177 "label": "tab:country_concentration",
178 "sources": [ 178 "sources": [
179− "./results/bibliometrics/countries_yearly.csv" 179+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/countries_yearly.csv"
180 ], 180 ],
181 "rows": 9 181 "rows": 9
182 }, 182 },
@@ -185,7 +185,7 @@
185 "caption": "The country co-authorship network by period: edges with at least fifty joint works.", 185 "caption": "The country co-authorship network by period: edges with at least fifty joint works.",
186 "label": "tab:country_network", 186 "label": "tab:country_network",
187 "sources": [ 187 "sources": [
188− "./results/bibliometrics/country_pairs_by_period.csv" 188+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/country_pairs_by_period.csv"
189 ], 189 ],
190 "rows": 2 190 "rows": 2
191 }, 191 },
@@ -194,7 +194,7 @@
194 "caption": "The twenty strongest country pairs by period (number of joint works).", 194 "caption": "The twenty strongest country pairs by period (number of joint works).",
195 "label": "tab:country_pairs", 195 "label": "tab:country_pairs",
196 "sources": [ 196 "sources": [
197− "./results/bibliometrics/country_pairs_by_period.csv" 197+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/country_pairs_by_period.csv"
198 ], 198 ],
199 "rows": 20 199 "rows": 20
200 }, 200 },
@@ -203,7 +203,7 @@
203 "caption": "Institutions with at least two hundred works per period: coverage and concentration (fractional counting).", 203 "caption": "Institutions with at least two hundred works per period: coverage and concentration (fractional counting).",
204 "label": "tab:institution_concentration", 204 "label": "tab:institution_concentration",
205 "sources": [ 205 "sources": [
206− "./results/bibliometrics/top_institutions_by_period.csv" 206+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_institutions_by_period.csv"
207 ], 207 ],
208 "rows": 3 208 "rows": 3
209 }, 209 },
@@ -212,7 +212,7 @@
212 "caption": "The twenty-five institutions with the largest fractional output in the post period, with their baseline output.", 212 "caption": "The twenty-five institutions with the largest fractional output in the post period, with their baseline output.",
213 "label": "tab:top_institutions", 213 "label": "tab:top_institutions",
214 "sources": [ 214 "sources": [
215− "./results/bibliometrics/top_institutions_by_period.csv" 215+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_institutions_by_period.csv"
216 ], 216 ],
217 "rows": 25 217 "rows": 25
218 }, 218 },
@@ -221,7 +221,7 @@
221 "caption": "Distribution of works over source types among the listed sources, by period (per cent).", 221 "caption": "Distribution of works over source types among the listed sources, by period (per cent).",
222 "label": "tab:source_types", 222 "label": "tab:source_types",
223 "sources": [ 223 "sources": [
224− "./results/bibliometrics/top_sources_by_period.csv" 224+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_sources_by_period.csv"
225 ], 225 ],
226 "rows": 2 226 "rows": 2
227 }, 227 },
@@ -230,7 +230,7 @@
230 "caption": "The twenty largest sources (venues) by period, with OpenAlex source type.", 230 "caption": "The twenty largest sources (venues) by period, with OpenAlex source type.",
231 "label": "tab:top_sources", 231 "label": "tab:top_sources",
232 "sources": [ 232 "sources": [
233− "./results/bibliometrics/top_sources_by_period.csv" 233+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_sources_by_period.csv"
234 ], 234 ],
235 "rows": 20 235 "rows": 20
236 }, 236 },
@@ -239,7 +239,7 @@
239 "caption": "Age of cited works by citing year (resolved references of eligible works; corpus version of the result file at generation time).", 239 "caption": "Age of cited works by citing year (resolved references of eligible works; corpus version of the result file at generation time).",
240 "label": "tab:cited_age", 240 "label": "tab:cited_age",
241 "sources": [ 241 "sources": [
242− "./results/graph/cited_age_yearly.csv" 242+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cited_age_yearly.csv"
243 ], 243 ],
244 "rows": 9 244 "rows": 9
245 }, 245 },
@@ -248,7 +248,7 @@
248 "caption": "The ten most cited works of each publication year by 36-month window citations (c36), with total citations to date.", 248 "caption": "The ten most cited works of each publication year by 36-month window citations (c36), with total citations to date.",
249 "label": "tab:top_cited", 249 "label": "tab:top_cited",
250 "sources": [ 250 "sources": [
251− "./results/bibliometrics/top_cited_by_year.csv" 251+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_cited_by_year.csv"
252 ], 252 ],
253 "rows": 80 253 "rows": 80
254 }, 254 },
@@ -257,7 +257,7 @@
257 "caption": "DBLP records of 2018--2026 without an OpenAlex counterpart, by DBLP record type and year.", 257 "caption": "DBLP records of 2018--2026 without an OpenAlex counterpart, by DBLP record type and year.",
258 "label": "tab:dblp_only", 258 "label": "tab:dblp_only",
259 "sources": [ 259 "sources": [
260− "./results/bibliometrics/dblp_only_yearly.csv" 260+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/dblp_only_yearly.csv"
261 ], 261 ],
262 "rows": 9 262 "rows": 9
263 }, 263 },
@@ -266,7 +266,7 @@
266 "caption": "The OpenAlex \\texttt{created\\_date} relative to the publication date, by publication year.", 266 "caption": "The OpenAlex \\texttt{created\\_date} relative to the publication date, by publication year.",
267 "label": "tab:indexing_lag", 267 "label": "tab:indexing_lag",
268 "sources": [ 268 "sources": [
269− "./results/bibliometrics/indexing_lag.csv" 269+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/indexing_lag.csv"
270 ], 270 ],
271 "rows": 9 271 "rows": 9
272 }, 272 },
@@ -275,7 +275,7 @@
275 "caption": "Reference coverage by citing year: declared, resolved, internal and external references of eligible works.", 275 "caption": "Reference coverage by citing year: declared, resolved, internal and external references of eligible works.",
276 "label": "tab:reference_coverage", 276 "label": "tab:reference_coverage",
277 "sources": [ 277 "sources": [
278− "./results/graph/reference_coverage_yearly.csv" 278+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/reference_coverage_yearly.csv"
279 ], 279 ],
280 "rows": 9 280 "rows": 9
281 }, 281 },
@@ -284,7 +284,7 @@
284 "caption": "Destination of the resolved references of eligible works by citing year: inside the corpus, computer science outside it, and the seven largest other OpenAlex fields (per cent of resolved references).", 284 "caption": "Destination of the resolved references of eligible works by citing year: inside the corpus, computer science outside it, and the seven largest other OpenAlex fields (per cent of resolved references).",
285 "label": "tab:field_flows", 285 "label": "tab:field_flows",
286 "sources": [ 286 "sources": [
287− "./results/graph/field_flows_yearly.csv" 287+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/field_flows_yearly.csv"
288 ], 288 ],
289 "rows": 9 289 "rows": 9
290 }, 290 },
@@ -293,7 +293,7 @@
293 "caption": "Citation-flow matrices between the eight areas of the ontology by period: share of each citing area's internal references received by each cited area (per cent).", 293 "caption": "Citation-flow matrices between the eight areas of the ontology by period: share of each citing area's internal references received by each cited area (per cent).",
294 "label": "tab:net_area_flows", 294 "label": "tab:net_area_flows",
295 "sources": [ 295 "sources": [
296− "./results/graph/area_flows_yearly.csv" 296+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/area_flows_yearly.csv"
297 ], 297 ],
298 "rows": 16 298 "rows": 16
299 }, 299 },
@@ -302,8 +302,8 @@
302 "caption": "Modularity of the yearly category citation-flow network at the category and area partitions, the within-category self-share, and the aggregate cross-area share of internal references, raw and composition-adjusted.", 302 "caption": "Modularity of the yearly category citation-flow network at the category and area partitions, the within-category self-share, and the aggregate cross-area share of internal references, raw and composition-adjusted.",
303 "label": "tab:net_modularity", 303 "label": "tab:net_modularity",
304 "sources": [ 304 "sources": [
305− "./results/graph/modularity_yearly.csv", 305+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/modularity_yearly.csv",
306− "./results/graph/cross_area_share_yearly.csv" 306+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cross_area_share_yearly.csv"
307 ], 307 ],
308 "rows": 9 308 "rows": 9
309 }, 309 },
@@ -312,7 +312,7 @@
312 "caption": "Share of each category's internal references received by the nine categories of the AI/ML area, by citing year (per cent).", 312 "caption": "Share of each category's internal references received by the nine categories of the AI/ML area, by citing year (per cent).",
313 "label": "tab:net_category_to_ai", 313 "label": "tab:net_category_to_ai",
314 "sources": [ 314 "sources": [
315− "./results/graph/category_flows_yearly.csv" 315+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_flows_yearly.csv"
316 ], 316 ],
317 "rows": 40 317 "rows": 40
318 }, 318 },
@@ -321,7 +321,7 @@
321 "caption": "Shares of works with a China-affiliated author, a United States-affiliated author, a company affiliation and authors in at least two countries, by primary category and period (per cent).", 321 "caption": "Shares of works with a China-affiliated author, a United States-affiliated author, a company affiliation and authors in at least two countries, by primary category and period (per cent).",
322 "label": "tab:net_category_actors", 322 "label": "tab:net_category_actors",
323 "sources": [ 323 "sources": [
324− "./results/bibliometrics/category_actors_yearly.csv" 324+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_actors_yearly.csv"
325 ], 325 ],
326 "rows": 40 326 "rows": 40
327 }, 327 },
@@ -330,7 +330,7 @@
330 "caption": "Actor shares of works whose primary category is in the AI/ML area against all other areas, by period (per cent).", 330 "caption": "Actor shares of works whose primary category is in the AI/ML area against all other areas, by period (per cent).",
331 "label": "tab:net_ai_vs_rest", 331 "label": "tab:net_ai_vs_rest",
332 "sources": [ 332 "sources": [
333− "./results/bibliometrics/category_actors_yearly.csv" 333+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_actors_yearly.csv"
334 ], 334 ],
335 "rows": 4 335 "rows": 4
336 }, 336 },
@@ -339,7 +339,7 @@
339 "caption": "China-affiliated, company-affiliated and international shares of works by year, AI/ML area against all other areas (per cent).", 339 "caption": "China-affiliated, company-affiliated and international shares of works by year, AI/ML area against all other areas (per cent).",
340 "label": "tab:net_ai_vs_rest_yearly", 340 "label": "tab:net_ai_vs_rest_yearly",
341 "sources": [ 341 "sources": [
342− "./results/bibliometrics/category_actors_yearly.csv" 342+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_actors_yearly.csv"
343 ], 343 ],
344 "rows": 9 344 "rows": 9
345 }, 345 },
@@ -348,7 +348,7 @@
348 "caption": "Gini coefficient of 36-month citations $c^{(36)}$ by primary category and publication year, for years with a complete window; baseline mean, change of the last complete year against it, and share uncited at 36 months in that year.", 348 "caption": "Gini coefficient of 36-month citations $c^{(36)}$ by primary category and publication year, for years with a complete window; baseline mean, change of the last complete year against it, and share uncited at 36 months in that year.",
349 "label": "tab:net_category_gini", 349 "label": "tab:net_category_gini",
350 "sources": [ 350 "sources": [
351− "./results/bibliometrics/category_impact_yearly.csv" 351+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_impact_yearly.csv"
352 ], 352 ],
353 "rows": 40 353 "rows": 40
354 }, 354 },
@@ -357,7 +357,7 @@
357 "caption": "Citation inequality at 36 months, AI/ML area against all other areas, by publication year with a complete window.", 357 "caption": "Citation inequality at 36 months, AI/ML area against all other areas, by publication year with a complete window.",
358 "label": "tab:net_gini_ai_vs_rest", 358 "label": "tab:net_gini_ai_vs_rest",
359 "sources": [ 359 "sources": [
360− "./results/bibliometrics/category_impact_yearly.csv" 360+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_impact_yearly.csv"
361 ], 361 ],
362 "rows": 6 362 "rows": 6
363 }, 363 },
@@ -366,16 +366,16 @@
366 "caption": "Volume, compound annual growth and corpus share of the nine AI categories, baseline (2018--2022) and post (2023--2025) periods.", 366 "caption": "Volume, compound annual growth and corpus share of the nine AI categories, baseline (2018--2022) and post (2023--2025) periods.",
367 "label": "tab:ai_growth", 367 "label": "tab:ai_growth",
368 "sources": [ 368 "sources": [
369− "./results/bibliometrics/cagr_by_category.csv" 369+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv"
370 ], 370 ],
371 "rows": 9 371 "rows": 9
372 }, 372 },
373 { 373 {
374 "file": "tab_ai_counts.tex", 374 "file": "tab_ai_counts.tex",
375− "caption": "Yearly multi-label counts of the nine AI categories (all period rows summed; 2026 incomplete).", 375+ "caption": "Multi-label counts of the nine AI categories in selected years (all period rows summed; 2026 incomplete).",
376 "label": "tab:ai_counts", 376 "label": "tab:ai_counts",
377 "sources": [ 377 "sources": [
378− "./results/graph/category_counts_yearly.csv" 378+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
379 ], 379 ],
380 "rows": 9 380 "rows": 9
381 }, 381 },
@@ -384,7 +384,7 @@
384 "caption": "Structural change at 30 November 2022 in the nine AI categories: interrupted-time-series level and slope changes, placebo p-values, Bai--Perron and PELT break dates.", 384 "caption": "Structural change at 30 November 2022 in the nine AI categories: interrupted-time-series level and slope changes, placebo p-values, Bai--Perron and PELT break dates.",
385 "label": "tab:ai_breaks", 385 "label": "tab:ai_breaks",
386 "sources": [ 386 "sources": [
387− "./results/econometrics/breaks.csv" 387+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
388 ], 388 ],
389 "rows": 9 389 "rows": 9
390 }, 390 },
@@ -393,7 +393,7 @@
393 "caption": "Interrupted-time-series level changes of the nine AI categories at the alternative event dates (GPT-3, DALL-E 2, GPT-4, o1).", 393 "caption": "Interrupted-time-series level changes of the nine AI categories at the alternative event dates (GPT-3, DALL-E 2, GPT-4, o1).",
394 "label": "tab:ai_altdates", 394 "label": "tab:ai_altdates",
395 "sources": [ 395 "sources": [
396− "./results/econometrics/breaks.csv" 396+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
397 ], 397 ],
398 "rows": 9 398 "rows": 9
399 }, 399 },
@@ -402,7 +402,7 @@
402 "caption": "Destination of the in-corpus references of the nine AI categories in 2019, 2022 and 2025 (per cent of in-corpus references of the citing category).", 402 "caption": "Destination of the in-corpus references of the nine AI categories in 2019, 2022 and 2025 (per cent of in-corpus references of the citing category).",
403 "label": "tab:ai_flows", 403 "label": "tab:ai_flows",
404 "sources": [ 404 "sources": [
405− "./results/graph/category_flows_yearly.csv" 405+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_flows_yearly.csv"
406 ], 406 ],
407 "rows": 27 407 "rows": 27
408 }, 408 },
@@ -411,7 +411,7 @@
411 "caption": "Specialist screening of the 234 AI/ML landmark candidates: records by primary category and data-quality flag.", 411 "caption": "Specialist screening of the 234 AI/ML landmark candidates: records by primary category and data-quality flag.",
412 "label": "tab:ai_landmark_flags", 412 "label": "tab:ai_landmark_flags",
413 "sources": [ 413 "sources": [
414− "./literature_synthesis/agent_E/contributions.csv" 414+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_E/contributions.csv"
415 ], 415 ],
416 "rows": 9 416 "rows": 9
417 }, 417 },
@@ -420,7 +420,7 @@
420 "caption": "Contribution type of the 234 AI/ML landmark candidates by primary category (specialist judgement from abstract or metadata).", 420 "caption": "Contribution type of the 234 AI/ML landmark candidates by primary category (specialist judgement from abstract or metadata).",
421 "label": "tab:ai_contribution_types", 421 "label": "tab:ai_contribution_types",
422 "sources": [ 422 "sources": [
423− "./literature_synthesis/agent_E/contributions.csv" 423+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_E/contributions.csv"
424 ], 424 ],
425 "rows": 9 425 "rows": 9
426 }, 426 },
@@ -429,7 +429,7 @@
429 "caption": "The 234 AI/ML landmark candidates with the specialist's contribution type and data-quality flag (titles in literature\\_synthesis/agent\\_E/contributions.csv).", 429 "caption": "The 234 AI/ML landmark candidates with the specialist's contribution type and data-quality flag (titles in literature\\_synthesis/agent\\_E/contributions.csv).",
430 "label": "tab:ai_landmarks", 430 "label": "tab:ai_landmarks",
431 "sources": [ 431 "sources": [
432− "./literature_synthesis/agent_E/contributions.csv" 432+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_E/contributions.csv"
433 ], 433 ],
434 "rows": 234 434 "rows": 234
435 }, 435 },
@@ -438,7 +438,7 @@
438 "caption": "Eligible works in the five security-and-privacy categories by publication year: works carrying the category (all) and works whose primary category it is (prim.).", 438 "caption": "Eligible works in the five security-and-privacy categories by publication year: works carrying the category (all) and works whose primary category it is (prim.).",
439 "label": "tab:security_counts", 439 "label": "tab:security_counts",
440 "sources": [ 440 "sources": [
441− "./results/graph/category_counts_yearly.csv" 441+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
442 ], 442 ],
443 "rows": 9 443 "rows": 9
444 }, 444 },
@@ -447,8 +447,8 @@
447 "caption": "Growth and structural-change summary for the five security-and-privacy categories (multi-label counts).", 447 "caption": "Growth and structural-change summary for the five security-and-privacy categories (multi-label counts).",
448 "label": "tab:security_summary", 448 "label": "tab:security_summary",
449 "sources": [ 449 "sources": [
450− "./results/graph/category_counts_yearly.csv", 450+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv",
451− "./results/econometrics/breaks.csv" 451+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
452 ], 452 ],
453 "rows": 5 453 "rows": 5
454 }, 454 },
@@ -457,8 +457,8 @@
457 "caption": "Co-classification of security-and-privacy works with the LLM, AI-safety and AI-agents categories, by publication year: number of works carrying both categories and share of the security category's works.", 457 "caption": "Co-classification of security-and-privacy works with the LLM, AI-safety and AI-agents categories, by publication year: number of works carrying both categories and share of the security category's works.",
458 "label": "tab:security_llm_cooccurrence", 458 "label": "tab:security_llm_cooccurrence",
459 "sources": [ 459 "sources": [
460− "./results/graph/category_cooccurrence_yearly.csv", 460+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv",
461− "./results/graph/category_counts_yearly.csv" 461+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
462 ], 462 ],
463 "rows": 9 463 "rows": 9
464 }, 464 },
@@ -467,7 +467,7 @@
467 "caption": "Composition of the automatically selected landmark set of the security-and-privacy area, by category.", 467 "caption": "Composition of the automatically selected landmark set of the security-and-privacy area, by category.",
468 "label": "tab:security_landmarks", 468 "label": "tab:security_landmarks",
469 "sources": [ 469 "sources": [
470− "./literature_synthesis/landmarks/security_privacy_landmarks.csv" 470+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/security_privacy_landmarks.csv"
471 ], 471 ],
472 "rows": 5 472 "rows": 5
473 }, 473 },
@@ -476,37 +476,256 @@
476 "caption": "The systems and infrastructure categories of Part VI: primary-category output, compound annual growth, and structural-change estimates of the monthly log-volume series.", 476 "caption": "The systems and infrastructure categories of Part VI: primary-category output, compound annual growth, and structural-change estimates of the monthly log-volume series.",
477 "label": "tab:systems_categories", 477 "label": "tab:systems_categories",
478 "sources": [ 478 "sources": [
479− "./results/bibliometrics/cagr_by_category.csv", 479+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv",
480− "./results/econometrics/breaks.csv" 480+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
481 ], 481 ],
482 "rows": 11 482 "rows": 11
483 }, 483 },
484+ {
485+ "file": "tab_p9_periods.tex",
486+ "caption": "The eligible corpus by protocol period: completeness, source membership and document type.",
487+ "label": "tab:p9-periods",
488+ "sources": [
489+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_monthly.csv"
490+ ],
491+ "rows": 13
492+ },
493+ {
494+ "file": "tab_p9_classification.tex",
495+ "caption": "Classification coverage by publication year: eligible works, works with a primary category, and multi-label assignments.",
496+ "label": "tab:p9-classification",
497+ "sources": [
498+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv",
499+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/data/metadata/prisma_counts.json"
500+ ],
501+ "rows": 9
502+ },
503+ {
504+ "file": "tab_p9_area_shares.tex",
505+ "caption": "Share of primary-category assignments by top-level area and year (per cent), with the two protocol periods.",
506+ "label": "tab:p9-area-shares",
507+ "sources": [
508+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
509+ ],
510+ "rows": 11
511+ },
512+ {
513+ "file": "tab_p9_category_periods.tex",
514+ "caption": "The forty categories by protocol period: primary-category output, composition shares, multi-label growth and compound annual growth rates.",
515+ "label": "tab:p9-category-periods",
516+ "sources": [
517+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv",
518+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv"
519+ ],
520+ "rows": 40
521+ },
522+ {
523+ "file": "tab_p9_ai_shares.tex",
524+ "caption": "Share of primary-category assignments held by the AI and machine-learning categories in 2018, 2022 and 2025 (per cent, bootstrap 95\\% intervals).",
525+ "label": "tab:p9-ai-shares",
526+ "sources": [
527+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_share_ci_yearly.csv"
528+ ],
529+ "rows": 10
530+ },
531+ {
532+ "file": "tab_p9_its_total_events.tex",
533+ "caption": "Interrupted time series of the total monthly series at the reference date and at four alternative event dates (log counts, month-of-year dummies, Newey--West standard errors).",
534+ "label": "tab:p9-its-total-events",
535+ "sources": [
536+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json"
537+ ],
538+ "rows": 5
539+ },
540+ {
541+ "file": "tab_p9_total_robustness.tex",
542+ "caption": "Robustness diagnostics of the structural-change analysis of the total monthly series.",
543+ "label": "tab:p9-total-robustness",
544+ "sources": [
545+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json"
546+ ],
547+ "rows": 12
548+ },
549+ {
550+ "file": "tab_p9_its_slopes.tex",
551+ "caption": "ITS slope change at December 2022 by category: pre-period slope, change, HAC and placebo $p$-values, and implied post-period slope (monthly log growth).",
552+ "label": "tab:p9-its-slopes",
553+ "sources": [
554+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json"
555+ ],
556+ "rows": 40
557+ },
558+ {
559+ "file": "tab_p9_its_levels.tex",
560+ "caption": "ITS level change at December 2022 by category: full-sample and donut estimates, HAC and placebo $p$-values, and the BOCPD change probability over December 2022 to March 2023.",
561+ "label": "tab:p9-its-levels",
562+ "sources": [
563+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json"
564+ ],
565+ "rows": 40
566+ },
567+ {
568+ "file": "tab_p9_unknown_breaks.tex",
569+ "caption": "Data-driven break and changepoint dates by category, and whether any falls in the H3 window (October 2022 to June 2023).",
570+ "label": "tab:p9-unknown-breaks",
571+ "sources": [
572+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json"
573+ ],
574+ "rows": 40
575+ },
576+ {
577+ "file": "tab_p9_altdates.tex",
578+ "caption": "ITS level change (HAC $p$) by category at the five pre-specified event dates.",
579+ "label": "tab:p9-altdates",
580+ "sources": [
581+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json"
582+ ],
583+ "rows": 40
584+ },
585+ {
586+ "file": "tab_p9_h3.tex",
587+ "caption": "Hypothesis H3: break dates and ITS estimates for the eight categories named in the protocol.",
588+ "label": "tab:p9-h3",
589+ "sources": [
590+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json"
591+ ],
592+ "rows": 8
593+ },
594+ {
595+ "file": "tab_p9_cross_area.tex",
596+ "caption": "Cross-area share of internal references by citing area and citing year (per cent), with the aggregate share and its composition-adjusted counterpart.",
597+ "label": "tab:p9-cross-area",
598+ "sources": [
599+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cross_area_share_yearly.csv"
600+ ],
601+ "rows": 11
602+ },
603+ {
604+ "file": "tab_p9_modularity.tex",
605+ "caption": "Modularity of the yearly category citation-flow network at the category and area partitions, and the within-category self-share of citations.",
606+ "label": "tab:p9-modularity",
607+ "sources": [
608+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/modularity_yearly.csv"
609+ ],
610+ "rows": 9
611+ },
612+ {
613+ "file": "tab_p9_area_flow_change.tex",
614+ "caption": "Change in the area citation-flow matrix between 2018--2022 and 2023--2026: post-period row share minus baseline row share (percentage points).",
615+ "label": "tab:p9-area-flow-change",
616+ "sources": [
617+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/area_flows_yearly.csv"
618+ ],
619+ "rows": 8
620+ },
621+ {
622+ "file": "tab_p9_cooccurrence.tex",
623+ "caption": "The fifteen most frequent co-classification pairs (works carrying both categories in their label set), 2018--2022 and 2023--2026.",
624+ "label": "tab:p9-cooccurrence",
625+ "sources": [
626+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv"
627+ ],
628+ "rows": 15
629+ },
630+ {
631+ "file": "tab_p9_llm_partners.tex",
632+ "caption": "Categories most often co-assigned with Large Language Models, by span.",
633+ "label": "tab:p9-llm-partners",
634+ "sources": [
635+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv"
636+ ],
637+ "rows": 15
638+ },
639+ {
640+ "file": "tab_p9_openness.tex",
641+ "caption": "Openness and metadata indicators by publication year: arXiv linkage, preprint share, open access, abstract availability and document type (per cent of eligible works).",
642+ "label": "tab:p9-openness",
643+ "sources": [
644+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_yearly.csv"
645+ ],
646+ "rows": 9
647+ },
648+ {
649+ "file": "tab_p9_landmarks.tex",
650+ "caption": "Composition of the landmark set by area and by publication year.",
651+ "label": "tab:p9-landmarks",
652+ "sources": [
653+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/selection_report.json"
654+ ],
655+ "rows": 17
656+ },
657+ {
658+ "file": "tab_p9_emerging_setup.tex",
659+ "caption": "Out-of-time evaluation design of the emerging-topic detector: cutoffs (months), panel sizes and positive rates.",
660+ "label": "tab:p9-emerging-setup",
661+ "sources": [
662+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json",
663+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json"
664+ ],
665+ "rows": 2
666+ },
667+ {
668+ "file": "tab_p9_emerging_cutoffs.tex",
669+ "caption": "AUC of the three detectors at each test cutoff, by horizon.",
670+ "label": "tab:p9-emerging-cutoffs",
671+ "sources": [
672+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json",
673+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json"
674+ ],
675+ "rows": 8
676+ },
484 { 677 {
485 "file": "tab_theory_counts.tex", 678 "file": "tab_theory_counts.tex",
486− "caption": "Eligible works in the six theory and software categories by publication year: works carrying the category (all) and works whose primary category it is (prim.).", 679+ "caption": "Eligible works in the six theory and software categories by publication year: works carrying the category (multi-label).",
487 "label": "tab:theory_counts", 680 "label": "tab:theory_counts",
488 "sources": [ 681 "sources": [
489− "./results/graph/category_counts_yearly.csv" 682+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
683+ ],
684+ "rows": 9
685+ },
686+ {
687+ "file": "tab_theory_counts_primary.tex",
688+ "caption": "Eligible works in the six theory and software categories by publication year: works whose primary category it is.",
689+ "label": "tab:theory_counts_primary",
690+ "sources": [
691+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
490 ], 692 ],
491 "rows": 9 693 "rows": 9
492 }, 694 },
493 { 695 {
494 "file": "tab_theory_summary.tex", 696 "file": "tab_theory_summary.tex",
495− "caption": "Growth and structural-change summary for the six theory and software categories (multi-label counts).", 697+ "caption": "Growth summary for the six theory and software categories (multi-label counts).",
496 "label": "tab:theory_summary", 698 "label": "tab:theory_summary",
497 "sources": [ 699 "sources": [
498− "./results/graph/category_counts_yearly.csv", 700+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
499− "./results/econometrics/breaks.csv" 701+ ],
702+ "rows": 6
703+ },
704+ {
705+ "file": "tab_theory_breaks.tex",
706+ "caption": "Structural-change estimates at 2022-12 for the six theory and software categories (primary-label monthly series).",
707+ "label": "tab:theory_breaks",
708+ "sources": [
709+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
500 ], 710 ],
501 "rows": 6 711 "rows": 6
502 }, 712 },
503 { 713 {
504 "file": "tab_theory_llm_cooccurrence.tex", 714 "file": "tab_theory_llm_cooccurrence.tex",
505− "caption": "Co-classification of theory and software works with the LLM category, by publication year: number of works carrying both categories and share of the category's multi-label count.", 715+ "caption": "Share of theory and software works co-classified with the LLM category, by publication year (per cent of the category's multi-label count).",
506 "label": "tab:theory_llm_cooccurrence", 716 "label": "tab:theory_llm_cooccurrence",
507 "sources": [ 717 "sources": [
508− "./results/graph/category_cooccurrence_yearly.csv", 718+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv",
509− "./results/graph/category_counts_yearly.csv" 719+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
720+ ],
721+ "rows": 9
722+ },
723+ {
724+ "file": "tab_theory_llm_cooccurrence_counts.tex",
725+ "caption": "Number of theory and software works co-classified with the LLM category, by publication year.",
726+ "label": "tab:theory_llm_cooccurrence_counts",
727+ "sources": [
728+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv"
510 ], 729 ],
511 "rows": 9 730 "rows": 9
512 }, 731 },
@@ -515,9 +734,9 @@
515 "caption": "Specialist audit of the automatically selected landmark candidates of the theory and software areas, by verdict and primary category.", 734 "caption": "Specialist audit of the automatically selected landmark candidates of the theory and software areas, by verdict and primary category.",
516 "label": "tab:theory_landmark_audit", 735 "label": "tab:theory_landmark_audit",
517 "sources": [ 736 "sources": [
518− "./literature_synthesis/agent_G/contributions.csv", 737+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_G/contributions.csv",
519− "./literature_synthesis/landmarks/theory_landmarks.csv", 738+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/theory_landmarks.csv",
520− "./literature_synthesis/landmarks/software_pl_landmarks.csv" 739+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/software_pl_landmarks.csv"
521 ], 740 ],
522 "rows": 9 741 "rows": 9
523 }, 742 },
@@ -526,7 +745,7 @@
526 "caption": "Landmark candidates of the theory and software areas retained as in-scope research or survey contributions, with the contribution type judged from the abstract or metadata.", 745 "caption": "Landmark candidates of the theory and software areas retained as in-scope research or survey contributions, with the contribution type judged from the abstract or metadata.",
527 "label": "tab:theory_landmarks_discussed", 746 "label": "tab:theory_landmarks_discussed",
528 "sources": [ 747 "sources": [
529− "./literature_synthesis/agent_G/contributions.csv" 748+ "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_G/contributions.csv"
530 ], 749 ],
531 "rows": 37 750 "rows": 37
532 } 751 }
modified manuscript/tables/tab_ai_altdates.tex +3 −3
@@ -1,9 +1,9 @@
1−% generated by tables/make_tables.py from ./results/econometrics/breaks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv
2 \begin{table}[htbp]\centering\caption{Interrupted-time-series level changes of the nine AI categories at the alternative event dates (GPT-3, DALL-E 2, GPT-4, o1).}\label{tab:ai_altdates} 2 \begin{table}[htbp]\centering\caption{Interrupted-time-series level changes of the nine AI categories at the alternative event dates (GPT-3, DALL-E 2, GPT-4, o1).}\label{tab:ai_altdates}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrr} 4 \begin{tabular}{lrrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Category} & \textbf{GPT-3 (2020-06)} & \textbf{p} & \textbf{DALL-E 2 (2022-05)} & \textbf{p } & \textbf{GPT-4 (2023-04)} & \textbf{p } & \textbf{o1 (2024-10)} & \textbf{p } \\ 6+\textbf{Category} & \textbf{GPT-3} & \textbf{p} & \textbf{DALL-E 2} & \textbf{p } & \textbf{GPT-4} & \textbf{p } & \textbf{o1} & \textbf{p } \\
7 \midrule 7 \midrule
8 LLM & -0.380 & 0.007 & -0.182 & 0.002 & 0.236 & 0.002 & 0.457 & 0.001 \\ 8 LLM & -0.380 & 0.007 & -0.182 & 0.002 & 0.236 & 0.002 & 0.457 & 0.001 \\
9 Foundation & -0.164 & 0.049 & -0.221 & 0.002 & 0.023 & 0.756 & 0.084 & 0.173 \\ 9 Foundation & -0.164 & 0.049 & -0.221 & 0.002 & 0.023 & 0.756 & 0.084 & 0.173 \\
@@ -16,5 +16,5 @@ DL arch. & -0.004 & 0.937 & -0.114 & 0.008 & -0.051 & 0.260 & 0.008 & 0.792 \\
16 AI safety & -0.226 & 0.034 & -0.311 & 0.000 & -0.080 & 0.244 & 0.150 & 0.010 \\ 16 AI safety & -0.226 & 0.034 & -0.311 & 0.000 & -0.080 & 0.244 & 0.150 & 0.010 \\
17 \bottomrule 17 \bottomrule
18 \end{tabular} 18 \end{tabular}
19−\begin{tablenotes}\footnotesize\item Each column pair is a separate ITS fit with the event moved to the stated month (Part IV, Section~\ref{sec:m-altdates}); level change in log points, HAC p-value to its right. Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes} 19+\begin{tablenotes}\footnotesize\item Each column pair is a separate ITS fit with the event moved to the release month of the named system: GPT-3 = 2020-06, DALL-E 2 = 2022-05, GPT-4 = 2023-04, o1 = 2024-10 (Part IV, Section~\ref{sec:m-altdates}); level change in log points, HAC p-value to its right. Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_ai_breaks.tex +13 −13
@@ -1,20 +1,20 @@
1−% generated by tables/make_tables.py from ./results/econometrics/breaks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv
2 \begin{table}[htbp]\centering\caption{Structural change at 30 November 2022 in the nine AI categories: interrupted-time-series level and slope changes, placebo p-values, Bai--Perron and PELT break dates.}\label{tab:ai_breaks} 2 \begin{table}[htbp]\centering\caption{Structural change at 30 November 2022 in the nine AI categories: interrupted-time-series level and slope changes, placebo p-values, Bai--Perron and PELT break dates.}\label{tab:ai_breaks}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize
4−\begin{tabular}{lrrrrrrrr} 4+\begin{tabular}{@{}lrrrrrrrr@{}}
5 \toprule 5 \toprule
6−\textbf{Category} & \textbf{Level} & \textbf{p (level)} & \textbf{Slope} & \textbf{p (slope)} & \textbf{Placebo p (level)} & \textbf{Placebo p (slope)} & \textbf{Bai--Perron} & \textbf{PELT} \\ 6+\textbf{Category} & \textbf{Level} & \textbf{p} & \textbf{Slope} & \textbf{p } & \textbf{Pl. p (lev.)} & \textbf{Pl. p (sl.)} & \textbf{Bai--Perron} & \textbf{PELT} \\
7 \midrule 7 \midrule
8 LLM & 0.106 & 0.075 & 0.034 & 0.000 & 0.938 & 0.200 & 2022-07 & 2023-10 \\ 8 LLM & 0.106 & 0.075 & 0.034 & 0.000 & 0.938 & 0.200 & 2022-07 & 2023-10 \\
9−Foundation & -0.075 & 0.340 & 0.006 & 0.021 & 0.692 & 0.246 & 2021-10 & 2020-02; 2023-10 \\ 9+Foundation & -0.075 & 0.340 & 0.006 & 0.021 & 0.692 & 0.246 & 2021-10 & 2020-02;2023-10 \\
10−Multimodal & 0.025 & 0.600 & 0.024 & 0.000 & 0.969 & 0.200 & 2022-04 & 2020-12; 2023-12 \\ 10+Multimodal & 0.025 & 0.600 & 0.024 & 0.000 & 0.969 & 0.200 & 2022-04 & 2020-12;2023-12 \\
11−Generative & 0.036 & 0.556 & 0.019 & 0.000 & 0.969 & 0.308 & 2021-11 & 2020-12; 2023-12 \\ 11+Generative & 0.036 & 0.556 & 0.019 & 0.000 & 0.969 & 0.308 & 2021-11 & 2020-12;2023-12 \\
12−Agents & -0.210 & 0.028 & 0.040 & 0.000 & 0.631 & 0.400 & 2022-07; 2024-07 & 2023-12; 2025-08 \\ 12+Agents & -0.210 & 0.028 & 0.040 & 0.000 & 0.631 & 0.400 & 2022-07;2024-07 & 2023-12;2025-08 \\
13−RL & -0.164 & 0.013 & 0.012 & 0.000 & 0.615 & 0.385 & 2021-07; 2024-12 & 2021; 2024-12 \\ 13+RL & -0.164 & 0.013 & 0.012 & 0.000 & 0.615 & 0.385 & 2021-07;2024-12 & 2021;2024-12 \\
14−ML theory & -0.080 & 0.090 & 0.009 & 0.000 & 0.662 & 0.215 & 2020-05; 2022-07 & 2020-02; 2023-12 \\ 14+ML theory & -0.080 & 0.090 & 0.009 & 0.000 & 0.662 & 0.215 & 2020-05;2022-07 & 2020-02;2023-12 \\
15−DL arch. & -0.071 & 0.126 & -0.002 & 0.136 & 0.400 & 0.708 & 2021-07 & 2020-02; 2023-12 \\ 15+DL arch. & -0.071 & 0.126 & -0.002 & 0.136 & 0.400 & 0.708 & 2021-07 & 2020-02;2023-12 \\
16−AI safety & -0.206 & 0.002 & 0.016 & 0.000 & 0.446 & 0.308 & 2021-06; 2022-09 & 2020-02; 2024-02 \\ 16+AI safety & -0.206 & 0.002 & 0.016 & 0.000 & 0.446 & 0.308 & 2021-06;2022-09 & 2020-02;2024-02 \\
17 \bottomrule 17 \bottomrule
18 \end{tabular} 18 \end{tabular}
19−\begin{tablenotes}\footnotesize\item Monthly log counts, seasonally adjusted; HAC p-values (Part IV, Section~\ref{sec:m-its}). Level change in log points of the monthly count at 2022-12; slope change in log points per month. Placebo p-values: share of placebo event dates (Section~\ref{sec:m-placebo}) whose t-statistic exceeds the true one. Bai--Perron: break months selected by BIC with trimming h = 15 months; PELT: penalised exact linear-time change points. Categories are multi-label, so the series overlap. Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes} 19+\begin{tablenotes}\footnotesize\item Monthly log counts, seasonally adjusted; HAC p-values (Part IV, Section~\ref{sec:m-its}), each to the right of its estimate. Level change in log points of the monthly count at 2022-12; slope change in log points per month. Pl. p (lev.) and Pl. p (sl.): placebo p-values of the level and slope statistics, i.e. the share of placebo event dates (Section~\ref{sec:m-placebo}) whose t-statistic exceeds the true one. Bai--Perron: break months selected by BIC with trimming h = 15 months; PELT: penalised exact linear-time change points. Categories are multi-label, so the series overlap. Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_ai_contribution_types.tex +11 −11
@@ -1,20 +1,20 @@
1−% generated by tables/make_tables.py from ./literature_synthesis/agent_E/contributions.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_E/contributions.csv
2 \begin{table}[htbp]\centering\caption{Contribution type of the 234 AI/ML landmark candidates by primary category (specialist judgement from abstract or metadata).}\label{tab:ai_contribution_types} 2 \begin{table}[htbp]\centering\caption{Contribution type of the 234 AI/ML landmark candidates by primary category (specialist judgement from abstract or metadata).}\label{tab:ai_contribution_types}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrr} 4 \begin{tabular}{lrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Primary category} & \textbf{benchmark} & \textbf{empirical} & \textbf{engineering} & \textbf{method} & \textbf{survey} & \textbf{theory} & \textbf{total} \\ 6+\textbf{Category} & \textbf{Benchmark} & \textbf{Empirical} & \textbf{Engineering} & \textbf{Method} & \textbf{Survey} & \textbf{Theory} & \textbf{Total} \\
7 \midrule 7 \midrule
8−Large language models & 1 & 8 & 6 & 2 & 12 & 4 & 33 \\ 8+LLM & 1 & 8 & 6 & 2 & 12 & 4 & 33 \\
9−Foundation models & 1 & 0 & 1 & 16 & 6 & 1 & 25 \\ 9+Foundation & 1 & 0 & 1 & 16 & 6 & 1 & 25 \\
10−Multimodal AI & 1 & 2 & 0 & 16 & 6 & 0 & 25 \\ 10+Multimodal & 1 & 2 & 0 & 16 & 6 & 0 & 25 \\
11−Generative AI & 0 & 9 & 1 & 5 & 8 & 2 & 25 \\ 11+Generative & 0 & 9 & 1 & 5 & 8 & 2 & 25 \\
12−AI agents & 1 & 0 & 4 & 0 & 13 & 7 & 25 \\ 12+Agents & 1 & 0 & 4 & 0 & 13 & 7 & 25 \\
13−Reinforcement learning & 0 & 5 & 2 & 11 & 3 & 4 & 25 \\ 13+RL & 0 & 5 & 2 & 11 & 3 & 4 & 25 \\
14 ML theory & 0 & 0 & 1 & 4 & 11 & 9 & 25 \\ 14 ML theory & 0 & 0 & 1 & 4 & 11 & 9 & 25 \\
15−DL architectures & 0 & 2 & 1 & 11 & 11 & 0 & 25 \\ 15+DL arch. & 0 & 2 & 1 & 11 & 11 & 0 & 25 \\
16−AI safety and alignment & 0 & 7 & 1 & 2 & 14 & 2 & 26 \\ 16+AI safety & 0 & 7 & 1 & 2 & 14 & 2 & 26 \\
17 \bottomrule 17 \bottomrule
18 \end{tabular} 18 \end{tabular}
19−\begin{tablenotes}\footnotesize\item Types follow CLAUDE.md~\S1 item 6: theory, method, empirical, benchmark, engineering, survey. Judged from the abstract for 190 records and from title/venue/type for 44 records without abstract (column judged\_from of the source file).\end{tablenotes} 19+\begin{tablenotes}\footnotesize\item Types follow CLAUDE.md~\S1 item 6: theory, method, empirical, benchmark, engineering, survey. Judged from the abstract for 190 records and from title/venue/type for 44 records without abstract (column judged\_from of the source file). Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_ai_counts.tex +13 −13
@@ -1,19 +1,19 @@
1−% generated by tables/make_tables.py from ./results/graph/category_counts_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2−\begin{table}[htbp]\centering\caption{Yearly multi-label counts of the nine AI categories (all period rows summed; 2026 incomplete).}\label{tab:ai_counts} 2+\begin{table}[htbp]\centering\caption{Multi-label counts of the nine AI categories in selected years (all period rows summed; 2026 incomplete).}\label{tab:ai_counts}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4−\begin{tabular}{lrrrrrrrrr} 4+\begin{tabular}{lrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Category} & \textbf{2018} & \textbf{2019} & \textbf{2020} & \textbf{2021} & \textbf{2022} & \textbf{2023} & \textbf{2024} & \textbf{2025} & \textbf{2026} \\ 6+\textbf{Category} & \textbf{2018} & \textbf{2020} & \textbf{2022} & \textbf{2023} & \textbf{2024} & \textbf{2025} & \textbf{2026} \\
7 \midrule 7 \midrule
8−LLM & 15{,}397 & 18{,}253 & 21{,}706 & 24{,}153 & 25{,}206 & 40{,}491 & 69{,}900 & 116{,}242 & 132{,}202 \\ 8+LLM & 15{,}397 & 21{,}706 & 25{,}206 & 40{,}491 & 69{,}900 & 116{,}242 & 132{,}202 \\
9−Foundation & 4{,}486 & 7{,}802 & 11{,}029 & 14{,}509 & 16{,}948 & 25{,}052 & 36{,}652 & 52{,}535 & 56{,}874 \\ 9+Foundation & 4{,}486 & 11{,}029 & 16{,}948 & 25{,}052 & 36{,}652 & 52{,}535 & 56{,}874 \\
10−Multimodal & 3{,}989 & 5{,}553 & 6{,}666 & 8{,}561 & 10{,}369 & 15{,}746 & 24{,}979 & 42{,}707 & 47{,}737 \\ 10+Multimodal & 3{,}989 & 6{,}666 & 10{,}369 & 15{,}746 & 24{,}979 & 42{,}707 & 47{,}737 \\
11−Generative & 5{,}118 & 8{,}354 & 10{,}228 & 12{,}580 & 13{,}703 & 21{,}583 & 36{,}186 & 56{,}768 & 55{,}673 \\ 11+Generative & 5{,}118 & 10{,}228 & 13{,}703 & 21{,}583 & 36{,}186 & 56{,}768 & 55{,}673 \\
12−Agents & 10{,}042 & 10{,}745 & 10{,}642 & 10{,}593 & 10{,}324 & 12{,}255 & 16{,}189 & 29{,}517 & 45{,}112 \\ 12+Agents & 10{,}042 & 10{,}642 & 10{,}324 & 12{,}255 & 16{,}189 & 29{,}517 & 45{,}112 \\
13−RL & 8{,}157 & 11{,}558 & 14{,}307 & 16{,}674 & 18{,}491 & 22{,}678 & 28{,}572 & 43{,}949 & 44{,}996 \\ 13+RL & 8{,}157 & 14{,}307 & 18{,}491 & 22{,}678 & 28{,}572 & 43{,}949 & 44{,}996 \\
14−ML theory & 28{,}277 & 37{,}723 & 43{,}455 & 47{,}121 & 48{,}940 & 58{,}770 & 70{,}964 & 91{,}772 & 84{,}417 \\ 14+ML theory & 28{,}277 & 43{,}455 & 48{,}940 & 58{,}770 & 70{,}964 & 91{,}772 & 84{,}417 \\
15−DL arch. & 43{,}313 & 62{,}096 & 74{,}987 & 90{,}347 & 99{,}122 & 118{,}793 & 142{,}181 & 174{,}461 & 130{,}581 \\ 15+DL arch. & 43{,}313 & 74{,}987 & 99{,}122 & 118{,}793 & 142{,}181 & 174{,}461 & 130{,}581 \\
16−AI safety & 3{,}309 & 5{,}385 & 7{,}749 & 9{,}909 & 11{,}593 & 16{,}606 & 26{,}098 & 44{,}888 & 51{,}629 \\ 16+AI safety & 3{,}309 & 7{,}749 & 11{,}593 & 16{,}606 & 26{,}098 & 44{,}888 & 51{,}629 \\
17 \bottomrule 17 \bottomrule
18 \end{tabular} 18 \end{tabular}
19 \begin{tablenotes}\footnotesize\item Multi-label counts: a work counts in every category it is assigned to. The source file splits each year into period rows (baseline / pre / post relative to 30 November 2022); they are summed here. 2026 covers publications dated up to the snapshot of 14 October 2026. Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes} 19 \begin{tablenotes}\footnotesize\item Multi-label counts: a work counts in every category it is assigned to. The source file splits each year into period rows (baseline / pre / post relative to 30 November 2022); they are summed here. 2026 covers publications dated up to the snapshot of 14 October 2026. Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes}
modified manuscript/tables/tab_ai_flows.tex +2 −2
@@ -1,5 +1,5 @@
1−% generated by tables/make_tables.py from ./results/graph/category_flows_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_flows_yearly.csv
2−\begin{longtable}{lrrrrrrrrr} 2+\begin{longtable}{@{}lrrrrrrrrr@{}}
3 \caption{Destination of the in-corpus references of the nine AI categories in 2019, 2022 and 2025 (per cent of in-corpus references of the citing category).}\label{tab:ai_flows}\\ 3 \caption{Destination of the in-corpus references of the nine AI categories in 2019, 2022 and 2025 (per cent of in-corpus references of the citing category).}\label{tab:ai_flows}\\
4 \toprule 4 \toprule
5 \textbf{Category} & \textbf{Year} & \textbf{Self} & \textbf{LLM} & \textbf{NLP} & \textbf{Vision} & \textbf{HCI} & \textbf{Robotics} & \textbf{Softw. eng.} & \textbf{AI safety} \\ 5 \textbf{Category} & \textbf{Year} & \textbf{Self} & \textbf{LLM} & \textbf{NLP} & \textbf{Vision} & \textbf{HCI} & \textbf{Robotics} & \textbf{Softw. eng.} & \textbf{AI safety} \\
modified manuscript/tables/tab_ai_growth.tex +12 −12
@@ -1,19 +1,19 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/cagr_by_category.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv
2 \begin{table}[htbp]\centering\caption{Volume, compound annual growth and corpus share of the nine AI categories, baseline (2018--2022) and post (2023--2025) periods.}\label{tab:ai_growth} 2 \begin{table}[htbp]\centering\caption{Volume, compound annual growth and corpus share of the nine AI categories, baseline (2018--2022) and post (2023--2025) periods.}\label{tab:ai_growth}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4−\begin{tabular}{lrrrrrrrrr} 4+\begin{tabular}{lrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Category} & \textbf{2018} & \textbf{2022} & \textbf{2023} & \textbf{2025} & \textbf{CAGR 18--22} & \textbf{CAGR 23--25} & \textbf{Share 2018} & \textbf{Share 2022} & \textbf{Share 2025} \\ 6+\textbf{Category} & \textbf{2018} & \textbf{2022} & \textbf{2025} & \textbf{CAGR 18--22} & \textbf{CAGR 23--25} & \textbf{Share 2018} & \textbf{Share 2025} \\
7 \midrule 7 \midrule
8−LLM & 1{,}635 & 3{,}266 & 10{,}389 & 45{,}158 & 0.189 & 1.085 & 0.33 & 0.58 & 5.06 \\ 8+LLM & 1{,}635 & 3{,}266 & 45{,}158 & 0.189 & 1.085 & 0.33 & 5.06 \\
9−Foundation & 46 & 350 & 571 & 1{,}854 & 0.661 & 0.802 & 0.01 & 0.06 & 0.21 \\ 9+Foundation & 46 & 350 & 1{,}854 & 0.661 & 0.802 & 0.01 & 0.21 \\
10−Multimodal & 470 & 1{,}278 & 1{,}932 & 6{,}749 & 0.284 & 0.869 & 0.09 & 0.23 & 0.76 \\ 10+Multimodal & 470 & 1{,}278 & 6{,}749 & 0.284 & 0.869 & 0.09 & 0.76 \\
11−Generative & 766 & 2{,}160 & 3{,}646 & 12{,}743 & 0.296 & 0.870 & 0.15 & 0.39 & 1.43 \\ 11+Generative & 766 & 2{,}160 & 12{,}743 & 0.296 & 0.870 & 0.15 & 1.43 \\
12−Agents & 5{,}436 & 4{,}521 & 4{,}991 & 8{,}819 & -0.045 & 0.329 & 1.09 & 0.81 & 0.99 \\ 12+Agents & 5{,}436 & 4{,}521 & 8{,}819 & -0.045 & 0.329 & 1.09 & 0.99 \\
13−RL & 3{,}296 & 7{,}017 & 8{,}422 & 13{,}210 & 0.208 & 0.252 & 0.66 & 1.25 & 1.48 \\ 13+RL & 3{,}296 & 7{,}017 & 13{,}210 & 0.208 & 0.252 & 0.66 & 1.48 \\
14−ML theory & 13{,}534 & 20{,}131 & 22{,}893 & 32{,}798 & 0.104 & 0.197 & 2.71 & 3.59 & 3.67 \\ 14+ML theory & 13{,}534 & 20{,}131 & 32{,}798 & 0.104 & 0.197 & 2.71 & 3.67 \\
15−DL arch. & 11{,}992 & 22{,}270 & 25{,}607 & 34{,}141 & 0.167 & 0.155 & 2.40 & 3.97 & 3.82 \\ 15+DL arch. & 11{,}992 & 22{,}270 & 34{,}141 & 0.167 & 0.155 & 2.40 & 3.82 \\
16−AI safety & 1{,}052 & 2{,}954 & 4{,}015 & 10{,}885 & 0.294 & 0.647 & 0.21 & 0.53 & 1.22 \\ 16+AI safety & 1{,}052 & 2{,}954 & 10{,}885 & 0.294 & 0.647 & 0.21 & 1.22 \\
17 \bottomrule 17 \bottomrule
18 \end{tabular} 18 \end{tabular}
19 \begin{tablenotes}\footnotesize\item Counts and shares as stored in the source file (works whose primary category is the row category; shares in per cent of all eligible works of the year). CAGR as in Part IV, eq.~\ref{eq:cagr}; the post-period CAGR uses the 2023 and 2025 end points. Category abbreviations: LLM = large language models; Foundation = foundation models; Generative = generative AI; Agents = AI agents; RL = reinforcement learning; DL arch. = deep-learning architectures; AI safety = AI safety and alignment.\end{tablenotes} 19 \begin{tablenotes}\footnotesize\item Counts and shares as stored in the source file (works whose primary category is the row category; shares in per cent of all eligible works of the year). CAGR as in Part IV, eq.~\ref{eq:cagr}; the post-period CAGR uses the 2023 and 2025 end points. Category abbreviations: LLM = large language models; Foundation = foundation models; Generative = generative AI; Agents = AI agents; RL = reinforcement learning; DL arch. = deep-learning architectures; AI safety = AI safety and alignment.\end{tablenotes}
modified manuscript/tables/tab_ai_landmark_flags.tex +12 −12
@@ -1,20 +1,20 @@
1−% generated by tables/make_tables.py from ./literature_synthesis/agent_E/contributions.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_E/contributions.csv
2 \begin{table}[htbp]\centering\caption{Specialist screening of the 234 AI/ML landmark candidates: records by primary category and data-quality flag.}\label{tab:ai_landmark_flags} 2 \begin{table}[htbp]\centering\caption{Specialist screening of the 234 AI/ML landmark candidates: records by primary category and data-quality flag.}\label{tab:ai_landmark_flags}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrr} 4 \begin{tabular}{lrrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Primary category} & \textbf{abstract\_mismatch} & \textbf{identifier\_mismatch} & \textbf{no\_abstract} & \textbf{normalisation\_artefact} & \textbf{off\_scope} & \textbf{ok} & \textbf{year\_implausible} & \textbf{total} \\ 6+\textbf{Category} & \textbf{OK} & \textbf{No abstr.} & \textbf{Id. mism.} & \textbf{Abstr. mism.} & \textbf{Year} & \textbf{Norm.} & \textbf{Off scope} & \textbf{Total} \\
7 \midrule 7 \midrule
8−Large language models & 1 & 7 & 4 & 2 & 0 & 19 & 0 & 33 \\ 8+LLM & 19 & 4 & 7 & 1 & 0 & 2 & 0 & 33 \\
9−Foundation models & 0 & 0 & 6 & 0 & 0 & 19 & 0 & 25 \\ 9+Foundation & 19 & 6 & 0 & 0 & 0 & 0 & 0 & 25 \\
10−Multimodal AI & 0 & 0 & 5 & 0 & 0 & 20 & 0 & 25 \\ 10+Multimodal & 20 & 5 & 0 & 0 & 0 & 0 & 0 & 25 \\
11−Generative AI & 0 & 0 & 5 & 1 & 1 & 18 & 0 & 25 \\ 11+Generative & 18 & 5 & 0 & 0 & 0 & 1 & 1 & 25 \\
12−AI agents & 0 & 0 & 2 & 1 & 4 & 18 & 0 & 25 \\ 12+Agents & 18 & 2 & 0 & 0 & 0 & 1 & 4 & 25 \\
13−Reinforcement learning & 0 & 1 & 4 & 1 & 4 & 12 & 3 & 25 \\ 13+RL & 12 & 4 & 1 & 0 & 3 & 1 & 4 & 25 \\
14−ML theory & 1 & 1 & 6 & 2 & 0 & 11 & 4 & 25 \\ 14+ML theory & 11 & 6 & 1 & 1 & 4 & 2 & 0 & 25 \\
15−DL architectures & 0 & 3 & 4 & 0 & 0 & 14 & 4 & 25 \\ 15+DL arch. & 14 & 4 & 3 & 0 & 4 & 0 & 0 & 25 \\
16−AI safety and alignment & 1 & 1 & 4 & 0 & 1 & 19 & 0 & 26 \\ 16+AI safety & 19 & 4 & 1 & 1 & 0 & 0 & 1 & 26 \\
17 \bottomrule 17 \bottomrule
18 \end{tabular} 18 \end{tabular}
19−\begin{tablenotes}\footnotesize\item Flags assigned by Agent E from title, venue, identifiers, citation counts and (where available) the abstract: identifier\_mismatch = title/abstract do not correspond to the arXiv identifier or citation count attached to the record; abstract\_mismatch = stored abstract belongs to another work; year\_implausible = OpenAlex year contradicts the first publication; normalisation\_artefact = very small c36 with very large NCS36; off\_scope = not an AI contribution; no\_abstract = metadata only. `ok' records were judged from the abstract.\end{tablenotes} 19+\begin{tablenotes}\footnotesize\item Flags assigned by Agent E from title, venue, identifiers, citation counts and (where available) the abstract: Id. mism. = title/abstract do not correspond to the arXiv identifier or citation count attached to the record; Abstr. mism. = stored abstract belongs to another work; Year = OpenAlex year contradicts the first publication; Norm. = very small c36 with very large NCS36 (normalisation artefact); Off scope = not an AI contribution; No abstr. = metadata only, otherwise unremarkable. OK records were judged from the abstract. Category abbreviations as in Table~\ref{tab:ai_growth}.\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_ai_landmarks.tex +237 −237
@@ -1,5 +1,5 @@
1−% generated by tables/make_tables.py from ./literature_synthesis/agent_E/contributions.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_E/contributions.csv
2−\begin{longtable}{lrrrrrrr} 2+\begin{longtable}{@{}lrrrrrrr@{}}
3 \caption{The 234 AI/ML landmark candidates with the specialist's contribution type and data-quality flag (titles in literature\_synthesis/agent\_E/contributions.csv).}\label{tab:ai_landmarks}\\ 3 \caption{The 234 AI/ML landmark candidates with the specialist's contribution type and data-quality flag (titles in literature\_synthesis/agent\_E/contributions.csv).}\label{tab:ai_landmarks}\\
4 \toprule 4 \toprule
5 \textbf{OpenAlex id} & \textbf{Year} & \textbf{Type} & \textbf{Category} & \textbf{c36} & \textbf{NCS36} & \textbf{Contribution} & \textbf{Flag} \\ 5 \textbf{OpenAlex id} & \textbf{Year} & \textbf{Type} & \textbf{Category} & \textbf{c36} & \textbf{NCS36} & \textbf{Contribution} & \textbf{Flag} \\
@@ -9,240 +9,240 @@
9 \textbf{OpenAlex id} & \textbf{Year} & \textbf{Type} & \textbf{Category} & \textbf{c36} & \textbf{NCS36} & \textbf{Contribution} & \textbf{Flag} \\ 9 \textbf{OpenAlex id} & \textbf{Year} & \textbf{Type} & \textbf{Category} & \textbf{c36} & \textbf{NCS36} & \textbf{Contribution} & \textbf{Flag} \\
10 \midrule 10 \midrule
11 \endhead 11 \endhead
12−7172491899 & 2026 & article & LLM & 3{,}026 & 3367.3 & engineering & identifier mismatch \\ 12+7172491899 & 2026 & art. & LLM & 3{,}026 & 3367.3 & engin. & id. mism. \\
13−7154011589 & 2026 & article & LLM & 2{,}847 & 3168.1 & empirical & identifier mismatch \\ 13+7154011589 & 2026 & art. & LLM & 2{,}847 & 3168.1 & empirical & id. mism. \\
14−4362515116 & 2026 & article & LLM & 1{,}549 & 1723.7 & survey & ok \\ 14+4362515116 & 2026 & art. & LLM & 1{,}549 & 1723.7 & survey & OK \\
15−4288253152 & 2024 & dissertation & LLM & 364 & 3102.1 & engineering & normalisation artefact \\ 15+4288253152 & 2024 & diss. & LLM & 364 & 3102.1 & engin. & norm. \\
16−4322718191 & 2023 & preprint & LLM & 3{,}629 & 1206.5 & engineering & ok \\ 16+4322718191 & 2023 & prepr. & LLM & 3{,}629 & 1206.5 & engin. & OK \\
17−4323655724 & 2023 & article & LLM & 4{,}227 & 990.7 & survey & ok \\ 17+4323655724 & 2023 & art. & LLM & 4{,}227 & 990.7 & survey & OK \\
18−4367369313 & 2026 & article & LLM & 261 & 290.4 & survey & ok \\ 18+4367369313 & 2026 & art. & LLM & 261 & 290.4 & survey & OK \\
19−4226278401 & 2022 & preprint & LLM & 3{,}077 & 894.2 & method & identifier mismatch \\ 19+4226278401 & 2022 & prepr. & LLM & 3{,}077 & 894.2 & method & id. mism. \\
20−4396531244 & 2024 & dissertation & LLM & 20 & 778.8 & engineering & normalisation artefact \\ 20+4396531244 & 2024 & diss. & LLM & 20 & 778.8 & engin. & norm. \\
21−4221143046 & 2022 & preprint & LLM & 2{,}465 & 716.4 & theory & identifier mismatch \\ 21+4221143046 & 2022 & prepr. & LLM & 2{,}465 & 716.4 & theory & id. mism. \\
22−4327810158 & 2023 & preprint & LLM & 1{,}968 & 654.3 & engineering & abstract mismatch \\ 22+4327810158 & 2023 & prepr. & LLM & 1{,}968 & 654.3 & engin. & abstr. mism. \\
23−7135096569 & 2026 & article & LLM & 183 & 203.6 & empirical & ok \\ 23+7135096569 & 2026 & art. & LLM & 183 & 203.6 & empirical & OK \\
24−4414281281 & 2025 & article & LLM & 1{,}099 & 374.4 & method & ok \\ 24+4414281281 & 2025 & art. & LLM & 1{,}099 & 374.4 & method & OK \\
25−4389437528 & 2023 & article & LLM & 2{,}361 & 553.4 & survey & ok \\ 25+4389437528 & 2023 & art. & LLM & 2{,}361 & 553.4 & survey & OK \\
26−4292779060 & 2023 & article & LLM & 13{,}333 & 534.7 & theory & identifier mismatch \\ 26+4292779060 & 2023 & art. & LLM & 13{,}333 & 534.7 & theory & id. mism. \\
27−4360836968 & 2023 & preprint & LLM & 1{,}420 & 472.1 & empirical & ok \\ 27+4360836968 & 2023 & prepr. & LLM & 1{,}420 & 472.1 & empirical & OK \\
28−4406800520 & 2025 & article & LLM & 914 & 311.4 & survey & no abstract \\ 28+4406800520 & 2025 & art. & LLM & 914 & 311.4 & survey & no abstr. \\
29−4385223296 & 2023 & book-chapter & LLM & 612 & 421.3 & survey & no abstract \\ 29+4385223296 & 2023 & chap. & LLM & 612 & 421.3 & survey & no abstr. \\
30−4287689466 & 2025 & conference-paper & LLM & 722 & 548.6 & empirical & identifier mismatch \\ 30+4287689466 & 2025 & conf. & LLM & 722 & 548.6 & empirical & id. mism. \\
31−4366420437 & 2023 & article & LLM & 1{,}541 & 361.2 & survey & ok \\ 31+4366420437 & 2023 & art. & LLM & 1{,}541 & 361.2 & survey & OK \\
32−4317910584 & 2023 & article & LLM & 1{,}530 & 358.6 & survey & ok \\ 32+4317910584 & 2023 & art. & LLM & 1{,}530 & 358.6 & survey & OK \\
33−4313564799 & 2023 & preprint & LLM & 811 & 335.9 & empirical & no abstract \\ 33+4313564799 & 2023 & prepr. & LLM & 811 & 335.9 & empirical & no abstr. \\
34−4382618722 & 2026 & article & LLM & 94 & 98.9 & engineering & ok \\ 34+4382618722 & 2026 & art. & LLM & 94 & 98.9 & engin. & OK \\
35−4384464487 & 2023 & article & LLM & 1{,}398 & 327.7 & empirical & ok \\ 35+4384464487 & 2023 & art. & LLM & 1{,}398 & 327.7 & empirical & OK \\
36−4392773210 & 2024 & article & LLM & 1{,}085 & 326.7 & survey & ok \\ 36+4392773210 & 2024 & art. & LLM & 1{,}085 & 326.7 & survey & OK \\
37−4387355843 & 2026 & book-chapter & Foundation & 197 & 188.6 & method & ok \\ 37+4387355843 & 2026 & chap. & Foundation & 197 & 188.6 & method & OK \\
38−4392947521 & 2024 & article & Foundation & 1{,}505 & 186.9 & method & no abstract \\ 38+4392947521 & 2024 & art. & Foundation & 1{,}505 & 186.9 & method & no abstr. \\
39−7124890304 & 2026 & article & Foundation & 42 & 46.5 & method & no abstract \\ 39+7124890304 & 2026 & art. & Foundation & 42 & 46.5 & method & no abstr. \\
40−4410551352 & 2025 & article & Foundation & 249 & 69.7 & method & ok \\ 40+4410551352 & 2025 & art. & Foundation & 249 & 69.7 & method & OK \\
41−4322832366 & 2026 & conference-paper & Foundation & 35 & 126.3 & method & ok \\ 41+4322832366 & 2026 & conf. & Foundation & 35 & 126.3 & method & OK \\
42−7133233472 & 2023 & conference-paper & Foundation & 532 & 122.7 & method & ok \\ 42+7133233472 & 2023 & conf. & Foundation & 532 & 122.7 & method & OK \\
43−2990704537 & 2019 & article & Foundation & 668 & 101.6 & benchmark & ok \\ 43+2990704537 & 2019 & art. & Foundation & 668 & 101.6 & bench. & OK \\
44−7125271461 & 2026 & article & Foundation & 25 & 70.6 & engineering & ok \\ 44+7125271461 & 2026 & art. & Foundation & 25 & 70.6 & engin. & OK \\
45−7119541039 & 2026 & article & Foundation & 24 & 26.7 & theory & ok \\ 45+7119541039 & 2026 & art. & Foundation & 24 & 26.7 & theory & OK \\
46−4393138529 & 2024 & preprint & Foundation & 95 & 82.9 & survey & ok \\ 46+4393138529 & 2024 & prepr. & Foundation & 95 & 82.9 & survey & OK \\
47−4390690043 & 2026 & article & Foundation & 22 & 10.0 & survey & ok \\ 47+4390690043 & 2026 & art. & Foundation & 22 & 10.0 & survey & OK \\
48−7128029160 & 2026 & article & Foundation & 20 & 22.3 & method & ok \\ 48+7128029160 & 2026 & art. & Foundation & 20 & 22.3 & method & OK \\
49−4402220065 & 2024 & article & Foundation & 562 & 69.8 & method & no abstract \\ 49+4402220065 & 2024 & art. & Foundation & 562 & 69.8 & method & no abstr. \\
50−7118170538 & 2026 & article & Foundation & 17 & 17.9 & survey & ok \\ 50+7118170538 & 2026 & art. & Foundation & 17 & 17.9 & survey & OK \\
51−4411932262 & 2025 & article & Foundation & 110 & 26.9 & method & ok \\ 51+4411932262 & 2025 & art. & Foundation & 110 & 26.9 & method & OK \\
52−4411099958 & 2025 & article & Foundation & 108 & 18.4 & method & ok \\ 52+4411099958 & 2025 & art. & Foundation & 108 & 18.4 & method & OK \\
53−4361229539 & 2023 & preprint & Foundation & 161 & 53.5 & method & ok \\ 53+4361229539 & 2023 & prepr. & Foundation & 161 & 53.5 & method & OK \\
54−4407135816 & 2025 & article & Foundation & 103 & 6.9 & survey & ok \\ 54+4407135816 & 2025 & art. & Foundation & 103 & 6.9 & survey & OK \\
55−4385948838 & 2023 & article & Foundation & 471 & 49.1 & method & no abstract \\ 55+4385948838 & 2023 & art. & Foundation & 471 & 49.1 & method & no abstr. \\
56−4406643700 & 2025 & article & Foundation & 91 & 19.1 & survey & ok \\ 56+4406643700 & 2025 & art. & Foundation & 91 & 19.1 & survey & OK \\
57−4406472599 & 2025 & article & Foundation & 86 & 29.3 & survey & no abstract \\ 57+4406472599 & 2025 & art. & Foundation & 86 & 29.3 & survey & no abstr. \\
58−4393153153 & 2024 & conference-paper & Foundation & 113 & 41.8 & method & ok \\ 58+4393153153 & 2024 & conf. & Foundation & 113 & 41.8 & method & OK \\
59−4402727669 & 2024 & conference-paper & Foundation & 184 & 38.6 & method & ok \\ 59+4402727669 & 2024 & conf. & Foundation & 184 & 38.6 & method & OK \\
60−4401397240 & 2024 & article & Foundation & 325 & 38.5 & method & no abstract \\ 60+4401397240 & 2024 & art. & Foundation & 325 & 38.5 & method & no abstr. \\
61−4385285835 & 2023 & preprint & Foundation & 107 & 35.6 & method & ok \\ 61+4385285835 & 2023 & prepr. & Foundation & 107 & 35.6 & method & OK \\
62−4318718936 & 2023 & preprint & Multimodal & 875 & 273.1 & method & ok \\ 62+4318718936 & 2023 & prepr. & Multimodal & 875 & 273.1 & method & OK \\
63−4393148714 & 2024 & conference-paper & Multimodal & 923 & 193.7 & method & ok \\ 63+4393148714 & 2024 & conf. & Multimodal & 923 & 193.7 & method & OK \\
64−4396599905 & 2026 & article & Multimodal & 48 & 128.7 & survey & ok \\ 64+4396599905 & 2026 & art. & Multimodal & 48 & 128.7 & survey & OK \\
65−4396952261 & 2024 & book-chapter & Multimodal & 189 & 147.2 & survey & no abstract \\ 65+4396952261 & 2024 & chap. & Multimodal & 189 & 147.2 & survey & no abstr. \\
66−7133250524 & 2022 & conference-paper & Multimodal & 828 & 111.9 & benchmark & no abstract \\ 66+7133250524 & 2022 & conf. & Multimodal & 828 & 111.9 & bench. & no abstr. \\
67−4392947532 & 2024 & article & Multimodal & 938 & 111.1 & method & no abstract \\ 67+4392947532 & 2024 & art. & Multimodal & 938 & 111.1 & method & no abstr. \\
68−7138474371 & 2026 & conference-paper & Multimodal & 31 & 159.4 & method & ok \\ 68+7138474371 & 2026 & conf. & Multimodal & 31 & 159.4 & method & OK \\
69−7127319731 & 2026 & article & Multimodal & 29 & 77.7 & method & ok \\ 69+7127319731 & 2026 & art. & Multimodal & 29 & 77.7 & method & OK \\
70−2619383789 & 2018 & article & Multimodal & 587 & 103.1 & survey & ok \\ 70+2619383789 & 2018 & art. & Multimodal & 587 & 103.1 & survey & OK \\
71−7148475777 & 2026 & conference-paper & Multimodal & 26 & 73.2 & empirical & ok \\ 71+7148475777 & 2026 & conf. & Multimodal & 26 & 73.2 & empirical & OK \\
72−7160627408 & 2026 & conference-paper & Multimodal & 23 & 193.4 & method & ok \\ 72+7160627408 & 2026 & conf. & Multimodal & 23 & 193.4 & method & OK \\
73−2995460200 & 2020 & conference-paper & Multimodal & 670 & 81.1 & method & ok \\ 73+2995460200 & 2020 & conf. & Multimodal & 670 & 81.1 & method & OK \\
74−4415913530 & 2025 & article & Multimodal & 157 & 53.5 & method & ok \\ 74+4415913530 & 2025 & art. & Multimodal & 157 & 53.5 & method & OK \\
75−4289785095 & 2022 & preprint & Multimodal & 366 & 79.4 & method & ok \\ 75+4289785095 & 2022 & prepr. & Multimodal & 366 & 79.4 & method & OK \\
76−7125233009 & 2026 & article & Multimodal & 22 & 24.5 & method & ok \\ 76+7125233009 & 2026 & art. & Multimodal & 22 & 24.5 & method & OK \\
77−7143512276 & 2026 & article & Multimodal & 21 & 23.4 & survey & ok \\ 77+7143512276 & 2026 & art. & Multimodal & 21 & 23.4 & survey & OK \\
78−4413447271 & 2025 & article & Multimodal & 142 & 46.4 & method & ok \\ 78+4413447271 & 2025 & art. & Multimodal & 142 & 46.4 & method & OK \\
79−7131830459 & 2026 & article & Multimodal & 20 & 142.1 & survey & ok \\ 79+7131830459 & 2026 & art. & Multimodal & 20 & 142.1 & survey & OK \\
80−7206206818 & 2026 & article & Multimodal & 18 & 48.2 & method & ok \\ 80+7206206818 & 2026 & art. & Multimodal & 18 & 48.2 & method & OK \\
81−7133220561 & 2023 & conference-paper & Multimodal & 454 & 63.4 & method & no abstract \\ 81+7133220561 & 2023 & conf. & Multimodal & 454 & 63.4 & method & no abstr. \\
82−7164501397 & 2026 & article & Multimodal & 17 & 45.6 & empirical & ok \\ 82+7164501397 & 2026 & art. & Multimodal & 17 & 45.6 & empirical & OK \\
83−7165561001 & 2026 & conference-paper & Multimodal & 17 & 143.0 & method & no abstract \\ 83+7165561001 & 2026 & conf. & Multimodal & 17 & 143.0 & method & no abstr. \\
84−7138470740 & 2026 & conference-paper & Multimodal & 17 & 130.5 & method & ok \\ 84+7138470740 & 2026 & conf. & Multimodal & 17 & 130.5 & method & OK \\
85−7138363754 & 2026 & conference-paper & Multimodal & 17 & 130.5 & method & ok \\ 85+7138363754 & 2026 & conf. & Multimodal & 17 & 130.5 & method & OK \\
86−4410882873 & 2025 & article & Multimodal & 119 & 7.9 & survey & ok \\ 86+4410882873 & 2025 & art. & Multimodal & 119 & 7.9 & survey & OK \\
87−4400228804 & 2024 & dissertation & Generative & 2 & 540.0 & empirical & normalisation artefact \\ 87+4400228804 & 2024 & diss. & Generative & 2 & 540.0 & empirical & norm. \\
88−7124262017 & 2026 & book & Generative & 87 & 783.7 & survey & ok \\ 88+7124262017 & 2026 & book & Generative & 87 & 783.7 & survey & OK \\
89−4406472463 & 2025 & article & Generative & 498 & 77.1 & method & ok \\ 89+4406472463 & 2025 & art. & Generative & 498 & 77.1 & method & OK \\
90−7123342962 & 2026 & article & Generative & 66 & 176.9 & method & ok \\ 90+7123342962 & 2026 & art. & Generative & 66 & 176.9 & method & OK \\
91−4383312437 & 2023 & article & Generative & 988 & 231.6 & empirical & ok \\ 91+4383312437 & 2023 & art. & Generative & 988 & 231.6 & empirical & OK \\
92−7133185348 & 2022 & conference-paper & Generative & 1{,}706 & 230.5 & method & no abstract \\ 92+7133185348 & 2022 & conf. & Generative & 1{,}706 & 230.5 & method & no abstr. \\
93−3195296536 & 2020 & dissertation & Generative & 48 & 221.7 & method & no abstract \\ 93+3195296536 & 2020 & diss. & Generative & 48 & 221.7 & method & no abstr. \\
94−4322617812 & 2023 & article & Generative & 873 & 204.6 & theory & ok \\ 94+4322617812 & 2023 & art. & Generative & 873 & 204.6 & theory & OK \\
95−3096831136 & 2020 & article & Generative & 1{,}473 & 198.6 & survey & ok \\ 95+3096831136 & 2020 & art. & Generative & 1{,}473 & 198.6 & survey & OK \\
96−4400770292 & 2024 & preprint & Generative & 198 & 174.2 & empirical & no abstract \\ 96+4400770292 & 2024 & prepr. & Generative & 198 & 174.2 & empirical & no abstr. \\
97−7127274868 & 2026 & article & Generative & 48 & 341.0 & empirical & ok \\ 97+7127274868 & 2026 & art. & Generative & 48 & 341.0 & empirical & OK \\
98−7124974472 & 2026 & article & Generative & 42 & 46.7 & empirical & ok \\ 98+7124974472 & 2026 & art. & Generative & 42 & 46.7 & empirical & OK \\
99−7118187240 & 2026 & article & Generative & 40 & 44.5 & engineering & off scope \\ 99+7118187240 & 2026 & art. & Generative & 40 & 44.5 & engin. & off scope \\
100−4406199489 & 2025 & article & Generative & 278 & 241.4 & survey & ok \\ 100+4406199489 & 2025 & art. & Generative & 278 & 241.4 & survey & OK \\
101−4398243313 & 2024 & article & Generative & 463 & 139.4 & survey & ok \\ 101+4398243313 & 2024 & art. & Generative & 463 & 139.4 & survey & OK \\
102−4409269614 & 2025 & review & Generative & 271 & 14.2 & survey & ok \\ 102+4409269614 & 2025 & rev. & Generative & 271 & 14.2 & survey & OK \\
103−3193917007 & 2021 & book-chapter & Generative & 195 & 127.1 & survey & ok \\ 103+3193917007 & 2021 & chap. & Generative & 195 & 127.1 & survey & OK \\
104−4288099666 & 2022 & preprint & Generative & 575 & 124.8 & method & ok \\ 104+4288099666 & 2022 & prepr. & Generative & 575 & 124.8 & method & OK \\
105−4394934695 & 2024 & article & Generative & 394 & 118.6 & empirical & ok \\ 105+4394934695 & 2024 & art. & Generative & 394 & 118.6 & empirical & OK \\
106−4321648656 & 2026 & article & Generative & 33 & 88.5 & survey & ok \\ 106+4321648656 & 2026 & art. & Generative & 33 & 88.5 & survey & OK \\
107−4395957952 & 2023 & book & Generative & 400 & 116.7 & survey & no abstract \\ 107+4395957952 & 2023 & book & Generative & 400 & 116.7 & survey & no abstr. \\
108−4394863715 & 2024 & preprint & Generative & 131 & 114.3 & empirical & no abstract \\ 108+4394863715 & 2024 & prepr. & Generative & 131 & 114.3 & empirical & no abstr. \\
109−4407778399 & 2025 & article & Generative & 213 & 184.9 & empirical & ok \\ 109+4407778399 & 2025 & art. & Generative & 213 & 184.9 & empirical & OK \\
110−7124432017 & 2026 & article & Generative & 30 & 213.1 & theory & ok \\ 110+7124432017 & 2026 & art. & Generative & 30 & 213.1 & theory & OK \\
111−7140170686 & 2026 & article & Generative & 30 & 213.1 & empirical & ok \\ 111+7140170686 & 2026 & art. & Generative & 30 & 213.1 & empirical & OK \\
112−4406728221 & 2025 & article & Agents & 694 & 236.4 & survey & ok \\ 112+4406728221 & 2025 & art. & Agents & 694 & 236.4 & survey & OK \\
113−7161734976 & 2026 & article & Agents & 62 & 175.1 & engineering & ok \\ 113+7161734976 & 2026 & art. & Agents & 62 & 175.1 & engin. & OK \\
114−7135409568 & 2026 & article & Agents & 52 & 23.7 & survey & ok \\ 114+7135409568 & 2026 & art. & Agents & 52 & 23.7 & survey & OK \\
115−7134187809 & 2026 & article & Agents & 46 & 129.9 & theory & off scope \\ 115+7134187809 & 2026 & art. & Agents & 46 & 129.9 & theory & off scope \\
116−4390730779 & 2026 & article & Agents & 44 & 49.0 & survey & ok \\ 116+4390730779 & 2026 & art. & Agents & 44 & 49.0 & survey & OK \\
117−4225355126 & 2022 & book-chapter & Agents & 268 & 143.6 & survey & no abstract \\ 117+4225355126 & 2022 & chap. & Agents & 268 & 143.6 & survey & no abstr. \\
118−4407570917 & 2026 & article & Agents & 40 & 44.5 & engineering & ok \\ 118+4407570917 & 2026 & art. & Agents & 40 & 44.5 & engin. & OK \\
119−4410197190 & 2025 & review & Agents & 267 & 33.1 & survey & ok \\ 119+4410197190 & 2025 & rev. & Agents & 267 & 33.1 & survey & OK \\
120−4413427262 & 2025 & article & Agents & 258 & 87.9 & survey & ok \\ 120+4413427262 & 2025 & art. & Agents & 258 & 87.9 & survey & OK \\
121−4414991289 & 2026 & article & Agents & 31 & 23.9 & engineering & ok \\ 121+4414991289 & 2026 & art. & Agents & 31 & 23.9 & engin. & OK \\
122−7122857583 & 2026 & article & Agents & 30 & 33.4 & theory & ok \\ 122+7122857583 & 2026 & art. & Agents & 30 & 33.4 & theory & OK \\
123−4401023556 & 2024 & conference-paper & Agents & 371 & 103.1 & survey & ok \\ 123+4401023556 & 2024 & conf. & Agents & 371 & 103.1 & survey & OK \\
124−4414023998 & 2025 & article & Agents & 189 & 64.4 & survey & ok \\ 124+4414023998 & 2025 & art. & Agents & 189 & 64.4 & survey & OK \\
125−7118083939 & 2026 & article & Agents & 26 & 32.7 & theory & ok \\ 125+7118083939 & 2026 & art. & Agents & 26 & 32.7 & theory & OK \\
126−4412505619 & 2025 & article & Agents & 181 & 61.7 & survey & ok \\ 126+4412505619 & 2025 & art. & Agents & 181 & 61.7 & survey & OK \\
127−4416209823 & 2025 & article & Agents & 165 & 56.2 & survey & ok \\ 127+4416209823 & 2025 & art. & Agents & 165 & 56.2 & survey & OK \\
128−7155930820 & 2026 & article & Agents & 23 & 80.7 & theory & off scope \\ 128+7155930820 & 2026 & art. & Agents & 23 & 80.7 & theory & off scope \\
129−7162257503 & 2026 & article & Agents & 22 & 77.2 & theory & off scope \\ 129+7162257503 & 2026 & art. & Agents & 22 & 77.2 & theory & off scope \\
130−4412709685 & 2025 & article & Agents & 150 & 33.5 & engineering & no abstract \\ 130+4412709685 & 2025 & art. & Agents & 150 & 33.5 & engin. & no abstr. \\
131−7128165235 & 2026 & article & Agents & 21 & 23.4 & theory & ok \\ 131+7128165235 & 2026 & art. & Agents & 21 & 23.4 & theory & OK \\
132−7118190454 & 2026 & article & Agents & 21 & 22.2 & survey & ok \\ 132+7118190454 & 2026 & art. & Agents & 21 & 22.2 & survey & OK \\
133−7130481397 & 2026 & article & Agents & 21 & 9.6 & benchmark & ok \\ 133+7130481397 & 2026 & art. & Agents & 21 & 9.6 & bench. & OK \\
134−4390638955 & 2024 & article & Agents & 240 & 72.3 & survey & off scope \\ 134+4390638955 & 2024 & art. & Agents & 240 & 72.3 & survey & off scope \\
135−4412203333 & 2025 & article & Agents & 139 & 47.4 & survey & ok \\ 135+4412203333 & 2025 & art. & Agents & 139 & 47.4 & survey & OK \\
136−4399982941 & 2024 & dissertation & Agents & 8 & 68.2 & theory & normalisation artefact \\ 136+4399982941 & 2024 & diss. & Agents & 8 & 68.2 & theory & norm. \\
137−2911283634 & 2020 & book-chapter & RL & 532 & 276.0 & survey & no abstract \\ 137+2911283634 & 2020 & chap. & RL & 532 & 276.0 & survey & no abstr. \\
138−4389473504 & 2023 & dissertation & RL & 28 & 232.9 & method & ok \\ 138+4389473504 & 2023 & diss. & RL & 28 & 232.9 & method & OK \\
139−2964083594 & 2025 & conference-paper & RL & 414 & 367.9 & empirical & year implausible \\ 139+2964083594 & 2025 & conf. & RL & 414 & 367.9 & empirical & year \\
140−2098774185 & 2018 & article & RL & 1{,}077 & 203.3 & method & year implausible \\ 140+2098774185 & 2018 & art. & RL & 1{,}077 & 203.3 & method & year \\
141−1591675293 & 2025 & book-chapter & RL & 395 & 665.0 & method & year implausible \\ 141+1591675293 & 2025 & chap. & RL & 395 & 665.0 & method & year \\
142−7123365826 & 2026 & article & RL & 55 & 155.3 & theory & off scope \\ 142+7123365826 & 2026 & art. & RL & 55 & 155.3 & theory & off scope \\
143−2991046523 & 2021 & book-chapter & RL & 530 & 178.4 & survey & no abstract \\ 143+2991046523 & 2021 & chap. & RL & 530 & 178.4 & survey & no abstr. \\
144−2973229164 & 2019 & dissertation & RL & 47 & 171.2 & method & ok \\ 144+2973229164 & 2019 & diss. & RL & 47 & 171.2 & method & OK \\
145−2982316857 & 2019 & article & RL & 1{,}021 & 155.2 & engineering & no abstract \\ 145+2982316857 & 2019 & art. & RL & 1{,}021 & 155.2 & engin. & no abstr. \\
146−2902907165 & 2018 & article & RL & 733 & 138.3 & method & ok \\ 146+2902907165 & 2018 & art. & RL & 733 & 138.3 & method & OK \\
147−7133481537 & 2026 & article & RL & 35 & 122.9 & theory & off scope \\ 147+7133481537 & 2026 & art. & RL & 35 & 122.9 & theory & off scope \\
148−7133226216 & 2022 & conference-paper & RL & 482 & 95.8 & empirical & ok \\ 148+7133226216 & 2022 & conf. & RL & 482 & 95.8 & empirical & OK \\
149−3041807988 & 2020 & article & RL & 322 & 93.8 & theory & off scope \\ 149+3041807988 & 2020 & art. & RL & 322 & 93.8 & theory & off scope \\
150−2781726626 & 2018 & preprint & RL & 775 & 90.8 & method & ok \\ 150+2781726626 & 2018 & prepr. & RL & 775 & 90.8 & method & OK \\
151−2963923407 & 2018 & article & RL & 472 & 89.1 & method & ok \\ 151+2963923407 & 2018 & art. & RL & 472 & 89.1 & method & OK \\
152−7122543576 & 2026 & article & RL & 25 & 70.6 & theory & off scope \\ 152+7122543576 & 2026 & art. & RL & 25 & 70.6 & theory & off scope \\
153−2899138465 & 2018 & dissertation & RL & 20 & 88.6 & method & ok \\ 153+2899138465 & 2018 & diss. & RL & 20 & 88.6 & method & OK \\
154−4391631327 & 2024 & preprint & RL & 99 & 86.4 & empirical & identifier mismatch \\ 154+4391631327 & 2024 & prepr. & RL & 99 & 86.4 & empirical & id. mism. \\
155−4409147637 & 2025 & article & RL & 170 & 57.9 & method & ok \\ 155+4409147637 & 2025 & art. & RL & 170 & 57.9 & method & OK \\
156−2895974005 & 2018 & dissertation & RL & 18 & 79.8 & empirical & normalisation artefact \\ 156+2895974005 & 2018 & diss. & RL & 18 & 79.8 & empirical & norm. \\
157−7134057781 & 2026 & article & RL & 21 & 23.4 & engineering & ok \\ 157+7134057781 & 2026 & art. & RL & 21 & 23.4 & engin. & OK \\
158−2754517384 & 2018 & conference-paper & RL & 452 & 70.0 & empirical & ok \\ 158+2754517384 & 2018 & conf. & RL & 452 & 70.0 & empirical & OK \\
159−2761873684 & 2018 & conference-paper & RL & 442 & 68.4 & method & ok \\ 159+2761873684 & 2018 & conf. & RL & 442 & 68.4 & method & OK \\
160−7133208539 & 2023 & conference-paper & RL & 293 & 67.6 & method & no abstract \\ 160+7133208539 & 2023 & conf. & RL & 293 & 67.6 & method & no abstr. \\
161−7128436456 & 2026 & article & RL & 19 & 21.0 & survey & ok \\ 161+7128436456 & 2026 & art. & RL & 19 & 21.0 & survey & OK \\
162−2962862931 & 2024 & conference-paper & ML theory & 12{,}586 & 3498.4 & method & identifier mismatch \\ 162+2962862931 & 2024 & conf. & ML theory & 12{,}586 & 3498.4 & method & id. mism. \\
163−1698155719 & 2020 & book-chapter & ML theory & 1{,}212 & 971.7 & survey & ok \\ 163+1698155719 & 2020 & chap. & ML theory & 1{,}212 & 971.7 & survey & OK \\
164−4288283362 & 2026 & article & ML theory & 174 & 576.9 & method & normalisation artefact \\ 164+4288283362 & 2026 & art. & ML theory & 174 & 576.9 & method & norm. \\
165−46659105 & 2020 & preprint & ML theory & 3{,}906 & 608.2 & theory & abstract mismatch \\ 165+46659105 & 2020 & prepr. & ML theory & 3{,}906 & 608.2 & theory & abstr. mism. \\
166−3145506661 & 2019 & book-chapter & ML theory & 1{,}581 & 491.8 & survey & no abstract \\ 166+3145506661 & 2019 & chap. & ML theory & 1{,}581 & 491.8 & survey & no abstr. \\
167−2291445757 & 2024 & book-chapter & ML theory & 769 & 426.8 & survey & ok \\ 167+2291445757 & 2024 & chap. & ML theory & 769 & 426.8 & survey & OK \\
168−2100415632 & 2026 & preprint & ML theory & 116 & 667.5 & theory & year implausible \\ 168+2100415632 & 2026 & prepr. & ML theory & 116 & 667.5 & theory & year \\
169−1568555062 & 2022 & book-chapter & ML theory & 576 & 308.7 & theory & ok \\ 169+1568555062 & 2022 & chap. & ML theory & 576 & 308.7 & theory & OK \\
170−2751318774 & 2019 & book-chapter & ML theory & 978 & 304.2 & survey & ok \\ 170+2751318774 & 2019 & chap. & ML theory & 978 & 304.2 & survey & OK \\
171−3208688400 & 2021 & book-chapter & ML theory & 833 & 280.5 & survey & no abstract \\ 171+3208688400 & 2021 & chap. & ML theory & 833 & 280.5 & survey & no abstr. \\
172−3105488314 & 2020 & dissertation & ML theory & 59 & 272.4 & theory & no abstract \\ 172+3105488314 & 2020 & diss. & ML theory & 59 & 272.4 & theory & no abstr. \\
173−57706852 & 2026 & preprint & ML theory & 72 & 414.3 & theory & year implausible \\ 173+57706852 & 2026 & prepr. & ML theory & 72 & 414.3 & theory & year \\
174−2946444988 & 2026 & preprint & ML theory & 68 & 2646.0 & method & year implausible \\ 174+2946444988 & 2026 & prepr. & ML theory & 68 & 2646.0 & method & year \\
175−2945976633 & 2019 & article & ML theory & 1{,}556 & 236.6 & theory & no abstract \\ 175+2945976633 & 2019 & art. & ML theory & 1{,}556 & 236.6 & theory & no abstr. \\
176−4400823820 & 2024 & article & ML theory & 782 & 235.4 & survey & ok \\ 176+4400823820 & 2024 & art. & ML theory & 782 & 235.4 & survey & OK \\
177−2999309192 & 2020 & article & ML theory & 1{,}781 & 222.8 & theory & ok \\ 177+2999309192 & 2020 & art. & ML theory & 1{,}781 & 222.8 & theory & OK \\
178−2999615587 & 2020 & article & ML theory & 1{,}767 & 221.0 & method & no abstract \\ 178+2999615587 & 2020 & art. & ML theory & 1{,}767 & 221.0 & method & no abstr. \\
179−2439568532 & 2018 & article & ML theory & 1{,}085 & 204.8 & theory & ok \\ 179+2439568532 & 2018 & art. & ML theory & 1{,}085 & 204.8 & theory & OK \\
180−3194464139 & 2020 & dissertation & ML theory & 21 & 197.5 & engineering & normalisation artefact \\ 180+3194464139 & 2020 & diss. & ML theory & 21 & 197.5 & engin. & norm. \\
181−3041133507 & 2020 & article & ML theory & 1{,}538 & 192.4 & survey & ok \\ 181+3041133507 & 2020 & art. & ML theory & 1{,}538 & 192.4 & survey & OK \\
182−2436219157 & 2018 & article & ML theory & 956 & 180.4 & survey & ok \\ 182+2436219157 & 2018 & art. & ML theory & 956 & 180.4 & survey & OK \\
183−3135028703 & 2021 & article & ML theory & 1{,}518 & 176.9 & survey & no abstract \\ 183+3135028703 & 2021 & art. & ML theory & 1{,}518 & 176.9 & survey & no abstr. \\
184−7124426637 & 2026 & article & ML theory & 46 & 51.2 & survey & ok \\ 184+7124426637 & 2026 & art. & ML theory & 46 & 51.2 & survey & OK \\
185−2165856466 & 2026 & preprint & ML theory & 45 & 259.0 & theory & year implausible \\ 185+2165856466 & 2026 & prepr. & ML theory & 45 & 259.0 & theory & year \\
186−4402843978 & 2020 & report & ML theory & 455 & 158.3 & survey & ok \\ 186+4402843978 & 2020 & report & ML theory & 455 & 158.3 & survey & OK \\
187−2964121744 & 2026 & article & DL arch. & 45{,}775 & 50938.5 & engineering & identifier mismatch \\ 187+2964121744 & 2026 & art. & DL arch. & 45{,}775 & 50938.5 & engin. & id. mism. \\
188−1710476689 & 2022 & book-chapter & DL arch. & 2{,}385 & 1018.2 & survey & ok \\ 188+1710476689 & 2022 & chap. & DL arch. & 2{,}385 & 1018.2 & survey & OK \\
189−4322614756 & 2025 & conference-paper & DL arch. & 1{,}542 & 1370.5 & method & identifier mismatch \\ 189+4322614756 & 2025 & conf. & DL arch. & 1{,}542 & 1370.5 & method & id. mism. \\
190−2963399829 & 2024 & preprint & DL arch. & 773 & 674.3 & method & year implausible \\ 190+2963399829 & 2024 & prepr. & DL arch. & 773 & 674.3 & method & year \\
191−4382203079 & 2023 & conference-paper & DL arch. & 2{,}278 & 621.0 & empirical & ok \\ 191+4382203079 & 2023 & conf. & DL arch. & 2{,}278 & 621.0 & empirical & OK \\
192−4406170795 & 2025 & article & DL arch. & 974 & 331.8 & method & ok \\ 192+4406170795 & 2025 & art. & DL arch. & 974 & 331.8 & method & OK \\
193−146900863 & 2018 & book-chapter & DL arch. & 999 & 464.0 & survey & no abstract \\ 193+146900863 & 2018 & chap. & DL arch. & 999 & 464.0 & survey & no abstr. \\
194−4396821501 & 2024 & preprint & DL arch. & 531 & 463.2 & method & ok \\ 194+4396821501 & 2024 & prepr. & DL arch. & 531 & 463.2 & method & OK \\
195−2950067852 & 2026 & preprint & DL arch. & 119 & 4630.6 & method & year implausible \\ 195+2950067852 & 2026 & prepr. & DL arch. & 119 & 4630.6 & method & year \\
196−4221150249 & 2026 & article & DL arch. & 107 & 119.1 & survey & ok \\ 196+4221150249 & 2026 & art. & DL arch. & 107 & 119.1 & survey & OK \\
197−7148890333 & 2026 & article & DL arch. & 102 & 113.0 & method & no abstract \\ 197+7148890333 & 2026 & art. & DL arch. & 102 & 113.0 & method & no abstr. \\
198−3177318507 & 2021 & conference-paper & DL arch. & 1{,}344 & 315.3 & method & ok \\ 198+3177318507 & 2021 & conf. & DL arch. & 1{,}344 & 315.3 & method & OK \\
199−4389326242 & 2023 & preprint & DL arch. & 912 & 303.2 & method & ok \\ 199+4389326242 & 2023 & prepr. & DL arch. & 912 & 303.2 & method & OK \\
200−7118302872 & 2026 & article & DL arch. & 85 & 87.6 & method & ok \\ 200+7118302872 & 2026 & art. & DL arch. & 85 & 87.6 & method & OK \\
201−3137147200 & 2022 & book-chapter & DL arch. & 698 & 298.0 & survey & ok \\ 201+3137147200 & 2022 & chap. & DL arch. & 698 & 298.0 & survey & OK \\
202−3140854437 & 2021 & article & DL arch. & 2{,}452 & 293.1 & survey & ok \\ 202+3140854437 & 2021 & art. & DL arch. & 2{,}452 & 293.1 & survey & OK \\
203−4210257598 & 2020 & article & DL arch. & 2{,}239 & 280.0 & survey & ok \\ 203+4210257598 & 2020 & art. & DL arch. & 2{,}239 & 280.0 & survey & OK \\
204−2907492528 & 2020 & article & DL arch. & 2{,}230 & 278.9 & survey & ok \\ 204+2907492528 & 2020 & art. & DL arch. & 2{,}230 & 278.9 & survey & OK \\
205−3152893301 & 2020 & article & DL arch. & 2{,}023 & 253.0 & survey & ok \\ 205+3152893301 & 2020 & art. & DL arch. & 2{,}023 & 253.0 & survey & OK \\
206−7110333790 & 2025 & article & DL arch. & 496 & 169.0 & method & identifier mismatch \\ 206+7110333790 & 2025 & art. & DL arch. & 496 & 169.0 & method & id. mism. \\
207−4385763767 & 2023 & conference-paper & DL arch. & 921 & 251.1 & survey & ok \\ 207+4385763767 & 2023 & conf. & DL arch. & 921 & 251.1 & survey & OK \\
208−3124006607 & 2026 & conference-paper & DL arch. & 69 & 529.6 & method & year implausible \\ 208+3124006607 & 2026 & conf. & DL arch. & 69 & 529.6 & method & year \\
209−4285723986 & 2020 & book-chapter & DL arch. & 471 & 244.4 & survey & no abstract \\ 209+4285723986 & 2020 & chap. & DL arch. & 471 & 244.4 & survey & no abstr. \\
210−2892035503 & 2019 & article & DL arch. & 908 & 192.7 & survey & no abstract \\ 210+2892035503 & 2019 & art. & DL arch. & 908 & 192.7 & survey & no abstr. \\
211−2962776659 & 2024 & preprint & DL arch. & 212 & 184.9 & empirical & year implausible \\ 211+2962776659 & 2024 & prepr. & DL arch. & 212 & 184.9 & empirical & year \\
212−4406063062 & 2025 & article & AI safety & 534 & 74.5 & survey & ok \\ 212+4406063062 & 2025 & art. & AI safety & 534 & 74.5 & survey & OK \\
213−7130596601 & 2026 & article & AI safety & 65 & 29.6 & survey & ok \\ 213+7130596601 & 2026 & art. & AI safety & 65 & 29.6 & survey & OK \\
214−3084163594 & 2020 & article & AI safety & 775 & 225.7 & survey & off scope \\ 214+3084163594 & 2020 & art. & AI safety & 775 & 225.7 & survey & off scope \\
215−2963808661 & 2025 & conference-paper & AI safety & 390 & 126.3 & engineering & identifier mismatch \\ 215+2963808661 & 2025 & conf. & AI safety & 390 & 126.3 & engin. & id. mism. \\
216−7133236347 & 2026 & article & AI safety & 51 & 44.5 & survey & ok \\ 216+7133236347 & 2026 & art. & AI safety & 51 & 44.5 & survey & OK \\
217−7128782475 & 2026 & article & AI safety & 51 & 23.2 & empirical & ok \\ 217+7128782475 & 2026 & art. & AI safety & 51 & 23.2 & empirical & OK \\
218−4406571986 & 2025 & article & AI safety & 347 & 301.3 & empirical & ok \\ 218+4406571986 & 2025 & art. & AI safety & 347 & 301.3 & empirical & OK \\
219−2981731882 & 2019 & article & AI safety & 1{,}097 & 166.8 & survey & no abstract \\ 219+2981731882 & 2019 & art. & AI safety & 1{,}097 & 166.8 & survey & no abstr. \\
220−4402698709 & 2026 & article & AI safety & 44 & 38.4 & survey & ok \\ 220+4402698709 & 2026 & art. & AI safety & 44 & 38.4 & survey & OK \\
221−4408314709 & 2025 & article & AI safety & 303 & 42.3 & survey & ok \\ 221+4408314709 & 2025 & art. & AI safety & 303 & 42.3 & survey & OK \\
222−4407243994 & 2025 & article & AI safety & 300 & 41.8 & theory & ok \\ 222+4407243994 & 2025 & art. & AI safety & 300 & 41.8 & theory & OK \\
223−4330336443 & 2023 & preprint & AI safety & 495 & 146.6 & empirical & abstract mismatch \\ 223+4330336443 & 2023 & prepr. & AI safety & 495 & 146.6 & empirical & abstr. mism. \\
224−7128600296 & 2026 & review & AI safety & 41 & 12.8 & survey & ok \\ 224+7128600296 & 2026 & rev. & AI safety & 41 & 12.8 & survey & OK \\
225−4399450035 & 2024 & conference-paper & AI safety & 359 & 138.5 & empirical & ok \\ 225+4399450035 & 2024 & conf. & AI safety & 359 & 138.5 & empirical & OK \\
226−4318586239 & 2023 & book-chapter & AI safety & 247 & 136.6 & survey & ok \\ 226+4318586239 & 2023 & chap. & AI safety & 247 & 136.6 & survey & OK \\
227−4360615722 & 2023 & article & AI safety & 557 & 130.5 & theory & ok \\ 227+4360615722 & 2023 & art. & AI safety & 557 & 130.5 & theory & OK \\
228−2670253439 & 2018 & article & AI safety & 676 & 127.6 & survey & no abstract \\ 228+2670253439 & 2018 & art. & AI safety & 676 & 127.6 & survey & no abstr. \\
229−7118631510 & 2026 & article & AI safety & 35 & 38.9 & method & no abstract \\ 229+7118631510 & 2026 & art. & AI safety & 35 & 38.9 & method & no abstr. \\
230−7127143535 & 2026 & article & AI safety & 33 & 50.0 & empirical & no abstract \\ 230+7127143535 & 2026 & art. & AI safety & 33 & 50.0 & empirical & no abstr. \\
231−4409249263 & 2025 & article & AI safety & 218 & 14.5 & survey & ok \\ 231+4409249263 & 2025 & art. & AI safety & 218 & 14.5 & survey & OK \\
232−4366262984 & 2023 & article & AI safety & 1{,}197 & 109.9 & survey & ok \\ 232+4366262984 & 2023 & art. & AI safety & 1{,}197 & 109.9 & survey & OK \\
233−2969896603 & 2021 & article & AI safety & 1{,}794 & 102.3 & survey & ok \\ 233+2969896603 & 2021 & art. & AI safety & 1{,}794 & 102.3 & survey & OK \\
234−4406152291 & 2025 & article & AI safety & 199 & 67.8 & empirical & ok \\ 234+4406152291 & 2025 & art. & AI safety & 199 & 67.8 & empirical & OK \\
235−4410609100 & 2025 & conference-paper & AI safety & 193 & 171.5 & method & ok \\ 235+4410609100 & 2025 & conf. & AI safety & 193 & 171.5 & method & OK \\
236−4411542009 & 2025 & conference-paper & AI safety & 191 & 61.8 & empirical & ok \\ 236+4411542009 & 2025 & conf. & AI safety & 191 & 61.8 & empirical & OK \\
237−4360620450 & 2023 & article & LLM & 3{,}137 & 113.5 & survey & ok \\ 237+4360620450 & 2023 & art. & LLM & 3{,}137 & 113.5 & survey & OK \\
238−3185341429 & 2022 & article & LLM & 2{,}462 & 253.7 & survey & ok \\ 238+3185341429 & 2022 & art. & LLM & 2{,}462 & 253.7 & survey & OK \\
239−4384071683 & 2023 & article & LLM & 2{,}448 & 38.1 & benchmark & ok \\ 239+4384071683 & 2023 & art. & LLM & 2{,}448 & 38.1 & bench. & OK \\
240−4384918448 & 2023 & preprint & LLM & 2{,}431 & 88.5 & empirical & identifier mismatch \\ 240+4384918448 & 2023 & prepr. & LLM & 2{,}431 & 88.5 & empirical & id. mism. \\
241−4393065402 & 2024 & article & LLM & 1{,}820 & 226.1 & survey & ok \\ 241+4393065402 & 2024 & art. & LLM & 1{,}820 & 226.1 & survey & OK \\
242−4319083882 & 2023 & article & LLM & 1{,}590 & 146.0 & theory & no abstract \\ 242+4319083882 & 2023 & art. & LLM & 1{,}590 & 146.0 & theory & no abstr. \\
243−4399790131 & 2024 & review & AI safety & 1{,}484 & 81.8 & survey & ok \\ 243+4399790131 & 2024 & rev. & AI safety & 1{,}484 & 81.8 & survey & OK \\
244−3133702157 & 2021 & conference-paper & LLM & 1{,}464 & 232.1 & theory & ok \\ 244+3133702157 & 2021 & conf. & LLM & 1{,}464 & 232.1 & theory & OK \\
245−4321499901 & 2023 & article & LLM & 1{,}389 & 325.5 & empirical & ok \\ 245+4321499901 & 2023 & art. & LLM & 1{,}389 & 325.5 & empirical & OK \\
246 \bottomrule 246 \bottomrule
247−\multicolumn{8}{p{0.95\linewidth}}{\footnotesize Selection score and windows as in Part IV (Section~\ref{sec:m-score}); c36 and NCS36 as stored in the landmark file. Category abbreviations as in Table~\ref{tab:ai_growth}.}\\ 247+\multicolumn{8}{p{0.95\linewidth}}{\footnotesize Selection score and windows as in Part IV (Section~\ref{sec:m-score}); c36 and NCS36 as stored in the landmark file. Type: art. = article, conf. = conference paper, prepr. = preprint, chap. = book chapter, diss. = dissertation, rev. = review (OpenAlex types). Contribution: engin. = engineering, bench. = benchmark. Flags as in Table~\ref{tab:ai_landmark_flags}; category abbreviations as in Table~\ref{tab:ai_growth}.}\\
248 \end{longtable} 248 \end{longtable}
modified manuscript/tables/tab_breaks.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/econometrics/breaks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv
2 \begin{longtable}{lrrrrrrrr} 2 \begin{longtable}{lrrrrrrrr}
3 \caption{Structural-change estimates by series: ITS level and slope changes at 2022-12 (HAC p-values), placebo p-values, Bai–Perron (BIC) and PELT break dates.}\label{tab:breaks}\\ 3 \caption{Structural-change estimates by series: ITS level and slope changes at 2022-12 (HAC p-values), placebo p-values, Bai–Perron (BIC) and PELT break dates.}\label{tab:breaks}\\
4 \toprule 4 \toprule
modified manuscript/tables/tab_cited_age.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/cited_age_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cited_age_yearly.csv
2 \begin{table}[htbp]\centering\caption{Age of cited works by citing year (resolved references of eligible works; corpus version of the result file at generation time).}\label{tab:cited_age} 2 \begin{table}[htbp]\centering\caption{Age of cited works by citing year (resolved references of eligible works; corpus version of the result file at generation time).}\label{tab:cited_age}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrr} 4 \begin{tabular}{lrrrrrrr}
modified manuscript/tables/tab_collaboration.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/team_size_yearly.csv, ./results/bibliometrics/international_collab_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/team_size_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/international_collab_yearly.csv
2 \begin{table}[htbp]\centering\caption{Team size and collaboration indicators by publication year (all eligible works; periods of the source file summed).}\label{tab:collaboration} 2 \begin{table}[htbp]\centering\caption{Team size and collaboration indicators by publication year (all eligible works; periods of the source file summed).}\label{tab:collaboration}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrr} 4 \begin{tabular}{lrrrrrrrr}
modified manuscript/tables/tab_countries.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/countries_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/countries_yearly.csv
2 \begin{table}[htbp]\centering\caption{Fractional output of the fifteen largest countries by year.}\label{tab:countries} 2 \begin{table}[htbp]\centering\caption{Fractional output of the fifteen largest countries by year.}\label{tab:countries}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
modified manuscript/tables/tab_country_concentration.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/countries_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/countries_yearly.csv
2 \begin{table}[htbp]\centering\caption{Concentration of output across countries by year, and the two largest producers under full counting.}\label{tab:country_concentration} 2 \begin{table}[htbp]\centering\caption{Concentration of output across countries by year, and the two largest producers under full counting.}\label{tab:country_concentration}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
modified manuscript/tables/tab_country_network.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/country_pairs_by_period.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/country_pairs_by_period.csv
2 \begin{table}[htbp]\centering\caption{The country co-authorship network by period: edges with at least fifty joint works.}\label{tab:country_network} 2 \begin{table}[htbp]\centering\caption{The country co-authorship network by period: edges with at least fifty joint works.}\label{tab:country_network}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrr} 4 \begin{tabular}{lrrrrrr}
modified manuscript/tables/tab_country_pairs.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/country_pairs_by_period.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/country_pairs_by_period.csv
2 \begin{table}[htbp]\centering\caption{The twenty strongest country pairs by period (number of joint works).}\label{tab:country_pairs} 2 \begin{table}[htbp]\centering\caption{The twenty strongest country pairs by period (number of joint works).}\label{tab:country_pairs}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrr} 4 \begin{tabular}{lrrrr}
modified manuscript/tables/tab_country_shares.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/countries_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/countries_yearly.csv
2 \begin{table}[htbp]\centering\caption{Share of fractional output of the fifteen largest countries by year (per cent).}\label{tab:country_shares} 2 \begin{table}[htbp]\centering\caption{Share of fractional output of the fifteen largest countries by year (per cent).}\label{tab:country_shares}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
modified manuscript/tables/tab_dblp_only.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/dblp_only_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/dblp_only_yearly.csv
2 \begin{table}[htbp]\centering\caption{DBLP records of 2018--2026 without an OpenAlex counterpart, by DBLP record type and year.}\label{tab:dblp_only} 2 \begin{table}[htbp]\centering\caption{DBLP records of 2018--2026 without an OpenAlex counterpart, by DBLP record type and year.}\label{tab:dblp_only}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrr} 4 \begin{tabular}{lrrrrrrrr}
modified manuscript/tables/tab_emerging_h12.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/emerging/metrics_h12.json 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json
2 \begin{table}[htbp]\centering\caption{Out-of-time performance of the emerging-topic detectors at horizon 12 months (test cutoffs 2023-01–2024-10).}\label{tab:emerging_h12} 2 \begin{table}[htbp]\centering\caption{Out-of-time performance of the emerging-topic detectors at horizon 12 months (test cutoffs 2023-01–2024-10).}\label{tab:emerging_h12}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrr} 4 \begin{tabular}{lrrr}
modified manuscript/tables/tab_emerging_h24.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/emerging/metrics_h24.json 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json
2 \begin{table}[htbp]\centering\caption{Out-of-time performance of the emerging-topic detectors at horizon 24 months (test cutoffs 2023-01–2024-04).}\label{tab:emerging_h24} 2 \begin{table}[htbp]\centering\caption{Out-of-time performance of the emerging-topic detectors at horizon 24 months (test cutoffs 2023-01–2024-04).}\label{tab:emerging_h24}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrr} 4 \begin{tabular}{lrrr}
modified manuscript/tables/tab_field_flows.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/field_flows_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/field_flows_yearly.csv
2 \begin{table}[htbp]\centering\caption{Destination of the resolved references of eligible works by citing year: inside the corpus, computer science outside it, and the seven largest other OpenAlex fields (per cent of resolved references).}\label{tab:field_flows} 2 \begin{table}[htbp]\centering\caption{Destination of the resolved references of eligible works by citing year: inside the corpus, computer science outside it, and the seven largest other OpenAlex fields (per cent of resolved references).}\label{tab:field_flows}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrrr}
modified manuscript/tables/tab_indexing_lag.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/indexing_lag.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/indexing_lag.csv
2 \begin{table}[htbp]\centering\caption{The OpenAlex \texttt{created\_date} relative to the publication date, by publication year.}\label{tab:indexing_lag} 2 \begin{table}[htbp]\centering\caption{The OpenAlex \texttt{created\_date} relative to the publication date, by publication year.}\label{tab:indexing_lag}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrr} 4 \begin{tabular}{lrrrrr}
modified manuscript/tables/tab_institution_concentration.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/top_institutions_by_period.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_institutions_by_period.csv
2 \begin{table}[htbp]\centering\caption{Institutions with at least two hundred works per period: coverage and concentration (fractional counting).}\label{tab:institution_concentration} 2 \begin{table}[htbp]\centering\caption{Institutions with at least two hundred works per period: coverage and concentration (fractional counting).}\label{tab:institution_concentration}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrr} 4 \begin{tabular}{lrrrrrr}
modified manuscript/tables/tab_institution_types.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/institution_types_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/institution_types_yearly.csv
2 \begin{table}[htbp]\centering\caption{Share of typed affiliations by OpenAlex institution type and year (per cent of affiliation-work pairs).}\label{tab:institution_types} 2 \begin{table}[htbp]\centering\caption{Share of typed affiliations by OpenAlex institution type and year (per cent of affiliation-work pairs).}\label{tab:institution_types}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
modified manuscript/tables/tab_known_set.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/emerging/known_set_lead_times.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/known_set_lead_times.csv
2 \begin{table}[htbp]\centering\caption{Preregistered known-emergence set: detection month, peak-growth month and lead time.}\label{tab:known_set} 2 \begin{table}[htbp]\centering\caption{Preregistered known-emergence set: detection month, peak-growth month and lead time.}\label{tab:known_set}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrr} 4 \begin{tabular}{lrrrr}
modified manuscript/tables/tab_net_ai_vs_rest.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/category_actors_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_actors_yearly.csv
2 \begin{table}[htbp]\centering\caption{Actor shares of works whose primary category is in the AI/ML area against all other areas, by period (per cent).}\label{tab:net_ai_vs_rest} 2 \begin{table}[htbp]\centering\caption{Actor shares of works whose primary category is in the AI/ML area against all other areas, by period (per cent).}\label{tab:net_ai_vs_rest}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrr} 4 \begin{tabular}{lrrrrrrrr}
modified manuscript/tables/tab_net_ai_vs_rest_yearly.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/category_actors_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_actors_yearly.csv
2 \begin{table}[htbp]\centering\caption{China-affiliated, company-affiliated and international shares of works by year, AI/ML area against all other areas (per cent).}\label{tab:net_ai_vs_rest_yearly} 2 \begin{table}[htbp]\centering\caption{China-affiliated, company-affiliated and international shares of works by year, AI/ML area against all other areas (per cent).}\label{tab:net_ai_vs_rest_yearly}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrr} 4 \begin{tabular}{lrrrrrr}
modified manuscript/tables/tab_net_area_flows.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/area_flows_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/area_flows_yearly.csv
2 \begin{table}[htbp]\centering\caption{Citation-flow matrices between the eight areas of the ontology by period: share of each citing area's internal references received by each cited area (per cent).}\label{tab:net_area_flows} 2 \begin{table}[htbp]\centering\caption{Citation-flow matrices between the eight areas of the ontology by period: share of each citing area's internal references received by each cited area (per cent).}\label{tab:net_area_flows}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
modified manuscript/tables/tab_net_category_actors.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/category_actors_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_actors_yearly.csv
2 \begin{longtable}{lrrrrrrrr} 2 \begin{longtable}{lrrrrrrrr}
3 \caption{Shares of works with a China-affiliated author, a United States-affiliated author, a company affiliation and authors in at least two countries, by primary category and period (per cent).}\label{tab:net_category_actors}\\ 3 \caption{Shares of works with a China-affiliated author, a United States-affiliated author, a company affiliation and authors in at least two countries, by primary category and period (per cent).}\label{tab:net_category_actors}\\
4 \toprule 4 \toprule
modified manuscript/tables/tab_net_category_gini.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/category_impact_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_impact_yearly.csv
2 \begin{longtable}{lrrrrrrrrr} 2 \begin{longtable}{lrrrrrrrrr}
3 \caption{Gini coefficient of 36-month citations $c^{(36)}$ by primary category and publication year, for years with a complete window; baseline mean, change of the last complete year against it, and share uncited at 36 months in that year.}\label{tab:net_category_gini}\\ 3 \caption{Gini coefficient of 36-month citations $c^{(36)}$ by primary category and publication year, for years with a complete window; baseline mean, change of the last complete year against it, and share uncited at 36 months in that year.}\label{tab:net_category_gini}\\
4 \toprule 4 \toprule
modified manuscript/tables/tab_net_category_to_ai.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/category_flows_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_flows_yearly.csv
2 \begin{longtable}{lrrrrrrrrrr} 2 \begin{longtable}{lrrrrrrrrrr}
3 \caption{Share of each category's internal references received by the nine categories of the AI/ML area, by citing year (per cent).}\label{tab:net_category_to_ai}\\ 3 \caption{Share of each category's internal references received by the nine categories of the AI/ML area, by citing year (per cent).}\label{tab:net_category_to_ai}\\
4 \toprule 4 \toprule
modified manuscript/tables/tab_net_gini_ai_vs_rest.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/category_impact_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_impact_yearly.csv
2 \begin{table}[htbp]\centering\caption{Citation inequality at 36 months, AI/ML area against all other areas, by publication year with a complete window.}\label{tab:net_gini_ai_vs_rest} 2 \begin{table}[htbp]\centering\caption{Citation inequality at 36 months, AI/ML area against all other areas, by publication year with a complete window.}\label{tab:net_gini_ai_vs_rest}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrr} 4 \begin{tabular}{lrrrrrr}
modified manuscript/tables/tab_net_modularity.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/modularity_yearly.csv, ./results/graph/cross_area_share_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/modularity_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cross_area_share_yearly.csv
2 \begin{table}[htbp]\centering\caption{Modularity of the yearly category citation-flow network at the category and area partitions, the within-category self-share, and the aggregate cross-area share of internal references, raw and composition-adjusted.}\label{tab:net_modularity} 2 \begin{table}[htbp]\centering\caption{Modularity of the yearly category citation-flow network at the category and area partitions, the within-category self-share, and the aggregate cross-area share of internal references, raw and composition-adjusted.}\label{tab:net_modularity}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrr} 4 \begin{tabular}{lrrrrrr}
modified manuscript/tables/tab_p9_ai_shares.tex +4 −4
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_share_ci_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/category_share_ci_yearly.csv
2 \begin{table}[htbp]\centering\caption{Share of primary-category assignments held by the AI and machine-learning categories in 2018, 2022 and 2025 (per cent, bootstrap 95\% intervals).}\label{tab:p9-ai-shares} 2 \begin{table}[htbp]\centering\caption{Share of primary-category assignments held by the AI and machine-learning categories in 2018, 2022 and 2025 (per cent, bootstrap 95\% intervals).}\label{tab:p9-ai-shares}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4−\begin{tabular}{lrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrr}
5 \toprule 5 \toprule
6 \textbf{Category} & \textbf{2018} & \textbf{2022} & \textbf{2025} \\ 6 \textbf{Category} & \textbf{2018} & \textbf{2022} & \textbf{2025} \\
7 \midrule 7 \midrule
@@ -9,13 +9,13 @@ Large Language Models & 0.33 [0.31, 0.34] & 0.58 [0.56, 0.60] & 5.06 [5.01, 5.10
9 Foundation Models & 0.01 [0.01, 0.01] & 0.06 [0.06, 0.07] & 0.21 [0.20, 0.22] \\ 9 Foundation Models & 0.01 [0.01, 0.01] & 0.06 [0.06, 0.07] & 0.21 [0.20, 0.22] \\
10 Multimodal AI & 0.09 [0.09, 0.10] & 0.23 [0.22, 0.24] & 0.76 [0.74, 0.77] \\ 10 Multimodal AI & 0.09 [0.09, 0.10] & 0.23 [0.22, 0.24] & 0.76 [0.74, 0.77] \\
11 Generative AI & 0.15 [0.14, 0.16] & 0.39 [0.37, 0.40] & 1.43 [1.40, 1.45] \\ 11 Generative AI & 0.15 [0.14, 0.16] & 0.39 [0.37, 0.40] & 1.43 [1.40, 1.45] \\
12−AI Agents and Autonomous Systems & 1.09 [1.06, 1.11] & 0.81 [0.78, 0.83] & 0.99 [0.97, 1.01] \\ 12+AI Agents and Autonomous Syst. & 1.09 [1.06, 1.11] & 0.81 [0.78, 0.83] & 0.99 [0.97, 1.01] \\
13 Reinforcement Learning & 0.66 [0.64, 0.68] & 1.25 [1.22, 1.28] & 1.48 [1.46, 1.50] \\ 13 Reinforcement Learning & 0.66 [0.64, 0.68] & 1.25 [1.22, 1.28] & 1.48 [1.46, 1.50] \\
14 Machine Learning Theory & 2.71 [2.67, 2.76] & 3.59 [3.54, 3.64] & 3.67 [3.63, 3.71] \\ 14 Machine Learning Theory & 2.71 [2.67, 2.76] & 3.59 [3.54, 3.64] & 3.67 [3.63, 3.71] \\
15 Deep Learning Architectures & 2.40 [2.36, 2.44] & 3.97 [3.93, 4.02] & 3.82 [3.79, 3.86] \\ 15 Deep Learning Architectures & 2.40 [2.36, 2.44] & 3.97 [3.93, 4.02] & 3.82 [3.79, 3.86] \\
16 AI Safety and Alignment & 0.21 [0.20, 0.22] & 0.53 [0.51, 0.55] & 1.22 [1.19, 1.24] \\ 16 AI Safety and Alignment & 0.21 [0.20, 0.22] & 0.53 [0.51, 0.55] & 1.22 [1.19, 1.24] \\
17 AI \& ML area (sum) & 7.65 & 11.41 & 18.63 \\ 17 AI \& ML area (sum) & 7.65 & 11.41 & 18.63 \\
18 \bottomrule 18 \bottomrule
19−\end{tabular} 19+\end{tabular}}
20 \begin{tablenotes}\footnotesize\item Shares are of the year's works with a primary category; intervals from 500 multinomial resamples of the works (seed 44). The area row is the sum of the category shares (no interval). Categories 1--8 and 38 of the mandate.\end{tablenotes} 20 \begin{tablenotes}\footnotesize\item Shares are of the year's works with a primary category; intervals from 500 multinomial resamples of the works (seed 44). The area row is the sum of the category shares (no interval). Categories 1--8 and 38 of the mandate.\end{tablenotes}
21 \end{threeparttable}\end{table} 21 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_altdates.tex +10 −13
@@ -1,20 +1,16 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2−\begin{longtable}{lrrrrr} 2+\begin{table}[p]\centering\rotatebox{90}{\begin{minipage}{0.92\textheight}\centering\renewcommand{\arraystretch}{0.9}\caption{ITS level change (HAC $p$) by category at the five pre-specified event dates.}\label{tab:p9-altdates}
3−\caption{ITS level change (HAC $p$) by category at the five pre-specified event dates.}\label{tab:p9-altdates}\\ 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrr}
4 \toprule 5 \toprule
5 \textbf{Category} & \textbf{GPT-3} & \textbf{DALL$\cdot$E 2} & \textbf{ChatGPT} & \textbf{GPT-4} & \textbf{o1} \\ 6 \textbf{Category} & \textbf{GPT-3} & \textbf{DALL$\cdot$E 2} & \textbf{ChatGPT} & \textbf{GPT-4} & \textbf{o1} \\
6 \midrule 7 \midrule
7−\endfirsthead 8+AI Agents and Autonomous Syst. & -0.359 (0.029) & -0.320 (0.003) & -0.210 (0.028) & -0.151 (0.090) & +0.226 (0.003) \\
8−\toprule
9−\textbf{Category} & \textbf{GPT-3} & \textbf{DALL$\cdot$E 2} & \textbf{ChatGPT} & \textbf{GPT-4} & \textbf{o1} \\
10−\midrule
11−\endhead
12−AI Agents and Autonomous Systems & -0.359 (0.029) & -0.320 (0.003) & -0.210 (0.028) & -0.151 (0.090) & +0.226 (0.003) \\
13 AI Safety and Alignment & -0.226 (0.034) & -0.311 (0.000) & -0.206 (0.002) & -0.080 (0.244) & +0.150 (0.010) \\ 9 AI Safety and Alignment & -0.226 (0.034) & -0.311 (0.000) & -0.206 (0.002) & -0.080 (0.244) & +0.150 (0.010) \\
14 Accelerators and AI Hardware & -0.099 (0.273) & -0.137 (0.027) & -0.113 (0.027) & -0.043 (0.455) & +0.093 (0.016) \\ 10 Accelerators and AI Hardware & -0.099 (0.273) & -0.137 (0.027) & -0.113 (0.027) & -0.043 (0.455) & +0.093 (0.016) \\
15−Algorithms and Data Structures & -0.060 (0.209) & -0.076 (0.010) & -0.045 (0.039) & -0.020 (0.410) & +0.092 (0.002) \\ 11+Algorithms and Data Struct. & -0.060 (0.209) & -0.076 (0.010) & -0.045 (0.039) & -0.020 (0.410) & +0.092 (0.002) \\
16 Applied Cryptography & -0.101 (0.132) & -0.052 (0.052) & +0.002 (0.922) & +0.035 (0.082) & +0.142 (0.002) \\ 12 Applied Cryptography & -0.101 (0.132) & -0.052 (0.052) & +0.002 (0.922) & +0.035 (0.082) & +0.142 (0.002) \\
17−Autonomous Scientific Discovery & -0.109 (0.170) & -0.294 (0.000) & -0.155 (0.038) & -0.087 (0.239) & +0.011 (0.793) \\ 13+Autonomous Sci. Discovery & -0.109 (0.170) & -0.294 (0.000) & -0.155 (0.038) & -0.087 (0.239) & +0.011 (0.793) \\
18 Blockchain Systems & -0.065 (0.362) & -0.023 (0.654) & -0.008 (0.858) & -0.024 (0.571) & +0.007 (0.842) \\ 14 Blockchain Systems & -0.065 (0.362) & -0.023 (0.654) & -0.008 (0.858) & -0.024 (0.571) & +0.007 (0.842) \\
19 Cloud Computing & -0.114 (0.155) & -0.063 (0.155) & +0.003 (0.936) & +0.010 (0.785) & +0.192 (0.002) \\ 15 Cloud Computing & -0.114 (0.155) & -0.063 (0.155) & +0.003 (0.936) & +0.010 (0.785) & +0.192 (0.002) \\
20 Compilers & -0.098 (0.158) & -0.098 (0.015) & -0.028 (0.471) & +0.003 (0.937) & +0.090 (0.086) \\ 16 Compilers & -0.098 (0.158) & -0.098 (0.015) & -0.028 (0.471) & +0.003 (0.937) & +0.090 (0.086) \\
@@ -40,7 +36,7 @@ Machine Learning Theory & -0.179 (0.020) & -0.162 (0.001) & -0.080 (0.090) & -0.
40 Multimodal AI & -0.258 (0.016) & -0.129 (0.004) & +0.025 (0.600) & +0.150 (0.002) & +0.330 (0.001) \\ 36 Multimodal AI & -0.258 (0.016) & -0.129 (0.004) & +0.025 (0.600) & +0.150 (0.002) & +0.330 (0.001) \\
41 Natural Language Processing & -0.204 (0.015) & -0.127 (0.002) & +0.016 (0.694) & +0.080 (0.105) & +0.228 (0.003) \\ 37 Natural Language Processing & -0.204 (0.015) & -0.127 (0.002) & +0.016 (0.694) & +0.080 (0.105) & +0.228 (0.003) \\
42 Operating Systems & -0.139 (0.047) & -0.062 (0.208) & -0.033 (0.417) & -0.036 (0.350) & +0.101 (0.019) \\ 38 Operating Systems & -0.139 (0.047) & -0.062 (0.208) & -0.033 (0.417) & -0.036 (0.350) & +0.101 (0.019) \\
43−Privacy-Preserving Computation & -0.044 (0.469) & -0.073 (0.037) & -0.001 (0.965) & +0.042 (0.200) & +0.198 (0.001) \\ 39+Privacy-Preserving Comp. & -0.044 (0.469) & -0.073 (0.037) & -0.001 (0.965) & +0.042 (0.200) & +0.198 (0.001) \\
44 Programming Languages & -0.073 (0.281) & -0.083 (0.061) & -0.040 (0.381) & -0.030 (0.568) & +0.000 (0.996) \\ 40 Programming Languages & -0.073 (0.281) & -0.083 (0.061) & -0.040 (0.381) & -0.030 (0.568) & +0.000 (0.996) \\
45 Quantum Computing & -0.170 (0.024) & -0.134 (0.021) & -0.087 (0.039) & -0.025 (0.582) & +0.150 (0.000) \\ 41 Quantum Computing & -0.170 (0.024) & -0.134 (0.021) & -0.087 (0.039) & -0.025 (0.582) & +0.150 (0.000) \\
46 Reinforcement Learning & -0.148 (0.069) & -0.216 (0.002) & -0.164 (0.013) & -0.158 (0.006) & +0.054 (0.071) \\ 42 Reinforcement Learning & -0.148 (0.069) & -0.216 (0.002) & -0.164 (0.013) & -0.158 (0.006) & +0.054 (0.071) \\
@@ -50,5 +46,6 @@ Software Engineering & -0.097 (0.308) & -0.034 (0.279) & +0.048 (0.124) & +0.102
50 Speech and Audio Computing & -0.119 (0.038) & -0.074 (0.039) & +0.036 (0.354) & +0.069 (0.151) & +0.049 (0.413) \\ 46 Speech and Audio Computing & -0.119 (0.038) & -0.074 (0.039) & +0.036 (0.354) & +0.069 (0.151) & +0.049 (0.413) \\
51 Sustainable Computing & -0.089 (0.256) & -0.020 (0.455) & +0.049 (0.048) & +0.056 (0.106) & +0.222 (0.000) \\ 47 Sustainable Computing & -0.089 (0.256) & -0.020 (0.455) & +0.049 (0.048) & +0.056 (0.106) & +0.222 (0.000) \\
52 \bottomrule 48 \bottomrule
53−\multicolumn{6}{p{0.95\linewidth}}{\footnotesize Each column re-estimates equation~\eqref{eq:its} with the event at the stated month; entries are the log level change with the HAC $p$-value in parentheses. The five estimates of a row are not independent: they are the same series with the break moved.}\\ 49+\end{tabular}}
54−\end{longtable} 50+\begin{tablenotes}\footnotesize\item Each column re-estimates equation~\eqref{eq:its} with the event at the stated month; entries are the log level change with the HAC $p$-value in parentheses. The five estimates of a row are not independent: they are the same series with the break moved.\end{tablenotes}
51+\end{threeparttable}\end{minipage}}\end{table}
modified manuscript/tables/tab_p9_area_flow_change.tex +5 −5
@@ -1,9 +1,9 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/area_flows_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/area_flows_yearly.csv
2 \begin{table}[htbp]\centering\caption{Change in the area citation-flow matrix between 2018--2022 and 2023--2026: post-period row share minus baseline row share (percentage points).}\label{tab:p9-area-flow-change} 2 \begin{table}[htbp]\centering\caption{Change in the area citation-flow matrix between 2018--2022 and 2023--2026: post-period row share minus baseline row share (percentage points).}\label{tab:p9-area-flow-change}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Citing area} & \textbf{AI \& ML} & \textbf{Perception \& interaction} & \textbf{Software \& PL} & \textbf{Theory} & \textbf{Data \& distributed} & \textbf{Security \& privacy} & \textbf{Hardware \& emerging} & \textbf{Computational science} \\ 6+\textbf{Citing area} & \textbf{AI/ML} & \textbf{Percep.} & \textbf{Softw.} & \textbf{Theory} & \textbf{Data} & \textbf{Secur.} & \textbf{Hardw.} & \textbf{Comp. sci.} \\
7 \midrule 7 \midrule
8 AI \& ML & -3.1 & +3.1 & +0.2 & -0.9 & +0.1 & +0.5 & -0.2 & +0.2 \\ 8 AI \& ML & -3.1 & +3.1 & +0.2 & -0.9 & +0.1 & +0.5 & -0.2 & +0.2 \\
9 Perception \& interaction & +0.4 & +0.2 & -0.1 & -0.0 & -0.4 & +0.0 & -0.0 & +0.0 \\ 9 Perception \& interaction & +0.4 & +0.2 & -0.1 & -0.0 & -0.4 & +0.0 & -0.0 & +0.0 \\
@@ -14,6 +14,6 @@ Security \& privacy & +1.8 & +0.9 & +0.0 & -0.1 & +0.1 & -2.6 & -0.1 & +0.0 \\
14 Hardware \& emerging & +0.4 & -0.2 & -0.2 & +0.0 & +0.1 & +0.1 & -0.2 & -0.0 \\ 14 Hardware \& emerging & +0.4 & -0.2 & -0.2 & +0.0 & +0.1 & +0.1 & -0.2 & -0.0 \\
15 Computational science & +2.5 & +0.9 & -0.1 & -0.7 & -0.7 & +0.0 & -0.1 & -1.8 \\ 15 Computational science & +2.5 & +0.9 & -0.1 & -0.7 & -0.7 & +0.0 & -0.1 & -1.8 \\
16 \bottomrule 16 \bottomrule
17−\end{tabular} 17+\end{tabular}}
18−\begin{tablenotes}\footnotesize\item Rows: citing area; columns: cited area; row shares of internal references with both ends classified, split by citing calendar year (2022 entirely in the first span). Figure~\ref{fig:p9-area-flow-matrix} shows the two underlying matrices.\end{tablenotes} 18+\begin{tablenotes}\footnotesize\item Rows: citing area; columns: cited area (abbreviations as in Table~\ref{tab:p9-area-shares}); row shares of internal references with both ends classified, split by citing calendar year (2022 entirely in the first span). Figure~\ref{fig:area-flow-matrix} shows the two underlying matrices.\end{tablenotes}
19 \end{threeparttable}\end{table} 19 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_area_shares.tex +5 −5
@@ -1,9 +1,9 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2 \begin{table}[htbp]\centering\caption{Share of primary-category assignments by top-level area and year (per cent), with the two protocol periods.}\label{tab:p9-area-shares} 2 \begin{table}[htbp]\centering\caption{Share of primary-category assignments by top-level area and year (per cent), with the two protocol periods.}\label{tab:p9-area-shares}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Year / period} & \textbf{AI \& ML} & \textbf{Perception \& interaction} & \textbf{Software \& PL} & \textbf{Theory} & \textbf{Data \& distributed} & \textbf{Security \& privacy} & \textbf{Hardware \& emerging} & \textbf{Computational science} \\ 6+\textbf{Year / period} & \textbf{AI/ML} & \textbf{Percep.} & \textbf{Softw.} & \textbf{Theory} & \textbf{Data} & \textbf{Secur.} & \textbf{Hardw.} & \textbf{Comp. sci.} \\
7 \midrule 7 \midrule
8 2018 & 7.65 & 33.45 & 7.89 & 6.60 & 22.66 & 9.99 & 5.75 & 5.99 \\ 8 2018 & 7.65 & 33.45 & 7.89 & 6.60 & 22.66 & 9.99 & 5.75 & 5.99 \\
9 2019 & 8.89 & 34.69 & 7.21 & 6.15 & 21.14 & 10.27 & 5.48 & 6.17 \\ 9 2019 & 8.89 & 34.69 & 7.21 & 6.15 & 21.14 & 10.27 & 5.48 & 6.17 \\
@@ -17,6 +17,6 @@
17 Baseline (2018-01 to 2022-11) & 9.84 & 35.23 & 6.71 & 6.10 & 19.80 & 10.33 & 5.32 & 6.66 \\ 17 Baseline (2018-01 to 2022-11) & 9.84 & 35.23 & 6.71 & 6.10 & 19.80 & 10.33 & 5.32 & 6.66 \\
18 Post (2022-12 to 2026-11) & 17.46 & 35.72 & 5.41 & 4.47 & 14.84 & 11.26 & 4.82 & 6.02 \\ 18 Post (2022-12 to 2026-11) & 17.46 & 35.72 & 5.41 & 4.47 & 14.84 & 11.26 & 4.82 & 6.02 \\
19 \bottomrule 19 \bottomrule
20−\end{tabular} 20+\end{tabular}}
21−\begin{tablenotes}\footnotesize\item Shares of works with a primary category (Table~\ref{tab:p9-classification}); rows sum to 100. The period rows split at the reference date; the year rows split at the calendar year. 2026 is incomplete.\end{tablenotes} 21+\begin{tablenotes}\footnotesize\item Shares of works with a primary category (Table~\ref{tab:p9-classification}); rows sum to 100. Areas: AI/ML = Artificial Intelligence and Machine Learning; Percep. = Perception, Language, Robotics and Interaction; Softw. = Software, Programming Languages and Formal Methods; Data = Data, Information and Distributed Systems; Secur. = Security, Privacy and Trust; Hardw. = Hardware, Architecture and Emerging Computing; Comp. sci. = Computational Science and Discovery. The period rows split at the reference date; the year rows at the calendar year. 2026 is incomplete.\end{tablenotes}
22 \end{threeparttable}\end{table} 22 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_category_periods.tex +46 −49
@@ -1,54 +1,51 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv
2−\begin{longtable}{lrrrrrrrr} 2+\begin{table}[p]\centering\rotatebox{90}{\begin{minipage}{0.92\textheight}\centering\renewcommand{\arraystretch}{0.9}\caption{The forty categories by protocol period: primary-category output, composition shares, multi-label growth and compound annual growth rates.}\label{tab:p9-category-periods}
3−\caption{The forty categories by protocol period: primary-category output, composition shares, multi-label growth and compound annual growth rates.}\label{tab:p9-category-periods}\\ 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
4 \toprule 5 \toprule
5−\textbf{Category} & \textbf{Area} & \textbf{Primary, base} & \textbf{Primary, post} & \textbf{Share base (\%)} & \textbf{Share post (\%)} & \textbf{Multi-label post/base} & \textbf{CAGR base} & \textbf{CAGR post} \\ 6+\textbf{Category} & \textbf{Area} & \textbf{Primary, base} & \textbf{Primary, post} & \textbf{Share base (\%)} & \textbf{Share post (\%)} & \textbf{ML post/base} & \textbf{CAGR base} & \textbf{CAGR post} \\
6 \midrule 7 \midrule
7−\endfirsthead 8+Computer Vision & Percep. & 421{,}385 & 521{,}935 & 15.79 & 16.97 & 1.30 & 0.091 & 0.149 \\
8−\toprule 9+Computer Networks & Data & 267{,}896 & 212{,}342 & 10.04 & 6.90 & 0.94 & -0.044 & 0.071 \\
9−\textbf{Category} & \textbf{Area} & \textbf{Primary, base} & \textbf{Primary, post} & \textbf{Share base (\%)} & \textbf{Share post (\%)} & \textbf{Multi-label post/base} & \textbf{CAGR base} & \textbf{CAGR post} \\ 10+Human-Computer Interaction & Percep. & 174{,}138 & 196{,}794 & 6.53 & 6.40 & 1.26 & 0.004 & 0.197 \\
10−\midrule 11+Cybersecurity & Secur. & 154{,}197 & 195{,}498 & 5.78 & 6.36 & 1.26 & 0.017 & 0.272 \\
11−\endhead 12+Natural Language Processing & Percep. & 134{,}844 & 152{,}754 & 5.05 & 4.97 & 1.75 & 0.062 & 0.124 \\
12−Computer Vision & Perception \& interaction & 421{,}385 & 521{,}935 & 15.79 & 16.97 & 1.30 & 0.091 & 0.149 \\ 13+Large Language Models & AI/ML & 11{,}813 & 132{,}127 & 0.44 & 4.30 & 3.49 & 0.189 & 1.085 \\
13−Computer Networks & Data \& distributed & 267{,}896 & 212{,}342 & 10.04 & 6.90 & 0.94 & -0.044 & 0.071 \\ 14+Software Engineering & Softw. & 132{,}205 & 129{,}300 & 4.95 & 4.20 & 1.32 & -0.049 & 0.177 \\
14−Human-Computer Interaction & Perception \& interaction & 174{,}138 & 196{,}794 & 6.53 & 6.40 & 1.26 & 0.004 & 0.197 \\ 15+Algorithms and Data Struct. & Theory & 144{,}105 & 121{,}771 & 5.40 & 3.96 & 0.99 & -0.008 & 0.088 \\
15−Cybersecurity & Security \& privacy & 154{,}197 & 195{,}498 & 5.78 & 6.36 & 1.26 & 0.017 & 0.272 \\ 16+Robotics & Percep. & 101{,}643 & 118{,}241 & 3.81 & 3.84 & 1.28 & 0.072 & 0.140 \\
16−Natural Language Processing & Perception \& interaction & 134{,}844 & 152{,}754 & 5.05 & 4.97 & 1.75 & 0.062 & 0.124 \\ 17+Deep Learning Architectures & AI/ML & 87{,}481 & 116{,}113 & 3.28 & 3.77 & 1.57 & 0.167 & 0.155 \\
17−Large Language Models & AI \& ML & 11{,}813 & 132{,}127 & 0.44 & 4.30 & 3.49 & 0.189 & 1.085 \\ 18+Machine Learning Theory & AI/ML & 88{,}923 & 112{,}830 & 3.33 & 3.67 & 1.51 & 0.104 & 0.197 \\
18−Software Engineering & Software \& PL & 132{,}205 & 129{,}300 & 4.95 & 4.20 & 1.32 & -0.049 & 0.177 \\ 19+Computational Biology & Comp. sci. & 82{,}846 & 97{,}856 & 3.10 & 3.18 & 1.31 & 0.108 & 0.170 \\
19−Algorithms and Data Structures & Theory & 144{,}105 & 121{,}771 & 5.40 & 3.96 & 0.99 & -0.008 & 0.088 \\ 20+Scientific Computing & Comp. sci. & 93{,}944 & 84{,}877 & 3.52 & 2.76 & 1.10 & 0.042 & 0.066 \\
20−Robotics & Perception \& interaction & 101{,}643 & 118{,}241 & 3.81 & 3.84 & 1.28 & 0.072 & 0.140 \\ 21+Computer Architecture & Hardw. & 86{,}471 & 70{,}512 & 3.24 & 2.29 & 0.98 & -0.061 & 0.111 \\
21−Deep Learning Architectures & AI \& ML & 87{,}481 & 116{,}113 & 3.28 & 3.77 & 1.57 & 0.167 & 0.155 \\ 22+Speech and Audio Computing & Percep. & 62{,}133 & 65{,}819 & 2.33 & 2.14 & 1.14 & 0.012 & 0.118 \\
22−Machine Learning Theory & AI \& ML & 88{,}923 & 112{,}830 & 3.33 & 3.67 & 1.51 & 0.104 & 0.197 \\ 23+Blockchain Systems & Secur. & 46{,}516 & 62{,}087 & 1.74 & 2.02 & 1.40 & 0.163 & 0.120 \\
23−Computational Biology & Computational science & 82{,}846 & 97{,}856 & 3.10 & 3.18 & 1.31 & 0.108 & 0.170 \\ 24+Information Retrieval & Data & 58{,}198 & 61{,}738 & 2.18 & 2.01 & 1.34 & -0.018 & 0.176 \\
24−Scientific Computing & Computational science & 93{,}944 & 84{,}877 & 3.52 & 2.76 & 1.10 & 0.042 & 0.066 \\ 25+Database Systems & Data & 74{,}552 & 61{,}582 & 2.79 & 2.00 & 1.02 & -0.043 & 0.073 \\
25−Computer Architecture & Hardware \& emerging & 86{,}471 & 70{,}512 & 3.24 & 2.29 & 0.98 & -0.061 & 0.111 \\ 26+Quantum Computing & Hardw. & 39{,}846 & 60{,}417 & 1.49 & 1.96 & 1.59 & 0.103 & 0.287 \\
26−Speech and Audio Computing & Perception \& interaction & 62{,}133 & 65{,}819 & 2.33 & 2.14 & 1.14 & 0.012 & 0.118 \\ 27+Applied Cryptography & Secur. & 53{,}877 & 51{,}175 & 2.02 & 1.66 & 1.13 & -0.011 & 0.141 \\
27−Blockchain Systems & Security \& privacy & 46{,}516 & 62{,}087 & 1.74 & 2.02 & 1.40 & 0.163 & 0.120 \\ 28+Reinforcement Learning & AI/ML & 26{,}913 & 44{,}477 & 1.01 & 1.45 & 2.08 & 0.208 & 0.252 \\
28−Information Retrieval & Data \& distributed & 58{,}198 & 61{,}738 & 2.18 & 2.01 & 1.34 & -0.018 & 0.176 \\ 29+Distributed Computing & Data & 52{,}661 & 43{,}642 & 1.97 & 1.42 & 1.22 & -0.050 & 0.132 \\
29−Database Systems & Data \& distributed & 74{,}552 & 61{,}582 & 2.79 & 2.00 & 1.02 & -0.043 & 0.073 \\ 30+Computer Graphics & Percep. & 46{,}021 & 43{,}270 & 1.72 & 1.41 & 1.20 & -0.051 & 0.157 \\
30−Quantum Computing & Hardware \& emerging & 39{,}846 & 60{,}417 & 1.49 & 1.96 & 1.59 & 0.103 & 0.287 \\ 31+Edge Computing & Data & 34{,}568 & 40{,}445 & 1.30 & 1.31 & 1.28 & 0.133 & 0.126 \\
31−Applied Cryptography & Security \& privacy & 53{,}877 & 51{,}175 & 2.02 & 1.66 & 1.13 & -0.011 & 0.141 \\ 32+Generative AI & AI/ML & 7{,}503 & 38{,}194 & 0.28 & 1.24 & 3.44 & 0.296 & 0.870 \\
32−Reinforcement Learning & AI \& ML & 26{,}913 & 44{,}477 & 1.01 & 1.45 & 2.08 & 0.208 & 0.252 \\ 33+Cloud Computing & Data & 40{,}415 & 36{,}757 & 1.51 & 1.19 & 1.02 & -0.068 & 0.198 \\
33−Distributed Computing & Data \& distributed & 52{,}661 & 43{,}642 & 1.97 & 1.42 & 1.22 & -0.050 & 0.132 \\ 34+AI Safety and Alignment & AI/ML & 9{,}997 & 33{,}792 & 0.37 & 1.10 & 3.71 & 0.294 & 0.647 \\
34−Computer Graphics & Perception \& interaction & 46{,}021 & 43{,}270 & 1.72 & 1.41 & 1.20 & -0.051 & 0.157 \\ 35+AI Agents and Autonomous Syst. & AI/ML & 25{,}167 & 32{,}219 & 0.94 & 1.05 & 2.00 & -0.045 & 0.329 \\
35−Edge Computing & Data \& distributed & 34{,}568 & 40{,}445 & 1.30 & 1.31 & 1.28 & 0.133 & 0.126 \\ 36+Privacy-Preserving Comp. & Secur. & 18{,}816 & 28{,}450 & 0.71 & 0.92 & 1.99 & 0.090 & 0.327 \\
36−Generative AI & AI \& ML & 7{,}503 & 38{,}194 & 0.28 & 1.24 & 3.44 & 0.296 & 0.870 \\ 37+Multimodal AI & AI/ML & 4{,}007 & 20{,}970 & 0.15 & 0.68 & 3.75 & 0.284 & 0.869 \\
37−Cloud Computing & Data \& distributed & 40{,}415 & 36{,}757 & 1.51 & 1.19 & 1.02 & -0.068 & 0.198 \\ 38+Formal Verification & Softw. & 22{,}992 & 18{,}225 & 0.86 & 0.59 & 0.91 & -0.069 & 0.027 \\
38−AI Safety and Alignment & AI \& ML & 9{,}997 & 33{,}792 & 0.37 & 1.10 & 3.71 & 0.294 & 0.647 \\ 39+Programming Languages & Softw. & 20{,}392 & 15{,}837 & 0.76 & 0.51 & 0.98 & -0.044 & 0.040 \\
39−AI Agents and Autonomous Systems & AI \& ML & 25{,}167 & 32{,}219 & 0.94 & 1.05 & 2.00 & -0.045 & 0.329 \\
40−Privacy-Preserving Computation & Security \& privacy & 18{,}816 & 28{,}450 & 0.71 & 0.92 & 1.99 & 0.090 & 0.327 \\
41−Multimodal AI & AI \& ML & 4{,}007 & 20{,}970 & 0.15 & 0.68 & 3.75 & 0.284 & 0.869 \\
42−Formal Verification & Software \& PL & 22{,}992 & 18{,}225 & 0.86 & 0.59 & 0.91 & -0.069 & 0.027 \\
43−Programming Languages & Software \& PL & 20{,}392 & 15{,}837 & 0.76 & 0.51 & 0.98 & -0.044 & 0.040 \\
44 Computational Complexity & Theory & 18{,}778 & 15{,}760 & 0.70 & 0.51 & 1.09 & -0.020 & 0.097 \\ 40 Computational Complexity & Theory & 18{,}778 & 15{,}760 & 0.70 & 0.51 & 1.09 & -0.020 & 0.097 \\
45−Federated Learning & Security \& privacy & 2{,}229 & 9{,}011 & 0.08 & 0.29 & 3.69 & 0.615 & 0.304 \\ 41+Federated Learning & Secur. & 2{,}229 & 9{,}011 & 0.08 & 0.29 & 3.69 & 0.615 & 0.304 \\
46−Accelerators and AI Hardware & Hardware \& emerging & 5{,}520 & 6{,}917 & 0.21 & 0.22 & 1.51 & 0.148 & 0.092 \\ 42+Accelerators and AI Hardware & Hardw. & 5{,}520 & 6{,}917 & 0.21 & 0.22 & 1.51 & 0.148 & 0.092 \\
47−Foundation Models & AI \& ML & 838 & 6{,}186 & 0.03 & 0.20 & 3.12 & 0.661 & 0.802 \\ 43+Foundation Models & AI/ML & 838 & 6{,}186 & 0.03 & 0.20 & 3.12 & 0.661 & 0.802 \\
48−Sustainable Computing & Hardware \& emerging & 3{,}356 & 5{,}389 & 0.13 & 0.18 & 1.37 & 0.092 & 0.233 \\ 44+Sustainable Computing & Hardw. & 3{,}356 & 5{,}389 & 0.13 & 0.18 & 1.37 & 0.092 & 0.233 \\
49−Operating Systems & Hardware \& emerging & 6{,}877 & 5{,}158 & 0.26 & 0.17 & 0.96 & -0.087 & 0.078 \\ 45+Operating Systems & Hardw. & 6{,}877 & 5{,}158 & 0.26 & 0.17 & 0.96 & -0.087 & 0.078 \\
50−Compilers & Software \& PL & 3{,}450 & 2{,}900 & 0.13 & 0.09 & 1.20 & -0.030 & 0.053 \\ 46+Compilers & Softw. & 3{,}450 & 2{,}900 & 0.13 & 0.09 & 1.20 & -0.030 & 0.053 \\
51−Autonomous Scientific Discovery & Computational science & 841 & 2{,}539 & 0.03 & 0.08 & 2.50 & 0.287 & 0.382 \\ 47+Autonomous Sci. Discovery & Comp. sci. & 841 & 2{,}539 & 0.03 & 0.08 & 2.50 & 0.287 & 0.382 \\
52 \bottomrule 48 \bottomrule
53−\multicolumn{9}{p{0.95\linewidth}}{\footnotesize Primary counts and shares use the primary category; the multi-label ratio is the post-period count of all assignments to the category divided by the baseline count (periods split at the reference date). CAGR base: 2018 to 2022 (four years); CAGR post: 2023 to 2025 (two years), both on primary counts of complete calendar years (equation~\eqref{eq:cagr}). Sorted by post-period share.}\\ 49+\end{tabular}}
54−\end{longtable} 50+\begin{tablenotes}\footnotesize\item Primary counts and shares use the primary category; ML post/base is the post-period count of all (multi-label) assignments to the category divided by the baseline count (periods split at the reference date). CAGR base: 2018 to 2022 (four years); CAGR post: 2023 to 2025 (two years), both on primary counts of complete calendar years (equation~\eqref{eq:cagr}). Area abbreviations as in Table~\ref{tab:p9-area-shares}. Sorted by post-period share.\end{tablenotes}
51+\end{threeparttable}\end{minipage}}\end{table}
modified manuscript/tables/tab_p9_classification.tex +4 −4
@@ -1,9 +1,9 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/data/metadata/prisma_counts.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/data/metadata/prisma_counts.json
2 \begin{table}[htbp]\centering\caption{Classification coverage by publication year: eligible works, works with a primary category, and multi-label assignments.}\label{tab:p9-classification} 2 \begin{table}[htbp]\centering\caption{Classification coverage by publication year: eligible works, works with a primary category, and multi-label assignments.}\label{tab:p9-classification}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4−\begin{tabular}{lrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrr}
5 \toprule 5 \toprule
6−\textbf{Year} & \textbf{Eligible works} & \textbf{With primary category} & \textbf{Coverage (\%)} & \textbf{Category assignments} & \textbf{Labels per classified work} \\ 6+\textbf{Year} & \textbf{Eligible works} & \textbf{With primary category} & \textbf{Coverage (\%)} & \textbf{Assignments} & \textbf{Labels per classified work} \\
7 \midrule 7 \midrule
8 2018 & 642{,}849 & 499{,}561 & 77.7 & 1{,}014{,}269 & 2.03 \\ 8 2018 & 642{,}849 & 499{,}561 & 77.7 & 1{,}014{,}269 & 2.03 \\
9 2019 & 695{,}369 & 539{,}741 & 77.6 & 1{,}127{,}407 & 2.09 \\ 9 2019 & 695{,}369 & 539{,}741 & 77.6 & 1{,}127{,}407 & 2.09 \\
@@ -15,6 +15,6 @@
15 2025 & 1{,}065{,}828 & 892{,}840 & 83.8 & 2{,}391{,}547 & 2.68 \\ 15 2025 & 1{,}065{,}828 & 892{,}840 & 83.8 & 2{,}391{,}547 & 2.68 \\
16 2026 & 901{,}651 & 771{,}301 & 85.5 & 2{,}153{,}220 & 2.79 \\ 16 2026 & 901{,}651 & 771{,}301 & 85.5 & 2{,}153{,}220 & 2.79 \\
17 \bottomrule 17 \bottomrule
18−\end{tabular} 18+\end{tabular}}
19 \begin{tablenotes}\footnotesize\item A work receives a primary category when at least one category score passes the threshold of Part IV; works without any assignment (no abstract, unmapped venue and no arXiv category) have no primary category and enter no category series. Assignments count every (work, category) pair. 2026 is incomplete.\end{tablenotes} 19 \begin{tablenotes}\footnotesize\item A work receives a primary category when at least one category score passes the threshold of Part IV; works without any assignment (no abstract, unmapped venue and no arXiv category) have no primary category and enter no category series. Assignments count every (work, category) pair. 2026 is incomplete.\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_cooccurrence.tex +4 −4
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv
2 \begin{table}[htbp]\centering\caption{The fifteen most frequent co-classification pairs (works carrying both categories in their label set), 2018--2022 and 2023--2026.}\label{tab:p9-cooccurrence} 2 \begin{table}[htbp]\centering\caption{The fifteen most frequent co-classification pairs (works carrying both categories in their label set), 2018--2022 and 2023--2026.}\label{tab:p9-cooccurrence}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrr}
5 \toprule 5 \toprule
6 \textbf{Rank} & \textbf{Pair, 2018--2022} & \textbf{Works} & \textbf{Pair, 2023--2026} & \textbf{Works } \\ 6 \textbf{Rank} & \textbf{Pair, 2018--2022} & \textbf{Works} & \textbf{Pair, 2023--2026} & \textbf{Works } \\
7 \midrule 7 \midrule
@@ -19,8 +19,8 @@
19 12 & Computer Vision / Machine Learning Theory & 44{,}326 & Deep Learning Architectures / Natural Language Processing & 75{,}917 \\ 19 12 & Computer Vision / Machine Learning Theory & 44{,}326 & Deep Learning Architectures / Natural Language Processing & 75{,}917 \\
20 13 & Applied Cryptography / Computer Networks & 43{,}265 & Deep Learning Architectures / Large Language Models & 73{,}479 \\ 20 13 & Applied Cryptography / Computer Networks & 43{,}265 & Deep Learning Architectures / Large Language Models & 73{,}479 \\
21 14 & Cloud Computing / Computer Networks & 43{,}168 & Computer Vision / Human-Computer Interaction & 70{,}536 \\ 21 14 & Cloud Computing / Computer Networks & 43{,}168 & Computer Vision / Human-Computer Interaction & 70{,}536 \\
22−15 & Algorithms and Data Structures / Computational Complexity & 42{,}821 & Foundation Models / Natural Language Processing & 70{,}076 \\ 22+15 & Algorithms and Data Struct. / Computational Complexity & 42{,}821 & Foundation Models / Natural Language Processing & 70{,}076 \\
23 \bottomrule 23 \bottomrule
24−\end{tabular} 24+\end{tabular}}
25 \begin{tablenotes}\footnotesize\item Counts of works with both labels, summed over the calendar years of each span (2022 in the first); the post span is incomplete. Co-classification depends on abstract availability and vocabulary (Part IV), so the pairs describe the classifier's view of the literature.\end{tablenotes} 25 \begin{tablenotes}\footnotesize\item Counts of works with both labels, summed over the calendar years of each span (2022 in the first); the post span is incomplete. Co-classification depends on abstract availability and vocabulary (Part IV), so the pairs describe the classifier's view of the literature.\end{tablenotes}
26 \end{threeparttable}\end{table} 26 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_cross_area.tex +4 −4
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cross_area_share_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cross_area_share_yearly.csv
2 \begin{table}[htbp]\centering\caption{Cross-area share of internal references by citing area and citing year (per cent), with the aggregate share and its composition-adjusted counterpart.}\label{tab:p9-cross-area} 2 \begin{table}[htbp]\centering\caption{Cross-area share of internal references by citing area and citing year (per cent), with the aggregate share and its composition-adjusted counterpart.}\label{tab:p9-cross-area}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrrr}
5 \toprule 5 \toprule
6 \textbf{Citing area} & \textbf{2018} & \textbf{2019} & \textbf{2020} & \textbf{2021} & \textbf{2022} & \textbf{2023} & \textbf{2024} & \textbf{2025} & \textbf{2026} \\ 6 \textbf{Citing area} & \textbf{2018} & \textbf{2019} & \textbf{2020} & \textbf{2021} & \textbf{2022} & \textbf{2023} & \textbf{2024} & \textbf{2025} & \textbf{2026} \\
7 \midrule 7 \midrule
@@ -15,8 +15,8 @@ Software \& PL & 29.9 & 30.2 & 32.8 & 33.5 & 33.8 & 35.3 & 35.8 & 36.3 & 35.5 \\
15 Theory & 30.0 & 35.1 & 36.1 & 35.9 & 34.7 & 35.4 & 35.8 & 36.5 & 37.8 \\ 15 Theory & 30.0 & 35.1 & 36.1 & 35.9 & 34.7 & 35.4 & 35.8 & 36.5 & 37.8 \\
16 All areas, raw & 27.8 & 25.9 & 26.3 & 26.9 & 26.8 & 27.4 & 28.2 & 29.5 & 30.5 \\ 16 All areas, raw & 27.8 & 25.9 & 26.3 & 26.9 & 26.8 & 27.4 & 28.2 & 29.5 & 30.5 \\
17 All areas, baseline area weights & 27.4 & 25.9 & 26.1 & 26.8 & 27.1 & 27.6 & 27.8 & 28.3 & 28.6 \\ 17 All areas, baseline area weights & 27.4 & 25.9 & 26.1 & 26.8 & 27.1 & 27.6 & 27.8 & 28.3 & 28.6 \\
18−Internal references (count) & 213{,}358.0 & 975{,}445.0 & 2{,}131{,}658.0 & 3{,}556{,}446.0 & 4{,}288{,}984.0 & 5{,}706{,}569.0 & 6{,}799{,}414.0 & 7{,}477{,}998.0 & 4{,}558{,}848.0 \\ 18+Internal references (count) & 213,358 & 975,445 & 2,131,658 & 3,556,446 & 4,288,984 & 5,706,569 & 6,799,414 & 7,477,998 & 4,558,848 \\
19 \bottomrule 19 \bottomrule
20−\end{tabular} 20+\end{tabular}}
21 \begin{tablenotes}\footnotesize\item Equation~\eqref{eq:cross-area}: the share of an area's resolved internal references whose cited work has a primary category in another area. The composition-adjusted aggregate fixes each area's weight at its 2018--2022 share of internal references, so that it moves only when the areas' own cross-area rates move. The last row is the number of internal references with both ends classified. 2026 is incomplete.\end{tablenotes} 21 \begin{tablenotes}\footnotesize\item Equation~\eqref{eq:cross-area}: the share of an area's resolved internal references whose cited work has a primary category in another area. The composition-adjusted aggregate fixes each area's weight at its 2018--2022 share of internal references, so that it moves only when the areas' own cross-area rates move. The last row is the number of internal references with both ends classified. 2026 is incomplete.\end{tablenotes}
22 \end{threeparttable}\end{table} 22 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_emerging_cutoffs.tex +3 −3
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json
2 \begin{table}[htbp]\centering\caption{AUC of the three detectors at each test cutoff, by horizon.}\label{tab:p9-emerging-cutoffs} 2 \begin{table}[htbp]\centering\caption{AUC of the three detectors at each test cutoff, by horizon.}\label{tab:p9-emerging-cutoffs}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
5 \toprule 5 \toprule
6 \textbf{Test cutoff} & \textbf{h12: z-score} & \textbf{h12: logistic} & \textbf{h12: GBM} & \textbf{h24: z-score} & \textbf{h24: logistic} & \textbf{h24: GBM} \\ 6 \textbf{Test cutoff} & \textbf{h12: z-score} & \textbf{h12: logistic} & \textbf{h12: GBM} & \textbf{h24: z-score} & \textbf{h24: logistic} & \textbf{h24: GBM} \\
7 \midrule 7 \midrule
@@ -14,6 +14,6 @@
14 2024-07 & 0.646 & 0.538 & 0.756 & & & \\ 14 2024-07 & 0.646 & 0.538 & 0.756 & & & \\
15 2024-10 & 0.709 & 0.516 & 0.772 & & & \\ 15 2024-10 & 0.709 & 0.516 & 0.772 & & & \\
16 \bottomrule 16 \bottomrule
17−\end{tabular} 17+\end{tabular}}
18 \begin{tablenotes}\footnotesize\item Within-cutoff AUC on the eligible topics of the cutoff; blank where the label window of the cutoff extends beyond the panel. Pooled values are in Tables~\ref{tab:emerging_h12} and~\ref{tab:emerging_h24}.\end{tablenotes} 18 \begin{tablenotes}\footnotesize\item Within-cutoff AUC on the eligible topics of the cutoff; blank where the label window of the cutoff extends beyond the panel. Pooled values are in Tables~\ref{tab:emerging_h12} and~\ref{tab:emerging_h24}.\end{tablenotes}
19 \end{threeparttable}\end{table} 19 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_emerging_setup.tex +5 −5
@@ -1,13 +1,13 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h12.json, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/emerging/metrics_h24.json
2−\begin{table}[htbp]\centering\caption{Out-of-time evaluation design of the emerging-topic detector: cutoffs, panel sizes and positive rates.}\label{tab:p9-emerging-setup} 2+\begin{table}[htbp]\centering\caption{Out-of-time evaluation design of the emerging-topic detector: cutoffs (months), panel sizes and positive rates.}\label{tab:p9-emerging-setup}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Horizon (months)} & \textbf{Training cutoffs} & \textbf{Test cutoffs} & \textbf{Train rows} & \textbf{Test rows} & \textbf{Positive rate, train} & \textbf{Positive rate, test} \\ 6+\textbf{Horizon} & \textbf{Training cutoffs} & \textbf{Test cutoffs} & \textbf{Train rows} & \textbf{Test rows} & \textbf{Pos. rate, train} & \textbf{Pos. rate, test} \\
7 \midrule 7 \midrule
8 12 & 2020-01 to 2021-10 (8) & 2023-01 to 2024-10 (8) & 9{,}202 & 9{,}626 & 0.0083 & 0.0047 \\ 8 12 & 2020-01 to 2021-10 (8) & 2023-01 to 2024-10 (8) & 9{,}202 & 9{,}626 & 0.0083 & 0.0047 \\
9 24 & 2020-01 to 2020-10 (4) & 2023-01 to 2024-04 (6) & 4{,}487 & 7{,}177 & 0.0254 & 0.0145 \\ 9 24 & 2020-01 to 2020-10 (4) & 2023-01 to 2024-04 (6) & 4{,}487 & 7{,}177 & 0.0254 & 0.0145 \\
10 \bottomrule 10 \bottomrule
11−\end{tabular} 11+\end{tabular}}
12 \begin{tablenotes}\footnotesize\item Rows are eligible (topic, cutoff) pairs; the label of equation~\eqref{eq:label} requires top-decile future growth and a doubling of volume, so the positive rate is below ten per cent.\end{tablenotes} 12 \begin{tablenotes}\footnotesize\item Rows are eligible (topic, cutoff) pairs; the label of equation~\eqref{eq:label} requires top-decile future growth and a doubling of volume, so the positive rate is below ten per cent.\end{tablenotes}
13 \end{threeparttable}\end{table} 13 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_h3.tex +13 −13
@@ -1,19 +1,19 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2 \begin{table}[htbp]\centering\caption{Hypothesis H3: break dates and ITS estimates for the eight categories named in the protocol.}\label{tab:p9-h3} 2 \begin{table}[htbp]\centering\caption{Hypothesis H3: break dates and ITS estimates for the eight categories named in the protocol.}\label{tab:p9-h3}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Category} & \textbf{H3 prediction} & \textbf{Bai--Perron (BIC)} & \textbf{PELT} & \textbf{In window} & \textbf{Level change (p)} & \textbf{Slope change (p)} & \textbf{Placebo p (slope)} & \textbf{BOCPD P} \\ 6+\textbf{Category} & \textbf{Predicted} & \textbf{Bai--Perron (BIC)} & \textbf{PELT} & \textbf{In window} & \textbf{Level (p)} & \textbf{Slope (p)} & \textbf{Plac. p} & \textbf{BOCPD P} \\
7 \midrule 7 \midrule
8−Large Language Models & break expected & 2022-07 & 2023-10 & no & +0.106 (0.075) & +0.0336 (1.1e-60) & 0.200 & 0.093 \\ 8+Large Language Models & break & 2022-07 & 2023-10 & no & +0.106 (0.075) & +0.0336 (1.1e-60) & 0.200 & 0.093 \\
9−Generative AI & break expected & 2021-11 & 2020-12, 2023-12 & no & +0.036 (0.556) & +0.0194 (1e-15) & 0.308 & 0.020 \\ 9+Generative AI & break & 2021-11 & 2020-12, 2023-12 & no & +0.036 (0.556) & +0.0194 (1e-15) & 0.308 & 0.020 \\
10−AI Agents and Autonomous Systems & break expected & 2022-07, 2024-07 & 2023-12, 2025-08 & no & -0.210 (0.028) & +0.0401 (3.6e-18) & 0.400 & 0.123 \\ 10+AI Agents and Autonomous Syst. & break & 2022-07, 2024-07 & 2023-12, 2025-08 & no & -0.210 (0.028) & +0.0401 (3.6e-18) & 0.400 & 0.123 \\
11−AI Safety and Alignment & break expected & 2021-06, 2022-09 & 2020-02, 2024-02 & no & -0.206 (0.002) & +0.0164 (3e-13) & 0.308 & 0.017 \\ 11+AI Safety and Alignment & break & 2021-06, 2022-09 & 2020-02, 2024-02 & no & -0.206 (0.002) & +0.0164 (3e-13) & 0.308 & 0.017 \\
12−Formal Verification & no break expected & 2022-02, 2024-07 & 2024-03, 2025-09 & no & -0.109 (0.029) & +0.0177 (2.5e-15) & 0.246 & 0.048 \\ 12+Formal Verification & no break & 2022-02, 2024-07 & 2024-03, 2025-09 & no & -0.109 (0.029) & +0.0177 (2.5e-15) & 0.246 & 0.048 \\
13−Computational Complexity & no break expected & 2023-04 & 2023-10, 2025-01 & yes & -0.068 (0.000) & +0.0142 (6.6e-55) & 0.062 & 0.061 \\ 13+Computational Complexity & no break & 2023-04 & 2023-10, 2025-01 & yes & -0.068 (0.000) & +0.0142 (6.6e-55) & 0.062 & 0.061 \\
14−Operating Systems & no break expected & 2023-09 & 2024-11, 2026-01 & no & -0.033 (0.417) & +0.0158 (8.2e-15) & 0.477 & 0.292 \\ 14+Operating Systems & no break & 2023-09 & 2024-11, 2026-01 & no & -0.033 (0.417) & +0.0158 (8.2e-15) & 0.477 & 0.292 \\
15−Computer Architecture & no break expected & 2023-05 & 2025-01 & yes & -0.009 (0.771) & +0.0158 (2.4e-38) & 0.062 & 0.065 \\ 15+Computer Architecture & no break & 2023-05 & 2025-01 & yes & -0.009 (0.771) & +0.0158 (2.4e-38) & 0.062 & 0.065 \\
16 \bottomrule 16 \bottomrule
17−\end{tabular} 17+\end{tabular}}
18−\begin{tablenotes}\footnotesize\item In window: a Bai--Perron (BIC) break date between October 2022 and June 2023. The protocol predicted a break in that window for the first four categories and none for the last four.\end{tablenotes} 18+\begin{tablenotes}\footnotesize\item Predicted: the protocol's prediction for the window October 2022 to June 2023; In window: a Bai--Perron (BIC) break date in that window. Level and slope: ITS changes at December 2022 with HAC $p$; Plac. p: placebo $p$ of the slope over all candidate months.\end{tablenotes}
19 \end{threeparttable}\end{table} 19 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_its_levels.tex +11 −14
@@ -1,20 +1,16 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2−\begin{longtable}{lrrrrrrrr} 2+\begin{table}[p]\centering\rotatebox{90}{\begin{minipage}{0.92\textheight}\centering\renewcommand{\arraystretch}{0.9}\caption{ITS level change at December 2022 by category: full-sample and donut estimates, HAC and placebo $p$-values, and the BOCPD change probability over December 2022 to March 2023.}\label{tab:p9-its-levels}
3−\caption{ITS level change at December 2022 by category: full-sample and donut estimates, HAC and placebo $p$-values, and the BOCPD change probability over December 2022 to March 2023.}\label{tab:p9-its-levels}\\ 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
4 \toprule 5 \toprule
5−\textbf{Category} & \textbf{Level change} & \textbf{SE} & \textbf{HAC p} & \textbf{Placebo p (all)} & \textbf{Placebo p (base)} & \textbf{Donut level} & \textbf{Donut p} & \textbf{BOCPD P} \\ 6+\textbf{Category} & \textbf{Level change} & \textbf{SE} & \textbf{HAC p} & \textbf{Plac. p (all)} & \textbf{Plac. p (base)} & \textbf{Donut level} & \textbf{Donut p} & \textbf{BOCPD P} \\
6 \midrule 7 \midrule
7−\endfirsthead 8+AI Agents and Autonomous Syst. & -0.210 & 0.095 & 0.028 & 0.631 & 0.882 & -0.105 & 0.282 & 0.123 \\
8−\toprule
9−\textbf{Category} & \textbf{Level change} & \textbf{SE} & \textbf{HAC p} & \textbf{Placebo p (all)} & \textbf{Placebo p (base)} & \textbf{Donut level} & \textbf{Donut p} & \textbf{BOCPD P} \\
10−\midrule
11−\endhead
12−AI Agents and Autonomous Systems & -0.210 & 0.095 & 0.028 & 0.631 & 0.882 & -0.105 & 0.282 & 0.123 \\
13 AI Safety and Alignment & -0.206 & 0.067 & 0.002 & 0.446 & 0.676 & +0.022 & 0.752 & 0.017 \\ 9 AI Safety and Alignment & -0.206 & 0.067 & 0.002 & 0.446 & 0.676 & +0.022 & 0.752 & 0.017 \\
14 Accelerators and AI Hardware & -0.113 & 0.051 & 0.027 & 0.477 & 0.618 & -0.017 & 0.749 & 0.025 \\ 10 Accelerators and AI Hardware & -0.113 & 0.051 & 0.027 & 0.477 & 0.618 & -0.017 & 0.749 & 0.025 \\
15−Algorithms and Data Structures & -0.045 & 0.022 & 0.039 & 0.508 & 0.676 & -0.003 & 0.906 & 0.036 \\ 11+Algorithms and Data Struct. & -0.045 & 0.022 & 0.039 & 0.508 & 0.676 & -0.003 & 0.906 & 0.036 \\
16 Applied Cryptography & +0.002 & 0.021 & 0.922 & 1.000 & 1.000 & +0.066 & 0.001 & 0.116 \\ 12 Applied Cryptography & +0.002 & 0.021 & 0.922 & 1.000 & 1.000 & +0.066 & 0.001 & 0.116 \\
17−Autonomous Scientific Discovery & -0.155 & 0.075 & 0.038 & 0.538 & 0.824 & +0.003 & 0.972 & 0.019 \\ 13+Autonomous Sci. Discovery & -0.155 & 0.075 & 0.038 & 0.538 & 0.824 & +0.003 & 0.972 & 0.019 \\
18 Blockchain Systems & -0.008 & 0.044 & 0.858 & 0.938 & 1.000 & +0.068 & 0.163 & 0.023 \\ 14 Blockchain Systems & -0.008 & 0.044 & 0.858 & 0.938 & 1.000 & +0.068 & 0.163 & 0.023 \\
19 Cloud Computing & +0.003 & 0.037 & 0.936 & 0.985 & 1.000 & +0.039 & 0.255 & 0.405 \\ 15 Cloud Computing & +0.003 & 0.037 & 0.936 & 0.985 & 1.000 & +0.039 & 0.255 & 0.405 \\
20 Compilers & -0.028 & 0.039 & 0.471 & 0.892 & 0.971 & +0.027 & 0.516 & 0.079 \\ 16 Compilers & -0.028 & 0.039 & 0.471 & 0.892 & 0.971 & +0.027 & 0.516 & 0.079 \\
@@ -40,7 +36,7 @@ Machine Learning Theory & -0.080 & 0.047 & 0.090 & 0.662 & 1.000 & +0.005 & 0.92
40 Multimodal AI & +0.025 & 0.048 & 0.600 & 0.969 & 0.941 & +0.284 & 0.000 & 0.023 \\ 36 Multimodal AI & +0.025 & 0.048 & 0.600 & 0.969 & 0.941 & +0.284 & 0.000 & 0.023 \\
41 Natural Language Processing & +0.016 & 0.041 & 0.694 & 0.969 & 0.941 & +0.150 & 0.001 & 0.045 \\ 37 Natural Language Processing & +0.016 & 0.041 & 0.694 & 0.969 & 0.941 & +0.150 & 0.001 & 0.045 \\
42 Operating Systems & -0.033 & 0.041 & 0.417 & 0.846 & 0.971 & -0.020 & 0.549 & 0.292 \\ 38 Operating Systems & -0.033 & 0.041 & 0.417 & 0.846 & 0.971 & -0.020 & 0.549 & 0.292 \\
43−Privacy-Preserving Computation & -0.001 & 0.028 & 0.965 & 0.985 & 0.971 & +0.142 & 0.000 & 0.020 \\ 39+Privacy-Preserving Comp. & -0.001 & 0.028 & 0.965 & 0.985 & 0.971 & +0.142 & 0.000 & 0.020 \\
44 Programming Languages & -0.040 & 0.045 & 0.381 & 0.662 & 0.941 & -0.007 & 0.895 & 0.241 \\ 40 Programming Languages & -0.040 & 0.045 & 0.381 & 0.662 & 0.941 & -0.007 & 0.895 & 0.241 \\
45 Quantum Computing & -0.087 & 0.042 & 0.039 & 0.738 & 0.941 & +0.028 & 0.571 & 0.018 \\ 41 Quantum Computing & -0.087 & 0.042 & 0.039 & 0.738 & 0.941 & +0.028 & 0.571 & 0.018 \\
46 Reinforcement Learning & -0.164 & 0.066 & 0.013 & 0.615 & 0.824 & -0.062 & 0.340 & 0.019 \\ 42 Reinforcement Learning & -0.164 & 0.066 & 0.013 & 0.615 & 0.824 & -0.062 & 0.340 & 0.019 \\
@@ -50,5 +46,6 @@ Software Engineering & +0.048 & 0.031 & 0.124 & 0.862 & 0.765 & +0.156 & 0.000 &
50 Speech and Audio Computing & +0.036 & 0.039 & 0.354 & 0.815 & 0.824 & +0.109 & 0.024 & 0.032 \\ 46 Speech and Audio Computing & +0.036 & 0.039 & 0.354 & 0.815 & 0.824 & +0.109 & 0.024 & 0.032 \\
51 Sustainable Computing & +0.049 & 0.025 & 0.048 & 0.754 & 0.647 & +0.121 & 0.000 & 0.193 \\ 47 Sustainable Computing & +0.049 & 0.025 & 0.048 & 0.754 & 0.647 & +0.121 & 0.000 & 0.193 \\
52 \bottomrule 48 \bottomrule
53−\multicolumn{9}{p{0.95\linewidth}}{\footnotesize Donut: the event month and three months on each side removed. BOCPD P: maximum posterior probability that a changepoint occurred within the last four months, taken over December 2022 to March 2023.}\\ 49+\end{tabular}}
54−\end{longtable} 50+\begin{tablenotes}\footnotesize\item Donut: the event month and three months on each side removed. BOCPD P: maximum posterior probability that a changepoint occurred within the last four months, taken over December 2022 to March 2023.\end{tablenotes}
51+\end{threeparttable}\end{minipage}}\end{table}
modified manuscript/tables/tab_p9_its_slopes.tex +11 −14
@@ -1,15 +1,11 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2−\begin{longtable}{lrrrrrrrr} 2+\begin{table}[p]\centering\rotatebox{90}{\begin{minipage}{0.92\textheight}\centering\renewcommand{\arraystretch}{0.9}\caption{ITS slope change at December 2022 by category: pre-period slope, change, HAC and placebo $p$-values, and implied post-period slope (monthly log growth).}\label{tab:p9-its-slopes}
3−\caption{ITS slope change at December 2022 by category: pre-period slope, change, HAC and placebo $p$-values, and implied post-period slope (monthly log growth).}\label{tab:p9-its-slopes}\\ 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
4 \toprule 5 \toprule
5−\textbf{Category} & \textbf{Works} & \textbf{Pre-slope} & \textbf{Slope change} & \textbf{SE} & \textbf{HAC p} & \textbf{Placebo p (all)} & \textbf{Placebo p (base)} & \textbf{Post slope} \\ 6+\textbf{Category} & \textbf{Works} & \textbf{Pre-slope} & \textbf{Slope change} & \textbf{SE} & \textbf{HAC p} & \textbf{Plac. p (all)} & \textbf{Plac. p (base)} & \textbf{Post slope} \\
6 \midrule 7 \midrule
7−\endfirsthead 8+AI Agents and Autonomous Syst. & 116{,}719 & 0.0032 & +0.0401 & 0.0046 & 3.61e-18 & 0.400 & 0.000 & 0.0433 \\
8−\toprule
9−\textbf{Category} & \textbf{Works} & \textbf{Pre-slope} & \textbf{Slope change} & \textbf{SE} & \textbf{HAC p} & \textbf{Placebo p (all)} & \textbf{Placebo p (base)} & \textbf{Post slope} \\
10−\midrule
11−\endhead
12−AI Agents and Autonomous Systems & 116{,}719 & 0.0032 & +0.0401 & 0.0046 & 3.61e-18 & 0.400 & 0.000 & 0.0433 \\
13 Large Language Models & 346{,}928 & 0.0132 & +0.0336 & 0.0020 & 1.07e-60 & 0.200 & 0.353 & 0.0469 \\ 9 Large Language Models & 346{,}928 & 0.0132 & +0.0336 & 0.0020 & 1.07e-60 & 0.200 & 0.353 & 0.0469 \\
14 Multimodal AI & 133{,}911 & 0.0192 & +0.0238 & 0.0018 & 6.35e-39 & 0.200 & 0.353 & 0.0430 \\ 10 Multimodal AI & 133{,}911 & 0.0192 & +0.0238 & 0.0018 & 6.35e-39 & 0.200 & 0.353 & 0.0430 \\
15 Information Retrieval & 206{,}216 & 0.0031 & +0.0233 & 0.0019 & 7.12e-35 & 0.092 & 0.000 & 0.0264 \\ 11 Information Retrieval & 206{,}216 & 0.0031 & +0.0233 & 0.0019 & 7.12e-35 & 0.092 & 0.000 & 0.0264 \\
@@ -32,12 +28,12 @@ Computational Complexity & 150{,}983 & 0.0024 & +0.0142 & 0.0009 & 6.63e-55 & 0.
32 Computer Graphics & 192{,}097 & 0.0030 & +0.0141 & 0.0010 & 2.69e-42 & 0.185 & 0.324 & 0.0171 \\ 28 Computer Graphics & 192{,}097 & 0.0030 & +0.0141 & 0.0010 & 2.69e-42 & 0.185 & 0.324 & 0.0171 \\
33 Database Systems & 261{,}915 & 0.0013 & +0.0136 & 0.0012 & 5.81e-31 & 0.092 & 0.000 & 0.0148 \\ 29 Database Systems & 261{,}915 & 0.0013 & +0.0136 & 0.0012 & 5.81e-31 & 0.092 & 0.000 & 0.0148 \\
34 Applied Cryptography & 252{,}420 & 0.0026 & +0.0133 & 0.0009 & 9.67e-46 & 0.046 & 0.059 & 0.0159 \\ 30 Applied Cryptography & 252{,}420 & 0.0026 & +0.0133 & 0.0009 & 9.67e-46 & 0.046 & 0.059 & 0.0159 \\
35−Privacy-Preserving Computation & 181{,}159 & 0.0140 & +0.0125 & 0.0013 & 6.58e-21 & 0.138 & 0.235 & 0.0265 \\ 31+Privacy-Preserving Comp. & 181{,}159 & 0.0140 & +0.0125 & 0.0013 & 6.58e-21 & 0.138 & 0.235 & 0.0265 \\
36 Programming Languages & 116{,}536 & 0.0014 & +0.0123 & 0.0023 & 1.34e-07 & 0.431 & 0.324 & 0.0137 \\ 32 Programming Languages & 116{,}536 & 0.0014 & +0.0123 & 0.0023 & 1.34e-07 & 0.431 & 0.324 & 0.0137 \\
37 Speech and Audio Computing & 146{,}061 & 0.0029 & +0.0118 & 0.0016 & 1.76e-13 & 0.169 & 0.294 & 0.0147 \\ 33 Speech and Audio Computing & 146{,}061 & 0.0029 & +0.0118 & 0.0016 & 1.76e-13 & 0.169 & 0.294 & 0.0147 \\
38 Reinforcement Learning & 171{,}820 & 0.0173 & +0.0116 & 0.0022 & 1.55e-07 & 0.385 & 0.000 & 0.0289 \\ 34 Reinforcement Learning & 171{,}820 & 0.0173 & +0.0116 & 0.0022 & 1.55e-07 & 0.385 & 0.000 & 0.0289 \\
39−Autonomous Scientific Discovery & 24{,}409 & 0.0207 & +0.0112 & 0.0021 & 1.31e-07 & 0.431 & 0.000 & 0.0319 \\ 35+Autonomous Sci. Discovery & 24{,}409 & 0.0207 & +0.0112 & 0.0021 & 1.31e-07 & 0.431 & 0.000 & 0.0319 \\
40−Algorithms and Data Structures & 500{,}703 & 0.0022 & +0.0098 & 0.0010 & 4.01e-21 & 0.062 & 0.000 & 0.0120 \\ 36+Algorithms and Data Struct. & 500{,}703 & 0.0022 & +0.0098 & 0.0010 & 4.01e-21 & 0.062 & 0.000 & 0.0120 \\
41 Machine Learning Theory & 424{,}417 & 0.0106 & +0.0091 & 0.0016 & 1.07e-08 & 0.215 & 0.000 & 0.0197 \\ 37 Machine Learning Theory & 424{,}417 & 0.0106 & +0.0091 & 0.0016 & 1.07e-08 & 0.215 & 0.000 & 0.0197 \\
42 Computer Networks & 654{,}017 & 0.0002 & +0.0086 & 0.0010 & 4.81e-18 & 0.200 & 0.353 & 0.0088 \\ 38 Computer Networks & 654{,}017 & 0.0002 & +0.0086 & 0.0010 & 4.81e-18 & 0.200 & 0.353 & 0.0088 \\
43 Scientific Computing & 388{,}897 & 0.0056 & +0.0068 & 0.0009 & 4.43e-14 & 0.154 & 0.000 & 0.0124 \\ 39 Scientific Computing & 388{,}897 & 0.0056 & +0.0068 & 0.0009 & 4.43e-14 & 0.154 & 0.000 & 0.0124 \\
@@ -50,5 +46,6 @@ Blockchain Systems & 138{,}361 & 0.0148 & -0.0021 & 0.0016 & 0.2 & 0.508 & 0.735
50 Deep Learning Architectures & 772{,}532 & 0.0174 & -0.0025 & 0.0017 & 0.136 & 0.708 & 1.000 & 0.0149 \\ 46 Deep Learning Architectures & 772{,}532 & 0.0174 & -0.0025 & 0.0017 & 0.136 & 0.708 & 1.000 & 0.0149 \\
51 Federated Learning & 58{,}126 & 0.0369 & -0.0063 & 0.0019 & 0.001 & 0.385 & 0.676 & 0.0305 \\ 47 Federated Learning & 58{,}126 & 0.0369 & -0.0063 & 0.0019 & 0.001 & 0.385 & 0.676 & 0.0305 \\
52 \bottomrule 48 \bottomrule
53−\multicolumn{9}{p{0.95\linewidth}}{\footnotesize Multi-label monthly series of month-precision works (Part IV); Works: series total over the window. Placebo $p$ (all): rank of the slope $t$-statistic among all candidate event months; (base): among baseline months only, where zero is attainable. Sorted by slope change.}\\ 49+\end{tabular}}
54−\end{longtable} 50+\begin{tablenotes}\footnotesize\item Multi-label monthly series of month-precision works (Part IV); Works: series total over the window. Plac. p (all): rank of the slope $t$-statistic among all candidate event months; (base): among baseline months only, where zero is attainable. Sorted by slope change.\end{tablenotes}
51+\end{threeparttable}\end{minipage}}\end{table}
modified manuscript/tables/tab_p9_its_total_events.tex +4 −4
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2 \begin{table}[htbp]\centering\caption{Interrupted time series of the total monthly series at the reference date and at four alternative event dates (log counts, month-of-year dummies, Newey--West standard errors).}\label{tab:p9-its-total-events} 2 \begin{table}[htbp]\centering\caption{Interrupted time series of the total monthly series at the reference date and at four alternative event dates (log counts, month-of-year dummies, Newey--West standard errors).}\label{tab:p9-its-total-events}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
5 \toprule 5 \toprule
6 \textbf{Event (month)} & \textbf{Pre-slope (SE)} & \textbf{Level change (SE)} & \textbf{HAC p (level)} & \textbf{Slope change (SE)} & \textbf{HAC p (slope)} & \textbf{$R^2$} \\ 6 \textbf{Event (month)} & \textbf{Pre-slope (SE)} & \textbf{Level change (SE)} & \textbf{HAC p (level)} & \textbf{Slope change (SE)} & \textbf{HAC p (slope)} & \textbf{$R^2$} \\
7 \midrule 7 \midrule
@@ -11,6 +11,6 @@ ChatGPT (2022-12) & 0.0031 (0.0005) & -0.010 (0.024) & 0.685 & +0.0108 (0.0009)
11 GPT-4 (2023-04) & 0.0032 (0.0005) & +0.025 (0.024) & 0.307 & +0.0109 (0.0010) & 6.36e-30 & 0.966 \\ 11 GPT-4 (2023-04) & 0.0032 (0.0005) & +0.025 (0.024) & 0.307 & +0.0109 (0.0010) & 6.36e-30 & 0.966 \\
12 o1 (2024-10) & 0.0049 (0.0006) & +0.103 (0.039) & 0.008 & +0.0115 (0.0018) & 2.88e-10 & 0.951 \\ 12 o1 (2024-10) & 0.0049 (0.0006) & +0.103 (0.039) & 0.008 & +0.0115 (0.0018) & 2.88e-10 & 0.951 \\
13 \bottomrule 13 \bottomrule
14−\end{tabular} 14+\end{tabular}}
15−\begin{tablenotes}\footnotesize\item Equation~\eqref{eq:its}; each event is coded as the first full month after the public release. Slopes are monthly log growth rates. A HAC $p$ printed as 0.000 is below 0.0005.\end{tablenotes} 15+\begin{tablenotes}\footnotesize\item Equation~\eqref{eq:its}; each event is coded as the first full month after the public release. Slopes are monthly log growth rates.\end{tablenotes}
16 \end{threeparttable}\end{table} 16 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_landmarks.tex +15 −15
@@ -1,28 +1,28 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/selection_report.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/selection_report.json
2 \begin{table}[htbp]\centering\caption{Composition of the landmark set by area and by publication year.}\label{tab:p9-landmarks} 2 \begin{table}[htbp]\centering\caption{Composition of the landmark set by area and by publication year.}\label{tab:p9-landmarks}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4−\begin{tabular}{lrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrr}
5 \toprule 5 \toprule
6 \textbf{Group} & \textbf{Level} & \textbf{Landmarks} \\ 6 \textbf{Group} & \textbf{Level} & \textbf{Landmarks} \\
7 \midrule 7 \midrule
8−Area & Artificial Intelligence and Machine Learning & 234 \\ 8+Area & Artificial Intelligence and Machine Learning & 233 \\
9−Area & Perception, Language, Robotics and Interaction & 207 \\ 9+Area & Perception, Language, Robotics and Interaction & 208 \\
10−Area & Data, Information and Distributed Systems & 152 \\ 10+Area & Data, Information and Distributed Systems & 151 \\
11 Area & Security, Privacy and Trust & 125 \\ 11 Area & Security, Privacy and Trust & 125 \\
12 Area & Hardware, Architecture and Emerging Computing & 125 \\ 12 Area & Hardware, Architecture and Emerging Computing & 125 \\
13 Area & Software, Programming Languages and Formal Methods & 100 \\ 13 Area & Software, Programming Languages and Formal Methods & 100 \\
14−Area & Computational Science and Discovery & 100 \\ 14+Area & Computational Science and Discovery & 97 \\
15 Area & Theory of Computation & 50 \\ 15 Area & Theory of Computation & 50 \\
16−Year & 2018 & 108 \\ 16+Year & 2018 & 121 \\
17−Year & 2019 & 107 \\ 17+Year & 2019 & 115 \\
18 Year & 2020 & 106 \\ 18 Year & 2020 & 106 \\
19−Year & 2021 & 87 \\ 19+Year & 2021 & 93 \\
20−Year & 2022 & 92 \\ 20+Year & 2022 & 102 \\
21−Year & 2023 & 128 \\ 21+Year & 2023 & 146 \\
22−Year & 2024 & 135 \\ 22+Year & 2024 & 150 \\
23−Year & 2025 & 111 \\ 23+Year & 2025 & 106 \\
24−Year & 2026 & 219 \\ 24+Year & 2026 & 150 \\
25 \bottomrule 25 \bottomrule
26−\end{tabular} 26+\end{tabular}}
27 \begin{tablenotes}\footnotesize\item Selection by field-normalised impact within category and year with per-area quotas (Part IV); the specialist review of the set (checkpoint H-3) is pending, so the composition is reported without any assessment of the works.\end{tablenotes} 27 \begin{tablenotes}\footnotesize\item Selection by field-normalised impact within category and year with per-area quotas (Part IV); the specialist review of the set (checkpoint H-3) is pending, so the composition is reported without any assessment of the works.\end{tablenotes}
28 \end{threeparttable}\end{table} 28 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_llm_partners.tex +4 −4
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv
2 \begin{table}[htbp]\centering\caption{Categories most often co-assigned with Large Language Models, by span.}\label{tab:p9-llm-partners} 2 \begin{table}[htbp]\centering\caption{Categories most often co-assigned with Large Language Models, by span.}\label{tab:p9-llm-partners}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4−\begin{tabular}{lrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrr}
5 \toprule 5 \toprule
6 \textbf{Partner category} & \textbf{Works, 2018--2022} & \textbf{Works, 2023--2026} & \textbf{Ratio} \\ 6 \textbf{Partner category} & \textbf{Works, 2018--2022} & \textbf{Works, 2023--2026} & \textbf{Ratio} \\
7 \midrule 7 \midrule
@@ -14,13 +14,13 @@ Information Retrieval & 20{,}069 & 59{,}453 & 2.96 \\
14 Software Engineering & 4{,}793 & 55{,}862 & 11.65 \\ 14 Software Engineering & 4{,}793 & 55{,}862 & 11.65 \\
15 AI Safety and Alignment & 2{,}505 & 46{,}899 & 18.72 \\ 15 AI Safety and Alignment & 2{,}505 & 46{,}899 & 18.72 \\
16 Machine Learning Theory & 10{,}228 & 37{,}210 & 3.64 \\ 16 Machine Learning Theory & 10{,}228 & 37{,}210 & 3.64 \\
17−AI Agents and Autonomous Systems & 1{,}097 & 35{,}482 & 32.34 \\ 17+AI Agents and Autonomous Syst. & 1{,}097 & 35{,}482 & 32.34 \\
18 Generative AI & 3{,}218 & 34{,}832 & 10.82 \\ 18 Generative AI & 3{,}218 & 34{,}832 & 10.82 \\
19 Cybersecurity & 4{,}824 & 32{,}240 & 6.68 \\ 19 Cybersecurity & 4{,}824 & 32{,}240 & 6.68 \\
20 Distributed Computing & 3{,}005 & 29{,}709 & 9.89 \\ 20 Distributed Computing & 3{,}005 & 29{,}709 & 9.89 \\
21 Human-Computer Interaction & 2{,}544 & 26{,}526 & 10.43 \\ 21 Human-Computer Interaction & 2{,}544 & 26{,}526 & 10.43 \\
22 Reinforcement Learning & 1{,}723 & 22{,}085 & 12.82 \\ 22 Reinforcement Learning & 1{,}723 & 22{,}085 & 12.82 \\
23 \bottomrule 23 \bottomrule
24−\end{tabular} 24+\end{tabular}}
25 \begin{tablenotes}\footnotesize\item Works carrying both the LLM label and the partner label; spans split by calendar year; the second span is incomplete.\end{tablenotes} 25 \begin{tablenotes}\footnotesize\item Works carrying both the LLM label and the partner label; spans split by calendar year; the second span is incomplete.\end{tablenotes}
26 \end{threeparttable}\end{table} 26 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_modularity.tex +3 −3
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/modularity_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/modularity_yearly.csv
2 \begin{table}[htbp]\centering\caption{Modularity of the yearly category citation-flow network at the category and area partitions, and the within-category self-share of citations.}\label{tab:p9-modularity} 2 \begin{table}[htbp]\centering\caption{Modularity of the yearly category citation-flow network at the category and area partitions, and the within-category self-share of citations.}\label{tab:p9-modularity}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4−\begin{tabular}{lrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrr}
5 \toprule 5 \toprule
6 \textbf{Year} & \textbf{Internal citations} & \textbf{Q (categories)} & \textbf{Q (areas)} & \textbf{Self-share (\%)} \\ 6 \textbf{Year} & \textbf{Internal citations} & \textbf{Q (categories)} & \textbf{Q (areas)} & \textbf{Self-share (\%)} \\
7 \midrule 7 \midrule
@@ -15,6 +15,6 @@
15 2025 & 7{,}477{,}998 & 0.5059 & 0.4593 & 60.19 \\ 15 2025 & 7{,}477{,}998 & 0.5059 & 0.4593 & 60.19 \\
16 2026 & 4{,}558{,}848 & 0.5004 & 0.4615 & 58.93 \\ 16 2026 & 4{,}558{,}848 & 0.5004 & 0.4615 & 58.93 \\
17 \bottomrule 17 \bottomrule
18−\end{tabular} 18+\end{tabular}}
19 \begin{tablenotes}\footnotesize\item Equation~\eqref{eq:modularity} at the fixed partitions; the citation counts are internal references of works of the citing year whose two ends have a primary category. The 2018 network is small because few cited works of 2018 or later existed; 2026 is incomplete.\end{tablenotes} 19 \begin{tablenotes}\footnotesize\item Equation~\eqref{eq:modularity} at the fixed partitions; the citation counts are internal references of works of the citing year whose two ends have a primary category. The 2018 network is small because few cited works of 2018 or later existed; 2026 is incomplete.\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_openness.tex +5 −5
@@ -1,9 +1,9 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_yearly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_yearly.csv
2 \begin{table}[htbp]\centering\caption{Openness and metadata indicators by publication year: arXiv linkage, preprint share, open access, abstract availability and document type (per cent of eligible works).}\label{tab:p9-openness} 2 \begin{table}[htbp]\centering\caption{Openness and metadata indicators by publication year: arXiv linkage, preprint share, open access, abstract availability and document type (per cent of eligible works).}\label{tab:p9-openness}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4−\begin{tabular}{lrrrrrrrrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Year} & \textbf{Works} & \textbf{DBLP (\%)} & \textbf{arXiv-linked (\%)} & \textbf{Preprint type (\%)} & \textbf{Open access (\%)} & \textbf{Abstract (\%)} & \textbf{Conference (\%)} & \textbf{Article (\%)} & \textbf{Mean refs.} \\ 6+\textbf{Year} & \textbf{Works} & \textbf{DBLP (\%)} & \textbf{arXiv (\%)} & \textbf{Preprint (\%)} & \textbf{OA (\%)} & \textbf{Abstract (\%)} & \textbf{Conf. (\%)} & \textbf{Article (\%)} & \textbf{Mean refs.} \\
7 \midrule 7 \midrule
8 2018 & 642{,}849 & 50.4 & 5.6 & 4.0 & 39.5 & 70.0 & 32.4 & 50.9 & 18.1 \\ 8 2018 & 642{,}849 & 50.4 & 5.6 & 4.0 & 39.5 & 70.0 & 32.4 & 50.9 & 18.1 \\
9 2019 & 695{,}369 & 52.8 & 7.2 & 4.7 & 43.0 & 71.3 & 32.9 & 50.9 & 19.8 \\ 9 2019 & 695{,}369 & 52.8 & 7.2 & 4.7 & 43.0 & 71.3 & 32.9 & 50.9 & 19.8 \\
@@ -15,6 +15,6 @@
15 2025 & 1{,}065{,}828 & 46.1 & 13.4 & 10.8 & 59.4 & 79.2 & 29.3 & 51.1 & 17.4 \\ 15 2025 & 1{,}065{,}828 & 46.1 & 13.4 & 10.8 & 59.4 & 79.2 & 29.3 & 51.1 & 17.4 \\
16 2026 & 901{,}651 & 38.8 & 19.1 & 21.3 & 66.4 & 70.8 & 21.6 & 47.2 & 10.9 \\ 16 2026 & 901{,}651 & 38.8 & 19.1 & 21.3 & 66.4 & 70.8 & 21.6 & 47.2 & 10.9 \\
17 \bottomrule 17 \bottomrule
18−\end{tabular} 18+\end{tabular}}
19−\begin{tablenotes}\footnotesize\item arXiv-linked: the work is linked to an arXiv e-print (any version); preprint type: the surviving record's OpenAlex type is preprint; open access: any OA location in OpenAlex. Mean refs.: declared references per work, which falls in recent years because references are indexed with a lag. 2026 is incomplete.\end{tablenotes} 19+\begin{tablenotes}\footnotesize\item arXiv: the work is linked to an arXiv e-print (any version); Preprint: the surviving record's OpenAlex type is preprint; OA: any open-access location in OpenAlex; Conf.: conference paper. Mean refs.: declared references per work, which falls in recent years because references are indexed with a lag. 2026 is incomplete.\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_periods.tex +4 −4
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_monthly.csv 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_monthly.csv
2 \begin{table}[htbp]\centering\caption{The eligible corpus by protocol period: completeness, source membership and document type.}\label{tab:p9-periods} 2 \begin{table}[htbp]\centering\caption{The eligible corpus by protocol period: completeness, source membership and document type.}\label{tab:p9-periods}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4−\begin{tabular}{lrr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrr}
5 \toprule 5 \toprule
6 \textbf{Indicator} & \textbf{Baseline} & \textbf{Post} \\ 6 \textbf{Indicator} & \textbf{Baseline} & \textbf{Post} \\
7 \midrule 7 \midrule
@@ -19,6 +19,6 @@ Type: preprint (\%) & 5.29 & 11.85 \\
19 Type: book chapter (\%) & 5.41 & 4.29 \\ 19 Type: book chapter (\%) & 5.41 & 4.29 \\
20 Type: dissertation (\%) & 3.99 & 2.74 \\ 20 Type: dissertation (\%) & 3.99 & 2.74 \\
21 \bottomrule 21 \bottomrule
22−\end{tabular} 22+\end{tabular}}
23−\begin{tablenotes}\footnotesize\item Baseline: first date 2018-01-01 to 2022-11-29; post: 2022-11-30 to 2026-11-02 (right-truncated, see Part III). Percentages are over all eligible works of the period. The first row is a count.\end{tablenotes} 23+\begin{tablenotes}\footnotesize\item Baseline: first date 2018-01-01 to 2022-11-29; post: 2022-11-30 to 2026-11-02 (right-truncated, see Part III). Percentages are over all eligible works of the period; the first row is a count.\end{tablenotes}
24 \end{threeparttable}\end{table} 24 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_total_robustness.tex +3 −3
@@ -1,7 +1,7 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2 \begin{table}[htbp]\centering\caption{Robustness diagnostics of the structural-change analysis of the total monthly series.}\label{tab:p9-total-robustness} 2 \begin{table}[htbp]\centering\caption{Robustness diagnostics of the structural-change analysis of the total monthly series.}\label{tab:p9-total-robustness}
3−\begin{threeparttable}\small 3+\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4−\begin{tabular}{lr} 4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lr}
5 \toprule 5 \toprule
6 \textbf{Diagnostic} & \textbf{Total series} \\ 6 \textbf{Diagnostic} & \textbf{Total series} \\
7 \midrule 7 \midrule
@@ -18,6 +18,6 @@ BOCPD: max P(run length $\le$ 3) over 2022-12 to 2023-03; MAP resets & 0.033; no
18 Last complete month 2026-03: level (p); slope (p); Bai--Perron & -0.009 (0.723); +0.0108 (1.1e-30); 2022-04-01 \\ 18 Last complete month 2026-03: level (p); slope (p); Bai--Perron & -0.009 (0.723); +0.0108 (1.1e-30); 2022-04-01 \\
19 Last complete month 2026-08: level (p); slope (p); Bai--Perron & +0.004 (0.870); +0.0098 (7.4e-18); 2022-02-01 \\ 19 Last complete month 2026-08: level (p); slope (p); Bai--Perron & +0.004 (0.870); +0.0098 (7.4e-18); 2022-02-01 \\
20 \bottomrule 20 \bottomrule
21−\end{tabular} 21+\end{tabular}}
22 \begin{tablenotes}\footnotesize\item Placebo ranks follow equation~\eqref{eq:placebo}; the baseline-only rank excludes the true event from the candidate set, so a value of zero means that no baseline month yields a larger $t$-statistic. Bai--Perron on the seasonally adjusted log series with trimming $h$; PELT with the $\ell_2$ cost; BOCPD with hazard 1/60 (Part IV).\end{tablenotes} 22 \begin{tablenotes}\footnotesize\item Placebo ranks follow equation~\eqref{eq:placebo}; the baseline-only rank excludes the true event from the candidate set, so a value of zero means that no baseline month yields a larger $t$-statistic. Bai--Perron on the seasonally adjusted log series with trimming $h$; PELT with the $\ell_2$ cost; BOCPD with hazard 1/60 (Part IV).\end{tablenotes}
23 \end{threeparttable}\end{table} 23 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_unknown_breaks.tex +11 −14
@@ -1,20 +1,16 @@
1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2−\begin{longtable}{lrrrrrr} 2+\begin{table}[p]\centering\rotatebox{90}{\begin{minipage}{0.92\textheight}\centering\renewcommand{\arraystretch}{0.9}\caption{Data-driven break and changepoint dates by category, and whether any falls in the H3 window (October 2022 to June 2023).}\label{tab:p9-unknown-breaks}
3−\caption{Data-driven break and changepoint dates by category, and whether any falls in the H3 window (October 2022 to June 2023).}\label{tab:p9-unknown-breaks}\\ 3+\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4+\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
4 \toprule 5 \toprule
5−\textbf{Category} & \textbf{Bai--Perron (BIC)} & \textbf{Bai--Perron (LWZ)} & \textbf{PELT} & \textbf{BOCPD resets} & \textbf{BIC break in window} & \textbf{PELT in window} \\ 6+\textbf{Category} & \textbf{Bai--Perron (BIC)} & \textbf{Bai--Perron (LWZ)} & \textbf{PELT} & \textbf{BOCPD resets} & \textbf{BIC in window} & \textbf{PELT in window} \\
6 \midrule 7 \midrule
7−\endfirsthead 8+AI Agents and Autonomous Syst. & 2022-07, 2024-07 & 2022-07, 2024-07 & 2023-12, 2025-08 & none & no & no \\
8−\toprule
9−\textbf{Category} & \textbf{Bai--Perron (BIC)} & \textbf{Bai--Perron (LWZ)} & \textbf{PELT} & \textbf{BOCPD resets} & \textbf{BIC break in window} & \textbf{PELT in window} \\
10−\midrule
11−\endhead
12−AI Agents and Autonomous Systems & 2022-07, 2024-07 & 2022-07, 2024-07 & 2023-12, 2025-08 & none & no & no \\
13 AI Safety and Alignment & 2021-06, 2022-09 & 2022-07 & 2020-02, 2024-02 & none & no & no \\ 9 AI Safety and Alignment & 2021-06, 2022-09 & 2022-07 & 2020-02, 2024-02 & none & no & no \\
14 Accelerators and AI Hardware & 2024-11 & 2024-11 & 2023-04, 2025-01 & none & no & yes \\ 10 Accelerators and AI Hardware & 2024-11 & 2024-11 & 2023-04, 2025-01 & none & no & yes \\
15−Algorithms and Data Structures & 2023-04 & 2023-04 & 2023-08, 2025-08 & none & yes & no \\ 11+Algorithms and Data Struct. & 2023-04 & 2023-04 & 2023-08, 2025-08 & none & yes & no \\
16 Applied Cryptography & 2022-07 & 2022-07 & 2022-11, 2024-12 & none & no & yes \\ 12 Applied Cryptography & 2022-07 & 2022-07 & 2022-11, 2024-12 & none & no & yes \\
17−Autonomous Scientific Discovery & 2020-02, 2022-06, 2024-07 & 2022-05 & 2020-02, 2023-12 & none & no & no \\ 13+Autonomous Sci. Discovery & 2020-02, 2022-06, 2024-07 & 2022-05 & 2020-02, 2023-12 & none & no & no \\
18 Blockchain Systems & 2020-04 & none & 2019-02, 2022-12 & 2019-03 & no & yes \\ 14 Blockchain Systems & 2020-04 & none & 2019-02, 2022-12 & 2019-03 & no & yes \\
19 Cloud Computing & 2022-11, 2025-01 & 2023-05 & 2025-01 & 2025-02 & yes & no \\ 15 Cloud Computing & 2022-11, 2025-01 & 2023-05 & 2025-01 & 2025-02 & yes & no \\
20 Compilers & 2023-04 & 2023-04 & 2023-10, 2025-10 & 2021-04 & yes & no \\ 16 Compilers & 2023-04 & 2023-04 & 2023-10, 2025-10 & 2021-04 & yes & no \\
@@ -40,7 +36,7 @@ Machine Learning Theory & 2020-05, 2022-07 & 2021-07 & 2020-02, 2023-12 & none &
40 Multimodal AI & 2022-04 & 2022-04 & 2020-12, 2023-12 & none & no & no \\ 36 Multimodal AI & 2022-04 & 2022-04 & 2020-12, 2023-12 & none & no & no \\
41 Natural Language Processing & 2022-07 & 2022-07 & 2023-10 & none & no & no \\ 37 Natural Language Processing & 2022-07 & 2022-07 & 2023-10 & none & no & no \\
42 Operating Systems & 2023-09 & 2023-09 & 2024-11, 2026-01 & 2024-01 & no & no \\ 38 Operating Systems & 2023-09 & 2023-09 & 2024-11, 2026-01 & 2024-01 & no & no \\
43−Privacy-Preserving Computation & 2022-07 & 2022-07 & 2020-12, 2023-12 & none & no & no \\ 39+Privacy-Preserving Comp. & 2022-07 & 2022-07 & 2020-12, 2023-12 & none & no & no \\
44 Programming Languages & 2022-04, 2024-06 & 2024-08 & 2023-10, 2025-10 & none & no & no \\ 40 Programming Languages & 2022-04, 2024-06 & 2024-08 & 2023-10, 2025-10 & none & no & no \\
45 Quantum Computing & 2022-01, 2025-04 & 2024-04 & 2023-05, 2025-04 & none & no & yes \\ 41 Quantum Computing & 2022-01, 2025-04 & 2024-04 & 2023-05, 2025-04 & none & no & yes \\
46 Reinforcement Learning & 2021-07, 2024-12 & 2024-12 & 2021-01, 2024-12 & none & no & no \\ 42 Reinforcement Learning & 2021-07, 2024-12 & 2024-12 & 2021-01, 2024-12 & none & no & no \\
@@ -50,5 +46,6 @@ Software Engineering & 2022-07 & 2022-07 & 2023-03, 2025-01 & none & no & yes \\
50 Speech and Audio Computing & 2023-05 & 2023-05 & 2023-05, 2025-12 & none & yes & yes \\ 46 Speech and Audio Computing & 2023-05 & 2023-05 & 2023-05, 2025-12 & none & yes & yes \\
51 Sustainable Computing & 2022-07 & 2022-07 & 2022-11, 2024-12 & none & no & yes \\ 47 Sustainable Computing & 2022-07 & 2022-07 & 2022-11, 2024-12 & none & no & yes \\
52 \bottomrule 48 \bottomrule
53−\multicolumn{7}{p{0.95\linewidth}}{\footnotesize Bai--Perron on the seasonally adjusted log series with trimming $h = 15$ months (no break possible after April 2025); PELT with the $\ell_2$ cost and a six-month minimum segment; BOCPD resets as defined in Part IV. The window test is the one pre-specified in H3; Bai--Perron dates carry no $p$-value.}\\ 49+\end{tabular}}
54−\end{longtable} 50+\begin{tablenotes}\footnotesize\item Bai--Perron on the seasonally adjusted log series with trimming $h = 15$ months (no break possible after April 2025); PELT with the $\ell_2$ cost and a six-month minimum segment; BOCPD resets as defined in Part IV. The window test is the one pre-specified in H3; Bai--Perron dates carry no $p$-value.\end{tablenotes}
51+\end{threeparttable}\end{minipage}}\end{table}
modified manuscript/tables/tab_reference_coverage.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/reference_coverage_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/reference_coverage_yearly.csv
2 \begin{table}[htbp]\centering\caption{Reference coverage by citing year: declared, resolved, internal and external references of eligible works.}\label{tab:reference_coverage} 2 \begin{table}[htbp]\centering\caption{Reference coverage by citing year: declared, resolved, internal and external references of eligible works.}\label{tab:reference_coverage}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrr} 4 \begin{tabular}{lrrrrrrr}
modified manuscript/tables/tab_security_counts.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/category_counts_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2 \begin{longtable}{lrrrrrrrrrr} 2 \begin{longtable}{lrrrrrrrrrr}
3 \caption{Eligible works in the five security-and-privacy categories by publication year: works carrying the category (all) and works whose primary category it is (prim.).}\label{tab:security_counts}\\ 3 \caption{Eligible works in the five security-and-privacy categories by publication year: works carrying the category (all) and works whose primary category it is (prim.).}\label{tab:security_counts}\\
4 \toprule 4 \toprule
modified manuscript/tables/tab_security_landmarks.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./literature_synthesis/landmarks/security_privacy_landmarks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/security_privacy_landmarks.csv
2 \begin{table}[htbp]\centering\caption{Composition of the automatically selected landmark set of the security-and-privacy area, by category.}\label{tab:security_landmarks} 2 \begin{table}[htbp]\centering\caption{Composition of the automatically selected landmark set of the security-and-privacy area, by category.}\label{tab:security_landmarks}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
modified manuscript/tables/tab_security_llm_cooccurrence.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/category_cooccurrence_yearly.csv, ./results/graph/category_counts_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2 \begin{longtable}{lrrrrrrrrrrrrrr} 2 \begin{longtable}{lrrrrrrrrrrrrrr}
3 \caption{Co-classification of security-and-privacy works with the LLM, AI-safety and AI-agents categories, by publication year: number of works carrying both categories and share of the security category's works.}\label{tab:security_llm_cooccurrence}\\ 3 \caption{Co-classification of security-and-privacy works with the LLM, AI-safety and AI-agents categories, by publication year: number of works carrying both categories and share of the security category's works.}\label{tab:security_llm_cooccurrence}\\
4 \toprule 4 \toprule
modified manuscript/tables/tab_security_summary.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/graph/category_counts_yearly.csv, ./results/econometrics/breaks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv
2 \begin{table}[htbp]\centering\caption{Growth and structural-change summary for the five security-and-privacy categories (multi-label counts).}\label{tab:security_summary} 2 \begin{table}[htbp]\centering\caption{Growth and structural-change summary for the five security-and-privacy categories (multi-label counts).}\label{tab:security_summary}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrrrr}
modified manuscript/tables/tab_source_types.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/top_sources_by_period.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_sources_by_period.csv
2 \begin{table}[htbp]\centering\caption{Distribution of works over source types among the listed sources, by period (per cent).}\label{tab:source_types} 2 \begin{table}[htbp]\centering\caption{Distribution of works over source types among the listed sources, by period (per cent).}\label{tab:source_types}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrr} 4 \begin{tabular}{lrrrrrrr}
modified manuscript/tables/tab_systems_categories.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/cagr_by_category.csv, ./results/econometrics/breaks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv
2 \begin{table}[htbp]\centering\caption{The systems and infrastructure categories of Part VI: primary-category output, compound annual growth, and structural-change estimates of the monthly log-volume series.}\label{tab:systems_categories} 2 \begin{table}[htbp]\centering\caption{The systems and infrastructure categories of Part VI: primary-category output, compound annual growth, and structural-change estimates of the monthly log-volume series.}\label{tab:systems_categories}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
added manuscript/tables/tab_theory_breaks.tex +17 −0
@@ -0,0 +1,17 @@
1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv
2+\begin{table}[htbp]\centering\caption{Structural-change estimates at 2022-12 for the six theory and software categories (primary-label monthly series).}\label{tab:theory_breaks}
3+\begin{threeparttable}\small
4+\begin{tabular}{lrrrrrr}
5+\toprule
6+\textbf{Category} & \textbf{Level} & \textbf{p} & \textbf{Slope} & \textbf{p } & \textbf{Placebo p} & \textbf{Bai--Perron} \\
7+\midrule
8+Algorithms, data struct. & -0.045 & 0.039 & 0.0098 & 0.000 & 0.062 & 2023-04 \\
9+Comput. complexity & -0.068 & 0.000 & 0.0142 & 0.000 & 0.062 & 2023-04 \\
10+Progr. languages & -0.040 & 0.381 & 0.0123 & 0.000 & 0.431 & 2022-04, 2024-06 \\
11+Compilers & -0.028 & 0.471 & 0.0180 & 0.000 & 0.215 & 2023-04 \\
12+Formal verification & -0.109 & 0.029 & 0.0177 & 0.000 & 0.246 & 2022-02, 2024-07 \\
13+Software eng. & 0.048 & 0.124 & 0.0162 & 0.000 & 0.154 & 2022-07 \\
14+\bottomrule
15+\end{tabular}
16+\begin{tablenotes}\footnotesize\item Level and Slope: level and slope change at 2022-12 (first p: level, second p: slope). Interrupted-time-series estimates on the log monthly count of works with the category as primary label, event month 2022-12, HAC p-values (Part IV); placebo p: share of baseline-period pseudo-events whose slope t-statistic exceeds the observed one (Section~\ref{sec:m-placebo}); Bai--Perron: break months selected by BIC (results/econometrics/breaks.csv, which also reports PELT and BOCPD dates).\end{tablenotes}
17+\end{threeparttable}\end{table}
modified manuscript/tables/tab_theory_counts.tex +17 −20
@@ -1,23 +1,20 @@
1−% generated by tables/make_tables.py from ./results/graph/category_counts_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2−\begin{longtable}{lrrrrrrrrrrrr} 2+\begin{table}[htbp]\centering\caption{Eligible works in the six theory and software categories by publication year: works carrying the category (multi-label).}\label{tab:theory_counts}
3−\caption{Eligible works in the six theory and software categories by publication year: works carrying the category (all) and works whose primary category it is (prim.).}\label{tab:theory_counts}\\ 3+\begin{threeparttable}\small
4+\begin{tabular}{lrrrrrr}
4 \toprule 5 \toprule
5−\textbf{Year} & \textbf{Algo. (all)} & \textbf{Compl. (all)} & \textbf{PL (all)} & \textbf{Comp. (all)} & \textbf{FV (all)} & \textbf{SE (all)} & \textbf{Algo. (prim.)} & \textbf{Compl. (prim.)} & \textbf{PL (prim.)} & \textbf{Comp. (prim.)} & \textbf{FV (prim.)} & \textbf{SE (prim.)} \\ 6+\textbf{Year} & \textbf{Algo.} & \textbf{Compl.} & \textbf{PL} & \textbf{Comp.} & \textbf{FV} & \textbf{SE} \\
6 \midrule 7 \midrule
7−\endfirsthead 8+2018 & 60{,}011 & 16{,}996 & 16{,}735 & 5{,}705 & 12{,}283 & 44{,}359 \\
8−\toprule 9+2019 & 62{,}158 & 18{,}186 & 16{,}286 & 5{,}645 & 11{,}692 & 45{,}573 \\
9−\textbf{Year} & \textbf{Algo. (all)} & \textbf{Compl. (all)} & \textbf{PL (all)} & \textbf{Comp. (all)} & \textbf{FV (all)} & \textbf{SE (all)} & \textbf{Algo. (prim.)} & \textbf{Compl. (prim.)} & \textbf{PL (prim.)} & \textbf{Comp. (prim.)} & \textbf{FV (prim.)} & \textbf{SE (prim.)} \\ 10+2020 & 63{,}646 & 18{,}459 & 16{,}126 & 5{,}576 & 11{,}009 & 45{,}901 \\
10−\midrule 11+2021 & 64{,}815 & 18{,}524 & 15{,}687 & 5{,}721 & 10{,}938 & 44{,}735 \\
11−\endhead 12+2022 & 63{,}882 & 18{,}335 & 15{,}186 & 5{,}646 & 9{,}950 & 46{,}006 \\
12−2018 & 60{,}011 & 16{,}996 & 16{,}735 & 5{,}705 & 12{,}283 & 44{,}359 & 29{,}148 & 3{,}837 & 4{,}390 & 725 & 5{,}307 & 29{,}016 \\ 13+2023 & 67{,}630 & 19{,}464 & 16{,}681 & 6{,}351 & 10{,}676 & 55{,}422 \\
13−2019 & 62{,}158 & 18{,}186 & 16{,}286 & 5{,}645 & 11{,}692 & 45{,}573 & 29{,}252 & 3{,}952 & 4{,}474 & 689 & 4{,}802 & 28{,}935 \\ 14+2024 & 74{,}137 & 22{,}675 & 17{,}703 & 7{,}306 & 11{,}391 & 68{,}087 \\
14−2020 & 63{,}646 & 18{,}459 & 16{,}126 & 5{,}576 & 11{,}009 & 45{,}901 & 29{,}376 & 3{,}872 & 4{,}126 & 737 & 4{,}535 & 27{,}756 \\ 15+2025 & 88{,}268 & 29{,}301 & 20{,}734 & 9{,}521 & 13{,}656 & 87{,}235 \\
15−2021 & 64{,}815 & 18{,}524 & 15{,}687 & 5{,}721 & 10{,}938 & 44{,}735 & 29{,}023 & 3{,}765 & 3{,}978 & 709 & 4{,}511 & 24{,}671 \\ 16+2026 & 76{,}192 & 25{,}776 & 21{,}376 & 9{,}915 & 14{,}494 & 81{,}133 \\
16−2022 & 63{,}882 & 18{,}335 & 15{,}186 & 5{,}646 & 9{,}950 & 46{,}006 & 28{,}202 & 3{,}541 & 3{,}664 & 642 & 3{,}995 & 23{,}725 \\
17−2023 & 67{,}630 & 19{,}464 & 16{,}681 & 6{,}351 & 10{,}676 & 55{,}422 & 28{,}531 & 3{,}499 & 3{,}876 & 692 & 4{,}385 & 26{,}245 \\
18−2024 & 74{,}137 & 22{,}675 & 17{,}703 & 7{,}306 & 11{,}391 & 68{,}087 & 29{,}957 & 3{,}824 & 3{,}846 & 768 & 4{,}233 & 30{,}533 \\
19−2025 & 88{,}268 & 29{,}301 & 20{,}734 & 9{,}521 & 13{,}656 & 87{,}235 & 33{,}795 & 4{,}209 & 4{,}193 & 767 & 4{,}623 & 36{,}381 \\
20−2026 & 76{,}192 & 25{,}776 & 21{,}376 & 9{,}915 & 14{,}494 & 81{,}133 & 28{,}776 & 4{,}067 & 3{,}691 & 621 & 4{,}866 & 34{,}261 \\
21 \bottomrule 17 \bottomrule
22−\multicolumn{13}{p{0.95\linewidth}}{\footnotesize Counts of eligible works (Part III) per publication year, summed over the pre/baseline/post period labels of the result file; 2026 is incomplete. `all' counts every work to which the multi-label classifier assigns the category; `prim.' counts works whose highest-scoring category it is (Part IV). Algo. = algorithms and data structures, Compl. = computational complexity, PL = programming languages, Comp. = compilers, FV = formal verification, SE = software engineering.}\\ 18+\end{tabular}
23−\end{longtable} 19+\begin{tablenotes}\footnotesize\item Counts of eligible works (Part III) per publication year, summed over the pre/baseline/post period labels of the result file; 2026 is incomplete. The multi-label count includes every work to which the classifier assigns the category; the primary count only works whose highest-scoring category it is (Part IV). Algo. = algorithms and data structures, Compl. = computational complexity, PL = programming languages, Comp. = compilers, FV = formal verification, SE = software engineering.\end{tablenotes}
20+\end{threeparttable}\end{table}
added manuscript/tables/tab_theory_counts_primary.tex +20 −0
@@ -0,0 +1,20 @@
1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2+\begin{table}[htbp]\centering\caption{Eligible works in the six theory and software categories by publication year: works whose primary category it is.}\label{tab:theory_counts_primary}
3+\begin{threeparttable}\small
4+\begin{tabular}{lrrrrrr}
5+\toprule
6+\textbf{Year} & \textbf{Algo.} & \textbf{Compl.} & \textbf{PL} & \textbf{Comp.} & \textbf{FV} & \textbf{SE} \\
7+\midrule
8+2018 & 29{,}148 & 3{,}837 & 4{,}390 & 725 & 5{,}307 & 29{,}016 \\
9+2019 & 29{,}252 & 3{,}952 & 4{,}474 & 689 & 4{,}802 & 28{,}935 \\
10+2020 & 29{,}376 & 3{,}872 & 4{,}126 & 737 & 4{,}535 & 27{,}756 \\
11+2021 & 29{,}023 & 3{,}765 & 3{,}978 & 709 & 4{,}511 & 24{,}671 \\
12+2022 & 28{,}202 & 3{,}541 & 3{,}664 & 642 & 3{,}995 & 23{,}725 \\
13+2023 & 28{,}531 & 3{,}499 & 3{,}876 & 692 & 4{,}385 & 26{,}245 \\
14+2024 & 29{,}957 & 3{,}824 & 3{,}846 & 768 & 4{,}233 & 30{,}533 \\
15+2025 & 33{,}795 & 4{,}209 & 4{,}193 & 767 & 4{,}623 & 36{,}381 \\
16+2026 & 28{,}776 & 4{,}067 & 3{,}691 & 621 & 4{,}866 & 34{,}261 \\
17+\bottomrule
18+\end{tabular}
19+\begin{tablenotes}\footnotesize\item Counts of eligible works (Part III) per publication year, summed over the pre/baseline/post period labels of the result file; 2026 is incomplete. The multi-label count includes every work to which the classifier assigns the category; the primary count only works whose highest-scoring category it is (Part IV). Algo. = algorithms and data structures, Compl. = computational complexity, PL = programming languages, Comp. = compilers, FV = formal verification, SE = software engineering.\end{tablenotes}
20+\end{threeparttable}\end{table}
modified manuscript/tables/tab_theory_landmark_audit.tex +9 −9
@@ -1,20 +1,20 @@
1−% generated by tables/make_tables.py from ./literature_synthesis/agent_G/contributions.csv, ./literature_synthesis/landmarks/theory_landmarks.csv, ./literature_synthesis/landmarks/software_pl_landmarks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_G/contributions.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/theory_landmarks.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/software_pl_landmarks.csv
2 \begin{table}[htbp]\centering\caption{Specialist audit of the automatically selected landmark candidates of the theory and software areas, by verdict and primary category.}\label{tab:theory_landmark_audit} 2 \begin{table}[htbp]\centering\caption{Specialist audit of the automatically selected landmark candidates of the theory and software areas, by verdict and primary category.}\label{tab:theory_landmark_audit}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrrrrrr} 4 \begin{tabular}{lrrrrrrrrr}
5 \toprule 5 \toprule
6−\textbf{Verdict} & \textbf{Algo.} & \textbf{Compl.} & \textbf{PL} & \textbf{Comp.} & \textbf{FV} & \textbf{SE} & \textbf{Total} & \textbf{Post-period} & \textbf{Id mismatch} \\ 6+\textbf{Verdict} & \textbf{Algo.} & \textbf{Compl.} & \textbf{PL} & \textbf{Comp.} & \textbf{FV} & \textbf{SE} & \textbf{Total} & \textbf{Post} & \textbf{Id mism.} \\
7 \midrule 7 \midrule
8−Research (in scope) & 3 & 2 & 3 & 6 & 8 & 7 & 29 & 16 & 7 \\ 8+Research & 3 & 2 & 3 & 6 & 8 & 7 & 29 & 16 & 7 \\
9−Survey / report (in scope) & 1 & 0 & 0 & 2 & 1 & 4 & 8 & 3 & 0 \\ 9+Survey/report & 1 & 0 & 0 & 2 & 1 & 4 & 8 & 3 & 0 \\
10−Textbook / chapter & 9 & 3 & 5 & 1 & 3 & 1 & 22 & 8 & 0 \\ 10+Textbook & 9 & 3 & 5 & 1 & 3 & 1 & 22 & 8 & 0 \\
11−Re-deposited classic & 5 & 3 & 6 & 0 & 7 & 3 & 24 & 11 & 0 \\ 11+Re-deposited & 5 & 3 & 6 & 0 & 7 & 3 & 24 & 11 & 0 \\
12 Thesis & 1 & 2 & 6 & 6 & 4 & 8 & 27 & 10 & 0 \\ 12 Thesis & 1 & 2 & 6 & 6 & 4 & 8 & 27 & 10 & 0 \\
13−Metaphor metaheuristic & 6 & 0 & 0 & 0 & 0 & 0 & 6 & 4 & 0 \\ 13+Metaheuristic & 6 & 0 & 0 & 0 & 0 & 0 & 6 & 4 & 0 \\
14 Misclassified & 0 & 15 & 5 & 10 & 1 & 2 & 33 & 19 & 0 \\ 14 Misclassified & 0 & 15 & 5 & 10 & 1 & 2 & 33 & 19 & 0 \\
15−Duplicate record & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 \\ 15+Duplicate & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 \\
16 All candidates & 25 & 25 & 25 & 25 & 25 & 25 & 150 & 71 & 7 \\ 16 All candidates & 25 & 25 & 25 & 25 & 25 & 25 & 150 & 71 & 7 \\
17 \bottomrule 17 \bottomrule
18 \end{tabular} 18 \end{tabular}
19−\begin{tablenotes}\footnotesize\item Candidates are the works with the highest field-normalised 36-month citation score within each primary category (floor of fifteen per category) plus the 200 most cited works overall (\texttt{literature\_synthesis/select\_landmarks.py}). Verdicts were assigned by Agent G from title, venue and type metadata and, where available, the abstract (never the full text); see literature_synthesis/agent_G/contributions.csv. `Id mismatch': the OpenAlex identifier of the record, resolved live on 2026-11-03, returned a different work whose citation count matches the record's 36-month window (literature_synthesis/agent_G/verification_lookups_raw.txt).\end{tablenotes} 19+\begin{tablenotes}\footnotesize\item Research = in-scope research contribution; Survey/report = in-scope survey, handbook or competition report; Re-deposited = classic work re-deposited under a recent record date; Post = post-period works; Id mism. = identifier mismatch. Candidates are the works with the highest field-normalised 36-month citation score within each primary category (floor of fifteen per category) plus the 200 most cited works overall (\texttt{literature\_synthesis/select\_landmarks.py}). Verdicts were assigned by Agent G from title, venue and type metadata and, where available, the abstract (never the full text); see literature\_synthesis/agent\_G/contributions.csv. `Id mismatch': the OpenAlex identifier of the record, resolved live on 2026-11-03, returned a different work whose citation count matches the record's 36-month window (literature\_synthesis/agent\_G/verification\_lookups\_raw.txt).\end{tablenotes}
20 \end{threeparttable}\end{table} 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_theory_landmarks_discussed.tex +42 −42
@@ -1,51 +1,51 @@
1−% generated by tables/make_tables.py from ./literature_synthesis/agent_G/contributions.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_G/contributions.csv
2−\begin{longtable}{lrrrrr} 2+\begin{longtable}{lrrrr}
3 \caption{Landmark candidates of the theory and software areas retained as in-scope research or survey contributions, with the contribution type judged from the abstract or metadata.}\label{tab:theory_landmarks_discussed}\\ 3 \caption{Landmark candidates of the theory and software areas retained as in-scope research or survey contributions, with the contribution type judged from the abstract or metadata.}\label{tab:theory_landmarks_discussed}\\
4 \toprule 4 \toprule
5−\textbf{Category} & \textbf{Year} & \textbf{Type} & \textbf{Work} & \textbf{Contribution} & \textbf{Id mismatch} \\ 5+\textbf{Work (* = identifier mismatch)} & \textbf{Cat.} & \textbf{Year} & \textbf{Type} & \textbf{Contrib.} \\
6 \midrule 6 \midrule
7 \endfirsthead 7 \endfirsthead
8 \toprule 8 \toprule
9−\textbf{Category} & \textbf{Year} & \textbf{Type} & \textbf{Work} & \textbf{Contribution} & \textbf{Id mismatch} \\ 9+\textbf{Work (* = identifier mismatch)} & \textbf{Cat.} & \textbf{Year} & \textbf{Type} & \textbf{Contrib.} \\
10 \midrule 10 \midrule
11 \endhead 11 \endhead
12−Algo. & 2022 & article & A Dynamic Survey of Graph Labeling & survey & no \\ 12+A Dynamic Survey of Graph Labeling & Algo. & 2022 & article & survey \\
13−Algo. & 2024 & article & Targeted Branching for the Maximum Independent Set Problem Using Graph Neural Networks & engineering & yes \\ 13+Targeted Branching for the Maximum Indepe\dots * & Algo. & 2024 & article & engineering \\
14−Algo. & 2025 & conf. & Fast Kd-Trees for the Kullback-Leibler Divergence and Other Decomposable Bregman Dive\dots & method & yes \\ 14+Fast Kd-Trees for the Kullback-Leibler Di\dots * & Algo. & 2025 & conf. & method \\
15−Algo. & 2026 & article & Multiresource-Constrained Flexible Job Shop Scheduling With Fixture Pallets and Setup\dots & method & no \\ 15+Multiresource-Constrained Flexible Job Sh\dots & Algo. & 2026 & article & method \\
16−Comp. & 2018 & article & Machine Learning in Compiler Optimization & survey & no \\ 16+Machine Learning in Compiler Optimization & Comp. & 2018 & article & survey \\
17−Comp. & 2018 & article & A Survey on Compiler Autotuning using Machine Learning & survey & no \\ 17+A Survey on Compiler Autotuning using Mac\dots & Comp. & 2018 & article & survey \\
18−Comp. & 2018 & chapter & Automated Code Generation for Maximizing Performance of Detailed Chemistry Calculatio\dots & engineering & no \\ 18+Automated Code Generation for Maximizing\dots & Comp. & 2018 & chapter & engineering \\
19−Comp. & 2019 & conf. & Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Code & engineering & no \\ 19+Tiramisu: A Polyhedral Compiler for Expre\dots & Comp. & 2019 & conf. & engineering \\
20−Comp. & 2020 & chapter & ExaStencils: Advanced Multigrid Solver Generation & engineering & no \\ 20+ExaStencils: Advanced Multigrid Solver Ge\dots & Comp. & 2020 & chapter & engineering \\
21−Comp. & 2021 & conf. & MLIR: Scaling Compiler Infrastructure for Domain Specific Computation & engineering & no \\ 21+MLIR: Scaling Compiler Infrastructure for\dots & Comp. & 2021 & conf. & engineering \\
22−Comp. & 2024 & article & LLM4VV: Developing LLM-driven testsuite for compiler validation & benchmark & no \\ 22+LLM4VV: Developing LLM-driven testsuite f\dots & Comp. & 2024 & article & benchmark \\
23−Comp. & 2025 & conf. & LLM Compiler: Foundation Language Models for Compiler Optimization & engineering & no \\ 23+LLM Compiler: Foundation Language Models\dots & Comp. & 2025 & conf. & engineering \\
24−Compl. & 2019 & conf. & The Reachability Problem for Petri Nets Is Not Elementary & theory & no \\ 24+The Reachability Problem for Petri Nets I\dots & Compl. & 2019 & conf. & theory \\
25−Compl. & 2026 & article & Solving SAT by restricted spiking neural P systems with temporal division rules & theory & no \\ 25+Solving SAT by restricted spiking neural\dots & Compl. & 2026 & article & theory \\
26−FV & 2018 & preprint & Efficient Formal Safety Analysis of Neural Networks & method & no \\ 26+Efficient Formal Safety Analysis of Neura\dots & FV & 2018 & preprint & method \\
27−FV & 2019 & conf. & The Marabou Framework for Verification and Analysis of Deep Neural Networks & engineering & no \\ 27+The Marabou Framework for Verification an\dots & FV & 2019 & conf. & engineering \\
28−FV & 2019 & article & An abstract domain for certifying neural networks & method & no \\ 28+An abstract domain for certifying neural\dots & FV & 2019 & article & method \\
29−FV & 2020 & conf. & VerX: Safety Verification of Smart Contracts & method & no \\ 29+VerX: Safety Verification of Smart Contracts & FV & 2020 & conf. & method \\
30−FV & 2022 & conf. & cvc5: A Versatile and Industrial-Strength SMT Solver & engineering & no \\ 30+cvc5: A Versatile and Industrial-Strength\dots & FV & 2022 & conf. & engineering \\
31−FV & 2023 & article & Exploiting Generative AI to Scale up Intelligent Tutoring Systems & engineering & yes \\ 31+Exploiting Generative AI to Scale up Inte\dots * & FV & 2023 & article & engineering \\
32−FV & 2024 & preprint & Leveraging Answer Set Programming for Continuous Monitoring, Fault Detection, and Exp\dots & method & yes \\ 32+Leveraging Answer Set Programming for Con\dots * & FV & 2024 & preprint & method \\
33−FV & 2024 & conf. & State of the Art in Software Verification and Witness Validation: SV-COMP 2024 & benchmark & no \\ 33+State of the Art in Software Verification\dots & FV & 2024 & conf. & benchmark \\
34−FV & 2026 & article & Reward Interfaces with Best-Effort Implementations & theory & no \\ 34+Reward Interfaces with Best-Effort Implem\dots & FV & 2026 & article & theory \\
35−PL & 2018 & conf. & ZEUS: Analyzing Safety of Smart Contracts & method & no \\ 35+ZEUS: Analyzing Safety of Smart Contracts & PL & 2018 & conf. & method \\
36−PL & 2024 & article & Enhancing Static Analysis for Practical Bug Detection: An LLM-Integrated Approach & method & no \\ 36+Enhancing Static Analysis for Practical B\dots & PL & 2024 & article & method \\
37−PL & 2024 & article & WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models & method & no \\ 37+WhiteFox: White-Box Compiler Fuzzing Empo\dots & PL & 2024 & article & method \\
38−SE & 2018 & article & Engenharia de Software & survey & no \\ 38+Engenharia de Software & SE & 2018 & article & survey \\
39−SE & 2018 & chapter & Mutation Testing Advances: An Analysis and Survey & survey & no \\ 39+Mutation Testing Advances: An Analysis an\dots & SE & 2018 & chapter & survey \\
40−SE & 2020 & article & Machine Learning Testing: Survey, Landscapes and Horizons & survey & no \\ 40+Machine Learning Testing: Survey, Landsca\dots & SE & 2020 & article & survey \\
41−SE & 2021 & preprint & A Direction-Aware Study of LLM-Based Code Translation Across Eight Programming Languages & empirical & yes \\ 41+A Direction-Aware Study of LLM-Based Code\dots * & SE & 2021 & preprint & empirical \\
42−SE & 2022 & article & The Astropy Project : Sustaining and Growing a Community-oriented Open-source Project\dots & engineering & no \\ 42+The Astropy Project : Sustaining and Grow\dots & SE & 2022 & article & engineering \\
43−SE & 2024 & article & Software Testing With Large Language Models: Survey, Landscape, and Vision & survey & no \\ 43+Software Testing With Large Language Mode\dots & SE & 2024 & article & survey \\
44−SE & 2025 & conf. & Detecting Functionality-Specific Vulnerabilities via Retrieving Individual Functional\dots & method & yes \\ 44+Detecting Functionality-Specific Vulnerab\dots * & SE & 2025 & conf. & method \\
45−SE & 2025 & conf. & On Assessing ML Model Robustness: A Methodological Framework (Academic Track) & engineering & yes \\ 45+On Assessing ML Model Robustness: A Metho\dots * & SE & 2025 & conf. & engineering \\
46−SE & 2025 & article & Can Open Large Language Models Catch Vulnerabilities? & empirical & no \\ 46+Can Open Large Language Models Catch Vuln\dots & SE & 2025 & article & empirical \\
47−SE & 2026 & article & The Effects of Generative AI on High-Skilled Work: Evidence from Three Field Experime\dots & empirical & no \\ 47+The Effects of Generative AI on High-Skil\dots & SE & 2026 & article & empirical \\
48−SE & 2026 & article & MSTDP: a multi-scale temporal deep learning framework for just-in-time software defec\dots & method & no \\ 48+MSTDP: a multi-scale temporal deep learni\dots & SE & 2026 & article & method \\
49 \bottomrule 49 \bottomrule
50−\multicolumn{6}{p{0.95\linewidth}}{\footnotesize Contribution types follow the protocol (theory, method, empirical, benchmark, engineering, survey). `Id mismatch' as in Table~\ref{tab:theory_landmark_audit}. Titles are shortened.}\\ 50+\multicolumn{5}{p{0.95\linewidth}}{\footnotesize Contribution types follow the protocol (theory, method, empirical, benchmark, engineering, survey). * = identifier mismatch as in Table~\ref{tab:theory_landmark_audit}. Titles are shortened.}\\
51 \end{longtable} 51 \end{longtable}
modified manuscript/tables/tab_theory_llm_cooccurrence.tex +17 −20
@@ -1,23 +1,20 @@
1−% generated by tables/make_tables.py from ./results/graph/category_cooccurrence_yearly.csv, ./results/graph/category_counts_yearly.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv, /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2−\begin{longtable}{lrrrrrrrrrrrr} 2+\begin{table}[htbp]\centering\caption{Share of theory and software works co-classified with the LLM category, by publication year (per cent of the category's multi-label count).}\label{tab:theory_llm_cooccurrence}
3−\caption{Co-classification of theory and software works with the LLM category, by publication year: number of works carrying both categories and share of the category's multi-label count.}\label{tab:theory_llm_cooccurrence}\\ 3+\begin{threeparttable}\small
4+\begin{tabular}{lrrrrrr}
4 \toprule 5 \toprule
5−\textbf{Year} & \textbf{Algo. x LLM} & \textbf{Algo. x LLM (\%)} & \textbf{Compl. x LLM} & \textbf{Compl. x LLM (\%)} & \textbf{PL x LLM} & \textbf{PL x LLM (\%)} & \textbf{Comp. x LLM} & \textbf{Comp. x LLM (\%)} & \textbf{FV x LLM} & \textbf{FV x LLM (\%)} & \textbf{SE x LLM} & \textbf{SE x LLM (\%)} \\ 6+\textbf{Year} & \textbf{Algo. (\%)} & \textbf{Compl. (\%)} & \textbf{PL (\%)} & \textbf{Comp. (\%)} & \textbf{FV (\%)} & \textbf{SE (\%)} \\
6 \midrule 7 \midrule
7−\endfirsthead 8+2018 & 0.8 & 0.8 & 1.2 & 1.3 & 0.3 & 0.8 \\
8−\toprule 9+2019 & 1.0 & 0.9 & 1.7 & 1.7 & 0.4 & 1.2 \\
9−\textbf{Year} & \textbf{Algo. x LLM} & \textbf{Algo. x LLM (\%)} & \textbf{Compl. x LLM} & \textbf{Compl. x LLM (\%)} & \textbf{PL x LLM} & \textbf{PL x LLM (\%)} & \textbf{Comp. x LLM} & \textbf{Comp. x LLM (\%)} & \textbf{FV x LLM} & \textbf{FV x LLM (\%)} & \textbf{SE x LLM} & \textbf{SE x LLM (\%)} \\ 10+2020 & 1.2 & 1.1 & 2.2 & 2.2 & 0.6 & 1.9 \\
10−\midrule 11+2021 & 1.2 & 1.2 & 3.1 & 2.6 & 0.5 & 2.6 \\
11−\endhead 12+2022 & 1.3 & 1.3 & 4.2 & 3.1 & 0.7 & 4.0 \\
12−2018 & 486 & 0.8 & 135 & 0.8 & 195 & 1.2 & 77 & 1.3 & 34 & 0.3 & 365 & 0.8 \\ 13+2023 & 1.9 & 2.1 & 6.8 & 5.5 & 1.6 & 7.8 \\
13−2019 & 599 & 1.0 & 171 & 0.9 & 270 & 1.7 & 94 & 1.7 & 48 & 0.4 & 527 & 1.2 \\ 14+2024 & 3.1 & 3.6 & 11.3 & 9.5 & 4.0 & 14.1 \\
14−2020 & 738 & 1.2 & 194 & 1.1 & 362 & 2.2 & 124 & 2.2 & 64 & 0.6 & 862 & 1.9 \\ 15+2025 & 5.3 & 5.3 & 18.3 & 14.9 & 7.9 & 21.2 \\
15−2021 & 794 & 1.2 & 214 & 1.2 & 489 & 3.1 & 149 & 2.6 & 56 & 0.5 & 1{,}177 & 2.6 \\ 16+2026 & 8.4 & 8.6 & 25.7 & 22.5 & 13.2 & 28.9 \\
16−2022 & 827 & 1.3 & 231 & 1.3 & 642 & 4.2 & 176 & 3.1 & 72 & 0.7 & 1{,}862 & 4.0 \\
17−2023 & 1{,}318 & 1.9 & 402 & 2.1 & 1{,}127 & 6.8 & 348 & 5.5 & 172 & 1.6 & 4{,}349 & 7.8 \\
18−2024 & 2{,}334 & 3.1 & 815 & 3.6 & 2{,}007 & 11.3 & 693 & 9.5 & 451 & 4.0 & 9{,}576 & 14.1 \\
19−2025 & 4{,}716 & 5.3 & 1{,}543 & 5.3 & 3{,}792 & 18.3 & 1{,}420 & 14.9 & 1{,}081 & 7.9 & 18{,}459 & 21.2 \\
20−2026 & 6{,}381 & 8.4 & 2{,}211 & 8.6 & 5{,}493 & 25.7 & 2{,}231 & 22.5 & 1{,}907 & 13.2 & 23{,}478 & 28.9 \\
21 \bottomrule 17 \bottomrule
22−\multicolumn{13}{p{0.95\linewidth}}{\footnotesize A work is co-classified when the multi-label classifier assigns both categories (Part IV). Shares are relative to all eligible works carrying the theory/software category in the year. Non-zero counts before 2022 reflect the lexical breadth of the LLM category (language-model and pretrained-model vocabulary), not retroactive labelling. 2026 is incomplete.}\\ 18+\end{tabular}
23−\end{longtable} 19+\begin{tablenotes}\footnotesize\item A work is co-classified when the multi-label classifier assigns both categories (Part IV). Shares are relative to all eligible works carrying the theory/software category in the year; counts in Table~\ref{tab:theory_llm_cooccurrence_counts}. Non-zero shares before 2022 reflect the lexical breadth of the LLM category (language-model and pretrained-model vocabulary), not retroactive labelling. 2026 is incomplete.\end{tablenotes}
20+\end{threeparttable}\end{table}
added manuscript/tables/tab_theory_llm_cooccurrence_counts.tex +20 −0
@@ -0,0 +1,20 @@
1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv
2+\begin{table}[htbp]\centering\caption{Number of theory and software works co-classified with the LLM category, by publication year.}\label{tab:theory_llm_cooccurrence_counts}
3+\begin{threeparttable}\small
4+\begin{tabular}{lrrrrrr}
5+\toprule
6+\textbf{Year} & \textbf{Algo. (n)} & \textbf{Compl. (n)} & \textbf{PL (n)} & \textbf{Comp. (n)} & \textbf{FV (n)} & \textbf{SE (n)} \\
7+\midrule
8+2018 & 486 & 135 & 195 & 77 & 34 & 365 \\
9+2019 & 599 & 171 & 270 & 94 & 48 & 527 \\
10+2020 & 738 & 194 & 362 & 124 & 64 & 862 \\
11+2021 & 794 & 214 & 489 & 149 & 56 & 1{,}177 \\
12+2022 & 827 & 231 & 642 & 176 & 72 & 1{,}862 \\
13+2023 & 1{,}318 & 402 & 1{,}127 & 348 & 172 & 4{,}349 \\
14+2024 & 2{,}334 & 815 & 2{,}007 & 693 & 451 & 9{,}576 \\
15+2025 & 4{,}716 & 1{,}543 & 3{,}792 & 1{,}420 & 1{,}081 & 18{,}459 \\
16+2026 & 6{,}381 & 2{,}211 & 5{,}493 & 2{,}231 & 1{,}907 & 23{,}478 \\
17+\bottomrule
18+\end{tabular}
19+\begin{tablenotes}\footnotesize\item Counts of eligible works carrying both the LLM category and the column category; shares in Table~\ref{tab:theory_llm_cooccurrence}.\end{tablenotes}
20+\end{threeparttable}\end{table}
modified manuscript/tables/tab_theory_summary.tex +11 −11
@@ -1,17 +1,17 @@
1−% generated by tables/make_tables.py from ./results/graph/category_counts_yearly.csv, ./results/econometrics/breaks.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv
2−\begin{table}[htbp]\centering\caption{Growth and structural-change summary for the six theory and software categories (multi-label counts).}\label{tab:theory_summary} 2+\begin{table}[htbp]\centering\caption{Growth summary for the six theory and software categories (multi-label counts).}\label{tab:theory_summary}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4−\begin{tabular}{lrrrrrrrrrrr} 4+\begin{tabular}{lrrrr}
5 \toprule 5 \toprule
6−\textbf{Category} & \textbf{Works 2018} & \textbf{Works 2025} & \textbf{CAGR 18--22 (\%)} & \textbf{CAGR 23--25 (\%)} & \textbf{Level 2022-12} & \textbf{p} & \textbf{Slope change} & \textbf{p } & \textbf{Placebo p (slope)} & \textbf{Bai--Perron} & \textbf{PELT} \\ 6+\textbf{Category} & \textbf{Works 2018} & \textbf{Works 2025} & \textbf{CAGR 18--22 (\%)} & \textbf{CAGR 23--25 (\%)} \\
7 \midrule 7 \midrule
8−Algorithms and data structures & 60{,}011 & 88{,}268 & 1.6 & 14.2 & -0.045 & 0.039 & 0.0098 & 0.000 & 0.062 & 2023-04-01 & 2023-08, 2025-08 \\ 8+Algorithms, data struct. & 60{,}011 & 88{,}268 & 1.6 & 14.2 \\
9−Computational complexity & 16{,}996 & 29{,}301 & 1.9 & 22.7 & -0.068 & 0.000 & 0.0142 & 0.000 & 0.062 & 2023-04-01 & 2023-10, 2025-01 \\ 9+Computational complexity & 16{,}996 & 29{,}301 & 1.9 & 22.7 \\
10−Programming languages & 16{,}735 & 20{,}734 & -2.4 & 11.5 & -0.040 & 0.381 & 0.0123 & 0.000 & 0.431 & 2022-04-01, 2024-06-01 & 2023-10, 2025-10 \\ 10+Programming languages & 16{,}735 & 20{,}734 & -2.4 & 11.5 \\
11−Compilers & 5{,}705 & 9{,}521 & -0.3 & 22.4 & -0.028 & 0.471 & 0.0180 & 0.000 & 0.215 & 2023-04-01 & 2023-10, 2025-10 \\ 11+Compilers & 5{,}705 & 9{,}521 & -0.3 & 22.4 \\
12−Formal verification & 12{,}283 & 13{,}656 & -5.1 & 13.1 & -0.109 & 0.029 & 0.0177 & 0.000 & 0.246 & 2022-02-01, 2024-07-01 & 2024-03, 2025-09 \\ 12+Formal verification & 12{,}283 & 13{,}656 & -5.1 & 13.1 \\
13−Software engineering & 44{,}359 & 87{,}235 & 0.9 & 25.5 & 0.048 & 0.124 & 0.0162 & 0.000 & 0.154 & 2022-07-01 & 2023-03, 2025-01 \\ 13+Software engineering & 44{,}359 & 87{,}235 & 0.9 & 25.5 \\
14 \bottomrule 14 \bottomrule
15 \end{tabular} 15 \end{tabular}
16−\begin{tablenotes}\footnotesize\item Works: eligible works carrying the category (multi-label). CAGR: compound annual growth of the multi-label count between the years shown (2026 excluded as incomplete). Level and slope change: interrupted-time-series estimates on the log monthly count of works with the category as primary label, event month 2022-12, with HAC p-values (Part IV); placebo p: share of baseline-period pseudo-events whose slope t-statistic exceeds the observed one (Section~\ref{sec:m-placebo}); Bai--Perron and PELT: estimated break dates (results/econometrics/breaks.csv). The ITS series are primary-label counts while the CAGR columns use multi-label counts; the two populations differ (Table~\ref{tab:theory_counts}).\end{tablenotes} 16+\begin{tablenotes}\footnotesize\item Works: eligible works carrying the category (multi-label). CAGR: compound annual growth of the multi-label count between the years shown (2026 excluded as incomplete). The primary-label population differs (Table~\ref{tab:theory_counts_primary}).\end{tablenotes}
17 \end{threeparttable}\end{table} 17 \end{threeparttable}\end{table}
modified manuscript/tables/tab_top_cited.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/top_cited_by_year.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_cited_by_year.csv
2 \begin{longtable}{lrrrr} 2 \begin{longtable}{lrrrr}
3 \caption{The ten most cited works of each publication year by 36-month window citations (c36), with total citations to date.}\label{tab:top_cited}\\ 3 \caption{The ten most cited works of each publication year by 36-month window citations (c36), with total citations to date.}\label{tab:top_cited}\\
4 \toprule 4 \toprule
modified manuscript/tables/tab_top_institutions.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/top_institutions_by_period.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_institutions_by_period.csv
2 \begin{table}[htbp]\centering\caption{The twenty-five institutions with the largest fractional output in the post period, with their baseline output.}\label{tab:top_institutions} 2 \begin{table}[htbp]\centering\caption{The twenty-five institutions with the largest fractional output in the post period, with their baseline output.}\label{tab:top_institutions}
3 \begin{threeparttable}\small 3 \begin{threeparttable}\small
4 \begin{tabular}{lrrrrr} 4 \begin{tabular}{lrrrrr}
modified manuscript/tables/tab_top_sources.tex +1 −1
@@ -1,4 +1,4 @@
1−% generated by tables/make_tables.py from ./results/bibliometrics/top_sources_by_period.csv 1+% generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/top_sources_by_period.csv
2 \begin{longtable}{lrrrrrr} 2 \begin{longtable}{lrrrrrr}
3 \caption{The twenty largest sources (venues) by period, with OpenAlex source type.}\label{tab:top_sources}\\ 3 \caption{The twenty largest sources (venues) by period, with OpenAlex source type.}\label{tab:top_sources}\\
4 \toprule 4 \toprule
modified tables/MAKE_TABLES_INCIDENT_2026-11-03.md +2 −3
@@ -6,9 +6,8 @@ inserted in the meantime, the slice crossed into `tables_part07b()` (Agent H) an
6 (ii) Agent E's own `tables_part05()` definition and (iii) the `tables_part09()` definition (21 `tab_p9_*.tex` tables). 6 (ii) Agent E's own `tables_part05()` definition and (iii) the `tables_part09()` definition (21 `tab_p9_*.tex` tables).
7 7
8 Repair done by Agent E at ~20:10: `tables_part07b()` generators rebuilt from the generated `.tex` files (regenerated output is 8 Repair done by Agent E at ~20:10: `tables_part07b()` generators rebuilt from the generated `.tex` files (regenerated output is
9−byte-identical to the 20:05 output for all three tables); `tables_part05()` restored; `tables_part09()` replaced by a 9+byte-identical to the 20:05 output for all three tables); `tables_part05()` restored; `tables_part09()` was temporarily replaced by a
10−**placeholder that only prints a warning** — the Part IX writer must re-append the real function (the existing `tab_p9_*.tex` 10+placeholder; **the Part IX writer re-appended the real function at ~20:20** (82 tables generated at 20:2x), so `TABLES.json` is complete again. Broken version kept at
11−files are untouched but are no longer listed in `TABLES.json` until then). Broken version kept at
12 `/tmp/wp44_tabs_before/make_tables.py.broken` (laptop, volatile). 11 `/tmp/wp44_tabs_before/make_tables.py.broken` (laptop, volatile).
13 12
14 Rule proposed: append-only edits at the end of the file (insert before `if __name__`), never slice-replace by anchors. 13 Rule proposed: append-only edits at the end of the file (insert before `if __name__`), never slice-replace by anchors.
modified tables/make_tables.py +280 −39
@@ -312,24 +312,24 @@ def tables_part05():
312 p = f"{B}/cagr_by_category.csv" 312 p = f"{B}/cagr_by_category.csv"
313 if os.path.exists(p): 313 if os.path.exists(p):
314 d = pd.read_csv(p).drop_duplicates("category"); d = d[d.category.isin(AI_CATS)].set_index("category").loc[AI_CATS].reset_index() 314 d = pd.read_csv(p).drop_duplicates("category"); d = d[d.category.isin(AI_CATS)].set_index("category").loc[AI_CATS].reset_index()
315− t = pd.DataFrame({"Category": d.category.map(AI_SHORT), "2018": d.n_2018, "2022": d.n_2022, "2023": d.n_2023, "2025": d.n_2025, "CAGR 18--22": d.cagr_baseline, "CAGR 23--25": d.cagr_post, "Share 2018": 100 * d.share_2018, "Share 2022": 100 * d.share_2022, "Share 2025": 100 * d.share_2025}) 315+ t = pd.DataFrame({"Category": d.category.map(AI_SHORT), "2018": d.n_2018, "2022": d.n_2022, "2025": d.n_2025, "CAGR 18--22": d.cagr_baseline, "CAGR 23--25": d.cagr_post, "Share 2018": 100 * d.share_2018, "Share 2025": 100 * d.share_2025})
316− write("tab_ai_growth", t, "Volume, compound annual growth and corpus share of the nine AI categories, baseline (2018--2022) and post (2023--2025) periods.", "tab:ai_growth", [p], fmt={"CAGR 18--22": "{:.3f}", "CAGR 23--25": "{:.3f}", "Share 2018": "{:.2f}", "Share 2022": "{:.2f}", "Share 2025": "{:.2f}"}, 316+ write("tab_ai_growth", t, "Volume, compound annual growth and corpus share of the nine AI categories, baseline (2018--2022) and post (2023--2025) periods.", "tab:ai_growth", [p], fmt={"CAGR 18--22": "{:.3f}", "CAGR 23--25": "{:.3f}", "Share 2018": "{:.2f}", "Share 2025": "{:.2f}"},
317 note="Counts and shares as stored in the source file (works whose primary category is the row category; shares in per cent of all eligible works of the year). CAGR as in Part IV, eq.~\\ref{eq:cagr}; the post-period CAGR uses the 2023 and 2025 end points. Category abbreviations: LLM = large language models; Foundation = foundation models; Generative = generative AI; Agents = AI agents; RL = reinforcement learning; DL arch. = deep-learning architectures; AI safety = AI safety and alignment.") 317 note="Counts and shares as stored in the source file (works whose primary category is the row category; shares in per cent of all eligible works of the year). CAGR as in Part IV, eq.~\\ref{eq:cagr}; the post-period CAGR uses the 2023 and 2025 end points. Category abbreviations: LLM = large language models; Foundation = foundation models; Generative = generative AI; Agents = AI agents; RL = reinforcement learning; DL arch. = deep-learning architectures; AI safety = AI safety and alignment.")
318 p = f"{G}/category_counts_yearly.csv" 318 p = f"{G}/category_counts_yearly.csv"
319 if os.path.exists(p): 319 if os.path.exists(p):
320− d = pd.read_csv(p); d = d[d.category_id.isin(AI_CATS) & (d.year <= 2026)].groupby(["category_id", "year"]).n_multilabel.sum().unstack("year").loc[AI_CATS] 320+ d = pd.read_csv(p); d = d[d.category_id.isin(AI_CATS) & d.year.isin([2018, 2020, 2022, 2023, 2024, 2025, 2026])].groupby(["category_id", "year"]).n_multilabel.sum().unstack("year").loc[AI_CATS]
321 d.columns = [str(c) for c in d.columns]; d = d.reset_index(); d["category_id"] = d.category_id.map(AI_SHORT); d = d.rename(columns={"category_id": "Category"}) 321 d.columns = [str(c) for c in d.columns]; d = d.reset_index(); d["category_id"] = d.category_id.map(AI_SHORT); d = d.rename(columns={"category_id": "Category"})
322− write("tab_ai_counts", d, "Yearly multi-label counts of the nine AI categories (all period rows summed; 2026 incomplete).", "tab:ai_counts", [p], note="Multi-label counts: a work counts in every category it is assigned to. The source file splits each year into period rows (baseline / pre / post relative to 30 November 2022); they are summed here. 2026 covers publications dated up to the snapshot of 14 October 2026. Category abbreviations as in Table~\\ref{tab:ai_growth}.") 322+ write("tab_ai_counts", d, "Multi-label counts of the nine AI categories in selected years (all period rows summed; 2026 incomplete).", "tab:ai_counts", [p], note="Multi-label counts: a work counts in every category it is assigned to. The source file splits each year into period rows (baseline / pre / post relative to 30 November 2022); they are summed here. 2026 covers publications dated up to the snapshot of 14 October 2026. Category abbreviations as in Table~\\ref{tab:ai_growth}.")
323 p = f"{E}/breaks.csv" 323 p = f"{E}/breaks.csv"
324 if os.path.exists(p): 324 if os.path.exists(p):
325 d = pd.read_csv(p); d = d[d.series.isin(["cat_" + c for c in AI_CATS])].set_index("series").loc[["cat_" + c for c in AI_CATS]].reset_index() 325 d = pd.read_csv(p); d = d[d.series.isin(["cat_" + c for c in AI_CATS])].set_index("series").loc[["cat_" + c for c in AI_CATS]].reset_index()
326 dates = lambda col: d[col].fillna("").astype(str).str.replace("-01;", ";").str.replace(r"-01$", "", regex=True).str.replace(";", "; ") 326 dates = lambda col: d[col].fillna("").astype(str).str.replace("-01;", ";").str.replace(r"-01$", "", regex=True).str.replace(";", "; ")
327− t = pd.DataFrame({"Category": d.series.str[4:].map(AI_SHORT), "Level": d.chatgpt_level, "p (level)": d.chatgpt_level_p, "Slope": d.chatgpt_slope, "p (slope)": d.chatgpt_slope_p, "Placebo p (level)": d.placebo_level_p, "Placebo p (slope)": d.placebo_slope_p, "Bai--Perron": dates("bp_breaks_bic"), "PELT": dates("pelt")}) 327+ t = pd.DataFrame({"Category": d.series.str[4:].map(AI_SHORT), "Level": d.chatgpt_level, "p": d.chatgpt_level_p, "Slope": d.chatgpt_slope, "p ": d.chatgpt_slope_p, "Pl. p (lev.)": d.placebo_level_p, "Pl. p (sl.)": d.placebo_slope_p, "Bai--Perron": dates("bp_breaks_bic").str.replace("; ", ";"), "PELT": dates("pelt").str.replace("; ", ";")})
328− write("tab_ai_breaks", t, "Structural change at 30 November 2022 in the nine AI categories: interrupted-time-series level and slope changes, placebo p-values, Bai--Perron and PELT break dates.", "tab:ai_breaks", [p], fmt={c: "{:.3f}" for c in ["Level", "p (level)", "Slope", "p (slope)", "Placebo p (level)", "Placebo p (slope)"]}, 328+ write("tab_ai_breaks", t, "Structural change at 30 November 2022 in the nine AI categories: interrupted-time-series level and slope changes, placebo p-values, Bai--Perron and PELT break dates.", "tab:ai_breaks", [p], fmt={c: "{:.3f}" for c in ["Level", "p", "Slope", "p ", "Pl. p (lev.)", "Pl. p (sl.)"]},
329− note="Monthly log counts, seasonally adjusted; HAC p-values (Part IV, Section~\\ref{sec:m-its}). Level change in log points of the monthly count at 2022-12; slope change in log points per month. Placebo p-values: share of placebo event dates (Section~\\ref{sec:m-placebo}) whose t-statistic exceeds the true one. Bai--Perron: break months selected by BIC with trimming h = 15 months; PELT: penalised exact linear-time change points. Categories are multi-label, so the series overlap. Category abbreviations as in Table~\\ref{tab:ai_growth}.") 329+ note="Monthly log counts, seasonally adjusted; HAC p-values (Part IV, Section~\\ref{sec:m-its}), each to the right of its estimate. Level change in log points of the monthly count at 2022-12; slope change in log points per month. Pl. p (lev.) and Pl. p (sl.): placebo p-values of the level and slope statistics, i.e. the share of placebo event dates (Section~\\ref{sec:m-placebo}) whose t-statistic exceeds the true one. Bai--Perron: break months selected by BIC with trimming h = 15 months; PELT: penalised exact linear-time change points. Categories are multi-label, so the series overlap. Category abbreviations as in Table~\\ref{tab:ai_growth}.")
330− t = pd.DataFrame({"Category": d.series.str[4:].map(AI_SHORT), "GPT-3 (2020-06)": d.gpt3_level, "p": d.gpt3_level_p, "DALL-E 2 (2022-05)": d.dalle2_level, "p ": d.dalle2_level_p, "GPT-4 (2023-04)": d.gpt4_level, "p ": d.gpt4_level_p, "o1 (2024-10)": d.o1_level, "p ": d.o1_level_p}) 330+ t = pd.DataFrame({"Category": d.series.str[4:].map(AI_SHORT), "GPT-3": d.gpt3_level, "p": d.gpt3_level_p, "DALL-E 2": d.dalle2_level, "p ": d.dalle2_level_p, "GPT-4": d.gpt4_level, "p ": d.gpt4_level_p, "o1": d.o1_level, "p ": d.o1_level_p})
331 write("tab_ai_altdates", t, "Interrupted-time-series level changes of the nine AI categories at the alternative event dates (GPT-3, DALL-E 2, GPT-4, o1).", "tab:ai_altdates", [p], fmt={c: "{:.3f}" for c in t.columns[1:]}, 331 write("tab_ai_altdates", t, "Interrupted-time-series level changes of the nine AI categories at the alternative event dates (GPT-3, DALL-E 2, GPT-4, o1).", "tab:ai_altdates", [p], fmt={c: "{:.3f}" for c in t.columns[1:]},
332− note="Each column pair is a separate ITS fit with the event moved to the stated month (Part IV, Section~\\ref{sec:m-altdates}); level change in log points, HAC p-value to its right. Category abbreviations as in Table~\\ref{tab:ai_growth}.") 332+ note="Each column pair is a separate ITS fit with the event moved to the release month of the named system: GPT-3 = 2020-06, DALL-E 2 = 2022-05, GPT-4 = 2023-04, o1 = 2024-10 (Part IV, Section~\\ref{sec:m-altdates}); level change in log points, HAC p-value to its right. Category abbreviations as in Table~\\ref{tab:ai_growth}.")
333 p = f"{G}/category_flows_yearly.csv" 333 p = f"{G}/category_flows_yearly.csv"
334 if os.path.exists(p): 334 if os.path.exists(p):
335 d = pd.read_csv(p); rows = [] 335 d = pd.read_csv(p); rows = []
@@ -342,21 +342,257 @@ def tables_part05():
342 p = f"{S}/agent_E/contributions.csv" 342 p = f"{S}/agent_E/contributions.csv"
343 if os.path.exists(p): 343 if os.path.exists(p):
344 d = pd.read_csv(p, dtype={"openalex_id": str}) 344 d = pd.read_csv(p, dtype={"openalex_id": str})
345− piv = pd.crosstab(d.primary_category.map(AI_NAMES), d.data_quality_flag).loc[[AI_NAMES[c] for c in AI_CATS]] 345+ piv = pd.crosstab(d.primary_category.map(AI_SHORT), d.data_quality_flag).loc[[AI_SHORT[c] for c in AI_CATS]]
346− piv["total"] = piv.sum(axis=1); piv = piv.reset_index().rename(columns={"primary_category": "Primary category"}) 346+ piv = piv.rename(columns={"ok": "OK", "no_abstract": "No abstr.", "identifier_mismatch": "Id. mism.", "abstract_mismatch": "Abstr. mism.", "year_implausible": "Year", "normalisation_artefact": "Norm.", "off_scope": "Off scope"})[["OK", "No abstr.", "Id. mism.", "Abstr. mism.", "Year", "Norm.", "Off scope"]]
347− write("tab_ai_landmark_flags", piv, "Specialist screening of the 234 AI/ML landmark candidates: records by primary category and data-quality flag.", "tab:ai_landmark_flags", [p], note="Flags assigned by Agent E from title, venue, identifiers, citation counts and (where available) the abstract: identifier\\_mismatch = title/abstract do not correspond to the arXiv identifier or citation count attached to the record; abstract\\_mismatch = stored abstract belongs to another work; year\\_implausible = OpenAlex year contradicts the first publication; normalisation\\_artefact = very small c36 with very large NCS36; off\\_scope = not an AI contribution; no\\_abstract = metadata only. `ok' records were judged from the abstract.") 347+ piv["Total"] = piv.sum(axis=1); piv = piv.reset_index().rename(columns={"primary_category": "Category"})
348− ct = pd.crosstab(d.primary_category.map(AI_NAMES), d.contribution_type).loc[[AI_NAMES[c] for c in AI_CATS]]; ct["total"] = ct.sum(axis=1); ct = ct.reset_index().rename(columns={"primary_category": "Primary category"}) 348+ write("tab_ai_landmark_flags", piv, "Specialist screening of the 234 AI/ML landmark candidates: records by primary category and data-quality flag.", "tab:ai_landmark_flags", [p], note="Flags assigned by Agent E from title, venue, identifiers, citation counts and (where available) the abstract: Id. mism. = title/abstract do not correspond to the arXiv identifier or citation count attached to the record; Abstr. mism. = stored abstract belongs to another work; Year = OpenAlex year contradicts the first publication; Norm. = very small c36 with very large NCS36 (normalisation artefact); Off scope = not an AI contribution; No abstr. = metadata only, otherwise unremarkable. OK records were judged from the abstract. Category abbreviations as in Table~\\ref{tab:ai_growth}.")
349− write("tab_ai_contribution_types", ct, "Contribution type of the 234 AI/ML landmark candidates by primary category (specialist judgement from abstract or metadata).", "tab:ai_contribution_types", [p], note="Types follow CLAUDE.md~\\S1 item 6: theory, method, empirical, benchmark, engineering, survey. Judged from the abstract for 190 records and from title/venue/type for 44 records without abstract (column judged\\_from of the source file).") 349+ ct = pd.crosstab(d.primary_category.map(AI_SHORT), d.contribution_type).loc[[AI_SHORT[c] for c in AI_CATS]]; ct.columns = [c.capitalize() for c in ct.columns]; ct["Total"] = ct.sum(axis=1); ct = ct.reset_index().rename(columns={"primary_category": "Category"})
350− f = d[["openalex_id", "year", "type", "primary_category", "c36", "ncs36", "contribution_type", "data_quality_flag"]].copy(); f["primary_category"] = f.primary_category.map(AI_SHORT); f["c36"] = f.c36.astype(int); f["year"] = f.year.astype(str); f["data_quality_flag"] = f.data_quality_flag.str.replace("_", " ") 350+ write("tab_ai_contribution_types", ct, "Contribution type of the 234 AI/ML landmark candidates by primary category (specialist judgement from abstract or metadata).", "tab:ai_contribution_types", [p], note="Types follow CLAUDE.md~\\S1 item 6: theory, method, empirical, benchmark, engineering, survey. Judged from the abstract for 190 records and from title/venue/type for 44 records without abstract (column judged\\_from of the source file). Category abbreviations as in Table~\\ref{tab:ai_growth}.")
351+ f = d[["openalex_id", "year", "type", "primary_category", "c36", "ncs36", "contribution_type", "data_quality_flag"]].copy(); f["primary_category"] = f.primary_category.map(AI_SHORT); f["c36"] = f.c36.astype(int); f["year"] = f.year.astype(str)
352+ f["type"] = f.type.map({"article": "art.", "conference-paper": "conf.", "preprint": "prepr.", "book-chapter": "chap.", "dissertation": "diss.", "review": "rev.", "book": "book", "report": "report"}).fillna(f.type)
353+ f["contribution_type"] = f.contribution_type.map({"engineering": "engin.", "benchmark": "bench."}).fillna(f.contribution_type)
354+ f["data_quality_flag"] = f.data_quality_flag.map({"ok": "OK", "no_abstract": "no abstr.", "identifier_mismatch": "id. mism.", "abstract_mismatch": "abstr. mism.", "year_implausible": "year", "normalisation_artefact": "norm.", "off_scope": "off scope"}).fillna(f.data_quality_flag)
351 f.columns = ["OpenAlex id", "Year", "Type", "Category", "c36", "NCS36", "Contribution", "Flag"] 355 f.columns = ["OpenAlex id", "Year", "Type", "Category", "c36", "NCS36", "Contribution", "Flag"]
352− write("tab_ai_landmarks", f, "The 234 AI/ML landmark candidates with the specialist's contribution type and data-quality flag (titles in literature\\_synthesis/agent\\_E/contributions.csv).", "tab:ai_landmarks", [p], fmt={"NCS36": "{:.1f}"}, longtable=True, note="Selection score and windows as in Part IV (Section~\\ref{sec:m-score}); c36 and NCS36 as stored in the landmark file. Category abbreviations as in Table~\\ref{tab:ai_growth}.") 356+ write("tab_ai_landmarks", f, "The 234 AI/ML landmark candidates with the specialist's contribution type and data-quality flag (titles in literature\\_synthesis/agent\\_E/contributions.csv).", "tab:ai_landmarks", [p], fmt={"NCS36": "{:.1f}"}, longtable=True, note="Selection score and windows as in Part IV (Section~\\ref{sec:m-score}); c36 and NCS36 as stored in the landmark file. Type: art. = article, conf. = conference paper, prepr. = preprint, chap. = book chapter, diss. = dissertation, rev. = review (OpenAlex types). Contribution: engin. = engineering, bench. = benchmark. Flags as in Table~\\ref{tab:ai_landmark_flags}; category abbreviations as in Table~\\ref{tab:ai_growth}.")
357+ # width fixes local to this part (post-processing of the generated files; write() itself is shared and unchanged)
358+ for name, a, b in [("tab_ai_breaks", "\\begin{threeparttable}\\small", "\\begin{threeparttable}\\footnotesize"), ("tab_ai_flows", "\\begin{longtable}{lrrrrrrrrr}", "\\begin{longtable}{@{}lrrrrrrrrr@{}}"), ("tab_ai_landmarks", "\\begin{longtable}{lrrrrrrr}", "\\begin{longtable}{@{}lrrrrrrr@{}}"), ("tab_ai_breaks", "\\begin{tabular}{lrrrrrrrr}", "\\begin{tabular}{@{}lrrrrrrrr@{}}")]:
359+ fp = os.path.join(OUT, name + ".tex")
360+ if os.path.exists(fp):
361+ txt = open(fp).read(); open(fp, "w").write(txt.replace(a, b))
362+
363+
364+# ---------------- Part IX (Empirical Results): tables appended by Agent L/I/J (Part IX writer), 2026-11-03; restored 20:30 after the concurrent-edit loss ----------------
365+def _p9_names():
366+ import yaml
367+ o = yaml.safe_load(open(f"{R}/taxonomy/ontology.yaml"))
368+ names = {c["id"]: c["name"] for c in o["categories"]}
369+ names.update({"ai_agents": "AI Agents and Autonomous Syst.", "algorithms": "Algorithms and Data Struct.", "autonomous_scientific_discovery": "Autonomous Sci. Discovery", "privacy_preserving_computation": "Privacy-Preserving Comp.",
370+ "deep_learning_architectures": "Deep Learning Architectures", "ai_accelerators": "Accelerators and AI Hardware", "hci": "Human-Computer Interaction", "nlp": "Natural Language Processing"})
371+ return names, {c["id"]: c["area"] for c in o["categories"]}, {a["id"]: a["name"] for a in o["areas"]}
372+
373+
374+_P9_AREA_SHORT = {"ai_ml": "AI & ML", "perception_interaction": "Perception & interaction", "software_pl": "Software & PL", "theory": "Theory", "data_distributed": "Data & distributed",
375+ "security_privacy": "Security & privacy", "hardware_emerging": "Hardware & emerging", "computational_science": "Computational science"}
376+_P9_AREA_ABBR = {"ai_ml": "AI/ML", "perception_interaction": "Percep.", "software_pl": "Softw.", "theory": "Theory", "data_distributed": "Data", "security_privacy": "Secur.", "hardware_emerging": "Hardw.", "computational_science": "Comp. sci."}
377+_P9_EVENTS = [("gpt3", "GPT-3 (2020-06)"), ("dalle2", "DALL$\\cdot$E 2 (2022-05)"), ("chatgpt", "ChatGPT (2022-12)"), ("gpt4", "GPT-4 (2023-04)"), ("o1", "o1 (2024-10)")]
378+
379+
380+def _p9_estp(e, p):
381+ return f"{e:+.3f} ({p:.3f})" if pd.notna(e) and pd.notna(p) else ""
382+
383+
384+def _p9_fit(name, size="\\footnotesize", colsep="4pt", rotate=False):
385+ """Post-process a generated table so that it fits the text block: font size, column separation, and either a
386+ width-capped \\resizebox (tabular only) or a 90-degree rotation of the whole threeparttable (for the 40-row tables)."""
387+ p = os.path.join(OUT, name + ".tex")
388+ if not os.path.exists(p): return
389+ s = open(p).read()
390+ if "\\begin{longtable}" in s: return
391+ s = s.replace("\\begin{threeparttable}\\small", f"\\begin{{threeparttable}}{size}\\setlength{{\\tabcolsep}}{{{colsep}}}")
392+ cap = "\\resizebox{\\ifdim\\width>\\linewidth\\linewidth\\else\\width\\fi}{!}{"
393+ s = s.replace("\\begin{tabular}", cap + "\\begin{tabular}", 1).replace("\\end{tabular}\n", "\\end{tabular}}\n", 1)
394+ if rotate:
395+ s = s.replace("\\begin{table}[htbp]\\centering\\caption{", "\\begin{table}[p]\\centering\\rotatebox{90}{\\begin{minipage}{0.92\\textheight}\\centering\\renewcommand{\\arraystretch}{0.9}\\caption{", 1)
396+ s = s.replace("\\end{threeparttable}\\end{table}", "\\end{threeparttable}\\end{minipage}}\\end{table}", 1)
397+ open(p, "w").write(s)
353 398
354 399
355 def tables_part09(): 400 def tables_part09():
356− """PLACEHOLDER (Agent E, 2026-11-03 ~20:10): the Part IX generator (21 tab_p9_*.tex tables, generated 20:05) was lost in the 401+ import numpy as np
357− concurrent edits of this file described above and must be re-appended by the Part IX writer; the existing tab_p9_*.tex files 402+ names, area, area_names = _p9_names(); B = f"{R}/results/bibliometrics"; G = f"{R}/results/graph"; E = f"{R}/results/econometrics"; X = f"{R}/results/emerging"
358− are left untouched meanwhile. Remove this placeholder when the real function is restored.""" 403+ # --- corpus by period (volume_monthly, baseline vs post) ---
359− print("WARNING: tables_part09() placeholder — Part IX table generator missing; existing tab_p9_*.tex not regenerated", file=sys.stderr) 404+ p = f"{B}/volume_monthly.csv"
405+ if os.path.exists(p):
406+ m = pd.read_csv(p); m = m[m.period.isin(["baseline", "post"])]; rows = []
407+ tot = m.groupby("period").n.sum()
408+ def share(mask, label):
409+ s = m[mask].groupby("period").n.sum().reindex(["baseline", "post"]).fillna(0) / tot * 100
410+ rows.append({"Indicator": label, "Baseline": float(s["baseline"]), "Post": float(s["post"])})
411+ rows.append({"Indicator": "Eligible works (count)", "Baseline": float(tot["baseline"]), "Post": float(tot["post"])})
412+ share(m.date_precision.eq("month"), "Month-precision first date (%)"); share(m.in_dblp.astype(bool), "DBLP-indexed (%)"); share(m.cs_primary.astype(bool), "OpenAlex primary field CS (%)")
413+ share(m.has_arxiv.astype(bool), "arXiv-linked (%)")
414+ for c, lab in [("n_abstract", "With abstract (%)"), ("n_with_refs", "With at least one reference (%)"), ("n_oa", "Open access (%)")]:
415+ s = m.groupby("period")[c].sum() / tot * 100; rows.append({"Indicator": lab, "Baseline": float(s["baseline"]), "Post": float(s["post"])})
416+ for ty, lab in [("article", "Type: article (%)"), ("conference-paper", "Type: conference paper (%)"), ("preprint", "Type: preprint (%)"), ("book-chapter", "Type: book chapter (%)"), ("dissertation", "Type: dissertation (%)")]:
417+ share(m.type.eq(ty), lab)
418+ t = pd.DataFrame(rows)
419+ for c in ("Baseline", "Post"): t[c] = [f"{v:,.0f}" if i == 0 else f"{v:.2f}" for i, v in enumerate(t[c])]
420+ write("tab_p9_periods", t, "The eligible corpus by protocol period: completeness, source membership and document type.", "tab:p9-periods", [p],
421+ note="Baseline: first date 2018-01-01 to 2022-11-29; post: 2022-11-30 to 2026-11-02 (right-truncated, see Part III). Percentages are over all eligible works of the period; the first row is a count.")
422+ # --- classification coverage by year; area shares; category periods ---
423+ p = f"{G}/category_counts_yearly.csv"; q = f"{R}/data/metadata/prisma_counts.json"
424+ if os.path.exists(p) and os.path.exists(q):
425+ cc = pd.read_csv(p); cc = cc[(cc.year >= 2018) & (cc.year <= 2026)]; P = json.load(open(q))["eligible_by_year"]
426+ y = cc.groupby("year")[["n_primary", "n_multilabel"]].sum(); y["eligible"] = [P[str(i)] for i in y.index]
427+ t = pd.DataFrame({"Year": y.index.astype(str), "Eligible works": y.eligible, "With primary category": y.n_primary, "Coverage (%)": 100 * y.n_primary / y.eligible, "Assignments": y.n_multilabel, "Labels per classified work": y.n_multilabel / y.n_primary})
428+ write("tab_p9_classification", t, "Classification coverage by publication year: eligible works, works with a primary category, and multi-label assignments.", "tab:p9-classification", [p, q], fmt={"Coverage (%)": "{:.1f}", "Labels per classified work": "{:.2f}"},
429+ note="A work receives a primary category when at least one category score passes the threshold of Part IV; works without any assignment (no abstract, unmapped venue and no arXiv category) have no primary category and enter no category series. Assignments count every (work, category) pair. 2026 is incomplete.")
430+ cc["area"] = cc.category_id.map(area)
431+ ya = cc.groupby(["year", "area"]).n_primary.sum().unstack().fillna(0); sh = ya.div(ya.sum(1), axis=0) * 100
432+ per = cc[cc.period.isin(["baseline", "post"])].groupby(["period", "area"]).n_primary.sum().unstack().fillna(0); shp = per.div(per.sum(1), axis=0) * 100
433+ t = pd.concat([sh, shp.loc[["baseline", "post"]]]); t.index = [str(i) for i in sh.index] + ["Baseline (2018-01 to 2022-11)", "Post (2022-12 to 2026-11)"]
434+ t = t[[a for a in _P9_AREA_ABBR if a in t.columns]].rename(columns=_P9_AREA_ABBR).reset_index().rename(columns={"index": "Year / period"})
435+ write("tab_p9_area_shares", t, "Share of primary-category assignments by top-level area and year (per cent), with the two protocol periods.", "tab:p9-area-shares", [p], fmt={c: "{:.2f}" for c in _P9_AREA_ABBR.values()},
436+ note="Shares of works with a primary category (Table~\\ref{tab:p9-classification}); rows sum to 100. Areas: AI/ML = Artificial Intelligence and Machine Learning; Percep. = Perception, Language, Robotics and Interaction; Softw. = Software, Programming Languages and Formal Methods; Data = Data, Information and Distributed Systems; Secur. = Security, Privacy and Trust; Hardw. = Hardware, Architecture and Emerging Computing; Comp. sci. = Computational Science and Discovery. The period rows split at the reference date; the year rows at the calendar year. 2026 is incomplete.")
437+ cp = cc[cc.period.isin(["baseline", "post"])].groupby(["period", "category_id"])[["n_primary", "n_multilabel"]].sum().unstack(0)
438+ cp.columns = ["_".join(c) for c in cp.columns]
439+ r = f"{B}/cagr_by_category.csv"; cg = pd.read_csv(r).set_index("category") if os.path.exists(r) else None
440+ rows = []
441+ for k in cp.index:
442+ rr = cp.loc[k]; rows.append({"Category": names.get(k, k), "Area": _P9_AREA_ABBR.get(area.get(k), area.get(k)), "Primary, base": int(rr.n_primary_baseline), "Primary, post": int(rr.n_primary_post),
443+ "Share base (%)": 100 * rr.n_primary_baseline / cp.n_primary_baseline.sum(), "Share post (%)": 100 * rr.n_primary_post / cp.n_primary_post.sum(),
444+ "ML post/base": rr.n_multilabel_post / rr.n_multilabel_baseline if rr.n_multilabel_baseline > 0 else float("nan"),
445+ "CAGR base": float(cg.loc[k, "cagr_baseline"]) if cg is not None and k in cg.index else float("nan"), "CAGR post": float(cg.loc[k, "cagr_post"]) if cg is not None and k in cg.index else float("nan")})
446+ t = pd.DataFrame(rows).sort_values("Share post (%)", ascending=False)
447+ write("tab_p9_category_periods", t, "The forty categories by protocol period: primary-category output, composition shares, multi-label growth and compound annual growth rates.", "tab:p9-category-periods", [p, r],
448+ fmt={"Share base (%)": "{:.2f}", "Share post (%)": "{:.2f}", "ML post/base": "{:.2f}", "CAGR base": "{:.3f}", "CAGR post": "{:.3f}"},
449+ note="Primary counts and shares use the primary category; ML post/base is the post-period count of all (multi-label) assignments to the category divided by the baseline count (periods split at the reference date). CAGR base: 2018 to 2022 (four years); CAGR post: 2023 to 2025 (two years), both on primary counts of complete calendar years (equation~\\eqref{eq:cagr}). Area abbreviations as in Table~\\ref{tab:p9-area-shares}. Sorted by post-period share.")
450+ # --- AI categories: share with bootstrap CI (H2) ---
451+ p = f"{B}/category_share_ci_yearly.csv"
452+ if os.path.exists(p):
453+ s = pd.read_csv(p); ai = [k for k, a in area.items() if a == "ai_ml"]; rows = []
454+ for k in ai:
455+ r = {"Category": names[k]}
456+ for yv in (2018, 2022, 2025):
457+ z = s[(s.category == k) & (s.year == yv)]
458+ r[str(yv)] = f"{100 * float(z.share.iloc[0]):.2f} [{100 * float(z.ci_low.iloc[0]):.2f}, {100 * float(z.ci_high.iloc[0]):.2f}]" if len(z) else ""
459+ rows.append(r)
460+ r = {"Category": "AI & ML area (sum)"}
461+ for yv in (2018, 2022, 2025):
462+ z = s[(s.category.isin(ai)) & (s.year == yv)]; r[str(yv)] = f"{100 * float(z.share.sum()):.2f}" if len(z) else ""
463+ rows.append(r)
464+ write("tab_p9_ai_shares", pd.DataFrame(rows), "Share of primary-category assignments held by the AI and machine-learning categories in 2018, 2022 and 2025 (per cent, bootstrap 95\\% intervals).", "tab:p9-ai-shares", [p],
465+ note="Shares are of the year's works with a primary category; intervals from 500 multinomial resamples of the works (seed 44). The area row is the sum of the category shares (no interval). Categories 1--8 and 38 of the mandate.")
466+ # --- ITS total: events, robustness; categories ---
467+ p = f"{E}/its_results.json"
468+ if os.path.exists(p):
469+ J = json.load(open(p)); S = J["series"]; T = S["total"]; rows = []
470+ for key, lab in _P9_EVENTS:
471+ e = T.get("its_" + key)
472+ if e: rows.append({"Event (month)": lab, "Pre-slope (SE)": f"{e['pre_slope']:.4f} ({e['pre_slope_se']:.4f})", "Level change (SE)": f"{e['level_change']:+.3f} ({e['level_se']:.3f})", "HAC p (level)": e["level_p"], "Slope change (SE)": f"{e['slope_change']:+.4f} ({e['slope_se']:.4f})", "HAC p (slope)": e["slope_p"], "$R^2$": e["r2"]})
473+ write("tab_p9_its_total_events", pd.DataFrame(rows), "Interrupted time series of the total monthly series at the reference date and at four alternative event dates (log counts, month-of-year dummies, Newey--West standard errors).", "tab:p9-its-total-events", [p],
474+ fmt={"HAC p (level)": "{:.3f}", "HAC p (slope)": "{:.3g}", "$R^2$": "{:.3f}"}, note="Equation~\\eqref{eq:its}; each event is coded as the first full month after the public release. Slopes are monthly log growth rates.")
475+ rows = [("Observations (months), first to last complete month", f"{T['n_months']} ({J['first']} to {J['last_complete']})"),
476+ ("Placebo rank of the level $t$-statistic (all candidate months)", f"rank {T['placebo_chatgpt']['level_t_rank']} of {T['placebo_chatgpt']['n_placebo']}, placebo $p$ = {T['placebo_chatgpt']['level_t_placebo_p']:.3f}"),
477+ ("Placebo rank of the slope $t$-statistic (all candidate months)", f"rank {T['placebo_chatgpt']['slope_t_rank']} of {T['placebo_chatgpt']['n_placebo']}, placebo $p$ = {T['placebo_chatgpt']['slope_t_placebo_p']:.3f}"),
478+ ("Placebo $p$, baseline candidate months only (level; slope)", f"{T['placebo_chatgpt_baseline_only']['level_t_placebo_p']:.3f}; {T['placebo_chatgpt_baseline_only']['slope_t_placebo_p']:.3f} (n = {T['placebo_chatgpt_baseline_only']['n_placebo']}; zero is attainable)"),
479+ ("Donut ITS, $\\pm$3 months removed: level change (HAC $p$)", f"{T['its_chatgpt_donut']['level_change']:+.3f} ({T['its_chatgpt_donut']['level_p']:.3f}), n = {T['its_chatgpt_donut']['n']}"),
480+ ("Donut ITS: slope change (HAC $p$)", f"{T['its_chatgpt_donut']['slope_change']:+.4f} ({T['its_chatgpt_donut']['slope_p']:.2g})"),
481+ ("Bai--Perron break dates, BIC (LWZ)", f"{', '.join(T['bai_perron']['break_dates_bic'])} ({', '.join(T['bai_perron']['break_dates_lwz'])}); m = {T['bai_perron']['m_bic']}, h = {T['bai_perron']['h']}"),
482+ ("Bai--Perron BIC by number of breaks m = 0, 1, 2, 3", ", ".join(f"{T['bai_perron']['bic_by_m'][k]:.1f}" for k in ("0", "1", "2", "3"))),
483+ ("PELT changepoints (piecewise-constant mean)", ", ".join(T["pelt"]) or "none"),
484+ ("BOCPD: max P(run length $\\le$ 3) over 2022-12 to 2023-03; MAP resets", f"{T['bocpd_cp_prob_2022_12_to_2023_03']:.3f}; {', '.join(T['bocpd_resets']) or 'none'}")]
485+ for lm, v in J.get("sensitivity_last_complete_total", {}).items():
486+ e = v["its_chatgpt"]; rows.append((f"Last complete month {lm}: level (p); slope (p); Bai--Perron", f"{e['level_change']:+.3f} ({e['level_p']:.3f}); {e['slope_change']:+.4f} ({e['slope_p']:.2g}); {', '.join(v['bai_perron'])}"))
487+ write("tab_p9_total_robustness", pd.DataFrame(rows, columns=["Diagnostic", "Total series"]), "Robustness diagnostics of the structural-change analysis of the total monthly series.", "tab:p9-total-robustness", [p],
488+ note="Placebo ranks follow equation~\\eqref{eq:placebo}; the baseline-only rank excludes the true event from the candidate set, so a value of zero means that no baseline month yields a larger $t$-statistic. Bai--Perron on the seasonally adjusted log series with trimming $h$; PELT with the $\\ell_2$ cost; BOCPD with hazard 1/60 (Part IV).")
489+ rows = []; rows2 = []; rows3 = []; rows4 = []
490+ for sid, v in S.items():
491+ if sid == "total": continue
492+ k = sid[4:]; e = v["its_chatgpt"]; pl = v["placebo_chatgpt"]; plb = v["placebo_chatgpt_baseline_only"]; dn = v.get("its_chatgpt_donut", {})
493+ rows.append({"Category": names.get(k, k), "Works": int(v["total"]), "Pre-slope": e["pre_slope"], "Slope change": e["slope_change"], "SE": e["slope_se"], "HAC p": e["slope_p"], "Plac. p (all)": pl["slope_t_placebo_p"], "Plac. p (base)": plb["slope_t_placebo_p"], "Post slope": e["pre_slope"] + e["slope_change"]})
494+ rows2.append({"Category": names.get(k, k), "Level change": e["level_change"], "SE": e["level_se"], "HAC p": e["level_p"], "Plac. p (all)": pl["level_t_placebo_p"], "Plac. p (base)": plb["level_t_placebo_p"], "Donut level": dn.get("level_change", float("nan")), "Donut p": dn.get("level_p", float("nan")), "BOCPD P": v["bocpd_cp_prob_2022_12_to_2023_03"]})
495+ bp = v["bai_perron"]; inw = any("2022-10-01" <= d <= "2023-06-01" for d in bp["break_dates_bic"]); pin = any("2022-10" <= d <= "2023-06" for d in v["pelt"])
496+ rows3.append({"Category": names.get(k, k), "Bai--Perron (BIC)": ", ".join(d[:7] for d in bp["break_dates_bic"]) or "none", "Bai--Perron (LWZ)": ", ".join(d[:7] for d in bp["break_dates_lwz"]) or "none", "PELT": ", ".join(v["pelt"]) or "none", "BOCPD resets": ", ".join(v["bocpd_resets"]) or "none", "BIC in window": "yes" if inw else "no", "PELT in window": "yes" if pin else "no"})
497+ r4 = {"Category": names.get(k, k)}
498+ for key, lab in _P9_EVENTS:
499+ ev = v.get("its_" + key); r4[lab.split(" (")[0]] = _p9_estp(ev["level_change"], ev["level_p"]) if ev else ""
500+ rows4.append(r4)
501+ t = pd.DataFrame(rows).sort_values("Slope change", ascending=False)
502+ write("tab_p9_its_slopes", t, "ITS slope change at December 2022 by category: pre-period slope, change, HAC and placebo $p$-values, and implied post-period slope (monthly log growth).", "tab:p9-its-slopes", [p],
503+ fmt={"Pre-slope": "{:.4f}", "Slope change": "{:+.4f}", "SE": "{:.4f}", "HAC p": "{:.3g}", "Plac. p (all)": "{:.3f}", "Plac. p (base)": "{:.3f}", "Post slope": "{:.4f}"},
504+ note="Multi-label monthly series of month-precision works (Part IV); Works: series total over the window. Plac. p (all): rank of the slope $t$-statistic among all candidate event months; (base): among baseline months only, where zero is attainable. Sorted by slope change.")
505+ t = pd.DataFrame(rows2).sort_values("Category")
506+ write("tab_p9_its_levels", t, "ITS level change at December 2022 by category: full-sample and donut estimates, HAC and placebo $p$-values, and the BOCPD change probability over December 2022 to March 2023.", "tab:p9-its-levels", [p],
507+ fmt={"Level change": "{:+.3f}", "SE": "{:.3f}", "HAC p": "{:.3f}", "Plac. p (all)": "{:.3f}", "Plac. p (base)": "{:.3f}", "Donut level": "{:+.3f}", "Donut p": "{:.3f}", "BOCPD P": "{:.3f}"},
508+ note="Donut: the event month and three months on each side removed. BOCPD P: maximum posterior probability that a changepoint occurred within the last four months, taken over December 2022 to March 2023.")
509+ write("tab_p9_unknown_breaks", pd.DataFrame(rows3).sort_values("Category"), "Data-driven break and changepoint dates by category, and whether any falls in the H3 window (October 2022 to June 2023).", "tab:p9-unknown-breaks", [p],
510+ note="Bai--Perron on the seasonally adjusted log series with trimming $h = 15$ months (no break possible after April 2025); PELT with the $\\ell_2$ cost and a six-month minimum segment; BOCPD resets as defined in Part IV. The window test is the one pre-specified in H3; Bai--Perron dates carry no $p$-value.")
511+ write("tab_p9_altdates", pd.DataFrame(rows4).sort_values("Category"), "ITS level change (HAC $p$) by category at the five pre-specified event dates.", "tab:p9-altdates", [p],
512+ note="Each column re-estimates equation~\\eqref{eq:its} with the event at the stated month; entries are the log level change with the HAC $p$-value in parentheses. The five estimates of a row are not independent: they are the same series with the break moved.")
513+ h3 = [("llm", "break"), ("generative_ai", "break"), ("ai_agents", "break"), ("ai_safety", "break"), ("formal_verification", "no break"), ("computational_complexity", "no break"), ("operating_systems", "no break"), ("computer_architecture", "no break")]
514+ rows = []
515+ for k, pred in h3:
516+ v = S.get("cat_" + k)
517+ if not v: continue
518+ bp = v["bai_perron"]; e = v["its_chatgpt"]
519+ rows.append({"Category": names[k], "Predicted": pred, "Bai--Perron (BIC)": ", ".join(d[:7] for d in bp["break_dates_bic"]) or "none", "PELT": ", ".join(v["pelt"]) or "none", "In window": "yes" if any("2022-10-01" <= d <= "2023-06-01" for d in bp["break_dates_bic"]) else "no",
520+ "Level (p)": _p9_estp(e["level_change"], e["level_p"]), "Slope (p)": f"{e['slope_change']:+.4f} ({e['slope_p']:.2g})", "Plac. p": v["placebo_chatgpt"]["slope_t_placebo_p"], "BOCPD P": v["bocpd_cp_prob_2022_12_to_2023_03"]})
521+ write("tab_p9_h3", pd.DataFrame(rows), "Hypothesis H3: break dates and ITS estimates for the eight categories named in the protocol.", "tab:p9-h3", [p], fmt={"Plac. p": "{:.3f}", "BOCPD P": "{:.3f}"},
522+ note="Predicted: the protocol's prediction for the window October 2022 to June 2023; In window: a Bai--Perron (BIC) break date in that window. Level and slope: ITS changes at December 2022 with HAC $p$; Plac. p: placebo $p$ of the slope over all candidate months.")
523+ # --- cross-area shares, modularity, flows, co-classification ---
524+ p = f"{G}/cross_area_share_yearly.csv"
525+ if os.path.exists(p):
526+ cs = pd.read_csv(p); piv = cs.pivot(index="citing_year", columns="citing_area", values="share_cross") * 100
527+ cs["period"] = np.where(cs.citing_year <= 2022, "baseline", "post"); g = cs.groupby(["period", "citing_area"])[["n", "n_cross"]].sum(); w = g.loc["baseline"].n / g.loc["baseline"].n.sum()
528+ yr = cs.groupby("citing_year")[["n", "n_cross"]].sum(); raw = 100 * yr.n_cross / yr.n
529+ adj = pd.Series({y: 100 * float((w.reindex(gg.set_index("citing_area").index) * gg.set_index("citing_area").share_cross).sum()) for y, gg in cs.groupby("citing_year")})
530+ piv["All areas, raw"] = raw; piv["All areas, baseline area weights"] = adj; piv["Internal references (count)"] = yr.n
531+ t = piv.T.reset_index(); t.columns = ["Citing area"] + [str(c) for c in t.columns[1:]]
532+ t["Citing area"] = t["Citing area"].map(lambda a: _P9_AREA_SHORT.get(a, a))
533+ for c in t.columns[1:]: t[c] = [f"{v:,.0f}" if lab.startswith("Internal references") else f"{v:.1f}" for lab, v in zip(t["Citing area"], t[c])]
534+ write("tab_p9_cross_area", t, "Cross-area share of internal references by citing area and citing year (per cent), with the aggregate share and its composition-adjusted counterpart.", "tab:p9-cross-area", [p],
535+ note="Equation~\\eqref{eq:cross-area}: the share of an area's resolved internal references whose cited work has a primary category in another area. The composition-adjusted aggregate fixes each area's weight at its 2018--2022 share of internal references, so that it moves only when the areas' own cross-area rates move. The last row is the number of internal references with both ends classified. 2026 is incomplete.")
536+ p = f"{G}/modularity_yearly.csv"
537+ if os.path.exists(p):
538+ d = pd.read_csv(p); t = pd.DataFrame({"Year": d.year.astype(str), "Internal citations": d.edges.astype(int), "Q (categories)": d.Q_categories, "Q (areas)": d.Q_areas, "Self-share (%)": 100 * d.self_share})
539+ write("tab_p9_modularity", t, "Modularity of the yearly category citation-flow network at the category and area partitions, and the within-category self-share of citations.", "tab:p9-modularity", [p], fmt={"Q (categories)": "{:.4f}", "Q (areas)": "{:.4f}", "Self-share (%)": "{:.2f}"},
540+ note="Equation~\\eqref{eq:modularity} at the fixed partitions; the citation counts are internal references of works of the citing year whose two ends have a primary category. The 2018 network is small because few cited works of 2018 or later existed; 2026 is incomplete.")
541+ p = f"{G}/area_flows_yearly.csv"
542+ if os.path.exists(p):
543+ af = pd.read_csv(p); A = [a for a in _P9_AREA_SHORT if a in set(af.citing_area)]
544+ def mat(mask):
545+ mm = af[mask].pivot_table(index="citing_area", columns="cited_area", values="n", aggfunc="sum", fill_value=0).reindex(index=A, columns=A).fillna(0); return mm.div(mm.sum(axis=1), axis=0) * 100
546+ base = mat(af.citing_year <= 2022); post = mat(af.citing_year >= 2023); diff = (post - base)
547+ t = diff.copy(); t.index = [_P9_AREA_SHORT[a] for a in t.index]; t.columns = [_P9_AREA_ABBR[a] for a in t.columns]; t = t.reset_index().rename(columns={"index": "Citing area"})
548+ write("tab_p9_area_flow_change", t, "Change in the area citation-flow matrix between 2018--2022 and 2023--2026: post-period row share minus baseline row share (percentage points).", "tab:p9-area-flow-change", [p], fmt={c: "{:+.1f}" for c in t.columns[1:]},
549+ note="Rows: citing area; columns: cited area (abbreviations as in Table~\\ref{tab:p9-area-shares}); row shares of internal references with both ends classified, split by citing calendar year (2022 entirely in the first span). Figure~\\ref{fig:area-flow-matrix} shows the two underlying matrices.")
550+ p = f"{G}/category_cooccurrence_yearly.csv"
551+ if os.path.exists(p):
552+ co = pd.read_csv(p); co["period"] = np.where(co.year <= 2022, "baseline", "post"); rows = []
553+ tb = co[co.period == "baseline"].groupby(["cat_a", "cat_b"]).n.sum().sort_values(ascending=False).head(15); tp = co[co.period == "post"].groupby(["cat_a", "cat_b"]).n.sum().sort_values(ascending=False).head(15)
554+ for i in range(15):
555+ rows.append({"Rank": i + 1, "Pair, 2018--2022": f"{names.get(tb.index[i][0], tb.index[i][0])} / {names.get(tb.index[i][1], tb.index[i][1])}", "Works": int(tb.iloc[i]), "Pair, 2023--2026": f"{names.get(tp.index[i][0], tp.index[i][0])} / {names.get(tp.index[i][1], tp.index[i][1])}", "Works ": int(tp.iloc[i])})
556+ write("tab_p9_cooccurrence", pd.DataFrame(rows), "The fifteen most frequent co-classification pairs (works carrying both categories in their label set), 2018--2022 and 2023--2026.", "tab:p9-cooccurrence", [p],
557+ note="Counts of works with both labels, summed over the calendar years of each span (2022 in the first); the post span is incomplete. Co-classification depends on abstract availability and vocabulary (Part IV), so the pairs describe the classifier's view of the literature.")
558+ ll = co[(co.cat_a == "llm") | (co.cat_b == "llm")].copy(); ll["partner"] = np.where(ll.cat_a == "llm", ll.cat_b, ll.cat_a)
559+ g = ll.groupby(["partner", "period"]).n.sum().unstack().fillna(0); g = g.sort_values("post", ascending=False).head(15)
560+ t = pd.DataFrame({"Partner category": [names.get(k, k) for k in g.index], "Works, 2018--2022": g.baseline.astype(int).values, "Works, 2023--2026": g.post.astype(int).values, "Ratio": (g.post / g.baseline.replace(0, np.nan)).values})
561+ write("tab_p9_llm_partners", t, "Categories most often co-assigned with Large Language Models, by span.", "tab:p9-llm-partners", [p], fmt={"Ratio": "{:.2f}"}, note="Works carrying both the LLM label and the partner label; spans split by calendar year; the second span is incomplete.")
562+ # --- openness by year ---
563+ p = f"{B}/volume_yearly.csv"
564+ if os.path.exists(p):
565+ v = pd.read_csv(p); v = v[v.year <= 2026]
566+ t = pd.DataFrame({"Year": v.year.astype(str), "Works": v.n, "DBLP (%)": 100 * v.n_dblp / v.n, "arXiv (%)": 100 * v.n_arxiv / v.n, "Preprint (%)": 100 * v.n_preprint / v.n, "OA (%)": 100 * v.n_oa / v.n, "Abstract (%)": 100 * v.n_abstract / v.n, "Conf. (%)": 100 * v.n_conf / v.n, "Article (%)": 100 * v.n_article / v.n, "Mean refs."
567+: v.mean_refs})
568+ write("tab_p9_openness", t, "Openness and metadata indicators by publication year: arXiv linkage, preprint share, open access, abstract availability and document type (per cent of eligible works).", "tab:p9-openness", [p], fmt={c: "{:.1f}" for c in t.columns[2:]},
569+ note="arXiv: the work is linked to an arXiv e-print (any version); Preprint: the surviving record's OpenAlex type is preprint; OA: any open-access location in OpenAlex; Conf.: conference paper. Mean refs.: declared references per work, which falls in recent years because references are indexed with a lag. 2026 is incomplete.")
570+ # --- landmarks ---
571+ p = f"{R}/literature_synthesis/landmarks/selection_report.json"
572+ if os.path.exists(p):
573+ Sj = json.load(open(p)); rows = [{"Group": "Area", "Level": area_names.get(k, k), "Landmarks": v} for k, v in Sj["by_area"].items()] + [{"Group": "Year", "Level": k, "Landmarks": v} for k, v in sorted(Sj["by_year_landmarks"].items())]
574+ write("tab_p9_landmarks", pd.DataFrame(rows), "Composition of the landmark set by area and by publication year.", "tab:p9-landmarks", [p], note="Selection by field-normalised impact within category and year with per-area quotas (Part IV); the specialist review of the set (checkpoint H-3) is pending, so the composition is reported without any assessment of the works.")
575+ # --- emerging: setup and AUC by cutoff ---
576+ fs = {h: f"{X}/metrics_h{h}.json" for h in (12, 24)}
577+ if all(os.path.exists(f) for f in fs.values()):
578+ M = {h: json.load(open(f)) for h, f in fs.items()}; rows = []
579+ for h in (12, 24):
580+ m = M[h]; rows.append({"Horizon": str(h), "Training cutoffs": f"{m['train_cutoffs'][0]} to {m['train_cutoffs'][-1]} ({len(m['train_cutoffs'])})", "Test cutoffs": f"{m['test_cutoffs'][0]} to {m['test_cutoffs'][-1]} ({len(m['test_cutoffs'])})", "Train rows": m["n_train"], "Test rows": m["n_test"], "Pos. rate, train": m["pos_rate_train"], "Pos. rate, test": m["pos_rate_test"]})
581+ write("tab_p9_emerging_setup", pd.DataFrame(rows), "Out-of-time evaluation design of the emerging-topic detector: cutoffs (months), panel sizes and positive rates.", "tab:p9-emerging-setup", list(fs.values()), fmt={"Pos. rate, train": "{:.4f}", "Pos. rate, test": "{:.4f}"},
582+ note="Rows are eligible (topic, cutoff) pairs; the label of equation~\\eqref{eq:label} requires top-decile future growth and a doubling of volume, so the positive rate is below ten per cent.")
583+ cut = sorted(set(M[12]["auc_by_cutoff"]) | set(M[24]["auc_by_cutoff"])); rows = []
584+ for c in cut:
585+ r = {"Test cutoff": c}
586+ for h in (12, 24):
587+ a = M[h]["auc_by_cutoff"].get(c, {})
588+ for mdl, lab in (("zscore_baseline", "z-score"), ("logistic", "logistic"), ("gbm", "GBM")): r[f"h{h}: {lab}"] = a.get(mdl, float("nan"))
589+ rows.append(r)
590+ t = pd.DataFrame(rows); write("tab_p9_emerging_cutoffs", t, "AUC of the three detectors at each test cutoff, by horizon.", "tab:p9-emerging-cutoffs", list(fs.values()), fmt={c: "{:.3f}" for c in t.columns[1:]},
591+ note="Within-cutoff AUC on the eligible topics of the cutoff; blank where the label window of the cutoff extends beyond the panel. Pooled values are in Tables~\\ref{tab:emerging_h12} and~\\ref{tab:emerging_h24}.")
592+ # --- layout post-processing (font, column separation, width cap or rotation) ---
593+ for nm in ("tab_p9_category_periods", "tab_p9_its_slopes", "tab_p9_its_levels", "tab_p9_unknown_breaks", "tab_p9_altdates"): _p9_fit(nm, "\\scriptsize", "3pt", rotate=True)
594+ for nm in ("tab_p9_h3", "tab_p9_area_flow_change", "tab_p9_cross_area", "tab_p9_cooccurrence", "tab_p9_openness", "tab_p9_emerging_setup", "tab_p9_its_total_events", "tab_p9_area_shares", "tab_p9_emerging_cutoffs"): _p9_fit(nm, "\\scriptsize", "3pt")
595+ for nm in ("tab_p9_classification", "tab_p9_total_robustness", "tab_p9_periods", "tab_p9_ai_shares", "tab_p9_modularity", "tab_p9_llm_partners", "tab_p9_landmarks"): _p9_fit(nm, "\\footnotesize", "4pt")
360 596
361 597
362 # ---------------- Part VIII, corpus v3 category-level tables (appended by Agent L/I, 2026-11-03 20:15) ---------------- 598 # ---------------- Part VIII, corpus v3 category-level tables (appended by Agent L/I, 2026-11-03 20:15) ----------------
@@ -458,22 +694,26 @@ def tables_part07a():
458 p = f"{G}/category_counts_yearly.csv"; agg = None 694 p = f"{G}/category_counts_yearly.csv"; agg = None
459 if os.path.exists(p): 695 if os.path.exists(p):
460 d = pd.read_csv(p); d = d[d.category_id.isin(THY)].groupby(["year", "category_id"])[["n_multilabel", "n_primary"]].sum().reset_index(); agg = d 696 d = pd.read_csv(p); d = d[d.category_id.isin(THY)].groupby(["year", "category_id"])[["n_multilabel", "n_primary"]].sum().reset_index(); agg = d
461− t = pd.DataFrame({"Year": sorted(d.year.unique().astype(str))}) 697+ for v, suffix, nm, lab, what in (("n_multilabel", "", "tab_theory_counts", "tab:theory_counts", "works carrying the category (multi-label)"), ("n_primary", "", "tab_theory_counts_primary", "tab:theory_counts_primary", "works whose primary category it is")):
462− for v, suffix in (("n_multilabel", " (all)"), ("n_primary", " (prim.)")):
463 piv = d.pivot_table(index="year", columns="category_id", values=v, aggfunc="sum", fill_value=0).astype(int) 698 piv = d.pivot_table(index="year", columns="category_id", values=v, aggfunc="sum", fill_value=0).astype(int)
464− for c in THY: t[SHORT[c] + suffix] = piv[c].values 699+ t = pd.DataFrame({"Year": sorted(d.year.unique().astype(str))})
465− write("tab_theory_counts", t, "Eligible works in the six theory and software categories by publication year: works carrying the category (all) and works whose primary category it is (prim.).", "tab:theory_counts", [p], longtable=True, 700+ for c in THY: t[SHORT[c]] = piv[c].values
466− note="Counts of eligible works (Part III) per publication year, summed over the pre/baseline/post period labels of the result file; 2026 is incomplete. `all' counts every work to which the multi-label classifier assigns the category; `prim.' counts works whose highest-scoring category it is (Part IV). Algo. = algorithms and data structures, Compl. = computational complexity, PL = programming languages, Comp. = compilers, FV = formal verification, SE = software engineering.") 701+ write(nm, t, f"Eligible works in the six theory and software categories by publication year: {what}.", lab, [p],
702+ note="Counts of eligible works (Part III) per publication year, summed over the pre/baseline/post period labels of the result file; 2026 is incomplete. The multi-label count includes every work to which the classifier assigns the category; the primary count only works whose highest-scoring category it is (Part IV). Algo. = algorithms and data structures, Compl. = computational complexity, PL = programming languages, Comp. = compilers, FV = formal verification, SE = software engineering.")
467 p = f"{E}/breaks.csv" 703 p = f"{E}/breaks.csv"
468 if os.path.exists(p) and agg is not None: 704 if os.path.exists(p) and agg is not None:
469 b = pd.read_csv(p).set_index("series"); rows = [] 705 b = pd.read_csv(p).set_index("series"); rows = []
470 for c in THY: 706 for c in THY:
471 g = agg[agg.category_id == c].set_index("year") 707 g = agg[agg.category_id == c].set_index("year")
472 m18, m22, m23, m25 = (int(g.loc[y, "n_multilabel"]) if y in g.index else 0 for y in (2018, 2022, 2023, 2025)); r = b.loc[f"cat_{c}"] 708 m18, m22, m23, m25 = (int(g.loc[y, "n_multilabel"]) if y in g.index else 0 for y in (2018, 2022, 2023, 2025)); r = b.loc[f"cat_{c}"]
473− rows.append({"Category": NAMES[c], "Works 2018": m18, "Works 2025": m25, "CAGR 18--22 (%)": 100 * ((m22 / m18) ** 0.25 - 1) if m18 else float("nan"), "CAGR 23--25 (%)": 100 * ((m25 / m23) ** 0.5 - 1) if m23 else float("nan"), 709+ rows.append({"Category": NAMES[c].replace("Algorithms and data structures", "Algorithms, data struct."), "Works 2018": m18, "Works 2025": m25, "CAGR 18--22 (%)": 100 * ((m22 / m18) ** 0.25 - 1) if m18 else float("nan"), "CAGR 23--25 (%)": 100 * ((m25 / m23) ** 0.5 - 1) if m23 else float("nan"),
474− "Level 2022-12": float(r.chatgpt_level), "p": float(r.chatgpt_level_p), "Slope change": float(r.chatgpt_slope), "p ": float(r.chatgpt_slope_p), "Placebo p (slope)": float(r.placebo_slope_p), "Bai--Perron": str(r.bp_breaks_bic).replace(";", ", "), "PELT": str(r.pelt).replace(";", ", ")}) 710+ "Level": float(r.chatgpt_level), "p": float(r.chatgpt_level_p), "Slope": float(r.chatgpt_slope), "p ": float(r.chatgpt_slope_p), "Placebo p": float(r.placebo_slope_p), "Bai--Perron": ", ".join(x[:7] for x in str(r.bp_breaks_bic).split(";"))})
475− write("tab_theory_summary", pd.DataFrame(rows), "Growth and structural-change summary for the six theory and software categories (multi-label counts).", "tab:theory_summary", [f"{G}/category_counts_yearly.csv", p], fmt={"CAGR 18--22 (%)": "{:.1f}", "CAGR 23--25 (%)": "{:.1f}", "Level 2022-12": "{:.3f}", "p": "{:.3f}", "Slope change": "{:.4f}", "p ": "{:.3f}", "Placebo p (slope)": "{:.3f}"}, 711+ t = pd.DataFrame(rows)
476− note="Works: eligible works carrying the category (multi-label). CAGR: compound annual growth of the multi-label count between the years shown (2026 excluded as incomplete). Level and slope change: interrupted-time-series estimates on the log monthly count of works with the category as primary label, event month 2022-12, with HAC p-values (Part IV); placebo p: share of baseline-period pseudo-events whose slope t-statistic exceeds the observed one (Section~\\ref{sec:m-placebo}); Bai--Perron and PELT: estimated break dates (results/econometrics/breaks.csv). The ITS series are primary-label counts while the CAGR columns use multi-label counts; the two populations differ (Table~\\ref{tab:theory_counts}).") 712+ write("tab_theory_summary", t[["Category", "Works 2018", "Works 2025", "CAGR 18--22 (%)", "CAGR 23--25 (%)"]], "Growth summary for the six theory and software categories (multi-label counts).", "tab:theory_summary", [f"{G}/category_counts_yearly.csv"], fmt={"CAGR 18--22 (%)": "{:.1f}", "CAGR 23--25 (%)": "{:.1f}"},
713+ note="Works: eligible works carrying the category (multi-label). CAGR: compound annual growth of the multi-label count between the years shown (2026 excluded as incomplete). The primary-label population differs (Table~\\ref{tab:theory_counts_primary}).")
714+ tb = t[["Category", "Level", "p", "Slope", "p ", "Placebo p", "Bai--Perron"]].copy(); tb["Category"] = tb["Category"].replace({"Computational complexity": "Comput. complexity", "Programming languages": "Progr. languages", "Software engineering": "Software eng."})
715+ write("tab_theory_breaks", tb, "Structural-change estimates at 2022-12 for the six theory and software categories (primary-label monthly series).", "tab:theory_breaks", [p], fmt={"Level": "{:.3f}", "p": "{:.3f}", "Slope": "{:.4f}", "p ": "{:.3f}", "Placebo p": "{:.3f}"},
716+ note="Level and Slope: level and slope change at 2022-12 (first p: level, second p: slope). Interrupted-time-series estimates on the log monthly count of works with the category as primary label, event month 2022-12, HAC p-values (Part IV); placebo p: share of baseline-period pseudo-events whose slope t-statistic exceeds the observed one (Section~\\ref{sec:m-placebo}); Bai--Perron: break months selected by BIC (results/econometrics/breaks.csv, which also reports PELT and BOCPD dates).")
477 p = f"{G}/category_cooccurrence_yearly.csv" 717 p = f"{G}/category_cooccurrence_yearly.csv"
478 if os.path.exists(p) and agg is not None: 718 if os.path.exists(p) and agg is not None:
479 d = pd.read_csv(p); rows = [] 719 d = pd.read_csv(p); rows = []
@@ -482,29 +722,30 @@ def tables_part07a():
482 row = {"Year": str(y)} 722 row = {"Year": str(y)}
483 for a in THY: 723 for a in THY:
484 n = d[(d.year == y) & (((d.cat_a == a) & (d.cat_b == "llm")) | ((d.cat_a == "llm") & (d.cat_b == a)))].n.sum(); m = agg[(agg.year == y) & (agg.category_id == a)].n_multilabel.sum() 724 n = d[(d.year == y) & (((d.cat_a == a) & (d.cat_b == "llm")) | ((d.cat_a == "llm") & (d.cat_b == a)))].n.sum(); m = agg[(agg.year == y) & (agg.category_id == a)].n_multilabel.sum()
485− row[f"{SHORT[a]} x LLM"] = int(n); row[f"{SHORT[a]} x LLM (%)"] = 100 * n / m if m else float("nan") 725+ row[f"{SHORT[a]} (n)"] = int(n); row[f"{SHORT[a]} (%)"] = 100 * n / m if m else float("nan")
486 rows.append(row) 726 rows.append(row)
487− t = pd.DataFrame(rows) 727+ t = pd.DataFrame(rows); sh = ["Year"] + [c for c in t.columns if "(%)" in c]; cn = ["Year"] + [c for c in t.columns if "(n)" in c]
488− write("tab_theory_llm_cooccurrence", t, "Co-classification of theory and software works with the LLM category, by publication year: number of works carrying both categories and share of the category's multi-label count.", "tab:theory_llm_cooccurrence", [p, f"{G}/category_counts_yearly.csv"], fmt={c: "{:.1f}" for c in t.columns if "(%)" in c}, longtable=True, 728+ write("tab_theory_llm_cooccurrence", t[sh], "Share of theory and software works co-classified with the LLM category, by publication year (per cent of the category's multi-label count).", "tab:theory_llm_cooccurrence", [p, f"{G}/category_counts_yearly.csv"], fmt={c: "{:.1f}" for c in sh if c != "Year"},
489− note="A work is co-classified when the multi-label classifier assigns both categories (Part IV). Shares are relative to all eligible works carrying the theory/software category in the year. Non-zero counts before 2022 reflect the lexical breadth of the LLM category (language-model and pretrained-model vocabulary), not retroactive labelling. 2026 is incomplete.") 729+ note="A work is co-classified when the multi-label classifier assigns both categories (Part IV). Shares are relative to all eligible works carrying the theory/software category in the year; counts in Table~\\ref{tab:theory_llm_cooccurrence_counts}. Non-zero shares before 2022 reflect the lexical breadth of the LLM category (language-model and pretrained-model vocabulary), not retroactive labelling. 2026 is incomplete.")
730+ write("tab_theory_llm_cooccurrence_counts", t[cn], "Number of theory and software works co-classified with the LLM category, by publication year.", "tab:theory_llm_cooccurrence_counts", [p], note="Counts of eligible works carrying both the LLM category and the column category; shares in Table~\\ref{tab:theory_llm_cooccurrence}.")
490 p = f"{R}/literature_synthesis/agent_G/contributions.csv" 731 p = f"{R}/literature_synthesis/agent_G/contributions.csv"
491 if os.path.exists(p): 732 if os.path.exists(p):
492 d = pd.read_csv(p); VERD = ["in_scope_research", "in_scope_survey", "textbook", "reprint_misdated", "dissertation", "metaheuristic", "misclassified", "duplicate"] 733 d = pd.read_csv(p); VERD = ["in_scope_research", "in_scope_survey", "textbook", "reprint_misdated", "dissertation", "metaheuristic", "misclassified", "duplicate"]
493− VL = {"in_scope_research": "Research (in scope)", "in_scope_survey": "Survey / report (in scope)", "textbook": "Textbook / chapter", "reprint_misdated": "Re-deposited classic", "dissertation": "Thesis", "metaheuristic": "Metaphor metaheuristic", "misclassified": "Misclassified", "duplicate": "Duplicate record"} 734+ VL = {"in_scope_research": "Research", "in_scope_survey": "Survey/report", "textbook": "Textbook", "reprint_misdated": "Re-deposited", "dissertation": "Thesis", "metaheuristic": "Metaheuristic", "misclassified": "Misclassified", "duplicate": "Duplicate"}
494 rows = [] 735 rows = []
495 for v in VERD: 736 for v in VERD:
496 g = d[d.verdict == v]; row = {"Verdict": VL[v]} 737 g = d[d.verdict == v]; row = {"Verdict": VL[v]}
497 for c in THY: row[SHORT[c]] = int((g.primary_category == c).sum()) 738 for c in THY: row[SHORT[c]] = int((g.primary_category == c).sum())
498− row["Total"] = int(len(g)); row["Post-period"] = int((g.period == "post").sum()); row["Id mismatch"] = int((g.id_resolves_to_other_work == "yes").sum()); rows.append(row) 739+ row["Total"] = int(len(g)); row["Post"] = int((g.period == "post").sum()); row["Id mism."] = int((g.id_resolves_to_other_work == "yes").sum()); rows.append(row)
499 row = {"Verdict": "All candidates"} 740 row = {"Verdict": "All candidates"}
500 for c in THY: row[SHORT[c]] = int((d.primary_category == c).sum()) 741 for c in THY: row[SHORT[c]] = int((d.primary_category == c).sum())
501− row["Total"] = int(len(d)); row["Post-period"] = int((d.period == "post").sum()); row["Id mismatch"] = int((d.id_resolves_to_other_work == "yes").sum()); rows.append(row) 742+ row["Total"] = int(len(d)); row["Post"] = int((d.period == "post").sum()); row["Id mism."] = int((d.id_resolves_to_other_work == "yes").sum()); rows.append(row)
502 write("tab_theory_landmark_audit", pd.DataFrame(rows), "Specialist audit of the automatically selected landmark candidates of the theory and software areas, by verdict and primary category.", "tab:theory_landmark_audit", [p, f"{R}/literature_synthesis/landmarks/theory_landmarks.csv", f"{R}/literature_synthesis/landmarks/software_pl_landmarks.csv"], 743 write("tab_theory_landmark_audit", pd.DataFrame(rows), "Specialist audit of the automatically selected landmark candidates of the theory and software areas, by verdict and primary category.", "tab:theory_landmark_audit", [p, f"{R}/literature_synthesis/landmarks/theory_landmarks.csv", f"{R}/literature_synthesis/landmarks/software_pl_landmarks.csv"],
503− note="Candidates are the works with the highest field-normalised 36-month citation score within each primary category (floor of fifteen per category) plus the 200 most cited works overall (\\texttt{literature\\_synthesis/select\\_landmarks.py}). Verdicts were assigned by Agent G from title, venue and type metadata and, where available, the abstract (never the full text); see literature_synthesis/agent_G/contributions.csv. `Id mismatch': the OpenAlex identifier of the record, resolved live on 2026-11-03, returned a different work whose citation count matches the record's 36-month window (literature_synthesis/agent_G/verification_lookups_raw.txt).") 744+ note="Research = in-scope research contribution; Survey/report = in-scope survey, handbook or competition report; Re-deposited = classic work re-deposited under a recent record date; Post = post-period works; Id mism. = identifier mismatch. Candidates are the works with the highest field-normalised 36-month citation score within each primary category (floor of fifteen per category) plus the 200 most cited works overall (\\texttt{literature\\_synthesis/select\\_landmarks.py}). Verdicts were assigned by Agent G from title, venue and type metadata and, where available, the abstract (never the full text); see literature\\_synthesis/agent\\_G/contributions.csv. `Id mismatch': the OpenAlex identifier of the record, resolved live on 2026-11-03, returned a different work whose citation count matches the record's 36-month window (literature\\_synthesis/agent\\_G/verification\\_lookups\\_raw.txt).")
504 g = d[d.verdict.isin(["in_scope_research", "in_scope_survey"])].sort_values(["primary_category", "year"]) 745 g = d[d.verdict.isin(["in_scope_research", "in_scope_survey"])].sort_values(["primary_category", "year"])
505− t = pd.DataFrame({"Category": g.primary_category.map(SHORT), "Year": g.year.astype(str), "Type": g.type.str.replace("conference-paper", "conf.").str.replace("book-chapter", "chapter"), "Work": [_ascii(x, 88) for x in g.title], "Contribution": g.contribution_type, "Id mismatch": g.id_resolves_to_other_work}) 746+ t = pd.DataFrame({"Work (* = identifier mismatch)": [_ascii(x, 44) + (" *" if im == "yes" else "") for x, im in zip(g.title, g.id_resolves_to_other_work)], "Cat.": g.primary_category.map(SHORT), "Year": g.year.astype(str), "Type": g.type.str.replace("conference-paper", "conf.").str.replace("book-chapter", "chapter").str.replace("dissertation", "thesis"), "Contrib.": g.contribution_type})
506 write("tab_theory_landmarks_discussed", t, "Landmark candidates of the theory and software areas retained as in-scope research or survey contributions, with the contribution type judged from the abstract or metadata.", "tab:theory_landmarks_discussed", [p], longtable=True, 747 write("tab_theory_landmarks_discussed", t, "Landmark candidates of the theory and software areas retained as in-scope research or survey contributions, with the contribution type judged from the abstract or metadata.", "tab:theory_landmarks_discussed", [p], longtable=True,
507− note="Contribution types follow the protocol (theory, method, empirical, benchmark, engineering, survey). `Id mismatch' as in Table~\\ref{tab:theory_landmark_audit}. Titles are shortened.") 748+ note="Contribution types follow the protocol (theory, method, empirical, benchmark, engineering, survey). * = identifier mismatch as in Table~\\ref{tab:theory_landmark_audit}. Titles are shortened.")
508 749
509 750
510 if __name__ == "__main__": 751 if __name__ == "__main__":
511 752
Menu

Theme