Text Embeddings, Classification, and Semantic Search (w/ Python Code)

Sdílet
Vložit
  • čas přidán 1. 06. 2024
  • 👉 Need help with AI? Reach out: shawhintalebi.com/
    In this video, I introduce text embeddings and describe how we can use them for 2 simple yet high-value use cases: text classification and semantic search.
    More Resources:
    👉 Series Playlist: • Large Language Models ...
    🎥 RAG: • How to Improve LLMs wi...
    📰 Read more: medium.com/towards-data-scien...
    💻 GitHub: github.com/ShawhinT/CZcams-B...
    [1] • What Are Word and Sent...
    [2] R. Patil, S. Boit, V. Gudivada and J. Nandigam, “A Survey of Text Representation and Embedding Techniques in NLP,” in IEEE Access, vol. 11, pp. 36120-36146, 2023, doi: 10.1109/ACCESS.2023.3266377.
    [3] owasp.org/www-project-top-10-...
    --
    Book a call: calendly.com/shawhintalebi
    Socials
    / shawhin
    / shawhintalebi
    / shawhint
    / shawhintalebi
    The Data Entrepreneurs
    🎥 CZcams: / @thedataentrepreneurs
    👉 Discord: / discord
    📰 Medium: / the-data
    📅 Events: lu.ma/tde
    🗞️ Newsletter: the-data-entrepreneurs.ck.pag...
    Support ❤️
    www.buymeacoffee.com/shawhint
    Intro - 0:00
    Problem: Text isn't computable - 0:42
    Text Embeddings - 1:42
    Why should I care? - 3:15
    Use Case 1: Text Classification - 5:49
    Use Case 2: Semantic Search - 12:40
    Free gift for watching: 23:50

Komentáře • 54

  • @ShawhinTalebi
    @ShawhinTalebi  Před 2 měsíci +2

    Check out more videos in this series 👇
    👉 Series Playlist: czcams.com/play/PLz-ep5RbHosU2hnz5ejezwaYpdMutMVB0.html
    🎥 RAG: czcams.com/video/Ylz779Op9Pw/video.html
    --
    📰 Read more: medium.com/towards-data-science/text-embeddings-classification-and-semantic-search-8291746220be?sk=03e4e68a420373a3525de8721f57c570
    💻 GitHub: github.com/ShawhinT/CZcams-Blog/tree/main/LLMs/text-embeddings
    Resources
    [1] czcams.com/video/A8HEPBdKVMA/video.htmlsi=PA4kCnfgd3nx24LR
    [2] R. Patil, S. Boit, V. Gudivada and J. Nandigam, “A Survey of Text Representation and Embedding Techniques in NLP,” in IEEE Access, vol. 11, pp. 36120-36146, 2023, doi: 10.1109/ACCESS.2023.3266377.
    [3] owasp.org/www-project-top-10-for-large-language-model-applications/

  • @ccapp3389
    @ccapp3389 Před 2 měsíci +26

    Love that you’re bringing real knowledge, insights and code here! So many AI CZcamsrs are just clickbaiting their way through the hype cycle by reading the same SHOCKING news as everyone else.

    • @tylerpoore97
      @tylerpoore97 Před měsícem

      I mean, the guy clickbaited the thumbnail. Also, this is insanely old news at this point(if considered news at all).
      Video content was on point, but we shouldn't be promoting clickbait methods.

    • @ccapp3389
      @ccapp3389 Před měsícem +3

      I clicked this video for technical explanations and code, not news. There are plenty of dudes reading off the same SHOCKING news across AI CZcams. I got exactly what I wanted from this video and feel like the title was clear.

  • @krishnavamsiyerrapatruni5385

    I have learnt so much by watching the entire series. Thank you so much Shaw! I think this is one of the best playlists out there for anyone looking to get into the field of LLMs and GenAI.

    • @ShawhinTalebi
      @ShawhinTalebi  Před 14 dny

      Great to hear! Feel free to share any suggestions for future content :)

  • @PRColacino
    @PRColacino Před měsícem +1

    Congrats man! Keep going with more real examples with code sharing

  • @obaydmir8353
    @obaydmir8353 Před měsícem +1

    Clear and understandable explanation of these concepts. Thanks and really enjoyed!

  • @BrandonFoltz
    @BrandonFoltz Před měsícem +2

    Great video. The practical use cases for embeddings themselves are undervalued IMHO and this video is fantastic for showing ways to use embeddings. Even if you use OpenAI embeddings, they are dirt cheap, and can provide fantastic vectors for further analysis, manipulation, and comparison.

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem

      Thanks Brandon! I completely agree. Agents are great, but they seem to overshadow all the relatively simple text embedding-based applications.

  • @pramodkumarsola
    @pramodkumarsola Před 2 měsíci +2

    You are the real guy to subscribe and learn

  • @aldotanca9430
    @aldotanca9430 Před měsícem +1

    Exceptionally clear as always!

  • @ethanlazuk
    @ethanlazuk Před měsícem

    SEO here, enjoyed your examples of semantic search and explanation of hybrid search. Great vid and easy to follow. Will explore your channel. Cheers!

  • @blackswann9555
    @blackswann9555 Před měsícem

    Excellent work sir! ❤

  • @ifycadeau
    @ifycadeau Před 2 měsíci +1

    Wow! Thank you for breaking this down, been trying to figure it out!

  • @avi7278
    @avi7278 Před měsícem

    Great format subd

  • @dr.aravindacvnmamit3770
    @dr.aravindacvnmamit3770 Před 2 měsíci

    Excellent!

  • @mr.daniish
    @mr.daniish Před měsícem

    Love you shaw!

  • @cinematicsounds
    @cinematicsounds Před měsícem

    Thank you very good information, will try to make a database for audio sound effects using vector databases text to audio

  • @KrisTC
    @KrisTC Před 2 měsíci +3

    I have watched most of the videos in this series and found them really helpful. Something I am looking for that I haven't seen you cover yet. Is some more guidance on preparing data for either RAG or fine tuning. I am sure you have practical tips you can give. I have a large old codebase, we have loads of documentation and tutorials etc, but it is a lot of someone to pickup. This new world of GPTs seams perfect for building an assistant. I will be able to work through it ok, but I suspect there will be a load of learnt best practices or pitfalls to avoid that are a bit more subtle. For example I am looking through our support emails / tickets, lots of them all start with please send logs :) and after a load of back and forth we have info. This is much like a conversation with ChatGPT. For fine tuning is it best to fine tune on a whole thread? Or each chunk of the conversation?

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem +3

      Great suggestion! I plan to do a series on data engineering and this would be a great thing to incorporate into it.
      For you use case, the best choice would depend on what you want the assistant to do. For instance, if you want the assistant to mimic the support rep, then you'd likely want to use each message in the thread with its appropriate context (i.e. preceding messages).

    • @KrisTC
      @KrisTC Před měsícem

      @@ShawhinTalebi thanks for the tip. That’s what I ended up doing it. Not yet tried actually fine tuning yet. Just finished my data prep. Looking forward to you next series 😊

  • @pepeballesteros9488
    @pepeballesteros9488 Před měsícem

    Many thanks for the video Shaw, great content!
    One simple question: when using OpenAI's embedding model, each resume is represented by an embedding vector. Is this embedding computed as the average of all word vectors?

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem

      Great question! Embedding models do not operate on specific words, but rather on the text as a whole. This is valuable because the meaning of specific words is driven by the context it appears in.

  • @sherpya
    @sherpya Před 2 měsíci

    it's possible to extract software names from the query with a text classifier and apply only e. g. apache airflow to kw search? also what db do you suggest? is postgres with vector db good?

    • @ShawhinTalebi
      @ShawhinTalebi  Před 2 měsíci

      Good question. While I haven't seen a text classifier used for KW search, that could be a clever way to implement it.
      There are several DBs to choose from these days. I'd say go with what makes sense with the existing data infrastructure. If starting from scratch, Elastic search or Pinecone might be good jumping off points.

    • @aldotanca9430
      @aldotanca9430 Před měsícem

      lanceDB is also quite good.

  • @tamilinfomite
    @tamilinfomite Před měsícem

    Hi Shawhin, Thanks. I ran into a problem. I tried to use Sentence_transformers model by installing it. It always givens an error no file found config_sentence_transformers.json' in the .cache/huggingface/... folder. Your help is appreciated

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem

      Not sure what the issue could be. Did you install all the requirements on the GitHub?
      github.com/ShawhinT/CZcams-Blog/tree/main/LLMs/text-embeddings

  • @eliskucevic340
    @eliskucevic340 Před měsícem

    Iv been using embeddings for awhile but i find that agents can call specialized tools that can be very useful depending on the applications.

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem

      Thanks for sharing your insight! Indeed agents and embeddings solve different problems. However, some agent use cases could be reconfigured to be solved with text embeddings + human in the loop.

  • @AlexandreMarr-uq8pw

    Can only two kinds of classification be made? If I have lots of types, for example, product classification, can it be applied?

    • @ShawhinTalebi
      @ShawhinTalebi  Před 2 hodinami

      You can have several target classes. Here's a nice write-up about doing that with sklearn: scikit-learn.org/stable/modules/multiclass.html

  • @alroygama6166
    @alroygama6166 Před 10 dny

    Can i use these embeddings with bert based models instead?

    • @ShawhinTalebi
      @ShawhinTalebi  Před 7 dny

      Yes! In fact, sentence transformers has a few bert-based embedding models: sbert.net/docs/pretrained_models.html

  • @avi7278
    @avi7278 Před měsícem

    finally someone who speaks with their hands more than I do, lol...

  • @Whysicist
    @Whysicist Před měsícem

    LDA - Latent Dirichlet Allocation is kinda trivial these days… Matlab text analytics toolbox works great on pdf’s with bi-grams… a la bag-of-N-Grams. Cool… thanks…

  • @chamaljayasinghe4210
    @chamaljayasinghe4210 Před 6 dny

    ✌✌🧑‍💻🧑‍💻

  • @skarloti
    @skarloti Před měsícem

    This is not always a good solution if we have multilingual text. I see that LLM context 1M token/character They offer other solutions with functions and external API calls.

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem

      I'm curious about this. I've seen embedding models that can handle multiple languages, so I'd expect them to work pretty well. Can you shed any more light on this?

  • @tylerpoore97
    @tylerpoore97 Před měsícem

    Soo, unlike your thumbnail, this has nothing to do with agents...
    Why mention them?

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem

      Thumbnail is "Forget AI agents... use this instead". I explain this a bit @3:15.

  • @user-gy1pl9ri1k
    @user-gy1pl9ri1k Před měsícem

    are you persian

  • @cirtey29
    @cirtey29 Před měsícem

    By end of next year all the drawbacks of LLMs will be erased.

  • @user-yu2wr5qf7g
    @user-yu2wr5qf7g Před 25 dny

    cool...

  • @bentobin9606
    @bentobin9606 Před měsícem

    is text embedding same as text tokenization done in training ?

    • @ShawhinTalebi
      @ShawhinTalebi  Před měsícem +2

      Good question! These are different things.
      Tokenization is the process of taking a some text and deriving a vocabulary from which the original text can be generated, where each element in the vocabulary is assigned a unique integer value.
      Text embeddings on the other hand, take tokens and translate them into meaningful (numerical) representations.
      I talk a little more about tokenization here: czcams.com/video/czvVibB2lRA/video.htmlsi=FwqmkB9Ltyq45n0w&t=348