Semantics | ||||||||
---|---|---|---|---|---|---|---|---|
|
||||||||
Semantics of programming languages | ||||||||
|
||||||||
Semantic matching is a technique used in computer science to identify information which is semantically related.
Given any two graph-like structures, e.g. classifications, taxonomies database or XML schemas and ontologies, matching is an operator which identifies those nodes in the two structures which semantically correspond to one another. For example, applied to file systems it can identify that a folder labeled "car" is semantically equivalent to another folder "automobile" because they are synonyms in English. This information can be taken from a linguistic resource like WordNet.
In the recent years many of them have been offered.[1] S-Match is an example of a semantic matching operator.[2] It works on lightweight ontologies,[3] namely graph structures where each node is labeled by a natural language sentence, for example in English. These sentences are translated into a formal logical formula (according to an artificial unambiguous language) codifying the meaning of the node taking into account its position in the graph. For example, in case the folder "car" is under another folder "red" we can say that the meaning of the folder "car" is "red car" in this case. This is translated into the logical formula "red AND car".
The output of S-Match is a set of semantic correspondences called mappings attached with one of the following semantic relations: disjointness (⊥), equivalence (≡), more specific (⊑) and less specific (⊒). In our example the algorithm will return a mapping between "car" and "automobile" attached with an equivalence relation. Information semantically matched can also be used as a measure of relevance through a mapping of near-term relationships. Such use of S-Match technology is prevalent in the career space where it is used to gauge depth of skills through relational mapping of information found in applicant resumes.
Semantic matching represents a fundamental technique in many applications in areas such as resource discovery, data integration, data migration, query translation, peer to peer networks, agent communication, schema and ontology merging. Its use is also being investigated in other areas such as event processing.[4] In fact, it has been proposed as a valid solution to the semantic heterogeneity problem, namely managing the diversity in knowledge. Interoperability among people of different cultures and languages, having different viewpoints and using different terminology has always been a huge problem. Especially with the advent of the Web and the consequential information explosion, the problem seems to be emphasized. People face the concrete problem to retrieve, disambiguate and integrate information coming from a wide variety of sources.