Introduction to Chatbots | NLP Tutorial | S3 E1

codebasics · Beginner ·📊 Data Analytics & Business Intelligence ·3y ago

Key Takeaways

The video discusses the basics of chatbots, their types, and implementation options using various tools and frameworks such as Dialogflow, RASA, Amazon Lex, and OpenAI API. It covers the differences between flow-based and open-ended chatbots, and the use of NLP and machine learning in chatbot development.

Full Transcript

in this video we will discuss the basics of chat boards so far in this particular tutorial series we have been discussing the theoretical Concepts such as what is part of speech tokenization what is NLP Pipeline and so on and in the last few tutorials we discussed different tax representation techniques such as bag of words or label and one hot encoding Etc and we were discussing fast text based classification Etc in this video we will discuss a practical application of NLP and you all know that chatbot is one of the biggest application uh if you talk about NLP in general in your day-to-day life you might be using multiple chat ports either on your mobile app or through the website in my case I have this Verizon Wireless phone and this Verizon plan has different options and device selection Etc and I use that chatbot on verizon.com so if I have a question uh the chatbot will ask me what kind of uh question category you want to select so this is more like if you look at it it's like a fixed menu option that it gives and you just select the option so now I said Okay I want to know more about my plan and here it is saying okay plan and usage or manage add-ons okay so initial it was my plan in add-ons and then when I select the third option my plan and add-ons it gives me a choice to further Rectify my selection so I'm saying okay now I want to manage my add-ons and it will ask okay to begin with let's start with your phone number so it will ask me for my phone number Etc and then it will offer me different type of options and I can just select any option to get more information on it these are called flow based chatbot where you are represented with fixed options I am showing you a screenshot of my PNC Bank chat board so when I call them they will give me fixed set of options what do you want to do okay I want to make a payment then I select that then they will give me three or four more options okay so these are nothing but the decision trees so you give one option then it will say my plan and it owns then further two options then when I select manage add-ons there are further two options so it's a decision tree it's a rule based system where you select one option and then you select other option and so on you don't require machine learning for this it is a simple rule based programming that you can do but then things get interesting where you can write free form or English questions so here I am saying in the same chatbot okay what was my last month's bill and it will answer that I am logged in of course so it knows my phone number Etc and see it is giving me the Bell the date Etc you can also type on other questions saying how much paid I last month or how much I paid in last few months and it will show you month by month list now this is little sophisticated than rule based because because it is parsing my English statement and it is understanding what I want to do Capital One which is a credit card company they have this chat board called Eno and in this you know you can say what is my available credit or show me my last three transactions and it will understand that language so this is an NLP based flow chatbot okay here see when I say show recent J charges you can also tweak your question and you can ask differently but it will understand so it has that language understanding the other example is Domino's chatbot cold Dome so here I can say I want to add place an order of two visa and one liter Coca-Cola see here I I just give that order and it will ask me a bunch of questions like you want to deliver you want to continue as a guest um you know it asked me for my phone number of course I'm getting a wrong phone number here and then house a street address Etc okay and I'm giving zip code now I give invalid zip code and it says C sorry I had trouble so it has that intelligence it knows this is not a valid address so it will do a conversation with you and eventually you will be able to place your order the other example is Amtrak's Julie so Amtrak is a train a company here in U.S I use it when I want to go from New Jersey to let's say Baltimore Washington DC I will use uh this kind of chatbot where you will just say okay book me tickets you can say one way two way you give your city so sometimes you select options sometimes you type in English language which cities but this is also more like rule based uh chatbot where they are asking you what do you want to do next what do you want to do next okay and once everything is done they will give you that button and you can just say fine trains when you click on that you will see this kind of nice UI where you can select the train available trains okay then comes open-ended chat board such as chat GPT now in chat GPT you can ask any free form of questions so right now I am asking how many states are there in India and then next time I can say tell me the recipe for Samosa so I can change a topic I can have an open-ended conversation and chat GPT will handle that compare this with our previous scenario where if you are on Amtrak Julie uh that chatbot only knows about booking trains it knows a fixed domain and it will ask you questions one by one so it is more like more like rule based whereas this chat board kgpt is an open-ended chatbot all right so these are the two broad category of chat boards flow based or rule based chatbot and open-ended chat board in the left side you have a specific goal on the right hand side you have goal but you are talking about different topic you are changing uh your questions uh you are even changing the conversation theme all the time and it can still handle it now if you talk about implementing this chat board because that's what we are going to do in this tutorial series see there are two things here first one is fixed rule based chat board where you don't need any coding it's just a decision tree you can write a bunch of if else statements in your Java or react whatever programming language you're using on the other hand in case of NLP based chatbots you can use a framework such as Google's dialog flow or you can do custom implementation so let's talk about that a little more when you talk about using a chatbot framework there are tons of Frameworks that you can select from Google's dialog flow is very popular framework for creating chat boards there is Rasa there is IBM Watson assistant Amazon Lacks Microsoft Azure also has their own platform there are tons of them but Google's dialogflow rasa IBM these are like popular ones and we are going to use dialogflow in this particular tutorial series and when it comes to custom implementation you can use variety of approaches you can use open ai's API to call a GPT llm you can have uh open source llm such as hugging face Bloom you can use some foundational models from AWS let's say AWS Bedrock you can pick any uh Jurassic or any other Titan any other model from it and use it there are lot of customizations that you can do if you're going with your own custom implementation okay but when you use a chatbot framework you can develop things faster now you all have been using chat GPT chat GPT sounds like a miracle and one thought that comes to anyone's mind is is chat GPT or llm or open AI this Silver Bullet for all chatbots is it that since chat GPT and open AI is out for usage the framework such a dialog flow are going to be dead well the answer is no what happens is when this kind of technological breakthrough happens people think that chat GPT or open AI is going to magically solve all their problems and they don't need any other solution but that is fundamentally wrong if you don't trust me you can ask the same question to chat GPD and I have here asked this question and say can you make a comparison table for building chat board using dialogflow versus doing it using open AI API and say it is clearly outlining uh certain criterias for example for years of setup and configuration dialog flow is relatively easy whereas open AI custom chatbot setup requires more technical knowledge inside nlu which is natural language understanding meaning when you are asking any question it understands the intent the entities that is nlu dialog flow can do it very easily whereas in open AI you have to do some custom handling then training data pre-trained models are provided in case of dialogue whereas here in open AI you have to do fine tuning or custom Training in terms of context management we will see what is context Management in the later videos but dialogflow has inbuilt context management features whereas open air again you need a lot of customization using dialogflow you can seamlessly integrate with other platforms such as slack for example you want to build a chatbot and put it in your slack or Discord server with dialog flow it's easier whereas in chat board build using open AI you have to do everything on your own it's very very custom cost last time I checked open AIS pricing it seems costly they charge you for generating embeddings and various other services whereas dialogue flow there is a cost but it's relatively cheaper okay so you can ask this question to chat GPT such as since a open Ai and GPT house is dialog flow dead and it will tell you no that is that is a very nice question these platforms will always have relevance in many cases using dialog flow will be much better a choice compared to using uh open API now let's talk about some of the benefits of using chatbot uh previously when there were no chat boards our businesses would have customer can sender so I have this picture of customer care center where there will be human staff they will be answering the questions which are you know generated by the customers of any business but there are certain disadvantages of this human approach which is scalability when your business grows and let's say you have 100 people in your customer service center your business grows rapidly let's say there is a merger and your business now need instead of 100 let's say 500 people for customer care achieving that scale is harder with humans whereas in in case of chat board you can deploy more resources in the cloud and and you will get scalability very easily 24 by 7 availability I know that customer care centers have shipped so you get 24x7 as well but in case of chat board they're not humans so they they can just work all the time so you get that availability you also get cost saving it's cheaper to build a chat board rather than hiring people for doing customer support and see there is a better customer service because chatbot will respond immediately like at a fraction of second in case of humans based on a workload there might be delay you know sometimes when you call some Services they say okay our representatives are busy there might be a five minute delay this doesn't happen in in case of a chat book there are variety of business reasons why people build chat boards okay um so that that was the introduction that I had for today folks uh in the next video what we are going to do is take a real business use case and we will build dialogue flow based chat board end to end okay so we are going to take a problem do data collection whatever data cleaning build chat board in dialog flow end to end and it it will be based on a real business use case we are not going to use any toy data set here so stay tuned I know this particular video was a little shorter I just wanted to get started with the introduction to chatbot in the next video we will do full-fledged tutorial so the next video is going to be much more lengthy and it will be short of like an end-to-end NLP project so stay tuned folks and if you like the content that we're building give it a thumbs up and subscribe to our Channel actually we have been doing a lot of hard work and you subscribing to the channel or sharing this content with your friends uh it will take very less time for you but it will mean a lot for us so if you like the content please take those actions thank you [Music] thank you

Original Description

In this video, we will discuss, 1) Type of chatbots (1) flow-based (or goal-oriented dialogue) (2) open-ended chatbots. 2) Implementation options (Dialogflow, RASA, Amazon Lex, IBM Watson Assistant etc.), Custom development using OpenAI API, LLMs, Hugging face, etc Complete NLP Playlist: https://www.youtube.com/playlist?list=PLeo1K3hjS3uuvuAXhYjV2lMEShq2UYSwX Do you want to learn technology from me? Check https://codebasics.io/?utm_source=description&utm_medium=yt&utm_campaign=description&utm_id=description for my affordable video courses. Need help building software or data analytics/AI solutions? My company https://www.atliq.com/ can help. Click on the Contact button on that website. 🎥 Codebasics Hindi channel: https://www.youtube.com/channel/UCTmFBhuhMibVoSfYom1uXEg #️⃣ Social Media #️⃣ 🔗 Discord: https://discord.gg/r42Kbuk 📸 Dhaval's Personal Instagram: https://www.instagram.com/dhavalsays/ 📸 Codebasics Instagram: https://www.instagram.com/codebasicshub/ 🔊 Facebook: https://www.facebook.com/codebasicshub 📱 Twitter: https://twitter.com/codebasicshub 📝 Linkedin (Personal): https://www.linkedin.com/in/dhavalsays/ 📝 Linkedin (Codebasics): https://www.linkedin.com/company/codebasics/ 🔗 Patreon: https://www.patreon.com/codebasics?fan_landing=true
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from codebasics · codebasics · 0 of 60

← Previous Next →
1 Python Tutorial - 1. Install python on windows
Python Tutorial - 1. Install python on windows
codebasics
2 Python Tutorial - 2. Variables
Python Tutorial - 2. Variables
codebasics
3 Python Tutorial - 3. Numbers
Python Tutorial - 3. Numbers
codebasics
4 Python Tutorial - 4. Strings
Python Tutorial - 4. Strings
codebasics
5 Python Tutorial - 5. Lists
Python Tutorial - 5. Lists
codebasics
6 Python Tutorial - 6. Install PyCharm on Windows
Python Tutorial - 6. Install PyCharm on Windows
codebasics
7 PyCharm Tutorial - 7. Debug python code using PyCharm
PyCharm Tutorial - 7. Debug python code using PyCharm
codebasics
8 Python Tutorial -  8. If Statement
Python Tutorial - 8. If Statement
codebasics
9 Python Tutorial - 9. For loop
Python Tutorial - 9. For loop
codebasics
10 Python Tutorial -  10. Functions
Python Tutorial - 10. Functions
codebasics
11 Python Tutorial - 11. Dictionaries and Tuples
Python Tutorial - 11. Dictionaries and Tuples
codebasics
12 Python Tutorial - 12. Modules
Python Tutorial - 12. Modules
codebasics
13 Python Tutorial - 13. Reading/Writing Files
Python Tutorial - 13. Reading/Writing Files
codebasics
14 How to install Julia on Windows
How to install Julia on Windows
codebasics
15 Python Tutorial - 14. Working With JSON
Python Tutorial - 14. Working With JSON
codebasics
16 Julia Tutorial - 1. Variables
Julia Tutorial - 1. Variables
codebasics
17 Julia Tutorial - 2. Numbers
Julia Tutorial - 2. Numbers
codebasics
18 Python Tutorial - 15. if __name__ == "__main__"
Python Tutorial - 15. if __name__ == "__main__"
codebasics
19 Julia Tutorial - Why Should I Learn Julia Programming Language
Julia Tutorial - Why Should I Learn Julia Programming Language
codebasics
20 Python Tutorial  - 16. Exception Handling
Python Tutorial - 16. Exception Handling
codebasics
21 Julia Tutorial - 3. Complex and Rational Numbers
Julia Tutorial - 3. Complex and Rational Numbers
codebasics
22 Julia Tutorial - 4. Strings
Julia Tutorial - 4. Strings
codebasics
23 Python Tutorial -  17. Class and Objects
Python Tutorial - 17. Class and Objects
codebasics
24 Julia Tutorial - 5. Functions
Julia Tutorial - 5. Functions
codebasics
25 Julia Tutorial - 6. If Statement and Ternary Operator
Julia Tutorial - 6. If Statement and Ternary Operator
codebasics
26 Julia Tutorial - 7. For While Loop
Julia Tutorial - 7. For While Loop
codebasics
27 Python Tutorial  - 18. Inheritance
Python Tutorial - 18. Inheritance
codebasics
28 Julia Tutorial - 8. begin and (;) Compound Expressions
Julia Tutorial - 8. begin and (;) Compound Expressions
codebasics
29 Python Tutorial - 12.1 - Install Python Module (using pip)
Python Tutorial - 12.1 - Install Python Module (using pip)
codebasics
30 Julia Tutorial - 9. Tasks (a.k.a. Generators or Coroutines)
Julia Tutorial - 9. Tasks (a.k.a. Generators or Coroutines)
codebasics
31 Julia Tutorial - 10. Exception Handling
Julia Tutorial - 10. Exception Handling
codebasics
32 Python Tutorial  - 19. Multiple Inheritance
Python Tutorial - 19. Multiple Inheritance
codebasics
33 Python Tutorial - 20. Raise Exception And Finally
Python Tutorial - 20. Raise Exception And Finally
codebasics
34 Python Tutorial - 21. Iterators
Python Tutorial - 21. Iterators
codebasics
35 Python Tutorial - 22. Generators
Python Tutorial - 22. Generators
codebasics
36 Python Tutorial - 23. List Set Dict Comprehensions
Python Tutorial - 23. List Set Dict Comprehensions
codebasics
37 Python Tutorial - 24. Sets and Frozen Sets
Python Tutorial - 24. Sets and Frozen Sets
codebasics
38 Python Tutorial - 25. Command line argument processing using argparse
Python Tutorial - 25. Command line argument processing using argparse
codebasics
39 Debugging Tips - What is bug and debugging?
Debugging Tips - What is bug and debugging?
codebasics
40 Debugging Tips - Conditional Breakpoint
Debugging Tips - Conditional Breakpoint
codebasics
41 Debugging Tips - Watches and Call Stack
Debugging Tips - Watches and Call Stack
codebasics
42 Python Tutorial - 26. Multithreading - Introduction
Python Tutorial - 26. Multithreading - Introduction
codebasics
43 Git Tutorial 3:  How To Install Git
Git Tutorial 3: How To Install Git
codebasics
44 Git Tutorial 1: What is git / What is version control system?
Git Tutorial 1: What is git / What is version control system?
codebasics
45 Git Tutorial 2 : What is Github? | github tutorial
Git Tutorial 2 : What is Github? | github tutorial
codebasics
46 Git Tutorial 4: Basic Commands: add, commit, push
Git Tutorial 4: Basic Commands: add, commit, push
codebasics
47 Git Tutorial 5: Undoing/Reverting/Resetting code changes
Git Tutorial 5: Undoing/Reverting/Resetting code changes
codebasics
48 Git Tutorial 6: Branches (Create, Merge, Delete a branch)
Git Tutorial 6: Branches (Create, Merge, Delete a branch)
codebasics
49 Git Github Tutorial 10: What is Pull Request?
Git Github Tutorial 10: What is Pull Request?
codebasics
50 Git Tutorial 7: What is HEAD?
Git Tutorial 7: What is HEAD?
codebasics
51 Git Tutorial 9: Diff and Merge using meld
Git Tutorial 9: Diff and Merge using meld
codebasics
52 Difference between Multiprocessing and Multithreading
Difference between Multiprocessing and Multithreading
codebasics
53 Python Tutorial - 27. Multiprocessing Introduction
Python Tutorial - 27. Multiprocessing Introduction
codebasics
54 Python Tutorial - 28. Sharing Data Between Processes Using Array and Value
Python Tutorial - 28. Sharing Data Between Processes Using Array and Value
codebasics
55 Git Tutorial 8 - .gitignore file
Git Tutorial 8 - .gitignore file
codebasics
56 Python Tutorial - 29. Sharing Data Between Processes Using Multiprocessing Queue
Python Tutorial - 29. Sharing Data Between Processes Using Multiprocessing Queue
codebasics
57 Python Tutorial - 30. Multiprocessing Lock
Python Tutorial - 30. Multiprocessing Lock
codebasics
58 Python Tutorial - 31. Multiprocessing Pool (Map Reduce)
Python Tutorial - 31. Multiprocessing Pool (Map Reduce)
codebasics
59 What is code?
What is code?
codebasics
60 Python unit testing - pytest introduction
Python unit testing - pytest introduction
codebasics

This video introduces the basics of chatbots, their types, and implementation options using various tools and frameworks. It covers the differences between flow-based and open-ended chatbots, and the use of NLP and machine learning in chatbot development. Viewers will learn how to build a chatbot using Dialogflow and implement NLP in a chatbot.

Key Takeaways
  1. Identify the type of chatbot to be built
  2. Choose a suitable framework or tool for chatbot development
  3. Implement NLP in the chatbot
  4. Configure context management features
  5. Integrate the chatbot with other platforms
💡 Chatbots can be built using various frameworks and tools, and the choice of tool depends on the complexity and requirements of the chatbot.

Related Reads

Up next
Salesforce Tableau CRM & Einstein Discovery Consultant Exam: Full Syllabus Breakdown (New 2025 Bluep
Emily Unfiltered
Watch →