What is semantics?
Semantics is the study of meaning. In an abstract sense, it concerns itself with the relationship between signifiers and their literal denotation. In a more concrete sense, it is a study of meaning denoted by linguistic expressions. This applies to both natural and artificial languages. Natural language is that which originates and evolves organically in humans. Hence, it provides the basis of human communication, namely speech and writing. Artificial languages, such as programming languages, are formal languages constructed with specific constraints, particular to the task at hand. As humans communicate via natural language, the interface between people and computers becomes largely reliant on the ability to computationally prescribe accurate meaning to human input. To make any high-level human-computer interface, such as a search engine, more accommodating to people, the input should be natural to the user. Ease of use should correspond to that of asking a question, as one might pose unto themselves silently, not necessitate some expertly explicit query in a difficult to learn language. Natural language processing (NLP) is the field that encompasses these interactions, bringing in knowledge from computer science, machine learning and linguistics. Development in NLP, using various statistical machine-learning techniques, is continually refining the accuracy meanings evaluated from natural language input.
Importance of semantics in search
In a simple search, a computer might step through a list of entities and look for those equal or equivalent to the word or words that make up a search query. The returned results would present all of the entities in your search domain, which match the exactly, as in, contain those words in the query. This is a solid beginning, yet it is a long, long way from optimal. There is so much information that this search is missing: information in the form of context. When the context of the search is known, then there is no longer an issue of misspelled names or terms, the user can be prompted with a “Did you mean …” or automatically directed to the intended results set. Similarly, semantics enables results that are tagged as synonyms and variations – “Bob” and “Robert”, instead of only finding results for one or the other. Incorporating information, such as geographical location and current trends, can help predict user preferences and produce contextually relevant results. When the search observes the ontology of objects, the relationship between entities, it can correlate the terms “Fire engine” to “red” and “emergency services”. A goal of semantics and NLP recognition, is to be able to appropriately answer questions posed in natural language, such as: “When will flight BA915 land?” Something of utmost importance to enterprises is named entity extraction by semantics, enabling something like “john smith works in hr” to be processed, such that it is known that John Smith is a person and HR is a department, in which he works. Within the input of words that constitutes the search query, a wealth of information is encoded, that is imperative to returning the results that the user desires. To ensure that what the search produces is relevant, it is first necessary to use semantics to identify the intent.
Semantics and unstructured data
On of the greatest challenges of enterprise search in the era of Big Data is dealing with unstructured data types. Here, semantic search becomes an effective method for returning relevant results. Tagging and indexing items based on their contextual meaning is key to producing desirable results from large unstructured data sets. When context can be read from the data that is being indexed, searches can then produce all the documents relating to company X, which manufactures product Y, without the need to sift through countless entries containing arbitrary terms Y and Y. Entity extraction from documents and context sensitive indexing, gives more information to base query relevance on. Semantics allows a deeper, yet more targeted search by exploring the links between data. With larger data sets, returning relevant results requires analytics to be a part of the search. Although current implementations are far from perfect, semantic search is emerging in prominence and popularity, and rightly so.