AleksanderObuchowski commited on
Commit
7bbab39
·
1 Parent(s): b4331db

add blacklists and change name

Browse files
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: PubMed AI Explorer
3
  emoji: 🔬
4
  colorFrom: blue
5
  colorTo: purple
@@ -7,7 +7,7 @@ sdk: docker
7
  app_port: 3001
8
  ---
9
 
10
- # PubMed AI Explorer
11
 
12
  A web application that helps users explore AI algorithms used in medical research papers from PubMed.
13
 
 
1
  ---
2
+ title: Medical AI Wiki
3
  emoji: 🔬
4
  colorFrom: blue
5
  colorTo: purple
 
7
  app_port: 3001
8
  ---
9
 
10
+ # Medical AI Wiki
11
 
12
  A web application that helps users explore AI algorithms used in medical research papers from PubMed.
13
 
backend/routes/search.js CHANGED
@@ -50,27 +50,47 @@ async function searchAlgorithmUsage(problem, algorithmKey, algorithmData) {
50
  `("${problem}" AND "${synonym}")`
51
  ).join(' OR ');
52
 
 
 
 
 
 
 
 
53
  // Add filters to exclude review papers, meta-analyses, and systematic reviews
54
- const filteredQuery = `(${synonymQueries}) NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
55
 
56
  const searchUrl = `${PUBMED_BASE_URL}/esearch.fcgi?db=pubmed&term=${encodeURIComponent(filteredQuery)}&retmode=json`;
57
 
58
- // Debug logging for CNN specifically
59
  if (algorithmKey === 'cnn') {
60
  console.log(`CNN Search for "${problem}":`);
61
  console.log(`Query: ${filteredQuery}`);
62
  console.log(`URL: ${searchUrl}`);
63
  }
64
 
 
 
 
 
 
 
 
 
65
  const response = await axios.get(searchUrl);
66
  const count = parseInt(response.data.esearchresult.count) || 0;
67
 
68
- // Debug logging for CNN results
69
  if (algorithmKey === 'cnn') {
70
  console.log(`CNN Results: ${count} papers found`);
71
  console.log(`Sample IDs:`, response.data.esearchresult.idlist?.slice(0, 3));
72
  }
73
 
 
 
 
 
 
74
  return {
75
  algorithm: algorithmKey,
76
  name: algorithmData.name,
@@ -136,8 +156,15 @@ async function fetchAlgorithmCount(key, algo) {
136
 
137
  const generalQuery = algo.synonyms.map(s => `"${s}"`).join(' OR ');
138
 
 
 
 
 
 
 
 
139
  // Add filters to exclude review papers, meta-analyses, and systematic reviews
140
- const filteredQuery = `(${generalQuery}) NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
141
 
142
  try {
143
  const searchUrl = `${PUBMED_BASE_URL}/esearch.fcgi?db=pubmed&term=${encodeURIComponent(filteredQuery)}&retmode=json`;
@@ -203,8 +230,15 @@ router.get('/pubmed-link', (req, res) => {
203
  `("${problem}" AND "${synonym}")`
204
  ).join(' OR ');
205
 
 
 
 
 
 
 
 
206
  // Add filters to exclude review papers for PubMed links too
207
- const filteredQuery = `(${synonymQueries}) NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
208
 
209
  const pubmedUrl = `https://pubmed.ncbi.nlm.nih.gov/?term=${encodeURIComponent(filteredQuery)}`;
210
 
@@ -229,7 +263,15 @@ async function fetchAlgorithmCountByYear(key, algo, year, diskCache, retryCount
229
 
230
  const generalQuery = algo.synonyms.map(s => `"${s}"`).join(' OR ');
231
  const yearFilter = `"${year}"[Date - Publication]`;
232
- const filteredQuery = `(${generalQuery}) AND ${yearFilter} NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
 
 
 
 
 
 
 
 
233
 
234
  try {
235
  const searchUrl = `${PUBMED_BASE_URL}/esearch.fcgi?db=pubmed&term=${encodeURIComponent(filteredQuery)}&retmode=json`;
 
50
  `("${problem}" AND "${synonym}")`
51
  ).join(' OR ');
52
 
53
+ // Build blacklist exclusions if they exist
54
+ let blacklistExclusions = '';
55
+ if (algorithmData.blacklist && algorithmData.blacklist.length > 0) {
56
+ const blacklistTerms = algorithmData.blacklist.map(term => `NOT "${term}"`).join(' ');
57
+ blacklistExclusions = ` ${blacklistTerms}`;
58
+ }
59
+
60
  // Add filters to exclude review papers, meta-analyses, and systematic reviews
61
+ const filteredQuery = `(${synonymQueries})${blacklistExclusions} NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
62
 
63
  const searchUrl = `${PUBMED_BASE_URL}/esearch.fcgi?db=pubmed&term=${encodeURIComponent(filteredQuery)}&retmode=json`;
64
 
65
+ // Debug logging for CNN and GAN specifically
66
  if (algorithmKey === 'cnn') {
67
  console.log(`CNN Search for "${problem}":`);
68
  console.log(`Query: ${filteredQuery}`);
69
  console.log(`URL: ${searchUrl}`);
70
  }
71
 
72
+ if (algorithmKey === 'gan') {
73
+ console.log(`GAN Search for "${problem}":`);
74
+ console.log(`Synonym queries: ${synonymQueries}`);
75
+ console.log(`Blacklist exclusions: ${blacklistExclusions}`);
76
+ console.log(`Final query: ${filteredQuery}`);
77
+ console.log(`URL: ${searchUrl}`);
78
+ }
79
+
80
  const response = await axios.get(searchUrl);
81
  const count = parseInt(response.data.esearchresult.count) || 0;
82
 
83
+ // Debug logging for CNN and GAN results
84
  if (algorithmKey === 'cnn') {
85
  console.log(`CNN Results: ${count} papers found`);
86
  console.log(`Sample IDs:`, response.data.esearchresult.idlist?.slice(0, 3));
87
  }
88
 
89
+ if (algorithmKey === 'gan') {
90
+ console.log(`GAN Results: ${count} papers found`);
91
+ console.log(`Sample IDs:`, response.data.esearchresult.idlist?.slice(0, 3));
92
+ }
93
+
94
  return {
95
  algorithm: algorithmKey,
96
  name: algorithmData.name,
 
156
 
157
  const generalQuery = algo.synonyms.map(s => `"${s}"`).join(' OR ');
158
 
159
+ // Build blacklist exclusions if they exist
160
+ let blacklistExclusions = '';
161
+ if (algo.blacklist && algo.blacklist.length > 0) {
162
+ const blacklistTerms = algo.blacklist.map(term => `NOT "${term}"`).join(' ');
163
+ blacklistExclusions = ` ${blacklistTerms}`;
164
+ }
165
+
166
  // Add filters to exclude review papers, meta-analyses, and systematic reviews
167
+ const filteredQuery = `(${generalQuery})${blacklistExclusions} NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
168
 
169
  try {
170
  const searchUrl = `${PUBMED_BASE_URL}/esearch.fcgi?db=pubmed&term=${encodeURIComponent(filteredQuery)}&retmode=json`;
 
230
  `("${problem}" AND "${synonym}")`
231
  ).join(' OR ');
232
 
233
+ // Build blacklist exclusions if they exist
234
+ let blacklistExclusions = '';
235
+ if (algoData.blacklist && algoData.blacklist.length > 0) {
236
+ const blacklistTerms = algoData.blacklist.map(term => `NOT "${term}"`).join(' ');
237
+ blacklistExclusions = ` ${blacklistTerms}`;
238
+ }
239
+
240
  // Add filters to exclude review papers for PubMed links too
241
+ const filteredQuery = `(${synonymQueries})${blacklistExclusions} NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
242
 
243
  const pubmedUrl = `https://pubmed.ncbi.nlm.nih.gov/?term=${encodeURIComponent(filteredQuery)}`;
244
 
 
263
 
264
  const generalQuery = algo.synonyms.map(s => `"${s}"`).join(' OR ');
265
  const yearFilter = `"${year}"[Date - Publication]`;
266
+
267
+ // Build blacklist exclusions if they exist
268
+ let blacklistExclusions = '';
269
+ if (algo.blacklist && algo.blacklist.length > 0) {
270
+ const blacklistTerms = algo.blacklist.map(term => `NOT "${term}"`).join(' ');
271
+ blacklistExclusions = ` ${blacklistTerms}`;
272
+ }
273
+
274
+ const filteredQuery = `(${generalQuery}) AND ${yearFilter}${blacklistExclusions} NOT Review[Publication Type] NOT Meta-Analysis[Publication Type] NOT Systematic Review[Publication Type]`;
275
 
276
  try {
277
  const searchUrl = `${PUBMED_BASE_URL}/esearch.fcgi?db=pubmed&term=${encodeURIComponent(filteredQuery)}&retmode=json`;
data/algorithms.json CHANGED
@@ -4,235 +4,584 @@
4
  "name": "Support Vector Machine",
5
  "category": "classical_ml",
6
  "description": "A supervised learning algorithm that finds optimal hyperplanes for classification and regression tasks",
7
- "synonyms": ["support vector machine", "SVM", "support vector classifier", "support vector regression", "SVR"]
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  },
9
  "decision_tree": {
10
  "name": "Decision Tree",
11
- "category": "classical_ml",
12
  "description": "A tree-like model that makes decisions by splitting data based on feature values",
13
- "synonyms": ["decision tree", "decision trees", "DT", "CART", "classification tree", "regression tree"]
 
 
 
 
 
 
 
14
  },
15
  "random_forest": {
16
  "name": "Random Forest",
17
  "category": "classical_ml",
18
  "description": "An ensemble method that combines multiple decision trees for improved accuracy",
19
- "synonyms": ["random forest", "RF", "random forests", "forest classifier"]
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  },
21
  "xgboost": {
22
  "name": "XGBoost",
23
  "category": "classical_ml",
24
  "description": "Extreme Gradient Boosting - an optimized gradient boosting framework",
25
- "synonyms": ["xgboost", "XGBoost", "extreme gradient boosting", "XGB"]
 
 
 
 
 
26
  },
27
  "logistic_regression": {
28
  "name": "Logistic Regression",
29
  "category": "classical_ml",
30
  "description": "A linear model for binary and multiclass classification problems",
31
- "synonyms": ["logistic regression", "logit", "logistic model", "LR"]
 
 
 
 
 
32
  },
33
  "naive_bayes": {
34
  "name": "Naive Bayes",
35
  "category": "classical_ml",
36
  "description": "A probabilistic classifier based on Bayes' theorem with independence assumptions",
37
- "synonyms": ["naive bayes", "Naive Bayes", "NB", "Bayes classifier"]
 
 
 
 
 
38
  },
39
  "knn": {
40
  "name": "K-Nearest Neighbors",
41
  "category": "classical_ml",
42
  "description": "A non-parametric method that classifies data points based on the class of their nearest neighbors",
43
- "synonyms": ["k-nearest neighbors", "KNN", "k-NN", "nearest neighbor", "k nearest neighbour"]
 
 
 
 
 
 
44
  },
45
  "kmeans": {
46
  "name": "K-Means Clustering",
47
  "category": "classical_ml",
48
  "description": "An unsupervised clustering algorithm that partitions data into k clusters",
49
- "synonyms": ["k-means", "K-means", "kmeans", "k-means clustering", "k means"]
 
 
 
 
 
 
50
  },
51
  "gradient_boosting": {
52
  "name": "Gradient Boosting",
53
  "category": "classical_ml",
54
  "description": "An ensemble method that builds models sequentially to correct errors of previous models",
55
- "synonyms": ["gradient boosting", "GB", "GBM", "gradient boosted trees", "gradient boosting machine"]
 
 
 
 
 
 
56
  },
57
  "ada_boost": {
58
  "name": "AdaBoost",
59
  "category": "classical_ml",
60
  "description": "Adaptive Boosting algorithm that combines weak learners into a strong classifier",
61
- "synonyms": ["AdaBoost", "ada boost", "adaptive boosting", "adaboost"]
 
 
 
 
 
62
  },
63
  "pca": {
64
  "name": "Principal Component Analysis",
65
  "category": "classical_ml",
66
  "description": "A dimensionality reduction technique that finds principal components of data variance",
67
- "synonyms": ["PCA", "principal component analysis", "principal components"]
 
 
 
 
 
 
 
 
 
 
 
 
68
  },
69
  "linear_regression": {
70
  "name": "Linear Regression",
71
  "category": "classical_ml",
72
  "description": "A linear approach to modeling the relationship between variables",
73
- "synonyms": ["linear regression", "ordinary least squares", "OLS", "linear model"]
 
 
 
 
 
74
  },
75
  "cnn": {
76
  "name": "Convolutional Neural Network",
77
  "category": "deep_learning",
78
  "description": "Deep learning architecture specialized for processing grid-like data such as images",
79
- "synonyms": ["convolutional neural network", "CNN", "ConvNet", "convolutional network", "deep convolutional", "conv neural network", "convolution neural network"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  },
81
  "lstm": {
82
  "name": "Long Short-Term Memory",
83
  "category": "deep_learning",
84
  "description": "A type of recurrent neural network capable of learning long-term dependencies",
85
- "synonyms": ["LSTM", "long short-term memory", "long short term memory", "LSTM network"]
 
 
 
 
 
86
  },
87
  "transformer": {
88
  "name": "Transformer",
89
  "category": "deep_learning",
90
  "description": "Attention-based neural network architecture for sequence-to-sequence tasks",
91
- "synonyms": ["transformer", "transformers", "transformer model", "transformer architecture", "self-attention"]
 
 
 
 
 
 
92
  },
93
  "resnet": {
94
  "name": "ResNet",
95
  "category": "deep_learning",
96
  "description": "Residual Neural Network - a deep CNN architecture with skip connections",
97
- "synonyms": ["ResNet", "resnet", "residual network", "residual neural network"]
 
 
 
 
 
98
  },
99
  "unet": {
100
  "name": "U-Net",
101
  "category": "deep_learning",
102
  "description": "A CNN architecture for biomedical image segmentation with encoder-decoder structure",
103
- "synonyms": ["U-Net", "UNet", "u-net", "unet"]
 
 
 
 
 
104
  },
105
  "gan": {
106
  "name": "Generative Adversarial Network",
107
  "category": "deep_learning",
108
  "description": "A framework where two neural networks compete to generate realistic data",
109
- "synonyms": ["GAN", "generative adversarial network", "generative adversarial networks", "GANs"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  },
111
  "autoencoder": {
112
  "name": "Autoencoder",
113
  "category": "deep_learning",
114
  "description": "Neural networks that learn efficient representations by encoding and decoding data",
115
- "synonyms": ["autoencoder", "auto-encoder", "autoencoders", "variational autoencoder", "VAE"]
 
 
 
 
 
 
116
  },
117
  "vgg": {
118
  "name": "VGG",
119
  "category": "deep_learning",
120
  "description": "Very Deep Convolutional Networks - a CNN architecture with small convolution filters",
121
- "synonyms": ["VGG", "VGG-16", "VGG-19", "VGGNet"]
 
 
 
 
 
122
  },
123
  "inception": {
124
  "name": "Inception",
125
  "category": "deep_learning",
126
  "description": "CNN architecture that uses inception modules for efficient computation",
127
- "synonyms": ["Inception", "GoogLeNet", "Inception-v3", "Inception-v4", "inception network"]
 
 
 
 
 
 
128
  },
129
  "rnn": {
130
  "name": "Recurrent Neural Network",
131
  "category": "deep_learning",
132
  "description": "Neural networks with memory that can process sequences of data",
133
- "synonyms": ["RNN", "recurrent neural network", "recurrent network", "RNNs"]
 
 
 
 
 
 
 
 
 
 
134
  },
135
  "gru": {
136
  "name": "Gated Recurrent Unit",
137
  "category": "deep_learning",
138
  "description": "Simplified variant of LSTM with fewer parameters and faster training",
139
- "synonyms": ["GRU", "gated recurrent unit", "gated recurrent units", "GRUs"]
 
 
 
 
 
140
  },
141
  "yolo": {
142
  "name": "YOLO",
143
  "category": "deep_learning",
144
  "description": "You Only Look Once - real-time object detection algorithm",
145
- "synonyms": ["YOLO", "you only look once", "YOLOv3", "YOLOv4", "YOLOv5"]
 
 
 
 
 
 
146
  },
147
  "capsnet": {
148
  "name": "Capsule Network",
149
  "category": "deep_learning",
150
  "description": "Neural network architecture that uses capsules to better model hierarchical relationships",
151
- "synonyms": ["CapsNet", "capsule network", "capsule networks", "dynamic routing"]
152
- },
153
- "attention": {
154
- "name": "Attention Mechanism",
155
- "category": "deep_learning",
156
- "description": "Mechanism that allows models to focus on relevant parts of input sequences",
157
- "synonyms": ["attention mechanism", "attention", "multi-head attention", "scaled dot-product attention"]
158
  },
159
  "gpt": {
160
  "name": "GPT",
161
  "category": "llms",
162
  "description": "Generative Pre-trained Transformer - OpenAI's large language model family",
163
- "synonyms": ["GPT", "gpt", "generative pre-trained transformer", "ChatGPT", "GPT-3", "GPT-4", "GPT-4o", "OpenAI GPT"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  },
165
  "claude": {
166
  "name": "Claude",
167
  "category": "llms",
168
  "description": "Anthropic's AI assistant and large language model family",
169
- "synonyms": ["Claude", "claude", "Anthropic Claude", "Claude-3", "Claude Sonnet", "Claude Haiku", "Claude Opus"]
 
 
 
 
 
 
 
 
170
  },
171
  "bert": {
172
  "name": "BERT",
173
  "category": "llms",
174
  "description": "Bidirectional Encoder Representations from Transformers - Google's pre-trained language model",
175
- "synonyms": ["BERT", "bert", "bidirectional encoder representations", "BERT model", "Google BERT"]
 
 
 
 
 
 
 
 
 
 
 
 
176
  },
177
  "gemini": {
178
  "name": "Gemini",
179
  "category": "llms",
180
  "description": "Google's multimodal large language model family",
181
- "synonyms": ["Gemini", "gemini", "Google Gemini", "Gemini Pro", "Gemini Ultra", "Gemini Nano"]
 
 
 
 
 
 
 
182
  },
183
  "llama": {
184
  "name": "LLaMA",
185
  "category": "llms",
186
  "description": "Large Language Model Meta AI - Meta's open-source language model family",
187
- "synonyms": ["LLaMA", "llama", "Llama", "Meta LLaMA", "Llama-2", "Llama 2", "Llama 3", "Code Llama"]
 
 
 
 
 
 
 
 
 
188
  },
189
  "qwen": {
190
  "name": "Qwen",
191
  "category": "llms",
192
  "description": "Alibaba's large language model series with multilingual capabilities",
193
- "synonyms": ["Qwen", "qwen", "Alibaba Qwen", "Qwen-7B", "Qwen-14B", "Qwen-72B", "Tongyi Qianwen"]
 
 
 
 
 
 
 
 
194
  },
195
  "deepseek": {
196
  "name": "DeepSeek",
197
  "category": "llms",
198
  "description": "DeepSeek's large language model optimized for code and reasoning",
199
- "synonyms": ["DeepSeek", "deepseek", "DeepSeek Coder", "DeepSeek LLM", "DeepSeek-V2"]
 
 
 
 
 
 
200
  },
201
  "mistral": {
202
  "name": "Mistral",
203
  "category": "llms",
204
  "description": "Mistral AI's efficient and powerful open-source language models",
205
- "synonyms": ["Mistral", "mistral", "Mistral 7B", "Mixtral", "Mistral AI", "Mixtral 8x7B"]
 
 
 
 
 
 
 
206
  },
207
  "palm": {
208
  "name": "PaLM",
209
  "category": "llms",
210
  "description": "Pathways Language Model - Google's large-scale language model",
211
- "synonyms": ["PaLM", "palm", "Pathways Language Model", "PaLM-2", "Google PaLM"]
 
 
 
 
 
 
212
  },
213
  "t5": {
214
  "name": "T5",
215
  "category": "llms",
216
  "description": "Text-to-Text Transfer Transformer - Google's unified text processing model",
217
- "synonyms": ["T5", "t5", "text-to-text transfer transformer", "Google T5"]
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  },
219
  "roberta": {
220
  "name": "RoBERTa",
221
  "category": "llms",
222
  "description": "Robustly Optimized BERT Pretraining Approach - Meta's improved BERT variant",
223
- "synonyms": ["RoBERTa", "roberta", "robustly optimized BERT", "Meta RoBERTa"]
 
 
 
 
 
224
  },
225
  "phi": {
226
  "name": "Phi",
227
  "category": "llms",
228
  "description": "Microsoft's small language model series optimized for efficiency",
229
- "synonyms": ["Phi", "phi", "Microsoft Phi", "Phi-3", "Phi-2", "Phi-1"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  },
231
  "falcon": {
232
  "name": "Falcon",
233
  "category": "llms",
234
  "description": "Technology Innovation Institute's open-source large language model",
235
- "synonyms": ["Falcon", "falcon", "Falcon-7B", "Falcon-40B", "Falcon-180B", "TII Falcon"]
 
 
 
 
 
 
 
236
  }
237
  }
238
  }
 
4
  "name": "Support Vector Machine",
5
  "category": "classical_ml",
6
  "description": "A supervised learning algorithm that finds optimal hyperplanes for classification and regression tasks",
7
+ "synonyms": [
8
+ "support vector machine",
9
+ "SVM",
10
+ "support vector classifier",
11
+ "support vector regression",
12
+ "SVR"
13
+ ],
14
+ "blacklist": [
15
+ "stroke volume monitoring",
16
+ "severe viral meningitis",
17
+ "syncope vasovagal mechanisms",
18
+ "superior vena cava",
19
+ "small vessel disease"
20
+ ]
21
  },
22
  "decision_tree": {
23
  "name": "Decision Tree",
24
+ "category": "classical_ml",
25
  "description": "A tree-like model that makes decisions by splitting data based on feature values",
26
+ "synonyms": [
27
+ "decision tree",
28
+ "decision trees",
29
+ "DT",
30
+ "CART",
31
+ "classification tree",
32
+ "regression tree"
33
+ ]
34
  },
35
  "random_forest": {
36
  "name": "Random Forest",
37
  "category": "classical_ml",
38
  "description": "An ensemble method that combines multiple decision trees for improved accuracy",
39
+ "synonyms": [
40
+ "random forest",
41
+ "RF",
42
+ "random forests",
43
+ "forest classifier"
44
+ ],
45
+ "blacklist": [
46
+ "radiofrequency",
47
+ "rheumatoid factor",
48
+ "risk factor",
49
+ "renal failure",
50
+ "respiratory failure",
51
+ "reticular formation"
52
+ ]
53
  },
54
  "xgboost": {
55
  "name": "XGBoost",
56
  "category": "classical_ml",
57
  "description": "Extreme Gradient Boosting - an optimized gradient boosting framework",
58
+ "synonyms": [
59
+ "xgboost",
60
+ "XGBoost",
61
+ "extreme gradient boosting",
62
+ "XGB"
63
+ ]
64
  },
65
  "logistic_regression": {
66
  "name": "Logistic Regression",
67
  "category": "classical_ml",
68
  "description": "A linear model for binary and multiclass classification problems",
69
+ "synonyms": [
70
+ "logistic regression",
71
+ "logit",
72
+ "logistic model",
73
+ "LR"
74
+ ]
75
  },
76
  "naive_bayes": {
77
  "name": "Naive Bayes",
78
  "category": "classical_ml",
79
  "description": "A probabilistic classifier based on Bayes' theorem with independence assumptions",
80
+ "synonyms": [
81
+ "naive bayes",
82
+ "Naive Bayes",
83
+ "NB",
84
+ "Bayes classifier"
85
+ ]
86
  },
87
  "knn": {
88
  "name": "K-Nearest Neighbors",
89
  "category": "classical_ml",
90
  "description": "A non-parametric method that classifies data points based on the class of their nearest neighbors",
91
+ "synonyms": [
92
+ "k-nearest neighbors",
93
+ "KNN",
94
+ "k-NN",
95
+ "nearest neighbor",
96
+ "k nearest neighbour"
97
+ ]
98
  },
99
  "kmeans": {
100
  "name": "K-Means Clustering",
101
  "category": "classical_ml",
102
  "description": "An unsupervised clustering algorithm that partitions data into k clusters",
103
+ "synonyms": [
104
+ "k-means",
105
+ "K-means",
106
+ "kmeans",
107
+ "k-means clustering",
108
+ "k means"
109
+ ]
110
  },
111
  "gradient_boosting": {
112
  "name": "Gradient Boosting",
113
  "category": "classical_ml",
114
  "description": "An ensemble method that builds models sequentially to correct errors of previous models",
115
+ "synonyms": [
116
+ "gradient boosting",
117
+ "GB",
118
+ "GBM",
119
+ "gradient boosted trees",
120
+ "gradient boosting machine"
121
+ ]
122
  },
123
  "ada_boost": {
124
  "name": "AdaBoost",
125
  "category": "classical_ml",
126
  "description": "Adaptive Boosting algorithm that combines weak learners into a strong classifier",
127
+ "synonyms": [
128
+ "AdaBoost",
129
+ "ada boost",
130
+ "adaptive boosting",
131
+ "adaboost"
132
+ ]
133
  },
134
  "pca": {
135
  "name": "Principal Component Analysis",
136
  "category": "classical_ml",
137
  "description": "A dimensionality reduction technique that finds principal components of data variance",
138
+ "synonyms": [
139
+ "PCA",
140
+ "principal component analysis",
141
+ "principal components"
142
+ ],
143
+ "blacklist": [
144
+ "posterior cerebral artery",
145
+ "prostate cancer antigen",
146
+ "patient-controlled analgesia",
147
+ "percutaneous coronary angioplasty",
148
+ "primary care physician",
149
+ "polycystic ovary syndrome"
150
+ ]
151
  },
152
  "linear_regression": {
153
  "name": "Linear Regression",
154
  "category": "classical_ml",
155
  "description": "A linear approach to modeling the relationship between variables",
156
+ "synonyms": [
157
+ "linear regression",
158
+ "ordinary least squares",
159
+ "OLS",
160
+ "linear model"
161
+ ]
162
  },
163
  "cnn": {
164
  "name": "Convolutional Neural Network",
165
  "category": "deep_learning",
166
  "description": "Deep learning architecture specialized for processing grid-like data such as images",
167
+ "synonyms": [
168
+ "convolutional neural network",
169
+ "CNN",
170
+ "ConvNet",
171
+ "convolutional network",
172
+ "deep convolutional",
173
+ "conv neural network",
174
+ "convolution neural network"
175
+ ],
176
+ "blacklist": [
177
+ "cranial nerve nuclei",
178
+ "central nervous system",
179
+ "chronic kidney disease",
180
+ "clinical nurse navigator",
181
+ "calcineurin inhibitor"
182
+ ]
183
  },
184
  "lstm": {
185
  "name": "Long Short-Term Memory",
186
  "category": "deep_learning",
187
  "description": "A type of recurrent neural network capable of learning long-term dependencies",
188
+ "synonyms": [
189
+ "LSTM",
190
+ "long short-term memory",
191
+ "long short term memory",
192
+ "LSTM network"
193
+ ]
194
  },
195
  "transformer": {
196
  "name": "Transformer",
197
  "category": "deep_learning",
198
  "description": "Attention-based neural network architecture for sequence-to-sequence tasks",
199
+ "synonyms": [
200
+ "transformer",
201
+ "transformers",
202
+ "transformer model",
203
+ "transformer architecture",
204
+ "self-attention"
205
+ ]
206
  },
207
  "resnet": {
208
  "name": "ResNet",
209
  "category": "deep_learning",
210
  "description": "Residual Neural Network - a deep CNN architecture with skip connections",
211
+ "synonyms": [
212
+ "ResNet",
213
+ "resnet",
214
+ "residual network",
215
+ "residual neural network"
216
+ ]
217
  },
218
  "unet": {
219
  "name": "U-Net",
220
  "category": "deep_learning",
221
  "description": "A CNN architecture for biomedical image segmentation with encoder-decoder structure",
222
+ "synonyms": [
223
+ "U-Net",
224
+ "UNet",
225
+ "u-net",
226
+ "unet"
227
+ ]
228
  },
229
  "gan": {
230
  "name": "Generative Adversarial Network",
231
  "category": "deep_learning",
232
  "description": "A framework where two neural networks compete to generate realistic data",
233
+ "synonyms": [
234
+ "generative adversarial network",
235
+ "generative adversarial networks",
236
+ "GANs",
237
+ "GAN model",
238
+ "GAN network",
239
+ "adversarial network",
240
+ "adversarial training"
241
+ ],
242
+ "blacklist": [
243
+ "giant axonal neuropathy",
244
+ "Giant Axonal Neuropathy",
245
+ "GAN neuropathy",
246
+ "axonal neuropathy",
247
+ "ganglion",
248
+ "ganglia",
249
+ "ganglioside",
250
+ "gangliosides",
251
+ "ganglionic",
252
+ "gangrene",
253
+ "gangrenous",
254
+ "Ganoderma",
255
+ "ganoderic",
256
+ "ganciclovir",
257
+ "gastric antral nodularity",
258
+ "gonadotropin-releasing hormone antagonist",
259
+ "glucosamine",
260
+ "galactosamine",
261
+ "N-acetylgalactosamine",
262
+ "GalNAc"
263
+ ]
264
  },
265
  "autoencoder": {
266
  "name": "Autoencoder",
267
  "category": "deep_learning",
268
  "description": "Neural networks that learn efficient representations by encoding and decoding data",
269
+ "synonyms": [
270
+ "autoencoder",
271
+ "auto-encoder",
272
+ "autoencoders",
273
+ "variational autoencoder",
274
+ "VAE"
275
+ ]
276
  },
277
  "vgg": {
278
  "name": "VGG",
279
  "category": "deep_learning",
280
  "description": "Very Deep Convolutional Networks - a CNN architecture with small convolution filters",
281
+ "synonyms": [
282
+ "VGG",
283
+ "VGG-16",
284
+ "VGG-19",
285
+ "VGGNet"
286
+ ]
287
  },
288
  "inception": {
289
  "name": "Inception",
290
  "category": "deep_learning",
291
  "description": "CNN architecture that uses inception modules for efficient computation",
292
+ "synonyms": [
293
+ "Inception",
294
+ "GoogLeNet",
295
+ "Inception-v3",
296
+ "Inception-v4",
297
+ "inception network"
298
+ ]
299
  },
300
  "rnn": {
301
  "name": "Recurrent Neural Network",
302
  "category": "deep_learning",
303
  "description": "Neural networks with memory that can process sequences of data",
304
+ "synonyms": [
305
+ "RNN",
306
+ "recurrent neural network",
307
+ "recurrent network",
308
+ "RNNs"
309
+ ],
310
+ "blacklist": [
311
+ "ribonuclease",
312
+ "registered nurse navigator",
313
+ "reactive nitrogen species"
314
+ ]
315
  },
316
  "gru": {
317
  "name": "Gated Recurrent Unit",
318
  "category": "deep_learning",
319
  "description": "Simplified variant of LSTM with fewer parameters and faster training",
320
+ "synonyms": [
321
+ "GRU",
322
+ "gated recurrent unit",
323
+ "gated recurrent units",
324
+ "GRUs"
325
+ ]
326
  },
327
  "yolo": {
328
  "name": "YOLO",
329
  "category": "deep_learning",
330
  "description": "You Only Look Once - real-time object detection algorithm",
331
+ "synonyms": [
332
+ "YOLO",
333
+ "you only look once",
334
+ "YOLOv3",
335
+ "YOLOv4",
336
+ "YOLOv5"
337
+ ]
338
  },
339
  "capsnet": {
340
  "name": "Capsule Network",
341
  "category": "deep_learning",
342
  "description": "Neural network architecture that uses capsules to better model hierarchical relationships",
343
+ "synonyms": [
344
+ "CapsNet",
345
+ "capsule network",
346
+ "capsule networks",
347
+ "dynamic routing"
348
+ ]
 
349
  },
350
  "gpt": {
351
  "name": "GPT",
352
  "category": "llms",
353
  "description": "Generative Pre-trained Transformer - OpenAI's large language model family",
354
+ "synonyms": [
355
+ "GPT",
356
+ "gpt",
357
+ "generative pre-trained transformer",
358
+ "ChatGPT",
359
+ "GPT-3",
360
+ "GPT-4",
361
+ "GPT-4o",
362
+ "OpenAI GPT"
363
+ ],
364
+ "blacklist": [
365
+ "glucose-6-phosphate transporter",
366
+ "glutamic pyruvic transaminase",
367
+ "glutathione peroxidase",
368
+ "glycerophosphate",
369
+ "guanosine triphosphate"
370
+ ]
371
  },
372
  "claude": {
373
  "name": "Claude",
374
  "category": "llms",
375
  "description": "Anthropic's AI assistant and large language model family",
376
+ "synonyms": [
377
+ "Claude",
378
+ "claude",
379
+ "Anthropic Claude",
380
+ "Claude-3",
381
+ "Claude Sonnet",
382
+ "Claude Haiku",
383
+ "Claude Opus"
384
+ ]
385
  },
386
  "bert": {
387
  "name": "BERT",
388
  "category": "llms",
389
  "description": "Bidirectional Encoder Representations from Transformers - Google's pre-trained language model",
390
+ "synonyms": [
391
+ "BERT",
392
+ "bert",
393
+ "bidirectional encoder representations",
394
+ "BERT model",
395
+ "Google BERT"
396
+ ],
397
+ "blacklist": [
398
+ "behavioral emergency response team",
399
+ "biomedical emergency response team",
400
+ "blood-retinal barrier transport",
401
+ "bronchial epithelial cell"
402
+ ]
403
  },
404
  "gemini": {
405
  "name": "Gemini",
406
  "category": "llms",
407
  "description": "Google's multimodal large language model family",
408
+ "synonyms": [
409
+ "Gemini",
410
+ "gemini",
411
+ "Google Gemini",
412
+ "Gemini Pro",
413
+ "Gemini Ultra",
414
+ "Gemini Nano"
415
+ ]
416
  },
417
  "llama": {
418
  "name": "LLaMA",
419
  "category": "llms",
420
  "description": "Large Language Model Meta AI - Meta's open-source language model family",
421
+ "synonyms": [
422
+ "LLaMA",
423
+ "llama",
424
+ "Llama",
425
+ "Meta LLaMA",
426
+ "Llama-2",
427
+ "Llama 2",
428
+ "Llama 3",
429
+ "Code Llama"
430
+ ]
431
  },
432
  "qwen": {
433
  "name": "Qwen",
434
  "category": "llms",
435
  "description": "Alibaba's large language model series with multilingual capabilities",
436
+ "synonyms": [
437
+ "Qwen",
438
+ "qwen",
439
+ "Alibaba Qwen",
440
+ "Qwen-7B",
441
+ "Qwen-14B",
442
+ "Qwen-72B",
443
+ "Tongyi Qianwen"
444
+ ]
445
  },
446
  "deepseek": {
447
  "name": "DeepSeek",
448
  "category": "llms",
449
  "description": "DeepSeek's large language model optimized for code and reasoning",
450
+ "synonyms": [
451
+ "DeepSeek",
452
+ "deepseek",
453
+ "DeepSeek Coder",
454
+ "DeepSeek LLM",
455
+ "DeepSeek-V2"
456
+ ]
457
  },
458
  "mistral": {
459
  "name": "Mistral",
460
  "category": "llms",
461
  "description": "Mistral AI's efficient and powerful open-source language models",
462
+ "synonyms": [
463
+ "Mistral",
464
+ "mistral",
465
+ "Mistral 7B",
466
+ "Mixtral",
467
+ "Mistral AI",
468
+ "Mixtral 8x7B"
469
+ ]
470
  },
471
  "palm": {
472
  "name": "PaLM",
473
  "category": "llms",
474
  "description": "Pathways Language Model - Google's large-scale language model",
475
+ "synonyms": [
476
+ "PaLM",
477
+ "palm",
478
+ "Pathways Language Model",
479
+ "PaLM-2",
480
+ "Google PaLM"
481
+ ]
482
  },
483
  "t5": {
484
  "name": "T5",
485
  "category": "llms",
486
  "description": "Text-to-Text Transfer Transformer - Google's unified text processing model",
487
+ "synonyms": [
488
+ "T5",
489
+ "t5",
490
+ "text-to-text transfer transformer",
491
+ "Google T5"
492
+ ],
493
+ "blacklist": [
494
+ "T5 vertebra",
495
+ "T5 spinal",
496
+ "fifth thoracic vertebra",
497
+ "thoracic vertebra 5",
498
+ "T5 nerve root",
499
+ "T5 dermatome"
500
+ ]
501
  },
502
  "roberta": {
503
  "name": "RoBERTa",
504
  "category": "llms",
505
  "description": "Robustly Optimized BERT Pretraining Approach - Meta's improved BERT variant",
506
+ "synonyms": [
507
+ "RoBERTa",
508
+ "roberta",
509
+ "robustly optimized BERT",
510
+ "Meta RoBERTa"
511
+ ]
512
  },
513
  "phi": {
514
  "name": "Phi",
515
  "category": "llms",
516
  "description": "Microsoft's small language model series optimized for efficiency",
517
+ "synonyms": [
518
+ "Microsoft Phi",
519
+ "Microsoft Phi-3",
520
+ "Microsoft Phi-2",
521
+ "Microsoft Phi-1",
522
+ "Phi language model",
523
+ "Phi LLM",
524
+ "Phi small language model"
525
+ ],
526
+ "blacklist": [
527
+ "phi angle",
528
+ "phi coefficient",
529
+ "phi correlation",
530
+ "dihedral angle",
531
+ "phi psi angles",
532
+ "ramachandran plot",
533
+ "protein phi",
534
+ "phi torsion",
535
+ "golden ratio phi",
536
+ "phi statistic",
537
+ "phi phenomenon",
538
+ "phi value analysis",
539
+ "protected health information",
540
+ "personal health information",
541
+ "phosphatidylinositol",
542
+ "bacteriophage phi",
543
+ "phage phi",
544
+ "phi bacteriophage",
545
+ "phi X174",
546
+ "phi 6",
547
+ "phi 29",
548
+ "phi92",
549
+ "magnetic flux phi",
550
+ "flux phi",
551
+ "phi magnetic",
552
+ "volumetric flux",
553
+ "flow rate phi",
554
+ "phi value",
555
+ "phi values",
556
+ "phi analysis",
557
+ "phi-value analysis",
558
+ "protein folding phi",
559
+ "transition state phi",
560
+ "nucleation condensation phi",
561
+ "pharmacologic MRI phi",
562
+ "phMRI",
563
+ "DICOM phi",
564
+ "medical imaging phi",
565
+ "phi function",
566
+ "phi distribution",
567
+ "phi parameter",
568
+ "phi variable",
569
+ "phi measurement",
570
+ "phi calculation"
571
+ ]
572
  },
573
  "falcon": {
574
  "name": "Falcon",
575
  "category": "llms",
576
  "description": "Technology Innovation Institute's open-source large language model",
577
+ "synonyms": [
578
+ "Falcon",
579
+ "falcon",
580
+ "Falcon-7B",
581
+ "Falcon-40B",
582
+ "Falcon-180B",
583
+ "TII Falcon"
584
+ ]
585
  }
586
  }
587
  }
data/timeline-cache.json CHANGED
@@ -1,14 +1,14 @@
1
  {
2
- "svm-2015": 2191,
3
- "svm-2016": 2220,
4
- "svm-2017": 2496,
5
- "svm-2018": 2800,
6
- "svm-2019": 3138,
7
  "svm-2020": 3552,
8
- "svm-2021": 4402,
9
- "svm-2022": 5312,
10
  "svm-2023": 5015,
11
- "svm-2024": 5569,
12
  "decision_tree-2015": 2690,
13
  "decision_tree-2016": 2822,
14
  "decision_tree-2017": 3089,
@@ -17,18 +17,18 @@
17
  "decision_tree-2020": 4730,
18
  "decision_tree-2021": 5816,
19
  "decision_tree-2022": 6297,
20
- "decision_tree-2023": 6106,
21
- "decision_tree-2024": 6727,
22
- "random_forest-2015": 2927,
23
- "random_forest-2016": 3092,
24
- "random_forest-2017": 3413,
25
- "random_forest-2018": 4008,
26
- "random_forest-2019": 4797,
27
- "random_forest-2020": 6107,
28
- "random_forest-2021": 8016,
29
- "random_forest-2022": 9246,
30
- "random_forest-2023": 9684,
31
- "random_forest-2024": 11618,
32
  "xgboost-2015": 1,
33
  "xgboost-2016": 3,
34
  "xgboost-2017": 16,
@@ -41,14 +41,14 @@
41
  "xgboost-2024": 3269,
42
  "logistic_regression-2015": 24898,
43
  "logistic_regression-2016": 26330,
44
- "logistic_regression-2017": 28299,
45
- "logistic_regression-2018": 30524,
46
- "logistic_regression-2019": 34055,
47
  "logistic_regression-2020": 41392,
48
  "logistic_regression-2021": 50426,
49
- "logistic_regression-2022": 53795,
50
- "logistic_regression-2023": 50528,
51
- "logistic_regression-2024": 54933,
52
  "naive_bayes-2015": 1473,
53
  "naive_bayes-2016": 1641,
54
  "naive_bayes-2017": 1790,
@@ -58,7 +58,7 @@
58
  "naive_bayes-2021": 3505,
59
  "naive_bayes-2022": 3738,
60
  "naive_bayes-2023": 4030,
61
- "naive_bayes-2024": 4923,
62
  "knn-2015": 574,
63
  "knn-2016": 604,
64
  "knn-2017": 595,
@@ -68,27 +68,27 @@
68
  "knn-2021": 1507,
69
  "knn-2022": 1829,
70
  "knn-2023": 1875,
71
- "knn-2024": 2144,
72
  "kmeans-2015": 345,
73
  "kmeans-2016": 353,
74
- "kmeans-2017": 424,
75
  "kmeans-2018": 490,
76
  "kmeans-2019": 584,
77
  "kmeans-2020": 730,
78
- "kmeans-2021": 1016,
79
  "kmeans-2022": 1255,
80
  "kmeans-2023": 1272,
81
- "kmeans-2024": 1373,
82
  "gradient_boosting-2015": 2774,
83
  "gradient_boosting-2016": 2787,
84
- "gradient_boosting-2017": 3104,
85
  "gradient_boosting-2018": 3688,
86
  "gradient_boosting-2019": 4101,
87
  "gradient_boosting-2020": 4975,
88
  "gradient_boosting-2021": 6060,
89
  "gradient_boosting-2022": 6674,
90
  "gradient_boosting-2023": 6827,
91
- "gradient_boosting-2024": 7834,
92
  "ada_boost-2015": 67,
93
  "ada_boost-2016": 76,
94
  "ada_boost-2017": 74,
@@ -99,36 +99,36 @@
99
  "ada_boost-2022": 363,
100
  "ada_boost-2023": 370,
101
  "ada_boost-2024": 499,
102
- "pca-2015": 6571,
103
- "pca-2016": 6845,
104
- "pca-2017": 7096,
105
- "pca-2018": 7622,
106
- "pca-2019": 8342,
107
- "pca-2020": 9232,
108
- "pca-2021": 10167,
109
- "pca-2022": 10370,
110
- "pca-2023": 9496,
111
- "pca-2024": 9824,
112
  "linear_regression-2015": 9508,
113
  "linear_regression-2016": 10092,
114
- "linear_regression-2017": 10640,
115
- "linear_regression-2018": 11826,
116
- "linear_regression-2019": 13019,
117
  "linear_regression-2020": 15565,
118
- "linear_regression-2021": 18227,
119
  "linear_regression-2022": 19244,
120
- "linear_regression-2023": 18409,
121
- "linear_regression-2024": 19206,
122
  "cnn-2015": 116,
123
  "cnn-2016": 273,
124
- "cnn-2017": 719,
125
- "cnn-2018": 1676,
126
- "cnn-2019": 2912,
127
- "cnn-2020": 4256,
128
- "cnn-2021": 6357,
129
- "cnn-2022": 8084,
130
- "cnn-2023": 7326,
131
- "cnn-2024": 7451,
132
  "lstm-2015": 21,
133
  "lstm-2016": 40,
134
  "lstm-2017": 117,
@@ -138,18 +138,17 @@
138
  "lstm-2021": 1334,
139
  "lstm-2022": 1969,
140
  "lstm-2023": 1826,
141
- "lstm-2024": 2059,
142
  "transformer-2015": 111,
143
  "transformer-2016": 108,
144
- "transformer-2017": 102,
145
  "transformer-2018": 138,
146
  "transformer-2019": 184,
147
  "transformer-2020": 354,
148
  "transformer-2021": 683,
149
  "transformer-2022": 1698,
150
- "transformer-2023": 3208,
151
- "transformer-2024": 4961,
152
- "resnet-2015": 2,
153
  "resnet-2016": 4,
154
  "resnet-2017": 23,
155
  "resnet-2018": 65,
@@ -167,28 +166,28 @@
167
  "unet-2020": 670,
168
  "unet-2021": 1103,
169
  "unet-2022": 1552,
170
- "unet-2023": 1698,
171
- "unet-2024": 1818,
172
- "gan-2015": 3093,
173
- "gan-2016": 3349,
174
- "gan-2017": 3312,
175
- "gan-2018": 3863,
176
- "gan-2019": 4344,
177
- "gan-2020": 5126,
178
- "gan-2021": 5986,
179
- "gan-2022": 6676,
180
- "gan-2023": 6611,
181
- "gan-2024": 6944,
182
  "autoencoder-2015": 44,
183
  "autoencoder-2016": 102,
184
- "autoencoder-2017": 162,
185
  "autoencoder-2018": 300,
186
  "autoencoder-2019": 397,
187
  "autoencoder-2020": 563,
188
  "autoencoder-2021": 821,
189
  "autoencoder-2022": 1075,
190
  "autoencoder-2023": 1181,
191
- "autoencoder-2024": 1358,
192
  "vgg-2015": 4,
193
  "vgg-2016": 10,
194
  "vgg-2017": 25,
@@ -207,8 +206,8 @@
207
  "inception-2020": 1757,
208
  "inception-2021": 1892,
209
  "inception-2022": 1995,
210
- "inception-2023": 1931,
211
- "inception-2024": 2033,
212
  "rnn-2015": 105,
213
  "rnn-2016": 116,
214
  "rnn-2017": 166,
@@ -238,7 +237,7 @@
238
  "yolo-2021": 246,
239
  "yolo-2022": 588,
240
  "yolo-2023": 774,
241
- "yolo-2024": 886,
242
  "capsnet-2015": 8,
243
  "capsnet-2016": 4,
244
  "capsnet-2017": 5,
@@ -249,46 +248,36 @@
249
  "capsnet-2022": 103,
250
  "capsnet-2023": 82,
251
  "capsnet-2024": 73,
252
- "attention-2015": 22456,
253
- "attention-2016": 23429,
254
- "attention-2017": 24706,
255
- "attention-2018": 26810,
256
- "attention-2019": 29325,
257
- "attention-2020": 35137,
258
- "attention-2021": 40508,
259
- "attention-2022": 44763,
260
- "attention-2023": 44196,
261
- "attention-2024": 46082,
262
- "gpt-2015": 110,
263
- "gpt-2016": 93,
264
- "gpt-2017": 96,
265
- "gpt-2018": 96,
266
- "gpt-2019": 97,
267
- "gpt-2020": 118,
268
- "gpt-2021": 151,
269
- "gpt-2022": 167,
270
- "gpt-2023": 2314,
271
- "gpt-2024": 4243,
272
  "claude-2015": 1555,
273
  "claude-2016": 1864,
274
- "claude-2017": 2127,
275
  "claude-2018": 2282,
276
  "claude-2019": 2379,
277
  "claude-2020": 2694,
278
  "claude-2021": 3013,
279
  "claude-2022": 2895,
280
  "claude-2023": 2760,
281
- "claude-2024": 2979,
282
  "bert-2015": 147,
283
  "bert-2016": 152,
284
- "bert-2017": 129,
285
  "bert-2018": 142,
286
  "bert-2019": 141,
287
- "bert-2020": 227,
288
  "bert-2021": 391,
289
- "bert-2022": 588,
290
- "bert-2023": 577,
291
- "bert-2024": 706,
292
  "gemini-2015": 158,
293
  "gemini-2016": 181,
294
  "gemini-2017": 190,
@@ -308,7 +297,7 @@
308
  "llama-2021": 72,
309
  "llama-2022": 60,
310
  "llama-2023": 66,
311
- "llama-2024": 224,
312
  "qwen-2015": 0,
313
  "qwen-2016": 0,
314
  "qwen-2017": 0,
@@ -341,7 +330,7 @@
341
  "mistral-2024": 73,
342
  "palm-2015": 1078,
343
  "palm-2016": 1126,
344
- "palm-2017": 1298,
345
  "palm-2018": 1297,
346
  "palm-2019": 1443,
347
  "palm-2020": 1685,
@@ -349,16 +338,16 @@
349
  "palm-2022": 1752,
350
  "palm-2023": 1708,
351
  "palm-2024": 1778,
352
- "t5-2015": 554,
353
- "t5-2016": 492,
354
- "t5-2017": 601,
355
- "t5-2018": 670,
356
- "t5-2019": 699,
357
- "t5-2020": 762,
358
- "t5-2021": 850,
359
- "t5-2022": 848,
360
- "t5-2023": 890,
361
- "t5-2024": 947,
362
  "roberta-2015": 144,
363
  "roberta-2016": 136,
364
  "roberta-2017": 140,
@@ -369,16 +358,16 @@
369
  "roberta-2022": 224,
370
  "roberta-2023": 267,
371
  "roberta-2024": 306,
372
- "phi-2015": 758,
373
- "phi-2016": 644,
374
- "phi-2017": 812,
375
- "phi-2018": 874,
376
- "phi-2019": 937,
377
- "phi-2020": 1028,
378
- "phi-2021": 1094,
379
- "phi-2022": 1167,
380
- "phi-2023": 1172,
381
- "phi-2024": 1230,
382
  "falcon-2015": 117,
383
  "falcon-2016": 122,
384
  "falcon-2017": 116,
@@ -388,5 +377,5 @@
388
  "falcon-2021": 215,
389
  "falcon-2022": 181,
390
  "falcon-2023": 184,
391
- "falcon-2024": 182
392
  }
 
1
  {
2
+ "svm-2015": 2189,
3
+ "svm-2016": 2218,
4
+ "svm-2017": 2489,
5
+ "svm-2018": 2799,
6
+ "svm-2019": 3134,
7
  "svm-2020": 3552,
8
+ "svm-2021": 4400,
9
+ "svm-2022": 5310,
10
  "svm-2023": 5015,
11
+ "svm-2024": 5566,
12
  "decision_tree-2015": 2690,
13
  "decision_tree-2016": 2822,
14
  "decision_tree-2017": 3089,
 
17
  "decision_tree-2020": 4730,
18
  "decision_tree-2021": 5816,
19
  "decision_tree-2022": 6297,
20
+ "decision_tree-2023": 6107,
21
+ "decision_tree-2024": 6736,
22
+ "random_forest-2015": 2150,
23
+ "random_forest-2016": 2312,
24
+ "random_forest-2017": 2703,
25
+ "random_forest-2018": 3253,
26
+ "random_forest-2019": 4046,
27
+ "random_forest-2020": 5279,
28
+ "random_forest-2021": 7049,
29
+ "random_forest-2022": 8274,
30
+ "random_forest-2023": 8818,
31
+ "random_forest-2024": 10650,
32
  "xgboost-2015": 1,
33
  "xgboost-2016": 3,
34
  "xgboost-2017": 16,
 
41
  "xgboost-2024": 3269,
42
  "logistic_regression-2015": 24898,
43
  "logistic_regression-2016": 26330,
44
+ "logistic_regression-2017": 28288,
45
+ "logistic_regression-2018": 30522,
46
+ "logistic_regression-2019": 34054,
47
  "logistic_regression-2020": 41392,
48
  "logistic_regression-2021": 50426,
49
+ "logistic_regression-2022": 53799,
50
+ "logistic_regression-2023": 50537,
51
+ "logistic_regression-2024": 54946,
52
  "naive_bayes-2015": 1473,
53
  "naive_bayes-2016": 1641,
54
  "naive_bayes-2017": 1790,
 
58
  "naive_bayes-2021": 3505,
59
  "naive_bayes-2022": 3738,
60
  "naive_bayes-2023": 4030,
61
+ "naive_bayes-2024": 4924,
62
  "knn-2015": 574,
63
  "knn-2016": 604,
64
  "knn-2017": 595,
 
68
  "knn-2021": 1507,
69
  "knn-2022": 1829,
70
  "knn-2023": 1875,
71
+ "knn-2024": 2142,
72
  "kmeans-2015": 345,
73
  "kmeans-2016": 353,
74
+ "kmeans-2017": 423,
75
  "kmeans-2018": 490,
76
  "kmeans-2019": 584,
77
  "kmeans-2020": 730,
78
+ "kmeans-2021": 1015,
79
  "kmeans-2022": 1255,
80
  "kmeans-2023": 1272,
81
+ "kmeans-2024": 1374,
82
  "gradient_boosting-2015": 2774,
83
  "gradient_boosting-2016": 2787,
84
+ "gradient_boosting-2017": 3101,
85
  "gradient_boosting-2018": 3688,
86
  "gradient_boosting-2019": 4101,
87
  "gradient_boosting-2020": 4975,
88
  "gradient_boosting-2021": 6060,
89
  "gradient_boosting-2022": 6674,
90
  "gradient_boosting-2023": 6827,
91
+ "gradient_boosting-2024": 7836,
92
  "ada_boost-2015": 67,
93
  "ada_boost-2016": 76,
94
  "ada_boost-2017": 74,
 
99
  "ada_boost-2022": 363,
100
  "ada_boost-2023": 370,
101
  "ada_boost-2024": 499,
102
+ "pca-2015": 6415,
103
+ "pca-2016": 6688,
104
+ "pca-2017": 6963,
105
+ "pca-2018": 7483,
106
+ "pca-2019": 8223,
107
+ "pca-2020": 9088,
108
+ "pca-2021": 9994,
109
+ "pca-2022": 10221,
110
+ "pca-2023": 9369,
111
+ "pca-2024": 9672,
112
  "linear_regression-2015": 9508,
113
  "linear_regression-2016": 10092,
114
+ "linear_regression-2017": 10636,
115
+ "linear_regression-2018": 11825,
116
+ "linear_regression-2019": 13020,
117
  "linear_regression-2020": 15565,
118
+ "linear_regression-2021": 18228,
119
  "linear_regression-2022": 19244,
120
+ "linear_regression-2023": 18411,
121
+ "linear_regression-2024": 19204,
122
  "cnn-2015": 116,
123
  "cnn-2016": 273,
124
+ "cnn-2017": 718,
125
+ "cnn-2018": 1671,
126
+ "cnn-2019": 2905,
127
+ "cnn-2020": 4246,
128
+ "cnn-2021": 6342,
129
+ "cnn-2022": 8057,
130
+ "cnn-2023": 7299,
131
+ "cnn-2024": 7416,
132
  "lstm-2015": 21,
133
  "lstm-2016": 40,
134
  "lstm-2017": 117,
 
138
  "lstm-2021": 1334,
139
  "lstm-2022": 1969,
140
  "lstm-2023": 1826,
141
+ "lstm-2024": 2060,
142
  "transformer-2015": 111,
143
  "transformer-2016": 108,
144
+ "transformer-2017": 101,
145
  "transformer-2018": 138,
146
  "transformer-2019": 184,
147
  "transformer-2020": 354,
148
  "transformer-2021": 683,
149
  "transformer-2022": 1698,
150
+ "transformer-2023": 3209,
151
+ "transformer-2024": 4962,
 
152
  "resnet-2016": 4,
153
  "resnet-2017": 23,
154
  "resnet-2018": 65,
 
166
  "unet-2020": 670,
167
  "unet-2021": 1103,
168
  "unet-2022": 1552,
169
+ "unet-2023": 1699,
170
+ "unet-2024": 1819,
171
+ "gan-2015": 63,
172
+ "gan-2016": 65,
173
+ "gan-2017": 66,
174
+ "gan-2018": 178,
175
+ "gan-2019": 329,
176
+ "gan-2020": 629,
177
+ "gan-2021": 979,
178
+ "gan-2022": 1237,
179
+ "gan-2023": 1267,
180
+ "gan-2024": 1255,
181
  "autoencoder-2015": 44,
182
  "autoencoder-2016": 102,
183
+ "autoencoder-2017": 161,
184
  "autoencoder-2018": 300,
185
  "autoencoder-2019": 397,
186
  "autoencoder-2020": 563,
187
  "autoencoder-2021": 821,
188
  "autoencoder-2022": 1075,
189
  "autoencoder-2023": 1181,
190
+ "autoencoder-2024": 1359,
191
  "vgg-2015": 4,
192
  "vgg-2016": 10,
193
  "vgg-2017": 25,
 
206
  "inception-2020": 1757,
207
  "inception-2021": 1892,
208
  "inception-2022": 1995,
209
+ "inception-2023": 1930,
210
+ "inception-2024": 2026,
211
  "rnn-2015": 105,
212
  "rnn-2016": 116,
213
  "rnn-2017": 166,
 
237
  "yolo-2021": 246,
238
  "yolo-2022": 588,
239
  "yolo-2023": 774,
240
+ "yolo-2024": 887,
241
  "capsnet-2015": 8,
242
  "capsnet-2016": 4,
243
  "capsnet-2017": 5,
 
248
  "capsnet-2022": 103,
249
  "capsnet-2023": 82,
250
  "capsnet-2024": 73,
251
+ "gpt-2015": 88,
252
+ "gpt-2016": 69,
253
+ "gpt-2017": 74,
254
+ "gpt-2018": 75,
255
+ "gpt-2019": 81,
256
+ "gpt-2020": 96,
257
+ "gpt-2021": 126,
258
+ "gpt-2022": 144,
259
+ "gpt-2023": 2294,
260
+ "gpt-2024": 4217,
 
 
 
 
 
 
 
 
 
 
261
  "claude-2015": 1555,
262
  "claude-2016": 1864,
263
+ "claude-2017": 2125,
264
  "claude-2018": 2282,
265
  "claude-2019": 2379,
266
  "claude-2020": 2694,
267
  "claude-2021": 3013,
268
  "claude-2022": 2895,
269
  "claude-2023": 2760,
270
+ "claude-2024": 2980,
271
  "bert-2015": 147,
272
  "bert-2016": 152,
273
+ "bert-2017": 128,
274
  "bert-2018": 142,
275
  "bert-2019": 141,
276
+ "bert-2020": 226,
277
  "bert-2021": 391,
278
+ "bert-2022": 587,
279
+ "bert-2023": 576,
280
+ "bert-2024": 704,
281
  "gemini-2015": 158,
282
  "gemini-2016": 181,
283
  "gemini-2017": 190,
 
297
  "llama-2021": 72,
298
  "llama-2022": 60,
299
  "llama-2023": 66,
300
+ "llama-2024": 225,
301
  "qwen-2015": 0,
302
  "qwen-2016": 0,
303
  "qwen-2017": 0,
 
330
  "mistral-2024": 73,
331
  "palm-2015": 1078,
332
  "palm-2016": 1126,
333
+ "palm-2017": 1297,
334
  "palm-2018": 1297,
335
  "palm-2019": 1443,
336
  "palm-2020": 1685,
 
338
  "palm-2022": 1752,
339
  "palm-2023": 1708,
340
  "palm-2024": 1778,
341
+ "t5-2015": 524,
342
+ "t5-2016": 465,
343
+ "t5-2017": 583,
344
+ "t5-2018": 637,
345
+ "t5-2019": 661,
346
+ "t5-2020": 724,
347
+ "t5-2021": 807,
348
+ "t5-2022": 831,
349
+ "t5-2023": 857,
350
+ "t5-2024": 921,
351
  "roberta-2015": 144,
352
  "roberta-2016": 136,
353
  "roberta-2017": 140,
 
358
  "roberta-2022": 224,
359
  "roberta-2023": 267,
360
  "roberta-2024": 306,
361
+ "phi-2015": 1,
362
+ "phi-2016": 1,
363
+ "phi-2017": 2,
364
+ "phi-2018": 5,
365
+ "phi-2019": 1,
366
+ "phi-2020": 2,
367
+ "phi-2021": 5,
368
+ "phi-2022": 5,
369
+ "phi-2023": 2,
370
+ "phi-2024": 6,
371
  "falcon-2015": 117,
372
  "falcon-2016": 122,
373
  "falcon-2017": 116,
 
377
  "falcon-2021": 215,
378
  "falcon-2022": 181,
379
  "falcon-2023": 184,
380
+ "falcon-2024": 184
381
  }
frontend/index.html CHANGED
@@ -1,13 +1,16 @@
1
  <!doctype html>
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>PubMed AI Explorer</title>
8
- </head>
9
- <body>
10
- <div id="root"></div>
11
- <script type="module" src="/src/main.tsx"></script>
12
- </body>
 
 
 
13
  </html>
 
1
  <!doctype html>
2
  <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <title>MedicalAIWiki</title>
9
+ </head>
10
+
11
+ <body>
12
+ <div id="root"></div>
13
+ <script type="module" src="/src/main.tsx"></script>
14
+ </body>
15
+
16
  </html>
frontend/src/components/Navbar.tsx CHANGED
@@ -12,7 +12,7 @@ const Navbar: React.FC = () => {
12
  <div className="flex items-center">
13
  <Link to="/" className="flex items-center space-x-2">
14
  <BarChart3 className="h-8 w-8 text-blue-600" />
15
- <span className="text-xl font-bold text-gray-900">PubMed AI Explorer</span>
16
  </Link>
17
  </div>
18
 
 
12
  <div className="flex items-center">
13
  <Link to="/" className="flex items-center space-x-2">
14
  <BarChart3 className="h-8 w-8 text-blue-600" />
15
+ <span className="text-xl font-bold text-gray-900">Medical AI Wiki</span>
16
  </Link>
17
  </div>
18