Vybrané problémy při tvorbě báze znalostí v NESTuObsahRozdíl mezi konjunkcí výroků, disjunkcí výroků a samostatnými pravidly Modelování obousměrné závislosti (negativní pravidla) Influenční/strukturní dekompozice daného výroku Seskupení diagnóz do bloků Maticová analýza Použití logických pravidel
Rozdíl mezi konjunkcí výroků, disjunkcí výroků a samostatnými pravidlyUvažujeme-li několik výroků (pro jednoduchost zde jen dva)
- V1, V2 - podporujících tentýž závěr, tj. výrok V3, máme
v zásadě volbu mezi vytvořením jediného pravidla, obsahujícího v antecedentu
oba výroky spojené konjunkcí:
V1 AND V2 --> V3 (s vahou w)
vytvořením jediného pravidla, obsahujícího v antecedentu
oba výroky spojené disjunkcí:
V1 OR V2 --> V3 (s vahou w)
a vytvořením dvou samostatných pravidel:
V1 --> V3 (s vahou w1)
V2 --> V3 (s vahou w2)
První variantu použijeme tehdy, je-li pro pravdivost výroku V3
nutná současná pravdivost výroků V1 a V2 (proto mluvíme
o konjunkci!). Pokud může každý z výroků V1 a V2 přispět
nezávisle, sám o sobě, k pravdivosti výroku V3, vybíráme
mezi druhou a třetí variantou. V případě, že pro pravdivost výroku
V3 stačí jeden splněný výrok V1 či V2 a případné splnění druhého výroku
nemá již na V3 žádný vliv, pak je správné použít disjunkci (tedy druhou
variantu). V případě, že pro pravdivost V3 stačí jeden z výroků V1 či V2, ale
případné splnění druhého výroku může tuto pravdivost zlepšit (rozuměj ve smyslu
zlepšení váhy závěru), je správné použít 2 pravidla (tedy variantu 3).
Příklad konjunkce:
V1 = „Klient je solventní“
V2 = „Klient je důvěryhodný“
V3 = „Lze předpokládat, že klient půjčku splatí“
Příklad disjunkce:
V1 = „Klient zaplatil hotově“
V2 = „Klient zaplatil bankovním převodem“
V3 = „Klient zaplatil“
Příklad dvou pravidel:
V1 = „Klient vlastní pozemky“
V2 = „Klient vlastní cenné papíry“
V3 = „Klient je movitý“
Modelování obousměrné závislosti (negativní pravidla)Chceme-li vyjádřit, že kladná váha výroku P přispívá k váze
výroku Q kladně, avšak záporná váha záporně, je třeba použít dvě
pravidla:
P -> Q (w)
non P -> non Q (w) (tj. non P -> Q (-w))
Standardně se totiž záporná váha antecedentu nerozlišuje od
nulové, a nezajistí tudíž snížení celkové váhy závěru. Sémanticky: pokud o pravdivosti předpokladu nic nevíme, je to
- z hlediska naší znalosti o pravdivosti závěru - totéž, jako
kdybychom věděli, že je předpoklad nepravdivý.
Influenční/strukturní dekompozice daného výroku Obě techniky jsou charakteristické pro tzv. „top-down“
modelování, používané zvláště v úlohách, kdy k rozlišení poměrně
malého počtu diagnóz potřebujeme rozsáhlejší bázi znalostí. Při influenční dekompozici hledáme faktory (tj. výroky),
které ovlivňují váhu daného výroku. Totéž rekurzivně opakujeme
pro nalezené výroky, zpravidla (ale ne nezbytně) tak dlouho,
dokud nedospějeme k výrokům natolik elementárním, že je můžeme
chápat jako dotazy. Výstupem může být stromová struktura
(influenční strom), ovšem může se stát, že se některé větve opět
spojí (objeví se v nich tentýž výrok). Je rovněž třeba posoudit,
zda se jedná o obousměrnou influenci (viz). Při strukturní dekompozici hledáme výroky, které vypovídají
o součástech entity, o které vypovídá daný výrok. Opět je možno
postupovat rekurzivně. Příklad: influenční dekompozice
1.krok DIAGNÓZA CHŘIPKA
2.krok PODRÁŽDĚNÁ SLIZNICE ---> DIAGNÓZA CHŘIPKA
DÝCHACÍCH CEST o->
|
ZVÝŠENÁ TEPLOTA -o
3.krok KAŠEL ---> PODRÁŽDĚNÁ SLIZNICE ---> DIAGNÓZA CHŘIPKA
o-> DÝCHACÍCH CEST o->
RÝMA -o |
ZVÝŠENÁ TEPLOTA -o
Příklad: strukturní dekompozice
1.krok VYSOKÁ ZADLUŽENOST
2.krok VYSOKÁ ZADLUŽ. ---> VYSOKÁ ZADLUŽENOST
U BANK o->
|
VYSOKÁ ZADLUŽ. -o
U DODAVATELŮ
3.krok VYSOKÁ ZADLUŽ. ---> VYSOKÁ ZADLUŽ. ---> VYSOKÁ ZADLUŽENOST
U TUZEM.BANK o-> U BANK o->
| |
VYSOKÁ ZADLUŽ. -o VYSOKÁ ZADLUŽ. -o
U ZAHR.BANK U DODAVATELŮ
Seskupení diagnóz do bloků Pokud je cílových výroků velký počet, je vhodné rozdělit je
do specifických bloků. Každé pravidlo, vedoucí k cílovému výroku,
pak bude uvozeno výrokem-kontextem příslušného bloku. Tím se
dosáhne omezení inference na jeden nebo několik bloků, a teprve
v rámci bloku se budou vyšetřovat konkrétní cílové výroky.
Příkladem této „blokové architektury“ je BZ OPTIMALI.
Maticová analýza Maticovou analýzu můžeme použít k tvorbě ploché
(jednovrstevné) BZ (případně jedné vrstvy složitější BZ)
s jednočlennými antecedenty. Řádky matice odpovídají vstupům
(ovlivňujícím výrokům), sloupce výstupům (ovlivňovaným výrokům).
Jako prvky matice pak vyplníme míry závislosti výstupních výroků
na vstupních, tj. vlastně váhy pravidel (pro nulové prvky,
kterých bude zpravidla většina, samozřejmě pravidla nevytváříme).
Pozor, v případě větších rozměrů matice se jedná o techniku
značně časově náročnou!
Použití logických pravidelLogické pravidlo použijeme v případě, když splněním předpokladů pravidla lze
jednoznačně rozhodnout o absolutní pravdě (resp. absolutní nepravdě) závěru
pravidla, aniž by bylo potřeba zjišťovat příspěvky ostatních pravidel, které
mají v závěru stejný závěr. Pomocí logických pravidel lze tedy zabránit použití
určitých pravidel a tím i pokládání zbytečných dotazů. Víme-li např., že banka nepůjčuje zahraničním osobám, pak by struktura báze měla vypadat
nějak následovně:
logické: not(V2) --> (V1)
kompozicionální: Vi --> V1 (s vahou wi)
kde V1 je cílový výrok "půjčit", V2 je "občanství ČR" a Vi jsou další výroky ovlivňujíc
možnost půjčení. Odpoví-li tedy uživatel, že nemá občanství ČR, je ihned půjčka zamítnuta
a další údaje se již nezjišťují.
|