Book Image

Natural Language Processing with Java - Second Edition

By : Richard M. Reese
Book Image

Natural Language Processing with Java - Second Edition

By: Richard M. Reese

Overview of this book

Natural Language Processing (NLP) allows you to take any sentence and identify patterns, special names, company names, and more. The second edition of Natural Language Processing with Java teaches you how to perform language analysis with the help of Java libraries, while constantly gaining insights from the outcomes. You’ll start by understanding how NLP and its various concepts work. Having got to grips with the basics, you’ll explore important tools and libraries in Java for NLP, such as CoreNLP, OpenNLP, Neuroph, and Mallet. You’ll then start performing NLP on different inputs and tasks, such as tokenization, model training, parts-of-speech and parsing trees. You’ll learn about statistical machine translation, summarization, dialog systems, complex searches, supervised and unsupervised NLP, and more. By the end of this book, you’ll have learned more about NLP, neural networks, and various other trained models in Java for enhancing the performance of NLP applications.
Table of Contents (19 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Word2vec


While GloVe is a count-based model where a matrix is created for counting words, word2vec is a predictive model that uses prediction and loss adjustment to find the similarity. It works like a feed-forward neural network and is optimized using various techniques, including stochastic gradient descent (SGD), which are core concepts of machine learning. It is more useful in predicting the words from the given context words in vector representation. We will be using the implementation of word2vec from https://github.com/IsaacChanghau/Word2VecfJava. We will also need the GoogleNews-vectors-negative300.bin file from https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit?usp=sharing, as it contains pre-trained vectors for the GoogleNews dataset with 300 dimensional vectors for 3 million words and phrases. The example program will find the similar word to kill.  The following is the sample output:

loading embeddings and creating word2vec...
[main] INFO org.nd4j.linalg.factory...