Book Image

Natural Language Processing with Flair

By : Tadej Magajna
Book Image

Natural Language Processing with Flair

By: Tadej Magajna

Overview of this book

Flair is an easy-to-understand natural language processing (NLP) framework designed to facilitate training and distribution of state-of-the-art NLP models for named entity recognition, part-of-speech tagging, and text classification. Flair is also a text embedding library for combining different types of embeddings, such as document embeddings, Transformer embeddings, and the proposed Flair embeddings. Natural Language Processing with Flair takes a hands-on approach to explaining and solving real-world NLP problems. You'll begin by installing Flair and learning about the basic NLP concepts and terminology. You will explore Flair's extensive features, such as sequence tagging, text classification, and word embeddings, through practical exercises. As you advance, you will train your own sequence labeling and text classification models and learn how to use hyperparameter tuning in order to choose the right training parameters. You will learn about the idea behind one-shot and few-shot learning through a novel text classification technique TARS. Finally, you will solve several real-world NLP problems through hands-on exercises, as well as learn how to deploy Flair models to production. By the end of this Flair book, you'll have developed a thorough understanding of typical NLP problems and you’ll be able to solve them with Flair.
Table of Contents (15 chapters)
1
Part 1: Understanding and Solving NLP with Flair
6
Part 2: Deep Dive into Flair – Training Custom Models
11
Part 3: Real-World Applications with Flair

Preface

Natural Language Processing (NLP) is currently one of the fastest-growing subfields of AI where new advances or changes to NLP frameworks happen daily. Anyone new to the field will find it difficult to know where to start, which ideas are outdated, which ones are still relevant, and which are soon to become state of the art. Similarly, people with a solid theoretical NLP background aiming to gain practical experience in NLP will find it difficult to choose the right NLP library or framework given the oversupply of different options currently available in the open source community. As someone who has used Flair both professionally as well as for personal projects, I would find it hard to recommend any other framework that is as intuitive, as relevant, and as packed with ready-to-use, state-of-the-art models as Flair.

The most interesting thing about Flair may not be its simplicity, performance, or ease of use. Instead, it has to do with how Flair was originally designed. The first release was never intended to serve as a full-fledged NLP framework. The first release of Flair (v0.1), at heart, was merely a tool that served as a real-world implementation of Flair embeddings – the underlying concept that gives Flair sequence labeling models their amazing performance. It wasn't until later Flair versions that the library introduced Transformer models, text classification models, and other tools that you would normally expect from an established NLP framework.

Anyone aiming to build real-world NLP solutions will need to juggle between spending time learning more about NLP theory and investing effort in choosing the right engineering approach. This book will help you find the right balance between both. It will arm you with just the right amount of theoretical foundation to help understand the underlying NLP concepts as well as help you gain enough engineering knowledge and experience so that you can use Flair proficiently.