
Explore embedding techniques that convert text into numerical vectors, a key preprocessing step in NLP that captures context and semantics, enabling machines to process language across other complex data representations.
Learn why text embeddings convert unstructured language into numerical representations for NLP and ML, and how one hot, label, and ordinal encoding capture rich word contexts.
Explore tf-idf, word2vec, and GloVe embeddings, including tf-idf weighting, bag-of-words and skip-gram models, one-hot encoding, softmax outputs, and co-occurrence matrix learning.
Compare ELMo and BERT as language model embeddings, highlighting bidirectional context with ELMo's bi-directional LSTM and BERT's transformer-based encoder with masked language modeling for robust embeddings.
Discover why Python powers NLP development with versatile libraries and strong community support. Set up a flexible environment from Google Colab to local setups using virtual environments, Conda, or Docker.
Generate dense text embeddings with tfidf by preprocessing, fitting a tfidf vectorizer, and comparing sentence vectors using cosine similarity.
Explore building word embeddings with FastText in Python using an unsupervised skip-gram model. Evaluate word relationships with cosine similarity, handle out-of-vocabulary words, and save the trained model.
Explore additional embedding libraries beyond the exercises, including Jensen with word and character n-grams and Dr. Beck for sentence embeddings, plus the embeddings library and Hugging Face transformers.
Natural Language Processing (NLP) is a subfield of Artificial Intelligence and Machine Learning where we work with unstructured text data - human or machine generated. If you are new to AI and ML space and would like to know where exactly NLP fits in the bigger picture, I would like to suggest the course "Applied ML: The Big Picture"
But once you've arrived here with the interest in NLP, I'd like to say you've taken the right step of knowing more about this interesting and challenging field. The language we speak is rich in information across several dimensions and to even realize these dimensions is a research exercise in itself. For this reason, NLP data is one of the most exciting data one can work with, while developing ML models.
Embeddings are just techniques that attempt to decipher some of these dimensions and put them into numerical format. It's the first and most important step before getting into advanced NLP algorithms and tasks such as machine translation, chatbot development etc.
This course provides the learner the foundational concepts along with two coding exercises, with attached jupyter notebooks, to provide a practical experience on the purpose and usefulness of text embeddings. Hopefully this inspires and prepares the learner to explore more topics in the interesting field of NLP.