Hi! I'm Keith Rebello

and I want to make conversational agents that understand people

Take a look at
my projects

Explorations from conversational AI to HRI

More about
my published work

Spanning affective computing, embodied conversational agents,
natural language processing and machine learning

About me.

My dream is to make a world where everyone has someone.
Right now, the world is filled with people, both young and old, who don't have anyone. Even people with support systems might sometimes feel like they can't share things affecting them right when they need to. Artificial agents could offer that hand to people in need who might otherwise not have access to a human friend.

The goal isn't to replace humans; it's to help those who don't have immediate access to good support and are in need.

My research interests are creating empathic conversational agents capable of understanding humans the way humans do and conveying that understanding so they feel heard. Using my background in human-computer interaction, artificial intelligence, and mental health, I explore ways to make these agents real.

I am pursuing my master's in Artificial Intelligence from Northeastern University . For my master's thesis, I am building a hierarchical multimodal computational model of empathy for a Furhat robot. I want to study whether this implementation elicits feelings of being understood in humans who have conversations with it.

I also work part-time as a Research Assitant for the Relational Agents Group Lab, where I talk to robots and great people.

For a detailed summary, have a look at my up-to-date resume here,

My
Certifications

Here are my certifications
grouped by different domains of interest.

  • Natural Language Processing

    deeplearning.ai October 2020

    4 course Specialization from Coursera. Learned the classical machine learning skills and the state-of-the-art deep learning techniques needed to build NLP systems which equipped me with the skills to design applications that perform question-answering and sentiment analysis, create tools to translate languages and summarize text, and build chatbots.

  • AI for Medicine

    deeplearning.ai June 2020

    4 course Specialization from Coursera. Apllied Artificial Intelligence for Medical Diagnosis, Artificial Intelligence for Medical Prognosis and Artificial Intelligence for Medical Treatment

  • Mind and Machine

    University of Colorado Boulder (May 2020)

    4 course Specialization from Coursera. Covered topics such as What is “the mind” and what is artificial intelligence?, Methods for Solving Problems, Computational Vision Interpersonal, Developmental and Evolutionary Perspectives of the Mind

  • Advanced Machine Learning with TensorFlow on Google Cloud Platform

    Google Cloud (August 2019)

    5 course Specialization from Coursera. Learnt end-to-end machine learning with TensorFlow on GCP, Production Machine Learning Systems Image Understanding with TensorFlow on GCP, Sequence Models for Time Series and Natural Language Processing, Recommendation Systems with TensorFlow on GCP.

  • Natural Language Processing with Attention Models

    deeplearning.ai (Courersa October 2020)

    Learned to translate complete English sentences into German using an encoder-decoder attention model, Build a Transformer model to summarize text, use T5, and BERT models to perform question-answering, and build a chatbot using a Reformer model. Through the coursework, I designed NLP applications that perform question-answering and sentiment analysis, created tools to translate languages and summarize text, and even built a chatbot dealing with general open domain question answering.

  • Natural Language Processing with Classification and Vector Spaces

    deeplearning.ai (Courersa July 2020)

    Learnt about traditional natural language processing techniques such as extract features from text into numerical vectors to build a binary classifier for tweets using a logistic regression, Bayes' rule for conditional probabilities to apply it toward building a Naive Bayes tweet classifier, create word vectors that capture dependencies between words to visualize their relationships in two dimensions using PCA, and to transform word vectors and assign them to subsets using locality sensitive hashing in order to perform machine translation and document search.

  • Natural Language Processing with Probabilistic Models

    deeplearning.ai (Courersa July 2020)

    This course explained topics in NLP such as autocorrect, minimum edit distance, and dynamic programming to then build a spellchecker to correct misspelled words, Markov chains, and Hidden Markov models to then use them to create part-of-speech tags for a Wall Street Journal text corpus, how N-gram language models work by calculating sequence probabilities to then build your own autocomplete language model using a text corpus from Twitter and how word embeddings carry the semantic meaning of words, which makes them much more powerful for NLP tasks to then build a Continuous bag-of-words model to create word embeddings from Shakespeare text.

  • Natural Language Processing with Sequence Models

    deeplearning.ai (Courersa August 2020)

    The course taught me how to train a neural network with GLoVe word embeddings to perform sentiment analysis of tweets, generate synthetic Shakespeare text using a Gated Recurrent Unit (GRU) language model, train a recurrent neural network to perform named entity recognition (NER) using LSTMs with linear layers, and use so-called ‘Siamese’ LSTM models to compare questions in a corpus and identify those that are worded differently but have the same meaning.

  • Machine Learning Foundations: A Case Study Approach

    University of Washington (Courersa July 2020)

    The outcomes of this course are to able to identify potential applications of machine learning in practice, describe the core differences in analyses enabled by regression, classification, and clustering, select the appropriate machine learning task for a potential application, apply regression, classification, clustering, retrieval, recommender systems, and deep learning, represent your data as features to serve as input to machine learning models, assess the model quality in terms of relevant error metrics for each task, utilize a dataset to fit a model to analyze new data, build an end-to-end application that uses machine learning at its core and implement these techniques in Python.

  • Machine Learning

    Stanford University (Courersa October 2018)

    This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.

  • Synapses, Neurons and Brains

    Hebrew University of Jerusalem (Coursera June 2020)

    Did an introductory course to neuroscience which introduces several differents of the field such as the history of the field, the components of the brain, passive and active electrical signals, neurons as plastic/Dynamic devices, Cable Theory and dendritic computations, cortical networks, perception, action, cognition, and emotions as well as fascinating discussions from synapses to free will.

  • Understanding child development: from synapse to society

    Utrecht University (Coursera May 2020)

    The course focused on child development and covered topics such as an introduction to Dynamics of Youth, Brain, and motor development, Cognitive development, Communication, Social-emotional development, and finally how all these components work together.

  • Dog Emotion and Cognition

    Duke University (Coursera May 2020)

    Through this course, I was introduced to cognition through the study of Dog cognition and emotion which introduced me to evolutionary and cognitive theory, learn about experimental methodology, cognitive psychology, and evolution, understand how the internal processes of the mind are studied through experiments and gave me an ecological approach to cognition through an evolutionary lens

  • Emotions: a Philosophical Introduction

    Universitat Autònoma de Barcelona (Coursera May 2020)

    Questions explored by this course include What are emotions? how many emotions exist? Where do emotions come from? and What does a plant feel? The course also discusses a neuroanthropological approach to emotions: from neurons to societies, the philosophies on emotions, and 21st Century & emotions: affective computing and sociable robots.

  • Introduction to Philosophy

    The University of Edinburgh (Coursera April 2020)

    As an introductory course, it covers what Philosophy is, epistemology, minds, brains, and computers as well as topics like free will and time travel.The course approached the topics from a foundation perspective offering interesting discussions into very relevant questions as well ample resources to more material for every topic.

  • Introduction to Psychology

    University of Toronto (Coursera December 2019)

    This course highlights the most interesting experiments within the field of psychology, discussing the implications of those studies for our understanding of the human mind and human behavior. it explores the brain and some of the cognitive abilities it supports like memory, learning, attention, perception, and consciousness. It also examines human development, both in terms of growing up and growing old, and also discusses how the behavior of others affect our thoughts and behavior. Finally, it discusses various forms of mental illness and the treatments that are used to help those who suffer from them.

  • Philosophy and the Sciences: Introduction to the Philosophy of Cognitive Sciences

    The University of Edinburgh (Courersa October 2019)

    This course explored cognitive philosophy by covering topics such as consciousness, evolutionary theory, embodied cognition, the philosophy of mind, intelligent machines and the human brain.The course approached the topics from a foundation perspective offering interesting discussions into very relevant questions as well ample resources to more material for every topic.

  • Computational Neuroscience

    University of Washington (Courersa July 2019)

    This course explores computational neuroscience in quite heavy depth by covering topics such as introduction to basic neurobiology, neural encoding and decoding models, information theory and neural coding, computing in carbon, computing with networks, plasticity in the brain and learning, and learning from supervision and rewards.

  • Neo4j Certified Professional.

    Neo4j (August 2019)

    Learnt how organization utilize graphs for their functioning. This certification covered Neo4j and its applications in depth. I also learned it's programming language Cypher which allows you to query and build knowledge graphs within the Neo4j software.

  • The Arts and Science of Relationships: Understanding Human Needs

    University of Toronto (Coursera May 2020)

    This course explained basic concepts of The Strategies and Skills Learning and Development System (SSLD), their relevance for every day relationships and provide advanced concepts for participants who work in fields of social work and health care, basic practice principles and methods of SSLD, illustrated by relationship management case studies, the SSLD framework for relationship management assessment; N3C (needs, circumstances, characteristics, capacity) and problem translation, core competencies in the relationship management application of the SSLD system: Observation learning, simulation, real-life implementation, review, and monitoring.

  • Social Psychology

    Wesleyan University (Coursera May 2020)

    This course covered a wide variety of topic from social psychology such as social perceptions and misperceptions, the psychology of self-presentation and persuasion, obedience, conformity, and deindividuation, group behavior, helping, hurting, peacemaking, empathy, romantic attraction, and close relationships.

  • Understanding Memory: Explaining the Psychology of Memory through Movies

    Wesleyan University (Coursera May 2020)

    This course taught me about memory through the lens of how it has been correctly (or incorrectly) portrayed but explored in different movies. Topics discussed include memory processes, making long-lasting memories, autobiographical memories and life stories as well as discussions on amnesia, senior moments, forgetfulness, and dementia.

  • Psychological First Aid

    Johns Hopkins University (Coursera April 2020)

    Developed in collaboration with Johns Hopkins Open Education Lab, this course aims to discuss key concepts related to psychological first aid, listen reflectively and differentiate benign, non-incapacitating psychological/ behavioral crisis reactions from more severe, potentially incapacitating crisis reactions, to prioritize (triage) psychological/ behavioral crisis reactions, mitigate acute distress, and dysfunction, as appropriate and to recognize when to facilitate access to further mental health support and also practice self-care.

  • Virtual Experience Program Participant

    ANZ (InsideSherpa June 2020)

    The program offered a practical experience into data analysis by simulating real-life tasks and expected submissions. It gave me a good insight into how data analysis is performed by organizations to meet client requirements.Tasks Completed include data segmentation, visualization, data analytics and predictive analytics

  • Virtual Experience Program Participant

    KPMG (InsideSherpa June 2020)

    The program offered a practical experience into data analysis by simulating real-life tasks and expected submissions. It gave me a good insight into how data analysis is performed by organizations to meet client requirements.Tasks Completed include data quality assessment, deriving data insights and data insights and presentation

My
Publications

Here are my publications
and also my manuscripts in progress.

  • Training lay counselors with virtual agents to promote vaccination

    IVA '22: Proceedings of the 22nd ACM International Conference on Intelligent Virtual Agents, September 2022

    Training laypeople to promote vaccination among their friends and family may be an effective way to boost the reach of vaccination interventions. We describe a virtual agent system that teaches laypeople communication and counseling skills using a combination of a pedagogical agent as well as a role-playing agent that takes on the persona of someone resistant to vaccination. We conducted a preliminary evaluation of the prototype, in which trainees first interacted with the prototype and then had a recorded conversation with a second person who was unvaccinated. Firstly, we found that trainees were mostly adherent to the skills taught by the agent. Secondly, there was a positive correlation of change in unvaccinated individuals' intent to get vaccinated with objective scores of display of empathy by the trainee during their conversation. Thirdly, unvaccinated partners rated the trainees high on relationship quality and use of empathic listening skills.

  • Graph-Based Transfer Learning for Conversational Agents (July 2020)

    DOI: 10.1109/ICCES51350.2021.9489179 Publisher:(IEEE) 2021 6th International Conference on Communication and Electronics Systems (ICCES)

    Graphs have proved to be a promising data structure to solve complex problems in various domains. Graphs store data in an associative manner which is analogous to the manner in which humans store memories in the brain. Generathe chatbots lack the ability to recall details revealed by the user in long conversations. To solve this problem, we have used graph-based memory to recall-related conversations from the past. Thus, providing context feature derived from query systems to generative systems such as OpenAI GPT. Using graphs to detect important details from the past reduces the total amount of processing done by the neural network. As there is no need to keep on passingthe entire history of the conversation. Instead, we pass only the last few pairs of utterances and the related details from the graph. This paper deploys this system and also demonstrates the ability to deploy such systems in real-world applications. Through the effective usage of knowledge graphs, the system is able to reduce the time complexity from O(n) to O(1) as compared to similar non-graph based implementations of transfer learning- based conversational agents.

  • Energy-efficient Face Recognition Authentication System Using Human Detection IoT Modules(April 2020)

    DOI: 10.1109/CSCITA47329.2020.9137776 Publisher: IEEE

    The application of effective techniques like facial recognition and object detection in the domain of IoT has revolutionized the levels of control and accuracy sensors have had for a variety of purposes. Face recognition modules have established their immense usefulness, and their impact has overweighed most other traditional forms of access control. It remains one of the most secure methods to authenticate human beings to grant them access to restricted areas or systems in an organization. However, this incomparable rise in accuracy comes with a relatively huge price. The algorithms used in facial recognition are complex mathematical functions that are iteratively performed on vast volumes of data continuously. In IoT applications, the embedded systems that run these algorithms are at all times clocked to their maximum processing power, they need not run in cases when there are no humans are present in the vicinity. This is inefficient, especially in systems that need to perform face recognition round-the-clock for authentication. This paper proposes a simple, intuitive and efficient solution to conserve the processor from being clocked to its maximum throughput without compromising on the high level of security that the face recognition algorithm offers.

  • Emotionally Intelligent Artificially Intelligent Virtual Companion (April 2020)

    ISSN : 2454-9150 Publisher: International Journal for Research in Engineering Application & Management (IJREAM)

    The mental health issues of loneliness and depression are two rapidly growing problems in society today. The feeling of being alone is often noted to be an ironic feeling given the almost invasive nature of social networking and mobile platforms today. There is an ever-increasing demand for solutions to help people suffering from these mental health issues. According to government statistics, India needs 13,500 psychiatrists in the country and the nation has only 3,827. Where the country desperately needs 20,250 clinical psychologists, we have only 898. There is also sadly a stigma attached to these problems as Indian society generally looks at people with these problems in a very negative light and outcasts them. AI is a fast-growing phenomenon that has captured the interest of experts from many different fields of study as a way of facilitating complex problem-solving in a way that was not previously possible. This novel solution aims to create artificial intelligence that simulates a lot of the human processes of communication such as establishing long-term relationships with the user, predicting the personality of the user using a model of Myer’s Briggs and generating responses using Openai-gpt2. The response generation model is trained on the Persona-Chat dataset

  • Influencing Health Decisions using Robot Counseling, Mobility, and Gesture

    See Manuscipt