Semantic search
Semantic search is search that matches a query to documents by meaning rather than by exact word overlap. It usually encodes the query and each document as embedding vectors with a neural model and ranks documents by how close their vectors are, so a query can find a page that uses other words for the same idea. It is weaker on exact names, numbers and rare terms.
Neural semantic search became practical in the late 2010s with models such as Sentence-BERT (Reimers and Gurevych, 2019) and dense passage retrieval (Karpukhin et al., 2020). In October 2019 Google said that BERT would help it better understand about one in ten searches in English in the US.
Example
With semantic search, the query “why do my plants have yellow leaves” matches a gardening page titled “Chlorosis: causes and treatment”, because both texts are about the same problem even though the title shares no words with the query.
FAQ
What is the difference between semantic search and keyword search?
Keyword search ranks documents by the words they share with the query, and semantic search ranks them by closeness in meaning, usually with embeddings. Keyword search handles exact names and codes better, and semantic search handles paraphrases better.
Is semantic search the same as vector search?
Not exactly. Vector search, which compares embedding vectors, is the usual way to implement semantic search, but semantic search can also use other methods, such as neural rerankers.
Related terms
Written by Keenable.
Published
