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

Artificial Linguistic Internet Computer Entity


The Artificial Linguistic Internet Computer Entity (ALICE) is a free software chatbot that was created in AIML. It's a NLP chatbot, which can engage in conversation with humans using some heuristical pattern matching rules. It has won the Loebner Prize three times, which is awarded to accomplished talking robots. It failed the Turing test, but it can still be used for normal chats and can be customized. 

Understanding AIML

In this section, we will be using AIML. AIML is an XML-based markup language used in developing AI applications, especially for software agents. It contains the rules or responses for user requests, which are used by NLU units internally. In simple terms, the more rules we add in AIML, the more intelligent and accurate our chatbot will be.

As AIML is an XML-based markup language; it starts with the root tag <aiml>, so a typical AIML file will look like this:

<?xml version="1.0" encoding="UTF-8"?>
<aiml>
<...