
Taming Text provides hands-on examples for working with unstructured text data. It covers techniques such as full-text search, named entity recognition, clustering, tagging, information extraction, and summarization. These techniques are demonstrated using real-world applications built with open-source libraries like Solr and Mahout. The book guides readers through each topic and its foundations in a clear and concise style without requiring background in statistics or natural language processing. It is written for Java developers but the concepts can be applied in any language.
https://www.amazon.com/Taming-Text-Find-Organize-Manipulate/...
I have had a really pragmatic approach about reading them - only focusing first on parts relevant to my projects.
# An Introduction to Statistical Learning (ISL) / The Elements of Statistical Learning (ESL)
I focused on chapter 8-9 of ISL about Tree Based Methods and SVMs, two algorithms I used for my dissertation project. I found ISL to provide very clear explanations of the algorithms with just enough mathematical formalism.
I have a good math background so ESL was interesting to go through. But I am more of a practical person, and I found ISL to be more suited for me when it came down to working on my project and supporting my choices.
# Python Machine Learning
Really great hands-on book ! Sebastian Raschka manages well to guide you through all steps of a ML project data: pre-processing, feature engineering, model selection... - all the steps are defined and covered with practical examples.
I strongly recommend this book if you are just starting out with ML and feel "lost" about how to start your own project.
# Taming Text
I decided to use text data I had available for my dissertation project. However, half-way through the book I realized my dataset was to small to apply any of the techniques described there. I still like the practical approach and in the end the book gave me a good idea of what can be done with text.
# Advanced Analytics with Spark
I picked this book once I started working on the implementation of my project into production - we use Apache Spark (Scala) at work.
It provided me with a good introduction to Spark BUT it's based on the RDD-api and as stated on Spark website: "As of Spark 2.0, the RDD-based APIs in the spark.mllib package have entered maintenance mode. The primary Machine Learning API for Spark is now the DataFrame-based API in the spark.ml package."
I'm now mostly relying on Spark Doc / API, I'm not aware of any up-to-date books yet :)
I was thinking of NodeJS.
But the comment is correct, ES is not a db but a indexer and search engine.
edit:
Oh god, don't use it for storage. It index stuff.
You got a document, it'll store it in root words form so you can fuzzy search. It'll also do other NLP stuff to your document such as removing stop words. Once it hit an index you can store index value that point to your primary storage (cassandra, postgresql).
At least that's how I used it. If there is any better alternative I'd like to know about it.
edit:
I highly recommend: http://www.manning.com/ingersoll/
Taming text by Ingersoll and it won Dr. Dobb award too as a good book.
The nltk tools them-selves might not always be state of the art (e.g. compare with the java libs from the NLP dept in Stanford) but at least you will get to know all the major concepts.
Other interesting book, although not completely finished yet: http://www.manning.com/ingersoll/ Taming Text by Grant Ingersol, Thomas Morton and Drew Farris involved in the Apache Lucene / Mahout and OpenNLP communities.