Re: [protege-user] [EXT] Modeling Beliefs in OWL?
Michael DeBellis <[email protected]>
| Newsgroups | gmane.comp.misc.ontology.protege.owl |
|---|---|
| Message-ID | <CALGFikdDAGuAx8G6cU1DF7iq6QqEdrDXJZtC0YzLfvevsRypfw@mail.gmail.com> |
Excellent, thanks. I sat in on a couple of graduate philosophy seminars on Theory of Mind that Searle had when he was still at Berkeley. Really interesting although we didn't always agree. I'm kind of a fan of Chomsky and he... isn't. But I respect his work quite a lot and will check that out, sounds very promising. On Tue, Jan 28, 2025 at 5:02 PM Michael Denny <[email protected]> wrote: > Michael, > > > > You might find something useful in the work of Rinke Hoekstra (1) who > years ago developed design patterns making clever use of OWL 2 DL features > to model relations inspired by Searle’s social reality concepts. These I > believe were included in the LKIF Core legal ontology and include one that > is extended to represent a person’s attitude toward a proposition or belief > in a brute fact, etc. in a given context. Here a ‘counts_as’–like relation > linking the concepts is functionally reified in that context. Worth > checking out. > > > > (1) Representing social reality in OWL 2. Rinke Hoekstra 2010 > <https://ceur-ws.org/Vol-614/owled2010_submission_29.pdf> > > > > Mike > > > > *From:* protege-user [mailto:[email protected]] *On > Behalf Of *Michael DeBellis > *Sent:* Saturday, January 25, 2025 2:00 PM > *To:* User support for WebProtege and Protege Desktop > *Subject:* Re: [protege-user] [EXT] Modeling Beliefs in OWL? > > > > > > Now, I challenge you to use your approach to model the beliefs I just > expressed! > > > > There is no doubt that there will be many propositions that I won't be > able to model in OWL. The ontology I'm building can still be very useful > without such a model. The open question is can I at least model basic > beliefs like "Climate Change is a real phenomena that is to a significant > extent caused by human use of fossil fuels" or "Decreased use of fossil > fuels will destroy the economy". Maybe not but maybe. > > > > Regarding your subsequent exchange with Sampson, I do have to wonder > whether OWL is the right language to express beliefs rigorously > > > > It certainly isn't the best language. But again, modeling beliefs isn't > the most important thing I'm trying to do. The most important thing I'm > trying to do is build a tool that integrates a knowledge graph and > ChatGPT to answer questions about climate obstruction and green washing, > provide links to appropriate papers, and other documents such as pages on web > sites that are databases of litigations regarding deceptive climate > advertising <https://climatecasechart.com/> If I can model simple beliefs > that is so much the better but not essential. Any alternatives that I've > seen don't have the kind of scalability and tool support that OWL does so I > would rather have OWL and no beliefs rather than some language where I can > model say a thousand documents but then hit performance limits. One of the > other things I've been looking into is using OWL and SHACL as semantics for > metadata in a data lakehouse which is one reason I like this example, there > is a ton of data out there so this could be useful to people doing work in > climate change as well as a demonstration of a new approach to OLAP using > semantic technology and LLMs rather than databases like Google Big > Query as people do now. > > > > Regarding Samson's question: I didn't give the correct answer for why I > think a Belief concept is required rather than just a believes property. > That is that Beliefs have additional properties besides their propositions. > E.g., people change their minds. For example I used to believe that "George > Washington chopped down a Cherry tree but then couldn't lie about it when > asked if he was responsible" (when I was very young) I know that's just a > story now. Also, an individual's beliefs have a structure that is not > completely dependent on the proposition. The fact that you don't see stars > in video of the men walking on the moon is taken by conspiracy theorists as > evidence that the moon landings were faked. But people who know astronomy > know that it has to do with how cameras work and how bright the surface of > the moon is. There is so much light from the sun that the camera has to > close its aperture to be very small and hence can't detect the faint light > of the stars. > > > > Given that we’re not going to have an alternate language for expressing > ontologies with modal logic (would that even be an ontology?) > > > > I don't care about questions like "would that even be an ontology?". I > care about making something that works and is scalable and takes advantage > of the RAG integration between ChatGPT and knowledge graphs. If it turned > out that building the whole model in SHACL or Neo4j was the best approach, > I would do that. I happen to think that OWL is best but I want to use other > technologies as well. E.g., AllegroGraph has an implementation of Prolog > and tools for reasoning about time and spatial information that might be > useful and I think the geographic reasoning is in RDF and SPARQL not OWL. > In fact time and units are two other things I'm thinking of. In the past > I've modeled both of those explicitly in the ontology but I'm concerned > that may not scale up and I've been looking at handling both via code > rather than in the ontology. So there is no question a significant amount > of reasoning or what people used to call "business logic" will be in the > code, not all in the ontology. > > > > Thanks for the feedback, it helps to talk these things through before > building something. > > > > Cheers, > > Michael > > https://www.michaeldebellis.com/blog > > > > On Fri, Jan 24, 2025 at 7:25 AM Wartik, Steven P "Steve" <[email protected]> > wrote: > > Michael, > > > > I believe that “Proposition” more accurately expresses your intent than > “Fact”. I also believe “State” would be misleading, because I believe most > people interpret “State” to mean something that exists, has existed, or > will exist, not something that might exist or never existed. > > > > Now, I challenge you to use your approach to model the beliefs I just > expressed! > > > > Regarding your subsequent exchange with Sampson, I do have to wonder > whether OWL is the right language to express beliefs rigorously. I have, > from time to time, needed to model beliefs. I have used the Common Core > Ontologies <https://github.com/CommonCoreOntology/CommonCoreOntologies> > and have expressed beliefs as Information Content Entities, which is weak. > Well, my approach is a little more complicated than that (details on > request), but my point is that OWL doesn’t facilitate useful reasoning > about beliefs – at least, I haven’t figured out a good approach to modeling > beliefs in OWL. In every approach I’ve seen, calling something a “belief” > requires an interpretation external to the ontology. Given that we’re not > going to have an alternate language for expressing ontologies with modal > logic (would that even be an ontology?) any time soon, I ask: How will you > make users of your ontology aware of the additional interpretations they > must apply? > > > > Steve Wartik > > > > *From:* protege-user <[email protected]> *On Behalf > Of *Michael DeBellis > *Sent:* Thursday, January 23, 2025 7:17 PM > *To:* User support for WebProtege and Protege Desktop < > [email protected]> > *Subject:* Re: [protege-user] [EXT] Modeling Beliefs in OWL? > > > > Steve, good point. By fact I didn't mean to imply it is true, merely that > it is a state of the world that is possible. But I agree calling it a Fact > is misleading. I actually think in the previous work where I used this > model I called it a State. The reason I didn't use State is I want this to > be understandable to social scientists and I'm not sure they would know > this meaning of State. I also used the term Proposition in previous work > and I think that might be the best here but definitely not Fact. Another > option is Statement but that implies someone said it. I just looked up > Proposition on Wikipedia and I think that is the proper term rather than > Fact: https://en.wikipedia.org/wiki/Proposition Let me know if you > disagree, thanks for the feedback. > > > > Michael > > > > On Thu, Jan 23, 2025 at 1:35 PM Wartik, Steven P "Steve" <[email protected]> > wrote: > > Michael, > > > > I am curious about your first approach. How do you adjudicate what > individuals are members of class Fact? I hardly need point out the > practical difficulties in this day and age. And for that matter, what does > it mean for an individual to be a member of class Fact? Especially in the > context of your Belief class. If *f* is a Fact, *b* is a Belief, and *b* > hasFact *f*, then what’s the point of calling something a belief if *f* > is accepted to be truth? > > > > On reflection, it seems to me that a member of class Fact is, in your > interpretation, something that someone believes to be a fact, independent > of whether or not it actually is a fact. Is that correct? If so, “Fact” is > kind of a misleading name. > > > > The approach may get you into trouble if you try reasoning. I can see a > knowledge graph simultaneously containing the following two beliefs: > > > > 1. Belief 1: Person 1 thinks the average global temperature has > risen 1.5° since 1990. > > 2. Belief 2: Person 2 thinks the average global temperature has > risen 0.5° since 1990. > > > > To express this according to your approach, you’re going to have pairs of > triples independent of the beliefs: > > > > 1. Fact 1: The average global temperature has risen 1.5° since 1990. > > 2. Fact 2: The average global temperature has risen 0.5° since 1990. > > > > Because reasoners don’t know about your Belief class, they might choke on > something like this. It’s hard to say without a full model. Just something > to keep in mind as you proceed. > > > > Steve Wartik > > > > > > *From:* protege-user <[email protected]> *On Behalf > Of *Michael DeBellis > *Sent:* Thursday, January 23, 2025 3:04 PM > *To:* User support for WebProtege and Protege Desktop < > [email protected]> > *Subject:* [EXT] [protege-user] Modeling Beliefs in OWL? > > > > *** This email originated outside of IDA. Please verify that you recognize > the sender and know the content is safe before proceeding. *** > > > > I'm developing an ontology based on an informal model created by some > social scientists to model Climate Obstruction and Green Washing. I'm > starting with the Gist upper model (but to the extent I understand Gist, I > think the following question is bit more theoretical than what they > typically model). > > > > One thing I want to model is beliefs. The problem of course is that since > Gist is logical it can't handle axioms that contradict each other and > different people believe contradictory things I've thought of two ways to > do it and I'm interested in any feedback people have. > > > > Also, while the eventual knowledge graph will be large (millions of > triples at least) the size won't come from beliefs. E.g., I'm not going to > need to model thousands of different belief systems. I'll be using > individual people as examples and perhaps also groups of people (e.g., the > goal of an Exxon PR program is to convince the AmericanConsumer that > decreased use of fossil fuel will be bad for the economy). Both Person and > Organization are subclasses of Agent and Agent is the domain for believes. > > > > Approach 1). Reified triples. Create a class called Fact. Create object > properties hasSubject, hasPredicate, hasObject, where each property's > domain is Fact and the range is undefined. Then a Class called Belief with > an object property hasFact. A belief consists of one or more facts. So to > model Michael thinks Cat1 is on Mat1 create a Fact (Cat1OnMat1) with > subject = Cat1, Predicate = isOn and object = Mat1. Make a belief object > that consists of this fact Cat1OnMat1Belief and an object property believes > and the triple Michael believes Cat1OnMat1Belief. You can assert a Fact is > true with a simple Python function or even just a sparql query that gets > the triple values and asserts them. > > > > Issues: Have to pun all the values for hasPredicate since those need to be > properties. I've had bad experiences when using lots of puns. Honestly, I'm > not sure if the problems are from AllegroGraph, Protege or using them > together (which I do all the time without problems except when I have lots > of puns). I've never spent enough time to figure out what the specific > problem(s) are because I found whatever was going wrong I could make it go > away by using annotation properties and no puns... actually another option > would be to make hasPredicate an annotation rather than object property. > > > > Approach 2): Use named graphs and only do reasoning within each graph. > This seems simpler. So for each Agent's beliefs we would just have a named > graph called MichaelBeliefs, AlansBeliefs, etc. > > > > Issues: How to model the connection between an Agent and their Beliefs. > Since I don't think OWL understands what a named graph is because its an > RDF concept not a logical concept. I think I could create an annotation > property that points from the Agent to each named graph. > > > > I was leaning toward 1 which I've done before (on a very small scale) but > after talking to a colleague I'm leaning toward 2. > > > > Interested in any critique, feedback, other ideas and/or pointers to > relevant papers. > > > > Cheers, > > Michael > > https://www.michaeldebellis.com/blog > > _______________________________________________ > protege-user mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/protege-user > > _______________________________________________ > protege-user mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/protege-user > > _______________________________________________ > protege-user mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/protege-user > _______________________________________________ protege-user mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/protege-user