File size: 474,257 Bytes
3df5819
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>graphify - /run/media/morpheuslord/Personal_Files/Projects/Rewriter/graphify-out/graph.html</title>
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
<style>
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body { background: #0f0f1a; color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; display: flex; height: 100vh; overflow: hidden; }
  #graph { flex: 1; }
  #sidebar { width: 280px; background: #1a1a2e; border-left: 1px solid #2a2a4e; display: flex; flex-direction: column; overflow: hidden; }
  #search-wrap { padding: 12px; border-bottom: 1px solid #2a2a4e; }
  #search { width: 100%; background: #0f0f1a; border: 1px solid #3a3a5e; color: #e0e0e0; padding: 7px 10px; border-radius: 6px; font-size: 13px; outline: none; }
  #search:focus { border-color: #4E79A7; }
  #search-results { max-height: 140px; overflow-y: auto; padding: 4px 12px; border-bottom: 1px solid #2a2a4e; display: none; }
  .search-item { padding: 4px 6px; cursor: pointer; border-radius: 4px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .search-item:hover { background: #2a2a4e; }
  #info-panel { padding: 14px; border-bottom: 1px solid #2a2a4e; min-height: 140px; }
  #info-panel h3 { font-size: 13px; color: #aaa; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.05em; }
  #info-content { font-size: 13px; color: #ccc; line-height: 1.6; }
  #info-content .field { margin-bottom: 5px; }
  #info-content .field b { color: #e0e0e0; }
  #info-content .empty { color: #555; font-style: italic; }
  .neighbor-link { display: block; padding: 2px 6px; margin: 2px 0; border-radius: 3px; cursor: pointer; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 3px solid #333; }
  .neighbor-link:hover { background: #2a2a4e; }
  #neighbors-list { max-height: 160px; overflow-y: auto; margin-top: 4px; }
  #legend-wrap { flex: 1; overflow-y: auto; padding: 12px; }
  #legend-wrap h3 { font-size: 13px; color: #aaa; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.05em; }
  .legend-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; border-radius: 4px; font-size: 12px; }
  .legend-item:hover { background: #2a2a4e; padding-left: 4px; }
  .legend-item.dimmed { opacity: 0.35; }
  .legend-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
  .legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .legend-count { color: #666; font-size: 11px; }
  #stats { padding: 10px 14px; border-top: 1px solid #2a2a4e; font-size: 11px; color: #555; }
  #legend-controls { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding: 4px 0; }
  #legend-controls label { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: 12px; color: #aaa; user-select: none; }
  #legend-controls label:hover { color: #e0e0e0; }
  .legend-cb, #select-all-cb { appearance: none; -webkit-appearance: none; width: 14px; height: 14px; border: 1.5px solid #3a3a5e; border-radius: 3px; background: #0f0f1a; cursor: pointer; position: relative; flex-shrink: 0; }
  .legend-cb:checked, #select-all-cb:checked { background: #4E79A7; border-color: #4E79A7; }
  .legend-cb:checked::after, #select-all-cb:checked::after { content: ''; position: absolute; left: 3.5px; top: 1px; width: 4px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
  #select-all-cb:indeterminate { background: #4E79A7; border-color: #4E79A7; }
  #select-all-cb:indeterminate::after { content: ''; position: absolute; left: 2px; top: 5px; width: 8px; height: 2px; background: #fff; border: none; transform: none; }
</style>
</head>
<body>
<div id="graph"></div>
<div id="sidebar">
  <div id="search-wrap">
    <input id="search" type="text" placeholder="Search nodes..." autocomplete="off">
    <div id="search-results"></div>
  </div>
  <div id="info-panel">
    <h3>Node Info</h3>
    <div id="info-content"><span class="empty">Click a node to inspect it</span></div>
  </div>
  <div id="legend-wrap">
    <h3>Communities</h3>
    <div id="legend-controls">
      <label><input type="checkbox" id="select-all-cb" checked onchange="toggleAllCommunities(!this.checked)">Select All</label>
    </div>
    <div id="legend"></div>
  </div>
  <div id="stats">549 nodes &middot; 873 edges &middot; 28 communities</div>
</div>
<script>
const RAW_NODES = [{"id": "graph_codebase_py", "label": "graph_codebase.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 22.4, "font": {"size": 12, "color": "#ffffff"}, "title": "graph_codebase.py", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 14}, {"id": "graph_codebase_py_docstring", "label": "graphify_rebuild.py \u2014 One-shot NudR knowledge graph regeneration.Usage:    py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "graphify_rebuild.py \u2014 One-shot NudR knowledge graph regeneration.Usage:    py", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_detect_files", "label": "detect_files()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "detect_files()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py_detect_files_doc", "label": "Walk the project and return list of relevant files with metadata.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Walk the project and return list of relevant files with metadata.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_get_changed_files", "label": "get_changed_files()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_changed_files()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py_get_changed_files_doc", "label": "Compare against manifest to find changed files.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compare against manifest to find changed files.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_hash_file", "label": "hash_file()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "hash_file()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py_hash_file_doc", "label": "SHA-256 hash for cache keying.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "SHA-256 hash for cache keying.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_extract_ast_file", "label": "extract_ast_file()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "extract_ast_file()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 6}, {"id": "graph_codebase_py_extract_ast_file_doc", "label": "Extract AST nodes and edges from a single Python file.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract AST nodes and edges from a single Python file.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py__get_call_name", "label": "_get_call_name()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_call_name()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py__get_call_name_doc", "label": "Extract callable name from ast.Call node.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract callable name from ast.Call node.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py__get_name", "label": "_get_name()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_name()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py__get_name_doc", "label": "Extract name from various AST node types.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract name from various AST node types.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py__resolve_edges", "label": "_resolve_edges()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_resolve_edges()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py__resolve_edges_doc", "label": "Post-process edges to resolve bare names to actual node IDs.The per-file AST e", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Post-process edges to resolve bare names to actual node IDs.The per-file AST e", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_run_ast_extraction", "label": "run_ast_extraction()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "run_ast_extraction()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 6}, {"id": "graph_codebase_py_run_ast_extraction_doc", "label": "Run AST extraction on all Python files, with caching.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Run AST extraction on all Python files, with caching.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_build_semantic_nodes", "label": "build_semantic_nodes()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "build_semantic_nodes()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py_build_semantic_nodes_doc", "label": "Build semantic nodes from documentation files.These capture high-level architec", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Build semantic nodes from documentation files.These capture high-level architec", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_merge_and_build", "label": "merge_and_build()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "merge_and_build()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py_merge_and_build_doc", "label": "Merge AST + semantic, build NetworkX graph, cluster, analyze.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Merge AST + semantic, build NetworkX graph, cluster, analyze.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_generate_outputs", "label": "generate_outputs()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_outputs()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py_generate_outputs_doc", "label": "Generate report, HTML, JSON, and manifest.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate report, HTML, JSON, and manifest.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_run_pipeline", "label": "run_pipeline()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "run_pipeline()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 9}, {"id": "graph_codebase_py_run_pipeline_doc", "label": "Execute the full graphify pipeline.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Execute the full graphify pipeline.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "graph_codebase_py_watch_mode", "label": "watch_mode()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "watch_mode()", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "code", "degree": 3}, {"id": "graph_codebase_py_watch_mode_doc", "label": "Watch for file changes and rebuild automatically.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Watch for file changes and rebuild automatically.", "community": 10, "community_name": "Module Group 10", "source_file": "graph_codebase.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_fce_json_to_m2_py", "label": "json_to_m2.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "json_to_m2.py", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 10}, {"id": "data_raw_fce_json_to_m2_py_main", "label": "main()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "main()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 8}, {"id": "data_raw_fce_json_to_m2_py_parse_args", "label": "parse_args()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_args()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 2}, {"id": "data_raw_fce_json_to_m2_py_get_paras", "label": "get_paras()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_paras()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 2}, {"id": "data_raw_fce_json_to_m2_py_clean_para", "label": "clean_para()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "clean_para()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 2}, {"id": "data_raw_fce_json_to_m2_py_get_token_edits", "label": "get_token_edits()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_token_edits()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 4}, {"id": "data_raw_fce_json_to_m2_py_get_all_tok_starts_and_ends", "label": "get_all_tok_starts_and_ends()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_all_tok_starts_and_ends()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 2}, {"id": "data_raw_fce_json_to_m2_py_convert_char_to_tok", "label": "convert_char_to_tok()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "convert_char_to_tok()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 2}, {"id": "data_raw_fce_json_to_m2_py_get_sents", "label": "get_sents()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_sents()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 3}, {"id": "data_raw_fce_json_to_m2_py_prepare_sent_edits_output", "label": "prepare_sent_edits_output()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "prepare_sent_edits_output()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 2}, {"id": "data_raw_fce_json_to_m2_py_noop_edit", "label": "noop_edit()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "noop_edit()", "community": 13, "community_name": "Token Management", "source_file": "data/raw/fce/json_to_m2.py", "file_type": "code", "degree": 2}, {"id": "data_raw_jfleg_repo_EACL_exp_m2converter_util___init___py", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 25, "community_name": "Module Group 25", "source_file": "data/raw/jfleg_repo/EACL_exp/m2converter/util/__init__.py", "file_type": "code", "degree": 0}, {"id": "data_raw_jfleg_repo_eval_gleu_py", "label": "gleu.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 21.5, "font": {"size": 12, "color": "#ffffff"}, "title": "gleu.py", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 13}, {"id": "data_raw_jfleg_repo_eval_gleu_py_docstring", "label": "(Note: This script computes sentence-level GLEU score.)This script calculates ", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "(Note: This script computes sentence-level GLEU score.)This script calculates ", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_GLEU", "label": "GLEU", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "GLEU", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 9}, {"id": "data_raw_jfleg_repo_eval_gleu_py_load_hypothesis_sentence", "label": "load_hypothesis_sentence()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "load_hypothesis_sentence()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 4}, {"id": "data_raw_jfleg_repo_eval_gleu_py_load_hypothesis_sentence_doc", "label": "load ngrams for a single sentence", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "load ngrams for a single sentence", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_load_sources", "label": "load_sources()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "load_sources()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 3}, {"id": "data_raw_jfleg_repo_eval_gleu_py_load_sources_doc", "label": "load n-grams for all source sentences", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "load n-grams for all source sentences", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_load_references", "label": "load_references()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "load_references()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 3}, {"id": "data_raw_jfleg_repo_eval_gleu_py_load_references_doc", "label": "load n-grams for all references", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "load n-grams for all references", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts", "label": "get_ngram_counts()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "get_ngram_counts()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 6}, {"id": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts_doc", "label": "get ngrams of order n for a tokenized sentence", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get ngrams of order n for a tokenized sentence", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_diff", "label": "get_ngram_diff()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_ngram_diff()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 3}, {"id": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_diff_doc", "label": "returns ngrams in a but not in b", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "returns ngrams in a but not in b", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_normalization", "label": "normalization()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "normalization()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 2}, {"id": "data_raw_jfleg_repo_eval_gleu_py_normalization_doc", "label": "get normalized n-gram count", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get normalized n-gram count", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats", "label": "gleu_stats()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "gleu_stats()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 5}, {"id": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats_doc", "label": "Collect BLEU-relevant statistics for a single hypothesis/reference pair.Return ", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Collect BLEU-relevant statistics for a single hypothesis/reference pair.Return ", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_gleu", "label": "gleu()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "gleu()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 3}, {"id": "data_raw_jfleg_repo_eval_gleu_py_gleu_doc", "label": "Compute GLEU from collected statistics obtained by call(s) to gleu_stats", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute GLEU from collected statistics obtained by call(s) to gleu_stats", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_get_gleu_stats", "label": "get_gleu_stats()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_gleu_stats()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 3}, {"id": "data_raw_jfleg_repo_eval_gleu_py_get_gleu_stats_doc", "label": "calculate mean and confidence interval from all GLEU iterations", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "calculate mean and confidence interval from all GLEU iterations", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "data_raw_jfleg_repo_eval_gleu_py_run_iterations", "label": "run_iterations()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "run_iterations()", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "code", "degree": 6}, {"id": "data_raw_jfleg_repo_eval_gleu_py_run_iterations_doc", "label": "run specified number of iterations of GLEU, choosing a referencefor each senten", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "run specified number of iterations of GLEU, choosing a referencefor each senten", "community": 12, "community_name": "Module Group 12", "source_file": "data/raw/jfleg_repo/eval/gleu.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_download_all_huggingface_datasets_py", "label": "download_all_huggingface_datasets.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "download_all_huggingface_datasets.py", "community": 22, "community_name": "Utility Scripts", "source_file": "scripts/download_all_huggingface_datasets.py", "file_type": "code", "degree": 2}, {"id": "scripts_download_all_huggingface_datasets_py_docstring", "label": "Downloads all publicly available HuggingFace datasets automatically.Datasets re", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Downloads all publicly available HuggingFace datasets automatically.Datasets re", "community": 22, "community_name": "Utility Scripts", "source_file": "scripts/download_all_huggingface_datasets.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_download_all_huggingface_datasets_py_main", "label": "main()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "main()", "community": 22, "community_name": "Utility Scripts", "source_file": "scripts/download_all_huggingface_datasets.py", "file_type": "code", "degree": 1}, {"id": "scripts_evaluate_py", "label": "evaluate.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "evaluate.py", "community": 1, "community_name": "Utility Scripts", "source_file": "scripts/evaluate.py", "file_type": "code", "degree": 9}, {"id": "scripts_evaluate_py_docstring", "label": "Evaluation script.Runs all evaluation metrics on the test set.Run: python scri", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Evaluation script.Runs all evaluation metrics on the test set.Run: python scri", "community": 1, "community_name": "Utility Scripts", "source_file": "scripts/evaluate.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_evaluate_py_evaluate", "label": "evaluate()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "evaluate()", "community": 1, "community_name": "Utility Scripts", "source_file": "scripts/evaluate.py", "file_type": "code", "degree": 8}, {"id": "scripts_evaluate_py_evaluate_doc", "label": "Run evaluation on the specified data split.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Run evaluation on the specified data split.", "community": 1, "community_name": "Utility Scripts", "source_file": "scripts/evaluate.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py", "label": "preprocess_data.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "preprocess_data.py", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 8}, {"id": "scripts_preprocess_data_py_docstring", "label": "Converts all raw dataset formats into unified JSONL training format.Output sche", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Converts all raw dataset formats into unified JSONL training format.Output sche", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py_apply_bea19_edits", "label": "apply_bea19_edits()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "apply_bea19_edits()", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 3}, {"id": "scripts_preprocess_data_py_apply_bea19_edits_doc", "label": "Apply BEA-2019 character-level edits to produce corrected text.edits_block for", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply BEA-2019 character-level edits to produce corrected text.edits_block for", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py_process_bea19_json", "label": "process_bea19_json()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "process_bea19_json()", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 5}, {"id": "scripts_preprocess_data_py_process_bea19_json_doc", "label": "Process a BEA-2019 format JSON file (FCE or W&I+LOCNESS).Each line is a JSON ob", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Process a BEA-2019 format JSON file (FCE or W&amp;I+LOCNESS).Each line is a JSON ob", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py_process_fce", "label": "process_fce()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "process_fce()", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 4}, {"id": "scripts_preprocess_data_py_process_fce_doc", "label": "Process all FCE JSON files.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Process all FCE JSON files.", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py_process_wi_locness", "label": "process_wi_locness()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "process_wi_locness()", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 4}, {"id": "scripts_preprocess_data_py_process_wi_locness_doc", "label": "Process all W&I+LOCNESS JSON files.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Process all W&amp;I+LOCNESS JSON files.", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py_process_jfleg", "label": "process_jfleg()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "process_jfleg()", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 3}, {"id": "scripts_preprocess_data_py_process_jfleg_doc", "label": "JFLEG: .src files (original) and .ref0..ref3 (4 human corrections).Each referen", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "JFLEG: .src files (original) and .ref0..ref3 (4 human corrections).Each referen", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py_create_splits", "label": "create_splits()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "create_splits()", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 3}, {"id": "scripts_preprocess_data_py_create_splits_doc", "label": "Split train.jsonl into train and val sets.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Split train.jsonl into train and val sets.", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_preprocess_data_py_main", "label": "main()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "main()", "community": 15, "community_name": "Utility Scripts", "source_file": "scripts/preprocess_data.py", "file_type": "code", "degree": 5}, {"id": "scripts_pretrain_human_pattern_classifier_py", "label": "pretrain_human_pattern_classifier.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "pretrain_human_pattern_classifier.py", "community": 7, "community_name": "Utility Scripts", "source_file": "scripts/pretrain_human_pattern_classifier.py", "file_type": "code", "degree": 3}, {"id": "scripts_pretrain_human_pattern_classifier_py_docstring", "label": "Pre-trains the HumanPatternClassifier on both Kaggle datasets.Run this BEFORE t", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Pre-trains the HumanPatternClassifier on both Kaggle datasets.Run this BEFORE t", "community": 7, "community_name": "Utility Scripts", "source_file": "scripts/pretrain_human_pattern_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_pretrain_human_pattern_classifier_py_train_classifier", "label": "train_classifier()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "train_classifier()", "community": 7, "community_name": "Utility Scripts", "source_file": "scripts/pretrain_human_pattern_classifier.py", "file_type": "code", "degree": 4}, {"id": "scripts_pretrain_human_pattern_classifier_py_train_classifier_doc", "label": "Pre-train the human pattern classifier on Kaggle datasets.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Pre-train the human pattern classifier on Kaggle datasets.", "community": 7, "community_name": "Utility Scripts", "source_file": "scripts/pretrain_human_pattern_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_run_inference_py", "label": "run_inference.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "run_inference.py", "community": 9, "community_name": "Utility Scripts", "source_file": "scripts/run_inference.py", "file_type": "code", "degree": 3}, {"id": "scripts_run_inference_py_docstring", "label": "Interactive inference script.Run: python scripts/run_inference.py --config conf", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Interactive inference script.Run: python scripts/run_inference.py --config conf", "community": 9, "community_name": "Utility Scripts", "source_file": "scripts/run_inference.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_run_inference_py_run_inference", "label": "run_inference()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "run_inference()", "community": 9, "community_name": "Utility Scripts", "source_file": "scripts/run_inference.py", "file_type": "code", "degree": 4}, {"id": "scripts_run_inference_py_run_inference_doc", "label": "Run inference on text input.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Run inference on text input.", "community": 9, "community_name": "Utility Scripts", "source_file": "scripts/run_inference.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_train_py", "label": "train.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 23.2, "font": {"size": 12, "color": "#ffffff"}, "title": "train.py", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "code", "degree": 15}, {"id": "scripts_train_py_docstring", "label": "Full training entry point.Run: python scripts/train.py --config configs/trainin", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Full training entry point.Run: python scripts/train.py --config configs/trainin", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_train_py__setup_device", "label": "_setup_device()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_setup_device()", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "code", "degree": 3}, {"id": "scripts_train_py__setup_device_doc", "label": "Detect GPU and configure hybrid VRAM management.Returns (device, gpu_info) whe", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Detect GPU and configure hybrid VRAM management.Returns (device, gpu_info) whe", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_train_py__auto_batch_size", "label": "_auto_batch_size()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_auto_batch_size()", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "code", "degree": 3}, {"id": "scripts_train_py__auto_batch_size_doc", "label": "Pick optimal batch size based on model size and available resources.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Pick optimal batch size based on model size and available resources.", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_train_py_train", "label": "train()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 40.0, "font": {"size": 12, "color": "#ffffff"}, "title": "train()", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "code", "degree": 34}, {"id": "scripts_train_py_train_doc", "label": "Launch the full training pipeline.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Launch the full training pipeline.", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_train_py_CEOnlyLoss", "label": "CEOnlyLoss", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "CEOnlyLoss", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "code", "degree": 2}, {"id": "scripts_train_py_CEOnlyLoss_doc", "label": "Cross-entropy only loss \u2014 the only loss that provides gradient signal.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Cross-entropy only loss \u2014 the only loss that provides gradient signal.", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_train_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 33.8, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "code", "degree": 27}, {"id": "scripts_train_py_forward", "label": "forward()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "forward()", "community": 7, "community_name": "Utility Scripts", "source_file": "scripts/train.py", "file_type": "code", "degree": 2}, {"id": "src_api_main_py", "label": "main.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "main.py", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "code", "degree": 4}, {"id": "src_api_main_py_docstring", "label": "FastAPI server for the Dyslexia Academic Writing Corrector API.Provides RESTful", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPI server for the Dyslexia Academic Writing Corrector API.Provides RESTful", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_main_py_startup", "label": "startup()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "startup()", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "code", "degree": 2}, {"id": "src_api_main_py_startup_doc", "label": "Load config and initialise corrector on startup.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Load config and initialise corrector on startup.", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_main_py_correct_text", "label": "correct_text()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "correct_text()", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "code", "degree": 4}, {"id": "src_api_main_py_correct_text_doc", "label": "Correct dyslectic text with style preservation and academic elevation.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Correct dyslectic text with style preservation and academic elevation.", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_main_py_health", "label": "health()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "health()", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "code", "degree": 2}, {"id": "src_api_main_py_health_doc", "label": "Health check endpoint.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Health check endpoint.", "community": 9, "community_name": "Utility Scripts", "source_file": "src/api/main.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_middleware_py", "label": "middleware.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "middleware.py", "community": 17, "community_name": "Module Group 17", "source_file": "src/api/middleware.py", "file_type": "code", "degree": 5}, {"id": "src_api_middleware_py_docstring", "label": "API middleware for request logging, rate limiting, and error handling.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "API middleware for request logging, rate limiting, and error handling.", "community": 17, "community_name": "Module Group 17", "source_file": "src/api/middleware.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_middleware_py_RequestLoggingMiddleware", "label": "RequestLoggingMiddleware", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "RequestLoggingMiddleware", "community": 17, "community_name": "Module Group 17", "source_file": "src/api/middleware.py", "file_type": "code", "degree": 2}, {"id": "src_api_middleware_py_RequestLoggingMiddleware_doc", "label": "Logs all incoming requests with timing information.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Logs all incoming requests with timing information.", "community": 17, "community_name": "Module Group 17", "source_file": "src/api/middleware.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_middleware_py_RateLimitMiddleware", "label": "RateLimitMiddleware", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "RateLimitMiddleware", "community": 17, "community_name": "Module Group 17", "source_file": "src/api/middleware.py", "file_type": "code", "degree": 2}, {"id": "src_api_middleware_py_RateLimitMiddleware_doc", "label": "Simple in-memory rate limiting.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Simple in-memory rate limiting.", "community": 17, "community_name": "Module Group 17", "source_file": "src/api/middleware.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_middleware_py_dispatch", "label": "dispatch()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "dispatch()", "community": 17, "community_name": "Module Group 17", "source_file": "src/api/middleware.py", "file_type": "code", "degree": 1}, {"id": "src_api_middleware_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 33.8, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/api/middleware.py", "file_type": "code", "degree": 27}, {"id": "src_api_schemas_py", "label": "schemas.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "schemas.py", "community": 20, "community_name": "Module Group 20", "source_file": "src/api/schemas.py", "file_type": "code", "degree": 3}, {"id": "src_api_schemas_py_docstring", "label": "Pydantic schemas for API request/response validation.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Pydantic schemas for API request/response validation.", "community": 20, "community_name": "Module Group 20", "source_file": "src/api/schemas.py", "file_type": "rationale", "degree": 1}, {"id": "src_api_schemas_py_CorrectionRequest", "label": "CorrectionRequest", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CorrectionRequest", "community": 20, "community_name": "Module Group 20", "source_file": "src/api/schemas.py", "file_type": "code", "degree": 1}, {"id": "src_api_schemas_py_CorrectionResponse", "label": "CorrectionResponse", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CorrectionResponse", "community": 20, "community_name": "Module Group 20", "source_file": "src/api/schemas.py", "file_type": "code", "degree": 1}, {"id": "src_evaluation_authorship_verifier_py", "label": "authorship_verifier.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "authorship_verifier.py", "community": 8, "community_name": "Authentication", "source_file": "src/evaluation/authorship_verifier.py", "file_type": "code", "degree": 4}, {"id": "src_evaluation_authorship_verifier_py_docstring", "label": "Authorship verification module.Uses a fine-tuned model to verify whether the co", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Authorship verification module.Uses a fine-tuned model to verify whether the co", "community": 8, "community_name": "Authentication", "source_file": "src/evaluation/authorship_verifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_authorship_verifier_py_AuthorshipVerifier", "label": "AuthorshipVerifier", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthorshipVerifier", "community": 8, "community_name": "Authentication", "source_file": "src/evaluation/authorship_verifier.py", "file_type": "code", "degree": 2}, {"id": "src_evaluation_authorship_verifier_py_AuthorshipVerifier_doc", "label": "Verifies authorship consistency between input and output text.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Verifies authorship consistency between input and output text.", "community": 8, "community_name": "Authentication", "source_file": "src/evaluation/authorship_verifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_authorship_verifier_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/evaluation/authorship_verifier.py", "file_type": "code", "degree": 9}, {"id": "src_evaluation_authorship_verifier_py_verify", "label": "verify()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "verify()", "community": 8, "community_name": "Authentication", "source_file": "src/evaluation/authorship_verifier.py", "file_type": "code", "degree": 3}, {"id": "src_evaluation_authorship_verifier_py_verify_doc", "label": "Return probability that both texts were written by the same author.Uses senten", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Return probability that both texts were written by the same author.Uses senten", "community": 8, "community_name": "Authentication", "source_file": "src/evaluation/authorship_verifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_errant_evaluator_py", "label": "errant_evaluator.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "errant_evaluator.py", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/errant_evaluator.py", "file_type": "code", "degree": 5}, {"id": "src_evaluation_errant_evaluator_py_docstring", "label": "ERRANT-based grammatical error evaluation.Uses the ERRANT toolkit for standardi", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "ERRANT-based grammatical error evaluation.Uses the ERRANT toolkit for standardi", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/errant_evaluator.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_errant_evaluator_py_ERRANTEvaluator", "label": "ERRANTEvaluator", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "ERRANTEvaluator", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/errant_evaluator.py", "file_type": "code", "degree": 2}, {"id": "src_evaluation_errant_evaluator_py_ERRANTEvaluator_doc", "label": "Evaluates grammar correction quality using ERRANT annotations.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Evaluates grammar correction quality using ERRANT annotations.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/errant_evaluator.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_errant_evaluator_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/evaluation/errant_evaluator.py", "file_type": "code", "degree": 9}, {"id": "src_evaluation_errant_evaluator_py_evaluate", "label": "evaluate()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "evaluate()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/errant_evaluator.py", "file_type": "code", "degree": 4}, {"id": "src_evaluation_errant_evaluator_py_evaluate_doc", "label": "Compute ERRANT precision, recall, F0.5.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute ERRANT precision, recall, F0.5.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/errant_evaluator.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_gleu_scorer_py", "label": "gleu_scorer.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "gleu_scorer.py", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "code", "degree": 7}, {"id": "src_evaluation_gleu_scorer_py_docstring", "label": "GLEU (Generalized Language Evaluation Understanding) score.Preferred over BLEU ", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "GLEU (Generalized Language Evaluation Understanding) score.Preferred over BLEU ", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_gleu_scorer_py_GLEUScorer", "label": "GLEUScorer", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "GLEUScorer", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "code", "degree": 2}, {"id": "src_evaluation_gleu_scorer_py_GLEUScorer_doc", "label": "Computes GLEU and BERTScore metrics for GEC evaluation.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Computes GLEU and BERTScore metrics for GEC evaluation.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_gleu_scorer_py_compute_gleu", "label": "compute_gleu()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_gleu()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "code", "degree": 5}, {"id": "src_evaluation_gleu_scorer_py_compute_gleu_doc", "label": "Corpus-level GLEU score (0-100).GLEU is the geometric mean of n-gram precision", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Corpus-level GLEU score (0-100).GLEU is the geometric mean of n-gram precision", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_gleu_scorer_py_compute_bert_score", "label": "compute_bert_score()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_bert_score()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "code", "degree": 3}, {"id": "src_evaluation_gleu_scorer_py_compute_bert_score_doc", "label": "Returns (precision, recall, F1) as averages over the batch.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns (precision, recall, F1) as averages over the batch.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/gleu_scorer.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_style_metrics_py", "label": "style_metrics.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "style_metrics.py", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "code", "degree": 8}, {"id": "src_evaluation_style_metrics_py_docstring", "label": "Measures style preservation between input and output.Key metrics:  - Style Ve", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Measures style preservation between input and output.Key metrics:  - Style Ve", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_style_metrics_py_StyleEvaluator", "label": "StyleEvaluator", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "StyleEvaluator", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "code", "degree": 2}, {"id": "src_evaluation_style_metrics_py_StyleEvaluator_doc", "label": "Evaluates style preservation and academic vocabulary coverage.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Evaluates style preservation and academic vocabulary coverage.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_style_metrics_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "code", "degree": 9}, {"id": "src_evaluation_style_metrics_py_style_similarity", "label": "style_similarity()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "style_similarity()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "code", "degree": 6}, {"id": "src_evaluation_style_metrics_py_style_similarity_doc", "label": "Cosine similarity between style vectors. Target: > 0.85.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Cosine similarity between style vectors. Target: &gt; 0.85.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_style_metrics_py_awl_coverage", "label": "awl_coverage()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "awl_coverage()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "code", "degree": 6}, {"id": "src_evaluation_style_metrics_py_awl_coverage_doc", "label": "Fraction of content words in AWL. Target: > 0.25.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Fraction of content words in AWL. Target: &gt; 0.25.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "rationale", "degree": 1}, {"id": "src_evaluation_style_metrics_py_evaluate_batch", "label": "evaluate_batch()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "evaluate_batch()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "code", "degree": 5}, {"id": "src_evaluation_style_metrics_py_evaluate_batch_doc", "label": "Compute style and AWL metrics for a batch.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute style and AWL metrics for a batch.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/evaluation/style_metrics.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_corrector_py", "label": "corrector.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "corrector.py", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "code", "degree": 6}, {"id": "src_inference_corrector_py_docstring", "label": "End-to-end inference pipeline.Accepts raw dyslectic text (and optionally a mast", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "End-to-end inference pipeline.Accepts raw dyslectic text (and optionally a mast", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_corrector_py_CorrectionResult", "label": "CorrectionResult", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CorrectionResult", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "code", "degree": 1}, {"id": "src_inference_corrector_py_AcademicCorrector", "label": "AcademicCorrector", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "AcademicCorrector", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "code", "degree": 2}, {"id": "src_inference_corrector_py_AcademicCorrector_doc", "label": "Full inference pipeline: preprocess \u2192 fingerprint \u2192 generate \u2192 elevate \u2192 filter.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Full inference pipeline: preprocess \u2192 fingerprint \u2192 generate \u2192 elevate \u2192 filter.", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_corrector_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "code", "degree": 10}, {"id": "src_inference_corrector_py_correct", "label": "correct()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 24.1, "font": {"size": 12, "color": "#ffffff"}, "title": "correct()", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "code", "degree": 16}, {"id": "src_inference_corrector_py_correct_doc", "label": "Full correction pipeline:1. Pre-process (spell correct + parse)2. Style finger", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Full correction pipeline:1. Pre-process (spell correct + parse)2. Style finger", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_postprocessor_py", "label": "postprocessor.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "postprocessor.py", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "code", "degree": 6}, {"id": "src_inference_postprocessor_py_docstring", "label": "Post-processing utilities for generated text.Handles cleanup, formatting, and f", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Post-processing utilities for generated text.Handles cleanup, formatting, and f", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_postprocessor_py_PostProcessor", "label": "PostProcessor", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "PostProcessor", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "code", "degree": 2}, {"id": "src_inference_postprocessor_py_PostProcessor_doc", "label": "Cleans and formats generated text after model output.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Cleans and formats generated text after model output.", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_postprocessor_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "code", "degree": 9}, {"id": "src_inference_postprocessor_py_clean", "label": "clean()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "clean()", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "code", "degree": 3}, {"id": "src_inference_postprocessor_py_clean_doc", "label": "Remove generation artifacts and normalise whitespace.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove generation artifacts and normalise whitespace.", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_postprocessor_py_restore_entities", "label": "restore_entities()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "restore_entities()", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "code", "degree": 3}, {"id": "src_inference_postprocessor_py_restore_entities_doc", "label": "Restore named entities that may have been altered during generation.Uses fuzzy", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Restore named entities that may have been altered during generation.Uses fuzzy", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "rationale", "degree": 1}, {"id": "src_inference_postprocessor_py_format_output", "label": "format_output()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "format_output()", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "code", "degree": 3}, {"id": "src_inference_postprocessor_py_format_output_doc", "label": "Apply final formatting (capitalisation, punctuation, spacing).", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply final formatting (capitalisation, punctuation, spacing).", "community": 9, "community_name": "Utility Scripts", "source_file": "src/inference/postprocessor.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_base_model_py", "label": "base_model.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "base_model.py", "community": 6, "community_name": "Token Management", "source_file": "src/model/base_model.py", "file_type": "code", "degree": 5}, {"id": "src_model_base_model_py_docstring", "label": "Loads and wraps the base pretrained model.Supported architectures:  - google/f", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Loads and wraps the base pretrained model.Supported architectures:  - google/f", "community": 6, "community_name": "Token Management", "source_file": "src/model/base_model.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_base_model_py_load_model_and_tokenizer", "label": "load_model_and_tokenizer()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "load_model_and_tokenizer()", "community": 6, "community_name": "Token Management", "source_file": "src/model/base_model.py", "file_type": "code", "degree": 6}, {"id": "src_model_base_model_py_load_model_and_tokenizer_doc", "label": "Load a pretrained model with optional LoRA and quantization.Args:    model_ke", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Load a pretrained model with optional LoRA and quantization.Args:    model_ke", "community": 6, "community_name": "Token Management", "source_file": "src/model/base_model.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_generation_utils_py", "label": "generation_utils.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "generation_utils.py", "community": 1, "community_name": "Utility Scripts", "source_file": "src/model/generation_utils.py", "file_type": "code", "degree": 4}, {"id": "src_model_generation_utils_py_docstring", "label": "Generation utilities for text correction.Handles beam search, constrained decod", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Generation utilities for text correction.Handles beam search, constrained decod", "community": 1, "community_name": "Utility Scripts", "source_file": "src/model/generation_utils.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_generation_utils_py_generate_correction", "label": "generate_correction()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_correction()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/model/generation_utils.py", "file_type": "code", "degree": 3}, {"id": "src_model_generation_utils_py_generate_correction_doc", "label": "Generate corrected text from input tokens.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate corrected text from input tokens.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/model/generation_utils.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_generation_utils_py_batch_generate", "label": "batch_generate()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "batch_generate()", "community": 1, "community_name": "Utility Scripts", "source_file": "src/model/generation_utils.py", "file_type": "code", "degree": 3}, {"id": "src_model_generation_utils_py_batch_generate_doc", "label": "Generate corrections for a batch of texts.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate corrections for a batch of texts.", "community": 1, "community_name": "Utility Scripts", "source_file": "src/model/generation_utils.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_lora_adapter_py", "label": "lora_adapter.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "lora_adapter.py", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "code", "degree": 5}, {"id": "src_model_lora_adapter_py_docstring", "label": "LoRA adapter configuration and management.Wraps PEFT LoRA utilities for applyin", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "LoRA adapter configuration and management.Wraps PEFT LoRA utilities for applyin", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_lora_adapter_py_create_lora_config", "label": "create_lora_config()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "create_lora_config()", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "code", "degree": 3}, {"id": "src_model_lora_adapter_py_create_lora_config_doc", "label": "Create a LoRA configuration for the given task type.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a LoRA configuration for the given task type.", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_lora_adapter_py_apply_lora", "label": "apply_lora()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "apply_lora()", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "code", "degree": 2}, {"id": "src_model_lora_adapter_py_apply_lora_doc", "label": "Apply LoRA adapters to a model and return the wrapped model.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply LoRA adapters to a model and return the wrapped model.", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_lora_adapter_py_merge_lora_weights", "label": "merge_lora_weights()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "merge_lora_weights()", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "code", "degree": 2}, {"id": "src_model_lora_adapter_py_merge_lora_weights_doc", "label": "Merge LoRA weights into the base model for inference.After merging, the model ", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Merge LoRA weights into the base model for inference.After merging, the model ", "community": 6, "community_name": "Token Management", "source_file": "src/model/lora_adapter.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_style_conditioner_py", "label": "style_conditioner.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "style_conditioner.py", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "code", "degree": 7}, {"id": "src_model_style_conditioner_py_docstring", "label": "Injects the style vector into the model via soft prompt conditioning.The style ", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Injects the style vector into the model via soft prompt conditioning.The style ", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_style_conditioner_py_StyleConditioner", "label": "StyleConditioner", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "StyleConditioner", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "code", "degree": 2}, {"id": "src_model_style_conditioner_py_StyleConditioner_doc", "label": "Projects a 512-dim style vector to n_prefix_tokens virtual tokensin the model's", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Projects a 512-dim style vector to n_prefix_tokens virtual tokensin the model&#x27;s", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_style_conditioner_py_prepend_style_prefix", "label": "prepend_style_prefix()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "prepend_style_prefix()", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "code", "degree": 3}, {"id": "src_model_style_conditioner_py_prepend_style_prefix_doc", "label": "Concatenates style prefix to input embeddings along sequence dimension.Args: ", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Concatenates style prefix to input embeddings along sequence dimension.Args: ", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "rationale", "degree": 1}, {"id": "src_model_style_conditioner_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 33.8, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/model/style_conditioner.py", "file_type": "code", "degree": 27}, {"id": "src_model_style_conditioner_py_forward", "label": "forward()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "forward()", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "code", "degree": 3}, {"id": "src_model_style_conditioner_py_forward_doc", "label": "Args:    style_vector: [batch_size, 512]Returns:    prefix_embeddings: [batch", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Args:    style_vector: [batch_size, 512]Returns:    prefix_embeddings: [batch", "community": 6, "community_name": "Token Management", "source_file": "src/model/style_conditioner.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dependency_parser_py", "label": "dependency_parser.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "dependency_parser.py", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "code", "degree": 6}, {"id": "src_preprocessing_dependency_parser_py_docstring", "label": "Dependency parser module.Extracts grammatical skeletons (subject-verb-object) f", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Dependency parser module.Extracts grammatical skeletons (subject-verb-object) f", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dependency_parser_py_DependencyParser", "label": "DependencyParser", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "DependencyParser", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "code", "degree": 2}, {"id": "src_preprocessing_dependency_parser_py_DependencyParser_doc", "label": "Extracts dependency trees and SVO triples from text.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extracts dependency trees and SVO triples from text.", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dependency_parser_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_dependency_parser_py_parse", "label": "parse()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "parse()", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "code", "degree": 5}, {"id": "src_preprocessing_dependency_parser_py_parse_doc", "label": "Extract dependency tree for each sentence.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract dependency tree for each sentence.", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dependency_parser_py_extract_svo", "label": "extract_svo()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "extract_svo()", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_dependency_parser_py_extract_svo_doc", "label": "Extract subject-verb-object triples per sentence.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract subject-verb-object triples per sentence.", "community": 13, "community_name": "Token Management", "source_file": "src/preprocessing/dependency_parser.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py", "label": "dyslexia_simulator.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "dyslexia_simulator.py", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 10}, {"id": "src_preprocessing_dyslexia_simulator_py_docstring", "label": "Programmatically generates dyslectic training data from clean text.Used to augm", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Programmatically generates dyslectic training data from clean text.Used to augm", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py_DyslexiaSimulator", "label": "DyslexiaSimulator", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "DyslexiaSimulator", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 2}, {"id": "src_preprocessing_dyslexia_simulator_py_DyslexiaSimulator_doc", "label": "Generates synthetic dyslectic text from clean input for data augmentation.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Generates synthetic dyslectic text from clean input for data augmentation.", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_dyslexia_simulator_py__transpose_letters", "label": "_transpose_letters()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_transpose_letters()", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_dyslexia_simulator_py__transpose_letters_doc", "label": "Swap two adjacent letters.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Swap two adjacent letters.", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py__omit_letter", "label": "_omit_letter()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_omit_letter()", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_dyslexia_simulator_py__omit_letter_doc", "label": "Remove a random interior letter.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove a random interior letter.", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py__double_letter", "label": "_double_letter()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_double_letter()", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_dyslexia_simulator_py__double_letter_doc", "label": "Double a random interior letter.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Double a random interior letter.", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py__reverse_letter", "label": "_reverse_letter()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_reverse_letter()", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_dyslexia_simulator_py__reverse_letter_doc", "label": "Swap b/d, p/q style reversals.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Swap b/d, p/q style reversals.", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "label": "corrupt_word()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "corrupt_word()", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 7}, {"id": "src_preprocessing_dyslexia_simulator_py_corrupt_word_doc", "label": "Apply a single random error to a word.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply a single random error to a word.", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_dyslexia_simulator_py_simulate", "label": "simulate()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "simulate()", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "code", "degree": 6}, {"id": "src_preprocessing_dyslexia_simulator_py_simulate_doc", "label": "Returns (corrupted_text, clean_text) training pair.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns (corrupted_text, clean_text) training pair.", "community": 5, "community_name": "Module Group 5", "source_file": "src/preprocessing/dyslexia_simulator.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_ner_tagger_py", "label": "ner_tagger.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "ner_tagger.py", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "code", "degree": 7}, {"id": "src_preprocessing_ner_tagger_py_docstring", "label": "Named Entity Recognition tagger.Identifies entities (persons, locations, organi", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Named Entity Recognition tagger.Identifies entities (persons, locations, organi", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_ner_tagger_py_EntitySpan", "label": "EntitySpan", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "EntitySpan", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "code", "degree": 1}, {"id": "src_preprocessing_ner_tagger_py_NERTagger", "label": "NERTagger", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "NERTagger", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "code", "degree": 2}, {"id": "src_preprocessing_ner_tagger_py_NERTagger_doc", "label": "Tags named entities and produces protected spans.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Tags named entities and produces protected spans.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_ner_tagger_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_ner_tagger_py_tag", "label": "tag()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "tag()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "code", "degree": 4}, {"id": "src_preprocessing_ner_tagger_py_tag_doc", "label": "Extract all named entities from text.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract all named entities from text.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_ner_tagger_py_get_protected_spans", "label": "get_protected_spans()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_protected_spans()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_ner_tagger_py_get_protected_spans_doc", "label": "Return (start, end) char spans that must not be modified.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Return (start, end) char spans that must not be modified.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/ner_tagger.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_pipeline_py", "label": "pipeline.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "pipeline.py", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_pipeline_py_docstring", "label": "Master pre-processing pipeline. Runs all NLP stages in sequence.Returns a Prepr", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Master pre-processing pipeline. Runs all NLP stages in sequence.Returns a Prepr", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_pipeline_py_EntitySpan", "label": "EntitySpan", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "EntitySpan", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 1}, {"id": "src_preprocessing_pipeline_py_PreprocessedDoc", "label": "PreprocessedDoc", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "PreprocessedDoc", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 1}, {"id": "src_preprocessing_pipeline_py_PreprocessingPipeline", "label": "PreprocessingPipeline", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "PreprocessingPipeline", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 2}, {"id": "src_preprocessing_pipeline_py_PreprocessingPipeline_doc", "label": "Orchestrates all pre-processing stages: spell correction, parsing, NER, readabil", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Orchestrates all pre-processing stages: spell correction, parsing, NER, readabil", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_pipeline_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_pipeline_py__extract_readability", "label": "_extract_readability()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_extract_readability()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_pipeline_py__extract_readability_doc", "label": "Compute readability scores (Flesch-Kincaid, Gunning Fog, etc.).", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute readability scores (Flesch-Kincaid, Gunning Fog, etc.).", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_pipeline_py__extract_dep_tree", "label": "_extract_dep_tree()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_extract_dep_tree()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_pipeline_py__extract_dep_tree_doc", "label": "Extract grammatical skeleton: subject-verb-object per sentence.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract grammatical skeleton: subject-verb-object per sentence.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_pipeline_py_process", "label": "process()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "process()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "code", "degree": 7}, {"id": "src_preprocessing_pipeline_py_process_doc", "label": "Run full pre-processing pipeline on raw text.7-step pipeline:1. Spell correct", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Run full pre-processing pipeline on raw text.7-step pipeline:1. Spell correct", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/pipeline.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_sentence_segmenter_py", "label": "sentence_segmenter.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "sentence_segmenter.py", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/sentence_segmenter.py", "file_type": "code", "degree": 5}, {"id": "src_preprocessing_sentence_segmenter_py_docstring", "label": "Sentence segmentation module.Uses spaCy's sentence boundary detection for accur", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Sentence segmentation module.Uses spaCy&#x27;s sentence boundary detection for accur", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/sentence_segmenter.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_sentence_segmenter_py_SentenceSegmenter", "label": "SentenceSegmenter", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "SentenceSegmenter", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/sentence_segmenter.py", "file_type": "code", "degree": 2}, {"id": "src_preprocessing_sentence_segmenter_py_SentenceSegmenter_doc", "label": "Segments text into sentences using spaCy's transformer model.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Segments text into sentences using spaCy&#x27;s transformer model.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/sentence_segmenter.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_sentence_segmenter_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/preprocessing/sentence_segmenter.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_sentence_segmenter_py_segment", "label": "segment()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "segment()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/sentence_segmenter.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_sentence_segmenter_py_segment_doc", "label": "Split text into individual sentences.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Split text into individual sentences.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/sentence_segmenter.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py", "label": "spell_corrector.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "spell_corrector.py", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 10}, {"id": "src_preprocessing_spell_corrector_py_docstring", "label": "Two-pass spell correction:Pass 1: pyspellchecker (fast, context-free, catches s", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Two-pass spell correction:Pass 1: pyspellchecker (fast, context-free, catches s", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py_DyslexiaAwareSpellCorrector", "label": "DyslexiaAwareSpellCorrector", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "DyslexiaAwareSpellCorrector", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 2}, {"id": "src_preprocessing_spell_corrector_py_DyslexiaAwareSpellCorrector_doc", "label": "Two-pass spell corrector with dyslexia-specific phonetic pattern handling.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Two-pass spell corrector with dyslexia-specific phonetic pattern handling.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_spell_corrector_py__phonetic_pass", "label": "_phonetic_pass()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_phonetic_pass()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 4}, {"id": "src_preprocessing_spell_corrector_py__phonetic_pass_doc", "label": "Apply known dyslexic phonetic substitutions first.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply known dyslexic phonetic substitutions first.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py__spellcheck_pass", "label": "_spellcheck_pass()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_spellcheck_pass()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_spell_corrector_py__spellcheck_pass_doc", "label": "pyspellchecker pass for simple token-level errors.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "pyspellchecker pass for simple token-level errors.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py__languagetool_pass", "label": "_languagetool_pass()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_languagetool_pass()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 3}, {"id": "src_preprocessing_spell_corrector_py__languagetool_pass_doc", "label": "LanguageTool pass for context-aware grammar + spelling corrections.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "LanguageTool pass for context-aware grammar + spelling corrections.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py_correct", "label": "correct()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "correct()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 9}, {"id": "src_preprocessing_spell_corrector_py_correct_doc", "label": "Run all three correction passes in sequence.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Run all three correction passes in sequence.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py_close", "label": "close()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "close()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 5}, {"id": "src_preprocessing_spell_corrector_py_close_doc", "label": "Clean up LanguageTool resources.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Clean up LanguageTool resources.", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "rationale", "degree": 1}, {"id": "src_preprocessing_spell_corrector_py__replace", "label": "_replace()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_replace()", "community": 0, "community_name": "Module Group 0", "source_file": "src/preprocessing/spell_corrector.py", "file_type": "code", "degree": 1}, {"id": "src_style_emotion_classifier_py", "label": "emotion_classifier.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "emotion_classifier.py", "community": 19, "community_name": "Module Group 19", "source_file": "src/style/emotion_classifier.py", "file_type": "code", "degree": 4}, {"id": "src_style_emotion_classifier_py_docstring", "label": "Emotion/register classifier module.Classifies text emotional register (neutral,", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Emotion/register classifier module.Classifies text emotional register (neutral,", "community": 19, "community_name": "Module Group 19", "source_file": "src/style/emotion_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_emotion_classifier_py_EmotionClassifier", "label": "EmotionClassifier", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "EmotionClassifier", "community": 19, "community_name": "Module Group 19", "source_file": "src/style/emotion_classifier.py", "file_type": "code", "degree": 2}, {"id": "src_style_emotion_classifier_py_EmotionClassifier_doc", "label": "Classifies emotional register of text using keyword-based analysis.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Classifies emotional register of text using keyword-based analysis.", "community": 19, "community_name": "Module Group 19", "source_file": "src/style/emotion_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_emotion_classifier_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/style/emotion_classifier.py", "file_type": "code", "degree": 9}, {"id": "src_style_emotion_classifier_py_classify", "label": "classify()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "classify()", "community": 19, "community_name": "Module Group 19", "source_file": "src/style/emotion_classifier.py", "file_type": "code", "degree": 2}, {"id": "src_style_emotion_classifier_py_classify_doc", "label": "Return emotion distribution over register categories.Returns a dict with keys:", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Return emotion distribution over register categories.Returns a dict with keys:", "community": 19, "community_name": "Module Group 19", "source_file": "src/style/emotion_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py", "label": "fingerprinter.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 27.6, "font": {"size": 12, "color": "#ffffff"}, "title": "fingerprinter.py", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 20}, {"id": "src_style_fingerprinter_py_docstring", "label": "Extracts a numerical style vector from any text sample.The style vector encodes", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extracts a numerical style vector from any text sample.The style vector encodes", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py_StyleProjectionMLP", "label": "StyleProjectionMLP", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "StyleProjectionMLP", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 2}, {"id": "src_style_fingerprinter_py_StyleProjectionMLP_doc", "label": "Projects raw feature vector to 512-dim style embedding.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Projects raw feature vector to 512-dim style embedding.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py_StyleFingerprinter", "label": "StyleFingerprinter", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "StyleFingerprinter", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 2}, {"id": "src_style_fingerprinter_py_StyleFingerprinter_doc", "label": "Extracts style fingerprint vectors from text samples.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extracts style fingerprint vectors from text samples.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 34.7, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 28}, {"id": "src_style_fingerprinter_py_forward", "label": "forward()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "forward()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 2}, {"id": "src_style_fingerprinter_py__load_awl", "label": "_load_awl()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_load_awl()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 3}, {"id": "src_style_fingerprinter_py__load_awl_doc", "label": "Load Academic Word List from file.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Load Academic Word List from file.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py__passive_voice_ratio", "label": "_passive_voice_ratio()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_passive_voice_ratio()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 3}, {"id": "src_style_fingerprinter_py__passive_voice_ratio_doc", "label": "Compute ratio of passive voice constructions.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute ratio of passive voice constructions.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py__avg_dep_tree_depth", "label": "_avg_dep_tree_depth()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_avg_dep_tree_depth()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 4}, {"id": "src_style_fingerprinter_py__avg_dep_tree_depth_doc", "label": "Compute average dependency tree depth across all tokens.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute average dependency tree depth across all tokens.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py__lexical_density", "label": "_lexical_density()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_lexical_density()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 3}, {"id": "src_style_fingerprinter_py__lexical_density_doc", "label": "Compute ratio of content words to total words.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute ratio of content words to total words.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py__count_syllables", "label": "_count_syllables()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_count_syllables()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 3}, {"id": "src_style_fingerprinter_py__count_syllables_doc", "label": "Count syllables in a word using a vowel-group heuristic.Avoids NLTK cmudict whi", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Count syllables in a word using a vowel-group heuristic.Avoids NLTK cmudict whi", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py__avg_syllables_per_word", "label": "_avg_syllables_per_word()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_avg_syllables_per_word()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 4}, {"id": "src_style_fingerprinter_py__avg_syllables_per_word_doc", "label": "Average syllables per word.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Average syllables per word.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py__flesch_reading_ease", "label": "_flesch_reading_ease()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_flesch_reading_ease()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 3}, {"id": "src_style_fingerprinter_py__flesch_reading_ease_doc", "label": "Compute Flesch Reading Ease score without textstat.Formula: 206.835 - 1.015 * A", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute Flesch Reading Ease score without textstat.Formula: 206.835 - 1.015 * A", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py_extract_raw_features", "label": "extract_raw_features()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 19.7, "font": {"size": 12, "color": "#ffffff"}, "title": "extract_raw_features()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 11}, {"id": "src_style_fingerprinter_py_extract_raw_features_doc", "label": "Extract ~40 raw style features from text.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract ~40 raw style features from text.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py_extract_vector", "label": "extract_vector()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "extract_vector()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 9}, {"id": "src_style_fingerprinter_py_extract_vector_doc", "label": "Returns a 512-dim style embedding tensor.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns a 512-dim style embedding tensor.", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py_blend_vectors", "label": "blend_vectors()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "blend_vectors()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 4}, {"id": "src_style_fingerprinter_py_blend_vectors_doc", "label": "Blend user style with master copy style.alpha = weight given to user's own styl", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Blend user style with master copy style.alpha = weight given to user&#x27;s own styl", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_fingerprinter_py__depth", "label": "_depth()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_depth()", "community": 2, "community_name": "Module Group 2", "source_file": "src/style/fingerprinter.py", "file_type": "code", "degree": 2}, {"id": "src_style_formality_classifier_py", "label": "formality_classifier.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "formality_classifier.py", "community": 14, "community_name": "Module Group 14", "source_file": "src/style/formality_classifier.py", "file_type": "code", "degree": 5}, {"id": "src_style_formality_classifier_py_docstring", "label": "Formality classifier module.Classifies text on a 0-1 formality scale using ling", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Formality classifier module.Classifies text on a 0-1 formality scale using ling", "community": 14, "community_name": "Module Group 14", "source_file": "src/style/formality_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_formality_classifier_py_FormalityClassifier", "label": "FormalityClassifier", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "FormalityClassifier", "community": 14, "community_name": "Module Group 14", "source_file": "src/style/formality_classifier.py", "file_type": "code", "degree": 2}, {"id": "src_style_formality_classifier_py_FormalityClassifier_doc", "label": "Scores text formality on a 0-1 scale using rule-based heuristics.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Scores text formality on a 0-1 scale using rule-based heuristics.", "community": 14, "community_name": "Module Group 14", "source_file": "src/style/formality_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_formality_classifier_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/style/formality_classifier.py", "file_type": "code", "degree": 9}, {"id": "src_style_formality_classifier_py_score", "label": "score()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "score()", "community": 14, "community_name": "Module Group 14", "source_file": "src/style/formality_classifier.py", "file_type": "code", "degree": 5}, {"id": "src_style_formality_classifier_py_score_doc", "label": "Return formality score in [0, 1]. Higher = more formal.Scoring based on:- Con", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Return formality score in [0, 1]. Higher = more formal.Scoring based on:- Con", "community": 14, "community_name": "Module Group 14", "source_file": "src/style/formality_classifier.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_style_vector_py", "label": "style_vector.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "style_vector.py", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "code", "degree": 6}, {"id": "src_style_style_vector_py_docstring", "label": "Style vector utilities.Helper functions for manipulating, comparing, and persis", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Style vector utilities.Helper functions for manipulating, comparing, and persis", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_style_vector_py_cosine_similarity", "label": "cosine_similarity()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 19.7, "font": {"size": 12, "color": "#ffffff"}, "title": "cosine_similarity()", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "code", "degree": 11}, {"id": "src_style_style_vector_py_cosine_similarity_doc", "label": "Compute cosine similarity between two style vectors.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute cosine similarity between two style vectors.", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_style_vector_py_average_style_vectors", "label": "average_style_vectors()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "average_style_vectors()", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "code", "degree": 2}, {"id": "src_style_style_vector_py_average_style_vectors_doc", "label": "Compute the mean style vector from a list of vectors.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute the mean style vector from a list of vectors.", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_style_vector_py_save_style_vector", "label": "save_style_vector()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "save_style_vector()", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "code", "degree": 2}, {"id": "src_style_style_vector_py_save_style_vector_doc", "label": "Persist a style vector to disk.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Persist a style vector to disk.", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "rationale", "degree": 1}, {"id": "src_style_style_vector_py_load_style_vector", "label": "load_style_vector()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "load_style_vector()", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "code", "degree": 2}, {"id": "src_style_style_vector_py_load_style_vector_doc", "label": "Load a style vector from disk.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Load a style vector from disk.", "community": 8, "community_name": "Authentication", "source_file": "src/style/style_vector.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_callbacks_py", "label": "callbacks.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "callbacks.py", "community": 18, "community_name": "Module Group 18", "source_file": "src/training/callbacks.py", "file_type": "code", "degree": 6}, {"id": "src_training_callbacks_py_docstring", "label": "Training callbacks for monitoring and checkpointing.Integrates with Weights & B", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Training callbacks for monitoring and checkpointing.Integrates with Weights &amp; B", "community": 18, "community_name": "Module Group 18", "source_file": "src/training/callbacks.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_callbacks_py_StyleMetricsCallback", "label": "StyleMetricsCallback", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "StyleMetricsCallback", "community": 18, "community_name": "Module Group 18", "source_file": "src/training/callbacks.py", "file_type": "code", "degree": 2}, {"id": "src_training_callbacks_py_StyleMetricsCallback_doc", "label": "Logs style similarity metrics during evaluation.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Logs style similarity metrics during evaluation.", "community": 18, "community_name": "Module Group 18", "source_file": "src/training/callbacks.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_callbacks_py_EarlyStoppingOnStyleDrift", "label": "EarlyStoppingOnStyleDrift", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "EarlyStoppingOnStyleDrift", "community": 18, "community_name": "Module Group 18", "source_file": "src/training/callbacks.py", "file_type": "code", "degree": 2}, {"id": "src_training_callbacks_py_EarlyStoppingOnStyleDrift_doc", "label": "Stops training if style similarity drops below threshold.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Stops training if style similarity drops below threshold.", "community": 18, "community_name": "Module Group 18", "source_file": "src/training/callbacks.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_callbacks_py_on_evaluate", "label": "on_evaluate()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "on_evaluate()", "community": 18, "community_name": "Module Group 18", "source_file": "src/training/callbacks.py", "file_type": "code", "degree": 1}, {"id": "src_training_callbacks_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/training/callbacks.py", "file_type": "code", "degree": 9}, {"id": "src_training_dataset_py", "label": "dataset.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "dataset.py", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 10}, {"id": "src_training_dataset_py_docstring", "label": "Dataset class that handles all data sources and produces training triplets:(inp", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Dataset class that handles all data sources and produces training triplets:(inp", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_dataset_py_WritingCorrectionDataset", "label": "WritingCorrectionDataset", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "WritingCorrectionDataset", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 2}, {"id": "src_training_dataset_py_WritingCorrectionDataset_doc", "label": "PyTorch dataset for writing correction training triplets.Fully pre-computed at", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "PyTorch dataset for writing correction training triplets.Fully pre-computed at", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_dataset_py___init__", "label": "__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 21.5, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 13}, {"id": "src_training_dataset_py__compute_cache_key", "label": "_compute_cache_key()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_compute_cache_key()", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 3}, {"id": "src_training_dataset_py__compute_cache_key_doc", "label": "Generate a cache key based on data file content and processing params.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate a cache key based on data file content and processing params.", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_dataset_py__load", "label": "_load()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_load()", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 3}, {"id": "src_training_dataset_py__load_doc", "label": "Load JSONL data file.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Load JSONL data file.", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_dataset_py__add_synthetic", "label": "_add_synthetic()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_add_synthetic()", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 4}, {"id": "src_training_dataset_py__add_synthetic_doc", "label": "Augment dataset with synthetic dyslexia examples.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Augment dataset with synthetic dyslexia examples.", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_dataset_py__precompute_all", "label": "_precompute_all()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_precompute_all()", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 4}, {"id": "src_training_dataset_py__precompute_all_doc", "label": "Pre-compute tokenisation + style vectors for ALL examples.This makes __getitem_", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Pre-compute tokenisation + style vectors for ALL examples.This makes __getitem_", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_dataset_py___len__", "label": "__len__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "__len__()", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 1}, {"id": "src_training_dataset_py___getitem__", "label": "__getitem__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__getitem__()", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "code", "degree": 2}, {"id": "src_training_dataset_py___getitem___doc", "label": "Pure dict return \u2014 zero computation per batch.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Pure dict return \u2014 zero computation per batch.", "community": 5, "community_name": "Module Group 5", "source_file": "src/training/dataset.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py", "label": "human_pattern_extractor.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 24.1, "font": {"size": 12, "color": "#ffffff"}, "title": "human_pattern_extractor.py", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 16}, {"id": "src_training_human_pattern_extractor_py_docstring", "label": "Extracts the statistical signature of human writing vs AI writing.Uses Kaggle d", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extracts the statistical signature of human writing vs AI writing.Uses Kaggle d", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py__compute_text_features", "label": "_compute_text_features()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_compute_text_features()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 4}, {"id": "src_training_human_pattern_extractor_py__compute_text_features_doc", "label": "Compute the 16 non-perplexity features from raw text.Returns a 16-dim float32 a", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute the 16 non-perplexity features from raw text.Returns a 16-dim float32 a", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py_HumanPatternFeatureExtractor", "label": "HumanPatternFeatureExtractor", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "HumanPatternFeatureExtractor", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 2}, {"id": "src_training_human_pattern_extractor_py_HumanPatternFeatureExtractor_doc", "label": "Extracts 17-dimensional feature vector encoding human vs AI writing patterns.O", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extracts 17-dimensional feature vector encoding human vs AI writing patterns.O", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py_KaggleHumanPatternDataset", "label": "KaggleHumanPatternDataset", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "KaggleHumanPatternDataset", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 2}, {"id": "src_training_human_pattern_extractor_py_KaggleHumanPatternDataset_doc", "label": "Loads both Kaggle datasets and produces (feature_vector, label) pairs.label = 1", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Loads both Kaggle datasets and produces (feature_vector, label) pairs.label = 1", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py_HumanPatternClassifier", "label": "HumanPatternClassifier", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "HumanPatternClassifier", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 2}, {"id": "src_training_human_pattern_extractor_py_HumanPatternClassifier_doc", "label": "Lightweight MLP trained to distinguish human from AI writing.Input: feature vec", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Lightweight MLP trained to distinguish human from AI writing.Input: feature vec", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 33.8, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 27}, {"id": "src_training_human_pattern_extractor_py__perplexity", "label": "_perplexity()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_perplexity()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 3}, {"id": "src_training_human_pattern_extractor_py__perplexity_doc", "label": "GPT-2 perplexity for a single text. Lower = more AI-like.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "GPT-2 perplexity for a single text. Lower = more AI-like.", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py__perplexity_batch", "label": "_perplexity_batch()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_perplexity_batch()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 3}, {"id": "src_training_human_pattern_extractor_py__perplexity_batch_doc", "label": "Compute GPT-2 perplexity for a batch of texts efficiently on GPU.Processes tex", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute GPT-2 perplexity for a batch of texts efficiently on GPU.Processes tex", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py_extract", "label": "extract()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "extract()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 6}, {"id": "src_training_human_pattern_extractor_py_extract_doc", "label": "Extract full 17-dimensional feature vector for a single text.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract full 17-dimensional feature vector for a single text.", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py_extract_batch", "label": "extract_batch()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "extract_batch()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 5}, {"id": "src_training_human_pattern_extractor_py_extract_batch_doc", "label": "Extract features for many texts efficiently.Strategy:  1. Compute perplexity ", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract features for many texts efficiently.Strategy:  1. Compute perplexity ", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py_precompute_features", "label": "precompute_features()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "precompute_features()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 4}, {"id": "src_training_human_pattern_extractor_py_precompute_features_doc", "label": "Pre-compute all features using optimised batched extraction.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Pre-compute all features using optimised batched extraction.", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py___len__", "label": "__len__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "__len__()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 1}, {"id": "src_training_human_pattern_extractor_py___getitem__", "label": "__getitem__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "__getitem__()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 2}, {"id": "src_training_human_pattern_extractor_py_forward", "label": "forward()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "forward()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 2}, {"id": "src_training_human_pattern_extractor_py_forward_doc", "label": "Returns human-likeness score in [0, 1]. Higher = more human.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns human-likeness score in [0, 1]. Higher = more human.", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_human_pattern_extractor_py_score", "label": "score()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "score()", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "code", "degree": 10}, {"id": "src_training_human_pattern_extractor_py_score_doc", "label": "Convenience: score a single text string.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Convenience: score a single text string.", "community": 7, "community_name": "Utility Scripts", "source_file": "src/training/human_pattern_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_loss_functions_py", "label": "loss_functions.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "loss_functions.py", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 9}, {"id": "src_training_loss_functions_py_docstring", "label": "Combined training loss with Human-Pattern Term:L_total = L_CE + \u03bb\u2081 \u00b7 L_style +", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Combined training loss with Human-Pattern Term:L_total = L_CE + \u03bb\u2081 \u00b7 L_style +", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_loss_functions_py_CombinedCorrectionLoss", "label": "CombinedCorrectionLoss", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "CombinedCorrectionLoss", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 2}, {"id": "src_training_loss_functions_py_CombinedCorrectionLoss_doc", "label": "V1 combined loss: L_CE + \u03bb\u2081\u00b7L_style + \u03bb\u2082\u00b7L_semantic.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "V1 combined loss: L_CE + \u03bb\u2081\u00b7L_style + \u03bb\u2082\u00b7L_semantic.", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_loss_functions_py_CombinedCorrectionLossV2", "label": "CombinedCorrectionLossV2", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "CombinedCorrectionLossV2", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 2}, {"id": "src_training_loss_functions_py_CombinedCorrectionLossV2_doc", "label": "V2 combined loss with human-pattern term: L_CE + \u03bb\u2081\u00b7L_style + \u03bb\u2082\u00b7L_semantic + \u03bb\u2083", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "V2 combined loss with human-pattern term: L_CE + \u03bb\u2081\u00b7L_style + \u03bb\u2082\u00b7L_semantic + \u03bb\u2083", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_loss_functions_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 33.8, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 27}, {"id": "src_training_loss_functions_py__style_loss", "label": "_style_loss()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_style_loss()", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 4}, {"id": "src_training_loss_functions_py__style_loss_doc", "label": "1 - cosine_similarity(output_style, target_style).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "1 - cosine_similarity(output_style, target_style).", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_loss_functions_py__semantic_loss", "label": "_semantic_loss()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_semantic_loss()", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 4}, {"id": "src_training_loss_functions_py__semantic_loss_doc", "label": "Penalises meaning change between input and output.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Penalises meaning change between input and output.", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_loss_functions_py_forward", "label": "forward()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "forward()", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 7}, {"id": "src_training_loss_functions_py_forward_doc", "label": "Compute combined loss with human pattern term.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute combined loss with human pattern term.", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_loss_functions_py__human_pattern_loss", "label": "_human_pattern_loss()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_human_pattern_loss()", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "code", "degree": 5}, {"id": "src_training_loss_functions_py__human_pattern_loss_doc", "label": "Loss = 1 - human_score. Penalise AI-like outputs.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Loss = 1 - human_score. Penalise AI-like outputs.", "community": 8, "community_name": "Authentication", "source_file": "src/training/loss_functions.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_trainer_py", "label": "trainer.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "trainer.py", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "code", "degree": 7}, {"id": "src_training_trainer_py_docstring", "label": "Custom HuggingFace Trainer subclass.Uses the model's built-in cross-entropy los", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Custom HuggingFace Trainer subclass.Uses the model&#x27;s built-in cross-entropy los", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_trainer_py_CorrectionTrainer", "label": "CorrectionTrainer", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "CorrectionTrainer", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "code", "degree": 2}, {"id": "src_training_trainer_py_CorrectionTrainer_doc", "label": "Custom trainer \u2014 uses model's built-in loss directly.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Custom trainer \u2014 uses model&#x27;s built-in loss directly.", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_trainer_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 33.8, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/training/trainer.py", "file_type": "code", "degree": 27}, {"id": "src_training_trainer_py__strip_custom_fields", "label": "_strip_custom_fields()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_strip_custom_fields()", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "code", "degree": 4}, {"id": "src_training_trainer_py__strip_custom_fields_doc", "label": "Remove dataset fields that T5 doesn't accept.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove dataset fields that T5 doesn&#x27;t accept.", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_trainer_py_compute_loss", "label": "compute_loss()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_loss()", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "code", "degree": 3}, {"id": "src_training_trainer_py_compute_loss_doc", "label": "Use model's built-in CE loss \u2014 avoids double-computing logits loss.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Use model&#x27;s built-in CE loss \u2014 avoids double-computing logits loss.", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "rationale", "degree": 1}, {"id": "src_training_trainer_py_prediction_step", "label": "prediction_step()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "prediction_step()", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "code", "degree": 3}, {"id": "src_training_trainer_py_prediction_step_doc", "label": "Compute eval loss directly \u2014 strips custom fields and runs forward.The parent'", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute eval loss directly \u2014 strips custom fields and runs forward.The parent&#x27;", "community": 16, "community_name": "Module Group 16", "source_file": "src/training/trainer.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_awl_loader_py", "label": "awl_loader.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 19.7, "font": {"size": 12, "color": "#ffffff"}, "title": "awl_loader.py", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 11}, {"id": "src_vocabulary_awl_loader_py_docstring", "label": "Academic Word List (AWL) loader.Loads the Coxhead AWL and supplementary domain-", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Academic Word List (AWL) loader.Loads the Coxhead AWL and supplementary domain-", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_awl_loader_py_AWLLoader", "label": "AWLLoader", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "AWLLoader", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_awl_loader_py_AWLLoader_doc", "label": "Loads and manages Academic Word List data.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Loads and manages Academic Word List data.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_awl_loader_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 19.7, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 11}, {"id": "src_vocabulary_awl_loader_py__load_word_list", "label": "_load_word_list()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_load_word_list()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 3}, {"id": "src_vocabulary_awl_loader_py__load_word_list_doc", "label": "Load a word list file into a set of lowercase words.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Load a word list file into a set of lowercase words.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_awl_loader_py__load_synonyms", "label": "_load_synonyms()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_load_synonyms()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 3}, {"id": "src_vocabulary_awl_loader_py__load_synonyms_doc", "label": "Load academic synonym mappings from JSON.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Load academic synonym mappings from JSON.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_awl_loader_py_is_academic", "label": "is_academic()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "is_academic()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 6}, {"id": "src_vocabulary_awl_loader_py_is_academic_doc", "label": "Check if a word (or its lemma) is in the AWL.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Check if a word (or its lemma) is in the AWL.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_awl_loader_py_get_academic_synonyms", "label": "get_academic_synonyms()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_academic_synonyms()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_awl_loader_py_get_academic_synonyms_doc", "label": "Return academic synonyms for a colloquial word.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Return academic synonyms for a colloquial word.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_awl_loader_py_all_words", "label": "all_words()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "all_words()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_awl_loader_py_all_words_doc", "label": "Return the full set of academic words.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the full set of academic words.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/awl_loader.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_lexical_substitution_py", "label": "lexical_substitution.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "lexical_substitution.py", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 9}, {"id": "src_vocabulary_lexical_substitution_py_docstring", "label": "Post-generation academic vocabulary elevation module.Pipeline:1. POS-tag the ", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Post-generation academic vocabulary elevation module.Pipeline:1. POS-tag the ", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_lexical_substitution_py_LexicalElevator", "label": "LexicalElevator", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "LexicalElevator", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_lexical_substitution_py_LexicalElevator_doc", "label": "Elevates vocabulary to academic register using BERT-based substitution.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Elevates vocabulary to academic register using BERT-based substitution.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_lexical_substitution_py_RegisterFilter", "label": "RegisterFilter", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "RegisterFilter", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_lexical_substitution_py_RegisterFilter_doc", "label": "Applies register-level corrections to ensure academic tone:- Converts contracti", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Applies register-level corrections to ensure academic tone:- Converts contracti", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_lexical_substitution_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 9}, {"id": "src_vocabulary_lexical_substitution_py__sem_similarity", "label": "_sem_similarity()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_sem_similarity()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 4}, {"id": "src_vocabulary_lexical_substitution_py__sem_similarity_doc", "label": "Compute contextual semantic similarity using sentence embeddings.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute contextual semantic similarity using sentence embeddings.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_lexical_substitution_py__get_awl_substitutions", "label": "_get_awl_substitutions()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_awl_substitutions()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 4}, {"id": "src_vocabulary_lexical_substitution_py__get_awl_substitutions_doc", "label": "Generate candidate AWL substitutions using BERT fill-mask.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate candidate AWL substitutions using BERT fill-mask.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_lexical_substitution_py_elevate", "label": "elevate()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "elevate()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 6}, {"id": "src_vocabulary_lexical_substitution_py_elevate_doc", "label": "Main entry point: elevates vocabulary to academic register.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Main entry point: elevates vocabulary to academic register.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_lexical_substitution_py_apply", "label": "apply()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "apply()", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "code", "degree": 5}, {"id": "src_vocabulary_lexical_substitution_py_apply_doc", "label": "Apply contraction expansion and colloquial-to-academic substitution.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply contraction expansion and colloquial-to-academic substitution.", "community": 3, "community_name": "Module Group 3", "source_file": "src/vocabulary/lexical_substitution.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_register_filter_py", "label": "register_filter.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "register_filter.py", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "code", "degree": 7}, {"id": "src_vocabulary_register_filter_py_docstring", "label": "Register filter module.Applies register-level post-processing to ensure output ", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Register filter module.Applies register-level post-processing to ensure output ", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_register_filter_py_RegisterFilterAdvanced", "label": "RegisterFilterAdvanced", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "RegisterFilterAdvanced", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_register_filter_py_RegisterFilterAdvanced_doc", "label": "Advanced register filtering with nominalisation and hedging passes.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Advanced register filtering with nominalisation and hedging passes.", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_register_filter_py___init__", "label": "__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__()", "community": 4, "community_name": "Utility Scripts", "source_file": "src/vocabulary/register_filter.py", "file_type": "code", "degree": 9}, {"id": "src_vocabulary_register_filter_py_nominalise", "label": "nominalise()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "nominalise()", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_register_filter_py_nominalise_doc", "label": "Convert verbal phrases to nominal forms where appropriate.Only applies to clea", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Convert verbal phrases to nominal forms where appropriate.Only applies to clea", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_register_filter_py_add_hedging", "label": "add_hedging()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "add_hedging()", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "code", "degree": 2}, {"id": "src_vocabulary_register_filter_py_add_hedging_doc", "label": "Add hedging language where claims are too absolute.Only applies to the first o", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Add hedging language where claims are too absolute.Only applies to the first o", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "rationale", "degree": 1}, {"id": "src_vocabulary_register_filter_py_check_formality", "label": "check_formality()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "check_formality()", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "code", "degree": 4}, {"id": "src_vocabulary_register_filter_py_check_formality_doc", "label": "Score text formality on 0-1 scale.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Score text formality on 0-1 scale.", "community": 14, "community_name": "Module Group 14", "source_file": "src/vocabulary/register_filter.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_evaluation_py", "label": "test_evaluation.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "test_evaluation.py", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_evaluation_py_docstring", "label": "Tests for the evaluation framework.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the evaluation framework.", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_evaluation_py_test_gleu_scorer_instantiation", "label": "test_gleu_scorer_instantiation()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_gleu_scorer_instantiation()", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "code", "degree": 2}, {"id": "tests_test_evaluation_py_test_gleu_scorer_instantiation_doc", "label": "Test that GLEU scorer can be created.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that GLEU scorer can be created.", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_evaluation_py_test_gleu_perfect_score", "label": "test_gleu_perfect_score()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_gleu_perfect_score()", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "code", "degree": 3}, {"id": "tests_test_evaluation_py_test_gleu_perfect_score_doc", "label": "Test that identical predictions and references score high.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that identical predictions and references score high.", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_evaluation_py_test_gleu_empty_input", "label": "test_gleu_empty_input()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_gleu_empty_input()", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "code", "degree": 3}, {"id": "tests_test_evaluation_py_test_gleu_empty_input_doc", "label": "Test empty input handling.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test empty input handling.", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_evaluation_py_test_awl_coverage_score", "label": "test_awl_coverage_score()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_awl_coverage_score()", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "code", "degree": 3}, {"id": "tests_test_evaluation_py_test_awl_coverage_score_doc", "label": "Test AWL coverage scoring.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test AWL coverage scoring.", "community": 1, "community_name": "Utility Scripts", "source_file": "tests/test_evaluation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_model_py", "label": "test_model.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "test_model.py", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "code", "degree": 9}, {"id": "tests_test_model_py_docstring", "label": "Tests for the core model module.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the core model module.", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_model_py_test_model_registry_populated", "label": "test_model_registry_populated()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_model_registry_populated()", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "code", "degree": 2}, {"id": "tests_test_model_py_test_model_registry_populated_doc", "label": "Test that model registries are defined.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that model registries are defined.", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_model_py_test_invalid_model_key", "label": "test_invalid_model_key()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_invalid_model_key()", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "code", "degree": 3}, {"id": "tests_test_model_py_test_invalid_model_key_doc", "label": "Test that unknown model keys raise ValueError.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that unknown model keys raise ValueError.", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_model_py_test_style_conditioner_output_shape", "label": "test_style_conditioner_output_shape()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_style_conditioner_output_shape()", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "code", "degree": 2}, {"id": "tests_test_model_py_test_style_conditioner_output_shape_doc", "label": "Test that style conditioner produces correct tensor shapes.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that style conditioner produces correct tensor shapes.", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_model_py_test_prepend_style_prefix", "label": "test_prepend_style_prefix()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_prepend_style_prefix()", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "code", "degree": 3}, {"id": "tests_test_model_py_test_prepend_style_prefix_doc", "label": "Test prefix prepending dimensions.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test prefix prepending dimensions.", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_model_py_test_lora_config_creation", "label": "test_lora_config_creation()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_lora_config_creation()", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "code", "degree": 3}, {"id": "tests_test_model_py_test_lora_config_creation_doc", "label": "Test LoRA config creation.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test LoRA config creation.", "community": 6, "community_name": "Token Management", "source_file": "tests/test_model.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py", "label": "test_preprocessing.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 25.0, "font": {"size": 12, "color": "#ffffff"}, "title": "test_preprocessing.py", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 17}, {"id": "tests_test_preprocessing_py_docstring", "label": "Tests for the preprocessing pipeline.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the preprocessing pipeline.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_simulator", "label": "simulator()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "simulator()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 1}, {"id": "tests_test_preprocessing_py_corrector", "label": "corrector()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "corrector()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 2}, {"id": "tests_test_preprocessing_py_test_spell_correction_phonetic", "label": "test_spell_correction_phonetic()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_spell_correction_phonetic()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 3}, {"id": "tests_test_preprocessing_py_test_spell_correction_phonetic_doc", "label": "Test that common dyslexic misspellings are corrected.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that common dyslexic misspellings are corrected.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_test_spell_correction_empty", "label": "test_spell_correction_empty()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_spell_correction_empty()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 4}, {"id": "tests_test_preprocessing_py_test_spell_correction_empty_doc", "label": "Test empty input handling.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test empty input handling.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_test_entity_protection", "label": "test_entity_protection()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_entity_protection()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 3}, {"id": "tests_test_preprocessing_py_test_entity_protection_doc", "label": "Test that named entities are identified and protected.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that named entities are identified and protected.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_test_sentence_segmentation", "label": "test_sentence_segmentation()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_sentence_segmentation()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 3}, {"id": "tests_test_preprocessing_py_test_sentence_segmentation_doc", "label": "Test that text is correctly split into sentences.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that text is correctly split into sentences.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_test_readability_scores", "label": "test_readability_scores()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_readability_scores()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 3}, {"id": "tests_test_preprocessing_py_test_readability_scores_doc", "label": "Test that readability metrics are computed.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that readability metrics are computed.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_test_dependency_trees", "label": "test_dependency_trees()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_dependency_trees()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 3}, {"id": "tests_test_preprocessing_py_test_dependency_trees_doc", "label": "Test that dependency trees are extracted.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that dependency trees are extracted.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_test_dyslexia_simulator", "label": "test_dyslexia_simulator()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_dyslexia_simulator()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 3}, {"id": "tests_test_preprocessing_py_test_dyslexia_simulator_doc", "label": "Test that the simulator produces corrupted text.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that the simulator produces corrupted text.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_preprocessing_py_test_dyslexia_simulator_preserves_clean", "label": "test_dyslexia_simulator_preserves_clean()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_dyslexia_simulator_preserves_clean()", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "code", "degree": 3}, {"id": "tests_test_preprocessing_py_test_dyslexia_simulator_preserves_clean_doc", "label": "Test that the clean text is returned unchanged.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that the clean text is returned unchanged.", "community": 0, "community_name": "Module Group 0", "source_file": "tests/test_preprocessing.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_style_py", "label": "test_style.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "test_style.py", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "code", "degree": 8}, {"id": "tests_test_style_py_docstring", "label": "Tests for the style fingerprinting module.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the style fingerprinting module.", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_style_py_fingerprinter", "label": "fingerprinter()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "fingerprinter()", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "code", "degree": 1}, {"id": "tests_test_style_py_test_style_vector_shape", "label": "test_style_vector_shape()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_style_vector_shape()", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "code", "degree": 3}, {"id": "tests_test_style_py_test_style_vector_shape_doc", "label": "Test that style vectors have correct dimensionality.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that style vectors have correct dimensionality.", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_style_py_test_style_vector_different_texts", "label": "test_style_vector_different_texts()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_style_vector_different_texts()", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "code", "degree": 4}, {"id": "tests_test_style_py_test_style_vector_different_texts_doc", "label": "Test that different writing styles produce different vectors.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that different writing styles produce different vectors.", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_style_py_test_style_blend", "label": "test_style_blend()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_style_blend()", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "code", "degree": 4}, {"id": "tests_test_style_py_test_style_blend_doc", "label": "Test that blended vectors have unit norm.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that blended vectors have unit norm.", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_style_py_test_raw_features_keys", "label": "test_raw_features_keys()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_raw_features_keys()", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "code", "degree": 3}, {"id": "tests_test_style_py_test_raw_features_keys_doc", "label": "Test that raw features contain expected keys.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that raw features contain expected keys.", "community": 2, "community_name": "Module Group 2", "source_file": "tests/test_style.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_vocabulary_py", "label": "test_vocabulary.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "test_vocabulary.py", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "code", "degree": 7}, {"id": "tests_test_vocabulary_py_docstring", "label": "Tests for the vocabulary elevation module.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the vocabulary elevation module.", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_vocabulary_py_test_awl_loader", "label": "test_awl_loader()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_awl_loader()", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "code", "degree": 2}, {"id": "tests_test_vocabulary_py_test_awl_loader_doc", "label": "Test that AWL words are loaded correctly.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that AWL words are loaded correctly.", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_vocabulary_py_test_awl_membership", "label": "test_awl_membership()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_awl_membership()", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "code", "degree": 3}, {"id": "tests_test_vocabulary_py_test_awl_membership_doc", "label": "Test is_academic lookup.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test is_academic lookup.", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_vocabulary_py_test_register_filter_contractions", "label": "test_register_filter_contractions()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_register_filter_contractions()", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "code", "degree": 3}, {"id": "tests_test_vocabulary_py_test_register_filter_contractions_doc", "label": "Test that contractions are expanded.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that contractions are expanded.", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_vocabulary_py_test_register_filter_colloquialisms", "label": "test_register_filter_colloquialisms()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_register_filter_colloquialisms()", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "code", "degree": 3}, {"id": "tests_test_vocabulary_py_test_register_filter_colloquialisms_doc", "label": "Test that colloquial phrases are replaced.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Test that colloquial phrases are replaced.", "community": 3, "community_name": "Module Group 3", "source_file": "tests/test_vocabulary.py", "file_type": "rationale", "degree": 1}, {"id": "sem_nudr_api", "label": "NudR Stateless API", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "NudR Stateless API", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 3}, {"id": "sem_fastapi_backend", "label": "FastAPI Stateless Backend", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPI Stateless Backend", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 5}, {"id": "sem_supabase_db", "label": "Supabase PostgreSQL Database", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Supabase PostgreSQL Database", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 3}, {"id": "sem_redis_cache", "label": "Redis Session & Cache Store", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Redis Session &amp; Cache Store", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 5}, {"id": "sem_cloudflare_proxy", "label": "Cloudflare Edge Proxy", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Cloudflare Edge Proxy", "community": 23, "community_name": "Module Group 23", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_stripe_payments", "label": "Stripe Payment Integration", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Stripe Payment Integration", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_firebase_fcm", "label": "Firebase FCM Push Notifications", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Firebase FCM Push Notifications", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_e2ee_encryption", "label": "E2EE X25519 Key Exchange", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "E2EE X25519 Key Exchange", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_protobuf_framing", "label": "Protobuf Binary WebSocket Framing", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Protobuf Binary WebSocket Framing", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_hmac_verification", "label": "HMAC-SHA256 Request Verification", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "HMAC-SHA256 Request Verification", "community": 26, "community_name": "WebSocket Codec", "source_file": "README.md", "file_type": "document", "degree": 0}, {"id": "sem_origin_secret", "label": "X-Origin-Secret Middleware", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "X-Origin-Secret Middleware", "community": 23, "community_name": "Module Group 23", "source_file": "README.md", "file_type": "document", "degree": 2}, {"id": "sem_pow_challenge", "label": "Proof-of-Work Challenge", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Proof-of-Work Challenge", "community": 27, "community_name": "Module Group 27", "source_file": "README.md", "file_type": "document", "degree": 0}, {"id": "sem_rate_limiting", "label": "Per-IP Rate Limiting", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Per-IP Rate Limiting", "community": 24, "community_name": "Security & Rate Limiting", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_aws_secrets", "label": "AWS Secrets Manager Integration", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "AWS Secrets Manager Integration", "community": 21, "community_name": "Infrastructure (Terraform)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_terraform_infra", "label": "Terraform AWS Infrastructure", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Terraform AWS Infrastructure", "community": 21, "community_name": "Infrastructure (Terraform)", "source_file": "README.md", "file_type": "document", "degree": 3}, {"id": "sem_vpc_network", "label": "VPC Network Topology", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "VPC Network Topology", "community": 21, "community_name": "Infrastructure (Terraform)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_alb_autoscaling", "label": "ALB + Auto Scaling Group", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "ALB + Auto Scaling Group", "community": 21, "community_name": "Infrastructure (Terraform)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_lambda_rotator", "label": "Lambda Origin Secret Rotator", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Lambda Origin Secret Rotator", "community": 23, "community_name": "Module Group 23", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_unified_ws", "label": "Unified WebSocket Endpoint /ws", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "Unified WebSocket Endpoint /ws", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 7}, {"id": "sem_feed_ws", "label": "Feed WebSocket Channel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Feed WebSocket Channel", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 2}, {"id": "sem_chat_ws", "label": "Chat WebSocket Channel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Chat WebSocket Channel", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_keysync_ws", "label": "Keysync WebSocket Channel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Keysync WebSocket Channel", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 2}, {"id": "sem_discovery_ws", "label": "Discovery WebSocket Channel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Discovery WebSocket Channel", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_attack_detection", "label": "Attack Detection & IP Risk Management", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Attack Detection &amp; IP Risk Management", "community": 24, "community_name": "Security & Rate Limiting", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "sem_feed_system", "label": "Feed System Technical Documentation", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Feed System Technical Documentation", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 2}, {"id": "sem_feed_scoring", "label": "Multi-Factor Scoring Algorithm", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Multi-Factor Scoring Algorithm", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 4}, {"id": "sem_feed_pool", "label": "Feed Pool Computation Pipeline", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Feed Pool Computation Pipeline", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 4}, {"id": "sem_feed_filters", "label": "Feed Hard Filters (12 Rules)", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Feed Hard Filters (12 Rules)", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 1}, {"id": "sem_feed_heatmap", "label": "Preference Heatmap (Learned AI)", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Preference Heatmap (Learned AI)", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 1}, {"id": "sem_feed_reciprocal", "label": "Reciprocal Boost & Injection", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Reciprocal Boost &amp; Injection", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 1}, {"id": "sem_feed_gradient", "label": "3-Tier Gradient Distribution", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "3-Tier Gradient Distribution", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 1}, {"id": "sem_feed_redis", "label": "Feed Redis Key Schema", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Feed Redis Key Schema", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/feed_system_documentation.md", "file_type": "document", "degree": 1}, {"id": "sem_logic_analysis", "label": "Logic-Level Async Issue Audit", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Logic-Level Async Issue Audit", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/LOGIC_ANALYSIS.md", "file_type": "document", "degree": 1}, {"id": "sem_id_ws_reuse", "label": "DISASTROUS: id(ws) Memory Reuse Bug", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "DISASTROUS: id(ws) Memory Reuse Bug", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/LOGIC_ANALYSIS.md", "file_type": "document", "degree": 1}, {"id": "sem_token_refresh_crash", "label": "DISASTROUS: Token Refresh Crash Window", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "DISASTROUS: Token Refresh Crash Window", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/LOGIC_ANALYSIS.md", "file_type": "document", "degree": 1}, {"id": "sem_pubsub_crash", "label": "DISASTROUS: PubSub Listener Permanent Crash", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "DISASTROUS: PubSub Listener Permanent Crash", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/LOGIC_ANALYSIS.md", "file_type": "document", "degree": 1}, {"id": "sem_redis_pool_exhaustion", "label": "DISASTROUS: Redis Connection Pool Exhaustion", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "DISASTROUS: Redis Connection Pool Exhaustion", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/LOGIC_ANALYSIS.md", "file_type": "document", "degree": 1}, {"id": "sem_preference_race", "label": "Race Condition: Preference Merge", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Race Condition: Preference Merge", "community": 11, "community_name": "Feed Scoring & Pool", "source_file": "PLAN/LOGIC_ANALYSIS.md", "file_type": "document", "degree": 1}];
const RAW_EDGES = [{"from": "graph_codebase_py", "to": "graph_codebase_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_detect_files", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_get_changed_files", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_hash_file", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_extract_ast_file", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py__get_call_name", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py__get_name", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py__resolve_edges", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_run_ast_extraction", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_build_semantic_nodes", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_merge_and_build", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_generate_outputs", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_run_pipeline", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py", "to": "graph_codebase_py_watch_mode", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_detect_files", "to": "graph_codebase_py_detect_files_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_detect_files", "to": "graph_codebase_py_run_pipeline", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_get_changed_files", "to": "graph_codebase_py_get_changed_files_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_get_changed_files", "to": "graph_codebase_py_run_pipeline", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_hash_file", "to": "graph_codebase_py_hash_file_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_hash_file", "to": "graph_codebase_py_run_ast_extraction", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_extract_ast_file", "to": "graph_codebase_py_extract_ast_file_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_extract_ast_file", "to": "src_preprocessing_dependency_parser_py_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_extract_ast_file", "to": "graph_codebase_py__get_call_name", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_extract_ast_file", "to": "graph_codebase_py__get_name", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_extract_ast_file", "to": "graph_codebase_py_run_ast_extraction", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py__get_call_name", "to": "graph_codebase_py__get_call_name_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py__get_name", "to": "graph_codebase_py__get_name_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py__resolve_edges", "to": "graph_codebase_py__resolve_edges_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py__resolve_edges", "to": "graph_codebase_py_run_ast_extraction", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_run_ast_extraction", "to": "graph_codebase_py_run_ast_extraction_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_run_ast_extraction", "to": "graph_codebase_py_run_pipeline", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_build_semantic_nodes", "to": "graph_codebase_py_build_semantic_nodes_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_build_semantic_nodes", "to": "graph_codebase_py_run_pipeline", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_merge_and_build", "to": "graph_codebase_py_merge_and_build_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_merge_and_build", "to": "graph_codebase_py_run_pipeline", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_generate_outputs", "to": "graph_codebase_py_generate_outputs_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_generate_outputs", "to": "graph_codebase_py_run_pipeline", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_run_pipeline", "to": "graph_codebase_py_run_pipeline_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_run_pipeline", "to": "graph_codebase_py_watch_mode", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "graph_codebase_py_watch_mode", "to": "graph_codebase_py_watch_mode_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_main", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_parse_args", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_get_paras", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_clean_para", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_get_token_edits", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_get_all_tok_starts_and_ends", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_convert_char_to_tok", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_get_sents", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_prepare_sent_edits_output", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py", "to": "data_raw_fce_json_to_m2_py_noop_edit", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py_main", "to": "data_raw_fce_json_to_m2_py_parse_args", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_main", "to": "data_raw_fce_json_to_m2_py_get_paras", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_main", "to": "src_preprocessing_dependency_parser_py_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_fce_json_to_m2_py_main", "to": "data_raw_fce_json_to_m2_py_clean_para", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_main", "to": "data_raw_fce_json_to_m2_py_get_token_edits", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_main", "to": "data_raw_fce_json_to_m2_py_get_sents", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_main", "to": "data_raw_fce_json_to_m2_py_noop_edit", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_get_token_edits", "to": "data_raw_fce_json_to_m2_py_get_all_tok_starts_and_ends", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_get_token_edits", "to": "data_raw_fce_json_to_m2_py_convert_char_to_tok", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_fce_json_to_m2_py_get_sents", "to": "data_raw_fce_json_to_m2_py_prepare_sent_edits_output", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_GLEU", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_load_hypothesis_sentence", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_load_sources", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_load_references", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_diff", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_normalization", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_gleu", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_get_gleu_stats", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py", "to": "data_raw_jfleg_repo_eval_gleu_py_run_iterations", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "scripts_train_py_train", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "scripts_train_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "src_api_middleware_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_load_hypothesis_sentence", "to": "data_raw_jfleg_repo_eval_gleu_py_load_hypothesis_sentence_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_load_hypothesis_sentence", "to": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_load_hypothesis_sentence", "to": "data_raw_jfleg_repo_eval_gleu_py_run_iterations", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_load_sources", "to": "data_raw_jfleg_repo_eval_gleu_py_load_sources_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_load_sources", "to": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_load_references", "to": "data_raw_jfleg_repo_eval_gleu_py_load_references_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_load_references", "to": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts", "to": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_counts", "to": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_diff", "to": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_diff_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_get_ngram_diff", "to": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_normalization", "to": "data_raw_jfleg_repo_eval_gleu_py_normalization_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats", "to": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_gleu_stats", "to": "data_raw_jfleg_repo_eval_gleu_py_run_iterations", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_gleu", "to": "data_raw_jfleg_repo_eval_gleu_py_gleu_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_gleu", "to": "data_raw_jfleg_repo_eval_gleu_py_run_iterations", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_get_gleu_stats", "to": "data_raw_jfleg_repo_eval_gleu_py_get_gleu_stats_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_get_gleu_stats", "to": "data_raw_jfleg_repo_eval_gleu_py_run_iterations", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "data_raw_jfleg_repo_eval_gleu_py_run_iterations", "to": "data_raw_jfleg_repo_eval_gleu_py_run_iterations_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_download_all_huggingface_datasets_py", "to": "scripts_download_all_huggingface_datasets_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_download_all_huggingface_datasets_py", "to": "scripts_download_all_huggingface_datasets_py_main", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "scripts_evaluate_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "src_model_base_model_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "src_model_generation_utils_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "src_evaluation_gleu_scorer_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "src_evaluation_errant_evaluator_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "src_evaluation_style_metrics_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "src_style_fingerprinter_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "src_vocabulary_awl_loader_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py", "to": "scripts_evaluate_py_evaluate", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py_evaluate", "to": "scripts_evaluate_py_evaluate_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py_evaluate", "to": "src_model_generation_utils_py_batch_generate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py_evaluate", "to": "src_evaluation_gleu_scorer_py_compute_gleu", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py_evaluate", "to": "src_evaluation_gleu_scorer_py_compute_bert_score", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py_evaluate", "to": "src_evaluation_errant_evaluator_py_evaluate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_evaluate_py_evaluate", "to": "src_evaluation_style_metrics_py_evaluate_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_evaluate_py_evaluate", "to": "src_model_base_model_py_load_model_and_tokenizer", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_apply_bea19_edits", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_process_bea19_json", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_process_fce", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_process_wi_locness", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_process_jfleg", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_create_splits", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py", "to": "scripts_preprocess_data_py_main", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_apply_bea19_edits", "to": "scripts_preprocess_data_py_apply_bea19_edits_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_apply_bea19_edits", "to": "scripts_preprocess_data_py_process_bea19_json", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_bea19_json", "to": "scripts_preprocess_data_py_process_bea19_json_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_bea19_json", "to": "scripts_preprocess_data_py_process_fce", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_bea19_json", "to": "scripts_preprocess_data_py_process_wi_locness", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_fce", "to": "scripts_preprocess_data_py_process_fce_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_fce", "to": "scripts_preprocess_data_py_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_wi_locness", "to": "scripts_preprocess_data_py_process_wi_locness_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_wi_locness", "to": "scripts_preprocess_data_py_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_jfleg", "to": "scripts_preprocess_data_py_process_jfleg_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_process_jfleg", "to": "scripts_preprocess_data_py_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_create_splits", "to": "scripts_preprocess_data_py_create_splits_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_preprocess_data_py_create_splits", "to": "scripts_preprocess_data_py_main", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_pretrain_human_pattern_classifier_py", "to": "scripts_pretrain_human_pattern_classifier_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_pretrain_human_pattern_classifier_py", "to": "src_training_human_pattern_extractor_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_pretrain_human_pattern_classifier_py", "to": "scripts_pretrain_human_pattern_classifier_py_train_classifier", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_pretrain_human_pattern_classifier_py_train_classifier", "to": "scripts_pretrain_human_pattern_classifier_py_train_classifier_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_pretrain_human_pattern_classifier_py_train_classifier", "to": "src_training_human_pattern_extractor_py_precompute_features", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_pretrain_human_pattern_classifier_py_train_classifier", "to": "scripts_train_py_train", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_run_inference_py", "to": "scripts_run_inference_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_run_inference_py", "to": "src_inference_corrector_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_run_inference_py", "to": "scripts_run_inference_py_run_inference", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_run_inference_py_run_inference", "to": "scripts_run_inference_py_run_inference_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_run_inference_py_run_inference", "to": "src_inference_corrector_py_correct", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_run_inference_py_run_inference", "to": "src_preprocessing_spell_corrector_py_correct", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py", "to": "scripts_train_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_model_base_model_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_model_style_conditioner_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_training_dataset_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_training_loss_functions_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_training_trainer_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_training_callbacks_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_style_fingerprinter_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "src_evaluation_gleu_scorer_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "scripts_train_py__setup_device", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "scripts_train_py__auto_batch_size", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "scripts_train_py_train", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "scripts_train_py_CEOnlyLoss", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "scripts_train_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py", "to": "scripts_train_py_forward", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py__setup_device", "to": "scripts_train_py__setup_device_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py__setup_device", "to": "scripts_train_py_train", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py__auto_batch_size", "to": "scripts_train_py__auto_batch_size_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py__auto_batch_size", "to": "scripts_train_py_train", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py_train", "to": "scripts_train_py_train_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py_train", "to": "src_model_base_model_py_load_model_and_tokenizer", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py_train", "to": "scripts_train_py_train", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py_train", "to": "scripts_train_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_api_middleware_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_evaluation_authorship_verifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_evaluation_errant_evaluator_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_evaluation_style_metrics_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_inference_corrector_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_inference_postprocessor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_preprocessing_dependency_parser_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_preprocessing_dyslexia_simulator_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_preprocessing_ner_tagger_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_preprocessing_pipeline_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_preprocessing_sentence_segmenter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_preprocessing_spell_corrector_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_style_emotion_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_style_formality_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_training_callbacks_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_training_dataset_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_train", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_CEOnlyLoss", "to": "scripts_train_py_CEOnlyLoss_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_train_py___init__", "to": "src_api_middleware_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_evaluation_authorship_verifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_evaluation_errant_evaluator_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_evaluation_style_metrics_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_inference_corrector_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_inference_postprocessor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_preprocessing_dependency_parser_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_preprocessing_dyslexia_simulator_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_preprocessing_ner_tagger_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_preprocessing_pipeline_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_preprocessing_sentence_segmenter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_preprocessing_spell_corrector_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_style_emotion_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_style_formality_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_training_callbacks_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_training_dataset_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py___init__", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_train_py_forward", "to": "src_training_human_pattern_extractor_py_score", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_main_py", "to": "src_api_main_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_main_py", "to": "src_api_main_py_startup", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_main_py", "to": "src_api_main_py_correct_text", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_main_py", "to": "src_api_main_py_health", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_main_py_startup", "to": "src_api_main_py_startup_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_main_py_correct_text", "to": "src_api_main_py_correct_text_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_main_py_correct_text", "to": "src_inference_corrector_py_correct", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_main_py_correct_text", "to": "src_preprocessing_spell_corrector_py_correct", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_main_py_health", "to": "src_api_main_py_health_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py", "to": "src_api_middleware_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py", "to": "src_api_middleware_py_RequestLoggingMiddleware", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py", "to": "src_api_middleware_py_RateLimitMiddleware", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py", "to": "src_api_middleware_py_dispatch", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py", "to": "src_api_middleware_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py_RequestLoggingMiddleware", "to": "src_api_middleware_py_RequestLoggingMiddleware_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py_RateLimitMiddleware", "to": "src_api_middleware_py_RateLimitMiddleware_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_middleware_py___init__", "to": "src_evaluation_authorship_verifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_evaluation_errant_evaluator_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_evaluation_style_metrics_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_inference_corrector_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_inference_postprocessor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_preprocessing_dependency_parser_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_preprocessing_dyslexia_simulator_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_preprocessing_ner_tagger_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_preprocessing_pipeline_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_preprocessing_sentence_segmenter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_preprocessing_spell_corrector_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_style_emotion_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_style_formality_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_training_callbacks_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_training_dataset_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_middleware_py___init__", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_api_schemas_py", "to": "src_api_schemas_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_schemas_py", "to": "src_api_schemas_py_CorrectionRequest", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_api_schemas_py", "to": "src_api_schemas_py_CorrectionResponse", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_authorship_verifier_py", "to": "src_evaluation_authorship_verifier_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_authorship_verifier_py", "to": "src_evaluation_authorship_verifier_py_AuthorshipVerifier", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_authorship_verifier_py", "to": "src_evaluation_authorship_verifier_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_authorship_verifier_py", "to": "src_evaluation_authorship_verifier_py_verify", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_authorship_verifier_py_AuthorshipVerifier", "to": "src_evaluation_authorship_verifier_py_AuthorshipVerifier_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_authorship_verifier_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_authorship_verifier_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_authorship_verifier_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_authorship_verifier_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_authorship_verifier_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_authorship_verifier_py_verify", "to": "src_evaluation_authorship_verifier_py_verify_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_authorship_verifier_py_verify", "to": "src_style_style_vector_py_cosine_similarity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_errant_evaluator_py", "to": "src_evaluation_errant_evaluator_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_errant_evaluator_py", "to": "src_evaluation_errant_evaluator_py_ERRANTEvaluator", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_errant_evaluator_py", "to": "src_evaluation_errant_evaluator_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_errant_evaluator_py", "to": "src_evaluation_errant_evaluator_py_evaluate", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_errant_evaluator_py_ERRANTEvaluator", "to": "src_evaluation_errant_evaluator_py_ERRANTEvaluator_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_errant_evaluator_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_errant_evaluator_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_errant_evaluator_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_errant_evaluator_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_errant_evaluator_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_errant_evaluator_py_evaluate", "to": "src_evaluation_errant_evaluator_py_evaluate_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_errant_evaluator_py_evaluate", "to": "src_preprocessing_dependency_parser_py_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py", "to": "src_evaluation_gleu_scorer_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py", "to": "src_evaluation_gleu_scorer_py_GLEUScorer", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py", "to": "src_evaluation_gleu_scorer_py_compute_gleu", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py", "to": "src_evaluation_gleu_scorer_py_compute_bert_score", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py", "to": "tests_test_evaluation_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py_GLEUScorer", "to": "src_evaluation_gleu_scorer_py_GLEUScorer_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py_compute_gleu", "to": "src_evaluation_gleu_scorer_py_compute_gleu_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py_compute_gleu", "to": "tests_test_evaluation_py_test_gleu_perfect_score", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py_compute_gleu", "to": "tests_test_evaluation_py_test_gleu_empty_input", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_gleu_scorer_py_compute_bert_score", "to": "src_evaluation_gleu_scorer_py_compute_bert_score_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py", "to": "src_evaluation_style_metrics_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py", "to": "src_evaluation_style_metrics_py_StyleEvaluator", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py", "to": "src_evaluation_style_metrics_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py", "to": "src_evaluation_style_metrics_py_style_similarity", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py", "to": "src_evaluation_style_metrics_py_awl_coverage", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py", "to": "src_evaluation_style_metrics_py_evaluate_batch", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py", "to": "tests_test_evaluation_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_StyleEvaluator", "to": "src_evaluation_style_metrics_py_StyleEvaluator_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_style_metrics_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_style_metrics_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_style_metrics_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_style_metrics_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_evaluation_style_metrics_py_style_similarity", "to": "src_evaluation_style_metrics_py_style_similarity_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_style_similarity", "to": "src_style_fingerprinter_py_extract_vector", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_style_similarity", "to": "src_style_style_vector_py_cosine_similarity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_style_similarity", "to": "src_evaluation_style_metrics_py_evaluate_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_style_similarity", "to": "src_inference_corrector_py_correct", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_awl_coverage", "to": "src_evaluation_style_metrics_py_awl_coverage_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_awl_coverage", "to": "src_vocabulary_awl_loader_py_is_academic", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_awl_coverage", "to": "src_evaluation_style_metrics_py_evaluate_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_awl_coverage", "to": "src_inference_corrector_py_correct", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_awl_coverage", "to": "tests_test_evaluation_py_test_awl_coverage_score", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_evaluation_style_metrics_py_evaluate_batch", "to": "src_evaluation_style_metrics_py_evaluate_batch_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py", "to": "src_inference_corrector_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py", "to": "src_inference_corrector_py_CorrectionResult", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py", "to": "src_inference_corrector_py_AcademicCorrector", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py", "to": "src_inference_corrector_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py", "to": "src_inference_corrector_py_correct", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_AcademicCorrector", "to": "src_inference_corrector_py_AcademicCorrector_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py___init__", "to": "src_model_base_model_py_load_model_and_tokenizer", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_corrector_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_corrector_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_corrector_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_corrector_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_corrector_py_correct", "to": "src_inference_corrector_py_correct_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_preprocessing_pipeline_py_process", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_corrector_py_correct", "to": "src_style_fingerprinter_py_extract_vector", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_inference_postprocessor_py_clean", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_inference_postprocessor_py_restore_entities", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_vocabulary_lexical_substitution_py_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_inference_postprocessor_py_format_output", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_style_fingerprinter_py_blend_vectors", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_model_generation_utils_py_generate_correction", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "src_vocabulary_lexical_substitution_py_elevate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_corrector_py_correct", "to": "tests_test_preprocessing_py_test_spell_correction_empty", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_postprocessor_py", "to": "src_inference_postprocessor_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py", "to": "src_inference_postprocessor_py_PostProcessor", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py", "to": "src_inference_postprocessor_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py", "to": "src_inference_postprocessor_py_clean", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py", "to": "src_inference_postprocessor_py_restore_entities", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py", "to": "src_inference_postprocessor_py_format_output", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py_PostProcessor", "to": "src_inference_postprocessor_py_PostProcessor_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py___init__", "to": "src_model_style_conditioner_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_postprocessor_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_postprocessor_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_postprocessor_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_postprocessor_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_inference_postprocessor_py_clean", "to": "src_inference_postprocessor_py_clean_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py_restore_entities", "to": "src_inference_postprocessor_py_restore_entities_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_inference_postprocessor_py_format_output", "to": "src_inference_postprocessor_py_format_output_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_base_model_py", "to": "src_model_base_model_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_base_model_py", "to": "src_model_base_model_py_load_model_and_tokenizer", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_base_model_py", "to": "tests_test_model_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_base_model_py_load_model_and_tokenizer", "to": "src_model_base_model_py_load_model_and_tokenizer_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_base_model_py_load_model_and_tokenizer", "to": "tests_test_model_py_test_invalid_model_key", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_generation_utils_py", "to": "src_model_generation_utils_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_generation_utils_py", "to": "src_model_generation_utils_py_generate_correction", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_generation_utils_py", "to": "src_model_generation_utils_py_batch_generate", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_generation_utils_py_generate_correction", "to": "src_model_generation_utils_py_generate_correction_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_generation_utils_py_batch_generate", "to": "src_model_generation_utils_py_batch_generate_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py", "to": "src_model_lora_adapter_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py", "to": "src_model_lora_adapter_py_create_lora_config", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py", "to": "src_model_lora_adapter_py_apply_lora", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py", "to": "src_model_lora_adapter_py_merge_lora_weights", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py", "to": "tests_test_model_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py_create_lora_config", "to": "src_model_lora_adapter_py_create_lora_config_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py_create_lora_config", "to": "tests_test_model_py_test_lora_config_creation", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py_apply_lora", "to": "src_model_lora_adapter_py_apply_lora_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_lora_adapter_py_merge_lora_weights", "to": "src_model_lora_adapter_py_merge_lora_weights_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py", "to": "src_model_style_conditioner_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py", "to": "src_model_style_conditioner_py_StyleConditioner", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py", "to": "src_model_style_conditioner_py_prepend_style_prefix", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py", "to": "src_model_style_conditioner_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py", "to": "src_model_style_conditioner_py_forward", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py", "to": "tests_test_model_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py_StyleConditioner", "to": "src_model_style_conditioner_py_StyleConditioner_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py_prepend_style_prefix", "to": "src_model_style_conditioner_py_prepend_style_prefix_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py_prepend_style_prefix", "to": "tests_test_model_py_test_prepend_style_prefix", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_preprocessing_dependency_parser_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_preprocessing_dyslexia_simulator_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_preprocessing_ner_tagger_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_preprocessing_pipeline_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_preprocessing_sentence_segmenter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_preprocessing_spell_corrector_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_style_emotion_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_style_formality_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_training_callbacks_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_training_dataset_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py___init__", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_model_style_conditioner_py_forward", "to": "src_model_style_conditioner_py_forward_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_model_style_conditioner_py_forward", "to": "src_training_human_pattern_extractor_py_score", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dependency_parser_py", "to": "src_preprocessing_dependency_parser_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py", "to": "src_preprocessing_dependency_parser_py_DependencyParser", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py", "to": "src_preprocessing_dependency_parser_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py", "to": "src_preprocessing_dependency_parser_py_parse", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py", "to": "src_preprocessing_dependency_parser_py_extract_svo", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py", "to": "tests_test_preprocessing_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py_DependencyParser", "to": "src_preprocessing_dependency_parser_py_DependencyParser_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dependency_parser_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dependency_parser_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dependency_parser_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dependency_parser_py_parse", "to": "src_preprocessing_dependency_parser_py_parse_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py_extract_svo", "to": "src_preprocessing_dependency_parser_py_extract_svo_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dependency_parser_py_extract_svo", "to": "tests_test_preprocessing_py_test_dependency_trees", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py_DyslexiaSimulator", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py__transpose_letters", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py__omit_letter", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py__double_letter", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py__reverse_letter", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "src_preprocessing_dyslexia_simulator_py_simulate", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py", "to": "tests_test_preprocessing_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py_DyslexiaSimulator", "to": "src_preprocessing_dyslexia_simulator_py_DyslexiaSimulator_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dyslexia_simulator_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dyslexia_simulator_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dyslexia_simulator_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_dyslexia_simulator_py__transpose_letters", "to": "src_preprocessing_dyslexia_simulator_py__transpose_letters_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py__transpose_letters", "to": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py__omit_letter", "to": "src_preprocessing_dyslexia_simulator_py__omit_letter_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py__omit_letter", "to": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py__double_letter", "to": "src_preprocessing_dyslexia_simulator_py__double_letter_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py__double_letter", "to": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py__reverse_letter", "to": "src_preprocessing_dyslexia_simulator_py__reverse_letter_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py__reverse_letter", "to": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "to": "src_preprocessing_dyslexia_simulator_py_corrupt_word_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py_corrupt_word", "to": "src_preprocessing_dyslexia_simulator_py_simulate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py_simulate", "to": "src_preprocessing_dyslexia_simulator_py_simulate_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py_simulate", "to": "src_training_dataset_py__add_synthetic", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py_simulate", "to": "tests_test_preprocessing_py_test_dyslexia_simulator", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_dyslexia_simulator_py_simulate", "to": "tests_test_preprocessing_py_test_dyslexia_simulator_preserves_clean", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py", "to": "src_preprocessing_ner_tagger_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py", "to": "src_preprocessing_ner_tagger_py_EntitySpan", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py", "to": "src_preprocessing_ner_tagger_py_NERTagger", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py", "to": "src_preprocessing_ner_tagger_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py", "to": "src_preprocessing_ner_tagger_py_tag", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py", "to": "src_preprocessing_ner_tagger_py_get_protected_spans", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py", "to": "tests_test_preprocessing_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py_NERTagger", "to": "src_preprocessing_ner_tagger_py_NERTagger_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_ner_tagger_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_ner_tagger_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_ner_tagger_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_ner_tagger_py_tag", "to": "src_preprocessing_ner_tagger_py_tag_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py_tag", "to": "src_preprocessing_ner_tagger_py_get_protected_spans", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py_tag", "to": "tests_test_preprocessing_py_test_entity_protection", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_ner_tagger_py_get_protected_spans", "to": "src_preprocessing_ner_tagger_py_get_protected_spans_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py_EntitySpan", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py_PreprocessedDoc", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py_PreprocessingPipeline", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py__extract_readability", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py__extract_dep_tree", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "src_preprocessing_pipeline_py_process", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py", "to": "tests_test_preprocessing_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py_PreprocessingPipeline", "to": "src_preprocessing_pipeline_py_PreprocessingPipeline_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_pipeline_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_pipeline_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_pipeline_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_pipeline_py__extract_readability", "to": "src_preprocessing_pipeline_py__extract_readability_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py__extract_readability", "to": "src_preprocessing_pipeline_py_process", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py__extract_dep_tree", "to": "src_preprocessing_pipeline_py__extract_dep_tree_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py__extract_dep_tree", "to": "src_preprocessing_pipeline_py_process", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py_process", "to": "src_preprocessing_pipeline_py_process_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_pipeline_py_process", "to": "src_preprocessing_spell_corrector_py_correct", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_pipeline_py_process", "to": "tests_test_preprocessing_py_test_readability_scores", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py", "to": "src_preprocessing_sentence_segmenter_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py", "to": "src_preprocessing_sentence_segmenter_py_SentenceSegmenter", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py", "to": "src_preprocessing_sentence_segmenter_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py", "to": "src_preprocessing_sentence_segmenter_py_segment", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py", "to": "tests_test_preprocessing_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py_SentenceSegmenter", "to": "src_preprocessing_sentence_segmenter_py_SentenceSegmenter_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_sentence_segmenter_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_sentence_segmenter_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_sentence_segmenter_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_sentence_segmenter_py_segment", "to": "src_preprocessing_sentence_segmenter_py_segment_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_sentence_segmenter_py_segment", "to": "tests_test_preprocessing_py_test_sentence_segmentation", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py_DyslexiaAwareSpellCorrector", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py__phonetic_pass", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py__spellcheck_pass", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py__languagetool_pass", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py_correct", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py_close", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "src_preprocessing_spell_corrector_py__replace", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py", "to": "tests_test_preprocessing_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py_DyslexiaAwareSpellCorrector", "to": "src_preprocessing_spell_corrector_py_DyslexiaAwareSpellCorrector_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_spell_corrector_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_spell_corrector_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_spell_corrector_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_spell_corrector_py__phonetic_pass", "to": "src_preprocessing_spell_corrector_py__phonetic_pass_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py__phonetic_pass", "to": "src_preprocessing_spell_corrector_py_correct", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py__phonetic_pass", "to": "tests_test_preprocessing_py_test_spell_correction_phonetic", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py__spellcheck_pass", "to": "src_preprocessing_spell_corrector_py__spellcheck_pass_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py__spellcheck_pass", "to": "src_preprocessing_spell_corrector_py_correct", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py__languagetool_pass", "to": "src_preprocessing_spell_corrector_py__languagetool_pass_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py__languagetool_pass", "to": "src_preprocessing_spell_corrector_py_correct", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py_correct", "to": "src_preprocessing_spell_corrector_py_correct_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py_correct", "to": "tests_test_preprocessing_py_test_spell_correction_empty", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_preprocessing_spell_corrector_py_close", "to": "src_preprocessing_spell_corrector_py_close_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py_close", "to": "src_preprocessing_spell_corrector_py_close", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_preprocessing_spell_corrector_py_close", "to": "tests_test_preprocessing_py_corrector", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_emotion_classifier_py", "to": "src_style_emotion_classifier_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_emotion_classifier_py", "to": "src_style_emotion_classifier_py_EmotionClassifier", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_emotion_classifier_py", "to": "src_style_emotion_classifier_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_emotion_classifier_py", "to": "src_style_emotion_classifier_py_classify", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_emotion_classifier_py_EmotionClassifier", "to": "src_style_emotion_classifier_py_EmotionClassifier_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_emotion_classifier_py___init__", "to": "src_style_fingerprinter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_emotion_classifier_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_emotion_classifier_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_emotion_classifier_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_emotion_classifier_py_classify", "to": "src_style_emotion_classifier_py_classify_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py_StyleProjectionMLP", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py_StyleFingerprinter", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py_forward", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__load_awl", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__passive_voice_ratio", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__avg_dep_tree_depth", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__lexical_density", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__count_syllables", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__avg_syllables_per_word", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__flesch_reading_ease", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py_extract_raw_features", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py_extract_vector", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py_blend_vectors", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "src_style_fingerprinter_py__depth", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "tests_test_evaluation_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py", "to": "tests_test_style_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_StyleProjectionMLP", "to": "src_style_fingerprinter_py_StyleProjectionMLP_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_StyleFingerprinter", "to": "src_style_fingerprinter_py_StyleFingerprinter_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_style_formality_classifier_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_training_callbacks_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_training_dataset_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py___init__", "to": "src_style_fingerprinter_py__load_awl", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_forward", "to": "src_training_human_pattern_extractor_py_score", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py__load_awl", "to": "src_style_fingerprinter_py__load_awl_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__passive_voice_ratio", "to": "src_style_fingerprinter_py__passive_voice_ratio_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__passive_voice_ratio", "to": "src_style_fingerprinter_py_extract_raw_features", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__avg_dep_tree_depth", "to": "src_style_fingerprinter_py__avg_dep_tree_depth_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__avg_dep_tree_depth", "to": "src_style_fingerprinter_py__depth", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__avg_dep_tree_depth", "to": "src_style_fingerprinter_py_extract_raw_features", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__lexical_density", "to": "src_style_fingerprinter_py__lexical_density_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__lexical_density", "to": "src_style_fingerprinter_py_extract_raw_features", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__count_syllables", "to": "src_style_fingerprinter_py__count_syllables_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__count_syllables", "to": "src_style_fingerprinter_py__avg_syllables_per_word", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__avg_syllables_per_word", "to": "src_style_fingerprinter_py__avg_syllables_per_word_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__avg_syllables_per_word", "to": "src_style_fingerprinter_py_extract_raw_features", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__flesch_reading_ease", "to": "src_style_fingerprinter_py__flesch_reading_ease_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py__flesch_reading_ease", "to": "src_style_fingerprinter_py_extract_raw_features", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_raw_features", "to": "src_style_fingerprinter_py_extract_raw_features_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_raw_features", "to": "src_style_formality_classifier_py_score", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py_extract_raw_features", "to": "src_training_human_pattern_extractor_py_score", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_fingerprinter_py_extract_raw_features", "to": "src_style_fingerprinter_py_extract_vector", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_raw_features", "to": "tests_test_style_py_test_raw_features_keys", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_vector", "to": "src_style_fingerprinter_py_extract_vector_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_vector", "to": "src_training_dataset_py__precompute_all", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_vector", "to": "tests_test_style_py_test_style_vector_shape", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_vector", "to": "tests_test_style_py_test_style_vector_different_texts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_extract_vector", "to": "tests_test_style_py_test_style_blend", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_blend_vectors", "to": "src_style_fingerprinter_py_blend_vectors_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_fingerprinter_py_blend_vectors", "to": "tests_test_style_py_test_style_blend", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py", "to": "src_style_formality_classifier_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py", "to": "src_style_formality_classifier_py_FormalityClassifier", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py", "to": "src_style_formality_classifier_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py", "to": "src_style_formality_classifier_py_score", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py", "to": "src_vocabulary_register_filter_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py_FormalityClassifier", "to": "src_style_formality_classifier_py_FormalityClassifier_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_formality_classifier_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_formality_classifier_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_formality_classifier_py_score", "to": "src_style_formality_classifier_py_score_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_formality_classifier_py_score", "to": "src_training_loss_functions_py__human_pattern_loss", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_formality_classifier_py_score", "to": "src_vocabulary_register_filter_py_check_formality", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_style_style_vector_py", "to": "src_style_style_vector_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py", "to": "src_style_style_vector_py_cosine_similarity", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py", "to": "src_style_style_vector_py_average_style_vectors", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py", "to": "src_style_style_vector_py_save_style_vector", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py", "to": "src_style_style_vector_py_load_style_vector", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py", "to": "tests_test_style_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_cosine_similarity", "to": "src_style_style_vector_py_cosine_similarity_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_cosine_similarity", "to": "src_style_style_vector_py_cosine_similarity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_cosine_similarity", "to": "src_training_loss_functions_py__style_loss", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_cosine_similarity", "to": "src_training_loss_functions_py__semantic_loss", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_cosine_similarity", "to": "src_training_loss_functions_py_forward", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_cosine_similarity", "to": "src_vocabulary_lexical_substitution_py__sem_similarity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_cosine_similarity", "to": "tests_test_style_py_test_style_vector_different_texts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_average_style_vectors", "to": "src_style_style_vector_py_average_style_vectors_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_save_style_vector", "to": "src_style_style_vector_py_save_style_vector_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_style_style_vector_py_load_style_vector", "to": "src_style_style_vector_py_load_style_vector_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py", "to": "src_training_callbacks_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py", "to": "src_training_callbacks_py_StyleMetricsCallback", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py", "to": "src_training_callbacks_py_EarlyStoppingOnStyleDrift", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py", "to": "src_training_callbacks_py_on_evaluate", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py", "to": "src_training_callbacks_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py_StyleMetricsCallback", "to": "src_training_callbacks_py_StyleMetricsCallback_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py_EarlyStoppingOnStyleDrift", "to": "src_training_callbacks_py_EarlyStoppingOnStyleDrift_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_callbacks_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_callbacks_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_callbacks_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py_WritingCorrectionDataset", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py__compute_cache_key", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py__load", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py__add_synthetic", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py__precompute_all", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py___len__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py", "to": "src_training_dataset_py___getitem__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py_WritingCorrectionDataset", "to": "src_training_dataset_py_WritingCorrectionDataset_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py___init__", "to": "src_training_dataset_py__load", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py___init__", "to": "src_training_dataset_py__compute_cache_key", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py___init__", "to": "src_training_dataset_py__add_synthetic", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py___init__", "to": "src_training_dataset_py__precompute_all", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py___init__", "to": "src_training_human_pattern_extractor_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_dataset_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_dataset_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_dataset_py__compute_cache_key", "to": "src_training_dataset_py__compute_cache_key_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py__load", "to": "src_training_dataset_py__load_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py__add_synthetic", "to": "src_training_dataset_py__add_synthetic_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py__precompute_all", "to": "src_training_dataset_py__precompute_all_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_dataset_py___getitem__", "to": "src_training_dataset_py___getitem___doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py__compute_text_features", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_HumanPatternFeatureExtractor", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_KaggleHumanPatternDataset", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_HumanPatternClassifier", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py__perplexity", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py__perplexity_batch", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_extract", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_extract_batch", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_precompute_features", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py___len__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py___getitem__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_forward", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py", "to": "src_training_human_pattern_extractor_py_score", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py__compute_text_features", "to": "src_training_human_pattern_extractor_py__compute_text_features_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py__compute_text_features", "to": "src_training_human_pattern_extractor_py_extract", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py__compute_text_features", "to": "src_training_human_pattern_extractor_py_extract_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_HumanPatternFeatureExtractor", "to": "src_training_human_pattern_extractor_py_HumanPatternFeatureExtractor_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_KaggleHumanPatternDataset", "to": "src_training_human_pattern_extractor_py_KaggleHumanPatternDataset_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_HumanPatternClassifier", "to": "src_training_human_pattern_extractor_py_HumanPatternClassifier_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py___init__", "to": "src_training_loss_functions_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_human_pattern_extractor_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_human_pattern_extractor_py___init__", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_human_pattern_extractor_py___init__", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_human_pattern_extractor_py___init__", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_human_pattern_extractor_py__perplexity", "to": "src_training_human_pattern_extractor_py__perplexity_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py__perplexity", "to": "src_training_human_pattern_extractor_py_extract", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py__perplexity_batch", "to": "src_training_human_pattern_extractor_py__perplexity_batch_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py__perplexity_batch", "to": "src_training_human_pattern_extractor_py_extract_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_extract", "to": "src_training_human_pattern_extractor_py_extract_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_extract", "to": "src_training_human_pattern_extractor_py___getitem__", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_extract", "to": "src_training_human_pattern_extractor_py_score", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_extract_batch", "to": "src_training_human_pattern_extractor_py_extract_batch_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_extract_batch", "to": "src_training_human_pattern_extractor_py_precompute_features", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_precompute_features", "to": "src_training_human_pattern_extractor_py_precompute_features_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_forward", "to": "src_training_human_pattern_extractor_py_forward_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_score", "to": "src_training_human_pattern_extractor_py_score_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_human_pattern_extractor_py_score", "to": "src_training_loss_functions_py_forward", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_human_pattern_extractor_py_score", "to": "src_training_loss_functions_py__human_pattern_loss", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_human_pattern_extractor_py_score", "to": "src_vocabulary_register_filter_py_check_formality", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py_CombinedCorrectionLoss", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py_CombinedCorrectionLossV2", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py__style_loss", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py__semantic_loss", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py_forward", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py", "to": "src_training_loss_functions_py__human_pattern_loss", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py_CombinedCorrectionLoss", "to": "src_training_loss_functions_py_CombinedCorrectionLoss_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py_CombinedCorrectionLossV2", "to": "src_training_loss_functions_py_CombinedCorrectionLossV2_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py___init__", "to": "src_training_trainer_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_loss_functions_py___init__", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_loss_functions_py___init__", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_loss_functions_py___init__", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_loss_functions_py__style_loss", "to": "src_training_loss_functions_py__style_loss_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py__style_loss", "to": "src_training_loss_functions_py_forward", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py__semantic_loss", "to": "src_training_loss_functions_py__semantic_loss_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py__semantic_loss", "to": "src_training_loss_functions_py_forward", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py_forward", "to": "src_training_loss_functions_py_forward_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py_forward", "to": "src_training_loss_functions_py__human_pattern_loss", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_loss_functions_py__human_pattern_loss", "to": "src_training_loss_functions_py__human_pattern_loss_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py", "to": "src_training_trainer_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py", "to": "src_training_trainer_py_CorrectionTrainer", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py", "to": "src_training_trainer_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py", "to": "src_training_trainer_py__strip_custom_fields", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py", "to": "src_training_trainer_py_compute_loss", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py", "to": "src_training_trainer_py_prediction_step", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py_CorrectionTrainer", "to": "src_training_trainer_py_CorrectionTrainer_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py___init__", "to": "src_vocabulary_awl_loader_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_trainer_py___init__", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_trainer_py___init__", "to": "src_vocabulary_register_filter_py___init__", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "src_training_trainer_py__strip_custom_fields", "to": "src_training_trainer_py__strip_custom_fields_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py__strip_custom_fields", "to": "src_training_trainer_py_compute_loss", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py__strip_custom_fields", "to": "src_training_trainer_py_prediction_step", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py_compute_loss", "to": "src_training_trainer_py_compute_loss_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_training_trainer_py_prediction_step", "to": "src_training_trainer_py_prediction_step_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py_AWLLoader", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py__load_word_list", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py__load_synonyms", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py_is_academic", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py_get_academic_synonyms", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "src_vocabulary_awl_loader_py_all_words", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "tests_test_evaluation_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py", "to": "tests_test_vocabulary_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py_AWLLoader", "to": "src_vocabulary_awl_loader_py_AWLLoader_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py___init__", "to": "src_vocabulary_awl_loader_py__load_word_list", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py___init__", "to": "src_vocabulary_awl_loader_py__load_synonyms", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py__load_word_list", "to": "src_vocabulary_awl_loader_py__load_word_list_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py__load_synonyms", "to": "src_vocabulary_awl_loader_py__load_synonyms_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py_is_academic", "to": "src_vocabulary_awl_loader_py_is_academic_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py_is_academic", "to": "src_vocabulary_lexical_substitution_py__get_awl_substitutions", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py_is_academic", "to": "src_vocabulary_lexical_substitution_py_elevate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py_is_academic", "to": "tests_test_vocabulary_py_test_awl_membership", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py_get_academic_synonyms", "to": "src_vocabulary_awl_loader_py_get_academic_synonyms_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_awl_loader_py_all_words", "to": "src_vocabulary_awl_loader_py_all_words_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py_LexicalElevator", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py_RegisterFilter", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py__sem_similarity", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py__get_awl_substitutions", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py_elevate", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "src_vocabulary_lexical_substitution_py_apply", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py", "to": "tests_test_vocabulary_py", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py_LexicalElevator", "to": "src_vocabulary_lexical_substitution_py_LexicalElevator_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py_RegisterFilter", "to": "src_vocabulary_lexical_substitution_py_RegisterFilter_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py__sem_similarity", "to": "src_vocabulary_lexical_substitution_py__sem_similarity_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py__sem_similarity", "to": "src_vocabulary_lexical_substitution_py_elevate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py__get_awl_substitutions", "to": "src_vocabulary_lexical_substitution_py__get_awl_substitutions_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py__get_awl_substitutions", "to": "src_vocabulary_lexical_substitution_py_elevate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py_elevate", "to": "src_vocabulary_lexical_substitution_py_elevate_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py_apply", "to": "src_vocabulary_lexical_substitution_py_apply_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py_apply", "to": "tests_test_vocabulary_py_test_register_filter_contractions", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_lexical_substitution_py_apply", "to": "tests_test_vocabulary_py_test_register_filter_colloquialisms", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py", "to": "src_vocabulary_register_filter_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py", "to": "src_vocabulary_register_filter_py_RegisterFilterAdvanced", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py", "to": "src_vocabulary_register_filter_py___init__", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py", "to": "src_vocabulary_register_filter_py_nominalise", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py", "to": "src_vocabulary_register_filter_py_add_hedging", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py", "to": "src_vocabulary_register_filter_py_check_formality", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py_RegisterFilterAdvanced", "to": "src_vocabulary_register_filter_py_RegisterFilterAdvanced_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py_nominalise", "to": "src_vocabulary_register_filter_py_nominalise_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py_add_hedging", "to": "src_vocabulary_register_filter_py_add_hedging_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "src_vocabulary_register_filter_py_check_formality", "to": "src_vocabulary_register_filter_py_check_formality_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py", "to": "tests_test_evaluation_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py", "to": "tests_test_evaluation_py_test_gleu_scorer_instantiation", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py", "to": "tests_test_evaluation_py_test_gleu_perfect_score", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py", "to": "tests_test_evaluation_py_test_gleu_empty_input", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py", "to": "tests_test_evaluation_py_test_awl_coverage_score", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py_test_gleu_scorer_instantiation", "to": "tests_test_evaluation_py_test_gleu_scorer_instantiation_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py_test_gleu_perfect_score", "to": "tests_test_evaluation_py_test_gleu_perfect_score_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py_test_gleu_empty_input", "to": "tests_test_evaluation_py_test_gleu_empty_input_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_evaluation_py_test_awl_coverage_score", "to": "tests_test_evaluation_py_test_awl_coverage_score_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py", "to": "tests_test_model_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py", "to": "tests_test_model_py_test_model_registry_populated", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py", "to": "tests_test_model_py_test_invalid_model_key", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py", "to": "tests_test_model_py_test_style_conditioner_output_shape", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py", "to": "tests_test_model_py_test_prepend_style_prefix", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py", "to": "tests_test_model_py_test_lora_config_creation", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py_test_model_registry_populated", "to": "tests_test_model_py_test_model_registry_populated_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py_test_invalid_model_key", "to": "tests_test_model_py_test_invalid_model_key_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py_test_style_conditioner_output_shape", "to": "tests_test_model_py_test_style_conditioner_output_shape_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py_test_prepend_style_prefix", "to": "tests_test_model_py_test_prepend_style_prefix_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_model_py_test_lora_config_creation", "to": "tests_test_model_py_test_lora_config_creation_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_simulator", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_corrector", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_spell_correction_phonetic", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_spell_correction_empty", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_entity_protection", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_sentence_segmentation", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_readability_scores", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_dependency_trees", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_dyslexia_simulator", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py", "to": "tests_test_preprocessing_py_test_dyslexia_simulator_preserves_clean", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_spell_correction_phonetic", "to": "tests_test_preprocessing_py_test_spell_correction_phonetic_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_spell_correction_empty", "to": "tests_test_preprocessing_py_test_spell_correction_empty_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_entity_protection", "to": "tests_test_preprocessing_py_test_entity_protection_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_sentence_segmentation", "to": "tests_test_preprocessing_py_test_sentence_segmentation_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_readability_scores", "to": "tests_test_preprocessing_py_test_readability_scores_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_dependency_trees", "to": "tests_test_preprocessing_py_test_dependency_trees_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_dyslexia_simulator", "to": "tests_test_preprocessing_py_test_dyslexia_simulator_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_preprocessing_py_test_dyslexia_simulator_preserves_clean", "to": "tests_test_preprocessing_py_test_dyslexia_simulator_preserves_clean_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py", "to": "tests_test_style_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py", "to": "tests_test_style_py_fingerprinter", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py", "to": "tests_test_style_py_test_style_vector_shape", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py", "to": "tests_test_style_py_test_style_vector_different_texts", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py", "to": "tests_test_style_py_test_style_blend", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py", "to": "tests_test_style_py_test_raw_features_keys", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py_test_style_vector_shape", "to": "tests_test_style_py_test_style_vector_shape_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py_test_style_vector_different_texts", "to": "tests_test_style_py_test_style_vector_different_texts_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py_test_style_blend", "to": "tests_test_style_py_test_style_blend_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_style_py_test_raw_features_keys", "to": "tests_test_style_py_test_raw_features_keys_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py", "to": "tests_test_vocabulary_py_docstring", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py", "to": "tests_test_vocabulary_py_test_awl_loader", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py", "to": "tests_test_vocabulary_py_test_awl_membership", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py", "to": "tests_test_vocabulary_py_test_register_filter_contractions", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py", "to": "tests_test_vocabulary_py_test_register_filter_colloquialisms", "label": "defines", "title": "defines [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py_test_awl_loader", "to": "tests_test_vocabulary_py_test_awl_loader_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py_test_awl_membership", "to": "tests_test_vocabulary_py_test_awl_membership_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py_test_register_filter_contractions", "to": "tests_test_vocabulary_py_test_register_filter_contractions_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_vocabulary_py_test_register_filter_colloquialisms", "to": "tests_test_vocabulary_py_test_register_filter_colloquialisms_doc", "label": "has_rationale", "title": "has_rationale [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_nudr_api", "to": "sem_fastapi_backend", "label": "implements", "title": "implements [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_nudr_api", "to": "sem_feed_system", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_nudr_api", "to": "sem_logic_analysis", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_fastapi_backend", "to": "sem_supabase_db", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_fastapi_backend", "to": "sem_redis_cache", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_fastapi_backend", "to": "sem_stripe_payments", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_fastapi_backend", "to": "sem_firebase_fcm", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_supabase_db", "to": "sem_feed_pool", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_supabase_db", "to": "sem_preference_race", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_redis_cache", "to": "sem_feed_pool", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_redis_cache", "to": "sem_feed_redis", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_redis_cache", "to": "sem_pubsub_crash", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_redis_cache", "to": "sem_redis_pool_exhaustion", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_cloudflare_proxy", "to": "sem_origin_secret", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_e2ee_encryption", "to": "sem_keysync_ws", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_protobuf_framing", "to": "sem_unified_ws", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_origin_secret", "to": "sem_lambda_rotator", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_rate_limiting", "to": "sem_attack_detection", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_aws_secrets", "to": "sem_terraform_infra", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_terraform_infra", "to": "sem_vpc_network", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_terraform_infra", "to": "sem_alb_autoscaling", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_unified_ws", "to": "sem_feed_ws", "label": "conceptually_related_to", "title": "conceptually_related_to [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_unified_ws", "to": "sem_chat_ws", "label": "conceptually_related_to", "title": "conceptually_related_to [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_unified_ws", "to": "sem_keysync_ws", "label": "conceptually_related_to", "title": "conceptually_related_to [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_unified_ws", "to": "sem_discovery_ws", "label": "conceptually_related_to", "title": "conceptually_related_to [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_unified_ws", "to": "sem_id_ws_reuse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_unified_ws", "to": "sem_token_refresh_crash", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_feed_ws", "to": "sem_feed_system", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_feed_scoring", "to": "sem_feed_pool", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_feed_scoring", "to": "sem_feed_heatmap", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_feed_scoring", "to": "sem_feed_reciprocal", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_feed_scoring", "to": "sem_feed_gradient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "sem_feed_pool", "to": "sem_feed_filters", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}];
const LEGEND = [{"cid": 0, "color": "#4E79A7", "label": "Module Group 0", "count": 62}, {"cid": 1, "color": "#F28E2B", "label": "Utility Scripts", "count": 44}, {"cid": 2, "color": "#E15759", "label": "Module Group 2", "count": 39}, {"cid": 3, "color": "#76B7B2", "label": "Module Group 3", "count": 38}, {"cid": 4, "color": "#59A14F", "label": "Utility Scripts", "count": 35}, {"cid": 5, "color": "#EDC948", "label": "Module Group 5", "count": 32}, {"cid": 6, "color": "#B07AA1", "label": "Token Management", "count": 32}, {"cid": 7, "color": "#FF9DA7", "label": "Utility Scripts", "count": 31}, {"cid": 8, "color": "#9C755F", "label": "Authentication", "count": 30}, {"cid": 9, "color": "#BAB0AC", "label": "Utility Scripts", "count": 29}, {"cid": 10, "color": "#4E79A7", "label": "Module Group 10", "count": 28}, {"cid": 11, "color": "#F28E2B", "label": "Feed Scoring &amp; Pool", "count": 27}, {"cid": 12, "color": "#E15759", "label": "Module Group 12", "count": 23}, {"cid": 13, "color": "#76B7B2", "label": "Token Management", "count": 19}, {"cid": 14, "color": "#59A14F", "label": "Module Group 14", "count": 16}, {"cid": 15, "color": "#EDC948", "label": "Utility Scripts", "count": 15}, {"cid": 16, "color": "#B07AA1", "label": "Module Group 16", "count": 10}, {"cid": 17, "color": "#FF9DA7", "label": "Module Group 17", "count": 7}, {"cid": 18, "color": "#9C755F", "label": "Module Group 18", "count": 7}, {"cid": 19, "color": "#BAB0AC", "label": "Module Group 19", "count": 6}, {"cid": 20, "color": "#4E79A7", "label": "Module Group 20", "count": 4}, {"cid": 21, "color": "#F28E2B", "label": "Infrastructure (Terraform)", "count": 4}, {"cid": 22, "color": "#E15759", "label": "Utility Scripts", "count": 3}, {"cid": 23, "color": "#76B7B2", "label": "Module Group 23", "count": 3}, {"cid": 24, "color": "#59A14F", "label": "Security &amp; Rate Limiting", "count": 2}, {"cid": 25, "color": "#EDC948", "label": "Module Group 25", "count": 1}, {"cid": 26, "color": "#B07AA1", "label": "WebSocket Codec", "count": 1}, {"cid": 27, "color": "#FF9DA7", "label": "Module Group 27", "count": 1}];

// HTML-escape helper — prevents XSS when injecting graph data into innerHTML
function esc(s) {
  return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/'/g,'&#39;');
}

// Build vis datasets
const nodesDS = new vis.DataSet(RAW_NODES.map(n => ({
  id: n.id, label: n.label, color: n.color, size: n.size,
  font: n.font, title: n.title,
  _community: n.community, _community_name: n.community_name,
  _source_file: n.source_file, _file_type: n.file_type, _degree: n.degree,
})));

const edgesDS = new vis.DataSet(RAW_EDGES.map((e, i) => ({
  id: i, from: e.from, to: e.to,
  label: '',
  title: e.title,
  dashes: e.dashes,
  width: e.width,
  color: e.color,
  arrows: { to: { enabled: true, scaleFactor: 0.5 } },
})));

const container = document.getElementById('graph');
const network = new vis.Network(container, { nodes: nodesDS, edges: edgesDS }, {
  physics: {
    enabled: true,
    solver: 'forceAtlas2Based',
    forceAtlas2Based: {
      gravitationalConstant: -60,
      centralGravity: 0.005,
      springLength: 120,
      springConstant: 0.08,
      damping: 0.4,
      avoidOverlap: 0.8,
    },
    stabilization: { iterations: 200, fit: true },
  },
  interaction: {
    hover: true,
    tooltipDelay: 100,
    hideEdgesOnDrag: true,
    navigationButtons: false,
    keyboard: false,
  },
  nodes: { shape: 'dot', borderWidth: 1.5 },
  edges: { smooth: { type: 'continuous', roundness: 0.2 }, selectionWidth: 3 },
});

network.once('stabilizationIterationsDone', () => {
  network.setOptions({ physics: { enabled: false } });
});

function showInfo(nodeId) {
  const n = nodesDS.get(nodeId);
  if (!n) return;
  const neighborIds = network.getConnectedNodes(nodeId);
  const neighborItems = neighborIds.map(nid => {
    const nb = nodesDS.get(nid);
    const color = nb ? nb.color.background : '#555';
    return `<span class="neighbor-link" style="border-left-color:${esc(color)}" onclick="focusNode(${JSON.stringify(nid)})">${esc(nb ? nb.label : nid)}</span>`;
  }).join('');
  document.getElementById('info-content').innerHTML = `
    <div class="field"><b>${esc(n.label)}</b></div>
    <div class="field">Type: ${esc(n._file_type || 'unknown')}</div>
    <div class="field">Community: ${esc(n._community_name)}</div>
    <div class="field">Source: ${esc(n._source_file || '-')}</div>
    <div class="field">Degree: ${n._degree}</div>
    ${neighborIds.length ? `<div class="field" style="margin-top:8px;color:#aaa;font-size:11px">Neighbors (${neighborIds.length})</div><div id="neighbors-list">${neighborItems}</div>` : ''}
  `;
}

function focusNode(nodeId) {
  network.focus(nodeId, { scale: 1.4, animation: true });
  network.selectNodes([nodeId]);
  showInfo(nodeId);
}

// Track hovered node — hover detection is more reliable than click params
let hoveredNodeId = null;
network.on('hoverNode', params => {
  hoveredNodeId = params.node;
  container.style.cursor = 'pointer';
});
network.on('blurNode', () => {
  hoveredNodeId = null;
  container.style.cursor = 'default';
});
container.addEventListener('click', () => {
  if (hoveredNodeId !== null) {
    showInfo(hoveredNodeId);
    network.selectNodes([hoveredNodeId]);
  }
});
network.on('click', params => {
  if (params.nodes.length > 0) {
    showInfo(params.nodes[0]);
  } else if (hoveredNodeId === null) {
    document.getElementById('info-content').innerHTML = '<span class="empty">Click a node to inspect it</span>';
  }
});

const searchInput = document.getElementById('search');
const searchResults = document.getElementById('search-results');
searchInput.addEventListener('input', () => {
  const q = searchInput.value.toLowerCase().trim();
  searchResults.innerHTML = '';
  if (!q) { searchResults.style.display = 'none'; return; }
  const matches = RAW_NODES.filter(n => n.label.toLowerCase().includes(q)).slice(0, 20);
  if (!matches.length) { searchResults.style.display = 'none'; return; }
  searchResults.style.display = 'block';
  matches.forEach(n => {
    const el = document.createElement('div');
    el.className = 'search-item';
    el.textContent = n.label;
    el.style.borderLeft = `3px solid ${n.color.background}`;
    el.style.paddingLeft = '8px';
    el.onclick = () => {
      network.focus(n.id, { scale: 1.5, animation: true });
      network.selectNodes([n.id]);
      showInfo(n.id);
      searchResults.style.display = 'none';
      searchInput.value = '';
    };
    searchResults.appendChild(el);
  });
});
document.addEventListener('click', e => {
  if (!searchResults.contains(e.target) && e.target !== searchInput)
    searchResults.style.display = 'none';
});

const hiddenCommunities = new Set();

const selectAllCb = document.getElementById('select-all-cb');

function updateSelectAllState() {
  const total = LEGEND.length;
  const hidden = hiddenCommunities.size;
  selectAllCb.checked = hidden === 0;
  selectAllCb.indeterminate = hidden > 0 && hidden < total;
}

function toggleAllCommunities(hide) {
  document.querySelectorAll('.legend-item').forEach(item => {
    hide ? item.classList.add('dimmed') : item.classList.remove('dimmed');
  });
  document.querySelectorAll('.legend-cb').forEach(cb => {
    cb.checked = !hide;
  });
  LEGEND.forEach(c => {
    if (hide) hiddenCommunities.add(c.cid); else hiddenCommunities.delete(c.cid);
  });
  const updates = RAW_NODES.map(n => ({ id: n.id, hidden: hide }));
  nodesDS.update(updates);
  updateSelectAllState();
}

const legendEl = document.getElementById('legend');
LEGEND.forEach(c => {
  const item = document.createElement('div');
  item.className = 'legend-item';
  const cb = document.createElement('input');
  cb.type = 'checkbox';
  cb.className = 'legend-cb';
  cb.checked = true;
  cb.addEventListener('change', (e) => {
    e.stopPropagation();
    if (cb.checked) {
      hiddenCommunities.delete(c.cid);
      item.classList.remove('dimmed');
    } else {
      hiddenCommunities.add(c.cid);
      item.classList.add('dimmed');
    }
    const updates = RAW_NODES
      .filter(n => n.community === c.cid)
      .map(n => ({ id: n.id, hidden: !cb.checked }));
    nodesDS.update(updates);
    updateSelectAllState();
  });
  item.innerHTML = `<div class="legend-dot" style="background:${c.color}"></div>
    <span class="legend-label">${c.label}</span>
    <span class="legend-count">${c.count}</span>`;
  item.prepend(cb);
  item.onclick = (e) => {
    if (e.target === cb) return;
    cb.checked = !cb.checked;
    cb.dispatchEvent(new Event('change'));
  };
  legendEl.appendChild(item);
});
</script>
<script>
// Render hyperedges as shaded regions
const hyperedges = [{"id": "websocket_channels", "label": "WebSocket Channel System", "nodes": ["sem_unified_ws", "sem_feed_ws", "sem_chat_ws", "sem_keysync_ws", "sem_discovery_ws"], "relation": "participate_in", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "README.md"}, {"id": "security_stack", "label": "Security Defense Stack", "nodes": ["sem_hmac_verification", "sem_origin_secret", "sem_pow_challenge", "sem_rate_limiting", "sem_attack_detection"], "relation": "participate_in", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "README.md"}, {"id": "feed_pipeline", "label": "Feed Recommendation Pipeline", "nodes": ["sem_feed_pool", "sem_feed_filters", "sem_feed_scoring", "sem_feed_heatmap", "sem_feed_reciprocal", "sem_feed_gradient"], "relation": "form", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "PLAN/feed_system_documentation.md"}];
// afterDrawing passes ctx already transformed to network coordinate space.
// Draw node positions raw — no manual pan/zoom/DPR math needed.
network.on('afterDrawing', function(ctx) {
    hyperedges.forEach(h => {
        const positions = h.nodes
            .map(nid => network.getPositions([nid])[nid])
            .filter(p => p !== undefined);
        if (positions.length < 2) return;
        ctx.save();
        ctx.globalAlpha = 0.12;
        ctx.fillStyle = '#6366f1';
        ctx.strokeStyle = '#6366f1';
        ctx.lineWidth = 2;
        ctx.beginPath();
        // Centroid and expanded hull in network coordinates
        const cx = positions.reduce((s, p) => s + p.x, 0) / positions.length;
        const cy = positions.reduce((s, p) => s + p.y, 0) / positions.length;
        const expanded = positions.map(p => ({
            x: cx + (p.x - cx) * 1.15,
            y: cy + (p.y - cy) * 1.15
        }));
        ctx.moveTo(expanded[0].x, expanded[0].y);
        expanded.slice(1).forEach(p => ctx.lineTo(p.x, p.y));
        ctx.closePath();
        ctx.fill();
        ctx.globalAlpha = 0.4;
        ctx.stroke();
        // Label
        ctx.globalAlpha = 0.8;
        ctx.fillStyle = '#4f46e5';
        ctx.font = 'bold 11px sans-serif';
        ctx.textAlign = 'center';
        ctx.fillText(h.label, cx, cy - 5);
        ctx.restore();
    });
});
</script>
</body>
</html>