Commonsense rules development

Allikas: Lambda
Redaktsioon seisuga 8. detsember 2021, kell 13:54 kasutajalt PriitJ (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

A place to develop and maintain commonsense rules for quasimodo etc.

Static knowledge encoding

Description of current Quasimodo/ConceptNet encoding coming soon

Event encoding

We use Neo-Davidsonian encoding with semantic roles:

  • actor (subject)
  • patient (object)
  • ...

Event type is the verb that describes the event.

Example: "Brutus stabbed Caesar in the agora"

 event_subject(brutus, ev1).
 event_object(caesar, ev1).
 event_type(stab, ev1).
 event_location(agora, ev1).

Connecting Static Knowledge to Events

This is mostly unsolved. This minimal example may help get things started:

"Did grape juice turn into wine?"

 event_subject(grape_juice, ev1).
 event_type(turn_into, ev1).

There are multiple ways of encoding that this is a question, for example:

 event_object(wine, ev1) => $ans(yes).

Assuming we have commonsense knowledge about fermenting grape juice:

 be(grape_juice, X) => ovs(wine, turn_into, X).
 % reflexivity
 be(X, X).

Proposal SVO triples can be connected to events like this:

 ovs(Z, Y, X) & event_type(Y, W) & event_subject(X, W) => event_object(Z, W).

This example does not fully make sense yet, since the event itself lacks context. Work in progress.