DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Understanding the Basics of Neural Networks and Deep Learning
  • Deploying AI With an Event-Driven Platform
  • Real-Time Edge Application With Apache Pulsar
  • Maintaining ML Model Accuracy With Automated Drift Detection

Trending

  • Pragmatica Aether: Let Java Be Java
  • Why Stable RAG Answers Can Still Hide Unstable Evidence
  • GenAI Implementation Isn't Magic — It’s a Lifecycle
  • Alternative Structured Concurrency
  1. DZone
  2. Data Engineering
  3. AI/ML
  4. What is Neural Search?

What is Neural Search?

Using Neural Networks to replace complex rules and feature engineering based search to provide more accurate and scalable search system that evolves over time.

By 
Pradeep Sharma user avatar
Pradeep Sharma
·
Jul. 27, 21 · Tutorial
Likes (9)
Comment
Save
Tweet
Share
9.6K Views

Join the DZone community and get the full member experience.

Join For Free

TL;DR: Neural Search is a new approach to retrieving information using neural networks. Traditional techniques to search typically meant writing rules to “understand” the data being searched and return the best results. But with neural search, developers don’t need to wrack their brains for these rules; The system learns the rules by itself and gets better as it goes along. Even developers who don’t know machine learning can quickly build a search engine using open-source frameworks such as Jina.

Table of contents

  • What is Neural Search?
  • Evolution of search methods
  • Rules vs Neural Networks
  • Applications Of Neural Search
  • Get started with Neural Search

What Is Neural Search?

What is neural search in a search bar

There is a massive amount of data on the web; how can we effectively search through it for relevant information? And it’s not just the web where we need it: Our computers store terabytes of company and personal data that we need to work with; we need effective search to get our day-to-day job done. And what do I mean by effective search

  • Can we go beyond just matching keywords?
  • Can we search using natural language, just like we would write or speak?
  • Can we make the search smart enough to forgive our minor mistakes?
  • Can we search for things that aren’t an exact match but are “close enough”?

We can answer all those questions with one word: Yes. To understand how, we need to enter the world of Natural Language Processing. NLP is a field of computer science that deals with analyzing natural language data, like the conversations people have every day.

NLP is the foundation of intelligent search, and we have seen three different approaches in this field as follows.

Evolution of Search Methods

Evolution of search engines
  1. Rules (1950–1990s): Complex handwritten rules that emulate Natural Language Understanding.

    Drawbacks: Handwritten rules can only be made more accurate by increasing their complexity, which is a much more difficult task that becomes unmanageable over time.
  2. Statistics (1990s — 2010s): Probabilistic decisions based on weights, machine learning and feature engineering. Creating and managing rules was solved with machine learning, where the system automatically learns rules by analysing large real-world texts.

    Drawbacks: These statistical methods require elaborate feature engineering.
  3. Neural Networks (Present): Advanced machine learning methods such as deep neural networks and representation learning.
    Since 2015, statistical methods have been largely abandoned, and there has been a shift to neural networks in machine learning. Popular techniques using this method make it a more accurate and a scalable alternative. It involves
    * Use of word embeddings to capture semantic properties of words
    * Focus on end-to-end learning of higher-level tasks (e.g., question answering)

When you use Neural Networks to make your search smarter, we call this a Neural Search System. And as you will see, it addresses some of the critical shortcomings of other methods.

Note that the applications of Neural Search are not just limited to text. It goes well beyond what NLP covers. With neural search, we get additional capabilities to search images, audio, video, etc.

Let’s look at a comparison of the extreme ends of search methods—“Rules” vs “Neural Networks”:

Rules (Symbolic Search) Vs Neural Networks (Neural Search)

Rules (Symbolic Search) Vs Neural Networks (Neural Search)
Comparison of Symbolic Search vs Neural Search

While the Neural Search method has become more widespread since 2015, and should be the primary focus area of any new search system, we shouldn’t completely rule out Symbolic (rule-based) Search methods. In fact, using a combination of Neural Search and Symbolic Search may result in optimized results.

Let’s look at some of the powerful applications of Neural Search

Applications Of Neural Search

Semantic Search

Search: addidsa trosers

(misspelled brand and category, still returns relevant results similar to query “adidas trousers”)

Search using 'addidsa trosers'

Search Between Data Types

With Neural Search, you can use one kind of data to search another kind of data, for example using text to search for images, or audio to search for video.

Example of cross-modal search
Example of cross-modal search

Search With Multiple Data Types

With Neural Search, you can build queries with multiple query data types e.g. search images with text+image

Example of multi-modal search
Example of multi-modal search

Get Started With Neural Search

For rule-based searches Apache Solr, Elasticsearch, and Lucene are the de-facto solutions. On the other hand, Neural Search is relatively new on the scene, there aren’t so many off-the-shelf packages. Not to mention, training the neural network for such a system requires quite a bit of data. These challenges can be solved using Jina, an open-source neural search framework. This framework is a good place to get started with building first Neural Search app or you can deep dive into learning more about the domain with following references.

neural network Machine learning Data (computing) Open source Network Database application Table of contents Semantic search

Published at DZone with permission of Pradeep Sharma. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Understanding the Basics of Neural Networks and Deep Learning
  • Deploying AI With an Event-Driven Platform
  • Real-Time Edge Application With Apache Pulsar
  • Maintaining ML Model Accuracy With Automated Drift Detection

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook