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

Scoring and term weighting


Term weighting deals with evaluating the importance of a term with respect to a document. A simple way is to think of this is that the term that appears more in the documents is an important term, apart from the stop words. A score from 0-1 can be assigned to each document. A score is a measurement that shows how well the term or query is matched in the document. A score of 0 means that the term does not exist in the document. As the frequency of the term increases in the document, the score moves from 0 toward 1. So, for a given term X, the scores for three documents, d1, d2, and d3 are 0.2, 0.3, and 0.5, respectively, which means that the match in d3 is more important than d2 and d1 is least important for the overall score. The same applies for the zones as well. How to assign such a score or weight to the term requires learning from some training set or continuously running and updating the score for terms.

The real-time query will be in the form of free text...