Induction / Learning

Induction

Introduction

Induction is the process by which the system is able to generalize knowledge.

For instance, if it sees that several instances of the "car" model have a "color" property, it can generalize that all cars have a color. So the "color" submodel wil be available to all instances of "car", even those for which the color is not known yet. Slot filling can be used to fill in the missing information.

Also, if several models are instances of "electric car", and that "electric car" is an subclass of "car", and that several cars have a "engine voltage" submodel, the user can manually generalize that submodel to either "car" or "electric car" (which in that case will make more sense, making the submodel available to all electric cars but not to cars that are not electric).

request.gql
mutation {
	at(path: "my_electric_car") {
		engine_voltage: at(submodel: "engine_voltage") {
			generalize_to(path: "electric_car")
		}
 
		color: at(submodel: "color") {
			generalize_to(path: "car")
		}
	}
}

Suggesting generalizations

not done yet. The system can analyze the submodels of the instances of a model, and suggest to group the ones that seem similar.