RE: SUO: ontology as science
John F. Sowa wrote
> Rich,
>
> There is an enormous amount to be said about contexts and
> their contents. The dot notation for indexing them is just
> one issue among many, and it doesn't really address the
> reason why contexts are necessary in the first place.
>
> The use of contexts for temporarily distinguishing different
> points of view in a dialog or even a single sentence is one
> aspect of a much larger issue.
>
> In effect, you could think of having a different context
> for every person's belief space (which might, itself, have
> many subcontexts). When Tom says something about his beliefs
> about what Mary wants, you can get multiple contexts in the
> same sentence, which include possibly incompatible statements
> extracted from larger contexts.
>
> I am almost finished with a paper I was writing on Laws,
> Facts, and Contexts, which is at the following URL:
>
> http://www.jfsowa.com/pubs/laws.htm
>
> John
Thanks John, I read the paper and recognized the math of
graphs, but was surprised to find that you consider context
as a static subgraph of the semantic graph.
IMHO, a context is a dynamic thing, represented as a stack,
or possibly a tree, of graph modifications. In my own
programming practice, I define a context as a stack having
as its elements a set of indexes into the current semantic
graph. As new statements are processed, each one may add
a few nodes to the present graph if it represents a newly
discovered fact or inference. But if it turns out to be
erroneously asserted, it has to be deleted later. I use
a "Context" stack to make graph expansion and recovery
operations faster.
In NLP, the multiple interpretations of a new sentence fragment
should each be represented by separate contexts, with each
context pushed onto the stack. When one interpretation is
shown to be inapplicable, that context is popped off the
Context stack, and the next possible interpretation is
processed. If N interpretations are acceptable so far, they
each are represented by one element on the context stack.
So to me, context is a dynamic and evolving thing when using
search or disambiguation processes.
With this interpretation, the efficiency issue is how best to
represent a graph of contexts which relate new information to
an established (static) graph of global semantic knowledge.
But the question of when to begin a new context scalloped into
another, less specific context, and when to end each level of
context.
The reason I relate this to an OOD philosophy is that only the
OOD people have realy addressed the issue in any depth. There
are some useful, though not very formal, experiences that relate
to the OOD philosophies based on analysis of current practices.
Design is oriented toward the static scalloping of scopes,
while testing and debugging are oriented toward the dynamic
creation, modification, and destruction of contexts. So OOD
only addresses design, not interpretation of contexts.
Does this relate to something else you had in mind, perhaps
using a different word than "context", to describe the formal
aspects of this problem?
Thanks,
Rich