Four levels of language for semantics and knowledge
The open question of language level comes up when considering the open question of how to represent, access, manipulate, and otherwise use knowledge and meaning in the form of a distributed knowledge web or semantic web. I certainly do not have any immediate answer, but I was thinking that rather than envisioning one unified "knowledge" language, possibly we need a multi-level language model:
- Low-level "assembly" language - work with meaning and knowledge at a very atomic level
- High-level language - a very expressive language that focuses on higher-level structured meaning, probably leveraging contextual meaning
- Scripting language - a concise, terse, convenient method for working with knowledge that emphasizes broad expressive power rather than specific detail and nuanced meaning
- Natural language - heavily dependent on context and very ambiguous, but very easy and natural to use. Appropriate for "display" of knowledge structures.
One issue is whether natural language is really a separate level or can be used at all three of the other levels.
Another issue is that we need to be able to work with meta knowledge, to treat packages of knowledge as black boxes and networks of interconnected black boxes to be manipulated in an abstract sense, separated from the actual, true meaning of the contents of those black boxes. Possibly this is a requirement at each of the four language levels.
Another issue is multiplicity, the number of distinct languages at each level. Obviously we have many natural lanuages. Multiple scripting and higher-level languages makes sense. Having a single, common, foundation "knowledge assembly language" has a lot of appeal, but is it really viable and is it clearly really advantageous relative to having a multiplicity of low level knowledge and meaning paradigms? I don't see any clear answer at this point in time.
Is the current Semantic Web at this assembly level or high-level or scripting level? I suspect that the answer is that it is not clear. Clearly there is some amount of scripting being done in XML. Clearly there is some amount of high-level semantics being done (e.g., RSS and web feeds). And clearly there is a fair amount of very low level semantic use. But is XML more of a lexical and syntactic language than a true semantic language? It seems to me that its only current power at the meaning level comes when the people and programs a priori agree on shared meaning representation conventions, and that is precisely what we would like to see inherently embodied within a true knowledge language at any of the levels that I have proposed. In short, it appears that there is very little in the way of meaning represented within the Semantic Web, and that the only real meaning is hard-coded into the user agents that communicate via the Semantic Web. In other words, at best, the Semantic Web is everything but semantics, and that the Semantic Web simply facilitates the exchange of information that user agents can interpret as meaning using hard-wired or agreed semantics.