The Secret to 90%+ Accuracy in Text Classification

Поділитися
Вставка
  • Опубліковано 6 лип 2024
  • In this video, we will be providing a beginner's guide to fine-tuning BERT, one of the most powerful natural language processing (NLP) models available. BERT, which stands for "Bidirectional Encoder Representations from Transformers," has been trained on a massive amount of text data and can be fine-tuned for a variety of NLP tasks, such as text classification, machine translation, and named entity recognition. We'll be walking through the process of fine-tuning BERT using the Hugging Face library, and provide examples and code snippets to help you get started with your own fine-tuning projects. This video is perfect for anyone who is new to NLP and wants to learn more about BERT and how to use it in their own projects. So, if you are a beginner in the field of NLP and want to learn more about BERT, this video is for you!
    Source Code:
    Kaggle Notebook: bit.ly/3GTQklf
    🔗 Social Media 🔗
    📱 Twitter: bit.ly/3aJWAeF​​
    📝 LinkedIn: bit.ly/3aQGGiL​​
    📂 GitHub: bit.ly/2QGLVYV​​
    Timestamps:
    00:00 Introduction
    00:33 Loading BERT from HuggingFace 🤗
    01:52 Loading Tokenizer from HuggingFace 🤗
    03:42 Output of BERT 👀 (Understanding Encoder Representations)
    05:50 Loading the Dataset
    07:22 Building the Model (BERT for Classification)
    09:18 Fine-Tuning/Training BERT
    09:47 Evaluating BERT (92% Yeyy!!)
    10:05 So what are you fine-tuning next? 👀
    10:22 Outro. See you soon! 👋
    Tags:
    #BERT #FineTuning #NLP #MachineLearning #BeginnersGuide #DeepLearning #NaturalLanguageProcessing #Tutorial #howto #BERTModel #TextClassification #LanguageModeling #TransferLearning #NeuralNetworks.
    Keywords:
    BERT, Fine-Tuning, NLP, Machine Learning, Beginners Guide, Deep Learning, Natural Language Processing, BERT Model, Text Classification, Pre-trained Models, Language Modeling, Transfer Learning, Neural Networks, Fine-Tune BERT, Fine-Tuning BERT
    Thank you,
    Pritish Mishra
  • Наука та технологія

КОМЕНТАРІ • 55

  • @PritishMishra
    @PritishMishra  Рік тому +7

    Subscribe.

  • @surendrareddydwarampudi4749
    @surendrareddydwarampudi4749 3 дні тому

    Best explanation in a simple and easy way.

  • @ankitnsfw
    @ankitnsfw 5 місяців тому +2

    from the last 3-4 hrs i am trying to find a step-by-step proper material on how to fine to BERT with your dataset , finally found it , thank for making this video.

  • @user-xw3os5ls8f
    @user-xw3os5ls8f 5 місяців тому

    best video i could find , easy, simple and to the point.

  • @zhwzh_
    @zhwzh_ 4 місяці тому

    Thanks a lot for this video. It's more than a simple tutorial, you really explain the most important concepts in a way that's clear

  • @viswanathhemanth
    @viswanathhemanth Рік тому +8

    Really really amazing Pritish. This video is not like those boring lecture videos. The animations are amazing. your explanation is clear with goof pronunciation. Amazing. Keep it up. I hope you continue posting these type of videos. ❤❤❤❤

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

    This is the best way of explaining the Models! Keep it up!!! I expect some plots/graphs on accuracy and predictions details!

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

    Explanation done by you is the best compared to any others....awesome work Pritish ....keep it up

  • @EduCentre-D4
    @EduCentre-D4 3 місяці тому

    best explanation of fine tuning of bert , got good understanding from video thanks

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

    Very Nice Explanation and nice Animation 🔥🔥🔥🔥
    Keep it up 👍🏻

  • @hamzaomari7052
    @hamzaomari7052 2 місяці тому

    You have so much potential, amazing!

  • @villurignanesh8458
    @villurignanesh8458 21 день тому

    Amazing work Pritish. You definitely deserve more views. Hopefully you will get it soon❤.

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

    thank bro!
    Good explanation, it was easy to understand

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

    Absolutely brilliant!

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

    Very nicely explained

  • @devadasdamodharan1511
    @devadasdamodharan1511 4 місяці тому

    Awesome explanation 👌

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

    Nice explanation.

  • @patrickahrend298
    @patrickahrend298 6 місяців тому

    Can you do a video on how to do Natural language inference with Bert? Thanks!

  • @AbhishekBade1310
    @AbhishekBade1310 4 місяці тому

    i have some text files in which there are elements and their values but the pattern in which the text is displayed in the file are different from file to file. Is it possible to train Bert on these files so that when I ask it to extract only the element names and their corresponding values it will do that regardless of the text pattern?

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

    Really Good video.

  • @05h92
    @05h92 3 місяці тому

    for the bert text summarization can we do in this way????

  • @jentertainment4239
    @jentertainment4239 6 місяців тому

    Can we use bert for context aware similarity?

  • @saimanideeep8716
    @saimanideeep8716 8 місяців тому

    Excellent video. I got one error while running the code.
    inputs = tokenizer(['Hello world', 'Hi how are you'], padding=True, truncation=True,
    return_tensors='tf')
    inputs
    For this line I got the following error:
    TypeError Traceback (most recent call last)
    Cell In[50], line 1
    ----> 1 inputs = tokenizer(['Hello world', 'Hi how are you'], padding=True, truncation=True,
    2 return_tensors='tf')
    3 inputs
    TypeError: 'BertTokenizer' object is not callable
    Can you please help?

  • @user-wi2lb6fr5e
    @user-wi2lb6fr5e 10 місяців тому

    pritish will you create a video of simulating a robotic arm which is controlled by a GPT-language model , and can cook food in simulation ?

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

    Very nice video; I wonder if it is possible to save the classifier for future use.

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

      You can save the classifier as follows:
      classifier.save("filename.h5")

  • @markinius8866
    @markinius8866 3 дні тому

    I'd like to ask, a paper I am trying to use for another dataset said they had optimal performance at epochs=50, however at epochs=3, it's already getting decent performance. May I ask why this is? Also, do you run bert in inference mode?

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

    so we don't need to freeze any layer of the pretrained model? i have a problem this is with VIT my image shape is 24x24 but the pretrained model input shape is 224x224 it is possible to fix that? and the learning parameter are 8900000 and i want to fine tune it on my dataset

  • @user-wr4yl7tx3w
    @user-wr4yl7tx3w Рік тому +1

    I’m not clear on what pooling in the video is.

  • @srujan-vy9by
    @srujan-vy9by 3 місяці тому

    How to import our dataset and train and test them

  • @ruizhou1243
    @ruizhou1243 7 місяців тому

    it show me train_dataset is not defined????

  • @VishalKumar-su2yc
    @VishalKumar-su2yc 4 місяці тому +1

    it was good video

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

    Hey, nice video! Just one question: how can you serialize a custom Keras model, such as yours -- class BERTForClassification(tf.keras.Model)?

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

      You can serialize a custom Keras model like our BERTForClassification using the model.save('filename') method. This will save the entire model, including the architecture, weights, and optimizer, to a file. You can then load the saved model using the tf.keras.models.load_model('filename') method.
      If the model.save() method doesn't work for you, you can use model.save_weights() instead. This method saves only the weights of the model to a file, so you will need to define the model architecture exactly as it was at the time of saving the weights in order to load the saved weights correctly.
      model = ...
      model.load_weights('/path/to/file')

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

      @@PritishMishra This doesn't work. This is my code:
      classifier.save(save_path)
      classifier_2 = tf.keras.models.load_model(save_path)
      I get this error:
      TypeError: No common supertype of TensorSpec(shape=(None, None), dtype=tf.int32, name=None) and TensorSpec(shape=(None, 27), dtype=tf.int64, name='input_ids/attention_mask').

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

      @@WoWmastersonTuralyon Could you please try with model.save_weights? Please let me know if this causes any errors.

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

      ​@@PritishMishra Yes, upon further research I came upon this solution too. The code that works looks like this:
      classifier.save_weights(save_path)
      classifier_2 = BERTForClassification(bert_model=transformers_model, num_classes=no_classes)
      classifier_2.load_weights(save_path)
      example_input = "just some dummy input string"
      encoded_example = tokenizer.encode(example_input, padding=True, truncation=True, return_tensors="tf")
      _ = classifier_2(encoded_example)
      The input is needed, because the bert input layer has a dynamic size, and gets built after running an input through it. Otherwise, other functions regarding the model (such as classifier_2.summary()) would return an error.
      Thanks for your help!

    • @MARTIN-101
      @MARTIN-101 Рік тому

      ​@@WoWmastersonTuralyon thanks for posting the solution too.

  • @chintanparmar7533
    @chintanparmar7533 6 місяців тому

    which model would be suitable for classifying if text is written by human or generated by LLM?

  • @Ryan-Pot
    @Ryan-Pot 5 місяців тому

    recreated this in pycharm, when i want to use the model (i saved it first) i get this error: TypeError: No common supertype of TensorSpec(shape=(None, None), dtype=tf.int32, name=None) and TensorSpec(shape=(None, 78), dtype=tf.int64, name='input_ids_attention_mask'). is there a way to fix this without retraining the model?

    • @Ryan-Pot
      @Ryan-Pot 5 місяців тому

      all i want is to calculate precision, recall and f1 score of the model btw.

  • @Monster-be2yp
    @Monster-be2yp 7 місяців тому

    great video, can you make a video on question answering? and can we make a chatbot just using bert or will we be needing a Decoder along with bert for that

  • @soumyaranjan7474
    @soumyaranjan7474 11 місяців тому

    Thanks a lot for this video. Could you write the code how to do inference through pooler_outpt?

  • @dotnetHub
    @dotnetHub 6 місяців тому

    hi bro i facing error
    I'm using hugging face dataset if sentiment analysis.
    where in the dataset contain sentiment column and data type of sentiment column is string how to convert into integer and label number 1,2,3
    in your case automatically convert into int64
    please guide me I'm stock from last 7 days
    thanks for your attention

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

    how to actually decode the output back to the classes is something this video did not explain : \

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

    bert is not an LLM

    • @HarshPatel-iy5qe
      @HarshPatel-iy5qe 2 місяці тому

      It used to be a LLM, but obviously now in the gen of trillions parameters model we can't say millions parameters model a LLM, but earlier it was a LLM , after few years these llama 2 and gpt 3 can't be LLM according to future models standard, but that does not change the fact of current scenario. hence, BERT is a LLM which trained on less parameters.

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

    Hey, I really liked your video, although I have few doubts on a few matters, I would love to have a chat with you if it were possible, so you can help me. Do you think we can have a chat over Discord or similar?

  • @negociosupq
    @negociosupq 3 місяці тому

    Great video! any clue why I got so low accuracy ?
    The Secret to 90%+ Accuracy in Text Classification
    32/32 ━━━━━━━━━━━━━━━━━━━━ 313s 10s/step - accuracy: 0.3567 - loss: 1.5853
    [1.5781687498092651, 0.3684999942779541]

    • @karthik7610
      @karthik7610 2 місяці тому

      same here
      accuracy: 0.3741 - loss: 1.5632

    • @PritishMishra
      @PritishMishra  2 місяці тому

      Hey, there's some problems with the code. Let me try to fix this.

  • @abdelrahmanmohamed9
    @abdelrahmanmohamed9 2 місяці тому

    from the last 5-6 hrs i am trying to find a step-by-step proper material on how to fine to BERT with your dataset , finally found it , thank for making this video.