Deep Learning for Search
Tommaso Teofili
  • MEAP began November 2017
  • Publication in Fall 2018 (estimated)
  • ISBN 9781617294792
  • 325 pages (estimated)
  • printed in black & white

An excellent and comprehensive textbook on how to add a search functionality to your site.

Michal Paszkiewicz

High-quality search is all about returning relevant results even when the data is changing or poorly structured, the queries are imprecise, and you're trying to make sense out of images and other non-text entries. Deep Learning for Search teaches you how to leverage neural networks, NLP, and deep learning techniques to improve search performance.

Table of Contents detailed table of contents

Part 1: Search meets deep learning

1. Neural search

1.2. Retrieving useful information

1.2.1. Text, tokens, terms and search fundamentals

1.2.2. Relevance first

1.3. Unsolved problems

1.3.1. Opening the search engine black box

1.4. Deep learning to the rescue

1.5. Index please meet Neuron

1.5.1. Neural network training

1.6. Summary

2. Generating synonyms

2.1. Why synonyms

2.2. Vocabulary based synonym matching

2.2.1. A quick look at Apache Lucene

2.2.2. Setting up a Lucene index with synonym expansion

2.3. Generating synonyms

2.4. Feed forward neural networks

2.4.1. How it works, weights and activation functions

2.5. Leveraging word2vec

2.5.1. Setting up word2vec in Deeplearning4J

2.5.2. Word2vec based synonym expansion

2.6. Evaluations and comparisons

2.7. Considerations for production systems

2.8. Summary

Part 2: Throwing neural nets at your search engine

3. From plain retrieval to text generation

3.1. Information need vs Query : bridging the gap

3.1.1. Generating alternative queries

3.1.2. Data preparation

3.2. Learning over sequences

3.3. Recurrent neural networks

3.3.1. RNN internals and dynamics

3.3.2. Long term dependencies

3.3.3. Long Short Term Memory networks

3.4. LSTM networks for unsupervised text generation

3.4.1. Unsupervised query expansion

3.5. From unsupervised to supervised text generation

3.5.1. Sequence to sequence modeling

3.6. Considerations for production systems

3.7. Summary

4. More sensitive suggestions

4.1. Suggesting while composing queries

4.2. Dictionary based suggesters

4.2.1. Lucene Lookup APIs

4.3. Analyzed suggesters

4.4. Leveraging language models

4.5. Content based suggesters

4.6. Neural language models

4.7. Character based neural language model for suggestions

4.8. Tuning the LSTM language model

4.9. Diversifying suggestions using word vectors

4.10. Summary

5. Word embeddings based ranking

5.1. Retrieval models

5.1.1. TF-IDF and Vector space model

5.1.2. Ranking documents in Lucene

5.1.3. Probabilistic models

5.2. Neural information retrieval

5.3. From word to document vectors

5.4. Evaluations and comparisons

5.4.1. Averaged word embeddings based Similarity

5.5. Summary

6. Retrieving similar documents

Part 3: One step beyond

7. Searching across languages

8. Content based image search

9. Peaking into performance

About the Technology

Using deep learning and neural networks are the perfect way to create better search results, letting you fine tune what your search engines display, help speed up the results, and let you build a profile of your customers that let them find what they need every single time. And because deep learning systems improve the more you use them, your clients will also become happier in the bargain.

About the book

Deep Learning for Search teaches you how to improve the effectiveness of your search by implementing neural network-based techniques. You'll start with an overview of information retrieval principles, like indexing, searching, and ranking, as well as a fast indoctrination into deep learning. Then, you'll move through in-depth examples as you gain an understanding of how to improve typical search tasks, such as relevance, with the help of Apache Lucene and Deeplearning4j. The book wraps up with a look at advanced problems, like searching through images and translating user queries. By the time you're finished, you'll be ready to build amazing search engines that deliver the results your users need and get better as time goes on!

What's inside

  • Applying deep learning to search
  • Generating suitable synonyms
  • Accurate and relevant rankings of search results
  • Searching across languages
  • Content-based image search
  • Search with recommendations

About the reader

Written for developers comfortable with Java or a similar language. No experience with deep learning or NLP needed.

About the author

Tommaso Teofili is a software engineer at Adobe Systems with a passion for open source and artificial intelligence. He is a long-time member of the Apache Software Foundation, where he contributes to many projects on topics like information retrieval, natural language processing, and distributed computing.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $59.99 pBook + eBook + liveBook
MEAP eBook $47.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks

Really well written with a lot of examples.

Krief David

An easy and interesting way to get started with the topic.

Srdan Dukic