CV Siddhartha Shrestha
CV Siddhartha Shrestha
PROFILE
I am an enthusiastic and curious learner continuing my development in having a career in
Artificial Intelligence and Python. I believe the key to success is none other than hard work
and curiosity for learning and making new knowledge. I have a proactive attitude and
positive engagement with people.
EDUCATION
EXPERIENCE
● Software Engineer, NLP:
Currently, I am working as a NLP Engineer on Treeleaf.ai. Here, i have been
working on several NLP projects and functionality such as chatbots , kgraph,
bot import, summarization, paraphrase, question generation, ticket suggestion
etc using different technologies such as python, java, arangodb, grpc, etc.
● Data Scientist at Wiseyak Inc.:
Here, I worked for 10 months including a 3-month internship. During my
period I got a chance to dive deep into the foundations of Machine Learning
such as probability, statistics, and linear algebra. Further, I researched various
Machine Learning Algorithms such as Linear Regression, Logistic Regression,
SVM, Decision Tree, Random forest, Adaboost, Neural Network, CNN, RNN,
etc with the mathematics behind it and its implementation.
Also, I got the chance to work with the data visualization team. Here I got a
chance to learn REACT JS and their visualization frameworks (like Victory JS,
React-Flow, vis.js) along with data manipulation and extraction for
visualization such as pandas, pdf plumber, etc. Further, using dash and its
framework VISDCC(which is using vis.js), I created a tree-structured graph
with nodes and edges along with expanding and collapse function.
PROJECTS
● Chatbots:
Recently i have worked on chatbots with many functionalities. For intent
classification i have used rasa framework with DIET classifier. Further to add
functionality, i have prepared paraphrase models if user or client wish to add
more training examples. Another major functionality was bot import where we
give user flexibility and automation to build chatbot for their company by
simply providing company’s websites URL and our system automatically
scrape data from their site and using question generation, coreference resolver
and summarization model prepares the training phases, intents and bot
responses.
And adding multilinguality my another task and i did all of the mentioned
functionality on 4 languages i.e. english, spanish, nepali and hindi.
● AutomatedReply(Knowledge Graph):
Here, i got chance to learn three new technologies i.e. JAVA, ArangoDB and
Grpc in details. And using all 3 technologies we created options for user to
have fixedReply and resolutionReply via nodes and edges. My roles here we to
make sure all the system is working well as required, optimize the pipeline and
create the well rounded document of the workflow.
● Image Captioning:
It was my second project on Computer Vision Nanodegree. Here seq2seeq model was
used i.e. encoder-decoder. In the encoder pre-trained CNN model resnet50 was used
and in the decoder, the LSTM model was used. Models were trained on GPU
provided on udacity workspace and on the COCO dataset which has 5 captions for
each image. After training loss of around 2.2 was obtained. And was able to get a
caption for the images.
● SMS SpamClassifier:
Here, the classification of SMS to spam or ham was done. Firstly cleaning of data was
done by removing stopwords, punctuations, multiply white spaces, etc using a regular
expression. Then we tokenized the SMS data given in training data followed by
stemming and lemmatizing using NLTK. Further vectorizing of data was done as the
algorithm doesn’t take text data as input. For that various method was tried i.e. Count
Vectorization, N-grams, and Tf-Idf Vectorization. Moreover, to increase features we
did features engineering by placing two new features i.e. sentence length and number
of time punctuation used in raw text. And verified using matplotlib if it would be
useful to verify spam classifier then perform power transformation to add distribution
to that data. Finally using two ML algorithm gradient boosting and Random forest
respectively, we train the preprocessed data to classify SMS. And compare the result
which gives more accurate with accurate hypermeter using GridSearchCV.
● Transformer:
Here, Language translation was done from English to Spanish (as the Nepali dataset
was difficult to get). Seq2Seq model was used i.e. encoder-decoder but instead of
using RNN we just used a feed-forward network. And the main focus was the new
technique Attention. And based on the paper “Attention is all you need” we prepared
the transformer model which was found to be quite faster as no RNN or heavy layer
was added.
SKILLS
1. Machine Learning
2. Deep Learning(Keras and Pytorch)
3. Computer Vision
4. Natural Language Processing
5. Probability and Statistics
6. Python
7. JAVA
8. ArangoDB
9. Grpc
10. Django
11. Basic React.JS (Victory.JS, ReactFlow)
12. Basic JS
13. Bootstrap