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