Book Image

The Handbook of NLP with Gensim

By : Chris Kuo
Book Image

The Handbook of NLP with Gensim

By: Chris Kuo

Overview of this book

Navigating the terrain of NLP research and applying it practically can be a formidable task made easy with The Handbook of NLP with Gensim. This book demystifies NLP and equips you with hands-on strategies spanning healthcare, e-commerce, finance, and more to enable you to leverage Gensim in real-world scenarios. You’ll begin by exploring motives and techniques for extracting text information like bag-of-words, TF-IDF, and word embeddings. This book will then guide you on topic modeling using methods such as Latent Semantic Analysis (LSA) for dimensionality reduction and discovering latent semantic relationships in text data, Latent Dirichlet Allocation (LDA) for probabilistic topic modeling, and Ensemble LDA to enhance topic modeling stability and accuracy. Next, you’ll learn text summarization techniques with Word2Vec and Doc2Vec to build the modeling pipeline and optimize models using hyperparameters. As you get acquainted with practical applications in various industries, this book will inspire you to design innovative projects. Alongside topic modeling, you’ll also explore named entity handling and NER tools, modeling procedures, and tools for effective topic modeling applications. By the end of this book, you’ll have mastered the techniques essential to create applications with Gensim and integrate NLP into your business processes.
Table of Contents (24 chapters)
1
Part 1: NLP Basics
5
Part 2: Latent Semantic Analysis/Latent Semantic Indexing
9
Part 3: Word2Vec and Doc2Vec
12
Part 4: Topic Modeling with Latent Dirichlet Allocation
18
Part 5: Comparison and Applications

Building an Ensemble LDA model with Gensim

The procedure is very similar to that of building the LDA model in the previous chapter. The Ensemble LDA requires text preprocessing.

Preprocessing the training data

Let’s load the training data:

import pandas as pdimport numpy as np
pd.set_option(‘display.max_colwidth’, -1)
path = ‘/content/gdrive/My Drive/data/gensim’
train = pd.read_csv(path + “/ag_news_train.csv”)

We will tokenize the words in each sentence:

from gensim.parsing.preprocessing import preprocess_stringtext_tokenized = []
for doc in train[‘Description’]:
    k = preprocess_string(doc)
    text_tokenized.append(k)
text_tokenized[0:3]

The output looks like this:

[[‘reuter’, ‘short’, ‘seller’, ‘wall’, ‘street’, ‘dwindl’, ‘band’, ‘ultra’, ‘...