Natural Language Processing with Java
eBook - ePub

Natural Language Processing with Java

Richard M Reese

Share book
  1. 262 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Natural Language Processing with Java

Richard M Reese

Book details
Book preview
Table of contents
Citations

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Natural Language Processing with Java an online PDF/ePUB?
Yes, you can access Natural Language Processing with Java by Richard M Reese in PDF and/or ePUB format, as well as other popular books in Computer Science & Application Development. We have over one million books available in our catalogue for you to explore.

Information

Natural Language Processing with Java


Table of Contents

Natural Language Processing with Java
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Introduction to NLP
What is NLP?
Why use NLP?
Why is NLP so hard?
Survey of NLP tools
Apache OpenNLP
Stanford NLP
LingPipe
GATE
UIMA
Overview of text processing tasks
Finding parts of text
Finding sentences
Finding people and things
Detecting Parts of Speech
Classifying text and documents
Extracting relationships
Using combined approaches
Understanding NLP models
Identifying the task
Selecting a model
Building and training the model
Verifying the model
Using the model
Preparing data
Summary
2. Finding Parts of Text
Understanding the parts of text
What is tokenization?
Uses of tokenizers
Simple Java tokenizers
Using the Scanner class
Specifying the delimiter
Using the split method
Using the BreakIterator class
Using the StreamTokenizer class
Using the StringTokenizer class
Performance considerations with java core tokenization
NLP tokenizer APIs
Using the OpenNLPTokenizer class
Using the SimpleTokenizer class
Using the WhitespaceTokenizer class
Using the TokenizerME class
Using the Stanford tokenizer
Using the PTBTokenizer class
Using the DocumentPreprocessor class
Using a pipeline
Using LingPipe tokenizers
Training a tokenizer to find parts of text
Comparing tokenizers
Understanding normalization
Converting to lowercase
Removing stopwords
Creating a StopWords class
Using LingPipe to remove stopwords
Using stemming
Using the Porter Stemmer
Stemming with LingPipe
Using lemmatization
Using the StanfordLemmatizer class
Using lemmatization in OpenNLP
Normalizing using a pipeline
Summary
3. Finding Sentences
The SBD process
What makes SBD difficult?
Understanding SBD rules of LingPipe's HeuristicSentenceModel class
Simple Java SBDs
Using regular expressions
Using the BreakIterator class
Using NLP APIs
Using OpenNLP
Using the SentenceDetectorME class
Using the sentPosDetect method
Using the Stanford API
Using the PTBTokenizer class
Using the DocumentPreprocessor class
Using the StanfordCoreNLP class
Using LingPipe
Using the IndoEuropeanSentenceModel class
Using the SentenceChunker class
Using the MedlineSentenceModel class
Training a Sentence Detector model
Using the Trained model
Evaluating the model using the SentenceDetectorEvaluator class
Summary
4. Finding People and Things
Why NER is difficult?
Techniques for name recognition
Lists and regular expressions
Statistical classifiers
Using regular expressions for NER
Using Java's regular expressions to find entities
Using LingPipe's RegExChunker class
Using NLP APIs
Using OpenNLP for NER
Determining the accuracy of the entity
Using other entity types
Processing multiple entity types
Using the Stanford API for NER
Using LingPipe for NER
Using LingPipe's name entity models
Using the ExactDictionaryChunker class
Training a model
Evaluating a model
Summary
5. Detecting Part of Speech
The tagging process
Importance of POS taggers
What makes POS difficult?
Using the NLP APIs
Using OpenNLP POS taggers
Using the OpenNLP POSTaggerME class for POS taggers
Using OpenNLP chunking
Using the POSDictionary class
Obtaining the tag dictionary for a tagger
Determining a word's tags
Changing a word's tags
Adding a new tag dictionary
Creating a dictionary from a file
Using Stanford POS taggers
Using Stanford MaxentTagger
Using the MaxentTagger class to tag textese
Using Stanford pipeline to perform tagging
Using LingPipe POS taggers
Using the HmmDecoder class with Best_First tags
Using the HmmDecoder class with NBest tags
Determining tag confidence with the HmmDecoder class
Training the OpenNLP POSModel
Summary
6. Classifying Texts and Documents
How classification is used
Understanding sentiment analysis
Text classifying techniques
Using APIs to classify text
Using OpenNLP
Training an OpenNLP classification model
Using DocumentCategorizerME to classify text
Using Stanford API
Using the ColumnDataClassifier class for classification
Using the Stanford pipeline to perform sentiment analysis
Using LingPipe to classify text
Training text using the Classified class
Using other training categories
Classifying text using LingPipe
Sentiment analysis using LingPipe
Language identification using LingPipe
Summary
7. Using Parser to Extract Relationships
Relationship types
Understanding parse trees
Using extracted relationships
Extracting relationships
Using NLP APIs
Using OpenNLP
Using the Stanford API
Using the LexicalizedParser class
Using the TreePrint class
Finding word dependencies using the Grammat...

Table of contents