-- Download What is Semantics? as PDF --
Growing activity in semantic research and development is based on the understanding of semantics borrowed from linguistics and intuitively applied in new fields. Most of the developments are distinctively different from linguistic domain, for example, systems development. It requires re-thinking of the semantic terms and defining them for the new purpose.
Two things are happening meanwhile:
|
|
Loss of the well defined word meaning surprisingly makes it so easy and convenient to use in any context without thinking, that it strengthening the practice of nonsense generation, and firmly preserves such term in the vocabulary of frequent words.
To soften this negative influence and to ensure progress in the Semantic Technology clear definitions of the semantic terms are required.
What is the nature of semantics in software?
Meaning is contextual and has two sources:
- from unknown context which cannot be established
- from the fundamental reflection of the space and time in the language
We will discuss the second as more suitable for machine processing, because for the first it is hard to predict what context a person has in his mind.
So, the nature of semantics can be traced as the time and space relationships and represented by predicates. The dominating significance of predicates for semantics is recognized in computational linguistics.
This is fundamental conclusion and it is running against deeply embedded view of the hierarchy of ontological classes as a main representation tool of semantics. The relationship or predicate, but not only a class is a core semantic component of knowledge representation.
Complexity
Combinatorial diversity of the relationships is a main reason of complexity in the systems. The number of relationships is growing in arithmetical progression with number of entities, plus there can be more than one relationship per pair of objects, potentially leading the complex system to overwhelming number of relationships, far greater than entities. Modeling each relationship as unique is a source of complexity, so the need for the classification of the relationships is a strong requirement for knowledge representation.
In natural language this problem is addressed by reverse to combinatorial proportion of verbs to nouns: the number of nouns is far greater than the number of potential predicates represented by verbs (more the order of magnitude), but the overall number of verbs is still huge (about 25,000 in WordNet [1]). The synonymy reduces this number substantially and linguistic research shows that predicates could be grouped into about 200 classes [2]. This is a major result which can be used for reducing complexity.
Besides, the modeling of relationships itself is not normalized and differs from system to system.
Basic Semantic Definitions
We see a possibility to encode the meaning by matching it to the category from the limited number of predefined predicate types or classes of predicates. These classes map the meanings and provide the basis for expressing semantics in software systems.
This brings us to the definitions in software development:
Semantics is a form of representing knowledge through data classes, predicates (properties), and axiomatized relationship between classes, and classes of predicates / properties. Semantics is a formal representation of knowledge.
Semantics is in the specially constructed data structures. This allows deriving new knowledge and facts out of the structures themselves, regardless of data instances populating this structures (thus abstracting semantics and providing a good separation of semantics from data and code).The main idea of semantic technology is separation of semantics from code as it was done with logic (rules) in the past.
Semantic Coding is a process of mapping of the identified semantic structures (patterns) to the Semantic Code, numeric or alpha-numeric, corresponding to the enumerated list of predicate classes.
The major problem is to establish a systematic list of the Semantic Codes for developers of interoperable software.
Semantic Category is a coded structure, which can be canonized in natural language and includes: Main Agent, Instrument of action (where action is a predicate represented by verb), Object of the action or Peer Agent, and Result which is lexically derived and can be an Event or Content Object. Specific Semantic Category represented by this structure is Semantic Pattern.
Semantic Patterns allow defining of abstract axiomatic relationship between categories based on the nature of predicates and reflect time and space representation in the particular category. These axioms are universal for any domain and a part of the Semantic Inference Engine (Semantic Processor).
Semantic Processing is an inference of implications, on the semantically encoded specific set of data, using universal semantic codes and semantic axioms. This can cover diverse set of tasks like semantic process control, semantic query understanding, and unstructured text analysis. Literally everything since we are talking about highly abstract and domain independent representation.
Besides, there are tasks of semantic trans-coding (from / to) other models of representation.
The semantic code relationship allows exhaustive representation of the entity in any act of communication as a code. So, in Semantic Processing the entity meaning is always represented explicitly and in the context, thus allowing generating of ontology. That is confirming secondary role of the ontology in the semantic representation.
Universal Semantic Code [3] reflecting time and space is empirically derived. We are working on an approach of formal deriving of the code and mean time preferring to call established semantic formulas as Semantic Patterns.
Bibliography
- G. A. Miller, WordNet lexical database of English, 2008
- B. Levin, English verb classes and alternations: a preliminary investigation, 1993
- V. Martynov, Foundations of Semantic Coding, 2001
© SemPL.net, 2009

Follow me on Twitter
Very interesting indeed! I didn’t think that semantics has anything to do with the software. While searched for definitions of this word at http://www.picktorrent.com , found only linguistic terms. Probably, this field is just being developing… Anyway, thanks for the info.
I Think using semantic web services in the execution phase adds further flexibility. In conventional business process modeling, the web services used have to be specified at design time. But its just my opinion. Thanks for the article!
I find the idea of semantics, and how software can detect it like, LSI, very interesting. It truly amazes me what we can program software to do.
Will this be applied to robots in the future?
Yes, it has to. Otherwise robots always will be highly specialized only in mechanical operations.
Thanks for the article I’ve never thought of semantics in this way applied to software. It’s an eye opener.
Actually I don”t know about this topic, but reading it gives me some new knowledge. I become interested learning more about this topic. Can you provide other sources for me to learn more? Thanks, Marcus
You can read other publications related to Semantic Patterns in this blog http://sempl.net . To learn more on the mainstream semantic technology check http://www.semanticuniverse.com
It’s really quite interesting. All I know is that Google has been using LSI for ranking sites for quite a while now.
So far, I managed to go though only some of posts you discuss here, but I find them very interesting and informative. Just want say thank you for the information you have shared. Regards
That was really a good pick. But I am not agreed with Chris that Google uses LSI to rank websites with my analysis till now.
This is about Google and LSI: http://www.richardbravo.com/does-google-use-latent-semantic-indexing-lsi.php
This article explains very clear what is LSI and how Google don’t use it.
Thanks for the article I’ve never thought of semantics in this way applied to software
I want to take this moment to say that I really love this blog. It has been a good resource of information for me in my research on semantics and its applications. Thank you so much admin.
yes a very interesting look at semantics and user software, very unique
I find the idea of semantics, and how software can detect it like, LSI, very interesting.
Thanks for breaking this down because the concept of semantics was going over my head.
Semantics is actually a topic very difficult to understand, but you definetly make it to look easy.
It’s always a big issue to build a language which is reasonable and easy to use.
For thousands of years, human have not reached this goal yet; maybe it will take another thousand year.
As my understanding goes semantics is basically the different interpretation of different groups of the same thing.
I find the idea of semantics, and how software can detect it like, LSI, very interesting.
To answer the question the title of the article posed, semantics is the study of meaning. It is Greek.
And what is the meaning of meaning?-:) Apart from being a bit too general and fuzzy this is correct definition. Also it is mainly linguistic definition.
We are dealing with computing and constructing language(s) which linguistic does not study. What is specific definition of semantics in this case? Show me where it is, I need to process it.
If the definition is not given, crowd creativity is taking it to extreme (which is often close to non-sense), for example do not try to understand what ”semantic code generator” mean, in best case it is just a code generator, with semantic being a non-sense prefix (sort of bell-and-whistle). So we need specific definition, to at least be able express ourselves accurately and to have a reason in the discussions about it.
Semantics is always an issue to build a language and this make it easy or tough and if you have complete knowledge so you can do this easily and if not so go through this blog it will give you more than you knowledge.
I want to say that its really amazing blog i feel good to read this.
i hope in future i will see some more good blogs in this web site.
dallmeier electronic
I enjoy
Phone sex topsite and long talks with
No Limits Phone Sexand would like to go to
phone sex paradise
thats really a good topic. semantics is really good informative topic for the people.i should visit your page in future.
countertops richmond va
I like to be here second time and this post looks like some unseen post but i read it before and this time i found some other knowledgeable things to this article.
Regards:
panomera
dallmeier panomera
It’s my thinking that semantic web services in the execution phase adds further flexibility.It didn’t effect on software.your article is really found of information for me.
avoimet työpaikat
Your post is appreciative,Semantics is the combination of the languages,which mostly used in applications.Thanks for sharing it’s information with us.