- From: Dave Raggett <dsr@w3.org>
- Date: Wed, 2 Nov 2022 17:05:58 +0000
- To: public-cogai <public-cogai@w3.org>
- Message-Id: <2AD3EA8E-B413-4959-A10C-28F7E1AC5DFE@w3.org>
Everyday reasoning is something we all do without much effort, and yet it is surprisingly complicated as this post shows. I am working on extending my web-based plausible reasoning demo to better support natural language semantics. To model adverbs and adjectives, I’ve extended PKN (the plausible knowledge notation) to support modifiers in names by using a colon, e.g. very:old is very applied to old. Consider the following PKN query: # who is very old? which ?x where ?x isa person and age of ?x is very:old Which is to be evaluated in respect to some facts about people, e.g. Adam is-a person age of Adam is 91 John is-a person age of John is 63 Pamela is-a person age of Pamela is 82 A person’s age is a scalar and associated with terms, e.g. range of age is infant, child, adult for person age of infant is birth, 4 for person age of child is 5, 17 for person age of adult is 18, death for person Another set of terms can be applied to adults, e.g. range of age is young, middle-age, old, geriatric for adult age of young is birth, 45 for adult age of middle-age is 45, 65 for adult age of old is 65, 74 for adult age of geriatric is 75, death for adult Where “for” identifies the context the terms in the range applies to. It is a matter of definition whether old is disjoint from geriatric or subsumes it as part of its range. The numbers I’ve chosen above are in years, and somewhat arbitrary. However, a child will view someone as being old, when an adult might view that person as young, so the definition depends on your perspective. I’ve chosen to define very:old as synonymous with geriatric, e.g. very:old equivalent-to geriatric The answer the query at the start of this email, we can evaluate the set of names identified as persons, and retrieve their age as a number of years. The process for checking if someone is very old then involves finding a matching range. Geriatric is scoped to adults, so we then need to check that the person in question is an adult. We find that: age of adult is 18, death for person Adam, John and Pamela all fit within that range of ages. This a knowledge rich comparison which understands the terms: birth and death. Having ascertained that Pamela is an adult, we can then check if she is geriatric by comparing her age (82) with the range 75, death. It is, so she can be added to the result set for the query. The same reasoning applies to John, but not to Adam. I have omitted many of the details for the reasoning process to keep this email from becoming unwieldy in length. The query engine makes use of a search process based upon a set of heuristics. For now, I am embedding these in JavaScript code, but a more sophisticated engine would express them in rules as a basis for learning how to reason, along with metacognition and skill compilation. Plausible reasoning is more complex than conventional logic, but is more flexible and capable of working with imprecise concepts and imperfect knowledge subject to uncertainties, incompleteness and inconsistencies, something that conventional logic cannot handle. That makes conventional logic of little use when you want to work with everyday knowledge and reasoning. Note that the concept of range as used above relates to Zadeh’s idea of fuzzy sets. Plausible reasoning subsumes fuzzy sets and fuzzy logic. PKN is a higher level notation than say RDF/Turtle, but in principle could be mapped to RDF at the cost of reduced intelligibility. However, RDF doesn’t embrace plausible reasoning with qualitative metadata, so doing so would kind of throw out the baby with the bath water as it were. In my view, graph databases using RDF or Property Graphs will be superseded by cognitive databases using something like PKN, and potentially a new form of graph embedding suitable for plausible reasoning with artificial neural networks. We could then look forward to work on learning everyday knowledge and reasoning from large corpora as a way to scale that would be impractical using hand authoring. Constructive comments are welcomed! I expect to cover the above in a draft chapter on plausible reasoning for an upcoming book on personal knowledge graphs. Dave Raggett <dsr@w3.org>
Received on Wednesday, 2 November 2022 17:06:01 UTC