The objective is this document is to explore the keywords and natural language processing from FRB CESAB scientific outputs using network analysis. The exploration consists of two complementary analysis:
Natural language processing of abstract with tall R package based on the scientific articles published by projects
Aria, M. & Cuccurullo, C. (2017) bibliometrix: An R-tool for comprehensive science mapping analysis, Journal of Informetrics, 11(4), pp 959-975 DOI 10.1016/j.joi.2017.08.007
Aria, M., Spano, M., D’Aniello, L., Cuccurullo, C., & Misuraca, M. (2026). TALL: Text analysis for all — an interactive R-shiny application for exploring, modeling, and visualizing textual data. SoftwareX, 34, 102590. DOI 10.1016/j.softx.2026.102590
1. Keywords analysis
The CESAB projects published 405 scientific articles between 2011 and 2026. The authors listed 938 different keywords (mean = 11.49 keywords per article, sd = 3.72 ), that were cleaned into 590 keywords in OpenAlex (mean = 5.17 keywords per article, sd = 2.46 ).
The authors keywords seems the most complete, so we will use this list in the following analysis. We can build a bipartite network showing the relations between articles and their keywords.
Bipartite membership network
Code
# simplified bipartite network# remove keywords used by a single ref,refkeys1 <- refkey1[nref1 >ncol(refkey1) *0.01, ]# remove papers with a single keywordrefkeys1 <- refkeys1[, colSums(refkeys1) >1]netKO <- igraph::graph_from_biadjacency_matrix( refkeys1,mode ="all")V(netKO)$type <-V(netKO)$name %in%dimnames(refkeys1)[[1]]V(netKO)$color <-ifelse(V(netKO)$type, "red", "blue")V(netKO)$shape <-ifelse(V(netKO)$type, "dot", "square")extra <-ifelse(V(netKO)$type,"", M$project[match(V(netKO)$name, M$shortname)])V(netKO)$title <-paste(V(netKO)$name, extra,sep ="<br>")visNetwork::visIgraph( netKO,layout ="layout_with_fr",randomSeed =25,smooth =FALSE,) |>visOptions(highlightNearest =TRUE )
Figure 1: Bipartite network containing the articles (nodes in blue square) and their keywords (nodes in red circle). We kept only keywords that were used by at least 1% of the articles, and articles that used at least 2 of the selected keywords.
From the bipartite network (= a matrix with articles in row, and keywords in column), we can run a multivariate analysis. After multiple tries with MCA and CA, with different standadization, the classic PCA was the one showing the most relevant decomposition (even if very low variance explained).
Figure 2: Loadings of the keywords in the PCA analysis on bipartite network. The size of the dot represent the number of articles listing the keyword. The clusters shown in colors were identified from the modules of the keyword network.
Figure 3: Scores of the references in the PCA analysis on bipartite network. The size of the dot represent the number of kyword per article. The color show the projects who produced the articles.
Code
# subplot(p1, p2) |># layout(showlegend = FALSE, title = 'Side By Side Subplots') |># config(# modeBarButtons = list(list("toImage")),# displaylogo = FALSE# )
Figure 4: Centrality of keywords in the keyword network. The size of the dot represent the degree (number of associated keywords) and its color show the different modules.
Figure 5: Thematic map made from the keyword network. The size of the dot represent the degree (number of associated keywords) and its color show the different modules.
Centrality (Callon’s centrality): Measures the strength of external ties between a cluster and other clusters. High centrality indicates that a theme is strongly connected to other themes, making it central to the field.
Density (Callon’s density): Measures the strength of internal ties within a cluster. High density indicates that a theme is well-developed and internally coherent.
Upper-right (Motor themes): High centrality + High density. These are well-developed themes that are central to the field. They drive the research agenda and are both internally mature and externally relevant.
Lower-right (Basic/Transversal themes): High centrality + Low density. These themes are important to the field but not yet well-developed. They represent general, transversal topics that cut across many research areas.
Upper-left (Niche themes): Low centrality + High density. These are well-developed but peripheral themes. They represent specialized topics with a strong internal structure but limited connections to the broader field.
Lower-left (Emerging/Declining themes): Low centrality + Low density. These themes are both peripheral and underdeveloped. They may represent either newly emerging topics or themes that are fading from the research landscape.
2. Natural language processing of abstract
Can’t really use tall package outside the shiny app (and should be executed from terminal, not Positron) …