|
|

Uvod
Velikokrat pri delu z računalniki pridemo do situacije, ko bi bilo
enostavneje postaviti vprašanje (v stavku), na katerega želimo dobiti
odgovor, kot pa poganjati najrazličnejše programe in z njihovo pomočjo na
tak ali drugačen, včasih precej zapleten in dolgotrajen način, priti do
odgovorov. Prvič bi bilo to veliko hitreje, drugič pa bi bila to edina pot,
da bi do informacije prišli tudi tisti, ki se na računalnike ne spoznajo
zadosti in ne poznajo vseh načinov, kje in kako priti do želenih informacij.
Če bi bila komunikacija povrhu vsega še govorna, bi bilo to še veliko
enostavneje in hitreje.
Priti do takega uporabniškega vmesnika, ki bi nam včasih omogočil lažjo
pot do informacij, seveda sploh ni tako enostavno. Glavni problem oziroma
oviro predstavlja jezik, saj računalniki nikakor ne obvladujejo komunikacije
v naravnem (slovenskem) jeziku tako kot (bi si želeli) ljudje. To seveda ne
pomeni, da česa takega ni mogoče narediti. In tukaj nastopi (projekt) Kolos.
Cilj projekta Kolos
Glavni cilj projekta Kolos je izgradnja informacijskega sistema Kolos, ki
bo sposoben (inteligentno) komunicirati v naravnem jeziku, njegove module pa
bodo lahko tudi drugi razvijalci in proizvajalci vgrajevali v svoje
aplikacije.
Zgradba sistema Kolos

Sistem Kolos lahko v grobem razdelimo na tri glavne dele:
aplikacijski del - komunikacija med
človekom in računalnikom teče preko uporabniških vmesnikov ali
programov, ki so povezani oz. imajo vgrajene funkcije za tak način
komuniciranja. Tak program je lahko namensko razvita aplikacija za
pogovarjanje, nadgrajena in prilagojena že obstoječa aplikacija, spletna
stran ali drugo. Programi, ki sestavljajo aplikacijski del projekta
Kolos torej skrbijo za neposreden stik z uporabnikom, bodisi na pisni
ali govorni način.
V aplikacijski del med drugim sodi tudi program za klepetanje preko
spleta z imenom Klepec, ki služi
kot univerzalni uporabniški vmesnik za komunikacijo v naravnem jeziku.
Uporablja lahko vse ali pa samo nekatere V/O module s pripadajočimi
informacijskimi podsistemi.
komunikacijski del - ta del sistema
predstavlja vezni člen med aplikacijskim in informacijskim delom. Ta del
je ključnega pomena za uspešen potek dialoga, saj predstavlja most med
človekom in njegovim jezikom na eni strani, ter računalnikom in njegovim
"jezikom" na drugi strani.
Komunikacijski del sestavljajo: - vgradni programski modul Sukus (.dll),
ki ga lahko kličemo iz drugih programov. Modul omogoča pretvorbo vhodnega
vprašanja v naravnem jeziku v ustrezen odgovor. Pri nekaterih programih je
lahko izhod ustrezen logičen izraz, pri drugih kar ustrezen odgovor v
naravnem jeziku.
Sukus je programsko jedro komunikacijskega dela sistema Kolos, katerega
glavna naloga je odgovarjati na zastavljena vprašanja oz. pretvarjati vhodna
vprašanja v naravnem jeziku v ustrezne odgovore. Odgovori so odvisni od
modulov V/O, ki so na voljo.
Z moduli V/O (Vprašanje/Odgovor) Sukus odgovarja na določena
vprašanja. Moduli V/O lahko vsebujejo osnovno znanje, ki je pri
komunikaciji v naravnem jeziku potrebno za dialog z uporabnikom, lahko
pa so le vmesnik, ki dodatnim informacijskim podsistemom doda ustrezen
vhodni in izhodni format.
Moduli V/O so v bistvu izvorna/izvajalna koda v lastno razvitem
programskem jeziku z delovnim imenom K2, ki je posebej namenjen razvoju
vmesnikov za dialog v naravnem (slovenskem) jeziku. Seveda bi teoretično
lahko take vmesnike razvijali tudi v drugih (klasičnih) programskih jezikih,
vendar bi bilo to zaradi pregibnosti slovenskega jezika in prostega
besednega reda besed v stavku izjemno težko in bi zahtevalo daleč preveč
programskih vrstic kode že za reševanje zelo enostavnih problemov.
Način programiranja v jeziku K2 se razlikuje od večine klasičnih
programskih jezikov, saj je Sukus, ki interpretira oz. izvaja programe v
jeziku K2 vzorčno voden sistem. To pomeni, da tok oz. proces izvajanja
ukazov ne teče strogo usmerjeno, ampak je njegov tok v večini primerov
nepredvidljiv. Sistem namreč pregleda vse ali večino vzorcev, jih primerja z
vhodnim nizom in izvede tistega, ki je najbližji oz. ustreza še dodatnim
pogojem.
Če želimo narediti vmesnik za komunikacijo v naravnem (slovenskem)
jeziku, potrebujemo programsko jedro oz. dinamično knjižnico Sukus ali
program, ki kliče Sukus, in vsaj en modul VOM (izvorni .AVO ali
prevedeni/binarni .BVO), napisan v jeziku K2, v katerem so zapisana ustrezna
navodila, kakšni naj bodo odgovori na določena vprašanja.
informacijski del - informacije, ki jih
računalnik preko dialoga prenaša uporabniku, zagotavlja informacijski del.
Sestavljajo ga različne podatkovne zbirke in baze podatkov, funkcije oz.
postopki za njihovo iskanje in vpisovanje, morebitni moduli umetne
inteligence in podobno.
Informacijski del sestavljajo: - informacijski moduli - moduli, ki module
V/O oskrbujejo z informacijami, ki jih ti vsebujejo. Informacijski moduli
lahko delujejo kot funkcije, ki za svoje delovanje ne potrebujejo dodatnih
podatkovnih ali drugih baz, lahko pa si pri delovanju pomagajo tudi z njimi
- baze - baze znanja, dejstev in podatkov v poljubnem formatu, s pomočjo
katerih informacijski moduli posredujejo informacije modulom V/O
|