Narendra Nath Joshi

Machine Learning Engineer @ Adobe


Interests: Machine Learning, Deep Learning, Natural Language Processing




  • Python
  • Java
  • JavaScript
  • C
  • Matlab

Machine Learning/Deep Learning

  • Keras
  • TensorFlow
  • PyTorch
  • Python scikit-learn
  • Stanford CoreNLP
  • Python NLTK

Web and Mobile

  • HTML
  • CSS
  • JavaScript
  • MySQL
  • MongoDB
  • Flask
  • Django
  • React
  • Node.js
  • AWS




Machine Learning Engineer
(Mar 2022 - present) San Jose CA

Machine Learning engineering at Adobe

TECHNOLOGIES: Python, Hadoop, TensorFlow, Keras, scikit-learn, PyTorch

IBM Research

IBM Research

Research Engineer (AI/Machine Learning)
(Mar 2018 - Feb 2020) Cambridge MA
(Mar 2020 - present) San Jose CA

Developed LSTM-based sequential models, deep clustering models, and active learning models for efficient AI-assisted data labeling suggestions and labeling conflict resolution

Built an LSTM-based RNN model with multi-class logistic regression text classifier to predict which AI conference a paper will get accepted to given the title and the abstract

Served as the AI subject matter expert for an exploratory science project in generative AI techniques by reviewing the literature, advising on techniques and building demonstrations using LSTMs, autoencoders, transformers, BERT, and other state-of-the-art models

Trained chatbots with Watson Assistant, developed classifiers to detect egregious (outstandingly bad) conversations, and built a public demonstration to showcase conversational breakdowns and how chatbots recover from bad conversations

Trained convolutional neural networks for MNIST digit image classification and generated adversarial images to attack the CNNs and built a public demonstration illustrating the concept of CLEVER scores and how they relate to neural network robustness

Mentored and worked with two interns on deep learning projects to generate a dataset of text captions from labeled videos and AI-assisted data labeling conflict resolution respectively

TECHNOLOGIES: Python, TensorFlow, Keras, scikit-learn, PyTorch, JavaScript

Disney Research

Disney Research

Research Intern
(May 2017 - Aug 2017) Pittsburgh PA

Built a speech-based conversational agent for kids with responsive listening features like backchanneling (automatically saying ’uh huh’ and ’hmm’ during conversations)

Worked on MART-based (Multiple Additive Regression Trees) ensemble models for backchannel time and occurrence prediction, kids emotion level prediction and turn-taking time prediction for the conversational agent

Evaluated human-likeness of the agent using conversations with 40 real kids aged 7-11 and obtained satisfactory results from expert human annotation evaluation despite automatic speech recognition challenges with this population

TECHNOLOGIES: Python, Bash, openSMILE, scikit-learn

Carnegie Mellon University

Carnegie Mellon University

Teaching Assistant
(Jan 2017 - May 2017) Pittsburgh PA

Teaching assistant for Mobile and IoT Computing Services (08-781/08-766/45-887/45-987) in Spring 2017

Carnegie Mellon University

Carnegie Mellon University

Research Assistant
(Sep 2016 - May 2017) Pittsburgh PA

Consulting as a web developer on a research project in Social and Decision Sciences department

Sensara Technologies, Bangalore, India

Sensara Technologies (Early-Stage Startup)

Product Engineer
(Aug 2015 - Jul 2016) Bangalore, India

Built and deployed the full stack for an open, real-time semantic B2B search engine of television ads in Indian TV channels

Implemented and integrated full-text and facet-supported search using Apache Solr, Apache Lucene, and information retrieval algorithms like Learning-to-Rank

TECHNOLOGIES: Python, Bash, NLTK, Django, MySQL, Jinja, HTML/CSS

Intuit Inc., Bangalore, India

Intuit Inc.

Software Engineer Intern
(Jan 2015 - Jul 2015) Bangalore, India

Worked on maintaining and testing REST APIs as part of Mint Platform team


PES Entrepreneurship Cell, Bangalore, India

PESIT Entrepreneurship Cell

Co-Founder and Core Member
(Mar 2014 - Apr 2015) Bangalore, India

Founding and core member of the publications team of PESIT Entrepreneurship Cell and was responsible for the management and reporting events.

Ordell Ugo, PESIT, India

Ordell Ugo

Member, Technical Staff
(Jun 2012 - Jun 2014) Bangalore, India

Part of research team which analysed voluminous agricultural data and studied patterns of sowing and harvesting to suggest crops to farmers for the next sowing season so as to optimise profits.


Carnegie Mellon University, Pittsburgh PA

Masters in Intelligent Information Systems
(Aug 2016 - Dec 2017)

Carnegie Mellon University, Pittsburgh PA

Machine Learning
Language and Statistics
Advanced Multimodal Machine Learning
Machine Learning for Text Mining
Deep Learning
Search Engines
Lean Entrepreneurship

Coursera (

Data Mining Specialization

Coursera (

Pattern Discovery and Data Mining
Text Retrieval and Search Engines
Cluster Analysis in Data Mining

PES Institute of Technology, Bangalore, India

Bachelors in Engineering, Computer Science
(2011 - 2015)

PES Institute of Technology, Bangalore, India

Data Structures
Data Mining
Natural Language Processing
Web Technologies
Mobile Systems Engg
Operating Systems
Computer Architecture
Computer Networks
Social Network Analysis


Visual Question Answering

Carnegie Mellon University, Pittsburgh PA

Python, Keras, TensorFlow
  • Research project analyzing the Kernel Neural Ranking Model for search results using click log data from
  • Created and conducted variance tests and determined latent matching patterns in the neural ranking model
  • Developed improved ensemble search neural ranking models by studying word pair movements in word embeddings
  • Achieved a 21% increase on NDCG@1, 14% increase on NDCG@3 and 14% increase on MRR compared to the original model

Visual Question Answering

Carnegie Mellon University, Pittsburgh PA

Python, Caffe, Keras, TensorFlow
  • Implemented a deep learning system for visual question answering using the MSCOCO dataset and neural module networks
  • Experimented with versions of CNNs (convolutional neural networks) for image processing and understanding and LSTMs for natural language processing and understanding
  • Achieved 57.1% overall accuracy on the VQA challenge leaderboard compared to the state-of-the-art of 58.0%

Automatic Gap-Fill Question Generation

Carnegie Mellon University, Pittsburgh PA

Python, NLTK, Stanford CoreNLP
  • Used Wikipedia corpus and applied unsupervised techniques and word embeddings for multiple choice question generation with three wrong but convincing options
  • Created a statistical automatic evaluation technique (QQS - Question Quality Score) for multiple choice question generation
  • Obtained an average QQS of 71% on various data sources like Harry Potter and research papers, verified against human annotators

Driver Fatigue Detection System

PES Institute of Technology, Bangalore, India

Python, OpenCV, NumPy, HTML, JavaScript
  • Computer Vision based project focused on real-time driver fatigue detection by video processing on face
  • Detected yawns and measured eye blink durations and frequencies to determine if the driver was drowsy
  • Achieved 89.3% accuracy and 97% recall on 27 real volunteer drivers, was judged Best Capstone project for social impact
  • Published in IEEE International Conference on Signal and Image Processing, China 2016 [IEEE link]

Customer Care Bot for Mobile Phones

PES Institute of Technology, Bangalore, India

Python, NLTK, NumPy, SciPy
  • Built a chatbot that accepts and answers English queries ranging from the price of a particular model to feature comparison between two devices
  • Used in-house data to train question-answering model using n-gram models, MaxEnt classifiers and Markov models
  • Achieved 65% precision and 71% recall on human volunteers, best in our class

News Article Classifier

Carnegie Mellon University, Pittsburgh PA

Python, scikit-learn, NumPy
  • Built a news article classifier to classify whether it is a real news article or a fake article generated from a tri-gram language model
  • Implemented features like n-gram language model perplexity, type-token ratio, burstiness, sentence length distribution, topic modelling, Flesch-Kincaid readability tests and Jaccard similarity
  • Experimented with various classification techniques such as Support Vector Machines, neural networks and boost classifiers and achieved classification accuracy of 95.5% on test data

QryEval Search Engine

Carnegie Mellon University, Pittsburgh PA

Java, Lucene
  • Built a search engine from scratch as a part of a course requirement
  • Experimented and implemented information retrieval algorithms like exact-match Unranked Boolean, Ranked Boolean and best-match BM25 and Indri algorithms
  • Implemented result re-ranking techniques like query expansion, Learning to Rank (LeToR) and query diversification
  • Evaluated performance based on metrics like MAP (Mean Average Precision), Precision@k and NDCG (Normalized Discounted Cumulative Gain)

Question Generation using Dialog Data

Carnegie Mellon University, Pittsburgh PA

Python, NLTK, Stanford CoreNLP
  • Worked on SmartReader, an automatic question generation system from dialog data under Prof. Teruko Mitamura meant for teaching high school kids English
  • Used Bolt English discussion forums from UPenn LDC as dataset and applied supervised techniques at named entity recognition and co-referencing and event co-referencing
  • Generated questions and answers using template-based techniques from co-references with 72.2% usage ratio

Infra - Android-based Remote Control for PC

PES Institute of Technology, Bangalore, India AND Intuit, Bangalore, India

Android, Networks, Socket Programming
  • Developed an Android application which facilitates the control of a PC or desktop through an Android app interfacing via the internet
  • Project requirement as part of the Mobile Systems and Engineering course

WTP (WTP for Typing Party)

PES Institute of Technology, Bangalore, India

HTML, JavaScript, PHP
  • Developed a JavaScript-based typing game as a part of the Web Technologies course in a team of two
  • The game tests and improves the typing speed of a user with different modes of gameplay
  • Developed in HTML/CSS/JavaScript and PHP/MySQL

User Behavior Analysis using Browser Activity

PES Institute of Technology, Bangalore, India

HTML, JavaScript, CSS, Itemset Mining
  • Developed a Chrome browser extension to draw heatmaps of the user's mouse behavior (movements and clicks) and analyze the same to predict user behavior and provide intelligent browsing suggestions

Agri Yield Consumption and Mill Data Analytics

Ordell Ugo, Bangalore, India

Java, Python, HTML, JavaScript, PHP
  • Worked on a research project which spanned over fifteen months involving data analysis and prediction
  • Analysed voluminous agricultural data and studied patterns of sowing and harvesting
  • Created a set of time series which help us estimate methods by which to suggest crops to farmers for the next sowing season so as to optimise profits

Timetable Generator

PES Institute of Technology, Bangalore, India

Java, HTML, JavaScript
  • Built a Timetable Generator, an application which generates valid and legitimate timetables for educational institutions depending on their courses and workload
  • Developed in Java as a part of the Algorithms course in a team of three

Publications and Conferences

AI-Assisted Data Labeling with Interactive Auto Label

AAAI 2022

Designing Ground Truth and the Social Life of Labels

CHI 2021

Increasing the Speed and Accuracy of Data Labeling Through an AI-Assisted Interface

IUI 2021

AI-Assisted Data Labeling

NeurIPS 2020

Fast and Automatic Visual Label Conflict Resolution

NeurIPS 2020

AI-Assisted Human Labeling: Batching for Efficiency without Overreliance

CSCW 2020

Cultivating Human Expertise Through AI-Assisted Data Science

KDD 2020

BigBlueBot: teaching strategies for successful human-agent interactions

IUI 2019

Learning from Team and Group Diversity: Nurturing and Benefiting from our Heterogeneity

CSCW 2019

"How can this Paper get in?" - A game to advise researchers when writing for a top AI conference

NeurIPS 2019

Game for Detecting Backdoor Attacks on Deep Neural Networks using Activation Clustering

NeurIPS 2018

Fool the Bank

CVPR 2019

Consistency and Variation in Kernel Neural Ranking Model

SIGIR 2018
(ACM Link, Arxiv Link)

BigBlueBot: A Demonstration of How to Detect Egregious Conversations with Chatbots

NeurIPS 2018

Textually Enriched Neural Module Networks for Visual Question Answering

Arxiv Link

Driver fatigue detection system

( IEEE Link)


Published guest author on KDnuggets


Published by KDnuggets for machine learning series on Medium [Link]

Selected as the best capstone project in the class of 2015 under the Social Impact category

Prakalpa 2015

PESIT’s annual fair to showcase the best innovative projects of that academic year

Won Android-based hackathon

Intuit, 2014

Developed an app which could interface with a laptop or a PC with advanced functions like file operations, media handling and administrator functions

Stood 2nd

Google India Technology Quiz


Stood 2nd

eBay University Programs Technology Quiz

Campus Level

Finalist (top three)

SAP Lumira University Program hackathon, 2014

Developed an algorithm which compared phone apps on different app markets and determined which app is performing better on which app stores using rule- based regression

Finalist (top five)

Ayana, PESIT's annual flagship hackathon 2014

Developed a prototype of a web browser extension which studied and learnt user behaviour patterns by mapping and generating heatmaps of mouse movements and clicks

Finalist (top ten)

IBM The Great Mind Challenge 2012

Developed an application framework which provides train passengers a better travel experience by providing them fresh and wholesome food, thereby enabling employment opportunities in rural areas


TagMe Machine Learning Competition 2014, Indian Institute of Science

Developed an image classifier using supervised learning techniques