Re: SUO: *Date 19 Mar 2002 -- Modus Ponens
[foreword to cross posted lists: If you don't like it just ignore it]
Bill Andersen a écrit :
>
> On 3/20/02 11:10, "Jean-Luc Delatre" <jld@club-internet.fr> wrote:
>
> > I feel my contributions to this list, specially the present one, to be
> > *valuable* informations about the design, if not of a "top" ontology, but of
> > interoperability of ontologies. Not "just references, discussion or opinion"
> > (AP), too bad the SUO Scope & Purpose assumed from the start that such
> > interoperability must rely *mainly* on a "common ontology"!
>
> Jean-Luc...
>
> Speaking for myself, it's not the content but the packaging, that gets
> people so upset. In a field full sometimes arrogant people, you have
> demonstrated yourself to be the king of the hill.
>
> Enough of the sweeping generalizations about Americans, ok? It makes you
> look like a bigot. If you're going to do this, then don't forget to insult
> the Canadians, British, and Italians (to name a few) that are on the list
> and have expressed opinions congruent with those you deride.
Ah! Don't waste your time.
I am *not* politically correct and I guess I will never be.
This is a known problem, I warned Jon Awbrey once about that:
> (I know, I know, I am a nasty bastard, but you will have to get
> used to it if we keep talking, the sooner the better)
> This would all go a lot smoother if you'd care to write, in a couple of
Smoother? May be, what that will buy us?
I mean, what extra benefit will I, you or someone else on the list will get?
Feeling good?
Is this really the purpose of any discussion list? (except may be for Jon)
But I *do* see some benefits of not being "smooth":
- getting to the point faster
- scraping useless considerations
You know, the Japanese failed the ICOT project and were bound to fail
because they are too polite! (kidding, but not entirely)
> pages, exactly what mean by:
>
> * concept
> * practicality
> * more effectively
> * successful *design* choices
> * better
Use the lay meanings, that will do.
> and so on. Your posts are a lot like the used car salesman who talks really
> fast hoping you won't notice the fact that he mentioned the car doesn't run.
I have not been showing glimpses of a fully mature design, only sketches,
so if "the car doesn't run" its not because its broken but because
it is not entirely built yet, it is even just at the drawings stage.
And not only do I talk fast but sometimes it is dense and elliptic,
but I guarantee it *has* meaning and you may dig for the meaning
if you are interested.
> You use a lot of nice sounding words like those above but never say what YOU
> mean by them. So, if you don't want to write code, then stick out your neck
> and write some text. Let us in on our grand plan. Then we'll see what
> everyone thinks.
---------------------------------------------------------------------------------
Ok, I will try to summarize, from now on quotations are mine.
When you query Google for
"ontology OR ontologies interoperable OR interoperability OR inter-operability"
you get about 12500 references, alas, browsing thru the top few show evidence
that nothing conclusive nor even remotely promising is there yet.
So, on one hand there is some solace for the SUO WG, but on the other hand,
the question is, is there anything distinctive in the SUO approach that will
leave hope that it will eventually succeed where so many other fell flat?
I don't see anything distinctive!
I were not that much *specifically* concerned by ontologies interoperability
before Feb 28 when I started to confront Jon Awbrey on Peirce, in private
first, out of a general interest in knowledge representation.
And since then I have been aggravated, not by the form of the discussions ;-)
going on on SUO, but by the conformism and lack of insight.
Trying to assess the feasibility of ontologies interoperability, based on
my personal experience in watching developments in AI, theorem proving,
program synthesis and knowledge representation, I concluded that the SUO
approach relying on a common norm will not be effective:
http://suo.ieee.org/email/msg08095.html
http://suo.ieee.org/email/msg08110.html
And I still maintain that.
Then, to answer some fuss over my opinions I had to gather some lines
of thought about possible solutions of the interoperability problem,
here interspersed with some controversy with various list members:
http://suo.ieee.org/email/msg08129.html
The overall design I envision to solve the ontologies interoperability
problem is mostly based on observations I made in:
http://suo.ieee.org/email/msg08066.html
> 1) Ontology building is an ever ongoing process,
> no nirvana to be reached some day.
>
> 2) During the process the structure of the lattice of concepts will
> undergo drastic changes for wich some decisions rely on pure
> opportunity and even the order of entry of various data items.
> So there is no "best" ontology building way nor any kind of
> canonical representation to be preferred at any point in time.
>
> 3) Part of the knowledge we collect cannot be stored in the ontology
> lest we run the risk of "freezing" woefully wrong information just
> because it happened to have been entered too early.
Given that ontologies are *never* in a stable state at any point of time
(just like our brains!) it is utterly hopeless and idiotic to try to
cater for interoperability by setting up a common stable ontology.
Even more so trying to have that common ontology *hand crafted*
thru committee review!!!
What options are left?
What do we really need to relate concepts which have been created
within distinct ontologies?
Just like we do ourselves when we discuss with other people, we only
need to have an agreement on the concepts which are involved in the
current task.
To discuss some points more formally see FCA related definitions in
pages 3 and 4 of "What is a concept?"
Chris Hillman: http://www.math.washington.edu/~hillman/papers.html
that I have put forward already in one of my early messages:
http://suo.ieee.org/email/msg08062.html
> Reminding the definitions from Hillman (also from Wille), we can state
> that the barebones of an ontology is just a relation R, i.e. a subset
> of the product XxY, where:
>
> - The elements of X are all the "things" in the universe actually known
> to the ontology "owner". In CG parlance these would be individual markers.
> Some subsets of X are the 'extents' of the known 'concepts' (Hillman)
> as well as the 'extensions' of the known 'words' (Peirce) or of what
> Peirce call 'true symbols', that is concepts with compound names.
> But not all subsets are extensions of proper concepts or true symbols.
>
> - The elements of Y are all the 'attributes' (common parlance) or 'predicates'
> (Hillman) or 'characters' (Peirce) actually known to the ontology "owner".
> Some subsets of Y are the 'intents' of the known 'concepts' (Hillman)
> as well as the 'comprehensions' of the known 'symbols' (Peirce).
> But not all subsets are comprehensions of proper concepts or true symbols.
>
> According to Hillman what makes a subset a proper concept is the fact that it
> is closed under <||> if taken from X and closed under |><| if taken from Y.
> (duality allows to halve the amount of demonstrations, see Hillman's)
>
> Where: |> A = {y : (x ,y) in R for all x in A}
> <| B = {x : (x ,y) in R for all y in B}
> <||> A = {x : (x ,y) in R for all y in |> A}
> |><| B = {y : (x ,y) in R for all x in <| B}
>
> So we can beef up our ontology structure with a set of 'concepts' which
> will be names for subsets of X which happen to be extensions of proper
> concepts. That is, from now on, the ontology will be build upon
> X, Y, R c XxY, N, pow(X), C c N x pow(X) where:
> - N is a set of Names for the concepts
> - pow(X) is the power set of the "things" set X
> - C is a mapping from names to "proper concepts" subsets of X
>
> I am trying to present the smallest model upon which formal arguments
> about the ontology structure can still be made.
I must first point to what I think to be major differences between this
small formal structure and "classical" ontologies.
- In order to check for the concepts closure under <||> and |><|
the "things" side of the structure *must* be populated if only
by examples or templates for "typical" objects.
- The concepts must be "proper", that is closed under <||> as for
their extension and under |><| for their comprehension, such as to
create an *implicit* dual lattice as explained in FCA or Hillman.
- NOT all concepts, i.e. nodes in the lattice will be named in the ontology.
- Named concepts are just pairs in the C relation, like (n, s) where
n is the name and s is the *extension* of the concept among either
the whole universe (if possible and desired) or just the set of
templates for typical objects.
This is in contrast to the common approach where a concept name is
directly and only related to the *comprehension* of the concept.
I am not advocating any mandatory data structure for ontologies,
but in order to run the explanations and arguments I want to make
I have to assume that all ontologies we will speak of are converted
to the above format.
Now, assume that two people, computers, organisations, whatever, have
each their own ontology and want to "discuss" some matter.
They will exchange information thru "statements" encoded according
to one ontology or another.
It does not matter that much which one's ontology is used in a given
"statement" or even if a mix of the concepts names from each ontology
is used provided that for each name appearing in a statement it can
be ascertained with respect to which one of the two ontologies it's
meaning is to be construed.
As an example, see a quotation of my message:
http://suo.ieee.org/email/msg08129.html
> Conversely while "grand" (in french) usually means "tall"
> in other cases it means "great" (as above) or "grand" (english meaning).
The whole statement is in english, but its clear from the comments
that the first occurrence of "grand" is a french word while the
second occurrence is an english word.
In machine communication this distinction will be encoded in a more
opaque way (flags, whatever) but the main point is that the recipient
has to know with respect to which one of the two ontologies the
word is to be interpreted.
Each side has to maintain a dictionary of the words from the other side's
ontology he already know of. He does not need to know all of them.
If a word appears in a statement and is already known we will suppose
that, from previous exchanges, it's "translated" meaning in the local
ontology has already been established and is available from the
dictionary entry.
If a word appears which is not yet known, then we have to ask for
"explanations", that is we have to engage in a "sub-dialog" in order to
figure out what can be the "translated" meaning in our local ontology.
There are pending questions about how we initiate the first dialog,
what are the needed concepts to engage in "sub-dialogs" and how to
avoid circularities in the resolutions of the meanings, but for now
I will only deal with the main resolution algorithm.
We have to ask for the "attributes" that define this new word.
Suppose first, that being answered with the list of attributes that
define this new word we happen to "know" all of them, that is, we
already have a translated meaning in our local ontology for each one.
Then we check if this set of translated attributes in our ontology
constitute a proper concept closed under |><|.
Suppose it does (easy cases first...) then either we have a name
for this concept in our local ontology, it is a simple one to one
correspondance between a named concept from the other side and a
named concept of ours, we store the correspondance into our
dictionary and we are done.
If we have a proper concept but no name for it in the C relation,
we have to "invent" a neologism to be put into N and add the
corresponding (n, s) pair to C before we can update the dictionary.
Now, more awkward case, we still know the meaning of all the
attributes, but when we check for concept closure it fails.
What does this mean?
It means that the other participant knows a "thing", "object", "concept"
whatever, material or immaterial that we never actually met yet.
We have to trust him and create an instance of such a "thing" in
the X set in order to allow for a concept closure to occur which
will have this "example" or "template" thing as only member of
it's extension and which comprehension will be exactly the set of
attributes specified by the other participant.
Of course we may attach to this "example" thing all the objections
we have about the reliability or the sanity of the other participant
but we still have to create it if we want to be able to "discuss"
the matter further.
An we are back to the previous steps, having to create a neologism etc...
But, this is *not* the end of trouble.
As I explained in the case of 'penguins' in my message:
http://suo.ieee.org/email/msg08062.html
adding a new "thing" instance may actually change drastically the
structure of the local concepts lattice and may require that we make
choices about possible renamings and redefinitions of existing concepts.
> When we learn that penguins don't fly, we still have a strong preference
> to cast them as birds and we are more willing to alter the comprehension
> of the name "birds" than keep the name "birds" it's previous definition
> and create a new awkward concept "birds OR penguins" which, while still
> a perfectly proper concept and a superset of the known "birds" concept,
> will make it a real drag to extend to penguins most of what we know
> about birds.
>
> We prefer to keep with penguins as "birds" because it is (likely) much
> less work to deal with the exceptions due to the fact that penguins don't
> fly, yet are still called "birds", than to update the complementary set
> of knowledge statements that, except where flying is involved, all which
> applies to "birds" also applies to penguins and for that matter to the
> new "birds OR penguins" proper concept for which we have no name yet.
>
> The previous "birds" concept, naming both it's extension and comprehension,
> could now be renamed "flying birds" to the purpose of attaching statements
> which apply only to this specific category, but this is of no cost until
> we need it and of very little cost when we do.
>
> *************************************************************************
> * But, depending on the amount of knowledge we already accumulated when *
> * we meet such kind of an exception, it may happen that we choose to do *
> * the other way around: there is no "true" way to shape our ontology it *
> * all depends on where we stand with respect to our current knowledge. *
> *************************************************************************
Many more has to be investigated and solved to result in an usable architecture.
If some of the attributes are not yet know themselves we go into a
recursive resolution and we have to make sure that it terminates.
The resolution for attributes is probably slightly different than the
resolution for concepts but I did not investigate this question yet.
The "seed" attributes and concepts that allow querying for "explanations"
are not defined. THIS IS WHERE A TOP ONTOLOGY MAKE SENSE AND ONLY HERE!
Some attributes are to be defined as "primitive" like the word 'red' told
to a blind man, and we should be able to accept new primitive attributes
from the other participant that will be forever opaque to us.
The question of "contextual" disambiguation that I raised in message
http://suo.ieee.org/email/msg08129.html
about the meanings of "big" versus "gros" is not delt with here.
Etc...
Yet, I maintain that THIS can the basis of a realistic peer-to-peer
interoperability of ontologies and NOT some fancy "omiscient" monster
like SUO/SUMO.
As for including "Mereotopology", "Category theory", "Topoi", whatever,
in a shared ontology this is plainly GROTESQUE, it is the ALGOL-68 syndrom,
it looks that it would make sense but it is actually useless.
It is just the other way around, even for mathematical theories,
simpler mechanisms like the one above will have to be used to reconcile
terminologies from different authors and subtle differences between
neighbouring theories.
Cheers.
-- Jean-Luc Delatre
P.S. Bill, do you really think I will keep doing *your* work?
-----------------------------------------------------------------------------
"Never be afraid to try something new.
Amateurs built the ark - Professionals built the Titanic."
-----------------------------------------------------------------------------
http://perso.club-internet.fr/jld/ -- GSM: +33 6 11 24 06 29