Upload gen_ai(proj_47).ipynb
Browse files- gen_ai(proj_47).ipynb +857 -0
gen_ai(proj_47).ipynb
ADDED
@@ -0,0 +1,857 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": null,
|
6 |
+
"metadata": {
|
7 |
+
"colab": {
|
8 |
+
"base_uri": "https://localhost:8080/"
|
9 |
+
},
|
10 |
+
"id": "1UhcygQ3Xvl0",
|
11 |
+
"outputId": "ef65d3a7-2758-4345-8da8-ae899d2a73c1"
|
12 |
+
},
|
13 |
+
"outputs": [
|
14 |
+
{
|
15 |
+
"name": "stdout",
|
16 |
+
"output_type": "stream",
|
17 |
+
"text": [
|
18 |
+
"Collecting zipfile36\n",
|
19 |
+
" Downloading zipfile36-0.1.3-py3-none-any.whl.metadata (736 bytes)\n",
|
20 |
+
"Downloading zipfile36-0.1.3-py3-none-any.whl (20 kB)\n",
|
21 |
+
"Installing collected packages: zipfile36\n",
|
22 |
+
"Successfully installed zipfile36-0.1.3\n"
|
23 |
+
]
|
24 |
+
}
|
25 |
+
],
|
26 |
+
"source": [
|
27 |
+
"!pip install zipfile36"
|
28 |
+
]
|
29 |
+
},
|
30 |
+
{
|
31 |
+
"cell_type": "code",
|
32 |
+
"execution_count": null,
|
33 |
+
"metadata": {
|
34 |
+
"colab": {
|
35 |
+
"base_uri": "https://localhost:8080/"
|
36 |
+
},
|
37 |
+
"id": "ktv3__0PVhvW",
|
38 |
+
"outputId": "59911ce3-7b6b-4ca1-b518-536d2676fdaa"
|
39 |
+
},
|
40 |
+
"outputs": [
|
41 |
+
{
|
42 |
+
"output_type": "stream",
|
43 |
+
"name": "stdout",
|
44 |
+
"text": [
|
45 |
+
" context \\\n",
|
46 |
+
"0 Super Bowl 50 was an American football game to... \n",
|
47 |
+
"1 One of the most famous people born in Warsaw w... \n",
|
48 |
+
"2 The Normans (Norman: Nourmands; French: Norman... \n",
|
49 |
+
"3 Nikola Tesla (Serbian Cyrillic: Никола Тесла; ... \n",
|
50 |
+
"4 Computational complexity theory is a branch of... \n",
|
51 |
+
"\n",
|
52 |
+
" question \\\n",
|
53 |
+
"0 Which NFL team represented the AFC at Super Bo... \n",
|
54 |
+
"1 What was Maria Curie the first female recipien... \n",
|
55 |
+
"2 In what country is Normandy located? \n",
|
56 |
+
"3 In what year was Nikola Tesla born? \n",
|
57 |
+
"4 What branch of theoretical computer science de... \n",
|
58 |
+
"\n",
|
59 |
+
" answer \n",
|
60 |
+
"0 Denver Broncos \n",
|
61 |
+
"1 Nobel Prize \n",
|
62 |
+
"2 France \n",
|
63 |
+
"3 1856 \n",
|
64 |
+
"4 Computational complexity theory \n"
|
65 |
+
]
|
66 |
+
}
|
67 |
+
],
|
68 |
+
"source": [
|
69 |
+
"import pandas as pd\n",
|
70 |
+
"import zipfile\n",
|
71 |
+
"\n",
|
72 |
+
"# Load the dataset\n",
|
73 |
+
"def load_data(file_path):\n",
|
74 |
+
" with zipfile.ZipFile(file_path, 'r') as zip_ref:\n",
|
75 |
+
" # Get the first JSON file in the archive\n",
|
76 |
+
" json_file = [f for f in zip_ref.namelist() if f.endswith('.json')][0]\n",
|
77 |
+
" # Extract the JSON file to memory and load it as a DataFrame\n",
|
78 |
+
" with zip_ref.open(json_file) as f:\n",
|
79 |
+
" df = pd.read_json(f)\n",
|
80 |
+
" return df\n",
|
81 |
+
"\n",
|
82 |
+
"\n",
|
83 |
+
"# Preprocess the dataset\n",
|
84 |
+
"def preprocess_data(df):\n",
|
85 |
+
" df['context'] = df['data'].apply(lambda x: x['paragraphs'][0]['context'])\n",
|
86 |
+
" df['question'] = df['data'].apply(lambda x: x['paragraphs'][0]['qas'][0]['question'])\n",
|
87 |
+
" df['answer'] = df['data'].apply(lambda x: x['paragraphs'][0]['qas'][0]['answers'][0]['text'])\n",
|
88 |
+
" return df[['context', 'question', 'answer']]\n",
|
89 |
+
"\n",
|
90 |
+
"# Main function for loading and preprocessing\n",
|
91 |
+
"if __name__ == '__main__':\n",
|
92 |
+
" file_path = '/content/drive/MyDrive/archive (22).zip'\n",
|
93 |
+
" df = load_data(file_path)\n",
|
94 |
+
" df = preprocess_data(df)\n",
|
95 |
+
" print(df.head())"
|
96 |
+
]
|
97 |
+
},
|
98 |
+
{
|
99 |
+
"cell_type": "code",
|
100 |
+
"execution_count": null,
|
101 |
+
"metadata": {
|
102 |
+
"colab": {
|
103 |
+
"base_uri": "https://localhost:8080/"
|
104 |
+
},
|
105 |
+
"id": "s9iEqWHygwd2",
|
106 |
+
"outputId": "4b6c523d-8b6c-455b-ad2a-6a44f43854de"
|
107 |
+
},
|
108 |
+
"outputs": [
|
109 |
+
{
|
110 |
+
"output_type": "stream",
|
111 |
+
"name": "stdout",
|
112 |
+
"text": [
|
113 |
+
"Available topics in the dataset:\n",
|
114 |
+
"- Roman_Republic\n",
|
115 |
+
"- Prime_minister\n",
|
116 |
+
"- Daylight_saving_time\n",
|
117 |
+
"- Xbox_360\n",
|
118 |
+
"- Post-punk\n",
|
119 |
+
"- Database\n",
|
120 |
+
"- Beer\n",
|
121 |
+
"- ASCII\n",
|
122 |
+
"- Southeast_Asia\n",
|
123 |
+
"- Time\n",
|
124 |
+
"- Software_testing\n",
|
125 |
+
"- Classical_music\n",
|
126 |
+
"- Sumer\n",
|
127 |
+
"- Race_(human_categorization)\n",
|
128 |
+
"- Computer\n",
|
129 |
+
"- Himachal_Pradesh\n",
|
130 |
+
"- Hindu_philosophy\n",
|
131 |
+
"- Boston\n",
|
132 |
+
"- Cubism\n",
|
133 |
+
"- Pope_John_XXIII\n",
|
134 |
+
"- Seattle\n",
|
135 |
+
"- Alsace\n",
|
136 |
+
"- Ashkenazi_Jews\n",
|
137 |
+
"- Idealism\n",
|
138 |
+
"- Edmund_Burke\n",
|
139 |
+
"- Franco-Prussian_War\n",
|
140 |
+
"- Pope_Paul_VI\n",
|
141 |
+
"- Republic_of_the_Congo\n",
|
142 |
+
"- Montevideo\n",
|
143 |
+
"- Alexander_Graham_Bell\n",
|
144 |
+
"- CBC_Television\n",
|
145 |
+
"- MP3\n",
|
146 |
+
"- States_of_Germany\n",
|
147 |
+
"- Mammal\n",
|
148 |
+
"- 51st_state\n",
|
149 |
+
"- Hokkien\n",
|
150 |
+
"- Digestion\n",
|
151 |
+
"- Cyprus\n",
|
152 |
+
"- Southampton\n",
|
153 |
+
"- Russian_Soviet_Federative_Socialist_Republic\n",
|
154 |
+
"- British_Isles\n",
|
155 |
+
"- Digimon\n",
|
156 |
+
"- Anthropology\n",
|
157 |
+
"- Web_browser\n",
|
158 |
+
"- Green\n",
|
159 |
+
"- Mexico_City\n",
|
160 |
+
"- Slavs\n",
|
161 |
+
"- Communications_in_Somalia\n",
|
162 |
+
"- Insect\n",
|
163 |
+
"- Child_labour\n",
|
164 |
+
"- Orthodox_Judaism\n",
|
165 |
+
"- The_Sun_(United_Kingdom)\n",
|
166 |
+
"- Red\n",
|
167 |
+
"- Presbyterianism\n",
|
168 |
+
"- Elevator\n",
|
169 |
+
"- Punjab,_Pakistan\n",
|
170 |
+
"- Cardinal_(Catholicism)\n",
|
171 |
+
"- 2008_Sichuan_earthquake\n",
|
172 |
+
"- Samurai\n",
|
173 |
+
"- Association_football\n",
|
174 |
+
"- Identity_(social_science)\n",
|
175 |
+
"- Aircraft_carrier\n",
|
176 |
+
"- Group_(mathematics)\n",
|
177 |
+
"- United_States_dollar\n",
|
178 |
+
"- Political_philosophy\n",
|
179 |
+
"- Airport\n",
|
180 |
+
"- General_Electric\n",
|
181 |
+
"- Virgil\n",
|
182 |
+
"- Flowering_plant\n",
|
183 |
+
"- Circadian_rhythm\n",
|
184 |
+
"- Nonprofit_organization\n",
|
185 |
+
"- Comics\n",
|
186 |
+
"- The_Blitz\n",
|
187 |
+
"- Marvel_Comics\n",
|
188 |
+
"- Gymnastics\n",
|
189 |
+
"- United_States_Army\n",
|
190 |
+
"- The_Legend_of_Zelda:_Twilight_Princess\n",
|
191 |
+
"- Tuvalu\n",
|
192 |
+
"- Somalis\n",
|
193 |
+
"- Paris\n",
|
194 |
+
"- Antibiotics\n",
|
195 |
+
"- Neolithic\n",
|
196 |
+
"- Napoleon\n",
|
197 |
+
"- Treaty\n",
|
198 |
+
"- Raleigh,_North_Carolina\n",
|
199 |
+
"- Palermo\n",
|
200 |
+
"- Central_Intelligence_Agency\n",
|
201 |
+
"- Miami\n",
|
202 |
+
"- Pub\n",
|
203 |
+
"- Southern_Europe\n",
|
204 |
+
"- Szlachta\n",
|
205 |
+
"- Internet_service_provider\n",
|
206 |
+
"- Capacitor\n",
|
207 |
+
"- Military_history_of_the_United_States\n",
|
208 |
+
"- Spectre_(2015_film)\n",
|
209 |
+
"- Biodiversity\n",
|
210 |
+
"- Houston\n",
|
211 |
+
"- Arena_Football_League\n",
|
212 |
+
"- Guinea-Bissau\n",
|
213 |
+
"- Mary_(mother_of_Jesus)\n",
|
214 |
+
"- Switzerland\n",
|
215 |
+
"- Renewable_energy_commercialization\n",
|
216 |
+
"- Dutch_Republic\n",
|
217 |
+
"- Namibia\n",
|
218 |
+
"- Intellectual_property\n",
|
219 |
+
"- Videoconferencing\n",
|
220 |
+
"- Jehovah%27s_Witnesses\n",
|
221 |
+
"- Arsenal_F.C.\n",
|
222 |
+
"- London\n",
|
223 |
+
"- Atlantic_City,_New_Jersey\n",
|
224 |
+
"- Greeks\n",
|
225 |
+
"- Gamal_Abdel_Nasser\n",
|
226 |
+
"- YouTube\n",
|
227 |
+
"- Molotov%E2%80%93Ribbentrop_Pact\n",
|
228 |
+
"- St._John%27s,_Newfoundland_and_Labrador\n",
|
229 |
+
"- Hellenistic_period\n",
|
230 |
+
"- USB\n",
|
231 |
+
"- Hydrogen\n",
|
232 |
+
"- Late_Middle_Ages\n",
|
233 |
+
"- Neoclassical_architecture\n",
|
234 |
+
"- Somerset\n",
|
235 |
+
"- Westminster_Abbey\n",
|
236 |
+
"- Federal_Aviation_Administration\n",
|
237 |
+
"- Mali\n",
|
238 |
+
"- Uranium\n",
|
239 |
+
"- Oklahoma\n",
|
240 |
+
"- Chinese_characters\n",
|
241 |
+
"- Alfred_North_Whitehead\n",
|
242 |
+
"- Multiracial_American\n",
|
243 |
+
"- The_Bronx\n",
|
244 |
+
"- Protestantism\n",
|
245 |
+
"- Nanjing\n",
|
246 |
+
"- Royal_assent\n",
|
247 |
+
"- Near_East\n",
|
248 |
+
"- Adolescence\n",
|
249 |
+
"- Separation_of_church_and_state_in_the_United_States\n",
|
250 |
+
"- Infection\n",
|
251 |
+
"- Data_compression\n",
|
252 |
+
"- Glass\n",
|
253 |
+
"- BeiDou_Navigation_Satellite_System\n",
|
254 |
+
"- IPod\n",
|
255 |
+
"- Film_speed\n",
|
256 |
+
"- Estonian_language\n",
|
257 |
+
"- Universal_Studios\n",
|
258 |
+
"- Buckingham_Palace\n",
|
259 |
+
"- United_States_presidential_election,_2004\n",
|
260 |
+
"- History_of_India\n",
|
261 |
+
"- Aspirated_consonant\n",
|
262 |
+
"- Economy_of_Greece\n",
|
263 |
+
"- Matter\n",
|
264 |
+
"- Human_Development_Index\n",
|
265 |
+
"- History_of_science\n",
|
266 |
+
"- Royal_Institute_of_British_Architects\n",
|
267 |
+
"- Hunter-gatherer\n",
|
268 |
+
"- Iranian_languages\n",
|
269 |
+
"- Thuringia\n",
|
270 |
+
"- Financial_crisis_of_2007%E2%80%9308\n",
|
271 |
+
"- LaserDisc\n",
|
272 |
+
"- Dell\n",
|
273 |
+
"- Letter_case\n",
|
274 |
+
"- East_Prussia\n",
|
275 |
+
"- John_von_Neumann\n",
|
276 |
+
"- Crucifixion_of_Jesus\n",
|
277 |
+
"- Carnival\n",
|
278 |
+
"- Avicenna\n",
|
279 |
+
"- Northwestern_University\n",
|
280 |
+
"- Royal_Dutch_Shell\n",
|
281 |
+
"- Gene\n",
|
282 |
+
"- Crimean_War\n",
|
283 |
+
"- Pitch_(music)\n",
|
284 |
+
"- Materialism\n",
|
285 |
+
"- Vacuum\n",
|
286 |
+
"- Antarctica\n",
|
287 |
+
"- Race_and_ethnicity_in_the_United_States_Census\n",
|
288 |
+
"- Kathmandu\n",
|
289 |
+
"- Immaculate_Conception\n",
|
290 |
+
"- Copyright_infringement\n",
|
291 |
+
"- Liberal_Party_of_Australia\n",
|
292 |
+
"- Hunting\n",
|
293 |
+
"- Translation\n",
|
294 |
+
"- Elizabeth_II\n",
|
295 |
+
"- Czech_language\n",
|
296 |
+
"- Central_African_Republic\n",
|
297 |
+
"- Humanism\n",
|
298 |
+
"- Geography_of_the_United_States\n",
|
299 |
+
"- Rule_of_law\n",
|
300 |
+
"- Egypt\n",
|
301 |
+
"- Communication\n",
|
302 |
+
"- Transistor\n",
|
303 |
+
"- United_States_Air_Force\n",
|
304 |
+
"- Saint_Helena\n",
|
305 |
+
"- Greece\n",
|
306 |
+
"- San_Diego\n",
|
307 |
+
"- Mandolin\n",
|
308 |
+
"- Beyoncé\n",
|
309 |
+
"- Ottoman_Empire\n",
|
310 |
+
"- Bern\n",
|
311 |
+
"- Everton_F.C.\n",
|
312 |
+
"- Hanover\n",
|
313 |
+
"- Galicia_(Spain)\n",
|
314 |
+
"- Great_power\n",
|
315 |
+
"- Catalan_language\n",
|
316 |
+
"- Madonna_(entertainer)\n",
|
317 |
+
"- Brigham_Young_University\n",
|
318 |
+
"- PlayStation_3\n",
|
319 |
+
"- Madrasa\n",
|
320 |
+
"- Great_Plains\n",
|
321 |
+
"- Israel\n",
|
322 |
+
"- Pacific_War\n",
|
323 |
+
"- Cotton\n",
|
324 |
+
"- Nigeria\n",
|
325 |
+
"- Ann_Arbor,_Michigan\n",
|
326 |
+
"- Geological_history_of_Earth\n",
|
327 |
+
"- Hard_rock\n",
|
328 |
+
"- Umayyad_Caliphate\n",
|
329 |
+
"- Oklahoma_City\n",
|
330 |
+
"- Myanmar\n",
|
331 |
+
"- Norfolk_Island\n",
|
332 |
+
"- Florida\n",
|
333 |
+
"- Dwight_D._Eisenhower\n",
|
334 |
+
"- Swaziland\n",
|
335 |
+
"- Annelid\n",
|
336 |
+
"- Apollo\n",
|
337 |
+
"- American_Idol\n",
|
338 |
+
"- Nutrition\n",
|
339 |
+
"- Ministry_of_Defence_(United_Kingdom)\n",
|
340 |
+
"- Neptune\n",
|
341 |
+
"- Hyderabad\n",
|
342 |
+
"- Animal\n",
|
343 |
+
"- Valencia\n",
|
344 |
+
"- Wayback_Machine\n",
|
345 |
+
"- Exhibition_game\n",
|
346 |
+
"- Light-emitting_diode\n",
|
347 |
+
"- Modern_history\n",
|
348 |
+
"- University_of_Kansas\n",
|
349 |
+
"- Bird\n",
|
350 |
+
"- Richard_Feynman\n",
|
351 |
+
"- Tennessee\n",
|
352 |
+
"- Party_leaders_of_the_United_States_House_of_Representatives\n",
|
353 |
+
"- United_Nations_Population_Fund\n",
|
354 |
+
"- Estonia\n",
|
355 |
+
"- Sexual_orientation\n",
|
356 |
+
"- Copper\n",
|
357 |
+
"- IBM\n",
|
358 |
+
"- Washington_University_in_St._Louis\n",
|
359 |
+
"- Imperial_College_London\n",
|
360 |
+
"- Empiricism\n",
|
361 |
+
"- Separation_of_powers_under_the_United_States_Constitution\n",
|
362 |
+
"- Samoa\n",
|
363 |
+
"- Liberia\n",
|
364 |
+
"- Muammar_Gaddafi\n",
|
365 |
+
"- Imamah_(Shia_doctrine)\n",
|
366 |
+
"- Jews\n",
|
367 |
+
"- List_of_numbered_streets_in_Manhattan\n",
|
368 |
+
"- Tibet\n",
|
369 |
+
"- Serbo-Croatian\n",
|
370 |
+
"- Railway_electrification_system\n",
|
371 |
+
"- Pain\n",
|
372 |
+
"- Alloy\n",
|
373 |
+
"- Lancashire\n",
|
374 |
+
"- Law_of_the_United_States\n",
|
375 |
+
"- Infrared\n",
|
376 |
+
"- Tuberculosis\n",
|
377 |
+
"- Tristan_da_Cunha\n",
|
378 |
+
"- Buddhism\n",
|
379 |
+
"- John,_King_of_England\n",
|
380 |
+
"- Premier_League\n",
|
381 |
+
"- Frédéric_Chopin\n",
|
382 |
+
"- Phonology\n",
|
383 |
+
"- Solar_energy\n",
|
384 |
+
"- Steven_Spielberg\n",
|
385 |
+
"- Department_store\n",
|
386 |
+
"- Armenia\n",
|
387 |
+
"- Genocide\n",
|
388 |
+
"- Heian_period\n",
|
389 |
+
"- House_music\n",
|
390 |
+
"- Strasbourg\n",
|
391 |
+
"- BBC_Television\n",
|
392 |
+
"- Incandescent_light_bulb\n",
|
393 |
+
"- Muslim_world\n",
|
394 |
+
"- Tucson,_Arizona\n",
|
395 |
+
"- Nintendo_Entertainment_System\n",
|
396 |
+
"- Utrecht\n",
|
397 |
+
"- Bird_migration\n",
|
398 |
+
"- Arnold_Schwarzenegger\n",
|
399 |
+
"- Bacteria\n",
|
400 |
+
"- Melbourne\n",
|
401 |
+
"- Charleston,_South_Carolina\n",
|
402 |
+
"- Printed_circuit_board\n",
|
403 |
+
"- Affirmative_action_in_the_United_States\n",
|
404 |
+
"- Philadelphia\n",
|
405 |
+
"- Old_English\n",
|
406 |
+
"- Sino-Tibetan_relations_during_the_Ming_dynasty\n",
|
407 |
+
"- Adult_contemporary_music\n",
|
408 |
+
"- Saint_Barth%C3%A9lemy\n",
|
409 |
+
"- Eritrea\n",
|
410 |
+
"- Yale_University\n",
|
411 |
+
"- Super_Nintendo_Entertainment_System\n",
|
412 |
+
"- Federalism\n",
|
413 |
+
"- Rajasthan\n",
|
414 |
+
"- The_Times\n",
|
415 |
+
"- Political_party\n",
|
416 |
+
"- Diarrhea\n",
|
417 |
+
"- Wood\n",
|
418 |
+
"- Santa_Monica,_California\n",
|
419 |
+
"- Zinc\n",
|
420 |
+
"- Unicode\n",
|
421 |
+
"- On_the_Origin_of_Species\n",
|
422 |
+
"- Guam\n",
|
423 |
+
"- Black_people\n",
|
424 |
+
"- Richmond,_Virginia\n",
|
425 |
+
"- 2008_Summer_Olympics_torch_relay\n",
|
426 |
+
"- Friedrich_Hayek\n",
|
427 |
+
"- Indigenous_peoples_of_the_Americas\n",
|
428 |
+
"- Gothic_architecture\n",
|
429 |
+
"- Institute_of_technology\n",
|
430 |
+
"- Grape\n",
|
431 |
+
"- Bermuda\n",
|
432 |
+
"- Middle_Ages\n",
|
433 |
+
"- Christian\n",
|
434 |
+
"- Asthma\n",
|
435 |
+
"- Bill_%26_Melinda_Gates_Foundation\n",
|
436 |
+
"- Heresy\n",
|
437 |
+
"- Chicago_Cubs\n",
|
438 |
+
"- Mosaic\n",
|
439 |
+
"- FA_Cup\n",
|
440 |
+
"- Queen_(band)\n",
|
441 |
+
"- FC_Barcelona\n",
|
442 |
+
"- Appalachian_Mountains\n",
|
443 |
+
"- Dialect\n",
|
444 |
+
"- Korean_War\n",
|
445 |
+
"- British_Empire\n",
|
446 |
+
"- God\n",
|
447 |
+
"- Georgian_architecture\n",
|
448 |
+
"- A_cappella\n",
|
449 |
+
"- Karl_Popper\n",
|
450 |
+
"- Seven_Years%27_War\n",
|
451 |
+
"- Kanye_West\n",
|
452 |
+
"- Predation\n",
|
453 |
+
"- Josip_Broz_Tito\n",
|
454 |
+
"- Textual_criticism\n",
|
455 |
+
"- University\n",
|
456 |
+
"- Electric_motor\n",
|
457 |
+
"- New_Delhi\n",
|
458 |
+
"- England_national_football_team\n",
|
459 |
+
"- University_of_Notre_Dame\n",
|
460 |
+
"- Sony_Music_Entertainment\n",
|
461 |
+
"- Portugal\n",
|
462 |
+
"- George_VI\n",
|
463 |
+
"- Asphalt\n",
|
464 |
+
"- Energy\n",
|
465 |
+
"- Immunology\n",
|
466 |
+
"- Pesticide\n",
|
467 |
+
"- European_Central_Bank\n",
|
468 |
+
"- Emotion\n",
|
469 |
+
"- Windows_8\n",
|
470 |
+
"- Memory\n",
|
471 |
+
"- North_Carolina\n",
|
472 |
+
"- Freemasonry\n",
|
473 |
+
"- Philosophy_of_space_and_time\n",
|
474 |
+
"- Police\n",
|
475 |
+
"- Canadian_football\n",
|
476 |
+
"- Symbiosis\n",
|
477 |
+
"- Gramophone_record\n",
|
478 |
+
"- Clothing\n",
|
479 |
+
"- Poultry\n",
|
480 |
+
"- Armenians\n",
|
481 |
+
"- Dog\n",
|
482 |
+
"- Planck_constant\n",
|
483 |
+
"- High-definition_television\n",
|
484 |
+
"- Germans\n",
|
485 |
+
"- Capital_punishment_in_the_United_States\n",
|
486 |
+
"- Professional_wrestling\n",
|
487 |
+
"- Political_corruption\n",
|
488 |
+
"- Dominican_Order\n",
|
489 |
+
"- Endangered_Species_Act\n",
|
490 |
+
"- Zhejiang\n",
|
491 |
+
"- Canadian_Armed_Forces\n",
|
492 |
+
"- Pharmaceutical_industry\n",
|
493 |
+
"- Alaska\n",
|
494 |
+
"- New_York_City\n",
|
495 |
+
"- Macintosh\n",
|
496 |
+
"- Botany\n",
|
497 |
+
"- Tajikistan\n",
|
498 |
+
"- Federal_Bureau_of_Investigation\n",
|
499 |
+
"- Cork_(city)\n",
|
500 |
+
"- Dissolution_of_the_Soviet_Union\n",
|
501 |
+
"- Comcast\n",
|
502 |
+
"- Labour_Party_(UK)\n",
|
503 |
+
"- New_Haven,_Connecticut\n",
|
504 |
+
"- Order_of_the_British_Empire\n",
|
505 |
+
"- Dutch_language\n",
|
506 |
+
"- Compact_disc\n",
|
507 |
+
"- Bras%C3%ADlia\n",
|
508 |
+
"- To_Kill_a_Mockingbird\n",
|
509 |
+
"- Sichuan\n",
|
510 |
+
"- John_Kerry\n",
|
511 |
+
"- Computer_security\n",
|
512 |
+
"- Sanskrit\n",
|
513 |
+
"- Detroit\n",
|
514 |
+
"- Athanasius_of_Alexandria\n",
|
515 |
+
"- Space_Race\n",
|
516 |
+
"- Anti-aircraft_warfare\n",
|
517 |
+
"- Baptists\n",
|
518 |
+
"- Quran\n",
|
519 |
+
"- Architecture\n",
|
520 |
+
"- Myocardial_infarction\n",
|
521 |
+
"- Eton_College\n",
|
522 |
+
"- Mesozoic\n",
|
523 |
+
"- Qing_dynasty\n",
|
524 |
+
"- Montana\n",
|
525 |
+
"- Education\n",
|
526 |
+
"- Literature\n",
|
527 |
+
"- Comprehensive_school\n",
|
528 |
+
"- Plymouth\n",
|
529 |
+
"- Glacier\n",
|
530 |
+
"- Lighting\n",
|
531 |
+
"- Turner_Classic_Movies\n",
|
532 |
+
"- Queen_Victoria\n",
|
533 |
+
"- Paper\n",
|
534 |
+
"- East_India_Company\n",
|
535 |
+
"- Spanish_language_in_the_United_States\n",
|
536 |
+
"- Han_dynasty\n",
|
537 |
+
"- Gregorian_calendar\n",
|
538 |
+
"- Supreme_court\n",
|
539 |
+
"- Sahara\n",
|
540 |
+
"- Culture\n",
|
541 |
+
"- Religion_in_ancient_Rome\n",
|
542 |
+
"- Chihuahua_(state)\n",
|
543 |
+
"- Canon_law\n",
|
544 |
+
"- Kievan_Rus%27\n",
|
545 |
+
"- National_Archives_and_Records_Administration\n",
|
546 |
+
"- Marshall_Islands\n",
|
547 |
+
"- Alps\n",
|
548 |
+
"- Age_of_Enlightenment\n",
|
549 |
+
"- War_on_Terror\n",
|
550 |
+
"- Russian_language\n",
|
551 |
+
"- Iran\n",
|
552 |
+
"- Genome\n",
|
553 |
+
"- Antenna_(radio)\n",
|
554 |
+
"- Brain\n",
|
555 |
+
"- Warsaw_Pact\n"
|
556 |
+
]
|
557 |
+
}
|
558 |
+
],
|
559 |
+
"source": [
|
560 |
+
"import pandas as pd\n",
|
561 |
+
"import zipfile\n",
|
562 |
+
"\n",
|
563 |
+
"def extract_topics():\n",
|
564 |
+
" # Load the dataset\n",
|
565 |
+
" # Instead of directly reading the zip file, extract the relevant JSON file first.\n",
|
566 |
+
" with zipfile.ZipFile('/content/drive/MyDrive/archive (22).zip', 'r') as zip_ref:\n",
|
567 |
+
" # Assuming you want to use 'train-v1.1.json', change this if needed.\n",
|
568 |
+
" json_file = 'train-v1.1.json'\n",
|
569 |
+
" with zip_ref.open(json_file) as f:\n",
|
570 |
+
" data = pd.read_json(f)\n",
|
571 |
+
" topics = set()\n",
|
572 |
+
"\n",
|
573 |
+
" # Extract unique topic names from the dataset\n",
|
574 |
+
" for item in data['data']:\n",
|
575 |
+
" for paragraph in item['paragraphs']:\n",
|
576 |
+
" topics.add(item['title']) # Assuming 'title' represents the topic\n",
|
577 |
+
"\n",
|
578 |
+
" return topics\n",
|
579 |
+
"\n",
|
580 |
+
"if __name__ == \"__main__\":\n",
|
581 |
+
" topics = extract_topics()\n",
|
582 |
+
" print(\"Available topics in the dataset:\")\n",
|
583 |
+
" for topic in topics:\n",
|
584 |
+
" print(f\"- {topic}\")"
|
585 |
+
]
|
586 |
+
},
|
587 |
+
{
|
588 |
+
"cell_type": "code",
|
589 |
+
"source": [
|
590 |
+
"import pandas as pd\n",
|
591 |
+
"import random\n",
|
592 |
+
"import zipfile\n",
|
593 |
+
"\n",
|
594 |
+
"def generate_incorrect_options(data, correct_answer, topic):\n",
|
595 |
+
" \"\"\"Generate plausible incorrect options based on the dataset and the topic context.\"\"\"\n",
|
596 |
+
" incorrect_options = set()\n",
|
597 |
+
"\n",
|
598 |
+
" # Collect all possible answers from the dataset that are related to the topic\n",
|
599 |
+
" all_answers = []\n",
|
600 |
+
" for item in data['data']:\n",
|
601 |
+
" for paragraph in item['paragraphs']:\n",
|
602 |
+
" for qa in paragraph['qas']:\n",
|
603 |
+
" if qa['answers']:\n",
|
604 |
+
" for ans in qa['answers']:\n",
|
605 |
+
" if topic.lower() in ans['text'].lower(): # Check if the answer is related to the topic\n",
|
606 |
+
" all_answers.append(ans['text'])\n",
|
607 |
+
"\n",
|
608 |
+
" # Remove the correct answer from the list of possible incorrect options\n",
|
609 |
+
" all_answers = list(set(all_answers)) # Remove duplicates\n",
|
610 |
+
" if correct_answer in all_answers:\n",
|
611 |
+
" all_answers.remove(correct_answer)\n",
|
612 |
+
"\n",
|
613 |
+
" # Randomly select three unique incorrect options\n",
|
614 |
+
" while len(incorrect_options) < 3 and all_answers:\n",
|
615 |
+
" incorrect_option = random.choice(all_answers)\n",
|
616 |
+
" incorrect_options.add(incorrect_option)\n",
|
617 |
+
"\n",
|
618 |
+
" return list(incorrect_options)\n",
|
619 |
+
"\n",
|
620 |
+
"def generate_fill_in_the_blank(question, correct_answer):\n",
|
621 |
+
" \"\"\"Generate a fill-in-the-blank question with a placeholder.\"\"\"\n",
|
622 |
+
" return question.replace(correct_answer, \"______\")\n",
|
623 |
+
"\n",
|
624 |
+
"def generate_true_false_question(question, correct_answer):\n",
|
625 |
+
" \"\"\"Generate a true/false question.\"\"\"\n",
|
626 |
+
" return f\"True or False: {question} (Answer: {'True' if correct_answer else 'False'})\"\n",
|
627 |
+
"\n",
|
628 |
+
"def generate_quiz_from_dataset(topic, num_questions, question_type):\n",
|
629 |
+
" # Extract and load the dataset from the zip file\n",
|
630 |
+
" with zipfile.ZipFile('/content/drive/MyDrive/archive (22).zip', 'r') as zip_ref:\n",
|
631 |
+
" # Use the 'train-v1.1.json' file within the zip archive\n",
|
632 |
+
" json_file = 'train-v1.1.json'\n",
|
633 |
+
" with zip_ref.open(json_file) as f:\n",
|
634 |
+
" data = pd.read_json(f)\n",
|
635 |
+
"\n",
|
636 |
+
" questions = []\n",
|
637 |
+
"\n",
|
638 |
+
" # Filter questions based on the topic\n",
|
639 |
+
" for item in data['data']:\n",
|
640 |
+
" for paragraph in item['paragraphs']:\n",
|
641 |
+
" for qa in paragraph['qas']:\n",
|
642 |
+
" question = qa['question']\n",
|
643 |
+
" answer = qa['answers'][0]['text'] if qa['answers'] else \"No answer available\"\n",
|
644 |
+
" if topic.lower() in question.lower():\n",
|
645 |
+
" questions.append((question, answer))\n",
|
646 |
+
"\n",
|
647 |
+
" if not questions:\n",
|
648 |
+
" print(\"No questions found for this topic.\")\n",
|
649 |
+
" return\n",
|
650 |
+
"\n",
|
651 |
+
" # Shuffle questions and select the specified number\n",
|
652 |
+
" random.shuffle(questions)\n",
|
653 |
+
" selected_questions = questions[:num_questions]\n",
|
654 |
+
"\n",
|
655 |
+
" for index, (question, answer) in enumerate(selected_questions, start=1):\n",
|
656 |
+
" if question_type == 'mcq':\n",
|
657 |
+
" print(f\"Question {index}: {question}\")\n",
|
658 |
+
"\n",
|
659 |
+
" # Generate plausible incorrect options based on the dataset and topic context\n",
|
660 |
+
" incorrect_options = generate_incorrect_options(data, answer, topic)\n",
|
661 |
+
"\n",
|
662 |
+
" # Combine correct answer with incorrect options\n",
|
663 |
+
" options = [answer] + incorrect_options\n",
|
664 |
+
" random.shuffle(options)\n",
|
665 |
+
"\n",
|
666 |
+
" # Format options as A, B, C, D\n",
|
667 |
+
" for i, option in enumerate(options):\n",
|
668 |
+
" print(f\"{chr(65 + i)}) {option}\")\n",
|
669 |
+
"\n",
|
670 |
+
" # Find the correct answer's position\n",
|
671 |
+
" correct_index = options.index(answer)\n",
|
672 |
+
" print(f\"Answer: {chr(65 + correct_index)}) {answer}\")\n",
|
673 |
+
" print(\"=\" * 50)\n",
|
674 |
+
"\n",
|
675 |
+
" elif question_type == 'fill-in-the-blank':\n",
|
676 |
+
" fill_in_question = generate_fill_in_the_blank(question, answer)\n",
|
677 |
+
" print(f\"Fill in the blank {index}: {fill_in_question}\")\n",
|
678 |
+
" print(f\"Answer: {answer}\")\n",
|
679 |
+
" print(\"=\" * 50)\n",
|
680 |
+
"\n",
|
681 |
+
" elif question_type == 'true/false':\n",
|
682 |
+
" true_false_question = generate_true_false_question(question, answer)\n",
|
683 |
+
" print(f\"True/False Question {index}: {true_false_question}\")\n",
|
684 |
+
" print(\"=\" * 50)\n",
|
685 |
+
"\n",
|
686 |
+
"if __name__ == \"__main__\":\n",
|
687 |
+
" topic = input(\"Enter the topic for the quiz: \")\n",
|
688 |
+
" num_questions = int(input(\"Enter the number of questions to generate: \"))\n",
|
689 |
+
" question_type = input(\"Enter question type (mcq/fill-in-the-blank/true/false): \").lower()\n",
|
690 |
+
" generate_quiz_from_dataset(topic, num_questions, question_type)\n"
|
691 |
+
],
|
692 |
+
"metadata": {
|
693 |
+
"colab": {
|
694 |
+
"base_uri": "https://localhost:8080/"
|
695 |
+
},
|
696 |
+
"id": "xklEl5W_jqYM",
|
697 |
+
"outputId": "35b6b061-037a-4936-aa43-de77cbd6ef77"
|
698 |
+
},
|
699 |
+
"execution_count": null,
|
700 |
+
"outputs": [
|
701 |
+
{
|
702 |
+
"output_type": "stream",
|
703 |
+
"name": "stdout",
|
704 |
+
"text": [
|
705 |
+
"Enter the topic for the quiz: Database\n",
|
706 |
+
"Enter the number of questions to generate: 5\n",
|
707 |
+
"Enter question type (mcq/fill-in-the-blank/true/false): mcq\n",
|
708 |
+
"Question 1: What was the name of the database product created by IBM?\n",
|
709 |
+
"A) SQL/DS, and, later, Database 2 (DB2)\n",
|
710 |
+
"B) not be placed in the database\n",
|
711 |
+
"C) unauthorized users from viewing or updating the database\n",
|
712 |
+
"D) Database Task Group\n",
|
713 |
+
"Answer: A) SQL/DS, and, later, Database 2 (DB2)\n",
|
714 |
+
"==================================================\n",
|
715 |
+
"Question 2: The IANA database works by connecting names to what information about the location?\n",
|
716 |
+
"A) database is found corrupted\n",
|
717 |
+
"B) managing personal databases\n",
|
718 |
+
"C) database related application\n",
|
719 |
+
"D) historical and predicted clock shifts\n",
|
720 |
+
"Answer: D) historical and predicted clock shifts\n",
|
721 |
+
"==================================================\n",
|
722 |
+
"Question 3: How are today's database systems run?\n",
|
723 |
+
"A) structured document-oriented database\n",
|
724 |
+
"B) general-purpose hardware\n",
|
725 |
+
"C) database technology\n",
|
726 |
+
"D) SQL/DS, and, later, Database 2 (DB2)\n",
|
727 |
+
"Answer: B) general-purpose hardware\n",
|
728 |
+
"==================================================\n",
|
729 |
+
"Question 4: What database language is the most prominent?\n",
|
730 |
+
"A) unauthorized users from viewing or updating the database\n",
|
731 |
+
"B) SQL\n",
|
732 |
+
"C) relational database management system\n",
|
733 |
+
"D) database technology\n",
|
734 |
+
"Answer: B) SQL\n",
|
735 |
+
"==================================================\n",
|
736 |
+
"Question 5: What does database access limit?\n",
|
737 |
+
"A) by a \"database management system\" (DBMS)\n",
|
738 |
+
"B) who (a person or a certain computer program) is allowed to access what information\n",
|
739 |
+
"C) database technology\n",
|
740 |
+
"D) database is found corrupted\n",
|
741 |
+
"Answer: B) who (a person or a certain computer program) is allowed to access what information\n",
|
742 |
+
"==================================================\n"
|
743 |
+
]
|
744 |
+
}
|
745 |
+
]
|
746 |
+
},
|
747 |
+
{
|
748 |
+
"cell_type": "code",
|
749 |
+
"source": [
|
750 |
+
"import pandas as pd\n",
|
751 |
+
"import seaborn as sns\n",
|
752 |
+
"import matplotlib.pyplot as plt\n",
|
753 |
+
"import zipfile\n",
|
754 |
+
"\n",
|
755 |
+
"# Load dataset from a URL (replace with your link)\n",
|
756 |
+
"dataset_url = '/content/drive/MyDrive/archive (22).zip'\n",
|
757 |
+
"\n",
|
758 |
+
"json_file = 'train-v1.1.json'\n",
|
759 |
+
"\n",
|
760 |
+
"# Extract the JSON file from the zip archive\n",
|
761 |
+
"with zipfile.ZipFile(dataset_url, 'r') as zip_ref:\n",
|
762 |
+
" with zip_ref.open(json_file) as f:\n",
|
763 |
+
" df = pd.read_json(f)\n",
|
764 |
+
"\n",
|
765 |
+
"# Preview the dataset\n",
|
766 |
+
"print(df.head())\n",
|
767 |
+
"\n",
|
768 |
+
"\n",
|
769 |
+
"numerical_df = df[['version']].copy()\n",
|
770 |
+
"if not numerical_df.empty:\n",
|
771 |
+
" plt.figure(figsize=(8, 6))\n",
|
772 |
+
" sns.heatmap(numerical_df.corr(), annot=True, cmap='coolwarm')\n",
|
773 |
+
" plt.title('Heatmap of Quiz Data Correlations (Numerical Columns)')\n",
|
774 |
+
" plt.show()\n",
|
775 |
+
"else:\n",
|
776 |
+
" print(\"No numerical columns found for correlation analysis.\")\n",
|
777 |
+
"\n",
|
778 |
+
"\n",
|
779 |
+
"plt.figure(figsize=(8, 6))\n",
|
780 |
+
"question_counts = df['data'].apply(lambda x: len(x['paragraphs'][0]['qas'])).value_counts()\n",
|
781 |
+
"question_counts.plot(kind='bar')\n",
|
782 |
+
"plt.title('Bar Plot of Question Frequency')\n",
|
783 |
+
"plt.xlabel('Number of Questions')\n",
|
784 |
+
"plt.ylabel('Frequency')\n",
|
785 |
+
"plt.xticks(rotation=0)\n",
|
786 |
+
"plt.show()"
|
787 |
+
],
|
788 |
+
"metadata": {
|
789 |
+
"colab": {
|
790 |
+
"base_uri": "https://localhost:8080/",
|
791 |
+
"height": 1000
|
792 |
+
},
|
793 |
+
"id": "x1TC97wS2zJq",
|
794 |
+
"outputId": "35056826-a310-4873-d048-c77929416a13"
|
795 |
+
},
|
796 |
+
"execution_count": 5,
|
797 |
+
"outputs": [
|
798 |
+
{
|
799 |
+
"output_type": "stream",
|
800 |
+
"name": "stdout",
|
801 |
+
"text": [
|
802 |
+
" data version\n",
|
803 |
+
"0 {'title': 'University_of_Notre_Dame', 'paragra... 1.1\n",
|
804 |
+
"1 {'title': 'Beyoncé', 'paragraphs': [{'context'... 1.1\n",
|
805 |
+
"2 {'title': 'Montana', 'paragraphs': [{'context'... 1.1\n",
|
806 |
+
"3 {'title': 'Genocide', 'paragraphs': [{'context... 1.1\n",
|
807 |
+
"4 {'title': 'Antibiotics', 'paragraphs': [{'cont... 1.1\n"
|
808 |
+
]
|
809 |
+
},
|
810 |
+
{
|
811 |
+
"output_type": "stream",
|
812 |
+
"name": "stderr",
|
813 |
+
"text": [
|
814 |
+
"/usr/local/lib/python3.11/dist-packages/seaborn/matrix.py:202: RuntimeWarning: All-NaN slice encountered\n",
|
815 |
+
" vmin = np.nanmin(calc_data)\n",
|
816 |
+
"/usr/local/lib/python3.11/dist-packages/seaborn/matrix.py:207: RuntimeWarning: All-NaN slice encountered\n",
|
817 |
+
" vmax = np.nanmax(calc_data)\n"
|
818 |
+
]
|
819 |
+
},
|
820 |
+
{
|
821 |
+
"output_type": "display_data",
|
822 |
+
"data": {
|
823 |
+
"text/plain": [
|
824 |
+
"<Figure size 800x600 with 2 Axes>"
|
825 |
+
],
|
826 |
+
"image/png": "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j4t54n1iGOdfk+PGjXP87Oq1fal6SjIGDRpkfPjhh0b9+vWNgIAAo2XLlsa2bdsMwzCM6dOnGzfddJPh7+9vtG7dukgbeuJ1GxoaagwdOtRECwHn/SkijidOnNDRo0eLpLv6a/L555/XM888o+7du6t///46cuSI3nzzTd1xxx3asmWLQkJCJEmLFi3SmTNn9Oijj6pChQrasGGD3nzzTR04cECLFi2SJD388MP67bfftGLFCr333nsu6zZv3jzl5eVpyJAhys7O1ksvvaTu3burXbt2Wrt2rUaPHq2ffvpJb775ph5//HHNmjXLce2cOXMUGBiopKQkBQYGavXq1Ro7dqxOnjypl19+2ek+x48fV6dOndS9e3f16tVLH374oR599FH5+fnpoYceKrb9+vfvr7lz56pbt24aOXKk1q9fr5SUFO3cuVOffPKJJOm9997TjBkztGHDBr3zzjuSpFatWrksb/fu3crIyFDfvn0VFBTkMk/v3r01btw4ff755+revXux9buc+vXrF2n/nJwcJSUlqVKlSldV9j//+U/NmDFDy5cv15133impZF4br7/+ujp37qzExETl5eVpwYIFuu+++5Samqq77rrrkvXZvXu3du3apYceekjlypW7bP3/+OMPtWnTRj/99JMGDx6sWrVqadGiRerbt69ycnI0bNgwp/yzZ8/W2bNnNXDgQPn7+ys0NNRx7r777lPdunX1wgsvOIa2zL6fXDHTBu+995769++vFi1aaODAgZKkm2666ZJljh8/XhMmTFBcXJweffRRZWRk6K233tLGjRu1bt06p6jT8ePH1bFjR3Xt2lXdu3fXRx99pNGjR6tRo0b6+9//Lkn697//raFDh6pbt24aNmyYzp49q23btmn9+vW6//77L1mPgwcPav/+/WrWrNkl8wwbNkyTJk3S+PHjSzTq+NNPP+n+++/Xww8/rAceeECvvPKK7rnnHk2fPl1PPvmkHnvsMUlSSkqKunfvroyMDPn4nJ+1tGPHDt12222qWrWqxowZo7Jly+rDDz9Uly5dtHjxYv3jH/9wutdjjz2msLAwjR07VqdPn75knebMmaOHHnpIt9xyi5KTkxUSEqItW7Zo2bJljnY0874yy9Pvk6vxzTff6LPPPtOgQYMknf893H333Ro1apSmTZumxx57TMePH9dLL72khx56SKtXr3a6vqRft82aNdO6detK7PnwF3Cte65Xo/Av2+KOCyOOe/fuNXx9fY3nn3/eqZzvv//eKFWqlFP6xX/lGoZhpKSkGDabzdi3b58jbdCgQS7/+i2MHISFhRk5OTmO9OTkZEOS0aRJEyM/P9+R3qtXL8PPz88pyueqDg8//LBxww03OOVr3bq1Icl49dVXHWm5ublGVFSUUalSJSMvL69o4/1/W7duNSQZ/fv3d0p//PHHDUnG6tWrHWl9+vQxypYte8myCi1ZssSQZEyaNKnYfEFBQUazZs0cP19pxPFidrvduPvuu43AwEBjx44dxdbhchHH48ePG5KMf/zjH460q31tuCojLy/PaNiwodGuXbti6/vpp5+aattCkydPNiQZ77//vtO9YmNjjcDAQEc0prBNg4KCjMOHDzuVUdhGvXr1ckp35/3kKipjtg3Kli3r8nVxcWTr8OHDhp+fn9GhQwfj3LlzjnxTpkwxJBmzZs1ypBW+Z959911HWm5urhEREWEkJCQ40u69916XoxaXs3LlSkOS8fnnnxc5d+FISGHkvTDqWBIRR0nGt99+60j78ssvDUlGmTJlnF6fb7/9tiHJEY00DMNo37690ahRI6fPF7vdbrRq1cqoW7dukXvffvvtRUZALq5XTk6OUa5cOSMmJsb4448/nPLa7XbH/5t9X5mJOHrqfWIYVx9x9Pf3d/qdFf4eIiIinO5T+G/FhXk98bodOHCgUaZMGVN5AcMwjD/F4pipU6dqxYoVRY7GjRs75fv4449lt9vVvXt3HT161HFERESobt26WrNmjSNvmTJlHP9/+vRpHT16VK1atZJhGNqyZYvput13330KDg52/BwTEyNJeuCBB5zm9sXExCgvL08HDx50WYfff/9dR48e1d/+9jedOXNGu3btcrpPqVKl9PDDDzt+9vPz08MPP6zDhw8XOwF/6dKlkqSkpCSn9JEjR0qSvvjiC9PPemFdJV32L/1y5co58pakZ599VqmpqZozZ44aNGhwVWUFBgZKklM9S+K1cWEZx48f14kTJ/S3v/1NmzdvLva6kydPSrp82xZaunSpIiIi1KtXL0da6dKlNXToUJ06dUpfffWVU/6EhASFhYW5LOviRR7uvJ9cudI2uJSVK1cqLy9Pw4cPd0TQJGnAgAEKCgoq8loODAzUAw884PjZz89PLVq00C+//OJICwkJ0YEDB7Rx40a36nLs2DFJUvny5YvNN2zYMJUvX75EF1E1aNBAsbGxjp8LP3PatWun6tWrF0kvfN7s7GytXr1a3bt3d3zeHD16VMeOHVN8fLx2797t9PkknW/by81nXLFihX7//XeNGTOmyNzkC7fVKanPXMnz75Or0b59e6etqQp/DwkJCU71vfj3U6ikX7fly5fXH3/8oTNnzlzR8+Cv508xVN2iRQs1b968SHr58uWdhrB3794twzBUt25dl+VcOIy1f/9+jR07Vp999pmOHz/ulO/EiROm63bhB7UkRyeyWrVqLtMvvNeOHTv09NNPa/Xq1Y4PwkvVoUqVKkUWK9x8882Szm/x4WqCviTt27dPPj4+qlOnjlN6RESEQkJCrmj/ucIPv8t1Cn///fcS39tv2bJlmjBhgpKTk5WQkHDV5Z06dUqS8z9AJfHaSE1N1XPPPaetW7c6bflzuf3pCof+zXa49+3bp7p16zp1pKTzw/uF5y9Uq1atS5Z18Tl33k+uXGkbXErhs9SrV88p3c/PT7Vr1y7yrDfeeGORe5UvX17btm1z/Dx69GitXLlSLVq0UJ06ddShQwfdf//9uu2220zVybjMatXg4GANHz5c48aN05YtWy7b0TTjSj9zfvrpJxmGoWeeeUbPPPOMy7IPHz6sqlWrOn4u7vVS6Oeff5aky26NVlKfuZLn3ydX42r+TZBK/nVb+Bq9lntjwlr+FB1Hs+x2u2w2m/7zn/+4/Cu5MLp07tw53XnnncrOztbo0aMVGRmpsmXL6uDBg+rbt6/sdrvpe17qr/FLpRe+iXNyctS6dWsFBQVp4sSJuummmxQQEKDNmzdr9OjRbtXBjJL80CiM8l34QXaxffv26eTJk6pdu/Zl63Du3DlTqzT37NmjxMRE3XnnnXruuefcrLVr27dvlyRHx7okXhvffPONOnfurDvuuEPTpk1T5cqVVbp0ac2ePfuy24NERkZKkr7//vurfDLXLoz6XO6c2feTK1fTBiXlcu9B6XzHISMjQ6mpqVq2bJkWL16sadOmaezYscVGCStUqCCp6D/6rhTOdZwwYYImT55c5Hxx7wtXrvQzp/C1+/jjjys+Pt5l3ov/wCzu9eKOkvzMlTz/PrmQt34/7uRz53V7/Phx3XDDDSX2u8Sf31+q43jTTTfJMAzVqlXLEY1z5fvvv9ePP/6ouXPnqnfv3o70FStWFMnrqb/S1q5dq2PHjunjjz/WHXfc4Ujfs2ePy/y//fZbkS1SfvzxR0kqNqpXo0YN2e127d692/HXtSRlZWUpJyfnivZiq1u3rurVq6clS5bo9ddfdzlc9O6770o6P5RfqHz58srJySmSd9++fU4dTFf++OMPde3aVSEhIfrggw+KRA6uVOHClsJ/SEvitbF48WIFBAToyy+/lL+/vyN99uzZl63PzTffrHr16unTTz/V66+/XmznTDr/+922bZvsdrtTmxROdbiavfbMvp9ccacNzL7HCp8lIyPD6fWSl5enPXv2KC4uzq06Fipbtqx69OihHj16KC8vT127dtXzzz+v5OTkS24LVdhxudT79UKFUcfx48erT58+Rc4XRiFzcnKcFhuV9LfRFLZZ6dKlr7itXClczLR9+/YiHc9C7ryvzPDm+6S4z61ryezrds+ePU6f/cDl/CnmOJrVtWtX+fr6asKECUX+ijMMwzEvqfAvugvzGIah119/vUiZhR01Vx8cV8NVHfLy8jRt2jSX+QsKCpy+AaDwGwHCwsIUHR19yfsUbuJ9caTjtddek6RiV/gWZ9y4cTp+/LgeeeSRIn95p6en61//+peaNm3qWAUonf8H5n//+5/y8vIcaampqaY24H7kkUf0448/6pNPPimR4T5Jmj9/vt555x3Fxsaqffv2kkrmteHr6yubzebULnv37jX97SgTJkzQsWPH1L9/fxUUFBQ5v3z5cqWmpko6//vNzMzUwoULHecLCgr05ptvKjAwUK1btzZ1T1fMvp9ccacNypYta+r9FRcXJz8/P73xxhtO9Zk5c6ZOnDhxRa/li5/Bz89PDRo0kGEYxe4BWLVqVVWrVu2S32p1seHDhyskJEQTJ04scq6w4/X111870k6fPq25c+eaKtusSpUqqU2bNnr77bd16NChIuePHDlyReV26NBB5cqVU0pKis6ePet0rvD35M77yixvvU9uuukmnThxwmmE5dChQ44dKa4Fd163mzdvvuQOGYArf7mI43PPPafk5GTt3btXXbp0Ubly5bRnzx598sknGjhwoB5//HFFRkbqpptu0uOPP66DBw8qKChIixcvdjnsVNgpGzp0qOLj4+Xr66uePXtedV1btWql8uXLq0+fPho6dKhsNpvee++9S86ZqlKliv71r39p7969uvnmm7Vw4UJt3bpVM2bMKHauWZMmTdSnTx/NmDHDMTy+YcMGzZ07V126dFHbtm2vqP69evXSpk2b9Nprr+mHH35QYmKiypcvr82bN2vWrFkKCwvTRx995LRAqH///vroo4/UsWNHde/eXT///LPef//9Yrdfkc4v4Hn33XeVkJCgbdu2OX2ABwYGqkuXLpet70cffaTAwEDHAqUvv/xS69atU5MmTZy2AimJ18Zdd92l1157TR07dtT999+vw4cPa+rUqapTp06xw/uFevTooe+//17PP/+8tmzZ4vhKu2PHjmnZsmVatWqVY7h34MCBevvtt9W3b1+lp6erZs2a+uijj7Ru3TpNnjzZ9OIBV8y+n1xxpw2io6O1cuVKvfbaa6pSpYpq1arlWDhwobCwMCUnJ2vChAnq2LGjOnfurIyMDE2bNk233nqr04ICszp06KCIiAjddtttCg8P186dOzVlyhTdddddl227e++9V5988okMw7hs1DQ4OFjDhg1zOfzdoUMHVa9eXf369dMTTzwhX19fx3to//79bj9TcaZOnarbb79djRo10oABA1S7dm1lZWUpLS1NBw4c0Hfffed2mUFBQZo0aZL69++vW2+9Vffff7/Kly+v7777TmfOnNHcuXPdel+Z5a33Sc+ePTV69Gj94x//0NChQ3XmzBm99dZbuvnmm694odfVMvu6TU9PV3Z2tu69995rUk9YlOcXbnvOlW4AvnjxYuP22283ypYta5QtW9aIjIw0Bg0aZGRkZDjy/PDDD0ZcXJwRGBhoVKxY0RgwYIDx3XffFdkGpqCgwBgyZIgRFhZm2Gw2x/YLrrbVMIz/26z64o2OXT3LunXrjJYtWzo2eR01apRja40Lt9BwtQF4jRo1jClTpphqx/z8fGPChAlGrVq1jNKlSxvVqlUrsgG4YZjfjudCn332mREXF2eEhIQ4bZF0qY3BX331VaNq1aqGv7+/cdtttxmbNm267HY8xW3LZHYD8MIjICDAuPHGG427777bmDVrVpE2MIyrf20YhmHMnDnTqFu3ruHv729ERkYas2fPNr2xcaFVq1YZ9957r1GpUiWjVKlSRlhYmHHPPfcU2aw5KyvLePDBB42KFSsafn5+RqNGjYpsZXSp1+uFbXSpLYvMvJ9cbVlitg127dpl3HHHHUaZMmUMmdgAfMqU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AEtiOx7vI+IIAAAAU4g4AgAAS2KOo/cRcQQAAIApRBwBAIAlMcfR+4g4AgAAwBQijgAAwJLsxrWuwV8PHUcAAGBJDFV7H0PVAAAAMIWIIwAAsCS24/E+Io4AAAAwhYgjAACwJIPFMV5HxBEAAACmEHEEAACWZGdVtdcRcQQAAIApRBwBAIAlsara+4g4AgAASzIMzx2ekp2drcTERAUFBSkkJET9+vXTqVOnir3m7NmzGjRokCpUqKDAwEAlJCQoKyvLcf67775Tr169VK1aNZUpU0b169fX66+/7lTG2rVrZbPZihyZmZlu1Z+IIwAAgJckJibq0KFDWrFihfLz8/Xggw9q4MCBmj9//iWvGTFihL744gstWrRIwcHBGjx4sLp27ap169ZJktLT01WpUiW9//77qlatmr799lsNHDhQvr6+Gjx4sFNZGRkZCgoKcvxcqVIlt+pvMwwWswMAAOtZ/l2ex8ru0MSvxMvcuXOnGjRooI0bN6p58+aSpGXLlqlTp046cOCAqlSpUuSaEydOKCwsTPPnz1e3bt0kSbt27VL9+vWVlpamli1burzXoEGDtHPnTq1evVrS+Yhj27Ztdfz4cYWEhFzxMzBUDQAAcJHc3FydPHnS6cjNzb2qMtPS0hQSEuLoNEpSXFycfHx8tH79epfXpKenKz8/X3FxcY60yMhIVa9eXWlpaZe814kTJxQaGlokPSoqSpUrV9add97piFi6g44jAACwJLvhuSMlJUXBwcFOR0pKylXVNzMzs8jQcKlSpRQaGnrJuYaZmZny8/MrEiUMDw+/5DXffvutFi5cqIEDBzrSKleurOnTp2vx4sVavHixqlWrpjZt2mjz5s1uPQNzHAEAAC6SnJyspKQkpzR/f3+XeceMGaN//etfxZa3c+fOEqtbcbZv3657771X48aNU4cOHRzp9erVU7169Rw/t2rVSj///LMmTZqk9957z3T5dBwBAIAleXI7Hn9/v0t2FC82cuRI9e3bt9g8tWvXVkREhA4fPuyUXlBQoOzsbEVERLi8LiIiQnl5ecrJyXGKOmZlZRW55ocfflD79u01cOBAPf3005etd4sWLfTf//73svkuRMcRAADgKoSFhSksLOyy+WJjY5WTk6P09HRFR0dLklavXi273a6YmBiX10RHR6t06dJatWqVEhISJJ1fGb1//37FxsY6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vffqoYcekiR9+umnatasmQICAlS7dm1NmDBBBQUFjrw2m01vvfWWOnfurLJly+r555/X8ePHlZiYqLCwMJUpU0Z169bV7NmzJbkeqv7qq6/UokUL+fv7q3LlyhozZozTPdq0aaOhQ4dq1KhRCg0NVUREhMaPH++5hgEAFEHHEfiLu++++3Ts2DGtWbPGkZadna1ly5YpMTFR33zzjXr37q1hw4bphx9+0Ntvv605c+bo+eefdypn/Pjx+sc//qHvv/9eDz30kJ555hn98MMP+s9//qOdO3fqrbfeUsWKFV3W4eDBg+rUqZNuvfVWfffdd3rrrbc0c+ZMPffcc0755s6dq7Jly2r9+vV66aWXNHHiRK1YsaLkGwUA4BJD1QDUpUsXVahQQTNnzpR0Pgo5YcIE/frrr+rQoYPat2+v5ORkR/73339fo0aN0m+//SbpfMRx+PDhmjRpkiNP586dVbFiRc2aNavI/fbu3atatWppy5YtioqK0lNPPaXFixdr586dstlskqRp06Zp9OjROnHihHx8fNSmTRudO3dO33zzjaOcFi1aqF27dnrxxRc90i4AAGdEHAEoMTFRixcvVm5urqTzX13Vs2dP+fj46LvvvtPEiRMVGBjoOAYMGKBDhw45fSVW8+bNncp89NFHtWDBAkVFRWnUqFH69ttvL3n/nTt3KjY21tFplKTbbrtNp06d0oEDBxxpjRs3drqucuXKOnz48FU9OwDAPDqOAHTPPffIMAx98cUX+vXXX/XNN98oMTFRknTq1ClNmDBBW7dudRzff/+9du/erYCAAEcZZcuWdSrz73//u/bt26cRI0bot99+U/v27fX4449fVT0vXnBjs9mKzM0EAHgO+2AAUEBAgLp27ap58+bpp59+Ur169dSsWTNJUrNmzZSRkaE6deq4XW5YWJj69OmjPn366G9/+5ueeOIJvfLKK0Xy1a9fX4sXL5ZhGI6o47p161SuXDndeOONV/dwAIASQ8cRgKTzw9V33323duzYoQceeMCRPnbsWN19992qXr26unXr5hi+3r59e5HFKxcaO3asoqOjdcsttyg3N1epqamqX7++y7yPPfaYJk+erCFDhmjw4MHKyMjQuHHjlJSUJB8fBkYA4HrBJzIASVK7du0UGhqqjIwM3X///Y70+Ph4paamavny5br11lvVsmVLTZo0STVq1Ci2PD8/PyUnJ6tx48a644475OvrqwULFrjMW7VqVS1dulQbNmxQkyZN9Mgjj6hfv356+umnS/QZAQBXh1XVAAAAMIWIIwAAAEyh4wgAAABT6DgCAADAFDqOAAAAMIWOIwAAAEyh4wgAAABT6DgCAADAFDqOAAAAMIWOIwAAAEyh4wgAAABT6DgCAADAFDqOAAAAMOX/AYJcRUCKMPKsAAAAAElFTkSuQmCC\n"
|
827 |
+
},
|
828 |
+
"metadata": {}
|
829 |
+
},
|
830 |
+
{
|
831 |
+
"output_type": "display_data",
|
832 |
+
"data": {
|
833 |
+
"text/plain": [
|
834 |
+
"<Figure size 800x600 with 1 Axes>"
|
835 |
+
],
|
836 |
+
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArcAAAIjCAYAAAAZajMiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATrFJREFUeJzt3XlYFXX///HXAdlEAUEQSMV938o9yz0RzSWt3HJJyha43b3LX3dptrhUpplLdhdqqZV3ZWmJuWKLmWtqKS65C2qaIJiI8Pn90cX5egQ3OICOz8d1zXVxZubM+z1zBngxfM4cmzHGCAAAALAAl8JuAAAAAHAWwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi2AW8aAAQNUrly5wm7DQUpKip544gkFBwfLZrNp6NChhd1SvipXrpwGDBhQ2G0AQK4RbgELmzNnjmw2m8MUFBSkVq1aadmyZQXWR8uWLR168Pf3V8OGDfXhhx8qMzPTKTVef/11LV682CnbunK7c+bM0TPPPKOPPvpIffv2veb66enpeuedd9SwYUMVL15cxYoVU8OGDTVt2jRdunTJ6f3lxk8//aSxY8fq7Nmzhd2KXU7natb0/PPPF3Z7AG4jRQq7AQD5b9y4cSpfvryMMTpx4oTmzJmjDh06aMmSJXrwwQcLpIfSpUtr/PjxkqRTp05p3rx5ioyM1J49ezRhwoQ8b//111/Xww8/rK5du+Z5W5dbvXq1mjRpojFjxlx33dTUVHXs2FFxcXF68MEHNWDAALm4uCg2NlaDBw/W4sWLtWTJEhUtWtSpPd6sn376SS+//LIGDBggPz8/h2Xx8fFycSm86x5Z5+rlatWqVUjdALgdEW6BO0BERIQaNGhgfxwZGalSpUpp4cKFTgm3mZmZunjxojw9Pa+6jq+vrx577DH746eeekpVq1bVu+++q1deeUVubm557iM/nDx5UjVq1LihdYcPH664uDhNmzZN0dHR9vnPPPOMpk+frujoaI0aNUrTp0/Pr3bzzMPDo1DrX3muXsuFCxfk7u5eqGEcwK2HnwjAHcjPz09eXl4qUsTx79s333xT9957rwICAuTl5aX69evrf//7X7bn22w2RUdHa/78+apZs6Y8PDwUGxt7Uz0ULVpUTZo0UWpqqk6dOnXV9VJTUzVixAiVKVNGHh4eqlq1qt58800ZYxz6SU1N1dy5c+3/yr7euNGTJ0/aQ76np6fq1q2ruXPn2pevXbtWNptNBw4c0DfffGPf7sGDB3Pc3tGjR/XBBx+odevWDsE2S1RUlFq1aqXZs2fr2LFjkqSDBw/KZrNpzpw52da32WwaO3asw7xjx45p4MCBKlWqlDw8PFSzZk19+OGH2Z47bdo01axZU0WLFlWJEiXUoEEDLViwQJI0duxYjRo1SpJUvnz5bPuV05jbP/74Q4888oj8/f3tr9s333zjsE7W8frss8/02muvqXTp0vL09FSbNm20b9++HI/Zzcja/ieffKL//Oc/uuuuu1S0aFElJydLkjZs2KD27dvL19dXRYsWVYsWLfTjjz9m284PP/yghg0bytPTUxUrVtR7772nsWPHymaz2dfJj9flZo/Phg0b1KFDB5UoUULe3t6qU6eOpk6dKkmKiYmRzWbT1q1bsz3v9ddfl6urq/0cA+5EXLkF7gBJSUn6888/ZYzRyZMnNW3aNKWkpDhcSZWkqVOnqnPnzurTp48uXryoTz75RI888oiWLl2qjh07Oqy7evVqffbZZ4qOjlbJkiVz9UawP/74Q66urtn+NZ7FGKPOnTtrzZo1ioyMVL169bR8+XKNGjVKx44d09tvvy1J+uijj/TEE0+oUaNGGjRokCSpYsWKV637999/q2XLltq3b5+io6NVvnx5LVq0SAMGDNDZs2c1ZMgQVa9eXR999JGGDRum0qVLa8SIEZKkwMDAHLe5bNkyZWRkqF+/flet269fP61Zs0axsbGKjIy8kUNkd+LECTVp0sT+h0VgYKCWLVumyMhIJScn29/o9v7772vw4MF6+OGHNWTIEF24cEHbt2/Xhg0b1Lt3b3Xr1k179uzRwoUL9fbbb6tkyZLX3K8TJ07o3nvv1fnz5zV48GAFBARo7ty56ty5s/73v//poYceclh/woQJcnFx0ciRI5WUlKRJkyapT58+2rBhww3tZ9a5ermsHiXplVdekbu7u0aOHKm0tDS5u7tr9erVioiIUP369TVmzBi5uLgoJiZGrVu31vfff69GjRpJknbs2KF27dopMDBQY8eO1aVLlzRmzBiVKlXqhnq72vG5kdflZo7PihUr9OCDDyokJERDhgxRcHCwdu3apaVLl2rIkCF6+OGHFRUVpfnz5+vuu+922P78+fPVsmVL3XXXXbneJ+C2ZwBYVkxMjJGUbfLw8DBz5szJtv758+cdHl+8eNHUqlXLtG7d2mG+JOPi4mJ+++23G+qjRYsWplq1aubUqVPm1KlTZteuXWbw4MFGkunUqZN9vf79+5uwsDD748WLFxtJ5tVXX3XY3sMPP2xsNpvZt2+ffZ63t7fp37//DfUzZcoUI8l8/PHHDvvatGlTU6xYMZOcnGyfHxYWZjp27HjdbQ4dOtRIMlu3br3qOlu2bDGSzPDhw40xxhw4cMBIMjExMdnWlWTGjBljfxwZGWlCQkLMn3/+6bBez549ja+vr/2169Kli6lZs+Y1e33jjTeMJHPgwIFsy8LCwhyOY9Z+ff/99/Z5586dM+XLlzflypUzGRkZxhhj1qxZYySZ6tWrm7S0NPu6U6dONZLMjh07rtnT1c7VrF9TWduvUKGCw3mamZlpKleubMLDw01mZqZ9/vnz50358uXNAw88YJ/XtWtX4+npaQ4dOmSf9/vvvxtXV1dz+a/D/HhdbvT4XLp0yZQvX96EhYWZv/76y2Gbl+9fr169TGhoqP34G/N/51dOfQN3EoYlAHeA6dOna8WKFVqxYoU+/vhjtWrVSk888YS++OILh/W8vLzsX//1119KSkrS/fffry1btmTbZosWLW54LKok7d69W4GBgQoMDFT16tU1bdo0dezYMcd/q2f59ttv5erqqsGDBzvMHzFihIwxub7jw7fffqvg4GD16tXLPs/NzU2DBw9WSkqK4uLibnqb586dkyQVL178qutkLcta90YZY/T555+rU6dOMsbozz//tE/h4eFKSkqyv0Z+fn46evSoNm7ceNP7kJNvv/1WjRo10n333WefV6xYMQ0aNEgHDx7U77//7rD+448/Lnd3d/vj+++/X9I/V+lvxOXnatZ0uf79+zucp9u2bdPevXvVu3dvnT592n5cUlNT1aZNG61bt06ZmZnKyMjQ8uXL1bVrV5UtW9b+/OrVqys8PPzGD8hlbuZ1yXK947N161YdOHBAQ4cOzfYfjcuHTvTr10/Hjx/XmjVr7PPmz58vLy8vde/ePVf7A1gFwxKAO0CjRo0c3qTTq1cv3X333YqOjtaDDz5o/2W7dOlSvfrqq9q2bZvS0tLs61/+SzXLle9ov55y5crp/fffl81mk6enpypXrqygoKBrPufQoUMKDQ3NFhirV69uX54bhw4dUuXKlbO9ESkv272R4Jq17Hr7faVTp07p7Nmzmj17tmbPnp3jOidPnpQkPffcc1q5cqUaNWqkSpUqqV27durdu7eaNWt2UzWzHDp0SI0bN842//JjdfndDC4PjpJUokQJSf/8sXQjrjxXr3Tlebd3715J/4Teq0lKSlJaWpr+/vtvVa5cOdvyqlWr6ttvv72h/i53M69Llusdn/3790u6/h0iHnjgAYWEhGj+/Plq06aNMjMztXDhQnXp0uWaf2ABdwLCLXAHcnFxUatWrTR16lTt3btXNWvW1Pfff6/OnTurefPmmjFjhkJCQuTm5qaYmBj7m5Eud/nVsxvh7e2ttm3bOmsXbjlZV7G3b9+uevXq5bjO9u3bJUkVKlSQlPMfDZKUkZHh8DjrXsCPPfbYVUNcnTp1JP0TOuPj47V06VLFxsbq888/14wZM/TSSy/p5ZdfvrmdygVXV9cc55vL3gCYF1eed1nH5o033rjqcS9WrJjDH2vXkx+vSxZnHR9XV1f17t1b77//vmbMmKEff/xRx48fzzaOHrgTEW6BO1TWBwqkpKRIkj7//HN5enpq+fLlDreDiomJKZT+JCksLEwrV67UuXPnHK5G7d692748y9UCydW2u337dmVmZjpcvc1puzcqIiJCrq6u+uijj676prJ58+bJ3d1dXbp0kfR/V+2u/DCFK68cBwYGqnjx4srIyLihPxC8vb3Vo0cP9ejRQxcvXlS3bt302muvafTo0fL09LzpYxUfH59tfl6OlTNlvXHQx8fnmscmMDBQXl5e9iu9l7ty//LrdbkRWfuzc+fO626zX79+euutt7RkyRItW7ZMgYGBuR5iAVgJY26BO1B6erq+++47ubu72/+97OrqKpvN5nB16uDBg/nyqV83qkOHDsrIyNC7777rMP/tt9+WzWZTRESEfZ63t/cNf+JWhw4dlJiYqE8//dQ+79KlS5o2bZqKFSumFi1a3HSvpUuXVmRkpFauXKmZM2dmWz5r1iytXr1aTz31lAICAiT9E8hKliypdevWOaw7Y8YMh8eurq7q3r27Pv/8c+3cuTPbti+/ldrp06cdlrm7u6tGjRoyxig9PV3SP8dKyh7ectKhQwf98ssvWr9+vX1eamqqZs+erXLlyt3UuOv8UL9+fVWsWFFvvvmm/Q+1y2UdG1dXV4WHh2vx4sU6fPiwffmuXbu0fPlyh+fkx+tyo+655x6VL19eU6ZMyfb6XHl1t06dOqpTp47++9//6vPPP1fPnj2z3d4PuBPxXQDcAZYtW2a/0nby5EktWLBAe/fu1fPPPy8fHx9JUseOHTV58mS1b99evXv31smTJzV9+nRVqlTJ/u/0gtapUye1atVKL7zwgg4ePKi6devqu+++01dffaWhQ4c63O6rfv36WrlypSZPnqzQ0FCVL18+x7GikjRo0CC99957GjBggDZv3qxy5crpf//7n3788UdNmTIl12MWJ0+erN27d+vZZ59VbGys2rdvL0lavny5vvrqK7Vu3VpvvPGGw3OeeOIJTZgwQU888YQaNGigdevWac+ePdm2PWHCBK1Zs0aNGzfWk08+qRo1aujMmTPasmWLVq5cqTNnzkiS2rVrp+DgYDVr1kylSpXSrl279O6776pjx472/apfv74k6YUXXlDPnj3l5uamTp062UPv5Z5//nktXLhQERERGjx4sPz9/TV37lwdOHBAn3/+eaF/gIKLi4v++9//KiIiQjVr1tTjjz+uu+66S8eOHdOaNWvk4+OjJUuWSJJefvllxcbG6v7779ezzz5r/4OmZs2a2c5xZ78uN7M/M2fOVKdOnVSvXj09/vjjCgkJ0e7du/Xbb79lC+L9+vXTyJEjJYkhCUCWQrtPA4B8l9PtlTw9PU29evXMzJkzHW4tZIwxH3zwgalcubLx8PAw1apVMzExMWbMmDHmyh8VkkxUVNQN99GiRYvr3p7KmOy3AjPmn9tODRs2zISGhho3NzdTuXJl88Ybb2Trfffu3aZ58+bGy8vLSLrubcFOnDhhHn/8cVOyZEnj7u5uateuneMtlG70VmBZLl68aKZMmWLq169vihYtaj/u/fv3d7htU5bz58+byMhI4+vra4oXL24effRRc/LkyWy3nMrqOSoqypQpU8a4ubmZ4OBg06ZNGzN79mz7Ou+9955p3ry5CQgIMB4eHqZixYpm1KhRJikpyWFbr7zyirnrrruMi4uLw23BrrwVmDHG7N+/3zz88MPGz8/PeHp6mkaNGpmlS5c6rJN1q6tFixY5zL/WbbUul3Wubty4McflV9t+lq1bt5pu3brZ9zssLMw8+uijZtWqVQ7rxcXFmfr16xt3d3dToUIFM2vW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gGUUargdP368GjZsqOLFiysoKEhdu3ZVfHy8wzoXLlxQVFSUAgICVKxYMXXv3l0nTpxwWOfw4cPq2LGjihYtqqCgII0aNUqXLl0qyF0BAADALaBQw21cXJyioqL0888/a8WKFUpPT1e7du2UmppqX2fYsGFasmSJFi1apLi4OB0/flzdunWzL8/IyFDHjh118eJF/fTTT5o7d67mzJmjl156qTB2CQAAAIXIZowxhd1EllOnTikoKEhxcXFq3ry5kpKSFBgYqAULFujhhx+WJO3evVvVq1fX+vXr1aRJEy1btkwPPvigjh8/rlKlSkmSZs2apeeee06nTp2Su7v7desmJyfL19dXSUlJ8vHxyba83PPf5Gm/Dk7omKfnAwAA3Omul9ey3FJjbpOSkiRJ/v7+kqTNmzcrPT1dbdu2ta9TrVo1lS1bVuvXr5ckrV+/XrVr17YHW0kKDw9XcnKyfvvttxzrpKWlKTk52WECAADA7e+WCbeZmZkaOnSomjVrplq1akmSEhMT5e7uLj8/P4d1S5UqpcTERPs6lwfbrOVZy3Iyfvx4+fr62qcyZco4eW8AAABQGG6ZcBsVFaWdO3fqk08+yfdao0ePVlJSkn06cuRIvtcEAABA/itS2A1IUnR0tJYuXap169apdOnS9vnBwcG6ePGizp4963D19sSJEwoODrav88svvzhsL+tuClnrXMnDw0MeHh5O3gsAAAAUtkK9cmuMUXR0tL788kutXr1a5cuXd1hev359ubm5adWqVfZ58fHxOnz4sJo2bSpJatq0qXbs2KGTJ0/a11mxYoV8fHxUo0aNgtkRAAAA3BIK9cptVFSUFixYoK+++krFixe3j5H19fWVl5eXfH19FRkZqeHDh8vf318+Pj7617/+paZNm6pJkyaSpHbt2qlGjRrq27evJk2apMTERP3nP/9RVFQUV2cBAADuMIUabmfOnClJatmypcP8mJgYDRgwQJL09ttvy8XFRd27d1daWprCw8M1Y8YM+7qurq5aunSpnnnmGTVt2lTe3t7q37+/xo0bV1C7AQAAgFvELXWf28LCfW4BAABubbflfW4BAACAvCDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAA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0eDBgzV37lyn17oV5HReJSYmyt3dPdsfD/n1M/VK06ZNU40aNVS6dGm5u7urffv2mj59upo3b56vdU+ePKmUlBRNmDBB7du313fffaeHHnpI3bp1U1xcnNPqXO17uXfv3vr444+1Zs0ajR49Wh999JEee+wxp9W9mqw/XEaPHq2//vpLFy9e1MSJE3X06NF8/52WZenSpSpWrJg8PT319ttva8WKFSpZsqRTtm2Jj98tDJdfNatTp44aN26ssLAwffbZZ4qMjMy3ukeOHNGQIUO0YsWKPI8Hyq2qVatq27ZtSkpK0v/+9z/1799fcXFxBR5wC9pHH32kgQMH6q677pKrq6vuuece9erVS5s3b87Xup999pnmz5+vBQsWqGbNmtq2bZuGDh2q0NBQ9e/fP19rX+6DDz5QRESEU8e63qjNmzdr6tSp2rJlS6FcNS4sUVFR2rlzZ4FfScnSs2dP+9e1a9dWnTp1VLFiRa1du1Zt2rQpkB7S09P16KOPyhijmTNn5kuNzMxMNWjQQK+//rok6e6779bOnTs1a9asAv0eKyiFfV7lZNq0afr555/19ddfKywsTOvWrVNUVJRCQ0Pz9T+UmZmZkqQuXbpo2LBhkqR69erpp59+0qxZs9SiRQun1LnaMR80aJD969q1ayskJERt2rTR/v37VbFiRafUzombm5u++OILRUZGyt/fX66urmrbtq0iIiIK5M3KktSqVStt27ZNf/75p95//309+uij2rBhg4KCgvK8ba7cOomfn5+qVKmiffv25WudzZs36+TJk7rnnntUpEgRFSlSRHFxcXrnnXdUpEiRArmi4u7urkqVKql+/foaP3686tatq6lTp+Z73csFBwdLUrZ38p44ccK+zNkqVqyouLg4paSk6MiRI/rll1+Unp6uChUq5Eu9LKNGjbJfva1du7b69u2rYcOGFeiV+0OHDmnlypV64oknCqzm5b7//nudPHlSZcuWtZ/3hw4d0ogRI1SuXLlC6Sm/RUdHa+nSpVqzZo1Kly5d2O1IkipUqKCSJUvm+8+5LFnB9tChQ1qxYkW+XLWVpJCQkGx/nFevXr1Ah5oVlKudV8HBwbp48aLOnj3rsH5+/kzN8vfff+v//b//p8mTJ6tTp06qU6eOoqOj1aNHD7355pv5WrtkyZIqUqRIvr7+N/O93LhxY0kqkO+x+vXra9u2bTp79qwSEhIUGxur06dP5/vvtCze3t6qVKmSmjRpog8++EBFihTRBx984JRtE26dJCUlRfv371dISEi+1mnTpo127Nihbdu22acGDRqoT58+2rZtm1xdXfO1fk4yMzPt43cKSvny5RUcHKxVq1bZ5yUnJ2vDhg35Pv7X29tbISEh+uuvv7R8+XJ16dIlX+udP39eLi6O36qurq72Kw4FISYmRkFBQerYsWOB1bxc3759tX37dofzPjQ0VKNGjdLy5csLpaf8YoxRdHS0vvzyS61evVrly5cv7Jbsjh49qtOnT+f7zznp/4Lt3r17tXLlSgUEBORbrWbNmmW7RdOePXsUFhaWbzUL2vXOq/r168vNzc3hZ2p8fLwOHz6c7z9T09PTlZ6eXig/59zd3dWwYcN8ef1z872cdZvBgvgey+Lr66vAwEDt3btXmzZtyvffaVfjzCzBsIRcGjlypDp16qSwsDAdP35cY8aMkaurq3r16pWvdYsXL55t7J23t7cCAgIKZEze6NGjFRERobJly+rcuXNasGCB1q5dmy8BIyUlxeGv1wMHDmjbtm3y9/dX2bJlNXToUL366quqXLmyypcvrxdffFGhoaHq2rWr03uRpOXLl8sYo6pVq2rfvn0aNWqUqlWrpscffzxf6mXp1KmTXnvtNZUtW1Y1a9bU1q1bNXnyZA0cODBf62bJzMxUTEyM+vfvryJF8u9HxvVe7yvDjZubm4KDg1W1atV8r33mzBkdPnzYfp/VrF+EwcHBTr+qFRUVpQULFuirr75S8eLF7eMdfX195eXl5dRa19pvf39/vfzyy+revbuCg4O1f/9+/fvf/1alSpUUHh6er7VDQkL08MMPa8uWLVq6dKkyMjLsx8Hf31/u7u55rn+5YcOG6d5779Xrr7+uRx99VL/88otmz56t2bNnO7VOTq537jnL9c4rX19fRUZGavjw4fL395ePj4/+9a9/qWnTpmrSpEme619vP1u0aKFRo0bJy8tLYWFhiouL07x58zR58uR8rz1q1Cj16NFDzZs3V6tWrRQbG6slS5Zo7dq1eap7vWO+f/9+LViwQB06dFBAQIC2b9+uYcOGqXnz5k65xef19nvRokUKDAxU2bJltWPHDg0ZMkRdu3Z1ypv4rlU7ICBAr732mjp37qyQkBD9+eefmj59uo4dO+a820w65Z4L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165cb6NmzZpycfm/H4mlSpVS7dq17Y9dXV0VEBCgkydPOjyvadOm9q+LFCmiBg0a2Pv49ddftWbNGhUrVsw+VatWTdI/42Oz1K9f/5q9JScn6/jx42rWrJnD/GbNmuVqn811rsy6u7vf0HZ+/fVX7du3T8WLF7fvn7+/vy5cuKD9+/fL399fAwYMUHh4uDp16qSpU6cqISHhpnrdtWuX6tatK29vb/u8Zs2aKTMzU/Hx8fZ5NWvWlKurq/1xSEiI/bV64IEHFBYWpgoVKqhv376aP3++zp8/f1N9ALh9EG4B3PaaN2+u8PBwjR49OtsyFxeXbGHu8rGYWdzc3Bwe22y2HOdlZmbecF8pKSnq1KmTtm3b5jDt3bvX4d/ilwe3/FSpUiXZbLarBuJdu3YpMDBQfn5+kv7Z32sdu5SUFNWvXz/b/u3Zs0e9e/eWJMXExGj9+vW699579emnn6pKlSr6+eefnb5v13qtihcvri1btmjhwoUKCQnRSy+9pLp16+rs2bNO7wNA4SPcArCECRMmaMmSJVq/fr3D/MDAQCUmJjqENGfem/byoHbp0iVt3rxZ1atXlyTdc889+u2331SuXDlVqlTJYbqZQOvj46PQ0FD9+OOPDvN//PFH1ahR44a3ExAQoAceeEAzZszQ33//7bAsMTFR8+fP14ABA+zzAgMDHa607t271+GK5z333KO9e/cqKCgo2/75+vra17v77rs1evRo/fTTT6pVq5YWLFgg6Z8rxBkZGdfsuXr16vr111+VmprqsN8uLi6qWrXqDe97kSJF1LZtW02aNEnbt2/XwYMHtXr16ht+PoDbB+EWgCXUrl1bffr00TvvvOMwv2XLljp16pQmTZqk/fv3a/r06Vq2bJnT6k6fPl1ffvmldu/eraioKP31118aOHCgpH/uTHDmzBn16tVLGzdu1P79+7V8+XI9/vjj1w11Vxo1apQmTpyoTz/9VPHx8Xr++ee1bds2DRky5Ka28+677yotLU3h4eFat26djhw5otjYWD3wwAOqUqWKXnrpJfu6rVu31rvvvqutW7dq06ZNevrppx2ukPbp00clS5ZUly5d9P333+vAgQNau3atBg8erKNHj+rAgQMaPXq01q9fr0OHDum7777T3r177eG/XLlyOnDggLZt26Y///xTaWlp2frt06ePPD091b9/f+3cuVNr1qzRv/71L/Xt21elSpW6oX1eunSp3nnnHW3btk2HDh3SvHnzlJmZeVPhGMDtg3ALwDLGjRuXbdhA9erVNWPGDE2fPl1169bVL7/8kuOdBHJrwoQJmjBhgurWrasffvhBX3/9tUqWLClJ9qutGRkZateunWrXrq2hQ4fKz8/PYXzvjRg8eLCGDx+uESNGqHbt2oqNjdXXX3+typUr39R2KleurI0bN6pChQp69NFHFRYWpoiICFWpUsV+t4Msb731lsqUKaP7779fvXv31siRI1W0aFH78qJFi2rdunUqW7asunXrpurVqysyMlIXLlyQj4+PihYtqt27d6t79+6qUqWKBg0apKioKD311FOSpO7du6t9+/Zq1aqVAgMDtXDhwmz9Fi1aVMuXL9eZM2fUsGFDPfzww2rTpo3efffdG95nPz8/ffHFF2rdurWqV6+uWbNmaeHChapZs+ZNHTsAtwebud47CwAAljZmzBhNnjxZK1asUJMmTQq7HQDIE8ItAEAxMTFKSkrS4MGDb/qqMgDcSgi3AAAAsAz+PAcAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBl/H+cadoeLKFw0wAAAABJRU5ErkJggg==\n"
|
837 |
+
},
|
838 |
+
"metadata": {}
|
839 |
+
}
|
840 |
+
]
|
841 |
+
}
|
842 |
+
],
|
843 |
+
"metadata": {
|
844 |
+
"colab": {
|
845 |
+
"provenance": []
|
846 |
+
},
|
847 |
+
"kernelspec": {
|
848 |
+
"display_name": "Python 3",
|
849 |
+
"name": "python3"
|
850 |
+
},
|
851 |
+
"language_info": {
|
852 |
+
"name": "python"
|
853 |
+
}
|
854 |
+
},
|
855 |
+
"nbformat": 4,
|
856 |
+
"nbformat_minor": 0
|
857 |
+
}
|