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 44 The landmark candidates of the area were screened record by record before any
45 45 of them was used, and the outcome conditions everything that follows. Of the
46 46 \SelectionByAreaAiMl{} records, the screening flagged 44 as unreliable for the
47 −purpose of a critical synthesis (Table~\ref{tab:ai_landmark_flags};
48 −\texttt{literature\_synthesis/agent\_E/contributions.csv}).\footnote{The
47 +purpose of a critical synthesis (Table~\ref{tab:ai_landmark_flags}; the record-level flags are in the file
48 +\texttt{contributions.csv} of the agent's directory under
49 +\texttt{literature\_synthesis}).\footnote{The
49 50 flags are a human judgement by the specialist agent from identifiers, citation
50 51 counts, venue, title and abstract; they were not produced by a script and
51 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 113 and sometimes, as just shown, linked to the wrong record. The synthesis
113 114 therefore grounds its technical claims on the verified reference list and uses
114 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 117 234 candidates with their flag and contribution type.
117 118
118 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 141 keyword patterns (Section~\ref{sec:m-classification}), so that a work on
141 142 reward modelling for language models is an LLM work and not a reinforcement-learning
142 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 152 \input{tables/tab_ai_growth}
145 153 \input{tables/tab_ai_counts}
@@ -328,6 +336,35 @@ model in hours. The QLoRA abstract's statement that its best model reaches
328 336 judge-based measurement, a point to which Section~\ref{sec:ai-eval} returns.
329 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 368 \subsection{Contested claims: emergence, sparks and pure-RL reasoning}
332 369
333 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 635 \KnownLlmAgentsLeadMonths{} months before peak growth in
599 636 \KnownLlmAgentsPeakGrowthMonth{}, on \KnownLlmAgentsTotalWorks{} matching
600 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 651 The strongest peer-reviewed evidence for agents is scientific. The Virtual Lab
603 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 729 and a 2007 Bayesian one appear as 2018 and 2025 works---and four are
681 730 control-theory papers; the category's citation top is therefore a mixture of
682 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 744 The corpus places reinforcement learning among the modestly accelerating
685 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 837 is architectures, with a classifier vocabulary frozen at 2022---has not been
778 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 873 \section{Evaluation}
781 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 914 the extent that it can be drawn, from the citation and adoption structure
822 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 952 \section{Safety, alignment, fairness and societal evidence}
825 953 \label{sec:ai-safety}
826 954
@@ -906,8 +1034,8 @@ Four reconciliations summarise what this part can say and what it cannot.
906 1034 \emph{Growth versus discontinuity.} The nine AI categories accelerated after
907 1035 2022; the acceleration is a slope change that the data-driven procedures date
908 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
910 −\ref{tab:ai_altdates}). The design cannot attribute it to one product, and
1037 +level jump in December 2022 (Tables~\ref{tab:ai_breaks}
1038 +and~\ref{tab:ai_altdates}). The design cannot attribute it to one product, and
911 1039 sentences of the form ``ChatGPT caused a surge in AI research'' are not
912 1040 supported by anything in this manuscript. What is supported is weaker and
913 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 1059 categories. % [E-37, P-08]
932 1060
933 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 1066 many of the window's defining technical papers---LLaMA, BLIP-2, Mamba, the
936 1067 agent benchmarks, the emergent-abilities debate, the catastrophic-risk
937 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 1093 and, for this manuscript's own method, whether citation-based landmark
963 1094 identification can be made reliable for a field whose most-cited identifiers
964 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 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
135 −works whose primary category it is; Table~\ref{tab:theory_summary} summarises growth and structural change.
134 +Tables~\ref{tab:theory_counts} and~\ref{tab:theory_counts_primary} give the yearly counts of works carrying each category
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 137 The multi-label counts grew in every category after 2022. Between 2023 and 2025 the compound annual growth was
137 138 \ThyCagrMultilabelSoftwareEngineeringPostPct\% for software engineering,
138 139 \ThyCagrMultilabelComputationalComplexityPostPct\% for computational complexity,
@@ -158,6 +159,7 @@ software categories are growing and shrinking at once: more works, a smaller fra
158 159 is set by the AI categories of Part~V.
159 160
160 161 \input{tables/tab_theory_counts}
162 +\input{tables/tab_theory_counts_primary}
161 163
162 164 Two cautions attach to these numbers. The post-period growth rate spans two years and is exposed to the
163 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 172 current counts resolves the discrepancy. Until then, Table~\ref{tab:cagr} and Table~\ref{tab:theory_summary}
171 173 disagree for these six rows.}
172 174
175 +\input{tables/tab_theory_summary}
176 +
173 177 \subsection{Structural change at the reference date}
174 178
175 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 191 categories are closest to the threshold; none crosses it. A slope change that pseudo-events of the baseline
188 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 196 The level changes point the other way in five categories. At December 2022 the level fell by
193 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 229 (Section~\ref{sec:m-classification}), not a measure of method adoption.
226 230
227 231 \input{tables/tab_theory_llm_cooccurrence}
232 +\input{tables/tab_theory_llm_cooccurrence_counts}
228 233
229 234 Citation flows are more conservative. In the post period, software-engineering works direct
230 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 519 interface theories, is the one post-period research candidate of this kind.
515 520
516 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 523 why: a work that carries a verification label and an AI or security label loses the primary label to the
519 524 larger category when the scores are close, so the primary series understates a category whose work is
520 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 484 falling share of uncited works, which is the largest contributor to a Gini of this kind
485 485 \citep{nielsen2021inequality}; the 2023 reversal coincides with the return of the uncited share and is, on the
486 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{}
488 −in 2018, \CitationWindowsYearlyTwoZeroTwoThreePNineNineCThreeSix{} in 2023), so the top of the distribution
489 −did not pull away from the body within fixed windows.
487 +percentile of three-year citations is almost flat across the complete cohorts (Table~\ref{tab:citation_windows}),
488 +so the top of the distribution did not pull away from the body within fixed windows.
490 489
491 490 The field-weighted citation impact supplied by OpenAlex, whose normalisation is the database's own and not
492 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 513 drawn from a high-priority set of \SelectionHighPriority{}; Table~\ref{tab:p9-landmarks} gives its
515 514 composition by area and year. The quotas make the set broader than a citation ranking would be: the AI and
516 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
518 −largest for 2026, which reflects the selection's reliance on the database's field-weighted impact for the
519 −most recent cohort, where citation counts are smallest and the normalisation least stable; the 2026
520 −landmarks should be treated as provisional. \SelectionShareWithAbstractLandmarks{} of the landmarks have an
516 +whose works are cited least, holds the smallest. By year the set is smallest for the 2021 cohort and largest
517 +for 2023, 2024 and 2026; the size of the 2026 cohort reflects the selection's reliance on the database's
518 +field-weighted impact for the most recent works, where citation counts are smallest and the normalisation
519 +least stable, and the 2026 landmarks should be treated as provisional. \SelectionShareWithAbstractLandmarks{} of the landmarks have an
521 520 abstract and \SelectionShareOaLandmarks{} have an open-access location, which bounds what the knowledge-graph
522 521 extraction and the specialist reviews can work from. The identification of the methodological or
523 522 theoretical contribution of each landmark is the object of the specialist reviews and of checkpoint H-3
@@ -708,8 +707,8 @@ them.
708 707 The protocol's semantic test of convergence compares the cosine similarity between category centroids in
709 708 the embedding space, estimated separately on baseline and post works, and reports the drift of each
710 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
712 −\texttt{category\_drift.csv} did not exist when this part was written. \pending{semantic atlas: insert the
710 +\texttt{results/semantic/}\allowbreak\texttt{category\_similarity\_baseline.csv},
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 712 category similarity comparison (baseline versus post, mean off-diagonal similarity, the pairs whose
714 713 similarity changed most) and the drift table when results/semantic/ is produced; the diversity indices of
715 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 103 "caption": "Fractional output of the fifteen largest countries by year.",
104 104 "label": "tab:countries",
105 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 108 "rows": 15
109 109 },
@@ -112,7 +112,7 @@
112 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 113 "label": "tab:breaks",
114 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 117 "rows": 41
118 118 },
@@ -121,7 +121,7 @@
121 121 "caption": "Out-of-time performance of the emerging-topic detectors at horizon 12 months (test cutoffs 2023-01\u20132024-10).",
122 122 "label": "tab:emerging_h12",
123 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 126 "rows": 3
127 127 },
@@ -130,7 +130,7 @@
130 130 "caption": "Out-of-time performance of the emerging-topic detectors at horizon 24 months (test cutoffs 2023-01\u20132024-04).",
131 131 "label": "tab:emerging_h24",
132 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 135 "rows": 3
136 136 },
@@ -139,7 +139,7 @@
139 139 "caption": "Preregistered known-emergence set: detection month, peak-growth month and lead time.",
140 140 "label": "tab:known_set",
141 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 144 "rows": 12
145 145 },
@@ -148,8 +148,8 @@
148 148 "caption": "Team size and collaboration indicators by publication year (all eligible works; periods of the source file summed).",
149 149 "label": "tab:collaboration",
150 150 "sources": [
151 − "./results/bibliometrics/team_size_yearly.csv",
152 − "./results/bibliometrics/international_collab_yearly.csv"
151 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/team_size_yearly.csv",
152 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/international_collab_yearly.csv"
153 153 ],
154 154 "rows": 9
155 155 },
@@ -158,7 +158,7 @@
158 158 "caption": "Share of typed affiliations by OpenAlex institution type and year (per cent of affiliation-work pairs).",
159 159 "label": "tab:institution_types",
160 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 163 "rows": 9
164 164 },
@@ -167,7 +167,7 @@
167 167 "caption": "Share of fractional output of the fifteen largest countries by year (per cent).",
168 168 "label": "tab:country_shares",
169 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 172 "rows": 15
173 173 },
@@ -176,7 +176,7 @@
176 176 "caption": "Concentration of output across countries by year, and the two largest producers under full counting.",
177 177 "label": "tab:country_concentration",
178 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 181 "rows": 9
182 182 },
@@ -185,7 +185,7 @@
185 185 "caption": "The country co-authorship network by period: edges with at least fifty joint works.",
186 186 "label": "tab:country_network",
187 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 190 "rows": 2
191 191 },
@@ -194,7 +194,7 @@
194 194 "caption": "The twenty strongest country pairs by period (number of joint works).",
195 195 "label": "tab:country_pairs",
196 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 199 "rows": 20
200 200 },
@@ -203,7 +203,7 @@
203 203 "caption": "Institutions with at least two hundred works per period: coverage and concentration (fractional counting).",
204 204 "label": "tab:institution_concentration",
205 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 208 "rows": 3
209 209 },
@@ -212,7 +212,7 @@
212 212 "caption": "The twenty-five institutions with the largest fractional output in the post period, with their baseline output.",
213 213 "label": "tab:top_institutions",
214 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 217 "rows": 25
218 218 },
@@ -221,7 +221,7 @@
221 221 "caption": "Distribution of works over source types among the listed sources, by period (per cent).",
222 222 "label": "tab:source_types",
223 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 226 "rows": 2
227 227 },
@@ -230,7 +230,7 @@
230 230 "caption": "The twenty largest sources (venues) by period, with OpenAlex source type.",
231 231 "label": "tab:top_sources",
232 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 235 "rows": 20
236 236 },
@@ -239,7 +239,7 @@
239 239 "caption": "Age of cited works by citing year (resolved references of eligible works; corpus version of the result file at generation time).",
240 240 "label": "tab:cited_age",
241 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 244 "rows": 9
245 245 },
@@ -248,7 +248,7 @@
248 248 "caption": "The ten most cited works of each publication year by 36-month window citations (c36), with total citations to date.",
249 249 "label": "tab:top_cited",
250 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 253 "rows": 80
254 254 },
@@ -257,7 +257,7 @@
257 257 "caption": "DBLP records of 2018--2026 without an OpenAlex counterpart, by DBLP record type and year.",
258 258 "label": "tab:dblp_only",
259 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 262 "rows": 9
263 263 },
@@ -266,7 +266,7 @@
266 266 "caption": "The OpenAlex \\texttt{created\\_date} relative to the publication date, by publication year.",
267 267 "label": "tab:indexing_lag",
268 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 271 "rows": 9
272 272 },
@@ -275,7 +275,7 @@
275 275 "caption": "Reference coverage by citing year: declared, resolved, internal and external references of eligible works.",
276 276 "label": "tab:reference_coverage",
277 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 280 "rows": 9
281 281 },
@@ -284,7 +284,7 @@
284 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 285 "label": "tab:field_flows",
286 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 289 "rows": 9
290 290 },
@@ -293,7 +293,7 @@
293 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 294 "label": "tab:net_area_flows",
295 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 298 "rows": 16
299 299 },
@@ -302,8 +302,8 @@
302 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 303 "label": "tab:net_modularity",
304 304 "sources": [
305 − "./results/graph/modularity_yearly.csv",
306 − "./results/graph/cross_area_share_yearly.csv"
305 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/modularity_yearly.csv",
306 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/cross_area_share_yearly.csv"
307 307 ],
308 308 "rows": 9
309 309 },
@@ -312,7 +312,7 @@
312 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 313 "label": "tab:net_category_to_ai",
314 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 317 "rows": 40
318 318 },
@@ -321,7 +321,7 @@
321 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 322 "label": "tab:net_category_actors",
323 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 326 "rows": 40
327 327 },
@@ -330,7 +330,7 @@
330 330 "caption": "Actor shares of works whose primary category is in the AI/ML area against all other areas, by period (per cent).",
331 331 "label": "tab:net_ai_vs_rest",
332 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 335 "rows": 4
336 336 },
@@ -339,7 +339,7 @@
339 339 "caption": "China-affiliated, company-affiliated and international shares of works by year, AI/ML area against all other areas (per cent).",
340 340 "label": "tab:net_ai_vs_rest_yearly",
341 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 344 "rows": 9
345 345 },
@@ -348,7 +348,7 @@
348 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 349 "label": "tab:net_category_gini",
350 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 353 "rows": 40
354 354 },
@@ -357,7 +357,7 @@
357 357 "caption": "Citation inequality at 36 months, AI/ML area against all other areas, by publication year with a complete window.",
358 358 "label": "tab:net_gini_ai_vs_rest",
359 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 362 "rows": 6
363 363 },
@@ -366,16 +366,16 @@
366 366 "caption": "Volume, compound annual growth and corpus share of the nine AI categories, baseline (2018--2022) and post (2023--2025) periods.",
367 367 "label": "tab:ai_growth",
368 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 371 "rows": 9
372 372 },
373 373 {
374 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 376 "label": "tab:ai_counts",
377 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 380 "rows": 9
381 381 },
@@ -384,7 +384,7 @@
384 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 385 "label": "tab:ai_breaks",
386 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 389 "rows": 9
390 390 },
@@ -393,7 +393,7 @@
393 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 394 "label": "tab:ai_altdates",
395 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 398 "rows": 9
399 399 },
@@ -402,7 +402,7 @@
402 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 403 "label": "tab:ai_flows",
404 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 407 "rows": 27
408 408 },
@@ -411,7 +411,7 @@
411 411 "caption": "Specialist screening of the 234 AI/ML landmark candidates: records by primary category and data-quality flag.",
412 412 "label": "tab:ai_landmark_flags",
413 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 416 "rows": 9
417 417 },
@@ -420,7 +420,7 @@
420 420 "caption": "Contribution type of the 234 AI/ML landmark candidates by primary category (specialist judgement from abstract or metadata).",
421 421 "label": "tab:ai_contribution_types",
422 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 425 "rows": 9
426 426 },
@@ -429,7 +429,7 @@
429 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 430 "label": "tab:ai_landmarks",
431 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 434 "rows": 234
435 435 },
@@ -438,7 +438,7 @@
438 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 439 "label": "tab:security_counts",
440 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 443 "rows": 9
444 444 },
@@ -447,8 +447,8 @@
447 447 "caption": "Growth and structural-change summary for the five security-and-privacy categories (multi-label counts).",
448 448 "label": "tab:security_summary",
449 449 "sources": [
450 − "./results/graph/category_counts_yearly.csv",
451 − "./results/econometrics/breaks.csv"
450 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv",
451 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
452 452 ],
453 453 "rows": 5
454 454 },
@@ -457,8 +457,8 @@
457 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 458 "label": "tab:security_llm_cooccurrence",
459 459 "sources": [
460 − "./results/graph/category_cooccurrence_yearly.csv",
461 − "./results/graph/category_counts_yearly.csv"
460 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_yearly.csv",
461 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.csv"
462 462 ],
463 463 "rows": 9
464 464 },
@@ -467,7 +467,7 @@
467 467 "caption": "Composition of the automatically selected landmark set of the security-and-privacy area, by category.",
468 468 "label": "tab:security_landmarks",
469 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 472 "rows": 5
473 473 },
@@ -476,37 +476,256 @@
476 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 477 "label": "tab:systems_categories",
478 478 "sources": [
479 − "./results/bibliometrics/cagr_by_category.csv",
480 − "./results/econometrics/breaks.csv"
479 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/cagr_by_category.csv",
480 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/breaks.csv"
481 481 ],
482 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 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 680 "label": "tab:theory_counts",
488 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 693 "rows": 9
492 694 },
493 695 {
494 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 698 "label": "tab:theory_summary",
497 699 "sources": [
498 − "./results/graph/category_counts_yearly.csv",
499 − "./results/econometrics/breaks.csv"
700 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_counts_yearly.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 711 "rows": 6
502 712 },
503 713 {
504 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 716 "label": "tab:theory_llm_cooccurrence",
507 717 "sources": [
508 − "./results/graph/category_cooccurrence_yearly.csv",
509 − "./results/graph/category_counts_yearly.csv"
718 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/category_cooccurrence_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 730 "rows": 9
512 731 },
@@ -515,9 +734,9 @@
515 734 "caption": "Specialist audit of the automatically selected landmark candidates of the theory and software areas, by verdict and primary category.",
516 735 "label": "tab:theory_landmark_audit",
517 736 "sources": [
518 − "./literature_synthesis/agent_G/contributions.csv",
519 − "./literature_synthesis/landmarks/theory_landmarks.csv",
520 − "./literature_synthesis/landmarks/software_pl_landmarks.csv"
737 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/agent_G/contributions.csv",
738 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/theory_landmarks.csv",
739 + "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/literature_synthesis/landmarks/software_pl_landmarks.csv"
521 740 ],
522 741 "rows": 9
523 742 },
@@ -526,7 +745,7 @@
526 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 746 "label": "tab:theory_landmarks_discussed",
528 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 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 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 3 \begin{threeparttable}\small
4 4 \begin{tabular}{lrrrrrrrr}
5 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 7 \midrule
8 8 LLM & -0.380 & 0.007 & -0.182 & 0.002 & 0.236 & 0.002 & 0.457 & 0.001 \\
9 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 16 AI safety & -0.226 & 0.034 & -0.311 & 0.000 & -0.080 & 0.244 & 0.150 & 0.010 \\
17 17 \bottomrule
18 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 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 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
4 −\begin{tabular}{lrrrrrrrr}
3 +\begin{threeparttable}\footnotesize
4 +\begin{tabular}{@{}lrrrrrrrr@{}}
5 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 7 \midrule
8 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 \\
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 \\
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 \\
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 \\
16 −AI safety & -0.206 & 0.002 & 0.016 & 0.000 & 0.446 & 0.308 & 2021-06; 2022-09 & 2020-02; 2024-02 \\
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 \\
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 \\
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 \\
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 \\
17 17 \bottomrule
18 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 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 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 3 \begin{threeparttable}\small
4 4 \begin{tabular}{lrrrrrrr}
5 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 7 \midrule
8 −Large language models & 1 & 8 & 6 & 2 & 12 & 4 & 33 \\
9 −Foundation models & 1 & 0 & 1 & 16 & 6 & 1 & 25 \\
10 −Multimodal AI & 1 & 2 & 0 & 16 & 6 & 0 & 25 \\
11 −Generative AI & 0 & 9 & 1 & 5 & 8 & 2 & 25 \\
12 −AI agents & 1 & 0 & 4 & 0 & 13 & 7 & 25 \\
13 −Reinforcement learning & 0 & 5 & 2 & 11 & 3 & 4 & 25 \\
8 +LLM & 1 & 8 & 6 & 2 & 12 & 4 & 33 \\
9 +Foundation & 1 & 0 & 1 & 16 & 6 & 1 & 25 \\
10 +Multimodal & 1 & 2 & 0 & 16 & 6 & 0 & 25 \\
11 +Generative & 0 & 9 & 1 & 5 & 8 & 2 & 25 \\
12 +Agents & 1 & 0 & 4 & 0 & 13 & 7 & 25 \\
13 +RL & 0 & 5 & 2 & 11 & 3 & 4 & 25 \\
14 14 ML theory & 0 & 0 & 1 & 4 & 11 & 9 & 25 \\
15 −DL architectures & 0 & 2 & 1 & 11 & 11 & 0 & 25 \\
16 −AI safety and alignment & 0 & 7 & 1 & 2 & 14 & 2 & 26 \\
15 +DL arch. & 0 & 2 & 1 & 11 & 11 & 0 & 25 \\
16 +AI safety & 0 & 7 & 1 & 2 & 14 & 2 & 26 \\
17 17 \bottomrule
18 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 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
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}
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{Multi-label counts of the nine AI categories in selected years (all period rows summed; 2026 incomplete).}\label{tab:ai_counts}
3 3 \begin{threeparttable}\small
4 −\begin{tabular}{lrrrrrrrrr}
4 +\begin{tabular}{lrrrrrrr}
5 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 7 \midrule
8 −LLM & 15{,}397 & 18{,}253 & 21{,}706 & 24{,}153 & 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 \\
10 −Multimodal & 3{,}989 & 5{,}553 & 6{,}666 & 8{,}561 & 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 \\
12 −Agents & 10{,}042 & 10{,}745 & 10{,}642 & 10{,}593 & 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 \\
14 −ML theory & 28{,}277 & 37{,}723 & 43{,}455 & 47{,}121 & 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 \\
16 −AI safety & 3{,}309 & 5{,}385 & 7{,}749 & 9{,}909 & 11{,}593 & 16{,}606 & 26{,}098 & 44{,}888 & 51{,}629 \\
8 +LLM & 15{,}397 & 21{,}706 & 25{,}206 & 40{,}491 & 69{,}900 & 116{,}242 & 132{,}202 \\
9 +Foundation & 4{,}486 & 11{,}029 & 16{,}948 & 25{,}052 & 36{,}652 & 52{,}535 & 56{,}874 \\
10 +Multimodal & 3{,}989 & 6{,}666 & 10{,}369 & 15{,}746 & 24{,}979 & 42{,}707 & 47{,}737 \\
11 +Generative & 5{,}118 & 10{,}228 & 13{,}703 & 21{,}583 & 36{,}186 & 56{,}768 & 55{,}673 \\
12 +Agents & 10{,}042 & 10{,}642 & 10{,}324 & 12{,}255 & 16{,}189 & 29{,}517 & 45{,}112 \\
13 +RL & 8{,}157 & 14{,}307 & 18{,}491 & 22{,}678 & 28{,}572 & 43{,}949 & 44{,}996 \\
14 +ML theory & 28{,}277 & 43{,}455 & 48{,}940 & 58{,}770 & 70{,}964 & 91{,}772 & 84{,}417 \\
15 +DL arch. & 43{,}313 & 74{,}987 & 99{,}122 & 118{,}793 & 142{,}181 & 174{,}461 & 130{,}581 \\
16 +AI safety & 3{,}309 & 7{,}749 & 11{,}593 & 16{,}606 & 26{,}098 & 44{,}888 & 51{,}629 \\
17 17 \bottomrule
18 18 \end{tabular}
19 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
2 −\begin{longtable}{lrrrrrrrrr}
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@{}}
3 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 4 \toprule
5 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 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 3 \begin{threeparttable}\small
4 −\begin{tabular}{lrrrrrrrrr}
4 +\begin{tabular}{lrrrrrrr}
5 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 7 \midrule
8 −LLM & 1{,}635 & 3{,}266 & 10{,}389 & 45{,}158 & 0.189 & 1.085 & 0.33 & 0.58 & 5.06 \\
9 −Foundation & 46 & 350 & 571 & 1{,}854 & 0.661 & 0.802 & 0.01 & 0.06 & 0.21 \\
10 −Multimodal & 470 & 1{,}278 & 1{,}932 & 6{,}749 & 0.284 & 0.869 & 0.09 & 0.23 & 0.76 \\
11 −Generative & 766 & 2{,}160 & 3{,}646 & 12{,}743 & 0.296 & 0.870 & 0.15 & 0.39 & 1.43 \\
12 −Agents & 5{,}436 & 4{,}521 & 4{,}991 & 8{,}819 & -0.045 & 0.329 & 1.09 & 0.81 & 0.99 \\
13 −RL & 3{,}296 & 7{,}017 & 8{,}422 & 13{,}210 & 0.208 & 0.252 & 0.66 & 1.25 & 1.48 \\
14 −ML theory & 13{,}534 & 20{,}131 & 22{,}893 & 32{,}798 & 0.104 & 0.197 & 2.71 & 3.59 & 3.67 \\
15 −DL arch. & 11{,}992 & 22{,}270 & 25{,}607 & 34{,}141 & 0.167 & 0.155 & 2.40 & 3.97 & 3.82 \\
16 −AI safety & 1{,}052 & 2{,}954 & 4{,}015 & 10{,}885 & 0.294 & 0.647 & 0.21 & 0.53 & 1.22 \\
8 +LLM & 1{,}635 & 3{,}266 & 45{,}158 & 0.189 & 1.085 & 0.33 & 5.06 \\
9 +Foundation & 46 & 350 & 1{,}854 & 0.661 & 0.802 & 0.01 & 0.21 \\
10 +Multimodal & 470 & 1{,}278 & 6{,}749 & 0.284 & 0.869 & 0.09 & 0.76 \\
11 +Generative & 766 & 2{,}160 & 12{,}743 & 0.296 & 0.870 & 0.15 & 1.43 \\
12 +Agents & 5{,}436 & 4{,}521 & 8{,}819 & -0.045 & 0.329 & 1.09 & 0.99 \\
13 +RL & 3{,}296 & 7{,}017 & 13{,}210 & 0.208 & 0.252 & 0.66 & 1.48 \\
14 +ML theory & 13{,}534 & 20{,}131 & 32{,}798 & 0.104 & 0.197 & 2.71 & 3.67 \\
15 +DL arch. & 11{,}992 & 22{,}270 & 34{,}141 & 0.167 & 0.155 & 2.40 & 3.82 \\
16 +AI safety & 1{,}052 & 2{,}954 & 10{,}885 & 0.294 & 0.647 & 0.21 & 1.22 \\
17 17 \bottomrule
18 18 \end{tabular}
19 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 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 3 \begin{threeparttable}\small
4 4 \begin{tabular}{lrrrrrrrr}
5 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 7 \midrule
8 −Large language models & 1 & 7 & 4 & 2 & 0 & 19 & 0 & 33 \\
9 −Foundation models & 0 & 0 & 6 & 0 & 0 & 19 & 0 & 25 \\
10 −Multimodal AI & 0 & 0 & 5 & 0 & 0 & 20 & 0 & 25 \\
11 −Generative AI & 0 & 0 & 5 & 1 & 1 & 18 & 0 & 25 \\
12 −AI agents & 0 & 0 & 2 & 1 & 4 & 18 & 0 & 25 \\
13 −Reinforcement learning & 0 & 1 & 4 & 1 & 4 & 12 & 3 & 25 \\
14 −ML theory & 1 & 1 & 6 & 2 & 0 & 11 & 4 & 25 \\
15 −DL architectures & 0 & 3 & 4 & 0 & 0 & 14 & 4 & 25 \\
16 −AI safety and alignment & 1 & 1 & 4 & 0 & 1 & 19 & 0 & 26 \\
8 +LLM & 19 & 4 & 7 & 1 & 0 & 2 & 0 & 33 \\
9 +Foundation & 19 & 6 & 0 & 0 & 0 & 0 & 0 & 25 \\
10 +Multimodal & 20 & 5 & 0 & 0 & 0 & 0 & 0 & 25 \\
11 +Generative & 18 & 5 & 0 & 0 & 0 & 1 & 1 & 25 \\
12 +Agents & 18 & 2 & 0 & 0 & 0 & 1 & 4 & 25 \\
13 +RL & 12 & 4 & 1 & 0 & 3 & 1 & 4 & 25 \\
14 +ML theory & 11 & 6 & 1 & 1 & 4 & 2 & 0 & 25 \\
15 +DL arch. & 14 & 4 & 3 & 0 & 4 & 0 & 0 & 25 \\
16 +AI safety & 19 & 4 & 1 & 1 & 0 & 0 & 1 & 26 \\
17 17 \bottomrule
18 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 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
2 −\begin{longtable}{lrrrrrrr}
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@{}}
3 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 4 \toprule
5 5 \textbf{OpenAlex id} & \textbf{Year} & \textbf{Type} & \textbf{Category} & \textbf{c36} & \textbf{NCS36} & \textbf{Contribution} & \textbf{Flag} \\
@@ -9,240 +9,240 @@
9 9 \textbf{OpenAlex id} & \textbf{Year} & \textbf{Type} & \textbf{Category} & \textbf{c36} & \textbf{NCS36} & \textbf{Contribution} & \textbf{Flag} \\
10 10 \midrule
11 11 \endhead
12 −7172491899 & 2026 & article & LLM & 3{,}026 & 3367.3 & engineering & identifier mismatch \\
13 −7154011589 & 2026 & article & LLM & 2{,}847 & 3168.1 & empirical & identifier mismatch \\
14 −4362515116 & 2026 & article & LLM & 1{,}549 & 1723.7 & survey & ok \\
15 −4288253152 & 2024 & dissertation & LLM & 364 & 3102.1 & engineering & normalisation artefact \\
16 −4322718191 & 2023 & preprint & LLM & 3{,}629 & 1206.5 & engineering & ok \\
17 −4323655724 & 2023 & article & LLM & 4{,}227 & 990.7 & survey & ok \\
18 −4367369313 & 2026 & article & LLM & 261 & 290.4 & survey & ok \\
19 −4226278401 & 2022 & preprint & LLM & 3{,}077 & 894.2 & method & identifier mismatch \\
20 −4396531244 & 2024 & dissertation & LLM & 20 & 778.8 & engineering & normalisation artefact \\
21 −4221143046 & 2022 & preprint & LLM & 2{,}465 & 716.4 & theory & identifier mismatch \\
22 −4327810158 & 2023 & preprint & LLM & 1{,}968 & 654.3 & engineering & abstract mismatch \\
23 −7135096569 & 2026 & article & LLM & 183 & 203.6 & empirical & ok \\
24 −4414281281 & 2025 & article & LLM & 1{,}099 & 374.4 & method & ok \\
25 −4389437528 & 2023 & article & LLM & 2{,}361 & 553.4 & survey & ok \\
26 −4292779060 & 2023 & article & LLM & 13{,}333 & 534.7 & theory & identifier mismatch \\
27 −4360836968 & 2023 & preprint & LLM & 1{,}420 & 472.1 & empirical & ok \\
28 −4406800520 & 2025 & article & LLM & 914 & 311.4 & survey & no abstract \\
29 −4385223296 & 2023 & book-chapter & LLM & 612 & 421.3 & survey & no abstract \\
30 −4287689466 & 2025 & conference-paper & LLM & 722 & 548.6 & empirical & identifier mismatch \\
31 −4366420437 & 2023 & article & LLM & 1{,}541 & 361.2 & survey & ok \\
32 −4317910584 & 2023 & article & LLM & 1{,}530 & 358.6 & survey & ok \\
33 −4313564799 & 2023 & preprint & LLM & 811 & 335.9 & empirical & no abstract \\
34 −4382618722 & 2026 & article & LLM & 94 & 98.9 & engineering & ok \\
35 −4384464487 & 2023 & article & LLM & 1{,}398 & 327.7 & empirical & ok \\
36 −4392773210 & 2024 & article & LLM & 1{,}085 & 326.7 & survey & ok \\
37 −4387355843 & 2026 & book-chapter & Foundation & 197 & 188.6 & method & ok \\
38 −4392947521 & 2024 & article & Foundation & 1{,}505 & 186.9 & method & no abstract \\
39 −7124890304 & 2026 & article & Foundation & 42 & 46.5 & method & no abstract \\
40 −4410551352 & 2025 & article & Foundation & 249 & 69.7 & method & ok \\
41 −4322832366 & 2026 & conference-paper & Foundation & 35 & 126.3 & method & ok \\
42 −7133233472 & 2023 & conference-paper & Foundation & 532 & 122.7 & method & ok \\
43 −2990704537 & 2019 & article & Foundation & 668 & 101.6 & benchmark & ok \\
44 −7125271461 & 2026 & article & Foundation & 25 & 70.6 & engineering & ok \\
45 −7119541039 & 2026 & article & Foundation & 24 & 26.7 & theory & ok \\
46 −4393138529 & 2024 & preprint & Foundation & 95 & 82.9 & survey & ok \\
47 −4390690043 & 2026 & article & Foundation & 22 & 10.0 & survey & ok \\
48 −7128029160 & 2026 & article & Foundation & 20 & 22.3 & method & ok \\
49 −4402220065 & 2024 & article & Foundation & 562 & 69.8 & method & no abstract \\
50 −7118170538 & 2026 & article & Foundation & 17 & 17.9 & survey & ok \\
51 −4411932262 & 2025 & article & Foundation & 110 & 26.9 & method & ok \\
52 −4411099958 & 2025 & article & Foundation & 108 & 18.4 & method & ok \\
53 −4361229539 & 2023 & preprint & Foundation & 161 & 53.5 & method & ok \\
54 −4407135816 & 2025 & article & Foundation & 103 & 6.9 & survey & ok \\
55 −4385948838 & 2023 & article & Foundation & 471 & 49.1 & method & no abstract \\
56 −4406643700 & 2025 & article & Foundation & 91 & 19.1 & survey & ok \\
57 −4406472599 & 2025 & article & Foundation & 86 & 29.3 & survey & no abstract \\
58 −4393153153 & 2024 & conference-paper & Foundation & 113 & 41.8 & method & ok \\
59 −4402727669 & 2024 & conference-paper & Foundation & 184 & 38.6 & method & ok \\
60 −4401397240 & 2024 & article & Foundation & 325 & 38.5 & method & no abstract \\
61 −4385285835 & 2023 & preprint & Foundation & 107 & 35.6 & method & ok \\
62 −4318718936 & 2023 & preprint & Multimodal & 875 & 273.1 & method & ok \\
63 −4393148714 & 2024 & conference-paper & Multimodal & 923 & 193.7 & method & ok \\
64 −4396599905 & 2026 & article & Multimodal & 48 & 128.7 & survey & ok \\
65 −4396952261 & 2024 & book-chapter & Multimodal & 189 & 147.2 & survey & no abstract \\
66 −7133250524 & 2022 & conference-paper & Multimodal & 828 & 111.9 & benchmark & no abstract \\
67 −4392947532 & 2024 & article & Multimodal & 938 & 111.1 & method & no abstract \\
68 −7138474371 & 2026 & conference-paper & Multimodal & 31 & 159.4 & method & ok \\
69 −7127319731 & 2026 & article & Multimodal & 29 & 77.7 & method & ok \\
70 −2619383789 & 2018 & article & Multimodal & 587 & 103.1 & survey & ok \\
71 −7148475777 & 2026 & conference-paper & Multimodal & 26 & 73.2 & empirical & ok \\
72 −7160627408 & 2026 & conference-paper & Multimodal & 23 & 193.4 & method & ok \\
73 −2995460200 & 2020 & conference-paper & Multimodal & 670 & 81.1 & method & ok \\
74 −4415913530 & 2025 & article & Multimodal & 157 & 53.5 & method & ok \\
75 −4289785095 & 2022 & preprint & Multimodal & 366 & 79.4 & method & ok \\
76 −7125233009 & 2026 & article & Multimodal & 22 & 24.5 & method & ok \\
77 −7143512276 & 2026 & article & Multimodal & 21 & 23.4 & survey & ok \\
78 −4413447271 & 2025 & article & Multimodal & 142 & 46.4 & method & ok \\
79 −7131830459 & 2026 & article & Multimodal & 20 & 142.1 & survey & ok \\
80 −7206206818 & 2026 & article & Multimodal & 18 & 48.2 & method & ok \\
81 −7133220561 & 2023 & conference-paper & Multimodal & 454 & 63.4 & method & no abstract \\
82 −7164501397 & 2026 & article & Multimodal & 17 & 45.6 & empirical & ok \\
83 −7165561001 & 2026 & conference-paper & Multimodal & 17 & 143.0 & method & no abstract \\
84 −7138470740 & 2026 & conference-paper & Multimodal & 17 & 130.5 & method & ok \\
85 −7138363754 & 2026 & conference-paper & Multimodal & 17 & 130.5 & method & ok \\
86 −4410882873 & 2025 & article & Multimodal & 119 & 7.9 & survey & ok \\
87 −4400228804 & 2024 & dissertation & Generative & 2 & 540.0 & empirical & normalisation artefact \\
88 −7124262017 & 2026 & book & Generative & 87 & 783.7 & survey & ok \\
89 −4406472463 & 2025 & article & Generative & 498 & 77.1 & method & ok \\
90 −7123342962 & 2026 & article & Generative & 66 & 176.9 & method & ok \\
91 −4383312437 & 2023 & article & Generative & 988 & 231.6 & empirical & ok \\
92 −7133185348 & 2022 & conference-paper & Generative & 1{,}706 & 230.5 & method & no abstract \\
93 −3195296536 & 2020 & dissertation & Generative & 48 & 221.7 & method & no abstract \\
94 −4322617812 & 2023 & article & Generative & 873 & 204.6 & theory & ok \\
95 −3096831136 & 2020 & article & Generative & 1{,}473 & 198.6 & survey & ok \\
96 −4400770292 & 2024 & preprint & Generative & 198 & 174.2 & empirical & no abstract \\
97 −7127274868 & 2026 & article & Generative & 48 & 341.0 & empirical & ok \\
98 −7124974472 & 2026 & article & Generative & 42 & 46.7 & empirical & ok \\
99 −7118187240 & 2026 & article & Generative & 40 & 44.5 & engineering & off scope \\
100 −4406199489 & 2025 & article & Generative & 278 & 241.4 & survey & ok \\
101 −4398243313 & 2024 & article & Generative & 463 & 139.4 & survey & ok \\
102 −4409269614 & 2025 & review & Generative & 271 & 14.2 & survey & ok \\
103 −3193917007 & 2021 & book-chapter & Generative & 195 & 127.1 & survey & ok \\
104 −4288099666 & 2022 & preprint & Generative & 575 & 124.8 & method & ok \\
105 −4394934695 & 2024 & article & Generative & 394 & 118.6 & empirical & ok \\
106 −4321648656 & 2026 & article & Generative & 33 & 88.5 & survey & ok \\
107 −4395957952 & 2023 & book & Generative & 400 & 116.7 & survey & no abstract \\
108 −4394863715 & 2024 & preprint & Generative & 131 & 114.3 & empirical & no abstract \\
109 −4407778399 & 2025 & article & Generative & 213 & 184.9 & empirical & ok \\
110 −7124432017 & 2026 & article & Generative & 30 & 213.1 & theory & ok \\
111 −7140170686 & 2026 & article & Generative & 30 & 213.1 & empirical & ok \\
112 −4406728221 & 2025 & article & Agents & 694 & 236.4 & survey & ok \\
113 −7161734976 & 2026 & article & Agents & 62 & 175.1 & engineering & ok \\
114 −7135409568 & 2026 & article & Agents & 52 & 23.7 & survey & ok \\
115 −7134187809 & 2026 & article & Agents & 46 & 129.9 & theory & off scope \\
116 −4390730779 & 2026 & article & Agents & 44 & 49.0 & survey & ok \\
117 −4225355126 & 2022 & book-chapter & Agents & 268 & 143.6 & survey & no abstract \\
118 −4407570917 & 2026 & article & Agents & 40 & 44.5 & engineering & ok \\
119 −4410197190 & 2025 & review & Agents & 267 & 33.1 & survey & ok \\
120 −4413427262 & 2025 & article & Agents & 258 & 87.9 & survey & ok \\
121 −4414991289 & 2026 & article & Agents & 31 & 23.9 & engineering & ok \\
122 −7122857583 & 2026 & article & Agents & 30 & 33.4 & theory & ok \\
123 −4401023556 & 2024 & conference-paper & Agents & 371 & 103.1 & survey & ok \\
124 −4414023998 & 2025 & article & Agents & 189 & 64.4 & survey & ok \\
125 −7118083939 & 2026 & article & Agents & 26 & 32.7 & theory & ok \\
126 −4412505619 & 2025 & article & Agents & 181 & 61.7 & survey & ok \\
127 −4416209823 & 2025 & article & Agents & 165 & 56.2 & survey & ok \\
128 −7155930820 & 2026 & article & Agents & 23 & 80.7 & theory & off scope \\
129 −7162257503 & 2026 & article & Agents & 22 & 77.2 & theory & off scope \\
130 −4412709685 & 2025 & article & Agents & 150 & 33.5 & engineering & no abstract \\
131 −7128165235 & 2026 & article & Agents & 21 & 23.4 & theory & ok \\
132 −7118190454 & 2026 & article & Agents & 21 & 22.2 & survey & ok \\
133 −7130481397 & 2026 & article & Agents & 21 & 9.6 & benchmark & ok \\
134 −4390638955 & 2024 & article & Agents & 240 & 72.3 & survey & off scope \\
135 −4412203333 & 2025 & article & Agents & 139 & 47.4 & survey & ok \\
136 −4399982941 & 2024 & dissertation & Agents & 8 & 68.2 & theory & normalisation artefact \\
137 −2911283634 & 2020 & book-chapter & RL & 532 & 276.0 & survey & no abstract \\
138 −4389473504 & 2023 & dissertation & RL & 28 & 232.9 & method & ok \\
139 −2964083594 & 2025 & conference-paper & RL & 414 & 367.9 & empirical & year implausible \\
140 −2098774185 & 2018 & article & RL & 1{,}077 & 203.3 & method & year implausible \\
141 −1591675293 & 2025 & book-chapter & RL & 395 & 665.0 & method & year implausible \\
142 −7123365826 & 2026 & article & RL & 55 & 155.3 & theory & off scope \\
143 −2991046523 & 2021 & book-chapter & RL & 530 & 178.4 & survey & no abstract \\
144 −2973229164 & 2019 & dissertation & RL & 47 & 171.2 & method & ok \\
145 −2982316857 & 2019 & article & RL & 1{,}021 & 155.2 & engineering & no abstract \\
146 −2902907165 & 2018 & article & RL & 733 & 138.3 & method & ok \\
147 −7133481537 & 2026 & article & RL & 35 & 122.9 & theory & off scope \\
148 −7133226216 & 2022 & conference-paper & RL & 482 & 95.8 & empirical & ok \\
149 −3041807988 & 2020 & article & RL & 322 & 93.8 & theory & off scope \\
150 −2781726626 & 2018 & preprint & RL & 775 & 90.8 & method & ok \\
151 −2963923407 & 2018 & article & RL & 472 & 89.1 & method & ok \\
152 −7122543576 & 2026 & article & RL & 25 & 70.6 & theory & off scope \\
153 −2899138465 & 2018 & dissertation & RL & 20 & 88.6 & method & ok \\
154 −4391631327 & 2024 & preprint & RL & 99 & 86.4 & empirical & identifier mismatch \\
155 −4409147637 & 2025 & article & RL & 170 & 57.9 & method & ok \\
156 −2895974005 & 2018 & dissertation & RL & 18 & 79.8 & empirical & normalisation artefact \\
157 −7134057781 & 2026 & article & RL & 21 & 23.4 & engineering & ok \\
158 −2754517384 & 2018 & conference-paper & RL & 452 & 70.0 & empirical & ok \\
159 −2761873684 & 2018 & conference-paper & RL & 442 & 68.4 & method & ok \\
160 −7133208539 & 2023 & conference-paper & RL & 293 & 67.6 & method & no abstract \\
161 −7128436456 & 2026 & article & RL & 19 & 21.0 & survey & ok \\
162 −2962862931 & 2024 & conference-paper & ML theory & 12{,}586 & 3498.4 & method & identifier mismatch \\
163 −1698155719 & 2020 & book-chapter & ML theory & 1{,}212 & 971.7 & survey & ok \\
164 −4288283362 & 2026 & article & ML theory & 174 & 576.9 & method & normalisation artefact \\
165 −46659105 & 2020 & preprint & ML theory & 3{,}906 & 608.2 & theory & abstract mismatch \\
166 −3145506661 & 2019 & book-chapter & ML theory & 1{,}581 & 491.8 & survey & no abstract \\
167 −2291445757 & 2024 & book-chapter & ML theory & 769 & 426.8 & survey & ok \\
168 −2100415632 & 2026 & preprint & ML theory & 116 & 667.5 & theory & year implausible \\
169 −1568555062 & 2022 & book-chapter & ML theory & 576 & 308.7 & theory & ok \\
170 −2751318774 & 2019 & book-chapter & ML theory & 978 & 304.2 & survey & ok \\
171 −3208688400 & 2021 & book-chapter & ML theory & 833 & 280.5 & survey & no abstract \\
172 −3105488314 & 2020 & dissertation & ML theory & 59 & 272.4 & theory & no abstract \\
173 −57706852 & 2026 & preprint & ML theory & 72 & 414.3 & theory & year implausible \\
174 −2946444988 & 2026 & preprint & ML theory & 68 & 2646.0 & method & year implausible \\
175 −2945976633 & 2019 & article & ML theory & 1{,}556 & 236.6 & theory & no abstract \\
176 −4400823820 & 2024 & article & ML theory & 782 & 235.4 & survey & ok \\
177 −2999309192 & 2020 & article & ML theory & 1{,}781 & 222.8 & theory & ok \\
178 −2999615587 & 2020 & article & ML theory & 1{,}767 & 221.0 & method & no abstract \\
179 −2439568532 & 2018 & article & ML theory & 1{,}085 & 204.8 & theory & ok \\
180 −3194464139 & 2020 & dissertation & ML theory & 21 & 197.5 & engineering & normalisation artefact \\
181 −3041133507 & 2020 & article & ML theory & 1{,}538 & 192.4 & survey & ok \\
182 −2436219157 & 2018 & article & ML theory & 956 & 180.4 & survey & ok \\
183 −3135028703 & 2021 & article & ML theory & 1{,}518 & 176.9 & survey & no abstract \\
184 −7124426637 & 2026 & article & ML theory & 46 & 51.2 & survey & ok \\
185 −2165856466 & 2026 & preprint & ML theory & 45 & 259.0 & theory & year implausible \\
186 −4402843978 & 2020 & report & ML theory & 455 & 158.3 & survey & ok \\
187 −2964121744 & 2026 & article & DL arch. & 45{,}775 & 50938.5 & engineering & identifier mismatch \\
188 −1710476689 & 2022 & book-chapter & DL arch. & 2{,}385 & 1018.2 & survey & ok \\
189 −4322614756 & 2025 & conference-paper & DL arch. & 1{,}542 & 1370.5 & method & identifier mismatch \\
190 −2963399829 & 2024 & preprint & DL arch. & 773 & 674.3 & method & year implausible \\
191 −4382203079 & 2023 & conference-paper & DL arch. & 2{,}278 & 621.0 & empirical & ok \\
192 −4406170795 & 2025 & article & DL arch. & 974 & 331.8 & method & ok \\
193 −146900863 & 2018 & book-chapter & DL arch. & 999 & 464.0 & survey & no abstract \\
194 −4396821501 & 2024 & preprint & DL arch. & 531 & 463.2 & method & ok \\
195 −2950067852 & 2026 & preprint & DL arch. & 119 & 4630.6 & method & year implausible \\
196 −4221150249 & 2026 & article & DL arch. & 107 & 119.1 & survey & ok \\
197 −7148890333 & 2026 & article & DL arch. & 102 & 113.0 & method & no abstract \\
198 −3177318507 & 2021 & conference-paper & DL arch. & 1{,}344 & 315.3 & method & ok \\
199 −4389326242 & 2023 & preprint & DL arch. & 912 & 303.2 & method & ok \\
200 −7118302872 & 2026 & article & DL arch. & 85 & 87.6 & method & ok \\
201 −3137147200 & 2022 & book-chapter & DL arch. & 698 & 298.0 & survey & ok \\
202 −3140854437 & 2021 & article & DL arch. & 2{,}452 & 293.1 & survey & ok \\
203 −4210257598 & 2020 & article & DL arch. & 2{,}239 & 280.0 & survey & ok \\
204 −2907492528 & 2020 & article & DL arch. & 2{,}230 & 278.9 & survey & ok \\
205 −3152893301 & 2020 & article & DL arch. & 2{,}023 & 253.0 & survey & ok \\
206 −7110333790 & 2025 & article & DL arch. & 496 & 169.0 & method & identifier mismatch \\
207 −4385763767 & 2023 & conference-paper & DL arch. & 921 & 251.1 & survey & ok \\
208 −3124006607 & 2026 & conference-paper & DL arch. & 69 & 529.6 & method & year implausible \\
209 −4285723986 & 2020 & book-chapter & DL arch. & 471 & 244.4 & survey & no abstract \\
210 −2892035503 & 2019 & article & DL arch. & 908 & 192.7 & survey & no abstract \\
211 −2962776659 & 2024 & preprint & DL arch. & 212 & 184.9 & empirical & year implausible \\
212 −4406063062 & 2025 & article & AI safety & 534 & 74.5 & survey & ok \\
213 −7130596601 & 2026 & article & AI safety & 65 & 29.6 & survey & ok \\
214 −3084163594 & 2020 & article & AI safety & 775 & 225.7 & survey & off scope \\
215 −2963808661 & 2025 & conference-paper & AI safety & 390 & 126.3 & engineering & identifier mismatch \\
216 −7133236347 & 2026 & article & AI safety & 51 & 44.5 & survey & ok \\
217 −7128782475 & 2026 & article & AI safety & 51 & 23.2 & empirical & ok \\
218 −4406571986 & 2025 & article & AI safety & 347 & 301.3 & empirical & ok \\
219 −2981731882 & 2019 & article & AI safety & 1{,}097 & 166.8 & survey & no abstract \\
220 −4402698709 & 2026 & article & AI safety & 44 & 38.4 & survey & ok \\
221 −4408314709 & 2025 & article & AI safety & 303 & 42.3 & survey & ok \\
222 −4407243994 & 2025 & article & AI safety & 300 & 41.8 & theory & ok \\
223 −4330336443 & 2023 & preprint & AI safety & 495 & 146.6 & empirical & abstract mismatch \\
224 −7128600296 & 2026 & review & AI safety & 41 & 12.8 & survey & ok \\
225 −4399450035 & 2024 & conference-paper & AI safety & 359 & 138.5 & empirical & ok \\
226 −4318586239 & 2023 & book-chapter & AI safety & 247 & 136.6 & survey & ok \\
227 −4360615722 & 2023 & article & AI safety & 557 & 130.5 & theory & ok \\
228 −2670253439 & 2018 & article & AI safety & 676 & 127.6 & survey & no abstract \\
229 −7118631510 & 2026 & article & AI safety & 35 & 38.9 & method & no abstract \\
230 −7127143535 & 2026 & article & AI safety & 33 & 50.0 & empirical & no abstract \\
231 −4409249263 & 2025 & article & AI safety & 218 & 14.5 & survey & ok \\
232 −4366262984 & 2023 & article & AI safety & 1{,}197 & 109.9 & survey & ok \\
233 −2969896603 & 2021 & article & AI safety & 1{,}794 & 102.3 & survey & ok \\
234 −4406152291 & 2025 & article & AI safety & 199 & 67.8 & empirical & ok \\
235 −4410609100 & 2025 & conference-paper & AI safety & 193 & 171.5 & method & ok \\
236 −4411542009 & 2025 & conference-paper & AI safety & 191 & 61.8 & empirical & ok \\
237 −4360620450 & 2023 & article & LLM & 3{,}137 & 113.5 & survey & ok \\
238 −3185341429 & 2022 & article & LLM & 2{,}462 & 253.7 & survey & ok \\
239 −4384071683 & 2023 & article & LLM & 2{,}448 & 38.1 & benchmark & ok \\
240 −4384918448 & 2023 & preprint & LLM & 2{,}431 & 88.5 & empirical & identifier mismatch \\
241 −4393065402 & 2024 & article & LLM & 1{,}820 & 226.1 & survey & ok \\
242 −4319083882 & 2023 & article & LLM & 1{,}590 & 146.0 & theory & no abstract \\
243 −4399790131 & 2024 & review & AI safety & 1{,}484 & 81.8 & survey & ok \\
244 −3133702157 & 2021 & conference-paper & LLM & 1{,}464 & 232.1 & theory & ok \\
245 −4321499901 & 2023 & article & LLM & 1{,}389 & 325.5 & empirical & ok \\
12 +7172491899 & 2026 & art. & LLM & 3{,}026 & 3367.3 & engin. & id. mism. \\
13 +7154011589 & 2026 & art. & LLM & 2{,}847 & 3168.1 & empirical & id. mism. \\
14 +4362515116 & 2026 & art. & LLM & 1{,}549 & 1723.7 & survey & OK \\
15 +4288253152 & 2024 & diss. & LLM & 364 & 3102.1 & engin. & norm. \\
16 +4322718191 & 2023 & prepr. & LLM & 3{,}629 & 1206.5 & engin. & OK \\
17 +4323655724 & 2023 & art. & LLM & 4{,}227 & 990.7 & survey & OK \\
18 +4367369313 & 2026 & art. & LLM & 261 & 290.4 & survey & OK \\
19 +4226278401 & 2022 & prepr. & LLM & 3{,}077 & 894.2 & method & id. mism. \\
20 +4396531244 & 2024 & diss. & LLM & 20 & 778.8 & engin. & norm. \\
21 +4221143046 & 2022 & prepr. & LLM & 2{,}465 & 716.4 & theory & id. mism. \\
22 +4327810158 & 2023 & prepr. & LLM & 1{,}968 & 654.3 & engin. & abstr. mism. \\
23 +7135096569 & 2026 & art. & LLM & 183 & 203.6 & empirical & OK \\
24 +4414281281 & 2025 & art. & LLM & 1{,}099 & 374.4 & method & OK \\
25 +4389437528 & 2023 & art. & LLM & 2{,}361 & 553.4 & survey & OK \\
26 +4292779060 & 2023 & art. & LLM & 13{,}333 & 534.7 & theory & id. mism. \\
27 +4360836968 & 2023 & prepr. & LLM & 1{,}420 & 472.1 & empirical & OK \\
28 +4406800520 & 2025 & art. & LLM & 914 & 311.4 & survey & no abstr. \\
29 +4385223296 & 2023 & chap. & LLM & 612 & 421.3 & survey & no abstr. \\
30 +4287689466 & 2025 & conf. & LLM & 722 & 548.6 & empirical & id. mism. \\
31 +4366420437 & 2023 & art. & LLM & 1{,}541 & 361.2 & survey & OK \\
32 +4317910584 & 2023 & art. & LLM & 1{,}530 & 358.6 & survey & OK \\
33 +4313564799 & 2023 & prepr. & LLM & 811 & 335.9 & empirical & no abstr. \\
34 +4382618722 & 2026 & art. & LLM & 94 & 98.9 & engin. & OK \\
35 +4384464487 & 2023 & art. & LLM & 1{,}398 & 327.7 & empirical & OK \\
36 +4392773210 & 2024 & art. & LLM & 1{,}085 & 326.7 & survey & OK \\
37 +4387355843 & 2026 & chap. & Foundation & 197 & 188.6 & method & OK \\
38 +4392947521 & 2024 & art. & Foundation & 1{,}505 & 186.9 & method & no abstr. \\
39 +7124890304 & 2026 & art. & Foundation & 42 & 46.5 & method & no abstr. \\
40 +4410551352 & 2025 & art. & Foundation & 249 & 69.7 & method & OK \\
41 +4322832366 & 2026 & conf. & Foundation & 35 & 126.3 & method & OK \\
42 +7133233472 & 2023 & conf. & Foundation & 532 & 122.7 & method & OK \\
43 +2990704537 & 2019 & art. & Foundation & 668 & 101.6 & bench. & OK \\
44 +7125271461 & 2026 & art. & Foundation & 25 & 70.6 & engin. & OK \\
45 +7119541039 & 2026 & art. & Foundation & 24 & 26.7 & theory & OK \\
46 +4393138529 & 2024 & prepr. & Foundation & 95 & 82.9 & survey & OK \\
47 +4390690043 & 2026 & art. & Foundation & 22 & 10.0 & survey & OK \\
48 +7128029160 & 2026 & art. & Foundation & 20 & 22.3 & method & OK \\
49 +4402220065 & 2024 & art. & Foundation & 562 & 69.8 & method & no abstr. \\
50 +7118170538 & 2026 & art. & Foundation & 17 & 17.9 & survey & OK \\
51 +4411932262 & 2025 & art. & Foundation & 110 & 26.9 & method & OK \\
52 +4411099958 & 2025 & art. & Foundation & 108 & 18.4 & method & OK \\
53 +4361229539 & 2023 & prepr. & Foundation & 161 & 53.5 & method & OK \\
54 +4407135816 & 2025 & art. & Foundation & 103 & 6.9 & survey & OK \\
55 +4385948838 & 2023 & art. & Foundation & 471 & 49.1 & method & no abstr. \\
56 +4406643700 & 2025 & art. & Foundation & 91 & 19.1 & survey & OK \\
57 +4406472599 & 2025 & art. & Foundation & 86 & 29.3 & survey & no abstr. \\
58 +4393153153 & 2024 & conf. & Foundation & 113 & 41.8 & method & OK \\
59 +4402727669 & 2024 & conf. & Foundation & 184 & 38.6 & method & OK \\
60 +4401397240 & 2024 & art. & Foundation & 325 & 38.5 & method & no abstr. \\
61 +4385285835 & 2023 & prepr. & Foundation & 107 & 35.6 & method & OK \\
62 +4318718936 & 2023 & prepr. & Multimodal & 875 & 273.1 & method & OK \\
63 +4393148714 & 2024 & conf. & Multimodal & 923 & 193.7 & method & OK \\
64 +4396599905 & 2026 & art. & Multimodal & 48 & 128.7 & survey & OK \\
65 +4396952261 & 2024 & chap. & Multimodal & 189 & 147.2 & survey & no abstr. \\
66 +7133250524 & 2022 & conf. & Multimodal & 828 & 111.9 & bench. & no abstr. \\
67 +4392947532 & 2024 & art. & Multimodal & 938 & 111.1 & method & no abstr. \\
68 +7138474371 & 2026 & conf. & Multimodal & 31 & 159.4 & method & OK \\
69 +7127319731 & 2026 & art. & Multimodal & 29 & 77.7 & method & OK \\
70 +2619383789 & 2018 & art. & Multimodal & 587 & 103.1 & survey & OK \\
71 +7148475777 & 2026 & conf. & Multimodal & 26 & 73.2 & empirical & OK \\
72 +7160627408 & 2026 & conf. & Multimodal & 23 & 193.4 & method & OK \\
73 +2995460200 & 2020 & conf. & Multimodal & 670 & 81.1 & method & OK \\
74 +4415913530 & 2025 & art. & Multimodal & 157 & 53.5 & method & OK \\
75 +4289785095 & 2022 & prepr. & Multimodal & 366 & 79.4 & method & OK \\
76 +7125233009 & 2026 & art. & Multimodal & 22 & 24.5 & method & OK \\
77 +7143512276 & 2026 & art. & Multimodal & 21 & 23.4 & survey & OK \\
78 +4413447271 & 2025 & art. & Multimodal & 142 & 46.4 & method & OK \\
79 +7131830459 & 2026 & art. & Multimodal & 20 & 142.1 & survey & OK \\
80 +7206206818 & 2026 & art. & Multimodal & 18 & 48.2 & method & OK \\
81 +7133220561 & 2023 & conf. & Multimodal & 454 & 63.4 & method & no abstr. \\
82 +7164501397 & 2026 & art. & Multimodal & 17 & 45.6 & empirical & OK \\
83 +7165561001 & 2026 & conf. & Multimodal & 17 & 143.0 & method & no abstr. \\
84 +7138470740 & 2026 & conf. & Multimodal & 17 & 130.5 & method & OK \\
85 +7138363754 & 2026 & conf. & Multimodal & 17 & 130.5 & method & OK \\
86 +4410882873 & 2025 & art. & Multimodal & 119 & 7.9 & survey & OK \\
87 +4400228804 & 2024 & diss. & Generative & 2 & 540.0 & empirical & norm. \\
88 +7124262017 & 2026 & book & Generative & 87 & 783.7 & survey & OK \\
89 +4406472463 & 2025 & art. & Generative & 498 & 77.1 & method & OK \\
90 +7123342962 & 2026 & art. & Generative & 66 & 176.9 & method & OK \\
91 +4383312437 & 2023 & art. & Generative & 988 & 231.6 & empirical & OK \\
92 +7133185348 & 2022 & conf. & Generative & 1{,}706 & 230.5 & method & no abstr. \\
93 +3195296536 & 2020 & diss. & Generative & 48 & 221.7 & method & no abstr. \\
94 +4322617812 & 2023 & art. & Generative & 873 & 204.6 & theory & OK \\
95 +3096831136 & 2020 & art. & Generative & 1{,}473 & 198.6 & survey & OK \\
96 +4400770292 & 2024 & prepr. & Generative & 198 & 174.2 & empirical & no abstr. \\
97 +7127274868 & 2026 & art. & Generative & 48 & 341.0 & empirical & OK \\
98 +7124974472 & 2026 & art. & Generative & 42 & 46.7 & empirical & OK \\
99 +7118187240 & 2026 & art. & Generative & 40 & 44.5 & engin. & off scope \\
100 +4406199489 & 2025 & art. & Generative & 278 & 241.4 & survey & OK \\
101 +4398243313 & 2024 & art. & Generative & 463 & 139.4 & survey & OK \\
102 +4409269614 & 2025 & rev. & Generative & 271 & 14.2 & survey & OK \\
103 +3193917007 & 2021 & chap. & Generative & 195 & 127.1 & survey & OK \\
104 +4288099666 & 2022 & prepr. & Generative & 575 & 124.8 & method & OK \\
105 +4394934695 & 2024 & art. & Generative & 394 & 118.6 & empirical & OK \\
106 +4321648656 & 2026 & art. & Generative & 33 & 88.5 & survey & OK \\
107 +4395957952 & 2023 & book & Generative & 400 & 116.7 & survey & no abstr. \\
108 +4394863715 & 2024 & prepr. & Generative & 131 & 114.3 & empirical & no abstr. \\
109 +4407778399 & 2025 & art. & Generative & 213 & 184.9 & empirical & OK \\
110 +7124432017 & 2026 & art. & Generative & 30 & 213.1 & theory & OK \\
111 +7140170686 & 2026 & art. & Generative & 30 & 213.1 & empirical & OK \\
112 +4406728221 & 2025 & art. & Agents & 694 & 236.4 & survey & OK \\
113 +7161734976 & 2026 & art. & Agents & 62 & 175.1 & engin. & OK \\
114 +7135409568 & 2026 & art. & Agents & 52 & 23.7 & survey & OK \\
115 +7134187809 & 2026 & art. & Agents & 46 & 129.9 & theory & off scope \\
116 +4390730779 & 2026 & art. & Agents & 44 & 49.0 & survey & OK \\
117 +4225355126 & 2022 & chap. & Agents & 268 & 143.6 & survey & no abstr. \\
118 +4407570917 & 2026 & art. & Agents & 40 & 44.5 & engin. & OK \\
119 +4410197190 & 2025 & rev. & Agents & 267 & 33.1 & survey & OK \\
120 +4413427262 & 2025 & art. & Agents & 258 & 87.9 & survey & OK \\
121 +4414991289 & 2026 & art. & Agents & 31 & 23.9 & engin. & OK \\
122 +7122857583 & 2026 & art. & Agents & 30 & 33.4 & theory & OK \\
123 +4401023556 & 2024 & conf. & Agents & 371 & 103.1 & survey & OK \\
124 +4414023998 & 2025 & art. & Agents & 189 & 64.4 & survey & OK \\
125 +7118083939 & 2026 & art. & Agents & 26 & 32.7 & theory & OK \\
126 +4412505619 & 2025 & art. & Agents & 181 & 61.7 & survey & OK \\
127 +4416209823 & 2025 & art. & Agents & 165 & 56.2 & survey & OK \\
128 +7155930820 & 2026 & art. & Agents & 23 & 80.7 & theory & off scope \\
129 +7162257503 & 2026 & art. & Agents & 22 & 77.2 & theory & off scope \\
130 +4412709685 & 2025 & art. & Agents & 150 & 33.5 & engin. & no abstr. \\
131 +7128165235 & 2026 & art. & Agents & 21 & 23.4 & theory & OK \\
132 +7118190454 & 2026 & art. & Agents & 21 & 22.2 & survey & OK \\
133 +7130481397 & 2026 & art. & Agents & 21 & 9.6 & bench. & OK \\
134 +4390638955 & 2024 & art. & Agents & 240 & 72.3 & survey & off scope \\
135 +4412203333 & 2025 & art. & Agents & 139 & 47.4 & survey & OK \\
136 +4399982941 & 2024 & diss. & Agents & 8 & 68.2 & theory & norm. \\
137 +2911283634 & 2020 & chap. & RL & 532 & 276.0 & survey & no abstr. \\
138 +4389473504 & 2023 & diss. & RL & 28 & 232.9 & method & OK \\
139 +2964083594 & 2025 & conf. & RL & 414 & 367.9 & empirical & year \\
140 +2098774185 & 2018 & art. & RL & 1{,}077 & 203.3 & method & year \\
141 +1591675293 & 2025 & chap. & RL & 395 & 665.0 & method & year \\
142 +7123365826 & 2026 & art. & RL & 55 & 155.3 & theory & off scope \\
143 +2991046523 & 2021 & chap. & RL & 530 & 178.4 & survey & no abstr. \\
144 +2973229164 & 2019 & diss. & RL & 47 & 171.2 & method & OK \\
145 +2982316857 & 2019 & art. & RL & 1{,}021 & 155.2 & engin. & no abstr. \\
146 +2902907165 & 2018 & art. & RL & 733 & 138.3 & method & OK \\
147 +7133481537 & 2026 & art. & RL & 35 & 122.9 & theory & off scope \\
148 +7133226216 & 2022 & conf. & RL & 482 & 95.8 & empirical & OK \\
149 +3041807988 & 2020 & art. & RL & 322 & 93.8 & theory & off scope \\
150 +2781726626 & 2018 & prepr. & RL & 775 & 90.8 & method & OK \\
151 +2963923407 & 2018 & art. & RL & 472 & 89.1 & method & OK \\
152 +7122543576 & 2026 & art. & RL & 25 & 70.6 & theory & off scope \\
153 +2899138465 & 2018 & diss. & RL & 20 & 88.6 & method & OK \\
154 +4391631327 & 2024 & prepr. & RL & 99 & 86.4 & empirical & id. mism. \\
155 +4409147637 & 2025 & art. & RL & 170 & 57.9 & method & OK \\
156 +2895974005 & 2018 & diss. & RL & 18 & 79.8 & empirical & norm. \\
157 +7134057781 & 2026 & art. & RL & 21 & 23.4 & engin. & OK \\
158 +2754517384 & 2018 & conf. & RL & 452 & 70.0 & empirical & OK \\
159 +2761873684 & 2018 & conf. & RL & 442 & 68.4 & method & OK \\
160 +7133208539 & 2023 & conf. & RL & 293 & 67.6 & method & no abstr. \\
161 +7128436456 & 2026 & art. & RL & 19 & 21.0 & survey & OK \\
162 +2962862931 & 2024 & conf. & ML theory & 12{,}586 & 3498.4 & method & id. mism. \\
163 +1698155719 & 2020 & chap. & ML theory & 1{,}212 & 971.7 & survey & OK \\
164 +4288283362 & 2026 & art. & ML theory & 174 & 576.9 & method & norm. \\
165 +46659105 & 2020 & prepr. & ML theory & 3{,}906 & 608.2 & theory & abstr. mism. \\
166 +3145506661 & 2019 & chap. & ML theory & 1{,}581 & 491.8 & survey & no abstr. \\
167 +2291445757 & 2024 & chap. & ML theory & 769 & 426.8 & survey & OK \\
168 +2100415632 & 2026 & prepr. & ML theory & 116 & 667.5 & theory & year \\
169 +1568555062 & 2022 & chap. & ML theory & 576 & 308.7 & theory & OK \\
170 +2751318774 & 2019 & chap. & ML theory & 978 & 304.2 & survey & OK \\
171 +3208688400 & 2021 & chap. & ML theory & 833 & 280.5 & survey & no abstr. \\
172 +3105488314 & 2020 & diss. & ML theory & 59 & 272.4 & theory & no abstr. \\
173 +57706852 & 2026 & prepr. & ML theory & 72 & 414.3 & theory & year \\
174 +2946444988 & 2026 & prepr. & ML theory & 68 & 2646.0 & method & year \\
175 +2945976633 & 2019 & art. & ML theory & 1{,}556 & 236.6 & theory & no abstr. \\
176 +4400823820 & 2024 & art. & ML theory & 782 & 235.4 & survey & OK \\
177 +2999309192 & 2020 & art. & ML theory & 1{,}781 & 222.8 & theory & OK \\
178 +2999615587 & 2020 & art. & ML theory & 1{,}767 & 221.0 & method & no abstr. \\
179 +2439568532 & 2018 & art. & ML theory & 1{,}085 & 204.8 & theory & OK \\
180 +3194464139 & 2020 & diss. & ML theory & 21 & 197.5 & engin. & norm. \\
181 +3041133507 & 2020 & art. & ML theory & 1{,}538 & 192.4 & survey & OK \\
182 +2436219157 & 2018 & art. & ML theory & 956 & 180.4 & survey & OK \\
183 +3135028703 & 2021 & art. & ML theory & 1{,}518 & 176.9 & survey & no abstr. \\
184 +7124426637 & 2026 & art. & ML theory & 46 & 51.2 & survey & OK \\
185 +2165856466 & 2026 & prepr. & ML theory & 45 & 259.0 & theory & year \\
186 +4402843978 & 2020 & report & ML theory & 455 & 158.3 & survey & OK \\
187 +2964121744 & 2026 & art. & DL arch. & 45{,}775 & 50938.5 & engin. & id. mism. \\
188 +1710476689 & 2022 & chap. & DL arch. & 2{,}385 & 1018.2 & survey & OK \\
189 +4322614756 & 2025 & conf. & DL arch. & 1{,}542 & 1370.5 & method & id. mism. \\
190 +2963399829 & 2024 & prepr. & DL arch. & 773 & 674.3 & method & year \\
191 +4382203079 & 2023 & conf. & DL arch. & 2{,}278 & 621.0 & empirical & OK \\
192 +4406170795 & 2025 & art. & DL arch. & 974 & 331.8 & method & OK \\
193 +146900863 & 2018 & chap. & DL arch. & 999 & 464.0 & survey & no abstr. \\
194 +4396821501 & 2024 & prepr. & DL arch. & 531 & 463.2 & method & OK \\
195 +2950067852 & 2026 & prepr. & DL arch. & 119 & 4630.6 & method & year \\
196 +4221150249 & 2026 & art. & DL arch. & 107 & 119.1 & survey & OK \\
197 +7148890333 & 2026 & art. & DL arch. & 102 & 113.0 & method & no abstr. \\
198 +3177318507 & 2021 & conf. & DL arch. & 1{,}344 & 315.3 & method & OK \\
199 +4389326242 & 2023 & prepr. & DL arch. & 912 & 303.2 & method & OK \\
200 +7118302872 & 2026 & art. & DL arch. & 85 & 87.6 & method & OK \\
201 +3137147200 & 2022 & chap. & DL arch. & 698 & 298.0 & survey & OK \\
202 +3140854437 & 2021 & art. & DL arch. & 2{,}452 & 293.1 & survey & OK \\
203 +4210257598 & 2020 & art. & DL arch. & 2{,}239 & 280.0 & survey & OK \\
204 +2907492528 & 2020 & art. & DL arch. & 2{,}230 & 278.9 & survey & OK \\
205 +3152893301 & 2020 & art. & DL arch. & 2{,}023 & 253.0 & survey & OK \\
206 +7110333790 & 2025 & art. & DL arch. & 496 & 169.0 & method & id. mism. \\
207 +4385763767 & 2023 & conf. & DL arch. & 921 & 251.1 & survey & OK \\
208 +3124006607 & 2026 & conf. & DL arch. & 69 & 529.6 & method & year \\
209 +4285723986 & 2020 & chap. & DL arch. & 471 & 244.4 & survey & no abstr. \\
210 +2892035503 & 2019 & art. & DL arch. & 908 & 192.7 & survey & no abstr. \\
211 +2962776659 & 2024 & prepr. & DL arch. & 212 & 184.9 & empirical & year \\
212 +4406063062 & 2025 & art. & AI safety & 534 & 74.5 & survey & OK \\
213 +7130596601 & 2026 & art. & AI safety & 65 & 29.6 & survey & OK \\
214 +3084163594 & 2020 & art. & AI safety & 775 & 225.7 & survey & off scope \\
215 +2963808661 & 2025 & conf. & AI safety & 390 & 126.3 & engin. & id. mism. \\
216 +7133236347 & 2026 & art. & AI safety & 51 & 44.5 & survey & OK \\
217 +7128782475 & 2026 & art. & AI safety & 51 & 23.2 & empirical & OK \\
218 +4406571986 & 2025 & art. & AI safety & 347 & 301.3 & empirical & OK \\
219 +2981731882 & 2019 & art. & AI safety & 1{,}097 & 166.8 & survey & no abstr. \\
220 +4402698709 & 2026 & art. & AI safety & 44 & 38.4 & survey & OK \\
221 +4408314709 & 2025 & art. & AI safety & 303 & 42.3 & survey & OK \\
222 +4407243994 & 2025 & art. & AI safety & 300 & 41.8 & theory & OK \\
223 +4330336443 & 2023 & prepr. & AI safety & 495 & 146.6 & empirical & abstr. mism. \\
224 +7128600296 & 2026 & rev. & AI safety & 41 & 12.8 & survey & OK \\
225 +4399450035 & 2024 & conf. & AI safety & 359 & 138.5 & empirical & OK \\
226 +4318586239 & 2023 & chap. & AI safety & 247 & 136.6 & survey & OK \\
227 +4360615722 & 2023 & art. & AI safety & 557 & 130.5 & theory & OK \\
228 +2670253439 & 2018 & art. & AI safety & 676 & 127.6 & survey & no abstr. \\
229 +7118631510 & 2026 & art. & AI safety & 35 & 38.9 & method & no abstr. \\
230 +7127143535 & 2026 & art. & AI safety & 33 & 50.0 & empirical & no abstr. \\
231 +4409249263 & 2025 & art. & AI safety & 218 & 14.5 & survey & OK \\
232 +4366262984 & 2023 & art. & AI safety & 1{,}197 & 109.9 & survey & OK \\
233 +2969896603 & 2021 & art. & AI safety & 1{,}794 & 102.3 & survey & OK \\
234 +4406152291 & 2025 & art. & AI safety & 199 & 67.8 & empirical & OK \\
235 +4410609100 & 2025 & conf. & AI safety & 193 & 171.5 & method & OK \\
236 +4411542009 & 2025 & conf. & AI safety & 191 & 61.8 & empirical & OK \\
237 +4360620450 & 2023 & art. & LLM & 3{,}137 & 113.5 & survey & OK \\
238 +3185341429 & 2022 & art. & LLM & 2{,}462 & 253.7 & survey & OK \\
239 +4384071683 & 2023 & art. & LLM & 2{,}448 & 38.1 & bench. & OK \\
240 +4384918448 & 2023 & prepr. & LLM & 2{,}431 & 88.5 & empirical & id. mism. \\
241 +4393065402 & 2024 & art. & LLM & 1{,}820 & 226.1 & survey & OK \\
242 +4319083882 & 2023 & art. & LLM & 1{,}590 & 146.0 & theory & no abstr. \\
243 +4399790131 & 2024 & rev. & AI safety & 1{,}484 & 81.8 & survey & OK \\
244 +3133702157 & 2021 & conf. & LLM & 1{,}464 & 232.1 & theory & OK \\
245 +4321499901 & 2023 & art. & LLM & 1{,}389 & 325.5 & empirical & OK \\
246 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 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 2 \begin{longtable}{lrrrrrrrr}
3 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 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 2 \begin{table}[htbp]\centering\caption{Fractional output of the fifteen largest countries by year.}\label{tab:countries}
3 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 2 \begin{table}[htbp]\centering\caption{The twenty strongest country pairs by period (number of joint works).}\label{tab:country_pairs}
3 3 \begin{threeparttable}\small
4 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 2 \begin{table}[htbp]\centering\caption{Share of fractional output of the fifteen largest countries by year (per cent).}\label{tab:country_shares}
3 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 2 \begin{table}[htbp]\centering\caption{The OpenAlex \texttt{created\_date} relative to the publication date, by publication year.}\label{tab:indexing_lag}
3 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 2 \begin{table}[htbp]\centering\caption{Preregistered known-emergence set: detection month, peak-growth month and lead time.}\label{tab:known_set}
3 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 2 \begin{longtable}{lrrrrrrrr}
3 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 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 2 \begin{longtable}{lrrrrrrrrr}
3 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 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 2 \begin{longtable}{lrrrrrrrrrr}
3 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 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 4 \begin{tabular}{lrrrrrr}
modified manuscript/tables/tab_p9_ai_shares.tex +4 −4
@@ -1,7 +1,7 @@
1 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 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
4 −\begin{tabular}{lrrr}
3 +\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrr}
5 5 \toprule
6 6 \textbf{Category} & \textbf{2018} & \textbf{2022} & \textbf{2025} \\
7 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 9 Foundation Models & 0.01 [0.01, 0.01] & 0.06 [0.06, 0.07] & 0.21 [0.20, 0.22] \\
10 10 Multimodal AI & 0.09 [0.09, 0.10] & 0.23 [0.22, 0.24] & 0.76 [0.74, 0.77] \\
11 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 13 Reinforcement Learning & 0.66 [0.64, 0.68] & 1.25 [1.22, 1.28] & 1.48 [1.46, 1.50] \\
14 14 Machine Learning Theory & 2.71 [2.67, 2.76] & 3.59 [3.54, 3.64] & 3.67 [3.63, 3.71] \\
15 15 Deep Learning Architectures & 2.40 [2.36, 2.44] & 3.97 [3.93, 4.02] & 3.82 [3.79, 3.86] \\
16 16 AI Safety and Alignment & 0.21 [0.20, 0.22] & 0.53 [0.51, 0.55] & 1.22 [1.19, 1.24] \\
17 17 AI \& ML area (sum) & 7.65 & 11.41 & 18.63 \\
18 18 \bottomrule
19 −\end{tabular}
19 +\end{tabular}}
20 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 21 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_altdates.tex +10 −13
@@ -1,20 +1,16 @@
1 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}
3 −\caption{ITS level change (HAC $p$) by category at the five pre-specified event dates.}\label{tab:p9-altdates}\\
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 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrr}
4 5 \toprule
5 6 \textbf{Category} & \textbf{GPT-3} & \textbf{DALL$\cdot$E 2} & \textbf{ChatGPT} & \textbf{GPT-4} & \textbf{o1} \\
6 7 \midrule
7 −\endfirsthead
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) \\
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) \\
13 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 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 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 14 Blockchain Systems & -0.065 (0.362) & -0.023 (0.654) & -0.008 (0.858) & -0.024 (0.571) & +0.007 (0.842) \\
19 15 Cloud Computing & -0.114 (0.155) & -0.063 (0.155) & +0.003 (0.936) & +0.010 (0.785) & +0.192 (0.002) \\
20 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 36 Multimodal AI & -0.258 (0.016) & -0.129 (0.004) & +0.025 (0.600) & +0.150 (0.002) & +0.330 (0.001) \\
41 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 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 40 Programming Languages & -0.073 (0.281) & -0.083 (0.061) & -0.040 (0.381) & -0.030 (0.568) & +0.000 (0.996) \\
45 41 Quantum Computing & -0.170 (0.024) & -0.134 (0.021) & -0.087 (0.039) & -0.025 (0.582) & +0.150 (0.000) \\
46 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 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 47 Sustainable Computing & -0.089 (0.256) & -0.020 (0.455) & +0.049 (0.048) & +0.056 (0.106) & +0.222 (0.000) \\
52 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.}\\
54 −\end{longtable}
49 +\end{tabular}}
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 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 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
4 −\begin{tabular}{lrrrrrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
5 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 7 \midrule
8 8 AI \& ML & -3.1 & +3.1 & +0.2 & -0.9 & +0.1 & +0.5 & -0.2 & +0.2 \\
9 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 14 Hardware \& emerging & +0.4 & -0.2 & -0.2 & +0.0 & +0.1 & +0.1 & -0.2 & -0.0 \\
15 15 Computational science & +2.5 & +0.9 & -0.1 & -0.7 & -0.7 & +0.0 & -0.1 & -1.8 \\
16 16 \bottomrule
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}
17 +\end{tabular}}
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 19 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_area_shares.tex +5 −5
@@ -1,9 +1,9 @@
1 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 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
4 −\begin{tabular}{lrrrrrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
5 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 7 \midrule
8 8 2018 & 7.65 & 33.45 & 7.89 & 6.60 & 22.66 & 9.99 & 5.75 & 5.99 \\
9 9 2019 & 8.89 & 34.69 & 7.21 & 6.15 & 21.14 & 10.27 & 5.48 & 6.17 \\
@@ -17,6 +17,6 @@
17 17 Baseline (2018-01 to 2022-11) & 9.84 & 35.23 & 6.71 & 6.10 & 19.80 & 10.33 & 5.32 & 6.66 \\
18 18 Post (2022-12 to 2026-11) & 17.46 & 35.72 & 5.41 & 4.47 & 14.84 & 11.26 & 4.82 & 6.02 \\
19 19 \bottomrule
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}
20 +\end{tabular}}
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 22 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_category_periods.tex +46 −49
@@ -1,54 +1,51 @@
1 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}
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}\\
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 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
4 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 7 \midrule
7 −\endfirsthead
8 −\toprule
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 −\midrule
11 −\endhead
12 −Computer Vision & Perception \& interaction & 421{,}385 & 521{,}935 & 15.79 & 16.97 & 1.30 & 0.091 & 0.149 \\
13 −Computer Networks & Data \& distributed & 267{,}896 & 212{,}342 & 10.04 & 6.90 & 0.94 & -0.044 & 0.071 \\
14 −Human-Computer Interaction & Perception \& interaction & 174{,}138 & 196{,}794 & 6.53 & 6.40 & 1.26 & 0.004 & 0.197 \\
15 −Cybersecurity & Security \& privacy & 154{,}197 & 195{,}498 & 5.78 & 6.36 & 1.26 & 0.017 & 0.272 \\
16 −Natural Language Processing & Perception \& interaction & 134{,}844 & 152{,}754 & 5.05 & 4.97 & 1.75 & 0.062 & 0.124 \\
17 −Large Language Models & AI \& ML & 11{,}813 & 132{,}127 & 0.44 & 4.30 & 3.49 & 0.189 & 1.085 \\
18 −Software Engineering & Software \& PL & 132{,}205 & 129{,}300 & 4.95 & 4.20 & 1.32 & -0.049 & 0.177 \\
19 −Algorithms and Data Structures & Theory & 144{,}105 & 121{,}771 & 5.40 & 3.96 & 0.99 & -0.008 & 0.088 \\
20 −Robotics & Perception \& interaction & 101{,}643 & 118{,}241 & 3.81 & 3.84 & 1.28 & 0.072 & 0.140 \\
21 −Deep Learning Architectures & AI \& ML & 87{,}481 & 116{,}113 & 3.28 & 3.77 & 1.57 & 0.167 & 0.155 \\
22 −Machine Learning Theory & AI \& ML & 88{,}923 & 112{,}830 & 3.33 & 3.67 & 1.51 & 0.104 & 0.197 \\
23 −Computational Biology & Computational science & 82{,}846 & 97{,}856 & 3.10 & 3.18 & 1.31 & 0.108 & 0.170 \\
24 −Scientific Computing & Computational science & 93{,}944 & 84{,}877 & 3.52 & 2.76 & 1.10 & 0.042 & 0.066 \\
25 −Computer Architecture & Hardware \& emerging & 86{,}471 & 70{,}512 & 3.24 & 2.29 & 0.98 & -0.061 & 0.111 \\
26 −Speech and Audio Computing & Perception \& interaction & 62{,}133 & 65{,}819 & 2.33 & 2.14 & 1.14 & 0.012 & 0.118 \\
27 −Blockchain Systems & Security \& privacy & 46{,}516 & 62{,}087 & 1.74 & 2.02 & 1.40 & 0.163 & 0.120 \\
28 −Information Retrieval & Data \& distributed & 58{,}198 & 61{,}738 & 2.18 & 2.01 & 1.34 & -0.018 & 0.176 \\
29 −Database Systems & Data \& distributed & 74{,}552 & 61{,}582 & 2.79 & 2.00 & 1.02 & -0.043 & 0.073 \\
30 −Quantum Computing & Hardware \& emerging & 39{,}846 & 60{,}417 & 1.49 & 1.96 & 1.59 & 0.103 & 0.287 \\
31 −Applied Cryptography & Security \& privacy & 53{,}877 & 51{,}175 & 2.02 & 1.66 & 1.13 & -0.011 & 0.141 \\
32 −Reinforcement Learning & AI \& ML & 26{,}913 & 44{,}477 & 1.01 & 1.45 & 2.08 & 0.208 & 0.252 \\
33 −Distributed Computing & Data \& distributed & 52{,}661 & 43{,}642 & 1.97 & 1.42 & 1.22 & -0.050 & 0.132 \\
34 −Computer Graphics & Perception \& interaction & 46{,}021 & 43{,}270 & 1.72 & 1.41 & 1.20 & -0.051 & 0.157 \\
35 −Edge Computing & Data \& distributed & 34{,}568 & 40{,}445 & 1.30 & 1.31 & 1.28 & 0.133 & 0.126 \\
36 −Generative AI & AI \& ML & 7{,}503 & 38{,}194 & 0.28 & 1.24 & 3.44 & 0.296 & 0.870 \\
37 −Cloud Computing & Data \& distributed & 40{,}415 & 36{,}757 & 1.51 & 1.19 & 1.02 & -0.068 & 0.198 \\
38 −AI Safety and Alignment & AI \& ML & 9{,}997 & 33{,}792 & 0.37 & 1.10 & 3.71 & 0.294 & 0.647 \\
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 \\
8 +Computer Vision & Percep. & 421{,}385 & 521{,}935 & 15.79 & 16.97 & 1.30 & 0.091 & 0.149 \\
9 +Computer Networks & Data & 267{,}896 & 212{,}342 & 10.04 & 6.90 & 0.94 & -0.044 & 0.071 \\
10 +Human-Computer Interaction & Percep. & 174{,}138 & 196{,}794 & 6.53 & 6.40 & 1.26 & 0.004 & 0.197 \\
11 +Cybersecurity & Secur. & 154{,}197 & 195{,}498 & 5.78 & 6.36 & 1.26 & 0.017 & 0.272 \\
12 +Natural Language Processing & Percep. & 134{,}844 & 152{,}754 & 5.05 & 4.97 & 1.75 & 0.062 & 0.124 \\
13 +Large Language Models & AI/ML & 11{,}813 & 132{,}127 & 0.44 & 4.30 & 3.49 & 0.189 & 1.085 \\
14 +Software Engineering & Softw. & 132{,}205 & 129{,}300 & 4.95 & 4.20 & 1.32 & -0.049 & 0.177 \\
15 +Algorithms and Data Struct. & Theory & 144{,}105 & 121{,}771 & 5.40 & 3.96 & 0.99 & -0.008 & 0.088 \\
16 +Robotics & Percep. & 101{,}643 & 118{,}241 & 3.81 & 3.84 & 1.28 & 0.072 & 0.140 \\
17 +Deep Learning Architectures & AI/ML & 87{,}481 & 116{,}113 & 3.28 & 3.77 & 1.57 & 0.167 & 0.155 \\
18 +Machine Learning Theory & AI/ML & 88{,}923 & 112{,}830 & 3.33 & 3.67 & 1.51 & 0.104 & 0.197 \\
19 +Computational Biology & Comp. sci. & 82{,}846 & 97{,}856 & 3.10 & 3.18 & 1.31 & 0.108 & 0.170 \\
20 +Scientific Computing & Comp. sci. & 93{,}944 & 84{,}877 & 3.52 & 2.76 & 1.10 & 0.042 & 0.066 \\
21 +Computer Architecture & Hardw. & 86{,}471 & 70{,}512 & 3.24 & 2.29 & 0.98 & -0.061 & 0.111 \\
22 +Speech and Audio Computing & Percep. & 62{,}133 & 65{,}819 & 2.33 & 2.14 & 1.14 & 0.012 & 0.118 \\
23 +Blockchain Systems & Secur. & 46{,}516 & 62{,}087 & 1.74 & 2.02 & 1.40 & 0.163 & 0.120 \\
24 +Information Retrieval & Data & 58{,}198 & 61{,}738 & 2.18 & 2.01 & 1.34 & -0.018 & 0.176 \\
25 +Database Systems & Data & 74{,}552 & 61{,}582 & 2.79 & 2.00 & 1.02 & -0.043 & 0.073 \\
26 +Quantum Computing & Hardw. & 39{,}846 & 60{,}417 & 1.49 & 1.96 & 1.59 & 0.103 & 0.287 \\
27 +Applied Cryptography & Secur. & 53{,}877 & 51{,}175 & 2.02 & 1.66 & 1.13 & -0.011 & 0.141 \\
28 +Reinforcement Learning & AI/ML & 26{,}913 & 44{,}477 & 1.01 & 1.45 & 2.08 & 0.208 & 0.252 \\
29 +Distributed Computing & Data & 52{,}661 & 43{,}642 & 1.97 & 1.42 & 1.22 & -0.050 & 0.132 \\
30 +Computer Graphics & Percep. & 46{,}021 & 43{,}270 & 1.72 & 1.41 & 1.20 & -0.051 & 0.157 \\
31 +Edge Computing & Data & 34{,}568 & 40{,}445 & 1.30 & 1.31 & 1.28 & 0.133 & 0.126 \\
32 +Generative AI & AI/ML & 7{,}503 & 38{,}194 & 0.28 & 1.24 & 3.44 & 0.296 & 0.870 \\
33 +Cloud Computing & Data & 40{,}415 & 36{,}757 & 1.51 & 1.19 & 1.02 & -0.068 & 0.198 \\
34 +AI Safety and Alignment & AI/ML & 9{,}997 & 33{,}792 & 0.37 & 1.10 & 3.71 & 0.294 & 0.647 \\
35 +AI Agents and Autonomous Syst. & AI/ML & 25{,}167 & 32{,}219 & 0.94 & 1.05 & 2.00 & -0.045 & 0.329 \\
36 +Privacy-Preserving Comp. & Secur. & 18{,}816 & 28{,}450 & 0.71 & 0.92 & 1.99 & 0.090 & 0.327 \\
37 +Multimodal AI & AI/ML & 4{,}007 & 20{,}970 & 0.15 & 0.68 & 3.75 & 0.284 & 0.869 \\
38 +Formal Verification & Softw. & 22{,}992 & 18{,}225 & 0.86 & 0.59 & 0.91 & -0.069 & 0.027 \\
39 +Programming Languages & Softw. & 20{,}392 & 15{,}837 & 0.76 & 0.51 & 0.98 & -0.044 & 0.040 \\
44 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 \\
46 −Accelerators and AI Hardware & Hardware \& emerging & 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 \\
48 −Sustainable Computing & Hardware \& emerging & 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 \\
50 −Compilers & Software \& PL & 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 \\
41 +Federated Learning & Secur. & 2{,}229 & 9{,}011 & 0.08 & 0.29 & 3.69 & 0.615 & 0.304 \\
42 +Accelerators and AI Hardware & Hardw. & 5{,}520 & 6{,}917 & 0.21 & 0.22 & 1.51 & 0.148 & 0.092 \\
43 +Foundation Models & AI/ML & 838 & 6{,}186 & 0.03 & 0.20 & 3.12 & 0.661 & 0.802 \\
44 +Sustainable Computing & Hardw. & 3{,}356 & 5{,}389 & 0.13 & 0.18 & 1.37 & 0.092 & 0.233 \\
45 +Operating Systems & Hardw. & 6{,}877 & 5{,}158 & 0.26 & 0.17 & 0.96 & -0.087 & 0.078 \\
46 +Compilers & Softw. & 3{,}450 & 2{,}900 & 0.13 & 0.09 & 1.20 & -0.030 & 0.053 \\
47 +Autonomous Sci. Discovery & Comp. sci. & 841 & 2{,}539 & 0.03 & 0.08 & 2.50 & 0.287 & 0.382 \\
52 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.}\\
54 −\end{longtable}
49 +\end{tabular}}
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 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 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
4 −\begin{tabular}{lrrrrr}
3 +\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrr}
5 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 7 \midrule
8 8 2018 & 642{,}849 & 499{,}561 & 77.7 & 1{,}014{,}269 & 2.03 \\
9 9 2019 & 695{,}369 & 539{,}741 & 77.6 & 1{,}127{,}407 & 2.09 \\
@@ -15,6 +15,6 @@
15 15 2025 & 1{,}065{,}828 & 892{,}840 & 83.8 & 2{,}391{,}547 & 2.68 \\
16 16 2026 & 901{,}651 & 771{,}301 & 85.5 & 2{,}153{,}220 & 2.79 \\
17 17 \bottomrule
18 −\end{tabular}
18 +\end{tabular}}
19 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 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_cooccurrence.tex +4 −4
@@ -1,7 +1,7 @@
1 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 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
4 −\begin{tabular}{lrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrr}
5 5 \toprule
6 6 \textbf{Rank} & \textbf{Pair, 2018--2022} & \textbf{Works} & \textbf{Pair, 2023--2026} & \textbf{Works } \\
7 7 \midrule
@@ -19,8 +19,8 @@
19 19 12 & Computer Vision / Machine Learning Theory & 44{,}326 & Deep Learning Architectures / Natural Language Processing & 75{,}917 \\
20 20 13 & Applied Cryptography / Computer Networks & 43{,}265 & Deep Learning Architectures / Large Language Models & 73{,}479 \\
21 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 23 \bottomrule
24 −\end{tabular}
24 +\end{tabular}}
25 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 26 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_cross_area.tex +4 −4
@@ -1,7 +1,7 @@
1 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 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
4 −\begin{tabular}{lrrrrrrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrrr}
5 5 \toprule
6 6 \textbf{Citing area} & \textbf{2018} & \textbf{2019} & \textbf{2020} & \textbf{2021} & \textbf{2022} & \textbf{2023} & \textbf{2024} & \textbf{2025} & \textbf{2026} \\
7 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 15 Theory & 30.0 & 35.1 & 36.1 & 35.9 & 34.7 & 35.4 & 35.8 & 36.5 & 37.8 \\
16 16 All areas, raw & 27.8 & 25.9 & 26.3 & 26.9 & 26.8 & 27.4 & 28.2 & 29.5 & 30.5 \\
17 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 19 \bottomrule
20 −\end{tabular}
20 +\end{tabular}}
21 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 22 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_emerging_cutoffs.tex +3 −3
@@ -1,7 +1,7 @@
1 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 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
4 −\begin{tabular}{lrrrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
5 5 \toprule
6 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 7 \midrule
@@ -14,6 +14,6 @@
14 14 2024-07 & 0.646 & 0.538 & 0.756 & & & \\
15 15 2024-10 & 0.709 & 0.516 & 0.772 & & & \\
16 16 \bottomrule
17 −\end{tabular}
17 +\end{tabular}}
18 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 19 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_emerging_setup.tex +5 −5
@@ -1,13 +1,13 @@
1 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}
3 −\begin{threeparttable}\small
4 −\begin{tabular}{lrrrrrr}
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}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
5 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 7 \midrule
8 8 12 & 2020-01 to 2021-10 (8) & 2023-01 to 2024-10 (8) & 9{,}202 & 9{,}626 & 0.0083 & 0.0047 \\
9 9 24 & 2020-01 to 2020-10 (4) & 2023-01 to 2024-04 (6) & 4{,}487 & 7{,}177 & 0.0254 & 0.0145 \\
10 10 \bottomrule
11 −\end{tabular}
11 +\end{tabular}}
12 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 13 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_h3.tex +13 −13
@@ -1,19 +1,19 @@
1 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2 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
4 −\begin{tabular}{lrrrrrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
5 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 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 \\
9 −Generative AI & break expected & 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 \\
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 \\
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 \\
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 \\
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 \\
15 −Computer Architecture & no break expected & 2023-05 & 2025-01 & yes & -0.009 (0.771) & +0.0158 (2.4e-38) & 0.062 & 0.065 \\
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 & 2021-11 & 2020-12, 2023-12 & no & +0.036 (0.556) & +0.0194 (1e-15) & 0.308 & 0.020 \\
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 & 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 & 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 & 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 & 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 & 2023-05 & 2025-01 & yes & -0.009 (0.771) & +0.0158 (2.4e-38) & 0.062 & 0.065 \\
16 16 \bottomrule
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}
17 +\end{tabular}}
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 19 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_its_levels.tex +11 −14
@@ -1,20 +1,16 @@
1 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}
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}\\
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 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
4 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 7 \midrule
7 −\endfirsthead
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 \\
8 +AI Agents and Autonomous Syst. & -0.210 & 0.095 & 0.028 & 0.631 & 0.882 & -0.105 & 0.282 & 0.123 \\
13 9 AI Safety and Alignment & -0.206 & 0.067 & 0.002 & 0.446 & 0.676 & +0.022 & 0.752 & 0.017 \\
14 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 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 14 Blockchain Systems & -0.008 & 0.044 & 0.858 & 0.938 & 1.000 & +0.068 & 0.163 & 0.023 \\
19 15 Cloud Computing & +0.003 & 0.037 & 0.936 & 0.985 & 1.000 & +0.039 & 0.255 & 0.405 \\
20 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 36 Multimodal AI & +0.025 & 0.048 & 0.600 & 0.969 & 0.941 & +0.284 & 0.000 & 0.023 \\
41 37 Natural Language Processing & +0.016 & 0.041 & 0.694 & 0.969 & 0.941 & +0.150 & 0.001 & 0.045 \\
42 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 40 Programming Languages & -0.040 & 0.045 & 0.381 & 0.662 & 0.941 & -0.007 & 0.895 & 0.241 \\
45 41 Quantum Computing & -0.087 & 0.042 & 0.039 & 0.738 & 0.941 & +0.028 & 0.571 & 0.018 \\
46 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 46 Speech and Audio Computing & +0.036 & 0.039 & 0.354 & 0.815 & 0.824 & +0.109 & 0.024 & 0.032 \\
51 47 Sustainable Computing & +0.049 & 0.025 & 0.048 & 0.754 & 0.647 & +0.121 & 0.000 & 0.193 \\
52 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.}\\
54 −\end{longtable}
49 +\end{tabular}}
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 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}
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}\\
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 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrr}
4 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 7 \midrule
7 −\endfirsthead
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 \\
8 +AI Agents and Autonomous Syst. & 116{,}719 & 0.0032 & +0.0401 & 0.0046 & 3.61e-18 & 0.400 & 0.000 & 0.0433 \\
13 9 Large Language Models & 346{,}928 & 0.0132 & +0.0336 & 0.0020 & 1.07e-60 & 0.200 & 0.353 & 0.0469 \\
14 10 Multimodal AI & 133{,}911 & 0.0192 & +0.0238 & 0.0018 & 6.35e-39 & 0.200 & 0.353 & 0.0430 \\
15 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 28 Computer Graphics & 192{,}097 & 0.0030 & +0.0141 & 0.0010 & 2.69e-42 & 0.185 & 0.324 & 0.0171 \\
33 29 Database Systems & 261{,}915 & 0.0013 & +0.0136 & 0.0012 & 5.81e-31 & 0.092 & 0.000 & 0.0148 \\
34 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 32 Programming Languages & 116{,}536 & 0.0014 & +0.0123 & 0.0023 & 1.34e-07 & 0.431 & 0.324 & 0.0137 \\
37 33 Speech and Audio Computing & 146{,}061 & 0.0029 & +0.0118 & 0.0016 & 1.76e-13 & 0.169 & 0.294 & 0.0147 \\
38 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 \\
40 −Algorithms and Data Structures & 500{,}703 & 0.0022 & +0.0098 & 0.0010 & 4.01e-21 & 0.062 & 0.000 & 0.0120 \\
35 +Autonomous Sci. Discovery & 24{,}409 & 0.0207 & +0.0112 & 0.0021 & 1.31e-07 & 0.431 & 0.000 & 0.0319 \\
36 +Algorithms and Data Struct. & 500{,}703 & 0.0022 & +0.0098 & 0.0010 & 4.01e-21 & 0.062 & 0.000 & 0.0120 \\
41 37 Machine Learning Theory & 424{,}417 & 0.0106 & +0.0091 & 0.0016 & 1.07e-08 & 0.215 & 0.000 & 0.0197 \\
42 38 Computer Networks & 654{,}017 & 0.0002 & +0.0086 & 0.0010 & 4.81e-18 & 0.200 & 0.353 & 0.0088 \\
43 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 46 Deep Learning Architectures & 772{,}532 & 0.0174 & -0.0025 & 0.0017 & 0.136 & 0.708 & 1.000 & 0.0149 \\
51 47 Federated Learning & 58{,}126 & 0.0369 & -0.0063 & 0.0019 & 0.001 & 0.385 & 0.676 & 0.0305 \\
52 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.}\\
54 −\end{longtable}
49 +\end{tabular}}
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 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2 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
4 −\begin{tabular}{lrrrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
5 5 \toprule
6 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 7 \midrule
@@ -11,6 +11,6 @@ ChatGPT (2022-12) & 0.0031 (0.0005) & -0.010 (0.024) & 0.685 & +0.0108 (0.0009)
11 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 12 o1 (2024-10) & 0.0049 (0.0006) & +0.103 (0.039) & 0.008 & +0.0115 (0.0018) & 2.88e-10 & 0.951 \\
13 13 \bottomrule
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}
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.\end{tablenotes}
16 16 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_landmarks.tex +15 −15
@@ -1,28 +1,28 @@
1 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 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
4 −\begin{tabular}{lrr}
3 +\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrr}
5 5 \toprule
6 6 \textbf{Group} & \textbf{Level} & \textbf{Landmarks} \\
7 7 \midrule
8 −Area & Artificial Intelligence and Machine Learning & 234 \\
9 −Area & Perception, Language, Robotics and Interaction & 207 \\
10 −Area & Data, Information and Distributed Systems & 152 \\
8 +Area & Artificial Intelligence and Machine Learning & 233 \\
9 +Area & Perception, Language, Robotics and Interaction & 208 \\
10 +Area & Data, Information and Distributed Systems & 151 \\
11 11 Area & Security, Privacy and Trust & 125 \\
12 12 Area & Hardware, Architecture and Emerging Computing & 125 \\
13 13 Area & Software, Programming Languages and Formal Methods & 100 \\
14 −Area & Computational Science and Discovery & 100 \\
14 +Area & Computational Science and Discovery & 97 \\
15 15 Area & Theory of Computation & 50 \\
16 −Year & 2018 & 108 \\
17 −Year & 2019 & 107 \\
16 +Year & 2018 & 121 \\
17 +Year & 2019 & 115 \\
18 18 Year & 2020 & 106 \\
19 −Year & 2021 & 87 \\
20 −Year & 2022 & 92 \\
21 −Year & 2023 & 128 \\
22 −Year & 2024 & 135 \\
23 −Year & 2025 & 111 \\
24 −Year & 2026 & 219 \\
19 +Year & 2021 & 93 \\
20 +Year & 2022 & 102 \\
21 +Year & 2023 & 146 \\
22 +Year & 2024 & 150 \\
23 +Year & 2025 & 106 \\
24 +Year & 2026 & 150 \\
25 25 \bottomrule
26 −\end{tabular}
26 +\end{tabular}}
27 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 28 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_llm_partners.tex +4 −4
@@ -1,7 +1,7 @@
1 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 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
4 −\begin{tabular}{lrrr}
3 +\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrr}
5 5 \toprule
6 6 \textbf{Partner category} & \textbf{Works, 2018--2022} & \textbf{Works, 2023--2026} & \textbf{Ratio} \\
7 7 \midrule
@@ -14,13 +14,13 @@ Information Retrieval & 20{,}069 & 59{,}453 & 2.96 \\
14 14 Software Engineering & 4{,}793 & 55{,}862 & 11.65 \\
15 15 AI Safety and Alignment & 2{,}505 & 46{,}899 & 18.72 \\
16 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 18 Generative AI & 3{,}218 & 34{,}832 & 10.82 \\
19 19 Cybersecurity & 4{,}824 & 32{,}240 & 6.68 \\
20 20 Distributed Computing & 3{,}005 & 29{,}709 & 9.89 \\
21 21 Human-Computer Interaction & 2{,}544 & 26{,}526 & 10.43 \\
22 22 Reinforcement Learning & 1{,}723 & 22{,}085 & 12.82 \\
23 23 \bottomrule
24 −\end{tabular}
24 +\end{tabular}}
25 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 26 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_modularity.tex +3 −3
@@ -1,7 +1,7 @@
1 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/graph/modularity_yearly.csv
2 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
4 −\begin{tabular}{lrrrr}
3 +\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrr}
5 5 \toprule
6 6 \textbf{Year} & \textbf{Internal citations} & \textbf{Q (categories)} & \textbf{Q (areas)} & \textbf{Self-share (\%)} \\
7 7 \midrule
@@ -15,6 +15,6 @@
15 15 2025 & 7{,}477{,}998 & 0.5059 & 0.4593 & 60.19 \\
16 16 2026 & 4{,}558{,}848 & 0.5004 & 0.4615 & 58.93 \\
17 17 \bottomrule
18 −\end{tabular}
18 +\end{tabular}}
19 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 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_openness.tex +5 −5
@@ -1,9 +1,9 @@
1 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_yearly.csv
2 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
4 −\begin{tabular}{lrrrrrrrrr}
3 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrrrrr}
5 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 7 \midrule
8 8 2018 & 642{,}849 & 50.4 & 5.6 & 4.0 & 39.5 & 70.0 & 32.4 & 50.9 & 18.1 \\
9 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 15 2025 & 1{,}065{,}828 & 46.1 & 13.4 & 10.8 & 59.4 & 79.2 & 29.3 & 51.1 & 17.4 \\
16 16 2026 & 901{,}651 & 38.8 & 19.1 & 21.3 & 66.4 & 70.8 & 21.6 & 47.2 & 10.9 \\
17 17 \bottomrule
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}
18 +\end{tabular}}
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 20 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_periods.tex +4 −4
@@ -1,7 +1,7 @@
1 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/bibliometrics/volume_monthly.csv
2 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
4 −\begin{tabular}{lrr}
3 +\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrr}
5 5 \toprule
6 6 \textbf{Indicator} & \textbf{Baseline} & \textbf{Post} \\
7 7 \midrule
@@ -19,6 +19,6 @@ Type: preprint (\%) & 5.29 & 11.85 \\
19 19 Type: book chapter (\%) & 5.41 & 4.29 \\
20 20 Type: dissertation (\%) & 3.99 & 2.74 \\
21 21 \bottomrule
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}
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}
24 24 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_total_robustness.tex +3 −3
@@ -1,7 +1,7 @@
1 1 % generated by tables/make_tables.py from /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/informatique/wp44/results/econometrics/its_results.json
2 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
4 −\begin{tabular}{lr}
3 +\begin{threeparttable}\footnotesize\setlength{\tabcolsep}{4pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lr}
5 5 \toprule
6 6 \textbf{Diagnostic} & \textbf{Total series} \\
7 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 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 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 20 \bottomrule
21 −\end{tabular}
21 +\end{tabular}}
22 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 23 \end{threeparttable}\end{table}
modified manuscript/tables/tab_p9_unknown_breaks.tex +11 −14
@@ -1,20 +1,16 @@
1 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}
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}\\
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 +\begin{threeparttable}\scriptsize\setlength{\tabcolsep}{3pt}
4 +\resizebox{\ifdim\width>\linewidth\linewidth\else\width\fi}{!}{\begin{tabular}{lrrrrrr}
4 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 7 \midrule
7 −\endfirsthead
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 \\
8 +AI Agents and Autonomous Syst. & 2022-07, 2024-07 & 2022-07, 2024-07 & 2023-12, 2025-08 & none & no & no \\
13 9 AI Safety and Alignment & 2021-06, 2022-09 & 2022-07 & 2020-02, 2024-02 & none & no & no \\
14 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 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 14 Blockchain Systems & 2020-04 & none & 2019-02, 2022-12 & 2019-03 & no & yes \\
19 15 Cloud Computing & 2022-11, 2025-01 & 2023-05 & 2025-01 & 2025-02 & yes & no \\
20 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 36 Multimodal AI & 2022-04 & 2022-04 & 2020-12, 2023-12 & none & no & no \\
41 37 Natural Language Processing & 2022-07 & 2022-07 & 2023-10 & none & no & no \\
42 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 40 Programming Languages & 2022-04, 2024-06 & 2024-08 & 2023-10, 2025-10 & none & no & no \\
45 41 Quantum Computing & 2022-01, 2025-04 & 2024-04 & 2023-05, 2025-04 & none & no & yes \\
46 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 46 Speech and Audio Computing & 2023-05 & 2023-05 & 2023-05, 2025-12 & none & yes & yes \\
51 47 Sustainable Computing & 2022-07 & 2022-07 & 2022-11, 2024-12 & none & no & yes \\
52 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.}\\
54 −\end{longtable}
49 +\end{tabular}}
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 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 3 \begin{threeparttable}\small
4 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 2 \begin{longtable}{lrrrrrrrrrr}
3 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 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 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 3 \begin{threeparttable}\small
4 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 2 \begin{longtable}{lrrrrrrrrrrrrrr}
3 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 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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 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 3 \begin{threeparttable}\small
4 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
2 −\begin{longtable}{lrrrrrrrrrrrr}
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}\\
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 carrying the category (multi-label).}\label{tab:theory_counts}
3 +\begin{threeparttable}\small
4 +\begin{tabular}{lrrrrrr}
4 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 7 \midrule
7 −\endfirsthead
8 −\toprule
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 −\midrule
11 −\endhead
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 −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 −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 −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 −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 \\
8 +2018 & 60{,}011 & 16{,}996 & 16{,}735 & 5{,}705 & 12{,}283 & 44{,}359 \\
9 +2019 & 62{,}158 & 18{,}186 & 16{,}286 & 5{,}645 & 11{,}692 & 45{,}573 \\
10 +2020 & 63{,}646 & 18{,}459 & 16{,}126 & 5{,}576 & 11{,}009 & 45{,}901 \\
11 +2021 & 64{,}815 & 18{,}524 & 15{,}687 & 5{,}721 & 10{,}938 & 44{,}735 \\
12 +2022 & 63{,}882 & 18{,}335 & 15{,}186 & 5{,}646 & 9{,}950 & 46{,}006 \\
13 +2023 & 67{,}630 & 19{,}464 & 16{,}681 & 6{,}351 & 10{,}676 & 55{,}422 \\
14 +2024 & 74{,}137 & 22{,}675 & 17{,}703 & 7{,}306 & 11{,}391 & 68{,}087 \\
15 +2025 & 88{,}268 & 29{,}301 & 20{,}734 & 9{,}521 & 13{,}656 & 87{,}235 \\
16 +2026 & 76{,}192 & 25{,}776 & 21{,}376 & 9{,}915 & 14{,}494 & 81{,}133 \\
21 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.}\\
23 −\end{longtable}
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}
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 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 3 \begin{threeparttable}\small
4 4 \begin{tabular}{lrrrrrrrrr}
5 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 7 \midrule
8 −Research (in scope) & 3 & 2 & 3 & 6 & 8 & 7 & 29 & 16 & 7 \\
9 −Survey / report (in scope) & 1 & 0 & 0 & 2 & 1 & 4 & 8 & 3 & 0 \\
10 −Textbook / chapter & 9 & 3 & 5 & 1 & 3 & 1 & 22 & 8 & 0 \\
11 −Re-deposited classic & 5 & 3 & 6 & 0 & 7 & 3 & 24 & 11 & 0 \\
8 +Research & 3 & 2 & 3 & 6 & 8 & 7 & 29 & 16 & 7 \\
9 +Survey/report & 1 & 0 & 0 & 2 & 1 & 4 & 8 & 3 & 0 \\
10 +Textbook & 9 & 3 & 5 & 1 & 3 & 1 & 22 & 8 & 0 \\
11 +Re-deposited & 5 & 3 & 6 & 0 & 7 & 3 & 24 & 11 & 0 \\
12 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 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 16 All candidates & 25 & 25 & 25 & 25 & 25 & 25 & 150 & 71 & 7 \\
17 17 \bottomrule
18 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 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
2 −\begin{longtable}{lrrrrr}
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}{lrrrr}
3 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 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 6 \midrule
7 7 \endfirsthead
8 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 10 \midrule
11 11 \endhead
12 −Algo. & 2022 & article & A Dynamic Survey of Graph Labeling & survey & no \\
13 −Algo. & 2024 & article & Targeted Branching for the Maximum Independent Set Problem Using Graph Neural Networks & engineering & yes \\
14 −Algo. & 2025 & conf. & Fast Kd-Trees for the Kullback-Leibler Divergence and Other Decomposable Bregman Dive\dots & method & yes \\
15 −Algo. & 2026 & article & Multiresource-Constrained Flexible Job Shop Scheduling With Fixture Pallets and Setup\dots & method & no \\
16 −Comp. & 2018 & article & Machine Learning in Compiler Optimization & survey & no \\
17 −Comp. & 2018 & article & A Survey on Compiler Autotuning using Machine Learning & survey & no \\
18 −Comp. & 2018 & chapter & Automated Code Generation for Maximizing Performance of Detailed Chemistry Calculatio\dots & engineering & no \\
19 −Comp. & 2019 & conf. & Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Code & engineering & no \\
20 −Comp. & 2020 & chapter & ExaStencils: Advanced Multigrid Solver Generation & engineering & no \\
21 −Comp. & 2021 & conf. & MLIR: Scaling Compiler Infrastructure for Domain Specific Computation & engineering & no \\
22 −Comp. & 2024 & article & LLM4VV: Developing LLM-driven testsuite for compiler validation & benchmark & no \\
23 −Comp. & 2025 & conf. & LLM Compiler: Foundation Language Models for Compiler Optimization & engineering & no \\
24 −Compl. & 2019 & conf. & The Reachability Problem for Petri Nets Is Not Elementary & theory & no \\
25 −Compl. & 2026 & article & Solving SAT by restricted spiking neural P systems with temporal division rules & theory & no \\
26 −FV & 2018 & preprint & Efficient Formal Safety Analysis of Neural Networks & method & no \\
27 −FV & 2019 & conf. & The Marabou Framework for Verification and Analysis of Deep Neural Networks & engineering & no \\
28 −FV & 2019 & article & An abstract domain for certifying neural networks & method & no \\
29 −FV & 2020 & conf. & VerX: Safety Verification of Smart Contracts & method & no \\
30 −FV & 2022 & conf. & cvc5: A Versatile and Industrial-Strength SMT Solver & engineering & no \\
31 −FV & 2023 & article & Exploiting Generative AI to Scale up Intelligent Tutoring Systems & engineering & yes \\
32 −FV & 2024 & preprint & Leveraging Answer Set Programming for Continuous Monitoring, Fault Detection, and Exp\dots & method & yes \\
33 −FV & 2024 & conf. & State of the Art in Software Verification and Witness Validation: SV-COMP 2024 & benchmark & no \\
34 −FV & 2026 & article & Reward Interfaces with Best-Effort Implementations & theory & no \\
35 −PL & 2018 & conf. & ZEUS: Analyzing Safety of Smart Contracts & method & no \\
36 −PL & 2024 & article & Enhancing Static Analysis for Practical Bug Detection: An LLM-Integrated Approach & method & no \\
37 −PL & 2024 & article & WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models & method & no \\
38 −SE & 2018 & article & Engenharia de Software & survey & no \\
39 −SE & 2018 & chapter & Mutation Testing Advances: An Analysis and Survey & survey & no \\
40 −SE & 2020 & article & Machine Learning Testing: Survey, Landscapes and Horizons & survey & no \\
41 −SE & 2021 & preprint & A Direction-Aware Study of LLM-Based Code Translation Across Eight Programming Languages & empirical & yes \\
42 −SE & 2022 & article & The Astropy Project : Sustaining and Growing a Community-oriented Open-source Project\dots & engineering & no \\
43 −SE & 2024 & article & Software Testing With Large Language Models: Survey, Landscape, and Vision & survey & no \\
44 −SE & 2025 & conf. & Detecting Functionality-Specific Vulnerabilities via Retrieving Individual Functional\dots & method & yes \\
45 −SE & 2025 & conf. & On Assessing ML Model Robustness: A Methodological Framework (Academic Track) & engineering & yes \\
46 −SE & 2025 & article & Can Open Large Language Models Catch Vulnerabilities? & empirical & no \\
47 −SE & 2026 & article & The Effects of Generative AI on High-Skilled Work: Evidence from Three Field Experime\dots & empirical & no \\
48 −SE & 2026 & article & MSTDP: a multi-scale temporal deep learning framework for just-in-time software defec\dots & method & no \\
12 +A Dynamic Survey of Graph Labeling & Algo. & 2022 & article & survey \\
13 +Targeted Branching for the Maximum Indepe\dots * & Algo. & 2024 & article & engineering \\
14 +Fast Kd-Trees for the Kullback-Leibler Di\dots * & Algo. & 2025 & conf. & method \\
15 +Multiresource-Constrained Flexible Job Sh\dots & Algo. & 2026 & article & method \\
16 +Machine Learning in Compiler Optimization & Comp. & 2018 & article & survey \\
17 +A Survey on Compiler Autotuning using Mac\dots & Comp. & 2018 & article & survey \\
18 +Automated Code Generation for Maximizing\dots & Comp. & 2018 & chapter & engineering \\
19 +Tiramisu: A Polyhedral Compiler for Expre\dots & Comp. & 2019 & conf. & engineering \\
20 +ExaStencils: Advanced Multigrid Solver Ge\dots & Comp. & 2020 & chapter & engineering \\
21 +MLIR: Scaling Compiler Infrastructure for\dots & Comp. & 2021 & conf. & engineering \\
22 +LLM4VV: Developing LLM-driven testsuite f\dots & Comp. & 2024 & article & benchmark \\
23 +LLM Compiler: Foundation Language Models\dots & Comp. & 2025 & conf. & engineering \\
24 +The Reachability Problem for Petri Nets I\dots & Compl. & 2019 & conf. & theory \\
25 +Solving SAT by restricted spiking neural\dots & Compl. & 2026 & article & theory \\
26 +Efficient Formal Safety Analysis of Neura\dots & FV & 2018 & preprint & method \\
27 +The Marabou Framework for Verification an\dots & FV & 2019 & conf. & engineering \\
28 +An abstract domain for certifying neural\dots & FV & 2019 & article & method \\
29 +VerX: Safety Verification of Smart Contracts & FV & 2020 & conf. & method \\
30 +cvc5: A Versatile and Industrial-Strength\dots & FV & 2022 & conf. & engineering \\
31 +Exploiting Generative AI to Scale up Inte\dots * & FV & 2023 & article & engineering \\
32 +Leveraging Answer Set Programming for Con\dots * & FV & 2024 & preprint & method \\
33 +State of the Art in Software Verification\dots & FV & 2024 & conf. & benchmark \\
34 +Reward Interfaces with Best-Effort Implem\dots & FV & 2026 & article & theory \\
35 +ZEUS: Analyzing Safety of Smart Contracts & PL & 2018 & conf. & method \\
36 +Enhancing Static Analysis for Practical B\dots & PL & 2024 & article & method \\
37 +WhiteFox: White-Box Compiler Fuzzing Empo\dots & PL & 2024 & article & method \\
38 +Engenharia de Software & SE & 2018 & article & survey \\
39 +Mutation Testing Advances: An Analysis an\dots & SE & 2018 & chapter & survey \\
40 +Machine Learning Testing: Survey, Landsca\dots & SE & 2020 & article & survey \\
41 +A Direction-Aware Study of LLM-Based Code\dots * & SE & 2021 & preprint & empirical \\
42 +The Astropy Project : Sustaining and Grow\dots & SE & 2022 & article & engineering \\
43 +Software Testing With Large Language Mode\dots & SE & 2024 & article & survey \\
44 +Detecting Functionality-Specific Vulnerab\dots * & SE & 2025 & conf. & method \\
45 +On Assessing ML Model Robustness: A Metho\dots * & SE & 2025 & conf. & engineering \\
46 +Can Open Large Language Models Catch Vuln\dots & SE & 2025 & article & empirical \\
47 +The Effects of Generative AI on High-Skil\dots & SE & 2026 & article & empirical \\
48 +MSTDP: a multi-scale temporal deep learni\dots & SE & 2026 & article & method \\
49 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 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
2 −\begin{longtable}{lrrrrrrrrrrrr}
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}\\
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{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 +\begin{threeparttable}\small
4 +\begin{tabular}{lrrrrrr}
4 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 7 \midrule
7 −\endfirsthead
8 −\toprule
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 −\midrule
11 −\endhead
12 −2018 & 486 & 0.8 & 135 & 0.8 & 195 & 1.2 & 77 & 1.3 & 34 & 0.3 & 365 & 0.8 \\
13 −2019 & 599 & 1.0 & 171 & 0.9 & 270 & 1.7 & 94 & 1.7 & 48 & 0.4 & 527 & 1.2 \\
14 −2020 & 738 & 1.2 & 194 & 1.1 & 362 & 2.2 & 124 & 2.2 & 64 & 0.6 & 862 & 1.9 \\
15 −2021 & 794 & 1.2 & 214 & 1.2 & 489 & 3.1 & 149 & 2.6 & 56 & 0.5 & 1{,}177 & 2.6 \\
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 \\
8 +2018 & 0.8 & 0.8 & 1.2 & 1.3 & 0.3 & 0.8 \\
9 +2019 & 1.0 & 0.9 & 1.7 & 1.7 & 0.4 & 1.2 \\
10 +2020 & 1.2 & 1.1 & 2.2 & 2.2 & 0.6 & 1.9 \\
11 +2021 & 1.2 & 1.2 & 3.1 & 2.6 & 0.5 & 2.6 \\
12 +2022 & 1.3 & 1.3 & 4.2 & 3.1 & 0.7 & 4.0 \\
13 +2023 & 1.9 & 2.1 & 6.8 & 5.5 & 1.6 & 7.8 \\
14 +2024 & 3.1 & 3.6 & 11.3 & 9.5 & 4.0 & 14.1 \\
15 +2025 & 5.3 & 5.3 & 18.3 & 14.9 & 7.9 & 21.2 \\
16 +2026 & 8.4 & 8.6 & 25.7 & 22.5 & 13.2 & 28.9 \\
21 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.}\\
23 −\end{longtable}
18 +\end{tabular}
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
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}
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 summary for the six theory and software categories (multi-label counts).}\label{tab:theory_summary}
3 3 \begin{threeparttable}\small
4 −\begin{tabular}{lrrrrrrrrrrr}
4 +\begin{tabular}{lrrrr}
5 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 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 \\
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 \\
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 \\
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 \\
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 \\
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 \\
8 +Algorithms, data struct. & 60{,}011 & 88{,}268 & 1.6 & 14.2 \\
9 +Computational complexity & 16{,}996 & 29{,}301 & 1.9 & 22.7 \\
10 +Programming languages & 16{,}735 & 20{,}734 & -2.4 & 11.5 \\
11 +Compilers & 5{,}705 & 9{,}521 & -0.3 & 22.4 \\
12 +Formal verification & 12{,}283 & 13{,}656 & -5.1 & 13.1 \\
13 +Software engineering & 44{,}359 & 87{,}235 & 0.9 & 25.5 \\
14 14 \bottomrule
15 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 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 2 \begin{longtable}{lrrrr}
3 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 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 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 3 \begin{threeparttable}\small
4 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 2 \begin{longtable}{lrrrrrr}
3 3 \caption{The twenty largest sources (venues) by period, with OpenAlex source type.}\label{tab:top_sources}\\
4 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 6 (ii) Agent E's own `tables_part05()` definition and (iii) the `tables_part09()` definition (21 `tab_p9_*.tex` tables).
7 7
8 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
10 −**placeholder that only prints a warning** — the Part IX writer must re-append the real function (the existing `tab_p9_*.tex`
11 −files are untouched but are no longer listed in `TABLES.json` until then). Broken version kept at
9 +byte-identical to the 20:05 output for all three tables); `tables_part05()` restored; `tables_part09()` was temporarily replaced by a
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
12 11 `/tmp/wp44_tabs_before/make_tables.py.broken` (laptop, volatile).
13 12
14 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 312 p = f"{B}/cagr_by_category.csv"
313 313 if os.path.exists(p):
314 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})
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}"},
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 2025": "{:.2f}"},
317 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 318 p = f"{G}/category_counts_yearly.csv"
319 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 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 323 p = f"{E}/breaks.csv"
324 324 if os.path.exists(p):
325 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 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")})
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)"]},
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}.")
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})
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", "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}), 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": 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 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 333 p = f"{G}/category_flows_yearly.csv"
334 334 if os.path.exists(p):
335 335 d = pd.read_csv(p); rows = []
@@ -342,21 +342,257 @@ def tables_part05():
342 342 p = f"{S}/agent_E/contributions.csv"
343 343 if os.path.exists(p):
344 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]]
346 − piv["total"] = piv.sum(axis=1); piv = piv.reset_index().rename(columns={"primary_category": "Primary category"})
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.")
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"})
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).")
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("_", " ")
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 = 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 + piv["Total"] = piv.sum(axis=1); piv = piv.reset_index().rename(columns={"primary_category": "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 + 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 + 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 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 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
357 − concurrent edits of this file described above and must be re-appended by the Part IX writer; the existing tab_p9_*.tex files
358 − are left untouched meanwhile. Remove this placeholder when the real function is restored."""
359 − print("WARNING: tables_part09() placeholder — Part IX table generator missing; existing tab_p9_*.tex not regenerated", file=sys.stderr)
401 + import numpy as np
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"
403 + # --- corpus by period (volume_monthly, baseline vs post) ---
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 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 694 p = f"{G}/category_counts_yearly.csv"; agg = None
459 695 if os.path.exists(p):
460 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))})
462 − for v, suffix in (("n_multilabel", " (all)"), ("n_primary", " (prim.)")):
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")):
463 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
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,
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.")
699 + t = pd.DataFrame({"Year": sorted(d.year.unique().astype(str))})
700 + for c in THY: t[SHORT[c]] = piv[c].values
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 703 p = f"{E}/breaks.csv"
468 704 if os.path.exists(p) and agg is not None:
469 705 b = pd.read_csv(p).set_index("series"); rows = []
470 706 for c in THY:
471 707 g = agg[agg.category_id == c].set_index("year")
472 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"),
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(";", ", ")})
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}"},
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}).")
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"),
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(";"))})
711 + t = pd.DataFrame(rows)
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 717 p = f"{G}/category_cooccurrence_yearly.csv"
478 718 if os.path.exists(p) and agg is not None:
479 719 d = pd.read_csv(p); rows = []
@@ -482,29 +722,30 @@ def tables_part07a():
482 722 row = {"Year": str(y)}
483 723 for a in THY:
484 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 726 rows.append(row)
487 − t = pd.DataFrame(rows)
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,
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.")
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]
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"},
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 731 p = f"{R}/literature_synthesis/agent_G/contributions.csv"
491 732 if os.path.exists(p):
492 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 735 rows = []
495 736 for v in VERD:
496 737 g = d[d.verdict == v]; row = {"Verdict": VL[v]}
497 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 740 row = {"Verdict": "All candidates"}
500 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 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 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 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 751 if __name__ == "__main__":
511 752
Menu

Theme