Intelligent AI Chatbot in Python

Поділитися
Вставка
  • Опубліковано 20 лип 2024
  • In today's video, we are going to build an intelligent AI chatbot using neural networks and natural language processing in Python.
    ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
    📚 Programming Books & Merch 📚
    💻 The Algorithm Bible Book: www.neuralnine.com/books/
    🐍 The Python Bible Book: www.neuralnine.com/books/
    👕 Programming Merch: www.neuralnine.com/shop
    🌐 Social Media & Contact 🌐
    📱 Website: www.neuralnine.com/
    📷 Instagram: / neuralnine
    🐦 Twitter: / neuralnine
    🤵 LinkedIn: / neuralnine
    📁 GitHub: github.com/NeuralNine
    🎵 Outro Music From: www.bensound.com/
    Timestamps
    (0:00) Intro
    (0:18) General Structure
    (2:16) Setting Up Intents
    (6:48) Load Training Data
    (13:35) Prepare Training Data
    (19:40) Build Neural Network
    (24:10) Train Neural Network
    (24:35) Build Chatbot
    (33:34) Demonstration
    (35:08) Outro
  • Наука та технологія

КОМЕНТАРІ • 1 тис.

  • @smhaseeb
    @smhaseeb 3 роки тому +185

    Instructions unclear, made Ultron. 😂

    • @jamieharper5665
      @jamieharper5665 11 місяців тому +4

      😂 this had me laughing way more than I expected lol

    • @_EnderTv
      @_EnderTv 8 місяців тому +2

      same😅

    • @marcoamir5107
      @marcoamir5107 Місяць тому

      😂😂😂😂

  • @JosephElliott-kx9yj
    @JosephElliott-kx9yj Рік тому +222

    A bit old now, here is some updated code for anyone watching.
    import random
    import json
    import pickle
    import numpy as np
    import tensorflow as tf
    import nltk
    from nltk.stem import WordNetLemmatizer
    lemmatizer = WordNetLemmatizer()
    intents = json.loads(open('intents.json').read())
    words = []
    classes = []
    documents = []
    ignoreLetters = ['?', '!', '.', ',']
    for intent in intents['intents']:
    for pattern in intent['patterns']:
    wordList = nltk.word_tokenize(pattern)
    words.extend(wordList)
    documents.append((wordList, intent['tag']))
    if intent['tag'] not in classes:
    classes.append(intent['tag'])
    words = [lemmatizer.lemmatize(word) for word in words if word not in ignoreLetters]
    words = sorted(set(words))
    classes = sorted(set(classes))
    pickle.dump(words, open('words.pkl', 'wb'))
    pickle.dump(classes, open('classes.pkl', 'wb'))
    training = []
    outputEmpty = [0] * len(classes)
    for document in documents:
    bag = []
    wordPatterns = document[0]
    wordPatterns = [lemmatizer.lemmatize(word.lower()) for word in wordPatterns]
    for word in words:
    bag.append(1) if word in wordPatterns else bag.append(0)
    outputRow = list(outputEmpty)
    outputRow[classes.index(document[1])] = 1
    training.append(bag + outputRow)
    random.shuffle(training)
    training = np.array(training)
    trainX = training[:, :len(words)]
    trainY = training[:, len(words):]
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Dense(128, input_shape=(len(trainX[0]),), activation = 'relu'))
    model.add(tf.keras.layers.Dropout(0.5))
    model.add(tf.keras.layers.Dense(64, activation = 'relu'))
    model.add(tf.keras.layers.Dropout(0.5))
    model.add(tf.keras.layers.Dense(len(trainY[0]), activation='softmax'))
    sgd = tf.keras.optimizers.SGD(learning_rate=0.01, momentum=0.9, nesterov=True)
    model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
    model.fit(trainX, trainY, epochs=200, batch_size=5, verbose=1)
    model.save('chatbot_model.h5')
    print('Done')

    • @ericlacerda8949
      @ericlacerda8949 Рік тому +12

      man you just saved my code by changing words.append to words.extend
      tyvm bro

    • @mr.hatem_
      @mr.hatem_ Рік тому

      Thank you

    • @swagatrout3075
      @swagatrout3075 Рік тому +2

      thaks bro
      trainX = training[:, :len(words)]
      trainY = training[:, len(words):]

    • @jihyeonku
      @jihyeonku Рік тому +1

      oh my god thank you so much now it works

    • @shravanthj1447
      @shravanthj1447 Рік тому

      sike bro

  • @joeljohn2679
    @joeljohn2679 3 роки тому +9

    Man, you are THE ONLY ONE explaining this intent type of neural net-based chatbot. Thanks a lot

  • @tomas5970
    @tomas5970 3 роки тому +459

    Awesome content! when are we getting the biceps tutorial tho?

  • @foggers0476
    @foggers0476 3 роки тому +6

    I love your videos! They're so useful :D I've just purchased your 7 in 1 book from amazon

  • @alex_mahone
    @alex_mahone 3 роки тому +113

    Videos on neural network theory would be fantastic! Thanks again for another great video!

    • @tomcat9761
      @tomcat9761 2 роки тому +1

      question, what kind of neural network architecture used here? Is it RNN?

    • @w花b
      @w花b Рік тому +1

      ​@@tomcat9761 i don't know

    • @krishsharvesh8082
      @krishsharvesh8082 10 місяців тому

      @@tomcat9761 its ANN

  • @lorenzoricciardi7051
    @lorenzoricciardi7051 3 роки тому +3

    sooo interested to the neural network theory!!! Love this channel so much, i've learned so much, thank you!!

  • @kifercastillo7876
    @kifercastillo7876 3 роки тому +15

    I would love to see a video about the theory, great video, thank you:)

  • @abdulalimbaig3286
    @abdulalimbaig3286 Рік тому +6

    This is an amazing tutorial brother, thanks for all the knowledge you've shared! You earned a subscriber!

  • @BarryGoodall
    @BarryGoodall 4 місяці тому +2

    Thank you. Great commentary and clear explanations. Easy to follow how you built up the application. Perfect.

  • @TISIMTISMTISM
    @TISIMTISMTISM 3 роки тому +4

    This was amazing! Thank you so much I have learned a lot :D

  • @cardosofede
    @cardosofede 3 роки тому +4

    Hey bro, your programming style is sophistecated 🧑‍💻

  • @ChannelName991
    @ChannelName991 3 роки тому +58

    Man, you are so underrated. I always search for simple examples of complex topics. After looking at your videos I am able to implement the basics in my projects easily

    • @vipulkumar9858
      @vipulkumar9858 3 роки тому

      ua-cam.com/channels/0Bn9e36XqiiNZp9ClkPUww.html

    • @mahnoorhome
      @mahnoorhome Рік тому

      hey. where can i get source code? any idea?

    • @RhinoTimelaps
      @RhinoTimelaps 9 місяців тому

      type it, lmao. @@mahnoorhome

  • @ok-14907
    @ok-14907 3 роки тому +1

    Thanks 👍 I was actually waiting for this.

  • @1215cubs
    @1215cubs 3 роки тому +207

    A much-needed updated vision of the chatbot from Tech with Tim. Love this video. From a viewer standpoint and someone who is coding along with you to program this thing. Either don't put a video of yourself on the screen, put it in the upper right-hand corner, or make it smaller. It's hard to code along with you as the camera of yourself blocks some of your code in the video.

    • @godwiniheuwa9917
      @godwiniheuwa9917 3 роки тому +21

      This video is more explanatory and far better than the tech tim video, and the tech tim guy was just rushing,

    • @tomcat9761
      @tomcat9761 2 роки тому +1

      question, what kind of neural network architecture used here? Is it RNN?

    • @shreyjain6447
      @shreyjain6447 2 роки тому +2

      @@tomcat9761 No. It's a simple ANN

    • @mahnoorhome
      @mahnoorhome Рік тому +2

      hey. where can i get source code? any idea?

    • @Krbydav328
      @Krbydav328 Рік тому +1

      try watching the video

  • @BlueBirdgg
    @BlueBirdgg Рік тому +4

    ? - keras in "tensorflow.keras..." is not recognized by 'Pycharm', but it works anyway.
    Changes:
    - from tensorflow.keras.optimizers import SGD
    + from tensorflow.keras.optimizers.legacy import SGD
    - training = np.array(training)
    +training = np.array(training, dtype=object)
    -sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
    +sgd = SGD(learning_rate=0.01, decay=1e-6, momentum=0.9, nesterov=True)

  • @aishikbandyopadhyay8191
    @aishikbandyopadhyay8191 3 роки тому +48

    Ah! Was waiting for this only!🔥

    • @NeuralNine
      @NeuralNine  3 роки тому +7

      enjoy it! :)

    • @AkashSingh-di7vu
      @AkashSingh-di7vu 3 роки тому +1

      Me too🤠

    • @TalesMilleto
      @TalesMilleto 3 роки тому

      @@NeuralNine Hello, this error is returning: *lemmatize() missing 1 required positional argument: 'word'*

  • @odiushealer4759
    @odiushealer4759 3 роки тому +5

    Can you make a series on neural network theory? This video was very helpful.Thanks

  • @cartf15
    @cartf15 3 роки тому +2

    brother please do not stop! you are awesome

  • @tansimbee11
    @tansimbee11 6 місяців тому +1

    Well done. As I am new to chatbot() and python. Your video helped to fill in all the gaps in Tim video. Thanks brother.

  • @scholar1234
    @scholar1234 3 роки тому +3

    Never seen this type of content before, really amazing

    • @danielniels22
      @danielniels22 3 роки тому

      yeah, his tutorials are very applicable. i wonder what would happen to my knowledge if i carry one of that out each day for 1 month staright

  • @Match0Man
    @Match0Man 2 роки тому +14

    Hi NeuralNine, this is a great piece. I would like to ask you if this tutorial would work for another language. Would it be enough to just edit intents, to comply with the language I would like to use? And the second question, do you have some tutorial, on how to implement this bot to streamlabs chatbot for twitch?

    • @knildawild
      @knildawild Рік тому +4

      I tried it with german words and all I had to do is define the language in the word_tokenize function:
      nltk.word_tokenize(pattern,language='german')

    • @mahnoorhome
      @mahnoorhome Рік тому

      hey. where can i get source code? any idea?

  • @haokaixuan
    @haokaixuan 3 роки тому +1

    Hey manx nice content, always excited when you post a new video

  • @response4322
    @response4322 2 роки тому +2

    What is the difference between this and using something like the difflib SequenceMatcher library or the Levenshtein method, as in finding the similarity metric between the given input and a list of sentences and then picking the closest match as a response by looping through all the data one by one? Just tried it, and it works exactly the same but with a few lines of code, which brings me to the question why using AI for this is even necessary?

  • @miyurux
    @miyurux 3 роки тому +8

    Bro You are one of the most Underrated YT channel I've ever seen..... Keep up the good work : - )

  • @melvinfrancis7525
    @melvinfrancis7525 3 роки тому +3

    Man do i love that intro 🔥

  • @____________6063
    @____________6063 3 роки тому

    Awesome tutorial, it worked right away! You definitely got me as a subscriber.

    • @ibaadahmed5925
      @ibaadahmed5925 Рік тому

      hey can u tell what extensions to download pls

  • @CritiKylie
    @CritiKylie 2 роки тому +1

    Great video, I learned so much, thank you!

  • @samsam3215
    @samsam3215 3 роки тому +13

    this tutorial is very useful! can I have the project source code for self-learning?

  • @SimonTiger
    @SimonTiger 3 роки тому +16

    So...as far as the machine learning goes, it's just a text classification algorithm. I would love to see a version of this with actual text generation as well!

    • @NeuralNine
      @NeuralNine  3 роки тому +7

      I mean it would be possible to combine it with the text generation tutorial I made some time ago ^^

    • @SimonTiger
      @SimonTiger 3 роки тому

      @@NeuralNine Can't seem to find it!

    • @shanereedy8336
      @shanereedy8336 3 роки тому +3

      @@SimonTiger I was hoping to find a comment like yours here. This may be the video he is referring to. ua-cam.com/video/QM5XDc4NQJo/v-deo.html

    • @mahnoorhome
      @mahnoorhome Рік тому

      hey. where can i get source code? any idea?

    • @khrissxander
      @khrissxander Рік тому

      @@NeuralNine YOU should really make that happen as a video!!!

  • @anandhu5082
    @anandhu5082 3 роки тому +2

    22:08 Hi, i'm new to DL.. When we use Softmax, if there are (say)two outputs in the network, it will output probabilities like [.4 ,.6] or [.1, .9] or [.5, .5] etc right? (sum always 1).. so even if we enter some gibberish as input, there will always be some output(s) above error threshold of (say) .25.
    How ill I tweak this so this won't happen? ( i mean if i enter "ahfliehf fsdlihfasdh" to bot, the outputs should be like something like [0.001, 0.00123])

  • @nefwaenre
    @nefwaenre 2 роки тому

    Okay, this is the best tutorial on chat bots!! i can follow along! Quick question: Is it possible to show the "questions" as options to the user so that instead of typing, they choose from the options of questions instead?
    i tried following Tech with Tim's but it was kinda hard.

  • @peschebichsu
    @peschebichsu 3 роки тому +8

    20:42 very interested in the theory, I like how you explain and would be cool to hear it from you

  • @juliusmakowski7665
    @juliusmakowski7665 3 роки тому +7

    I have to make one for school so this is perfect timing ;^)

    • @shelby255
      @shelby255 3 роки тому +1

      Our school only do pascal bruh

  • @vishvajitviswanathan7970
    @vishvajitviswanathan7970 3 роки тому +1

    Please put more videos like this bro, I needed some sorry more....
    And if you are about to launch a video give a gif for that. That thrill will be enough for me to be happy. Don't get faded bro, we need you...

  • @antoniorivolta
    @antoniorivolta 3 роки тому +79

    I never opened a UA-cam notification so fast

  • @masthad
    @masthad 3 роки тому +12

    The video got really good but we don’t really clarify what packages to download. I know you said what at the beginning at Imports but it still gives me error messages with Tensorflow.
    For example: '
    To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. '

  • @danielcastillejos2463
    @danielcastillejos2463 3 роки тому

    As usual great video, excelent channel

  • @dax_dc2608
    @dax_dc2608 3 роки тому

    UNDERRATED , u deserve a million sub

  • @MACHINEBUILDER
    @MACHINEBUILDER 3 роки тому +3

    Hey, any idea how you'd get this to run with tflite?
    Edit: Okay, I've gotten the model to run, but I realised nltk stemming is really slow. Is there a faster alternative?
    (actually I'll try figure out exactly what's taking ages)
    Edit #2: Nevermind, it all works, there's just a delay the first time the process is called for some reason (Which I'll try to trace and fix)
    Thanks for the great tutorial, can't wait to setup my own personal assistant!

  • @ronit.dhingra_
    @ronit.dhingra_ 3 роки тому +12

    NIce video! Can you make an in-depth tutorial on making a friend-like chatbot that uses neural networks and NLP, and adapts it to modern libraries like Keras and TensorFlow? I've been making a project, but I've been having some issues.

  • @Rocklee46v
    @Rocklee46v 3 роки тому +2

    Can you post a video on how to extract entities from intents and deploy the chatbot on a website or something. thanks

  • @arthur6999
    @arthur6999 3 роки тому

    man I was just building a hard-coded chatbot, this vid came in the right time for me. thanks bro

    • @arthur6999
      @arthur6999 3 роки тому

      @Hotdog_man2 Minecraft lol yea

  • @LamsyTech
    @LamsyTech 3 роки тому +6

    Awesome work bro!
    I like your videos
    Kudos to you
    I suggest you make a tutorial video on show to deploy an AI CHATBOT to back-end server to improve responsiveness and present more details.

  • @confused398
    @confused398 2 роки тому +3

    When I added training data to the intents.json file, I got this error, anybody who can help?
    ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -1 of input shape to have value 38 but received input with shape (None, 84)
    I figured out that the 84 is just the amount of patterns in the intents.json file, but I haven't figured out why the input shape has to have a value of 38.

  • @user-xx2fp3cf9w
    @user-xx2fp3cf9w 8 місяців тому

    This helped me learn a lot about neural networks thanks!

  • @ArunKumar-gb6hz
    @ArunKumar-gb6hz 3 роки тому

    Thanks for the Video Florian! 👏👏

  • @pw5687
    @pw5687 3 роки тому +11

    it would be cool if you made a video where you combined a chatbot like this with/into a discord bot!

    • @owenknowles3796
      @owenknowles3796 3 роки тому +1

      you'd just use discord.py to detect when a message is sent, use that message as the input for the AI, and output the AI's output as the discord message

    • @pw5687
      @pw5687 3 роки тому

      @@owenknowles3796 didn't think about that thanks! Will try when computer switches on

    • @Fuel_The_Fire
      @Fuel_The_Fire Рік тому

      @@pw5687 How'd it go?

  • @JacobHKent
    @JacobHKent 3 роки тому +33

    when it comes to trading in the various financial markets the relevance of professional guidance should not be undervalued as it could be the key to any traders success in profit making

    • @piricontes2844
      @piricontes2844 3 роки тому

      spot on! but the usual problem is discovering well grounded professionals who can be trusted. have you got any reconmendations?

    • @tamastimea1709
      @tamastimea1709 3 роки тому

      i could not have said it any better.

    • @JacobHKent
      @JacobHKent 3 роки тому

      @@piricontes2844 I will highly recommend Michael Branagh, he helped me secure a passive source of income, made life quiet easier for me as I no longer had to work round the clock. I'd check if he's taking new investors now, and also ask if I can share his contact information to the public.

    • @piricontes2844
      @piricontes2844 3 роки тому

      @@JacobHKent i have stumbled upon a couple of articles by him, never occured to me to look him up. i would sincerely appreciated if you coild help with his contact info.

    • @bensonmccredden7102
      @bensonmccredden7102 3 роки тому

      @@JacobHKent Mr Branagh is one of the most productive traders out there. i would not say hes the best at what he does but one thing is certain, hes a man of integrity and he certaainly gets results

  • @rinshinjalal1952
    @rinshinjalal1952 3 роки тому

    i have'nt watched your video before this video but now ican't stop watching your video

  • @BrianFDeVore
    @BrianFDeVore 3 роки тому +1

    This tutorial is fantastic! Thank you for sharing.

    • @vipulkumar9858
      @vipulkumar9858 3 роки тому

      ua-cam.com/channels/0Bn9e36XqiiNZp9ClkPUww.html

  • @Honzai
    @Honzai 3 роки тому +3

    for intent in intents['intents']:
    for pattern in intent['patterns']:
    word_list = nltk.word_tokenize(pattern)
    words.append(word_list)
    documents.append((word_list, intent['tag']))
    if intent['tag'] not in classes:
    classes.append(intent['tag'])
    This showing me error
    " For pattern in intent['patterns']
    KeyError : 'patterns'
    Please help me out!

  • @MatOgnutyun
    @MatOgnutyun 3 роки тому +5

    The code is not working.
    output_row[classes.index(document[1])] = 1
    IndexError: list index out of range

  • @mufaromatura6959
    @mufaromatura6959 3 роки тому +1

    Hi, i followed the tutorial and came across a glitch when it was time to train the bot.. I got the error: Error when checking input: expected dense_14_input to have shape (6,) but got array with shape (1,).. not sure what could be causing it

  • @AL_383
    @AL_383 3 роки тому

    a series about NN/ ai in general would be dope

  • @leonardorossoni1177
    @leonardorossoni1177 3 роки тому +15

    When will you open a Discord Server?

  • @user-oz9ny8ug9r
    @user-oz9ny8ug9r Рік тому

    Amazing tutorial, thanks for the lesson.

  • @BlacklightProgramming
    @BlacklightProgramming 2 роки тому +1

    Great work! I wonder is it possible to implement something like that bot would say "I didn't understand that" instead of still picking any random response. I set ERROR_TRESHOLD to higher number and then the bot just went back to wait for user's input but I want it to say that he didn't get what I was saying before going back.

  • @ratto751
    @ratto751 3 роки тому +14

    Hi, great content! Although, is it possible for you to upload the code in your videos to a github repo? Thanks

    • @Yankzy
      @Yankzy 3 роки тому

      That will be great!

  • @HacKyNerDz
    @HacKyNerDz 3 роки тому +5

    Your videos are always amazing, always i learn a lot from your videos 🤩🤩

    • @NeuralNine
      @NeuralNine  3 роки тому +4

      appreciate it :D

    • @delvinanthony2798
      @delvinanthony2798 3 роки тому +2

      @@NeuralNine Hey man for some reason whenever I say Hello or one of the greetings it says a goodbye response. Any idea why?

    • @kenzyscope2396
      @kenzyscope2396 Рік тому

      @@NeuralNine can i get the source code please

  • @Joesignals
    @Joesignals Рік тому

    I'm trying to create a chatbot for customer care, it is going to be a live support agent for industries like Telecom companies, so after I finish with all the knowledge you have shared maybe I will have some questions and everything else.

  • @anuragnegi9636
    @anuragnegi9636 3 роки тому

    Helpful, how would you do entity detection or extraction using neural networks ?

  • @rayyanmairaj5330
    @rayyanmairaj5330 3 роки тому +7

    Hey NeuralNine, really like the videos.
    Could you please like zoom in to the code... Or like increase the font. Its kinda difficult to see the code especially when not on full screen.
    Even when youre showing other stuff like how to install mingw for c++... The text looks really small
    But i really love your content and learn a lot. So if you could address that i'd be stoked

  • @27omkarmahindrakar54
    @27omkarmahindrakar54 3 роки тому +3

    Can you please provide the files of the bot
    (because mine didn't worked)

  • @taufiqurrahman1860
    @taufiqurrahman1860 Рік тому

    hello, your video is very useful. can I ask about whether the AI of a chatbot can carry out the learning process when it is running?? because I'm currently in a chatbot creation project with the Learning Agent method where the chatbot must be able to carry out the learning process while it's running, can this be done? Please help

  • @magmaslasher7604
    @magmaslasher7604 3 роки тому +2

    Are you ever going to make a tutorial on a chatbot that generates its own responses?

  • @SkynetT-model
    @SkynetT-model 3 роки тому +6

    and this is how my creator came to life.

  • @DoggoYT
    @DoggoYT 3 роки тому +3

    Works great! Im having this error when adding more than 3 intents though.
    ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -1 of input shape to have value 27 but received input with shape [None, 30]. :/

    • @netofis
      @netofis 3 роки тому +1

      Me too! did you find the solution??

    • @netofis
      @netofis 3 роки тому

      I found the error. I forgot to change the model name in the chatbot.py , it was .model but the correct is .h5

    • @joelees
      @joelees 2 роки тому +1

      @@netofis omg thank you so much I've been searching for the solution to this error for an hour 😭

    • @poojashah3131
      @poojashah3131 Рік тому +1

      @@netofis Thank you so much, was struggling for 2 hours

  • @audunlarssonkleveland4789
    @audunlarssonkleveland4789 2 роки тому +2

    btw if you struggle with translation to vscode on the importation of tensorflow instead type "from tensorflow.python.keras.layers ...." and so on

  • @gunity440
    @gunity440 2 роки тому

    This video is amazing ! thank you!

  • @MrJoeflames
    @MrJoeflames Рік тому +1

    if you get an error with hist = model.fit(np.array(train_x), np.array(train_y), epochs=200, batch_size =5, verbose=1 ), just delete "accuracy in model.compile

  • @yaranassar1208
    @yaranassar1208 Рік тому +3

    training = np.array(training) is returning an error, can you help?
    ---------------------------------------------------------------------------
    ValueError Traceback (most recent call last)
    Cell In[24], line 26
    24 # shuffle our features and turn into np.array
    25 random.shuffle(training)
    ---> 26 training = np.array(training)
    28 # create train and test lists. X - patterns, Y - intents
    29 train_x = list(training[:, 0])
    ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (27, 2) + inhomogeneous part.

  • @amantarar9077
    @amantarar9077 3 роки тому +3

    there is correction on line 51 in chatbot.py ."responses" should be replaced with "response"

    • @noorulainnoor8831
      @noorulainnoor8831 2 роки тому

      I code exactly same but couldn't able to to write any msg after "GO! Bot is running". can you help me? how to sort it out

  • @deepankarpathak9831
    @deepankarpathak9831 3 роки тому +1

    Thank you for such a wonderful content !

  • @Fingiorstyle
    @Fingiorstyle Рік тому

    Incredible tutorial, thanks!

  • @justinfranzsevilla2310
    @justinfranzsevilla2310 3 роки тому +39

    Ah yes, now I can make a very own best friend who can understand me :DDDD

  • @karl4563
    @karl4563 Місяць тому

    thank you ! needed this in my school project

  • @alumnixiiaccounting1offici969
    @alumnixiiaccounting1offici969 3 роки тому

    Can the response from the bot be replaced with sound or video or maybe it can be replaced by opening an application such as Google's assistant system?

  • @raghawpanpaliya7477
    @raghawpanpaliya7477 2 роки тому +3

    Well, I followed along and as I ran it....this guy decided to reply "Hello" with "Talk to you later" LMAOO 😭Even a bot isnt interested in talking with me 😒

  • @80sVectorz
    @80sVectorz 3 роки тому +3

    my bot keeps saying the intent is goodbye even if I say "how are you?" it says hey or goodbye or talk to you later

    • @amulyaparitosh660
      @amulyaparitosh660 3 роки тому +1

      I have similar problem.
      my bot keeps saying "hi", ""hello", "what can i do for you", even if i ask "what is your name"

    • @amulyaparitosh660
      @amulyaparitosh660 3 роки тому

      please help

    • @isaacmuscat5082
      @isaacmuscat5082 3 роки тому

      If there’s nothing wrong with the preprocessing you probably have to find a way to properly tune the model with a test set and a training set to prevent under or overfitting.

    • @roopeshk.r3219
      @roopeshk.r3219 3 роки тому

      Hey, I have a Problem after training , type error in last 2 functions, While true, get_response

    • @delvinanthony2798
      @delvinanthony2798 3 роки тому

      If you guys keep getting goodbye messages for other things change the error_threshold to 0.5 and if that doesn't work change the epochs in training.py to 800

  • @dani-xe6zb
    @dani-xe6zb Місяць тому

    hell yeah, my first AI. Thanks, man

  • @m.pavankalyan2650
    @m.pavankalyan2650 Рік тому

    This video is really great and this AI projects series is extraordinary

  • @bloodang6793
    @bloodang6793 Рік тому +4

    Hello... i have tried to copy your code now in 2023 and apparently there is an issue with training = np.array(training) since the [bag, output_row] columns don't have the same dimensions (maybe I have copied something wrong along the way...).
    I have came up with a solution that bypass the issue, although its quite a caveman style solution and I do not have the knowledge to understand its consequences, but it does not crash the code and allows me to train the chatbot.
    solution:
    when defining the dimensions of:
    output_empty = [0] * len(classes)
    instead do:
    output_empty = [0] * len(words)
    this way the dimensions of "bag" and "output_row" are the same. (It will fill the space with 0, so it shouldn't change the bot training accuracy... but what do I know :D )

    • @Kanishkaran.__
      @Kanishkaran.__ Рік тому +1

      Hey what about importing tensorflow, I tried copying too but mines showing error like 'rebuild tensorflow with appropriate compiler flags'

    • @bloodang6793
      @bloodang6793 Рік тому

      @@Kanishkaran.__ Not really sure, but as I figured lately its quite a lot about version compatibilities with TF and all these days. Try searching if your versions match.

    • @Kanishkaran.__
      @Kanishkaran.__ Рік тому

      @@bloodang6793 What's the version used here?

    • @mysterious4496
      @mysterious4496 Рік тому

      @@Kanishkaran.__ Hey, did you get a solution?

    • @Kanishkaran.__
      @Kanishkaran.__ Рік тому

      @@mysterious4496 no

  • @kinjalkg7704
    @kinjalkg7704 3 роки тому +4

    Hello, i am unable to install tensorflow!!please help

    • @Adhithya2003
      @Adhithya2003 3 роки тому

      Use this video its very good and well we ua-cam.com/video/zRY5lx-So-c/v-deo.html

    • @maxmayer3551
      @maxmayer3551 3 роки тому

      tensorflow does not support python versions after 3.6.4, so you'll have to change your version

    • @ratto751
      @ratto751 3 роки тому

      @@maxmayer3551 That's pure BS. It's available till Python 3.8

    • @maxmayer3551
      @maxmayer3551 3 роки тому

      ​@@ratto751 I was using 3.8 and I had the same issue as this guy so I looked it up, read an article that told me tensorflow doesn't work beyond 3.6.4 so I switched versions and it completely fixed my issue. So if you really insist that my experience was purely circumstantial

    • @ratto751
      @ratto751 3 роки тому

      @@maxmayer3551 Would you rather trust an article or the official TensorFlow GitHub and PyPi? I've been able to run TensorFlow on python 3.8. There must be some other problem with your PC since it works with 3.8 on mine.

  • @dlazar711
    @dlazar711 3 роки тому

    Hi, how would you code the condition, lets say if threshold is 0.7 and anything that is below, the chatbot would response smth like "I dont understand, please rephrase" ?

  • @anilshah9336
    @anilshah9336 3 роки тому +1

    Very excellent work and Good amount of stuff there in for a beginners to have. I am learning Paython now.

  • @mihailsoftware8219
    @mihailsoftware8219 3 роки тому +16

    can i have the source code?

  • @siddharthkarambelkar358
    @siddharthkarambelkar358 Рік тому

    This was very helpful. But I want to ask question. What should I do if I want to ask this bot a series of related questions. I am inputting user information inside a table and want to ask them their particulars. How should I proceed forward?

  • @dreamsauce8745
    @dreamsauce8745 3 роки тому +2

    For anyone having issues with the model not running. change train_x and train_y into a tensor and adjust the input shape of the model to be 15, 5

    • @akeeme8921
      @akeeme8921 3 роки тому +4

      what do you mean by change them into a tensor

    • @poojashah3131
      @poojashah3131 Рік тому

      can you share the code?

  • @shivamamin1126
    @shivamamin1126 3 роки тому

    I am new to channel and you are doing such a good word, THANK YOU SO MUCH.
    I am watching your Simple Mail Client video and I listen the intro music did you tell me what is the name of it??

  • @zeroday9551
    @zeroday9551 Рік тому

    Can you tell me if this is a top-down approach or bottom-up approach? Do you have a video on the other (if this is Bottom-up or Top-down)?

  • @savvidaios
    @savvidaios 10 місяців тому

    I learned a lot through this video. However since we have static replies for this exact project I believe that splitting the string from the user input into a list as you did, finding a key word and thus give the reply could be easily and faster done with if else statements. I get the educational manner for the AI part but because you didn’t exactly analyze the code that you used in the machine learning part because of the purpose of the video I will stick to my opinion having the thought of the purpose of the video being “build a chatbot” and not “use ai to create something”. Great video though❤

  • @tomcat9761
    @tomcat9761 2 роки тому

    how do you test and validate this? What is your score? I tried validating it but the loss and accuracy are bad. Tried regularization techniques and I added more data. Still bad. Im guessing it is from how the data was stored. Do you know what is the reason behind this?

  • @robinellingsen2805
    @robinellingsen2805 2 роки тому +1

    So ive checked he full video 3 times, gone through every line of code, but when i enter the first input text, i get alueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 0), found shape=(None, 23). how is that possible? any ideas? Great video btw!

  • @gwendalos
    @gwendalos 3 роки тому +1

    Hello, that's great work you're good dude but I need the ia to respond with all accents on the letters like "é" or "ç". Any idea of how i could do ?

  • @appvoid
    @appvoid 2 роки тому

    Love this but I think Levenshtain Distance fits better when doing small projects.

  • @seungjunlee00
    @seungjunlee00 2 роки тому

    Thanks, this video helped me a lot!

  • @abhimanyukumar-jc6bw
    @abhimanyukumar-jc6bw Рік тому

    How can i get some dynamic responses hitting an external API and provide in my chat response using placeholder or appending with the responses in intent json

  • @Mario-hq6cl
    @Mario-hq6cl 2 роки тому

    Question: Can you make it/How can you make it so that if you say something ex: "Hello" it searches for the word on the internet and puts it in a group ex: "Greetings" and learn when to use it? I think that would be faster than writing the sentences you might say and responses for it and more effective (once it learns the vocabular). Oh yeah, or just "scan" the entire vocabular. Sounds like something from a movie but I think it's very possible to do it, probably takes a lot of coding tho.

  • @morganhudson3185
    @morganhudson3185 Рік тому

    bro your intro is fire