-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
446 lines (412 loc) · 22.4 KB
/
index.html
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
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Vishal Keswani</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css">
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<link rel="stylesheet" href="index.css">
<style>
* {box-sizing: border-box}
@import url('https://fonts.googleapis.com/css?family=Poppins');
/* Set height of body and the document to 100% */
body, html {
font-family: 'Poppins', sans-serif;
overflow-y: hidden;
margin: 0;
}
:root {
--rgb: rgb(255,44,90);
--rgba: rgba(255,44, 90, 0.7);
/*rightImage, work h1, container after,accordian,accordian1*/
}
/*button.tablink {
/*background-color: lightgrey;
padding: 20px;
}
@media screen and (min-width: 601px) {
button.tablink {
font-size: 80px;
}
}
@media screen and (max-width: 600px) {
button.tablink {
font-size: 30px;
}
}*/
/* Style tab links */
.tablink {
/*font-family: Georgia, serif;*/
font-family: Tahoma, sans-serif;
font-weight: bold;
background: linear-gradient(0deg,rgba(0,0,0,1),rgba(255, 255, 255, 0.7));
text-shadow: 3px 3px 6px #000;
-webkit-text-stroke-width: 0.0vw;
-webkit-text-stroke-color: black;
color: white;
float: left;
cursor: pointer;
padding: 1vw 1vh;
/*font-size: bold 50vw;*/
width: 16.666%;
border: ;
/*border: 0.2vw solid rgba(0,255,0,0.7);
text-decoration-color: black;
text-shadow: 0px 0px 8px #000000;*/
border-bottom-right-radius:1vw;
border-bottom-left-radius:1vw;
}
.tablink:hover {
color: ;
font-weight: bold;
/*background-color: #777;*/
padding: 1.3vw;
}
.tablink:onclick{
color: black;
}
/* Style the tab content (and add height:100% for full page content) */
.tabcontent {
color:rgb(0,0,0);
/*padding: 20px 20px;*/
height: 100vh;
ovrflow-y: scroll;
}
.navbar {
position: fixed; /* Set the navbar to fixed position */
top: 0; /* Position the navbar at the bottom of the page */
width: 100%; /* Full width */
}
.navbar b{
font-size: min(2.5vh,1.5vw);
}
/*#Home {background:linear-gradient(0deg,rgba(0, 0, 0, 1),var(--rgba),white);}
#Work {background:linear-gradient(0deg,rgba(0, 0, 0, 1),var(--rgba),white);}
#CV {background:linear-gradient(0deg,rgba(0, 0, 0, 1),var(--rgba),white);}
#Achievements {background:linear-gradient(0deg,var(--rgba),white,white);}
#Contact {background:linear-gradient(0deg,var(--rgba),white,white);}
#About {background:linear-gradient(0deg,var(--rgba),white,white);}*/
</style>
</head>
<body>
<div class="navbar">
<button class="tablink" onclick="openPage('Home', this,'var(--rgb)')" id="defaultOpen" > <b ><i class="fa fa-fw fa-home"> </i> HOME</b></button>
<button class="tablink" onclick="openPage('About', this,'var(--rgb)')"> <b> <i class="fa fa-fw fa-user"> </i> ABOUT</b></button>
<button class="tablink" onclick="openPage('Work', this,'var(--rgb)')"> <b> <i class="fa fa-fw fa-laptop"> </i> PROJECTS</b></button>
<button class="tablink" onclick="openPage('Achievements', this,'var(--rgb)')"> <b> <i class="fa fa-fw fa-graduation-cap"> </i> AWARDS</b></button>
<button class="tablink" onclick="openPage('CV', this,'var(--rgb)')"> <b> <i class="fa fa-fw fa-id-badge"> </i> CV</b></button>
<button class="tablink" onclick="openPage('Contact', this,'var(--rgb)')"> <b> <i class="fa fa-fw fa-envelope"> </i> CONTACT</b></button>
<!--<button class="tablink" onclick="openPage('Hobbies', this,'rgb(255, 44, 90)' )"> <b> <i class="fa fa-fw fa-paint-brush"> </i> HOBBIES</b></button>
<button class="tablink" onclick="openPage('Lists', this)"><b>LISTS</b></button>-->
</div>
<div id="Home" class="tabcontent">
<table id="top_part">
<tr>
<td id="about" style="overflow-y: hidden;">
<!--<a style="font-size:1.5vw">Welcome to my webpage!</a><br>-->
<h1>VISHAL KESWANI</h1>
<a color="black" style="font-size:2.5vw;line-height:0vw;font-family: Tahoma, sans-serif;"><b>DATA SCIENTIST</b></a><br><br><br>
<table>
<tr><td></td>
<td style="animation-delay:0.2s;"><a href="http://www.linkedin.com/in/vishalkeswani97" target="_blank" class="social"><i class="fab fa-linkedin"></i></a></td>
<td style="animation-delay:0.4s;"><a href="https://github.com/vkeswani" target="_blank" class="social"><i class="fab fa-github"></i></a></td>
<!--<td class="animated zoomIn" style="animation-delay:0.6s;"><a href="https://www.instagram.com/vishal_k97_/" target="_blank" class="social"><i class="fab fa-instagram"></i></a></td>-->
<td style="animation-delay:0.6s;"><a href="https://www.facebook.com/vishal.keswani.777" target="_blank" class="social"><i class="fab fa-facebook"></i></a></td>
<!--<td class="animated zoomIn" style="animation-delay:1.8s;"><a class="social"><i class="fab fa-dribbble"></i></a></td>
<td class="animated zoomIn" style="animation-delay:1.4s;"><a class="social"><i class="fab fa-twitter"></i></a></td>
<td class="animated zoomIn" style="animation-delay:2.0s;"><a class="social"><i class="fab fa-medium"></i></a></td>-->
<td></td> </tr>
</table>
</td>
<td id="rightImage"><img style="height: 20vw;overflow-y: hidden;" src="download.png"><div><font color="white"> <b> I hear and I forget. I see and I remember. I do and I understand.</b> ~ Confucius</font></div> </td>
</tr>
</table>
</div>
<div id="Work" class="tabcontent">
<table>
<tr>
<td>
<div>
<div id="bio4">
<h1 style="font-family: Tahoma, sans-serif;"><b>Internship Projects</b></h1>
<a>Click + to view description.</a>
<div class="container1 right">
<div class="content1">
<button class="accordion1">@Murata Vios Pvt Ltd </button>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >Object and Face detection</button>
<div class="panel">
<p>Streamlined the pipeline: converting raw images to tfrecords, training, conversion of checkpoints to tflite format. Customized Object detection (COCO dataset) and Face Detection (Open Images dataset) for Raspberry Pi 4. Trained quantized MobileNet V2 on LFW dataset & user faces, obtained Face Recognition accuracy upto 93%. Linked face detection and recognition systems, used frame-averaging and thresholding for robust predictions.</p>
</div>
</div>
</div>
<div class="container1 right">
<div class="content1">
<button class="accordion1" >@Nokia Solutions & Networks</button>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >QnA suggestion </button>
<div class="panel">
<p>Obtained word documents containing the chat threads between the clients and the care engineers (CE). Extracted e-mail bodies to csv, followed by tokenization, removal of stop words, stemming and lower casing. Used keyword search to create ’queries and CE questions repository’, mapped the two with each other. Vectorized each row using tf-idf scores, utilized for calculation of cosine-similarity measure. Performed k-means and k-medoids on client queries; for a new query, found the order of similar centroids. Reported inquiry questions for first 3 clusters (based on mapping) in decreasing order of similarity.</p>
</div>
</div>
</div>
<!--<div class="container right">
<div class="content">
<button class="accordion" >Anomaly detection in event logs</button>
<div class="panel">
<p align="justify"><font color="black">Assigned case ids to telecommunication log data (stream of unlabelled events) using an iterative EM procedure (Ferreira, 2009). Discovered process using alpha and inductive miner, the resulting petri net revealed a Spaghetti process. Performed conformance checking and classified event types as anomalous based on aggregate trace fitness score for different thresholds and submitted results for approval by domain expert.</font></p>
</div>
</div>
</div>-->
<div class="container1 right">
<div class="content1">
<button class="accordion1" >@SURGE, IIT Kanpur</button>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >Web game for decision analysis</button>
<div class="panel">
<p>Designed a web-based betting game-cum-experiment using HTML, CSS, JavaScript consisting of 4 types of trials corresponding to low and high cognitive sample size in the two settings (hedonic and utilitarian). Used the Logistic function to simulate outcomes of bets, applied Box-Muller method to generate a Random Gaussian sample used to calculate percentile of players based on total amount after every bet. Computed mean reaction times and performed outlier detection using IQR method in MATLAB, utilitarian choices seem to converge for both sample sizes while hedonic ones diverge from each other.</p>
</div>
</div>
</div>
</div>
</div>
</td>
<td>
<div>
<div id="bio4">
<h1 style="font-family: Tahoma, sans-serif;"><b>Research Projects</b></h1>
<a>Click + to view description.</a>
<div class="container right">
<div class="content">
<button class="accordion" >Hypernym Detection in Finance</button>
<div class="panel">
<p>Used Word2vec word-embeddings trained on corpus from scratch and pre-trained BERT word-embeddings. Classified embeddings using distance metrics (L2, L1), cosine-similarity and simple classifiers (Logistic, Naïve Bayes). Word2vec with Naïve Bayes & BERT with Logistic Regression gave best test accuracy of 88% & mean rank 1.2 (FinSim'2020 shared task).</p>
</div>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >Emotion analysis of memes</button>
<div class="panel">
<p>Obtained memes annotated by organizers having both text and image modalities. Implemeted CNN (image-only) and ANN (text-only), combined using SVM, RF and Neural Network. Fine-tuned BERT (text-only) and Multimodal Bitransformer (text+image). Also used Naive Bayes (text-only). ANN+Word2vec perfomred best, beat baseline Macro-F1 by 63% for the sentiment analysis task under Memotion Analysis (Task 8, SemEval'2020).</p>
</div>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >Recommendation system</button>
<div class="panel">
<p>Explored different algorithms from the extreme multi-label classification repository (manikvarma.org). Parabel, PfastreXML and FastXML were the top picks based on performance on most evaluation metrics. Trained the three on a dataset of 10k users, represented by ~16k features, with ~3k labels of interest. FastXML performed overall best with model size 1.42mb, prec@1 80.4% & prec@3 49.7% on test dataset.</p>
</div>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >Tradewar sentiment analysis</button>
<div class="panel">
<p>Extracted twitter data (~10m tweets) filtered by keyword ‘tradewar’ from Jan 2018 (beginning of US-China trade war). Performed data preprocessing - lowercasing, removing stop words etc, & replacing emoticons with words. Trained Naive Bayes, Maximum Entropy and Decision Tree classifiers. Naive Bayes gave the best accuracy (~74%) and least training time on sample. Classified tweets as positive/negative, classification probabilities gave a polarity score for each tweet. Aggregated polarity scores to get daily trend, hence, constructed a subjective proxy for policy decisions.</p>
</div>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >Time Series Forecasting</button>
<div class="panel">
<p>Obtained seasonally adjusted real US GDP (quarterly) from the U.S. Bureau of Economic Analysis. Autocorrelation function, Dickey-Fuller & Phillips-Perron tests supported first differencing for stationariy. Used 9:1 train-test split due to high prediction time and walk-forward validation (rolling forecasts). Used MSE for tuning and model evaluation, ARIMA(1,1,1) performed best among econometric models. LSTM showed ~23% reduction in test MSE with 2 neurons & 18% with just 1 (batch-size = 1, epochs = 10).</p>
</div>
</div>
</div>
<div class="container right">
<div class="content">
<button class="accordion" >Matrix Factorisation on MNIST</button>
<div class="panel">
<p>Implemented PCA & NMF from scratch, performed dimensionality reduction on MNIST digits for K=2,3. Plotted transformed data in 2D and 3D, basis vectors and reconstructed samples for the two cases. Used NMF for image classification and obtained an accuracy of around ~80% on test data for K=3.</p>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
<div id="Contact" class="tabcontent">
<div id="bio">
<h1 style="font-family: Tahoma, sans-serif;">Contact</h1>
<table>
<!-- <tr>
<td><i class="fas fa-phone"></i> +91 8741 867 137</td>
</tr>-->
<tr><td><i class="fas fa-at"></i> [email protected] </td>
</tr>
<tr></tr>
<tr><td><i class="fab fa-google"></i> [email protected]</td>
</tr>
<tr></tr>
<tr><td><i class="fab fa-linkedin"></i> <a href="http://www.linkedin.com/in/vishalkeswani97" target="_blank">LinkedIn</a></td>
</tr>
<tr></tr>
<tr><td><i class="fab fa-facebook"></i> <a href="https://www.facebook.com/vishal.keswani.777" target="_blank">Facebook</a></td>
</tr>
<tr></tr>
<tr><td><i class="fas fa-map-marker-alt"></i> Ajmer, Rajasthan </td>
</tr>
<!-- <tr>
<td>
<a class="social"><i class="fab fa-facebook"></i></a>
<a class="social"><i class="fab fa-twitter"></i></a>
<a class="social"><i class="fab fa-instagram"></i></a>
<a class="social"><i class="fab fa-dribbble"></i></a>
<a class="social"><i class="fab fa-medium"></i></a>
</td>
</tr>-->
</table>
</div>
</div>
<div id="About" class="tabcontent">
<div id="bio" align=justify>
<h1 style="font-family: Tahoma, sans-serif;">About me</h1>
<font color="black" >
<p padding-left='10vw'> Hi, I am Vishal. I am a dual degree student at <b>IIT Kanpur</b>. I have a minor degree in <b>Machine Learning</b>. I work in the fields of <b>Natural Language Processing</b>, Machine Learning and Econometrics. I aspire to make a career in the same and have done many relevant projects and courses. My projects have been in Sentiment Analysis, Recommendation Systems, Image Processing, Matrix Factorization, Time Series forecasting etc. If you want to collaborate with me, please visit the Contact section. </font></p>
<p> <font color="black" >
I have worked in <b>Python</b>, MATLAB, R, C and C++ depending on the course and project requirements. I am also familiar with web technologies, including HTML, CSS, JavaScript and SQL. I have used many python packages including <b>TensorFlow</b>, <b>Pytorch</b>, Pm4Py, NumPy, Pandas, Nltk, Keras, TextBlob, ScikitLearn etc. I am comfortable with both Linux and Windows and did a course in bash scripting.
</font>
</p>
<p> <font color="black" >
I took part in international challenges under <b>SemEval-2020</b> and <b>FinNLP-2020</b> in which my team stood first. Check out the corresponding <a href="https://www.aclweb.org/anthology/people/v/vishal-keswani/" target="_blank"><b>PUBLICATIONS</b></a>.
</font>
</p>
</div>
</div>
<div id="CV" class="tabcontent">
<table><tr><td><div id="bio4">
<h1 style="font-family: Tahoma, sans-serif;">Resume</h1>
<!--<a href="https://drive.google.com/open?id=1usMXyoAK_xnZwtU_NrI-ccNua1PRBWI3" target="_blank"></a>-->
<embed src="Resume_Vishal_Keswani.pdf" type="application/pdf" width="100%" height="80%" />
</div></td><td>
<div id="bio4">
<h1 style="font-family: Tahoma, sans-serif;">CV</h1>
<!--<a href="https://drive.google.com/open?id=1LWiR8pfRoDeFGNAU1rGOVwy49CviGJ6q" target="_blank"></a>-->
<embed src="CV_Vishal_Keswani.pdf" type="application/pdf" width="100%" height="80%" />
</div></td></tr></table>
</div>
<div id="Achievements" class="tabcontent" style="overflow-y:scroll;overflow-x: hidden;">
<div id="bio2" style="overflow-y:scroll;">
<h1 style="font-family: Tahoma, sans-serif;align:justify">Academics</h1>
<ul >
<li><b>Ranked 1st</b> in the FinSim Shared Task organised under <b>FinNLP-2020</b> International Workshop</li>
<li><b>Stood 1st</b> in Task A of Memotion Analysis organised under <b>SemEval-2020</b> International Workshop</li>
<li>Received <b>Commendation Certificate</b> for excellent performance under the <b>SURGE’2018</b> program </li>
<li>Bagged the <b>Best Staff’s Pick Project Award</b> in the Technical Arts course in a batch of 380</li>
<li>Ranked in <b>top 0.05%</b> in JEE Mains (City Rank 1) and <b>top 0.15%</b> in JEE Advanced (City Rank 2)</li>
<!--<li>Secured AIR 538 in JEE Mains 2016 out of 1.5 million candidates with City Rank 1</li>-->
<li>Received <b>Certificate of Merit</b> from K.V.S. for standing in the <b>top 1.5%</b> in C.B.S.E. examination</li>
</ul>
</div>
<div id="bio3">
<h1 style="font-family: Tahoma, sans-serif;align:justify">Extra-curriculars</h1>
<ul >
<li>Secured the <b>1st position</b> in <b>British Parliamentary Debate</b> in Galaxy'2017 (Inter-pool cultural fest of IITK)</li>
<li>Became <b>School Captain</b> of Kendriya Vidyalaya 1, Ajmer, also won <b>Best Student Award</b> in 12th standard</li>
<li><b>Best Speaker</b> from region in <b>Youth Parliament Competition</b>'2013-14 at the Zonal level (5 zones in India)</li>
<li><b>Captained</b> School Cricket Team of E.P.S. Ajmer and won <b>Fair-Play Award</b> in an open cricket tournament</li>
<li>Stood in <b>top 150</b> in Tata Building India Essay Competition among <b>2 million participants</b> in 2010-11 & 11-12</li>
</ul>
</div>
</div>
<div id="Hobbies" class="tabcontent">
<h1>work</h1>
<div id="photos">
<table width="100%"><tr><img onclick="magnify($(this).attr('src'))" src="43.jpg#w=1000&q=100"></tr>
<tr><img onclick="magnify($(this).attr('src'))" src="40.jpg#w=967&q=80">
<img onclick="magnify($(this).attr('src'))" src="41.jpg#w=967&q=80">
<img onclick="magnify($(this).attr('src'))" src="42.jpg#w=650&q=80"></tr></table>
</div>
</div>
<script>
function includeHTML() {
var z, i, elmnt, file, xhttp;
/*loop through a collection of all HTML elements:*/
z = document.getElementsByTagName("*");
for (i = 0; i < z.length; i++) {
elmnt = z[i];
/*search for elements with a certain atrribute:*/
file = elmnt.getAttribute("w3-include-html");
if (file) {
/*make an HTTP request using the attribute value as the file name:*/
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {elmnt.innerHTML = this.responseText;}
if (this.status == 404) {elmnt.innerHTML = "Page not found.";}
/*remove the attribute, and call this function once more:*/
elmnt.removeAttribute("w3-include-html");
includeHTML();
}
}
xhttp.open("GET", file, true);
xhttp.send();
/*exit the function:*/
return;
}
}
};
function openPage(pageName, elmnt, color) {
// Hide all elements with class="tabcontent" by default */
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Remove the background color of all tablinks/buttons
tablinks = document.getElementsByClassName("tablink");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].style.backgroundColor = "";
tablinks[i].style.Color = "";
}
// Show the specific tab content
document.getElementById(pageName).style.display = "block";
//document.getElementById(pageName).style.color = black;
// Add the specific color to the button used to open the tab content
elmnt.style.backgroundColor = color;
}
// Get the element with id="defaultOpen" and click on it
document.getElementById("defaultOpen").click();
var acc = document.getElementsByClassName("accordion");
var i;
function min(a,b){
if (screen.width<screen.height){
return b;
}
return a;
}
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function() {
/* Toggle between adding and removing the "active" class,
to highlight the button that controls the panel */
this.classList.toggle("active");
/* Toggle between hiding and showing the active panel */
var panel = this.nextElementSibling;
if (panel.style.display === "block") {
panel.style.display = "none";
} else {
panel.style.display = "block";
}
});
}
</script>
<script src="index.js" type="text/javascript"></script>
</body>
</html>