Научаване на правилото
Фактите, пристрастието, примерите: машината връща програмата.
Резултат, получен на сървъра: две правила, „нов клиент и висока сума“ или „чужда карта и различен адрес за доставка“, които покриват четирите случая за проверка и нито един от останалите пет.
[kb set "cmd_verif"]
[facts "cmd_verif"
"montant_eleve(c1)." "nouveau_client(c1)."
"montant_eleve(c2)." "nouveau_client(c2)." "carte_etrangere(c2)."
"carte_etrangere(c3)." "adresse_differente(c3)."
"carte_etrangere(c4)." "adresse_differente(c4)." "montant_eleve(c4)."
"montant_eleve(c5)." "nouveau_client(c6)." "carte_etrangere(c7)."
"adresse_differente(c8)." "nouveau_client(c8)."
"montant_eleve(c9)." "adresse_differente(c9)."]
$biais = [ilp:bias [JSON '{
"target": "a_verifier/1",
"predicates": [
{"name": "a_verifier", "modes": ["+commande"], "role": "head", "is_bk": false},
{"name": "montant_eleve", "modes": ["+commande"]},
{"name": "nouveau_client", "modes": ["+commande"]},
{"name": "carte_etrangere", "modes": ["+commande"]},
{"name": "adresse_differente", "modes": ["+commande"]}],
"types": {"commande": "symbolic"}, "max_body": 2, "max_clauses": 3}']]
$positifs = [JSON '[["c1"], ["c2"], ["c3"], ["c4"]]']
$negatifs = [JSON '[["c5"], ["c6"], ["c7"], ["c8"], ["c9"]]']
$regle = [ilp:learn $biais "a_verifier" $positifs $negatifs [JSON '[]'] [JSON '{"beam_width": 128, "seed": 7}'] "cmd_verif"]
$regle.program