Semantic algorithm is a computational engineering concept in computer science for information retrieval, and natural language processing. It uses the meaning of words, texts, or concepts, rather than exact word matching, to compare, find, classify, or infer information. Primarily, it is used in writing for several families of methods that estimate semantic similarity, semantic relatedness, or query intent.
There is no single implementation of a semantic algorithm. Depending on the application, semantic information may be represented and processed using different methods.
A semantic algorithm should not be confused with semantic search, which is an application area concerned with retrieving information according to meaning or user intent. Semantic algorithms can be used to implement semantic-search systems, but the term itself is broader and has also been applied to schema matching, network synthesis, and software workflow generation. The term is also distinct from semantics (computer science), which concerns with computational constructs. Similarly, semantic security is a specific concept in cryptography and is unrelated to the general use of the term semantic algorithm.