Re: [protege-user] [EXT] Modeling Beliefs in OWL?

Michael DeBellis <[email protected]>
Newsgroups gmane.comp.misc.ontology.protege.owl
Message-ID <CALGFikdOuX8E=st+km=P+Jd88uHKoH7nh2T_PojePxp1Pfupmg@mail.gmail.com>
>
>  However, I don’t understand your modeling of “Belief.” Why do you need
> such a class?


Good question. First, I should clarify, I realize that as you pointed out
I'm stretching what OWL can do and it may not be practical to even do this.
This isn't a major focus of what i'm trying to do. The main focus is to
create a Retrieval Augmented Generation architecture
<https://www.michaeldebellis.com/post/integrating-llms-and-ontologies> like
the one I developed last year with Nivedita Dutta as a clinical support
tool but instead of having medical journal articles as that system did we
will have documents related to climate change, climate obstruction, and
greenwashing and there are a lot of documents out there. There are several
online web sites we'll be pulling from and the search capabilities on those
sites are very limited. My hope is this will be a tool where social
scientists and other researchers can create much more sophisticated queries
using the NLP and reasoning capabilities of ChatGPT and do more than
queries, ask questions and get answers that are supported by curated
documents, unlike the answers a traditional LLM gives.

But I've had this desire to try and model beliefs in OWL for a while and I
want to also try to do that here as well. To answer your question what I
had in mind (which may be wrong, that's why I wanted feedback) is that a
belief is something like "Christianity" that consists of a number of
related propositions: "Jesus died for our sins", "Jesus was crucified and
rose from the dead", "Jesus will return to Earth and judge the sinners vs.
believers" etc. I could just make that a group of propositions but it
seemed more intuitive to call that a Belief because we often talk about
people "sharing beliefs".  In reality some social science research (e.g.,
Scott Atran's paper The Trouble with Memes) shows that when people think
they share beliefs they seldom believe the exact same propositions so that
is an issue and maybe shared beliefs don't make sense. But that was the
justification for a Belief concept that consists of one or more
Propositions.

Michael
https://www.michaeldebellis.com/blog

On Thu, Jan 23, 2025 at 8:08 PM Samson Tu <[email protected]> wrote:

> Michael,
>
> Modeling agents' beliefs take you into the realm of epistemic logic
> <https://plato.stanford.edu/entries/logic-epistemic/>, which goes beyond
> first-order logic. I think punning is indeed the mechanism to simulate such
> logic in OWL 2.  However, I don’t understand your modeling of “Belief.” Why
> do you need such a class? Can’t you just have property assertions the
> Michael individual believes P, where P is a Proposition modeled using your
> hasSubject, hasPredicate, and hasObject properties? Maybe you can have an
> additional Boolean property, “isTrue,” to indicate whether proposition P is
> true or false. If P is (Cat1 isOn Mat1) maybe use a SWRTL rule to assert
> that P isTrue true if (Cat1 isOn Mat1) is in the ontology.  That way we can
> reason about whether Michael’s belief is true or false.
>
> Samson
>
> On Jan 23, 2025, at 4:16 PM, Michael DeBellis <[email protected]>
> wrote:
>
> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.