• Post category:StudyBullet-9
  • Reading time:9 mins read


Conversational Artificial Intelligence, NLP (Natural Language Processing) and Chatbots using Node.js and Javascript

What you will learn

Understand the concepts of NLP, NLU, NLG, NER and how they are applied

Understand Artificial Intelligence writing regresions in javascript using Brain and Tensorflow

Write your own tokenizer and use existing tokenizers from Natural and NLPjs

Write NLU classifiers in javascript using Brain, Tensorflow, NLPjs Neural, Microsoft LUIS

Build your own Perceptron in javascript from scratch and your own NLU Classifier, so you will have a deep understand of what is under the hood

Measure the precision of the different NLPs using a custom corpus and SIGDIAL22

Understand what is stemming, apply stemmers to the classifiers that you built (Brain, Tensorflow, NLPjs neural, Microsoft LUIS and your own classifier), measure the precision and compare with non-stemmed versions

Understand Measures in Machine Learning: Confusion Matrix, Accuracy, Precision, Recall, F1-Score

Different KPIs for NLU: Machine Learning Measures, Confidence, Clarity, TPS, Language Support

Named Entity Recognition: enum entities, regular expressions, builtins using Microsoft Recognizers and Duckling (extract emails, URLs, dates, numbers…)

Useful NLP Algorithms: utterance generation from patterns, N-Grams, Language Prediction, Predictive Text, Levenshtein distance, get best similar substring, emoji replacement

How to build your own chatbot, benchmark it, do it multi-language, publish into console, add a web for talking with the chatbot

Description

Learn NLP techniques using Node.js and Javascript, to understand how to build a Conversational Artificial Intelligence.

You’ll learn what is Natural Language Understanding, how to build classifiers using different technologies and how to measure them.

Also Named Entity Recognition, to extract entities from the sentences of the user to complement this NLU.


Get Instant Notification of New Courses on our Telegram channel.


Natural Language Generation, to generate correctly the answers of the Conversational AI, and how to have answers based on context variables to give a contextualized experience to the users.

Also some util algorithms, like N-grams, and how to use them for real problems like guessing the language of a sentence or predicting the next word of a sentence.

Finally we will build a chatbot, multi-language in english and spanish, able to guess the language from the sentence, and using this Conversational AIΒ techniques that we have learn during the course, and finally we will connect this chatbot to a web exposing an API.

English
language

Content

Introduction

Welcome to this course
Curriculum

Introduction to Node.js (Optional)

Installation of Node.js
Hello World
Variables
Undefined and null
Booleans
Strings
Numbers
Arrays
Functions
Conditionals
Loops
Objects
Scope
Closures

Glossary

NLP (Natural Language Processing)
NLU (Natural Language Understanding)
NLG (Natural Language Generation)
NER (Named Entity Recognition)
Utterance
Intent
Entity
Corpus
Channel

Artificial Intelligence

Introduction to Artificial Intelligence
Regressions
Regression with Brain.js
Regression with Tensorflow.js

NLU Classifiers

Introduction to Classifiers
Normalizer
Tokenizer
Brain.js Classifier
Tensorflow.js Classifier
NLP.js Neural Classifier
Microsoft LUIS Classifier
Building your own Perceptron (Advanced)
Building your own Classifier (Advanced)
Classify using NLP.js suite
Precision with different NLPs
SIGDIAL22

Stemming

What is Stemming
Brain.js classifier with Natural Stemmer
Brain.js classifier with NLP.js Stemmer
Tensorflow.js classifier with Stemmer
NLP.js Neural classifier with Stemmer
Adding stemmer to your own classifier
Adding pre-stemming to Microsoft LUIS
Precision with different NLPs (Stemming)
SIGDIAL22 (Stemming)

Measuring Classifiers

Prediction Values
Confusion Matrix
Accuracy
Precision
Recall
Precision vs Recall
F1-score
Those measures on NLU Classifiers
Confidence
Clarity
TPS (Transactions per Second)
Language Support
Measuring our classifiers
TPS of our classifiers

Other useful Algorithms

N-Grams
Language Prediction
Language Prediction with NLP.js
Predictive Text
Pattern Corpus
Levenshtein Distance
Best similar substring
Spell Check
Emoji replacement

NER (Named Entity Recognition)

Enum Entities
Regular Expression Entities
Golden Entities with Microsoft Recognizers
Microsoft Recognizers with NLP.js NER

NLG (Natural Language Generation)

Generating answers for intents
Using patterns for answers
Using context variables in answers
Conditional answers

Conversational AI Chatbot

Initialize the NLP
Measure the classifier
Multi-language
Talking through console
Adding a web