ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Upper ontology content and structure

To: "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Patrick Cassidy" <pat@xxxxxxxxx>
Date: Mon, 29 Sep 2008 12:35:25 -0400
Message-id: <02cb01c92251$600119b0$20034d10$@com>

Mike,

   Thanks for the detailed comments.  I will respond to a few of the points.

 

[MikeBennet] Looking at the COSMO model again, it seems that you have solved the exact same problem I am describing. The class of Role, which is a sub-class of Temporal Thing, contains a wide range second order things, including the sub-class Human Role containing those things like Parent and Spouse which are second order things. Meanwhile Human Role is also a child of Person, so that the second order thing inherits the properties of the first order thing that it is.

 Yes, there are roles that can be represented either as relations or as types, such as ‘Mother’.  Since I am concerned with the ability of an ontology to support Natural Language Understanding as well as multiple viewpoints, in some cases both ways of representing what is essentially the same thing are used in COSMO, because both are used in ordinary language.  More importantly, since I believe that a common foundation ontology will have to support multiple viewpoints in order to be acceptable to a wide community of ontology builders, I would not place any restrictions on alternative ways of representing some notion, as long as they are logically consistent and can be translated into each other.  The disadvantage of having multiple ways of saying the same thing is the potential to increase the computational complexity.  But I also believe that any common foundation ontology will only serve as the interlingua for application ontologies, and the application ontologies will extract from the common ontology only those parts that are required for the application, to minimize the computational complexity.  So having alternatives is in the end no disadvantage at all.

 

The use of alternative ways of saying the same thing in applications will be a matter for the implementation.  For example, if one has a role such as ‘Mother’ reified in the ontology, it will be possible to automatically generate a relation ‘isTheMotherOf’, and a unary function ‘TheMotherOf’ where such things are useful in the application.  The way this will be implemented will depend on whether a role is unique (only one filler at a time) or can have multiple fillers.

 

[MB]
There are a few aspects of the COSMO ontology which I find counter-intuitive on this, for example PersonWithOccupation and SkilledOccupation are shown as peers, both being sub-classes of HumanRole, and I would have thought that one of these was a specialisation of person while the other was a specialisation of role.

This is a good point, and what you have noticed is that there is no explicit distinction between  ‘occupations’ and people *having* occupations – only people having occupations are represented, and the occupations are not themselves reified.  There is actually a mistake here: these  two types are sister nodes under ‘HumanRole’ and ‘SkilledOccupation’ is  specified as a ‘synonym’ of PersonWIthOccupation, but it should have been a *subtype* of PersonWithOccupation, because the intended meaning was ‘person with a skilled occupation’.   The label was abbreviated, and this also illustrates the problem of choosing the most informative terms to label the logical structures, which affects the ease of understanding and usability.  Thanks for noticing that.  As for reified human roles that are not also people, it would be possible to represent that explicitly if anyone wants such types, but then it will be necessary to relate each person having that role to the role, which did not seem necessary at this point.   There will be other questionable choices, because the base COSMO is still under development, and is being done breadth-first, to get an overview of the whole, before filling in too much detail in any one area.  The COSMO is intended to be open and if anyone sees things that are missing and should be added, I will work to see how it can be included.

 

[MB] I am not sure how you would deal with situations where for example a client or a counterparty may be either a human being or a company. Here I have legal entity as the common first order class, which (when required for a specific defition) can be specialised to be a company, a country or a human being etc

 

I use ‘IntelligentAgent’ as the general type for any agent (person, group of people, organization, AI agent) that can (at least typically) understand language.  I did consider whether ‘LegalAgent’ should be a parent of ‘Person’ and ‘Corporation’ but decided that it was unnecessary and problematic because a ‘LegalAgent’ is a Role, and making Person a subtype would make every Person a Role, which fuzzes the meaning of Roles.  Instead, a LegalAgent in COSMO is a Role that can be filled by a Person or Corporation or GeopoliticalEntity or EstateOfaPerson or any other legal entity in the context of a legal proceeding.  There are several relations such as ‘fillsTheRoleOf’ that relate Roles to their fillers.   The difference with this and the treatment of HumanRoles is that Person is not itself forced to be a Role, but a Person represented as an instance of HumanRole (e.g. ‘nurse’) is also a Role.  I am sure that there are several ways to handle this, and I am including as the initial representation what appears closest to English language usage (‘The nurse gave the injection’), to ease the creation of an effective NL interface to the ontology.  Other views can be added, if logically consistent.

 

[MB] . Having said that, most business participants will rarely need to look at the top level of the model, except where there is an argument about different meanings applying to a similar word or term. Then the model structure serves to unambiguously identify the intended meaning of something.

Right!  Even if it were never used for automated reasoning, being able to precisely specify meanings with logical structures provides a means to make very clear *how* different uses of a term are related, so that everyone can create their own meanings, and then use their namespaces to distinguish the different meanings of a term – thereby talking *to* each other rather than *past* each other.  I think this would be helpful in any situation where communication (human or machine) is complicated by differing uses of terms.  But to do this one needs a common conceptual inventory to create the agreed meaning *representations* so that people can agree or disagree about what terms in what contexts conform to the meanings thus represented.

 

[MB] I do not envisage a scenario where any of the users of this model are likely to fire up Protege and search for something in that.

 

Well, no, the user of an application shouldn’t even have to know what an ontology is.  But the developers of the database schemas will need some understanding of how to relate specific types and relations (tables and fields) to the common standard of meaning (the foundation ontology).  I think it will be quite feasible to create an effective Natural Language interface, once the ontology has the full inventory of representations of basic terms that will be used to describe the data elements.  That is the goal of this first iteration of the COSMO ontology – to represent the Longman defining vocabulary.  Stage *two* is to test whether it will actually function as intended, as a sufficient inventory of basic logical representations that can be used to specify the meanings of any specialized term in applications.  If it does appear to be close to the minimum required, then developing a NL interface will be the next priority.

 

Pat

 

Patrick Cassidy

MICRA, Inc.

908-561-3416

cell: 908-565-4053

cassidy@xxxxxxxxx

 

From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Mike Bennett
Sent: Monday, September 29, 2008 8:26 AM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] Upper ontology content and structure

 

Hi Patrick,

We corresponded about this a while back and it was interesting to see how COSMO handles these issues. Of the three top sets of partitions I was referring to (first/second/third order, concrete v abstract and continuant v occurrent), COSMO also has the concrete v abstract partition (mental object in COSMO being the abstract partition), and the Occurrent partition. I would also assume that the COSMO Context partition corresponds to the third order thing (Mediating Thing, or context).

On earlier ontologies I have done for clients in the financial sector, I didn't try to use any of these partitions. However, many of the terms which exist in any financial industry model (for example existing XML message standards) are things like Issuer, Custodian, Counterparty and so on. Parties in particular form a significant group of terms. These also exist in the wider business world, of which the financial industry is one sub set. For example contracts have parties and these are specialised to Issuer and Holder of a security (or for an over the counter swap security, they are both simply counterparties, as in any bilateral contract). Similarly transactions, which form part of the definition of an over the counter derivative, exist in the wider world.

Looking at the COSMO model again, it seems that you have solved the exact same problem I am describing. The class of Role, which is a sub-class of Temporal Thing, contains a wide range second order things, including the sub-class Human Role containing those things like Parent and Spouse which are second order things. Meanwhile Human Role is also a child of Person, so that the second order thing inherits the properties of the first order thing that it is.

So you have solved the exact same problem I am talking about, but in a different way. Where I have an object property identifying the first order thing, you have a parent relationship to achieve the same effect.

There are a few aspects of the COSMO ontology which I find counter-intuitive on this, for example PersonWithOccupation and SkilledOccupation are shown as peers, both being sub-classes of HumanRole, and I would have thought that one of these was a specialisation of person while the other was a specialisation of role.

I am not sure how you would deal with situations where for example a client or a counterparty may be either a human being or a company. Here I have legal entity as the common first order class, which (when required for a specific defition) can be specialised to be a company, a country or a human being etc. For example almost any legal entity may be an issuer, but the issuer of a corporate bond may only be a company. Government bonds present an interesting challenge because they are issued by a government, which is a second order thing, on behalf of the country (legal entity) they govern.

There is an interesting modelling choice around roles and second order things, because in principle one could model roles as OWL Object Properties (as I do) but then one could simply make the range of that property a first order thing. Here I think the choice has to depend on how any data derived from the ontology is to be used. As long as there are likely to be qualifying terms for a role (as there may be financial definitions), it makes sense to model it as an OWL Class, and therefore it needs to be a second order thing, like your Role classes. Otherwise you would have to be able to apply datatype properties and object properties to an object property. So the separation of role and second order thing sometimes results in apparently tautologous terms and these would often need to be collapsed in any logical data model derived from the ontology.

In terms of the usefulness of these, I think it solves a number of data problems that people have been seeing in the financial industry, where people have tried to manage semantics from within a data model or message schema, and for example where mapping between two such data schemes proves difficult. So for example some securities issuance terms would have "Underwriter" with a list of phone numbers, "Syndicate member" with another such list, and so on. Obviously these would be combined in any logical data model, but it makes sense to define "Legal Entity" with all of the phone numbers and things, and then terms specific to the process (such as contact person for that process, with their phone number) would be in the second order thing, rather than all of these terms being mixed in together. Similarly I have spoken to people who are struggling with client and counterparty definitions as a result of conflating client with legal entity - a valid conflation within a single computer system but a problem when you want to define terms globally across a business unit. Having the second order thing with the object property of "identified as" linking to a legal entity resolves this and allows for mapping between data sources that have different treatments of these, via the common semantics model.

I guess the bigger picture is that all computer systems have an ontology already whether it's documented or not, and we are trying to establish a common ontology to be used across a business unit, a company or an industry, and therefore the different shades of meaning that are irrelevant within one program become important if one is to link them together or re-use data intelligently within different applications.

For the ontology I am working on, my client's main aim is to accommodate all the terms that exist in different systems and message standards, within a single consistent framework. This replaces the various ad hoc business spreadsheets that are used in many firms today, and brings the semantics out of the technical models, where the business knowledge is often lost or undocumented. Potentially this can be used to derive logical data models, as the ad hoc spreadsheets would have been.

This means that usability is a major requirement for this model. But not usability as an ontology per se. Rather, this is an attempt to show business stakeholders a view of their world, which they can validate. As such, I have found that the first / second order distinction can be easily explained to business users, since it is not a technology definition they are being asked to learn, but rather a real world distinction. A few examples usually put the point across fairly easily, and they are then able to contribute to the definition of data items and relationships without needing to understand database modelling. Having said that, most business participants will rarely need to look at the top level of the model, except where there is an argument about different meanings applying to a similar word or term. Then the model structure serves to unambiguously identify the intended meaning of something.

I do not envisage a scenario where any of the users of this model are likely to fire up Protege and search for something in that. They will either navigate the diagrams or search for things in the spreadsheet view. However, once enough people ask for it I hope to get a budget to convert the content into an OWL or RDF file format so that other, more advanced things like automated reasoning and semantic queries can be done with it. I would like to see that. Even then, the primary business interface would be tables/spreadsheets and technology-neutral diagrams, as business sign-off is a vital component of getting the terms complete and correct. I am watching with interest those tools that are starting to evolve a business-readable interface.

Incidentally I thought the presentation by Mike Bergman on the UMBEL (Upper Mapping and Binding Exchange Layer) at our recent showcase teleconference was very interesting. UMBEL provides a means to relate upper ontologies to each other. It will be interesting to see how this deals with issues like a role being an object property in one ontology and a class in another, and how it would help to relate second order classes from ontologies which have defined these differently, or which have different and potentially conflicting parent classes. Because it seems to me that the second order things are all there in these upper ontologies, whether they are identified as such or not.

Best regards,

Mike

Patrick Cassidy wrote:

Mike -
  Concerning your question:
 
  
MB> It also made sense to me, to distinguish between first- second-
    
and third-order classes of Thing, as defined by John Sowa and
others (John's book summarises the history of those terms very well).
      
MB> What interests me, and what I am really asking here, is why is
    
this approach not noticeable in upper ontology resources like
the Suggest Upper Merged Ontology (SUMO)? Am I missing something?
SUMO looked to me like a single taxonomic hierarchy of classes
of Thing, without these three sets of partitions.
      
 
   I can't answer for SUMO, but I can tell you why those distinctions don’t
appear in COSMO: 
   *** there is no apparent need for them, and spending time trying to
decide into which of those abstract categories one might place specific
types or relations does not make any sense to me, as they add nothing to the
intended meaning. ***
    Wherever one might think that a type or relation fits one of those
categories, the more specific and meaningful type or relation itself will
carry all the meaning required to perform the intended function of the
ontology.
    The top level of COSMO under 'Thing' has 20 types, and one of the those
('Individual') is a heterogeneous grouping of other types that are mostly
heterogeneous groupings associated by some property (a 'faceted'
categorization).  If I had 'firstness' secondness' and 'thirdness' at the
top level, I expect that few people wanting to find some particular type of
thing would have no idea where to start in the drill-down process.  Tools
like Protégé that allow searching for substrings in the label for a type
help immensely, but as far as creating a hierarchy for drill-down when
string search fails, those three abstract categories, in my estimation, are
quite useless.  I am very concerned with usability of any ontology, meaning
that it has to be as easy as possible to understand, while preserving its
technical adequacy.
 
   Those abstract categories may be interesting for philosophical
speculation, but I have never observed any function for them in automated
reasoning.  More specific issues dominate my concerns about representing
meaning.
 
   If they help you organize your own thinking about the meanings of
concepts, they may be useful, for you, for that purpose.  I haven't found
them useful in that way.
 
   However, if anyone were interested in trying to figure out which of those
categories applies to the elements of the COSMO ontology:
http://www.micra.com/COSMO/
I would have no objection.  If some useful function could be demonstrated by
the act of such a classification, I would be intrigued and may change my
mind about their usefulness.
 
Pat
 
Patrick Cassidy
MICRA, Inc.
908-561-3416
cell: 908-565-4053
cassidy@xxxxxxxxx
 
 
 
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
 
 
  




-- 
Mike Bennett
Director
Hypercube Ltd. 
89 Worship Street
London EC2A 2BF
Tel: 020 7917 9522
Mob: 07721 420 730
www.hypercube.co.uk

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (01)

<Prev in Thread] Current Thread [Next in Thread>