Semantic Search is a search approach that seeks to improve search accuracy by understanding the semantic meaning of the search query, unlike keyword search engines that can only find documents based on lexical matches.
The Sentence Transformers documentation describes the method. Every entry in a corpus, whether sentences, paragraphs or documents, is embedded into a vector space as a 📝vector embedding. At search time the query is embedded into the same vector space and the closest embeddings from the corpus are found, entries that should have a high semantic similarity with the query. The documentation adds that semantic search can also perform well given synonyms, abbreviations and misspellings.
The same documentation distinguishes two forms. In symmetric semantic search, the query and the corpus entries are of about the same length and have the same amount of content, so a query such as "How to learn Python online?" should find an entry like "How to learn Python on the web?" In asymmetric semantic search, the query is usually short, such as a question or some keywords, and a query like "What is Python" should find a paragraph beginning "Python is an interpreted, high-level and general-purpose programming language." It calls choosing the right model for the type of task critical.
In 📝MythOS, the 📝semantic search feature splits memos into chunks, embeds them with OpenAI's text-embedding-3-small model, and blends vector similarity with keyword relevance into a hybrid score.
