UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Merita Hajdinjak PREDSTAVITEV ZNANJA IN VREDNOTENJE UČINKOVITOSTI SODELUJOČIH SAMODEJNIH SISTEMOV ZA DIALOG DOKTORSKA DISERTACIJA Mentor: izr. prof. dr. France Mihelič Somentor: doc. dr. Andrej Bauer Ljubljana, 2006 Ključne besede: sistemi za dialog, sistemi za podajanje informacij, eksperiment Čarovnik iz Oza, modul za vodenje dialoga, tehnika polnjenja predalčkov, konver-zacijska teorija iger, konverzacijske igre, konverzacijske poteze, rekurzivne mreže prehodov, dialog mlPC Kripkejevi modeli, intuicionistična modalna logika, vrednotenje učinkovitosti sistemov za dialog, ogrodje PARADISE, zadovoljstvo uporabnikov, cene dialoga, uspešnost naloge, funkcija učinkovitosti, multipla linearna regresija, koeficient determinacije, delna F statistika, podatkovne zbirke, podatkovni modeli, relacijske podatkovne zbirke, relacijski podatkovni modeli, relacijska algebra, deduktivne podatkovne zbirke, deduktivni podatkovni modeli, Datalog, ekstenzionalna podatkovna zbirka, intenzionalna podatkovna zbirka, Hornovi stavki, dejstva, pravila, integritetne omejitve, predpostavka zaprtega sveta, sodelujoči podatkovni sistemi, tehnike sodelujočega odgovarjanja, relaksacija poizvedb, gnezdeni relacijski podatkovni modeli, urejeni relacijski podatkovni modeli, objektno-relacijski podatkovni modeli, sodelujoči relacijski podatkovni modeli, teorija kategorij, kategorni podatkovni modeli, regularni podobjekti, zožki, kategorni model relacijske algebre, začetni objekt, končni objekt, kategorni produkt, slika, kategorna projekcija, kategorni presek, kategorna izbira, ka-tegorna unija, kategorna razlika, kategorija podobnosti, kategorija urejenih množic, kategorija kompaktnih metričnih prostorov i Tistim, ki vedno zrejo v tla, se lahko zgodi, da prezrejo mavrico. Zahvala Iskrena hvala izjemnemu mentorju prof. dr. Francetu Miheliču, ki je vame verjel in me bodril tudi takrat, ko mi je bilo najtežje. Prepričana sem, da brez njegovega včasih že skoraj brezmejnega razumevanja, neizmerne človeške in strokovne podpore ter pozitivne naravnanosti te do sedaj najtežje življenjske preizkušnje ne bi zmogla. Nepogrešljiv delež k disertaciji pa je prispeval somentor doc. dr. Andrej Bauer, čigar strokovna odličnost, osebnostna odprtost in dostopnost so mi bile v neprecenljivo pomoč in spodbudo pri premagovanju številnih ovir, s katerimi sem se srečevala v obdobju nastanka tega dela. Hvala obema - mentorju, ki me je seznanil z zelo privlačnim raziskovalnim področjem govornih tehnologij in me usmeril vanj, ter somentorju, ki meje navdušil za (prej nepriljubljeno) teorijo kategorij in me s svojimi idejami vedno znova presenečal in motiviral. Ne nazadnje bi se rada zahvalila tudi ostalim članom komisije, ki so s svojimi tehtnimi in skrbno premišljenimi pripombami pozitivno vplivali na kvaliteto doktorske disertacije. Hvala sedanjim in nekdanjim sodelavcem Laboratorija za umetno zaznavanje, sisteme in kibernetiko, ki so me sprejeli tako, kot sem - odprto, neposredno, za marsikoga preveč uporniško in trmasto. Izpostaviti želim vodjo laboratorija prof. dr. Nikola Pavešiča, ki mi je bil s svojim pozitivnim odnosom do ljudi in življenja vedno za zgled. Prav (p)osebna hvala gre vsem mojim najdražjim, ki so mi vlivali upanja in prepotrebne moči takrat, ko so me okoliščine in življenje zlomili. Hvala staršem, bratu, prijateljem, še posebej pa mojima dragima Borisu in Urški, ki sta mi vselej stala ob strani, tudi takrat, ko sem potrebovala le 'taksista' do bolnice in nazaj. Hvala za izjemen posluh, razumevanje, pomoč in potrpežljivost! v Povzetek Avtomatizacija sporazumevanja z govorom je eden izmed največjih raziskovalnih izzivov današnjega časa. Računalniške sisteme, prek katerih z govorom dostopamo do določenih aplikacij, imenujemo samodejni sistemi za dialog ali govorni vmesniki. Disertacija se osredotoča na (samodejne) sisteme za podajanje informacij, ki so govorna različica splošnejših podatkovnih sistemov, in je usmerjena v razvoj dvojezičnega sistema za podajanje informacij o vremenu in vremenski napovedi. Eksperimentalni del razvoja sistema za dialog običajno poteka v treh korakih. Najprej analiziramo dialoge človek-človek, ki potekajo v ciljni domeni sistema. Nato sledi konstrukcija vsaj enega sistema Čarovnik iz Oza, ki služi kot ogrodje za izvedbo istoimenskega eksperimenta, v katerem uporabnike pustimo v prepričanju, da se pogovarjajo z računalnikom, v resnici pa za računalnikom sedi človek čarovnik, ki vsaj delno uravnava delovanje sistema. Podatki, pridobljeni v eksperimentih Čarovnik iz Oza, odsevajo jezik komunikacije človek-stroj in služijo končni zasnovi sistema za dialog. Zadnji korak je vrednotenje, izboljševanje in dopolnjevanje že dograjenega sistema, ki temelji na podatkih, pridobljenih od dejanskih uporabnikov. Doktorska disertacija se nanaša na drugi in tretji korak eksperimentalnega dela razvoja sistemov za dialog - zajema zbiranje podatkov z eksperimentom Čarovnik iz Oza, načrtovanje sistema za dialog ter vrednotenje učinkovitosti zgrajenih modulov. Uvodno poglavje predstavi obstoječe sisteme za dialog, njihovo zgradbo in smernice razvoja. Drugo poglavje obravnava eksperimente Čarovnik iz Oza, na katerih temeljijo raziskave, razvoj in sklepi disertacije. Eksperiment Čarovnik iz Oza smo v okviru razvoja dvojezičnega sistema za podajanje informacij o vremenu uporabili dvakrat. V prvem sistemu je čarovnik simuliral delovanje modulov za razpoznavanje govora, razumevanje naravnega jezika in vodenje dialoga. Na osnovi podatkov, pridobljenih v prvem eksperimentu Čarovnik iz Oza, smo razvili modul za (samodejno) vodenje dialoga in ga vključili v sistem, s katerim smo izvajali drugi eksperiment Čarovnik iz Oza. V drugem sistemu smo relacijsko zbirko vremenskih podatkov zamenjali s sodelujočo podatkovno zbirko, ki je temeljila na dialog mlPC Kripkejevih modelih, tj. podatkovnih modelih, razvitih v sklopu raziskav, predstavljenih v magistrskem delu. Sledi natančnejši opis modula za vodenje dialoga in sodelujoče podatkovne zbirke, torej komponent, glede na kateri sta se oba sistema Čarovnik iz Oza razlikovala. Dialog smo modelirali s tehniko polnjenja predalčkov, ki predstavlja trenutno najobičajnejši način modeliranja dialogov človek-stroj v govornih vmesnikih, strategijo vodenja dialoga pa s konverzacijsko teorijo iger. Podatkovni model sodelujoče podatkovne zbirke, uporabljene v drugem eksperimentu Čarovnik iz Oza, je temeljil na intuicionistični modalni logiki. vii Tretje poglavje opisuje potencialno splošno metodologijo vrednotenja učinkovitosti sistemov za dialog, imenovano ogrodje PARADISE (PARAdigm for Dialogue System Evaluation). Ogrodje PARADISE omogoča izpeljavo ocene učinkovitosti sistema kot uteženo linearno kombinacijo od domene odvisnih parametrov uspešnosti naloge in cen dialoga, zajema pa model učinkovitosti sistema, katerega osnovni cilj je maksimirati zadovoljstvo uporabnikov. Model učinkovitosti sistema, ki ga zajema ogrodje PARADISE, trdi, da lahko funkcijo učinkovitosti sistema določimo z multiplo linearno regresijo z zadovoljstvom uporabnikov kot odvisno spremenljivko ter parametri uspešnosti naloge in cen dialoga kot neodvisnimi spremenljivkami. Funkcija učinkovitosti tedaj omogoča napovedovanje zadovoljstva uporabnikov, vrednotenje učinkovitosti in izboljševanje sistema, primerjavo sistemov z istimi ali različnimi domenami, samodejno iskanje problematičnih dialogov in spreminjanje strategije vodenja dialoga že med samo interakcijo. Poglavje se osredotoča na nekatere pomanjkljivosti, težave in nerešena vprašanja ogrodja PARADISE - opiše vpliv normalizacije na natančnost napovedovanja zadovoljstva uporabnikov, navede regresijske predpostavke in poudari pomembnost dobre izbire regresijskih parametrov. Nakaže tudi morebitne učinke razpoznavanja govora na rezultate vrednotenja in analizira vprašalnik, na podlagi katerega ogrodje PARADISE določa zadovoljstvo uporabnikov (tj. odvisno spremenljivko funkcije učinkovitosti). V dosedanjih raziskavah so bile nekatere izmed naštetih točk premalo poudarjene, zanemarjene ali celo napačno interpretirane. Četrto poglavje dokumentira vrednotenje učinkovitosti obeh sistemov Čarovnik iz Oza z ogrodjem PARADISE. Opišemo izbrane parametre modela učinkovitosti, kijih določimo samodejno, če je mogoče, ali jih ročno označimo. Vpeljemo t. i. parametre podatkovne zbirke, ki se v literaturi o vrednotenju učinkovitosti sistemov za dialog ne pojavljajo. Odvisno spremenljivko modela učinkovitosti, torej zadovoljstvo uporabnikov, pridobimo z vprašalnikom, ki ga predlaga ogrodje PARADISE in v katerem uporabniki podajo stopnjo strinjanja z izjavami o obnašanju oz. učinkovitosti sistema za dialog. Na osnovi analize korelacij med izbranimi parametri in korelacij parametrov z odvisno spremenljivko modela učinkovitosti določimo množico vhodnih regresijskih parametrov. Za statistično obdelavo podatkov ter manipulacijo z izbranimi regresijskimi parametri uporabimo lastna programska orodja. Sledi izpeljava funkcij učinkovitosti obeh sistemov Čarovnik iz Oza za odvisno spremenljivko, ki jo dobimo kot vsoto ocen, pridobljenih z vprašalnikom o zadovoljstvu uporabnikov. Vse funkcije učinkovitosti pridobivamo s postopkom vzvratne eliminacije. Zaradi velike razlike v natančnosti dobljenih modelov sklepamo, da te odvisne spremenljivke, ki jo predlaga ogrodje PARADISE in ki naj bi izražala zadovoljstvo uporabnikov, ni mogoče dobro modelirati. Ker sta se oba sistema Čarovnik iz Oza razlikovala le v načinu vodenja dialoga in predstavitvi znanja, argumentiramo, daje za odvisno spremenljivko bolj smiselno vzeti seštevek tistih ocen iz vprašalnika, ki merijo te razlike. Sledi izpeljava in natančna analiza funkcij učinkovitosti obeh sistemov Čarovnik iz Oza za tako dobljeno odvisno spremenljivko. Razliko v natančnosti obeh funkcij učinkovitosti tako dejansko zmanjšamo. Funkciji učinkovitosti nas vodita do spoznanja, daje predstavitev znanja oz. zgradba podatkovne zbirke sistema za dialog izjemnega pomena in da so parametri podatkovne zbirke pri vrednotenju sistemov za podajanje informacij nepogrešljivi. Na koncu preverimo še, kako dobro se dajo modelirati posamezne ocene uporabnikov in kateri parametri na njih najmočneje vplivajo. Ugotovimo, da je parameter podatkovne zbirke, ki je v prvem viii eksperimentu statistično najznačilnejši parameter za sedem izmed osmih ocen uporabnikov, statistično neznačilen za skoraj vse ocene drugega eksperimenta. Izpostavimo potrebo po nadaljnjih raziskavah, ki bi razvile veljaven psihometrični vprašalnik o zadovoljstvu uporabnikov sistemov za dialog in bile sposobne razumeti in pravilno opredeliti razlike med funkcijami učinkovitosti. V petem poglavju se ponovno posvetimo podatkovnim zbirkam. Predstavimo zelo priljubljene relacijske podatkovne zbirke, ki so se pri običajni administrativni obdelavi podatkov izkazale za zelo uspešne. Operacije, ki jih izvajamo nad relacijami v relacijskem podatkovnem modelu, opišemo na algebrajski način, tj. s proceduralno relacijsko algebro. Algebrajskemu načinu vzporeden je sicer logični način, ki porodi relacijski račun. V relacijski algebri ponavadi definiramo pet osnovnih operacij - unijo, razliko, kartezični produkt, projekcijo in izbiro. Obstaja še vrsta drugih zanimivih operacij nad relacijami, ki jih lahko izrazimo z osnovnimi operacijami relacijske algebre. To so npr. presek, kvocient, spoj, naravni spoj in semispoj. Naštejemo nekatere algebrajske zakone, ki se jim podrejajo operacije relacijske algebre. Ti algebrajski zakoni igrajo pomembno vlogo pri algebrajski optimizaciji oz. algebrajski poenostavitvi. Vedno bolj kompleksne aplikacije pa vodijo do spoznanja o nekaterih pomembnih pomanjkljivostih relacijskih podatkovnih zbirk in na njih temelječih podatkovnih sistemov. Pomanjkljivosti se nanašajo predvsem na nesposobnost sodelujočega odgovarjanja, nesposobnost izražanja tranzitivnega zaprtja in komplementa ter nesposobnost ravnanja s kompleksnimi tipi podatkov, kot so npr. slike, zaporedja, tabele, množice, vreče. Šesto poglavje opiše najbolj znan model deduktivnih podatkovnih zbirk, imenovan Datalog, ki je nastal kot odgovor na pomanjkljivosti relacijskih podatkovnih zbirk. Datalog temelji na logiki prvega reda in v nasprotju z relacijsko algebro in relacijskim računom zajema tudi rekurzivne izraze. V deduktivnih podatkovnih modelih opisujemo podatke in relacije med podatki z jezikom prvega reda, upravljanje in manipuliranje s podatki pa omogoča vrednotenje logičnih formul. V Datalogu nastopata dve vrsti predikatov - predikati ekstenzionalne podatkovne zbirke (EPZ) ustrezajo relacijam, shranjenim v podatkovni zbirki, predikati intenzionalne podatkovne zbirke (IPZ) pa ustrezajo relacijam, definiranim z logičnimi pravili. V relacijskem podatkovnem modelu so vse relacije tipa EPZ. V Datalogu so formule in pravila sklepanja zapisani v obliki Hornovih stavkov, ki jih delimo na dejstva, integritetne omejitve in pravila. Dejstva določajo EPZ relacije, pravila IPZ relacije, integritetne omejitve, ki so v deduktivnih podatkovnih zbirkah zapisane v istem logičnem jeziku kot dejstva in pravila, pa služijo za preprečevanje vnosa neustreznih podatkov, preverjanje konsistentnosti podatkovne zbirke in veljajo za temelj sodelujočih podatkovnih sistemov. Logična pravila interpretiramo na tri različne načine - z dokazi, modeli in algoritmi. Posebej interpretiramo nerekurzivna Datalog pravila, rekurzivna Datalog pravila in Datalog pravila z negacijo. Prednosti logike prvega reda kot teoretične osnove podatkovnih sistemov so razumljiva semantika in enoten jezik za izražanje dejstev, pravil, poizvedb in integritetnih omejitev. Datalogu, ki je zasnovan kot deklarativen podatkovni jezik, a ne doseže čiste deklarativne oblike, očitajo tudi nekatere slabosti. Me drugim so to obsežna optimizacija in neuspešno izkoriščanje celotne izrazne moči. Sedmo poglavje primerja relacijsko algebro in Datalog kot najbolj znana modela relacij- ix skih in deduktivnih podatkovnih zbirk. Ker predstavljajo integritetne omejitve izjemno prednost deduktivnih podatkovnih modelov pred relacijskimi podatkovnimi modeli, je zanimiva edino primerjava relacijske algebre in Dataloga brez integritetnih omejitev. V tem okviru velja, da Datalog brez negacije in relacijska algebra po izrazni moči nista primerljiva. Obstajajo funkcije, izrazljive v relacijski algebri, ki niso izrazljive v Datalogu, in obratno. Če dovolimo negacijo, je Datalog po izrazljivosti močnejši od relacijske algebre. Množica funkcij, izrazljivih v relacijski algebri, pa je ekvivalentna množici funkcij, izrazljivih z nerekurzivnim Datalog programom z negacijo, katerega pravila so tudi varna in plastovita. Osmo poglavje obravnava sodelujoče odgovarjanje v okviru podatkovnih sistemov. Sodelujoči podatkovni sistemi so informacijski sistemi, ki se na poizvedbo ne odzivajo le z odgovorom, ki poizvedbi strogo zadošča, temveč tudi z dodatnimi informacijami, katerih namen je odpraviti nejasnosti, razčistiti dvoumnosti in pozitivno vplivati na doseganje uporabnikovih ciljev in namer. Uveljavile so se različne tehnike sodelujočega odgovarjanja, ki jih delimo na tehnike upoštevanja uporabnikovih prepričanj, želja in namer, na tehnike vrednotenja domnev, vsebovanih v poizvedbah, na tehnike odkrivanja in odpravljanja nesporazumov, na tehnike oblikovanja intenzionalnih odgovorov ter na tehnike posploševanja poizvedb in odgovorov. Tri izmed omenjenih tehnik temeljijo na integritetnih omejitvah, zadnja, ki je s stališča ponujanja podatkov in usmerjanja uporabnika k izbiri dosegljivih, relevantnih podatkov najpomembnejša, pa temelji na posploševanju oz. razširjanju obsega poizvedb. Tako transformacijo poizvedb imenujemo relaksacija, zasnovana pa je na posebni urejenosti predikatov in konstant podatkovne zbirke. Izjave logike prvega reda, ki opisujejo urejeno množico predikatov in konstant podatkovne zbirke, imenujemo klasifikacijske izjave. V poglavju opišemo postopek relaksacije in preverimo, kdaj je odgovor na začetno poizvedbo podmno-žica odgovora na relaksirano poizvedbo. Ker relaksacija raziskuje soseščino začetne poizvedbe, so najzanimivejše tiste relaksirane poizvedbe, ki so dobljene v najmanj korakih. Bolj se od začetne poizvedbe oddaljimo, manj verjetno je, da bo odgovor uporabnika zanimal. Sledi pregled tehnik sodelujočega odgovarjanja, ki jih podpirajo relacijska algebra, Datalog in dialog mlPC Kripkejevi modeli. Relacijska algebra in ostali modeli relacijskih podatkovnih zbirk ne podpirajo nobene izmed tehnik sodelujočega odgovarjanja. To pa pomeni, da jih v njihovi osnovni obliki ne moremo šteti za sodelujoče podatkovne modele. V nadaljevanju se zato posvetimo različnim razširitvam relacijskega podatkovnega modela, tudi razširitvam, ki v vrednostne množice atributov vpeljejo urejenost, in razširitvam, ki podpirajo nekatere tehnike sodelujočega odgovarjanja. Datalog sicer podpira vse tri tehnike sodelujočega odgovarjanja, ki temeljijo na integritetnih omejitvah, dialog mlPC Kripkejevi modeli pa poleg tehnik, kijih podpira Datalog, podpirajo še tehniko posploševanja poizvedb in odgovorov oz. relaksacijo. Deveto poglavje želi sodelujoče dialog mlPC Kripkejeve podatkovne modele približati bolj univerzalno zastavljenemu relacijskemu podatkovnemu modelu, kar je eden od glavnih ciljev doktorske disertacije. Formalizem, ki ga v ta namen uporabimo, je teorija kategorij. Eden od čarov teorije kategorij je njena sposobnost združevanja shematičnega formalizma in algebraičnega simbolizma. V povezavi s podatkovnimi zbirkami sicer ločimo dva popolnoma različna načina uporabe teorije kategorij - mo-dularizacijo in sintetično sklepanje. Poiščemo kategorni model relacijskih podatkovnih zbirk, ki temelji na modularizaciji. Relacijsko algebro kot najbolj znan model relacijskih x podatkovnih zbirk (matematično) naravno posplošimo na teorijo kategorij. To je, relacijam in nad njimi definiranim operacijam relacijske algebre (unija, razlika, kartezični produkt, projekcija in izbira) priredimo ustrezne kategorne konstrukte. Ta ideja se porodi, ker je relacijska algebra definirana v kategoriji množic, tj. najnaravnejšem primeru kategorije. Ugotovimo, da morajo kategorije, ki bodo primerna osnova kate-gornega modela relacijskih podatkovnih zbirk, vsebovati natančen začetni objekt, ki je posplošitev pojma prazne podmnožice, končni objekt, kije posplošitev pojma podmno-žice z enim samim elementom, končne kategorne produkte, slike ter kategorne unije, preseke in razlike tistih podobjektov, s katerimi modeliramo poizvedbe. Predstavimo primer tovrstne kategorije, ki jo imenujemo kategorija podobnosti, in njeni podkate-goriji, imenovani kategorija urejenih množic in kategorija kompaktnih metričnih prostorov. Podkategorija urejenih množic se odlikuje po (refleksivni) urejenosti vrednostnih množic, ki omogoča izvajanje relaksacije. Podkategorija kompaktnih metričnih prostorov v množice vpelje metriko, ki pride do izraza, ko želimo opisati razdalje med kraji ali pa želimo kakšno vrednostno množico urediti natančneje, kot omogočajo relacije. Sledi opredelitev zmogljivosti dobljenega kategornega modela in primerjava z dialog mlPC Kripkejevimi modeli. S posplošitvijo relacijske algebre dobimo močan formalizem, ki že v osnovi dovoljuje relaksacijo poizvedb, in izkaže se, da lahko tudi kategorno posplošene relacijske podatkovne zbirke udejanjimo kot zbirko relacijskih tabel. Podobnost na vrednostnih množicah, ki jo podamo z dodatnimi relacijskimi tabelami, je integrirana tako, da je do nje mogoče brez težav dostopati in jo po potrebi spreminjati ali prilagajati uporabniku. Sklepno poglavje povzame rezultate, dosežene v doktorski disertaciji, opredeli njihov pomen, predlaga nekatere smernice za nadaljnje raziskovalno delo ter predstavi možnosti izboljšave razvitih podatkovnih modelov. xi Abstract Attempts to automate spoken language interaction raise significant research challenges at the forefront of human knowledge. Computer systems that enable users to interact with a certain application via spoken language are called dialogue systems or speech interfaces. This thesis focuses on (automatic) information-providing dialogue systems, which are a special case of more general information systems, and is directed to the development of a bilingual, weather-information-providing, natural-language-spoken dialogue system. The experimental part of the dialogue-system development process usually consists of three steps. In the first step, human-human dialogues, collected in the goal domain, are analysed. In the second step, at least one Wizard-of-Oz system, which is used to conduct Wizard-of-Oz experiments, is constructed. In these experiments, the subjects are told to interact with a computer system, though in fact they are not. Instead, the interaction is mediated by a human operator, the wizard. The human-computer dialogues, collected with Wizard-of-Oz experiments, reflect the language that would be attempted when communicating with a computer and are used to design the dialogue system of interest. In the last step, the already constructed dialogue system is evaluated, improved, and supplemented. This thesis addresses the second and the third step of the experimental part of the dialogue-system development process - it describes the data collection process, it presents the planning of a dialogue system, and it reports about the performance evaluation of already constructed modules. The first chapter introduces the research field in question, including existing dialogue systems and research challenges. The second chapter describes two Wizard-of-Oz experiments, used as the research and development basis of the thesis. The aim of these experiments was to evaluate the performance of the dialogue-manager component. Therefore, while the task of the wizard in the first experiment was to perform speech understanding and dialogue management, her task in the second experiment was to perform only speech understanding, and the dialogue-management task was assigned to the newly-implemented dialogue manager. The system's weather-information database was based on the relational data model in the first Wizard-of-Oz experiment, and it was based on the cooperative dialogue mlPC Kripke models in the second Wizard-of-Oz experiment. The dialogue-manager component and the cooperative database are described in detail. The dialogue is modeled using the slot-filling approach, which is the most widely used approach for modeling human-computer dialogues. The dialogue strategy is based on conversational game theory and is modeled using recursive transition networks. The dialogue mlPC Kripke xiii model of the cooperative weather-information database, which was used in the second Wizard-of-Oz experiment and developed within the master's thesis research work, is based on intuitionistic modal logic. The third chapter deals with the PARADISE (PARAdigm for Dialogue System Evaluation) framework, a potential general methodology for evaluating spoken-language dialogue systems. The PARADISE framework maintains that the system's primary objective is to maximize user satisfaction, and it derives a combined performance metric for a dialogue system as a weighted linear combination of task-success measures and dialogue costs. The PARADISE model of performance posits that a performance function can be derived by applying multivariate linear regression with user satisfaction as the dependent variable and task-success measures and dialogue costs as the independent variables. When the performance function has been derived, it can be used to predict user satisfaction, to evaluate the performance of the dialogue system and to optimise it, to compare different dialogue systems, to automatically identify problematic dialogues, and to switch between different dialogue strategies during the interaction. The chapter focuses on some PARADISE issues (with most of them arising from the application of multivariate linear regression) that have, up to now, not been sufficiently emphasized or have even been neglected by the dialogue-system community. These include considerations regarding the selection of appropriate regression parameters, normalization effects on the accuracy of the prediction, the influence of speech-recognition errors on the performance function, and the selection of an appropriate user-satisfaction measure. The fourth chapter gives the results of an evaluation of data from two Wizard-of-Oz experiments. It lists all the selected parameters of the model of performance, which must be either automatically logged by the system or be hand-labeled. The database parameters expressing the database size and the database structure are introduced. They have not so far been reported in the literature as costs for user satisfaction. User satisfaction is calculated with a survey, introduced within the PARADISE evaluation framework, that asks users to specify the degree to which they agree with several statements about the performance of the system. A closely examination of the correlations between the selected parameters and the correlations of the selected parameters with the dependent variable of the model of performance leads to a subset of parameters appropriate as the regression input. Statistical data analysis and data manipulation is performed by own software tools, and the performance functions are derived using backward elimination. As the target to be predicted we first take the sum of all the user-satisfaction values, suggested by the PARADISE framework, and afterwards the sum of those user-satisfaction values that (in our opinion) measure the dialogue manager's performance. Great differences in the accuracy of predictions for both Wizard-of-Oz systems lead to the conclusion that the dependent variable, suggested by the PARADISE framework, cannot be well modeled. Therefore, we focus on the modified dependent variable measuring the dialogue manager's performance, and come to the conclusion that the knowledge representation and the structure of the dialogue system's database are of great importance. We argue that the database parameters are indispensable when evaluating the performance of information-providing dialogue systems. In addition, we examine which parameters are significant for individual user-satisfaction measures. Almost all the parameters that were most significant to xiv an individual user-satisfaction measure in the first experiment were insignificant to the same measure in the second experiment and vice versa. Inaccurate regression models of some individual user-satisfaction measures and the observed differences between pairs of performance equations predicting the same dependent variable require further empirical research. Not only does a reliable user-satisfaction measure that would capture the performance-measures of different dialogue-system components need to be established, but the reasons for the possible differences between several performance equations also need to be understood and properly assessed. The fifth chapter is again dedicated to databases. It discusses the very popular relational data model, which has been quite successful in developing the database technology required for many traditional business database applications. Operations on relations in the relational data model can be expressed by the procedural relational algebra or by the declarative relational calculus. We shall consider relational algebra only. There are five basic operations that serve to define relational algebra - union, set difference, Cartesian product, projection, and selection. There are some other useful operations on relations that can be expressed in terms of the five basic operations, e.g., intersection, quotient, join, natural join, and semijoin. Like many other algebra, there are laws that the operators of relational algebra obey. These are of great importance for algebraic simplification of queries, which is intended to improve the cost of answering the query independent of the actual data or the physical structure of the data. When more complex database applications must be designed and implemented, the relational data model shows certain shortcomings. These newer applications have requirements and characteristics that differ from those of traditional business applications, such as cooperative answering, implementation of transitive closure, more complex structures for objects, and new data types for storing images, sequences, tables, sets, bags, etc. The sixth chapter studies the Datalog data model, a well-known data model of deductive databases that is based on first-order logic. Datalog, which was designed to overcome certain shortcomings of the relational data model, in contrast to relational algebra and relational calculus deals with recursive expressions. In Datalog, as in other logic-based languages, a program is built from basic first-order objects, called atomic formulas. It also provides capabilities for defining deduction rules for inferencing new information from the stored database facts. There are two ways relations can be defined - a predicate whose relation is stored in the database is called an extensional database (EDB) relation, while one defined by logical rules is called an intensional database (IDB) relation. In the relational model, all relations are EDB relations. A Datalog database is a particular instance of a more general Horn logic program that permits function symbols. A Horn clause is either a fact, an integrity constraint, or a rule. Facts define EDB relations, rules define IDB relations, and integrity constraints provide semantic information about the data in the database. The purpose of integrity constraints is to prevent the entering of incorrect data into the database and to check the integrity of the database. They are seen as the basis for cooperative database systems. There are three alternative ways to define the meaning of rules - the proof-theoretic interpretation, the model-theoretic interpretation, and the computational interpretation. We study nonrecursive Datalog rules, recursive Datalog rules, and Datalog rules with negated subgoals. The main attraction of first-order-logic database models is a uniform representation for facts, rules, queries, and integrity constraints. Unfortunately, Data- xv log, which was designed as a declarative database language, does not compromise its clean declarative style. There are also other weaknesses of Datalog, such as extensive optimization and unsuccessful implementation of its full expressive power. The seventh chapter relates the expressive power of Datalog to the power of relational algebra. As the integrity constraints represent an exceptional advantage of the deductive database models against the relational database models, the only interesting comparison is the comparison of the expressive power of relational algebra to the power of Datalog without integrity constraints. The answer is that without negation in rules, relational algebra and Datalog are incommensurate in their expressive power - there are things each can express that the other cannot. With negation, Datalog is strictly more expressive than relational algebra. In fact, the set of functions expressible in relational algebra is equivalent to the set of functions expressible in Datalog with negation if rules are restricted to be safe, nonrecursive, and have only stratified negation. The eighth chapter reviews cooperative answering within database systems. The objective in a cooperative database system is to provide information to a user as to why a particular query succeeded or failed. A cooperative answer with extra or alternative information may be more useful and less misleading to a user. The cooperative answering techniques can be separated into five categories: consideration of users' beliefs and expectations, evaluation of query presuppositions, identification and rectification of misconceptions, formulation of intensional answers, and generalization of queries and answers. Three categories of cooperative-answering techniques are based on integrity constraints. The last listed technique, which is based on the cooperative method of abstraction and refinement of queries, also called relaxation, is the most important when considering information-providing dialogue systems with the objective to direct the user to select relevant, available data. Relaxation relies on the database having explicit hierarchies of the relations and of the terms in the domain. First-order clauses designating a conceptual ordering of database predicates and database constants are called taxonomy clauses. The chapter presents the relaxation process, and it gives the condition that must be fulfilled if the answer to the relaxed query should encompass the answer to the original query. Since relaxation explores the neighbourhood of the original query, we will want to look at the first-level relaxations first, then the second-level, and so forth. The further we get from the original query, the less likely it is that the new query will return answers of interest to the user. In addition, the cooperative-answering techniques supported by relation algebra, Datalog, and dialogue mlPC Kripke models are listed. Relational algebra and all the other relational data models do not enable any of the mentioned cooperative techniques, which means that they are not cooperative data models. We briefly discuss several types of extended relational data models, including a partially ordered relational data model and a cooperative relational data model. In contrast, Datalog enables the implementation of all three cooperative techniques that rely on integrity constraints. Dialogue mlPC Kripke models enable the implementation of one additional technique, i.e., generalization of queries and answers. The ninth chapter aims to bring the highly cooperative dialogue mlPC Kripke models closer to the more generally defined relational data model, which is one of the main goals of the thesis. The formalism used is category theory. One of the attractions xvi of category theory is the ability to combine diagrammatic formalism and algebraic symbolism. There are two completely different ways of how to apply category theory to databases - modularization and synthetic reasoning. Our search for a categorical model of relational databases is based on modularization. We generalize relational algebra as the most widely known model of relational databases to category theory, i.e., we search for the categorical counterparts of relations and basic relational operations (union, set difference, Cartesian product, projection, and selection). This seems a natural thing to do since relational algebra is defined in the category of sets, which is a most common category. We discover that the categories that will offer a suitable environment for the categorical data model of relational databases need to have a strict initial object being the categorical counterpart to the empty set, a terminal object being the categorical counterpart to the one-element set, finite categorical products, and images. In addition, they need to have categorical unions, intersections, and differences of those objects that are used to model queries. We present an example category, called the category of similarities, which meets all the established conditions, and two of its subcategories, called the category of ordered sets and the category of compact metric spaces. The subcategory of ordered sets is distinguished for its (reflexive) order of domains, which enables the implementation of relaxation. The subcategory of compact metric spaces is distinguished for its objects, i.e., metric spaces, which can be used to measure distances between geographic objects or serve as an organization method of domains. The generalization of relational algebra results in a strong formalism enabling relaxation. It is demonstrated that the categorical models of relational databases can still be implemented as a collection of relational tables. The ordering of sets, which is given by additional relational tables, can be easily accessed, changed, or adapted to users' needs and requirements. Finally, the expressive power of such categorical models is related to the power of dialogue mlPC Kripke models. In conclusion, we summarize and discuss the results achieved within this thesis. Some directions for future research and improvement of proposed data models are given. xvii Kazalo Zahvala v Povzetek vii Abstract xiii 1 Uvod 1 2 Eksperiment Čarovnik iz Oza 5 2.1 Uvod.................................... 6 2.2 Prvi eksperiment Čarovnik iz Oza .................... 7 2.3 Drugi eksperiment Čarovnik iz Oza.................... 11 2.4 Modul za vodenje dialoga......................... 14 2.5 Sodelujoča podatkovna zbirka....................... 22 3 Ogrodje PARADISE 33 3.1 Uvod.................................... 34 3.2 Predstavitev ogrodja PARADISE..................... 35 3.3 Analiza ogrodja PARADISE ....................... 38 3.3.1 Vpliv normalizacije na natančnost napovedovanja zadovoljstva uporabnikov............................. 39 3.3.2 Regresijske predpostavke ..................... 42 3.3.3 Pomembnost izbire regresijskih parametrov........... 42 3.3.4 Merjenje zadovoljstva uporabnikov................ 44 3.3.5 Vplivi razpoznavanja govora na rezultate vrednotenja...... 45 xix 4 Vrednotenje učinkovitosti 47 4.1 Uvod.................................... 48 4.2 Izbira regresijskih parametrov....................... 48 4.3 Korelacije med regresijskimi parametri.................. 53 4.4 Korelacije z odvisno spremenljivko.................... 56 4.5 Funkcije učinkovitosti........................... 58 4.5.1 Zadovoljstvo uporabnikov kot vsota ocen ............ 59 4.5.2 Zadovoljstvo uporabnikov kot vsota izbranih ocen........ 61 4.5.3 Zadovoljstvo uporabnikov kot vrednost posameznih ocen .... 67 5 Relacijski podatkovni model 73 5.1 Uvod.................................... 74 5.2 Relacijska algebra............................. 75 5.2.1 Osnovne operacije relacijske algebre............... 76 5.2.2 Izpeljane operacije relacijske algebre............... 78 5.2.3 Algebrajski zakoni......................... 81 6 Deduktivni podatkovni model 85 6.1 Uvod.................................... 86 6.2 Sintaksa Dataloga............................. 87 6.3 Semantika Dataloga............................ 92 6.3.1 Interpretacija nerekurzivnih Datalog pravil........... 93 6.3.2 Interpretacija rekurzivnih Datalog pravil............. 100 6.3.3 Interpretacija Datalog pravil z negacijo ............. 105 6.4 Predpostavka zaprtega sveta ....................... 113 6.5 Prednosti in slabosti Dataloga ...................... 114 7 Relacijska algebra in Datalog 117 7.1 Uvod.................................... 118 7.2 Od relacijske algebre do logike ...................... 118 7.3 Od logike do relacijske algebre ...................... 121 7.4 Primerjava Dataloga in relacijske algebre ................ 122 8 Sodelujoči podatkovni sistemi 125 8.1 Uvod.................................... 126 8.2 Pomen integritetnih omejitev....................... 127 8.3 Sodelujoče odgovarjanje.......................... 129 8.3.1 Upoštevanje uporabnikovih prepričanj, želja in namer ..... 129 8.3.2 Vrednotenje domnev, vsebovanih v poizvedbah......... 130 8.3.3 Odkrivanje in odpravljanje nesporazumov............ 131 8.3.4 Intenzionalni odgovori....................... 131 8.3.5 Posploševanje poizvedb in odgovorov............... 133 8.4 Tehnike sodelujočega odgovarjanja, ki jih podpirajo Datalog in dialog mlPC Kripkejevi modeli.......................... 141 8.5 Razširitve relacijskega podatkovnega modela .............. 142 8.5.1 Gnezdeni relacijski podatkovni modeli.............. 142 8.5.2 Urejeni relacijski podatkovni modeli............... 143 8.5.3 Objektno-relacijski podatkovni modeli.............. 145 8.5.4 Sodelujoči relacijski podatkovni modeli ............. 145 9 Kategorni model relacijske algebre 149 9.1 Uvod v teorijo kategorij.......................... 150 9.2 Kategorna posplošitev relacijske algebre................. 154 9.2.1 Posplošitev kartezičnega produkta................ 158 9.2.2 Posplošitev projekcije....................... 160 9.2.3 Posplošitev izbire, unije in razlike................. 163 9.2.4 Sklep................................ 166 9.3 Kategorija podobnosti........................... 167 9.3.1 Kategorija urejenih množic.................... 174 9.3.2 Kategorija kompaktnih metričnih prostorov........... 175 9.4 Zmogljivost kategornega modela relacijskih podatkovnih zbirk..... 178 9.4.1 Implementacija kategornih relacijskih podatkovnih zbirk .... 178 xxi 9.4.2 Relaksacija............................. 185 9.4.3 Primerjava kategornega modela relacijskih podatkovnih zbirk in dialog mlPC Kripkejevih modelov................. 189 10 Sklep 193 10.1 Pregled in pomen doseženih rezultatov.................. 194 10.1.1 Vrednotenje učinkovitosti ..................... 194 10.1.2 Predstavitev znanja......................... 196 10.2 Nadaljnje delo............................... 198 Viri in literatura 201 Izvirni prispevki k znanosti 217 Izjava o avtorstvu 219 Slike 1.1 Zgradba sistema za dialog.......................... 2 2.1 Konverzacijske igre, udejanjene v modulu za vodenje dialoga v sistemu za podajanje informacij o vremenu..................... 18 2.2 Hassejev diagram relacije biti manj specifičen med krajevnimi delčki informacij, ki se navezujejo na Slovenijo................... 26 2.3 Hassejev diagram relacije biti manj specifičen med krajevnimi delčki informacij, ki se navezujejo na ostalo Evropo................ 26 2.4 Hassejev diagram relacije biti manj specifičen med časovnimi delčki informacij. Zaradi majhnega števila možnih dosegljivih časovnih trenutkov so vzpostavljene vse povezave, zaradi česar relacija biti manj specifičen v tem primeru izgubi pomen, ki izvira iz imena.............. 27 2.5 Hassejev diagram relacije biti manj specifičen med podatkovnimi delčki informacij................................... 27 3.1 Model učinkovitosti sistema za dialog, ki ga zajema ogrodje PARADISE. 35 5.1 Relacija INFO. Podatki o številu prebivalcev so povzeti po rezultatih popisa prebivalstva, ki ga je leta 2002 opravil Statistični urad Republike Slovenije................................... 75 6.1 Graf odvisnosti za Datalog program iz primera 6.3............ 90 8.1 Primer relacijske sheme relacije ODDELEK gnezdene relacijske podatkovne zbirke.................................143 8.2 Drevesna predstavitev relacijske sheme relacije ODDELEK.......143 8.3 Primer TAH drevesa letališč v Tuniziji...................146 9.1 Zožek ali regularni monomorfizem.....................153 9.2 Relacija < v razredu Mono(A).......................155 xxiii 9.3 Natančen začetni objekt........................... 157 9.4 Končni objekt................................ 157 9.5 Kategorni produkt objektov X\ in X2................... 159 9.6 Kategorni produkt podobjektov A' C A in B' C B............ 160 9.7 Faktorizacija morfizma /.......................... 161 9.8 Kategorna projekcija podobjekta C C A x B............... 162 9.9 Kategorni produkt v kategoriji podobnosti................. 171 9.10 Kategorna projekcija v kategoriji podobnosti............... 173 2.1 Povprečne ocene uporabnikov v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza........................ 9 2.2 Primer dialoga med uporabnikom in prvim sistemom Čarovnik iz Oza. . 10 2.3 Zgradba SSSQ zbirke spontanega govora.................. 11 2.4 Primer dialoga med uporabnikom (U) in drugim sistemom Čarovnik iz Oza (S).................................... 13 2.5 Zgradba SSSQ2 zbirke spontanega govora................. 14 3.1 Vprašalnik za ocenjevanje zadovoljstva uporabnikov, ki ga predlaga ogrodje PARADISE................................ 36 3.2 Primer kontingenčne tabele......................... 37 4.1 Srednje vrednosti izbranih regresijskih parametrov v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza.............. 52 4.2 Korelacijski koeficienti parametrov v prvem eksperimentu Čarovnik iz Oza...................................... 54 4.3 Korelacijski koeficienti parametrov v drugem eksperimentu Čarovnik iz Oza...................................... 55 4.4 Korelacijski koeficienti in p-vrednosti za regresijske parametre glede na US v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza. 56 4.5 Tabela vzvratne eliminacije za prvi sistem Čarovnik iz Oza in odvisno spremenljivko US............................... 59 4.6 Tabela vzvratne eliminacije za drugi sistem Čarovnik iz Oza in odvisno spremenljivko US............................... 60 4.7 Korelacijski koeficienti in p-vrednosti za regresijske parametre glede na DM v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza. 63 4.8 Tabela vzvratne eliminacije za prvi sistem Čarovnik iz Oza in odvisno spremenljivko DM.............................. 64 4.9 Tabela vzvratne eliminacije za drugi sistem Čarovnik iz Oza in odvisno spremenljivko DM.............................. 65 4.10 Korelacijski koeficienti in pripadajoče p-vrednosti za regresijske parametre glede na posamezne ocene uporabnikov v prvem eksperimentu Čarovnik iz Oza............................... 68 4.11 Korelacijski koeficienti in pripadajoče p-vrednosti za regresijske parametre glede na posamezne ocene uporabnikov v drugem eksperimentu Čarovnik iz Oza............................... 69 6.1 Prikaz delovanja algoritma 3 na Datalog programu iz primera 6.3. Pri tem smo uporabili nekatere okrajšave: imena relacij SESTRA_BRAT, SESTPJČNA_BRATRANEC in SORODEN smo zamenjali z S1, S2 in S3, urejene pare oblike (f, h) smo zapisali kot fh, zaradi simetričnosti vseh IPZ relacij pa smo prikazali le tiste elemente, katerih prva komponenta je po abecednem redu pred drugo komponento...........104 xxvi Uvod Avtomatizacija sporazumevanja z govorom je še vedno eden izmed največjih raziskovalnih izzivov. Razlogov je več: -w Govor je naraven - govoriti se naučimo, še preden znamo brati in pisati. -w Govor je učinkovit - večina ljudi je sposobnih govoriti petkrat hitreje kot tipkati in verjetno celo desetkrat hitreje kot pisati. -w Govor je fleksibilen - med sporazumevanjem z govorom se nam ni treba ničesar dotikati in ne opazovati. Računalniški sistem, ki uporabniku omogoča, da z govorom dostopa do določenih aplikacij, imenujemo (samodejni) sistem za dialog ali govorni vmesnik. Ločimo več vrst sistemov za dialog [Krahmer-2001], danes najbolj razširjeni pa so sistemi za podajanje informacij, sistemi za govorno upravljanje naprav, sistemi za interaktivne govorne odzive in sistemi za reševanje problemov. Prototipi sistemov za dialog so se pojavili že v poznih šestdesetih in zgodnjih sedemdesetih letih prejšnjega stoletja [Woods-1972, Codd-1974]. V disertaciji se bomo osredotočili na sisteme za podajanje informacij, tj. govorne vmesnike za dostop do podatkovnih zbirk, ki so govorna različica splošnejših podatkovnih sistemov [Ullman-1988, Ramakrishnan-2003]. Sodobnejši sistemi za podajanje informacij (predvsem po telefonu) [Noth-2004] so bili zgrajeni za različne domene, npr. za podajanje informacij o restavracijah [Jurafsky-1994], o gledališčih [Hoeven-1995], o potovanjih z železnico [Allen-1995, Sturm-1999], o letalskih prevozih [Ipšič-1999, Stallard-2000], o vremenskih napovedih [Zue-2000, Žibert-2003] in elektronski pošti [Walker-2000]. Cilj sodobnejših sistemov za dialog je strategije interakcije čim bolj približati naravnim strategijam, tj. strategijam komunikacije človek-človek. To pomeni, daje treba razvijati in uporabljati najnovejše oz. najučinkovitejše tehnologije na področju obdelave govornega signala, razumevanja naravnega jezika in predstavitve znanja. Sistem za dialog je običajno modularno zgrajen (slika 1.1). Osnovni moduli so: Modul za razpoznavanje govora Vhod v modul za razpoznavanje govora je govorni signal uporabnika. Njegova naloga je določiti zaporedje besed, ki jih je uporabnik izgovoril. V prvi fazi lahko to pomeni določitev mreže hipotez o besedah, iz katere modul za razpoznavanje govora šele s pomočjo pomenske analize posameznih zaporedij, ki jo opravlja modul za razumevanje naravnega jezika, izloči zaporedje besed, ki se zdi najverjetnejše. 1 1 1 Uvod 2 Slika 1.1: Zgradba sistema za dialog. Modul za razumevanje naravnega jezika Vhod v modul za razumevanje naravnega jezika je zaporedje besed, izhod pa njegova pomenska predstavitev. V veliko pomoč pri razumevanju je lahko tudi informacija o poteku dialoga, ki jo dobimo iz modula za vodenje dialoga. Modul za vodenje dialoga Modul za vodenje dialoga je osrednji modul vsakega sistema za dialog, saj vodi in uravnava interakcijo med uporabnikom in aplikacijo. Vhod v modul je pomenska predstavitev, ki strukturirano podaja vsebino uporabnikove izjave. Ker ima neposreden dostop do aplikacije, lahko modul za vodenje dialoga na podlagi vhodne pomenske predstavitve spreminja stanje aplikacije (v primeru govornega upravljanja neke naprave) ali pa iz podatkovne zbirke vrača določene informacije (v primeru podajanja informacij). Modul za tvorjenje naravnega jezika Vhod v modul za tvorjenje naravnega jezika je pomenska predstavitev, ki jo tvori modul za vodenje dialoga. Njegova naloga je, da pomensko predstavitev pretvori v besedilo, zapisano v naravnem jeziku. Modul za tvorjenje govora Naloga modula za tvorjenje govora je, da odziv sistema, kije podan v naravnem jeziku, pretvori v govor. Ker je uporabnik z govorjenim izhodom v neposrednem stiku, ta močno vpliva na uporabnikovo oceno učinkovitosti sistema. Izjemna privlačnost in uporabnost govornih vmesnikov sta povzročili nastanek številnih vizij o njihovem razvoju. Ena izmed najbolj drznih je vizija raziskovalca Rayja 1 Uvod 3 Kurzweila [Kurzweil-1999], ki predvideva naslednji časovni scenarij: malo po 2000 Dva človeka, ki ne govorita nujno istega jezika, se pogovarjata po telefonu, ki opravlja nalogo prevajalca. Gluhim in naglušnim osebam pomagajo naprave, ki govor pretvarjajo v besedilo. Na telefonske klice odgovarjajo inteligentne telefonske tajnice, ki so sposobne določiti vrsto in pomembnost klica. leto 2009 Večina besedila je rezultat razpoznavanja vezanega govora. Povsod najdemo sisteme za dialog. Velik del vsakdanjih poslovnih pogajanj poteka med človekom in navidezno osebo, katere navzočnost je pogosto podkrepljena z vidno podobo človeškega obraza. Obstajajo žepni bralniki za slepe in slabovidne ter razpoznavalniki govora za gluhe in naglušne. Telefoni prevajalci za številne pare jezikov so v splošni rabi. leto 2019 Trodimenzionalni virtualni prikazovalniki, vgrajeni v očala in kontaktne leče, so osnovni komunikacijski vmesnik do drugih ljudi, svetovnega spleta in virtualne resničnosti. Večji del interakcije, v katero so vključeni stroji, poteka s kretnjami in dvosmernim govornim sporazumevanjem. Gluhe in naglušne osebe berejo govorna sporočila na prikazovalnikih, vgrajenih v leče. Velika večina interakcij zajema virtualno osebo. leto 2029 Trajni in odstranljivi implantati predstavljajo vhodno in izhodno enoto med človeškim uporabnikom in svetovnim računalniškim omrežjem. Izpopolnitev neposrednih nevronskih povezav, ki služijo za širokopasovno zvezo s človeškimi možgani. Dosegljivi so številni nevronski implantati za izboljšanje vidnega in slušnega zaznavanja in razumevanja ter izboljšanje spomina in sklepanja. Samodejni agenti se učijo sami. Razširjenost vseh vrst vidnih, slušnih in tipnih komunikacij, ki temeljijo na neposrednih nevronskih povezavah. Največji del komunikacije, v katero je vključen človek, predstavlja komunikacija med človekom in strojem. Podana vizija slikovito ponazarja smernice razvoja govornih vmesnikov. Kljub temu da je nastala nedavnega leta 1999, pa ji razvoj že danes ne zmore slediti. Roger K. Moore [Moore-2005] nastale tehnološke zaostanke pripisuje osnovnim slabostim trenutno uveljavljenih metod in pojasnjuje, da bo te mogoče nadomestiti šele, ko se bo razvoj osredotočil na bolj univerzalne sposobnosti, ki bodo neodvisne od aplikacije, okolja in uporabnikov. Sem spada tudi razvoj univerzalnih podatkovnih zbirk, ki bodo sistemom za podajanje informacij omogočale učinkovito in uporabnikom prijazno odgovarjanje. Raziskovalci Laboratorija za umetno zaznavanje, sisteme in kibernetiko Fakultete za Elektrotehniko v Ljubljani ter raziskovalci Oddelka za računalništvo in informatiko Filozofske fakultete na Reki smo si zastavili cilj razviti sistem za dialog [Žibert-2003], ki bo po telefonu v slovenskem in hrvaškem jeziku dajal informacije o vremenu in vremenski napovedi. Eden izmed razlogov za to odločitev je veliko število turističnih izmenjav med obema državama, drugi pa čedalje manjši delež prebivalcev obeh držav, ki 1 Uvod 4 govori in razume oba jezika. Sistem naj bi bil sposoben odgovarjati na vprašanja o vremenu in vremenski napovedi (tj. splošna vremenska napoved, biovremenska napoved, temperatura, smer in hitrost vetra, zračni tlak, vidljivost, višina in vrsta snega, vzhod in zahod sonca ipd.) za različne kraje in pokrajine v Sloveniji in na Hrvaškem ter za večja mesta drugih evropskih držav. Ker naj bi sistem omogočal hkratno sporazumevanje v obeh jezikih, tj. v slovenskem in hrvaškem jeziku, bo uporabnikova izjava najprej potovala v modul za identifikacijo jezika, ki bo ugotovil, v katerem jeziku uporabnik govori. V skladu s to ugotovitvijo bo izjava posredovana v zaporedje modulov za razpoznavanje govora [Martinčič-2003] in razumevanje naravnega jezika, pri čemer si bosta oba modula za razumevanje naravnega jezika pri pretvorbi izjave v njeno pomensko predstavitev pomagala tudi s trenutnim stanjem dialoga. Modul za vodenje dialoga [Hajdinjak-2004a, Hajdinjak-2004c] bo (neodvisno od jezika) v zbirki vremenskih podatkov poiskal ustrezne podatke in jih (primerno strukturirane) poslal modulu za tvorjenje naravnega jezika. Ta bo pomensko predstavitev odziva pretvoril v ustrezen (tj. slovenski ali hrvaški) naravni jezik, ki bo nato še sintetiziran [Vesnicer-2003], tj. umetno pretvorjen v govor, in posredovan uporabniku po telefonski zvezi. Eksperimentalni del razvoja sistema za dialog običajno poteka v treh korakih. V prvem koraku opravimo analizo dejanskih dialogov človek-človek. Na osnovi te analize konstruiramo enega ali celo več sistemov Čarovnik iz Oza [Dahlback-1993, Hajdinjak-2004b], ki služijo kot ogrodje za izvedbo istoimenskega eksperimenta. Zadnji korak je vrednotenje, izboljševanje in dopolnjevanje sistema za dialog, ki poteka z uporabo podatkov, pridobljenih od dejanskih uporabnikov. Doktorska disertacija predstavlja del raziskovalnega dela, opravljenega v okviru razvoja dvojezičnega samodejnega sistema za podajanje informacij o vremenu, zajema pa dve tematski področji: • vrednotenju učinkovitosti sistemov za dialog z ogrodjem PARADISE in • posplošitev relacijske algebre na teorijo kategorij, ki vodi do razvoja sodelujočega podatkovnega modela. Zaradi osredotočenosti k univerzalnim sposobnostim sistemov za dialog, bomo ugotovitve, sklepe in rezultate podali čim bolj neodvisno od aplikacije, okolja in uporabnikov. Eksperiment Čarovnik iz Oza 2.1 Uvod 2.2 Prvi eksperiment Čarovnik iz Oza 2.3 Drugi eksperiment Čarovnik iz Oza 2.4 Modul za vodenje dialoga 2.5 Sodelujoča podatkovna zbirka Opišemo eksperiment Čarovnik iz Oza, v katerem s pomočjo človeka čarovnika simuliramo delovanje še nedokončanega sistema za podajanje informacij o vremenu. Eksperiment Čarovnik iz Oza smo uporabili dvakrat. Prvi eksperiment je služil za zbiranje podatkov za izdelavo še nedokončanih modulov v sistemu za podajanje informacij o vremenu, drugi pa za zbiranje podatkov za vrednotenje učinkovitosti modula za vodenje dialoga. Za modeliranje dialoga smo uporabili tehniko polnjenja predalčkov, strategijo vodenja dialoga pa smo formalizirali z uporabo konverzacijske teorije iger. V takem modelu je dialog sestavljen iz konverzacijskih iger in konverzacijskih potez, ki so udejanjene kot rekurzivne mreže prehodov. Za predstavitev znanja v drugem sistemu Čarovnik iz Oza smo uporabili intuicionis-tično modalno logiko. Dobljen razred podatkovnih modelov, imenovan dialog mlPC Kripkejevi modeli, podpira vrsto tehnik sodelujočega odgovarjanja, tudi relaksacijo. 5 2 Eksperiment Čarovnik iz Oza 6 2.1 Uvod Številni raziskovalci menijo, da naj bi komunikacija človek-stroj čim bolj sledila komunikaciji človek-človek. Toda komunikacija človek-stroj in komunikacija človek-človek se tako zelo razlikujeta, da podatki iz slednje hitro postanejo neustrezen in nezanesljiv vir informacij za nekatere pomembne vidike oblikovanja sistemov za dialog, kot sta na primer način in kompleksnost interakcije. Fraser in Gilbert [Fraser-1991] ugotavljata, da čeprav se je bolje zanašati na analizo komunikacije človek-človek kot pa le na intuicijo, dejstvo, da se komunikacija človek-človek in komunikacija človek-stroj razlikujeta, ostane in presenetljivo bi bilo, če bi obe sledili enakim pravilom. Analiza komunikacije človek-človek je sicer dobra osnova za določitev nalog in slovarja besed, ki naj jih sistem za dialog razume, ne pa tudi za ostale vidike interakcije med človekom in strojem [Smith-1997]. Raziskovalci so tako ujeti v začaran krog - za konstrukcijo sistema za dialog po eni strani potrebujejo značilnosti komunikacije človek-stroj, po drugi strani pa, dokler sistem za dialog še ni dograjen, ni mogoče vedeti, kako bodo dialogi potekali. Trenutno najboljša alternativa za zbiranje podatkov, ki izražajo jezik komunikacije človek-stroj, je t. i. eksperiment Čarovnik iz Oza. Ime tehnike se nanaša na moža za zaveso v knjigi in filmu Čarovnik iz Oza. V teh eksperimentih so uporabniki prepričani, da se pogovarjajo s strojem - računalnikom, kar pa ni res. V resnici za računalnikom sedi človek (čarovnik), ki vsaj delno simulira delovanje sistema za dialog. V nekaterih primerih [Whittaker-1989, Eskenazi-1999] čarovnik simulira celoten sistem, v drugih [Dahlback-1993, Kim-1997] pa le del sistema. Ugotovljeno je bilo [Whittaker-1989, Fraser-1991, Dahlback-1993], da podatki, pridobljeni z eksperimentom Čarovnik iz Oza, natančneje izražajo jezik komunikacije človek-stroj kot podatki, pridobljeni v človeških dialogih. Glavni razlog za to je prilagajanje udeležencev dialoga jezikovnim sposobnostim sogovornika. Eksperiment Čarovnik iz Oza pa ima tudi nekatere slabosti: 1. Konstrukcija kakovostnega sistema za simulacijo in učenje čarovnikov je zahtevna naloga. Dahlback, Jonsson in Ahrenberg [Dahlback-1993] to utemeljujejo z dejstvom, da smo ljudje fleksibilni, računalniki pa konsistentni; da ljudje počasi tipkamo, računalniki pa se odzivajo hitro; da računalniki nikoli ne delajo majhnih napak (tipkarske napake), ljudje pa jih delamo pogosto. Torej če želimo, da bodo uporabniki ves čas dialoga ostali v prepričanju, da se pogovarjajo z računalnikom, čarovnik ne sme le sedeti za računalnikom in tipkati svojih odgovorov, ki so nato umetno pretvorjeni v govor. Vmesnik, pred katerim sedi, mora čarovniku pomagati pri njegovem delu, tako da čim bolj zmanjša potrebo po tipkanju in čim bolj poveča konsistentnost njegovih odzivov. 2. Udeleženci eksperimenta le igrajo vloge resničnih uporabnikov, zato med dialogom stežka pokažejo svoje potrebe, motivacije, izhode in ovire. To težavo lahko do neke mere odpravimo z uvedbo vnaprej določenih scenarijev ali situacij. Ker jih ponavadi zastavijo raziskovalci sami, to ni najidealnejši način ugotavljanja nalog, ki naj jih bo sistem sposoben opraviti. 2 Eksperiment Čarovnik iz Oza 7 3. Pojavljajo se tudi etična vprašanja. To težavo lahko delno zmanjšamo, če udeležencem eksperimenta na koncu povemo, kaj smo počeli, zakaj smo tako ravnali in ne nazadnje, da bomo podatke nemudoma uničili, če oni tako želijo. Eksperimentalni del razvoja sistema za dialog običajno poteka v treh korakih. Prvi korak je analiza dejanskih dialogov človek-človek. Na osnovi te analize konstruiramo enega ali celo več sistemov Čarovnik iz Oza, ki služijo kot ogrodje za izvedbo istoimenskega eksperimenta. Zadnji korak je izboljševanje in dopolnjevanje sistema za dialog, ki poteka z uporabo podatkov, pridobljenih od dejanskih uporabnikov. V 3. poglavju o vrednotenju učinkovitosti sistemov za dialog se bomo sklicevali na podatke, pridobljene v dveh eksperimentih Čarovnik iz Oza [Hajdinjak-2004b], ki sta potekala v sklopu raziskav, predstavljenih v magistrskem delu [Hajdinjak-2004a]. Edina razlika med obema sistemoma Čarovnik iz Oza je način vodenja dialoga - v prvem sistemu je to nalogo opravljal čarovnik, v drugem pa modul za samodejno vodenje dialoga. Oba sistema Čarovnik iz Oza, ki po telefonu dajeta informacije o vremenu in vremenski napovedi [Hajdinjak-2003a], s katerima smo izvajali eksperimente Čarovnik iz Oza, sta modularno zasnovana. Vsi moduli so povezani z (grafičnim) vmesnikom, za katerim je sedel človek čarovnik in simuliral del sistema za dialog. Sistem smo udejanjili na osebnem računalniku z vgrajeno ISDN DIVA Server BPJ-2M PCI kartico, s katero smo komunicirali prek posebnega računalniškega programa, ki je omogočal vzpostavljanje in prevzemanje telefonskih pogovorov, poslušanje in snemanje pogovorov, kodiranje in dekodiranje ISDN formata zvočnih datotek, pošiljanje wave datotek po telefonski zvezi ipd. V zgodnjih fazah razvoja sistema za dialog je primerneje, če avtomatičnega razumevanja govora ne vključimo v sistem, saj v tem primeru ne bomo omejeni z narečjem, spolom in starostjo uporabnikov. V literaturi najdemo dva načina simuliranja razumevanja govora - napake pri razumevanju govora lahko sistematsko vključimo v besedilo, na katero se čarovnik odziva [Pirker-1999, Moller-2005], ali pa simuliramo tako rekoč popolno razumevanje govora [Dahlback-1993, Kim-1997, Eskenazi-1999]. Za ta način smo se odločili tudi mi, čeprav smo se zavedali, da so napake pri razumevanju govora izjemno pomemben vidik uporabnikove interakcije s sistemom. Za ta pristop smo se odločili, ker je napake pri razumevanju govora, še posebej pa napake pri razpoznavanju govora, zelo težko ustrezno simulirati. Naš čarovnik je zato poslušal uporabnika, ne da bi ga pri tem kakor koli omejeval. 2.2 Prvi eksperiment Čarovnik iz Oza V prvem eksperimentu Čarovnik iz Oza [Hajdinjak-2003a] smo uporabljali sistem, sestavljen iz naslednjih komponent: • platforma za ISDN telefonijo, 2 Eksperiment Čarovnik iz Oza 8 • grafični vmesnik, ki je čarovniku omogočal vodenje dialoga, • relacijska zbirka vremenskih podatkov [Hajdinjak-2002a, Hajdinjak-2002b], do katere je (z uporabo grafičnega vmesnika) dostopal čarovnik, • modul za tvorjenje naravnega jezika in • modul za tvorjenje slovenskega govora. Eksperiment je potekal tako, da je čarovnik sedel za grafičnim vmesnikom, poslušal izjave uporabnika, v skladu s katerimi je po lastni presoji izbiral odzive na grafičnem vmesniku in s tem po potrebi dostopal do relacijske zbirke vremenskih podatkov. Odzivi so potovali v modul za tvorjenje naravnega jezika, katerega izhod (naravno besedilo) je potoval v modul za tvorjenje slovenskega govora, tega pa je sistem po telefonski zvezi poslal do uporabnika. Grafični vmesnik, ki je čarovniku omogočal vodenje dialoga, je bil oblikovan tako, da so bili odzivi čarovnika približno tako hitri in konsistentni kot odzivi računalnika. Zasnovan je bil kot uporabniku (čarovniku) prijazna spletna aplikacija, ki je vsebovala spletne obrazce, aktivne slike, slikovna polja, spustne sezname, ipd. in je omogočala -w izbiro krajev s pomočjo aktivnih zemljevidov, -w predvajanje vnaprej pripravljenih zvočnih datotek, -w uporabo bližnjic ... Naloga čarovnika v prvem eksperimentu Čarovnik iz Oza je bila igrati vlogo modulov za razpoznavanje govora in razumevanje naravnega jezika, s pomočjo grafičnega vmesnika pa tudi vlogo modula za vodenje dialoga. Za ta eksperiment smo se odločili v prvi fazi razvoja sistema za podajanje informacij o vremenu, da bi pridobili podatke, na osnovi katerih bi potem gradili omenjene module, ki jih je čarovnik v eksperimentu nadomeščal. V eksperimentu je sodelovalo 76 uporabnikov, in sicer 38 žensk in 38 moških. Pri izbiri smo pazili, da bi uporabniki predstavljali čim bolj reprezentativen vzorec (spol, starost, izobrazba, narečje, telefonska zveza, okolje telefonskega pogovora). Povprečna starost uporabnikov je bila 34 let, povprečna izobrazba pa srednja šola. Zastopanih je bilo vseh osem slovenskih narečnih skupin, pazili pa smo tudi na vrste telefonskih zvez (analogna, ISDN, GSM) in na okolje (tiho okolje, šolski hodnik, ulica, prostor z več ljudmi, menza, vklopljen radio/TV-sprejemnik ipd.), ki je uporabnike v času telefonskega pogovora s sistemom Čarovnik iz Oza obdajalo. Pred začetkom eksperimenta smo udeležencem povedali, da se bodo pogovarjali z računalnikom, tj. s samodejnim sistemom za podajanje informacij o vremenu, in jim dali ustna navodila o splošni funkcionalnosti sistema. Ker smo želeli po eni strani pridobiti čim več posnetkov, po drugi strani pa, kljub igranju vloge dejanskih uporabnikov, zagotoviti čim bolj realne in raznolike dialoge, smo vsakemu izmed udeležencev zastavili dve nalogi. Prva naloga je bila pridobiti določeno informacijo, druga pa je zajemala 2 Eksperiment Čarovnik iz Oza 9 določen scenarij oz. situacijo, ki naj bi si jo udeleženec poskušal zamisliti. Primera takih nalog sta: 1. Poskušajte ugotoviti, ali v Ljubljani sije sonce. 2. Ob koncu tedna bi radi šli v hribe. Kaj vas zanima? in 1. Poskušajte ugotoviti, kakšne temperature lahko pričakujemo jutri. 2. Načrtujete izlet s kolesom. Kaj vas zanima? Udeležencem smo omogočili tudi lastno izbiro vprašanj - povedali smo jim, da lahko po opravljenih nalogah dialog s sistemom nadaljujejo. Po pogovoru s sistemom Čarovnik iz Oza smo uporabnike prosili, naj izpolnijo vprašalnik, katerega prvi del je vseboval vprašanja o spolu, starosti, izobrazbi, zaposlitvi, narečju, vrsti telefonske zveze in okolju, ki jih je v času dialoga s sistemom obdajalo. Drugi del vprašalnika se je nanašal na dialog s sistemom in je, poleg vprašanja, ali so dobili odgovor na prvo nalogo, zajemal različne vidike njihove interakcije s sistemom (tabela 3.1). Vprašanja, s pomočjo katerih so udeleženci ocenjevali sistem Čarovnik iz Oza, so del ogrodja PARADISE, ki ga bomo predstavili v 3. poglavju, sprašujejo pa po učinku modula za tvorjenje govora, učinku modula za razpoznavanje govora, težavnosti pridobivanja informacij, hitrosti interakcije, izkušenosti uporabnikov, ustreznosti odzivov sistema, pričakovanem obnašanju sistema in načrtovani rabi sistema v prihodnosti. Odgovori so bili podani z lestvico od 1 (nikakor se ne strinjam) do 5 (popolnoma se strinjam). Povprečne ocene uporabnikov so podane v tabeli 2.1. WOZ1 WOZ2 Tvorjenje govora 4.42 4.29 Razpoznavanje govora 4.51 4.29 Pridobivanje informacij 4.27 3.74 Hitrost interakcije 3.94 3.76 Izkušenost uporabnikov 4.40 4.28 Ustreznost odzivov 4.23 3.76 Pričakovano obnašanje 4.31 4.04 Raba v prihodnosti 3.99 3.78 Tabela 2.1: Povprečne ocene uporabnikov v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza. V eksperimentu smo opazili nekaj zanimivosti. Prva je ta, da je večina uporabnikov svoja vprašanja oblikovala zelo podobno, ponavadi Zanima me ..., Rad/Rada bi vedel/vedela ..., Mi lahko (prosim) poveste ..., Ali mi lahko poveste ..., ipd. Druga zanimivost je prilagajanje uporabnikovega vedenja pričakovanim jezikovnim sposobnostim sistema. V našem eksperimentu smo ugotovili, da je bilo prvo vprašanje, ki so ga uporabniki zastavili, ponavadi veliko daljše in veliko manj jedrnato kot vprašanja, ki so sledila. Primeri dolgih in nejedrnatih začetnih vprašanj so na primer: 2 Eksperiment Čarovnik iz Oza 10 SISTEM: Dober dan. Pogovarjate se s sistemom za podajanje informacij o vremenu. Kakšno je vaše vprašanje? UPORABNIK: Mi lahko prosim poveste, kakšna bo danes vidljivost na Štajerskem? SISTEM: Počakajte trenutek, prosim ... [čarovnik izbira svoj odziv] Na Štajerskem bo danes podnevi vidljivost nad 10 km. Imate še kakšno vprašanje? UPORABNIK: A bo kaj snežilo? SISTEM: Kateri kraj vas zanima? UPORABNIK: Štajerska. SISTEM: Počakajte trenutek, prosim ... [čarovnik izbira svoj odziv] Ne, na Štajerskem danes podnevi - razjasnitve. Imate še kakšno vprašanje? UPORABNIK: Kakšno pa bo vreme v prihodnjih dneh na Poljskem? SISTEM: Imam podatke za danes. UPORABNIK: Torej, kako bo danes na Poljskem? SISTEM: Počakajte trenutek, prosim ... [čarovnik izbira svoj odziv] V Varšavi na Poljskem je oblačno, temperatura zraka je -6 stopinj Celzija. Imate še kakšno vprašanje? UPORABNIK: A je kaj snega na Poljskem? SISTEM: Te informacije ne ponujam. Imate morda kakšno drugo vprašanje? UPORABNIK: Ne, najlepša hvala. Na svidenje. SISTEM: Hvala lepa za sodelovanje. Na svidenje. Tabela 2.2: Primer dialoga med uporabnikom in prvim sistemom Čarovnik iz Oza. . Jaz moram danes na Primorsko, pa me je malo strah burje. Zdaj me pa zanima, kje začenja pihati, a na vetrišču ali šele s Svete gore navzdol proti Gorici. . Glejte. Trenutno se peljem z Jesenic proti Ljubljani. Razmere na cesti so obupne. Vseskozi piha močan veter s smeri vzhoda. Zdaj me pa zanima, kakšen veter piha v Ljubljani. Se pravi, moč pa smer, od kod piha. . Danes bi radi prišli v Ljubljano na izlet. Malo bi se sprehajali, pa na ljubljanski grad bi šli radi. Pa nas zanima, če je v Ljubljani kaj sonca, če je lep razgled z gradu. V primerih, ko je sistem uporabnike prosil, naj vprašanje ponovijo, je njihov govor pogosto postal bolj artikuliran, počasnejši in/ali glasnejši. Do podobnih ugotovitev so prišli tudi drugi raziskovalci [Zoltan-Ford-1991], da namreč jezikovne sposobnosti sistema za dialog opazno vplivajo na vedenje uporabnikov. Cohen in Oviatt [Cohen-1995] pa trdita, da bodo uporabniki svoje besedišče zelo verjetno prilagodili sistemovemu, če bodo v njem zaznali omejitve. Tretja zanimivost, ki smo jo opazili v prvem eksperimentu Čarovnik iz Oza, so smeh, šale in duhovite opazke, ki so jih nekateri uporabniki delali na račun sistema, medtem ko je čarovnik posredoval svoj odziv. Primeri takih opazk so: 2 Eksperiment Čarovnik iz Oza 11 -w Kakšen glas ... Grozno ... -w Išče po računalniku ... -w Razmišlja ... Taki odzivi in stranske opazke so najbrž verjetnejši v testiranjih sistemov za dialog kot pa v komercialnih sistemih, saj v takih testiranjih uporabniki ponavadi igrajo le vloge dejanskih uporabnikov, niso časovno omejeni in ne odgovarjajo za stroške telefonskega pogovora. Primer dialoga med uporabnikom in prvim sistemom Čarovnik iz Oza je podan v tabeli 2.2. Zbirko spontanega govora, ki smo jo pridobili v prvem eksperimentu Čarovnik iz Oza, smo poimenovali SSSQ [Hajdinjak-2003b]. Kratica SSSQ se nanaša na angleško besedno zvezo Slovenian Spontaneous Speech Queries. Zbirko smo označili z orodjem Transcriber [Barras-2001], pri čemer smo poleg oznak besed uporabili še posebne oznake za narečne besede, premore in negovorne zvoke (vdih, izdih, vzdihljaj, tlesk, smeh, pih, kašelj in različne zvoke, ki nastajajo pri obotavljanju oz. razmišljanju). Zgradba te zbirke spontanega govora je prikazana v tabeli 2.3. Sestavljena je iz 76 dialogov, ki vsebujejo 662 izjav uporabnikov. Skupna dolžina dialogov znaša 103.02 minute, dolžina človeškega govora pa 41.18 minute. število dialogov 76 število izjav uporabnikov 662 število različnih besed 920 število vseh besed 5442 dolžina vseh dialogov 103.02 min dolžina človeškega govora 41.18 min Tabela 2.3: Zgradba SSSQ zbirke spontanega govora. Dialoge, pridobljene v prvem eksperimentu Čarovnik iz Oza, ki odsevajo strukturo komunikacije človek-stroj, smo podrobno analizirali. Rezultati analize so podani v poglavju 4. 2.3 Drugi eksperiment Čarovnik iz Oza Na osnovi podatkov iz prvega eksperimenta Čarovnik iz Oza smo zgradili modul za vodenje dialoga (razdelek 2.4) in ga vgradili v sistem, s katerim smo izvajali drugi eksperiment Čarovnik iz Oza. Cilj in namen drugega eksperimenta Čarovnik iz Oza je bil pridobiti podatke, ki bi poleg podatkov iz prvega eksperimenta tvorili osnovo za vrednotenje učinkovitosti modula za vodenje dialoga [Hajdinjak-2004c]. Sistem, ki smo ga pri tem uporabili, je bil sestavljen iz naslednjih komponent: 2 Eksperiment Čarovnik iz Oza 12 • platforma za ISDN telefonijo, • modul za vodenje dialoga, • sodelujoča zbirka vremenskih podatkov, do katere je dostopal modul za vodenje dialoga, • modul za tvorjenje naravnega jezika in • modul za tvorjenje slovenskega govora. Naloga čarovnika v drugem eksperimentu Čarovnik iz Oza je bila igrati vlogo modulov za razpoznavanje govora in razumevanje naravnega jezika, ne pa tudi vloge modula za vodenje dialoga kot v prvem eksperimentu. V tem eksperimentu je čarovnik sedel pred vmesnikom modula za vodenje dialoga in s tipkovnico vnašal pomensko predstavitev uporabnikove izjave, ki bo v končnem sistemu izhod iz modula za razumevanje naravnega jezika. Vse nadaljnje delo (vodenje dialoga, iskanje podatkov, tvorjenje naravnega jezika, tvorjenje govora) je opravljal sistem. Oba sistema Čarovnik iz Oza sta se torej razlikovala le po načinu vodenja dialoga (čarovnik oz. modul za vodenje dialoga) in vrsti podatkovne zbirke (relacijska oz. sodelujoča podatkovna zbirka). Sodelujoča podatkovna zbirka vremenskih informacij, ki smo jo uporabili v drugem eksperimentu Čarovnik iz Oza, je predstavljena v razdelku 2.5. V eksperimentu je sodelovalo 68 uporabnikov, 29 žensk in 39 moških, katerih povprečna starost je bila 32 let. Čeprav je 17 izmed njih že sodelovalo v prvem eksperimentu Čarovnik iz Oza in so zato bili malo bolj izkušeni od drugih, med vedenjem obeh skupin nismo opazili nobene razlike. Uporabnike (tudi tiste, ki so že sodelovali v prvem eksperimentu) smo, tako kot v prvem eksperimentu, prepričali, da se bodo pogovarjali z računalnikom, tj. s samodejnim sistemom za podajanje informacij o vremenu, in jim dali ustna navodila o splošni funkcionalnosti sistema. Vsakemu izmed udeležencev smo zastavili dve nalogi, podobno kot v prvem eksperimentu, od katerih je bila prva pridobiti določeno informacijo, druga pa scenarij oz. situacija, ki naj bi si jo udeleženec poskušal zamisliti. Po končanem pogovoru s sistemom smo uporabnike prosili, naj izpolnijo enak vprašalnik kot v prvem eksperimentu. Del vprašalnika, ki zajema vprašanja, nanašajoča se na ocenjevanje sistema, je podan v tabeli 3.1. Povprečne ocene udeležencev drugega eksperimenta Čarovnik iz Oza so podane v tabeli 2.1. Zanimivo je, da so udeleženci drugega eksperimenta slabše ocenili prav vse vidike svoje interakcije s sistemom, tudi učinek modulov za tvorjenje in razpoznavanje govora, ki sta v obeh eksperimentih ostala enaka. Glede na to da so tako storili tudi tisti, ki so sodelovali v obeh eksperimentih Čarovnik iz Oza, razlog ne more biti večja kritičnost udeležencev. Zelo verjetno pa so slabše ocene posledica manjšega zadovoljstva z nekaterimi posameznimi vidiki učinkovitosti sistema. Najbolj opazna razlika je v ocenah težavnosti pridobivanja informacij (4.27 oz. 3.74) in ustreznosti odzivov sistema (4.23 oz. 3.76), pri čemer je treba poudariti, da so bile slabše ocene nekaterih vidikov učinkovitosti sistema vsekakor pričakovane, saj bi v nasprotnem primeru modul za vodenje dialoga v drugem eksperimentu bolje opravljal svojo nalogo kot človeški operater v prvem eksperimentu. 2 Eksperiment Čarovnik iz Oza 13 Primer dialoga med uporabnikom in drugim sistemom Čarovnik iz Oza je podan v tabeli 2.4. SI: Pozdravljeni. Pogovarjate se s sistemom za podajanje informacij o vremenu. Kakšno je vaše vprašanje ? VI: Zanima me, kakšno vreme bo jutri v Sloveniji. S2: V Sloveniji jutri čez dan - padavine bodo ponehale, delno razjasnitve. Želite vedeti še kaj? U2: Ja. Zanima me še vreme v gorah. S3: Ali sprašujete za jutri čez dan? U3: Kako? S4-' Niste mi povedali vseh potrebnih podatkov ali pa jih nisem razumel. Ce vas zanima kaj drugega, vprašajte, sicer pa prosim odgovorite na naslednje vprašanje. Ali sprašujete za jutri čez dan? U4-' Ne, zanima me vreme za ta trenutek. S5: O vremenu v gorah ta trenutek žal nimam podatkov. Imam pa podatke o vremenu ta trenutek na Kredarici, na Voglu, na Kaninu, na Krvavcu in v Predelu. Potem lahko izbirate med podatki o vremenu v gorah za danes čez dan in jutri čez dan. Izbirate lahko tudi med podatki o vremenski napovedi v gorah ta trenutek. U5: Povejte mi prosim za Vogel. S6: Ali sprašujete za ta trenutek o vremenu? U6: Ja. S7: Na Voglu ta trenutek - megla. Vam lahko še kako pomagam? U7: Ja. Povejte mi, kakšna je temperatura zraka in kakšna je višina snega na Voglu. S8: Na Voglu ta trenutek - skupna višina snega je 180 centimetrov, temperatura zraka je -7 stopinj Celzija. Imate še kakšno vprašanje? U8: Ja. Kaj vse mi lahko poveste o trenutnem vremenskem stanju v Ljubljani? S9: Za ta trenutek v Ljubljani vam lahko ponudim 9 vrst informacij kot na primer podatek o vremenu, vlažnosti zraka, temperaturi zraka, hitrosti vetra, smeri vetra, vrednosti zračnega tlaka, indeksu požarne ogroženosti, vrsti požarne ogroženosti in tako naprej. Ali vas kakšna od teh informacij zanima? U9: Ne. To bi bilo vse. S10: Hvala lepa za sodelovanje. Na svidenje. Tabela 2.4: Primer dialoga med uporabnikom (U) in drugim sistemom Čarovnik iz Oza (S). Zbirko spontanega govora, ki smo jo pridobili v drugem eksperimentu Čarovnik iz Oza, smo (iz podobnega razloga kot v prvem eksperimentu) poimenovali SSSQ2 in jo označili v skladu z oznakami zbirke SSSQ. Zgradba SSSQ2 zbirke spontanega govora je prikazana v tabeli 2.5. Sestavljena je iz 68 dialogov, ki vsebujejo 885 izjav uporabnikov. Skupna dolžina dialogov znaša 148.92 minute, dolžina človeškega govora pa 50.51 minute. Skupno število različnih besed (zajete so tudi govorne različice) v obeh zbirkah spontanega govora (SSSQ in SSSQ2) je 1229. Podatkovni 2 Eksperiment Čarovnik iz Oza 14 zbirki SSSQ in SSSQ2, pridobljeni v obeh eksperimentih Čarovnik iz Oza, sta po številnosti uporabnikov primerljivi [Dahlback-1993, Walker-2001a, Walker-2001b] ali celo presegata [Walker-1997b, Walker-1998, Walker-1999, Pirker-1999, Eskenazi-1999, Kamm-1999, Whittaker-2002, Litman-2002] podobne zbirke. Redke študije komunikacije človek-stroj ali vrednotenja učinkovitosti sistemov za dialog so temeljile na bogatejših zbirkah [Kim-1997, Larsen-2003]. število dialogov 68 število izjav uporabnikov 885 število novih besed 309 število različnih besed 716 število vseh besed 5403 dolžina vseh dialogov 148.92 min dolžina človeškega govora 50.51 min Tabela 2.5: Zgradba SSSQ2 zbirke spontanega govora. Tudi dialoge, pridobljene v drugem eksperimentu Čarovnik iz Oza, smo podrobno analizirali. Rezultati analize so podani v poglavju 4. Da bi vsaj delno odpravili etično vprašljivost eksperimentov Čarovnik iz Oza, smo po obeh eksperimentih udeležencem povedali, kaj smo počeli, zakaj smo tako ravnali, in jih vprašali za dovoljenje uporabe pridobljenih podatkov v raziskovalne namene. Prav vsi so pokazali razumevanje in odobravanje teh eksperimentov, dovolili pa so nam tudi uporabo posnetkov in drugih podatkov, ki smo jih v eksperimentih pridobili. 2.4 Modul za vodenje dialoga Eden izmed ciljev razvoja sistema za podajanje informacij o vremenu je bil razviti modul za vodenje dialoga, ki bi bil od jezika neodvisen in čim enostavneje prenosljiv na druge domene podajanja informacij. Pretehtali smo učinkovitost uveljavljenih tehnik modeliranja dialoga [Hajdinjak-2004a] in po temeljitem razmisleku prišli do sklepa -dialog modelirati s tehniko polnjenja predalčkov [Goddeau-1996]. Tehnika polnjenja predalčkov rešuje številne težave dialogov, modeliranih s tehniko končnih avtomatov, in predstavlja ta čas najobičajnejši način modeliranja dialogov v govornih vmesnikih. Vhod v modul za dialog je v tem primeru pomenska predstavitev uporabnikove izjave, ki je podana s predalčki in njihovimi elementi. Napolniti predalčke pomeni pridobiti ustrezne tipe podatkov, ki bodo omogočili dostop do podatkovne zbirke ali izvedbo kake druge akcije. Prednost te tehnike v primerjavi s tehniko končnih avtomatov je boljša prenosljivost na druge domene, kar je omogočeno z ločitvijo naloge in strategije vodenja dialoga; naloga je napolniti predalčke, strategija pa predstavlja način, kako to naredimo. Zaradi relativne preprostosti domene vremenskih podatkov, ki je sicer skupna skoraj vsem domenam za podajanje informacij, smo definirali le tri različne predalčke: 2 Eksperiment Čarovnik iz Oza 15 1. podatek o kraju, 2. podatek o času in 3. vrsta informacije. Strategijo vodenja dialoga smo modelirali s konverzacijsko teorijo iger, ki izhaja iz množice raziskav [Power-1979, Houghton-1987, Kowtko-1992, Allen-1997, Poesio-1997, Stolcke-2000], kjer so dialogi sestavljeni iz iger, ki jih načrtujejo razumski agenti. Namen raziskav, predstavljenih v [Power-1979] in [Houghton-1987], je bil izdelati teorijo, ki bo opisovala, kako cilji sogovornika vplivajo na potek dialoga. Na podlagi teh ugotovitev sta Kowtko in Isard [Kowtko-1992] dialoge strukturirala na dve funkcijski ravni: -w konverzacijske igre in -w konverzacijske poteze. Konverzacijske igre povezujemo z željami oz. konverzacijskimi cilji, kot je na primer cilj pridobiti določeno informacijo, in so sestavljene iz zaporedja izjav, ki se začnejo s pobudo in končajo, ko je cilj igre dosežen ali igra prekinjena. Sestavne dele konverza-cijskih iger imenujemo konverzacijske poteze. To so izjave, deli izjav ali množice izjav, ki izražajo isto namero, kot je na primer potrditev ali preverjanje. Konverzacijske igre lahko poljubno gnezdimo eno v drugi, če le cilj notranje konverzacijske igre služi za dosego cilja zunanje igre. Najbolj znana uporaba konverzacijske teorije iger je kodiranje obsežne (15 ur) zbirke spontanih, k cilju usmerjenih govorjenih dialogov človek-človek [Carletta-1996a], kjer je dodana še ena funkcijska raven, namreč raven dogovorov, tj. delov dialoga, ki predstavljajo večje korake pri doseganju končnega cilja. Študija zbirke teh dialogov je pokazala, da v konverzacijskih igrah vprašanjem v veliki večini sledijo odgovori, izjavam pa odobritve ali zavrnitve. Na osnovi te študije avtorji razlikujejo tri osnovne tipe konverzacijskih potez: -w začetne poteze, -w odzivne poteze in -w poteze pripravljenosti. Začetne poteze se pojavljajo na začetku konverzacijskih iger in v dialog uvajajo nove namere, so pobudniki. Odzivne poteze se pojavljajo znotraj konverzacijskih iger in služijo za izpolnitev pričakovanj in želja, ki se v dialogu pojavijo, poteze pripravljenosti pa se pojavljajo potem, ko je bila neka konverzacijska igra končana, in dialog pripravijo na začetek nove igre. Ideja pojmovanja konverzacijskih iger in konverzacijskih potez se je pri modeliranju dialoga izkazala za zelo uporabno, in sicer z opisnega [Power-1979, Houghton-1987, 2 Eksperiment Čarovnik iz Oza 16 Kowtko-1992, Carletta-1996a] in algoritemskega [Lewin-2000] vidika. Konverzacijska teorija iger se tako ukvarja predvsem z modeliranjem dialogov človek-človek in dialogov človek-stroj. Uporaba te teorije za modeliranje dialoga v samodejnih sistemih je bila predlagana v projektu TRINDI (Task Oriented Instructional Dialogue) [Larsson-2000, Lewin-2000]. Tudi mi smo, podobno kot [Carletta-1996a], ločili tri osnovne tipe konverzacijskih potez: začetne poteze, odzivne poteze in poteze pripravljenosti. Množici konverzacijskih iger in konverzacijskih potez, udejanjenih v projektu TRINDI [Larsson-2000], smo precej razširili, da bi zagotovili večjo prenosljivost sistema na druge domene. Definirali smo 14 kategorij začetnih in 10 kategorij odzivnih potez ter poteze pripravljenosti READY, ki naznanjajo konec prejšnje igre in dialog pripravljajo na začetek nove kon-verzacijske igre. Kategorije začetnih konverzacijskih potez, ki smo jih udejanjili v modulu za vodenje dialoga v sistemu za podajanje informacij o vremenu, so: . Greet Pozdravi (npr. Dober dan. ali Na svidenje.). . Indecipherable Izjave uporabnika, ki jih sistem ne razpozna ali ne razume. . Pardon Izjave, s katerimi uporabnik ali sistem prosita sogovornika, naj ponovi prejšnjo izjavo (npr. Prosim? ali Ali lahko ponovite vprašanje, prosim?). . Help Izjave, s katerimi uporabnik prosi za pomoč, ko se v dialogu ne znajde oz. ne ve, kako nadaljevati (npr. Kaj pa znaš?). . Timeout Sem spadajo tisti odzivi uporabnika, ko sistem v vnaprej določenem času ne zazna govora. . Interrupt Izjave, s katerimi uporabnik prekine tekočo konverzacijsko igro (npr. Ne, to me pa ne zanima.). . Align Izjave, s katerimi uporabnik preveri, ali se njegovo prepričanje ujema s prepričanjem sistema. . Check Izjave, s katerimi sistem prosi za potrditev informacij, za katere sicer že verjame, da držijo, vendar o tem ni čisto prepričan. Te poteze pokrivajo sklepanje na podlagi zgodovine dialoga (npr. Ali sprašujete za ta trenutek? ali Ali sprašujete za ponedeljek o vremenu?). . End Izjave, s katerimi uporabnik konča dialog (npr. Ne, nimam več vprašanj, ali Hvala, to bi bilo vse.). 2 Eksperiment Čarovnik iz Oza 17 . Query-yn Vprašanja, na katera je mogoče odgovoriti z da ali ne in ne sodijo v kategorijo Check ali Align potez (npr. Ali bo deževalo? ali Potem me pa zanima, če je burja v Novi Gorici.). . QUERY-WR Vprašanja po določenih informacijah ali pojasnilih. V to kategorijo sodijo tudi vsa vprašanja, ki ne spadajo v nobeno od ostalih kategorij (npr. Mi lahko poveste, kakšno bo v naslednjih dneh v hribih vreme? ali Kateri kraj oziroma katera pokrajina vas zanima?). . QUERY-WI Izjave, s katerimi uporabnik prosi sistem, naj mu našteje vse vrste podatkov za določen kraj in določen časovni trenutek, do katerih trenutno dostopa (npr. Zanima me, kakšne informacije imate o razmerah na smučišču Vogel.). . QUERY-WL Izjave, s katerimi uporabnik prosi sistem, naj mu našteje vse pokrajine in kraje v nekem območju, za katere lahko ponudi določeno vrsto podatka ob določenem časovnem trenutku (npr. Zanima me, za katere kraje v Sloveniji imate podatke o višini snega.). . QUERY-WT Izjave, s katerimi uporabnik prosi sistem, naj mu našteje vse časovne trenutke, za katere lahko ponudi določeno vrsto podatka za določeno pokrajino ali kraj (npr. Zanima me, za koliko naprej lahko napoveste vreme.). V skladu s kategorijami začetnih konverzacijskih potez smo udejanjili naslednje kategorije odzivnih potez: . Acknowledge Odzivi, s katerimi uporabnik ali sistem minimalno pokažeta, da sta potezo, na katero se odzivata, slišala in razumela (npr. A ne? ali Hvala.). . Reply-help Odzivi sistema na HELP potezo (npr. Sedaj me lahko vprašate še kaj v zvezi z mojim odgovorom ali pa mi zastavite novo vprašanje, če ga imate, ali Odgovarjati znam na vprašanja o vremenu, vetru, temperaturi in zračnem tlaku za različne kraje v Sloveniji in Evropi, o času vzhoda in zahoda sonca, o snežnih razmerah, o splošni vremenski napovedi, o biovremenski napovedi, o napovedi za letalstvo ter hidrološki napovedi za Slovenijo, o napovedi za slovensko Primorje ... in mogoče še o čem.). . Reply-timeout Odzivi sistema na TIMEOUT potezo (npr. Ali imate še kakšno vprašanje? ali Niste mi povedali vseh potrebnih podatkov ali pa jih nisem razumel. Ce vas zanima kaj drugega, vprašajte, sicer pa prosim odgovorite na naslednje vprašanje: Ali sprašujete za jutri čez dan?). 2 Eksperiment Čarovnik iz Oza 18 xy^^j Indecipherable game Indecipherable^"^ PardOIl gSlllt Help game Timeout game Interruption game Align game Check game Endgame Query-yn game Query-wrgame Query-wigame Query-wl game CHiery-wtgame Ready game raMe^A Help ^~\ Reply-help ^~\ Acknowledge ^~^ Timeout /"A Reply-timeout ^~\ Acknowledge f~~\ Quety-wr^f~\ Reply-wr A~^Acknowledge/~~A r~~\ Query-wi /~\ Reply-wi /~\ Acknowledge r~~~\ r~\ Query-wl ^f~~\ Reply-wl A~A Acknowledge/""^ Quety-wt ^~\ Reply-wt r~\ Acknowledge r~\ Ready ^^ Slika 2.1: Konverzacijske igre, udejanjene v modulu za vodenje dialoga v sistemu za podajanje informacij o vremenu. . REPLY-Y Odzivi z da na vprašanja, na katera je mogoče odgovoriti z da ali ne (QUERY-YN, Check, Align), ki pomenijo potrditev (npr. Da. ali J a, za ta trenutek ... če piha ali ne piha.). . Reply-n Odzivi z ne na vprašanja, na katera je mogoče odgovoriti z da ali ne (QUERY-YN, Check), ki pomenijo zanikanje (npr. Ne.). . Reply-mod Odzivi s popravkom na vprašanja, na katera je mogoče odgovoriti z da ali ne 2 Eksperiment Čarovnik iz Oza 19 (Query-yn, Check, Align) (npr. Ne, sprašujem za Kope, Pohorje, ali Ne, za prejšnji teden.). . Reply-wr Odzivi na Query-wr poteze (npr. V Sloveniji jutri čez dan - najvišje dnevne temperature bodo od 2 do 5 stopinj Celzija. Imate še kakšno vprašanje? ali Kranjska Gora.). . Reply-wi Odzivi sistema na Query-WI poteze (npr. Za ta trenutek na Voglu vam lahko ponudim podatke o vremenu, temperaturi zraka, višini novozapadlega snega, skupni višini snega in hitrosti vetra. Ali vas kakšna od teh informacij zanima?). . REPLY-WL Odzivi sistema na QUERY-WL poteze (npr. Podatke o skupni višini snega za Slovenijo za ta trenutek imam za Vojsko, za Rateče, za Vernerico, za Krvavec, za Kanin, za Kredarico, za Predel in za Vogel. Torej, ali vas sedaj zanima kakšen od teh krajev?). . REPLY-WT Odzivi sistema na QUERY-WT poteze (npr. Podatke o temperaturi zraka za Slovenijo imam za danes čez dan, za jutri zjutraj in za jutri čez dan. Želite, da vam podam informacijo za kakšnega od naštetih časovnih trenutkov?). Na osnovi naštetih konverzacijskih potez smo definirali 15 konverzacijskih iger, za vsako od 14 začetnih potez in potezo pripravljenosti po eno, namreč: GREETING GAME, INDECIPHERABLE game, Pardon game, Help game, Timeout game, Interruption game, Align game, Check game, End game, Query-yn game, Query-wr game, Query-wi game, Query-wl game, Query-wt game in Ready game. Sestavljene so iz konverzacijskih potez, udejanjene pa kot rekurzivne mreže prehodov (slika 2.1), tj. kot diagrami oz. načrti, sestavljeni iz prehodov, ki predstavljajo kon-verzacijske poteze, te pa ustrezajo dejanjem. Rekurzivne mreže prehodov so bolj kompleksne od končnih avtomatov, saj lahko eno mrežo poljubno gnezdimo v drugi, če cilj konverzacijske igre, ki je predstavljena z notranjo mrežo, služi dosegu cilja igre, ki je predstavljena z zunanjo mrežo. Lastnost, ki izrazito vpliva na uporabnost in zato tudi na uspešnost sistemov za dialog, je sposobnost obvladovanja raznolikih konverzacijskih strategij. Ta vsebujejo osnovna ravnanja, kot so preverjanja in potrditve, prevzemanje pobude, nudenje ustrezne pomoči uporabniku, ponovitev zadnje izjave, prekinitev dialoga in ponovna vzpostavitev konteksta. Predstavljen modul za vodenje dialoga, ki bo del sistema za podajanje informacij o vremenu [Žibert-2003], podpira vse omenjene konverzacijske strategije, te pa so udejanjene kot konverzacijske igre. Nepogrešljive pri vzpostavljanju konteksta so konverzacijske igre Check game, ki se nanašajo na zgodovino dialoga. V teh igrah sistem uporabnika prosi, naj potrdi predpostavke, do katerih je prišel na podlagi prejšnjih konverzacijskih dejanj. Vhod v modul za vodenje dialoga je pomenska predstavitev uporabnikove izjave, ki je sestavljena iz imena konverzacijske poteze in elementov ustreznih predalčkov. Tipi 2 Eksperiment Čarovnik iz Oza 20 predalčkov so zelo odvisni od domene oz. sestave podatkovne zbirke, do katerih dostopa-mo. Omenili smo že, da smo v primeru domene vremenskih podatkov definirali tri tipe predalčkov, podatek o kraju, podatek o času in vrsto informacije, pri čemer je množica predalčkov, ki jih sistem mora zapolniti, preden se lahko odzove, odvisna od pomena uporabnikove izjave oz. tipa konverzacijske poteze. Pri izjavah, ki ustrezajo potezam Query-yn in Query-wr, je treba zapolniti vse tri predalčke, pri izjavah, ki ustrezajo potezam Query-WI, le predalčka podatek o kraju in podatek o času, pri Query-WL le predalčka podatek o času in vrsta informacije, če se želimo omejiti na določeno območje, pa tudi podatek o kraju, pri Query-WT pa le podatek o kraju in vrsta informacije. Pri potezi Align, razen zapolnitve vsaj enega predalčka, ni omejitev, saj se uporabnik sam odloča, kaj želi preveriti. Ko pa se uporabnik s potezo Reply-WR odziva na vprašanje Query-wr, ki mu gaje zastavil sistem, so število in tipi potrebnih predalčkov odvisni od vprašanja. Vse ostale možne poteze uporabnika ne zahtevajo zapolnitve nobenega predalčka. Primer dialoga med uporabnikom in sistemom je v tabeli 2.4 podan v naravnem jeziku, spodaj pa je ta dialog preveden v pomenske predstavitve izjav, ki so bile vhod v modul za vodenje dialoga, s katerim je čarovnik komuniciral z uporabo posebnega vmesnika. Greeting game SI: (Greet) Dober dan. Pogovarjate se s sistemom za podajanje informacij o vremenu. Kakšno je vaše vprašanje ? QUERY-WR GAME Ul: Query-wr kraj: Slovenija čas: jutri podnevi podatek: vreme S2: (REPLY-wr) V Sloveniji jutri čez dan - padavine bodo ponehale, delno razjasnitve. Želite vedeti še kaj? Ready game U2: Ready QUERY-WR GAME U2: QUERY-WR kraj: gore čas: - podatek: vreme Check game S3: (Check) Ali sprašujete za jutri čez dan? Help game U3: Help S4: (Reply-help) Niste mi povedali vseh potrebnih podatkov ali pa jih nisem razumel. Ce vas zanima kaj drugega, vprašajte, sicer pa prosim odgovorite na naslednje vprašanje. Ali sprašujete za jutri čez dan? U4: Reply-mod čas: trenutno 2 Eksperiment Čarovnik iz Oza 21 S5: (Reply-WR) 0 vremenu v gorah ta trenutek žal nimam podatkov. Imam pa podatke o vremenu ta trenutek na Kredarici, na Voglu, na Kaninu, na Krvavcu in v Predelu. Potem lahko izbirate med podatki o vremenu v gorah za danes čez dan in jutri čez dan. Izbirate lahko tudi med podatki o vremenski napovedi v gorah ta trenutek. QUERY-WR GAME U5: QUERY-WR kraj: Vogel čas: -podatek: -Check game S6: (Check) Ali sprašujete za ta trenutek o vremenu? U6: Reply-y S7: (REPLY-WR) Na Voglu ta trenutek - megla. Vam lahko še kako pomagam? Ready game U7: Ready QUERY-WR GAME U7: QUERY-WR kraj: Vogel čas: trenutno podatek: temperatura, skupna višina snega S8: (REPIY-WR) Na Voglu ta trenutek - skupna višina snega je 180 centimetrov, temperatura zraka je -7 stopinj Celzija. Imate še kakšno vprašanje? Ready game _________U8: Ready QUERY-WI GAME U8: QUERY-WI kraj: Ljubljana čas: trenutno S9: (Repiy-WI) Za ta trenutek v Ljubljani vam lahko ponudim 9 vrst informacij kot na primer podatek o vremenu, vlažnosti zraka, temperaturi zraka, hitrosti vetra, smeri vetra, vrednosti zračnega tlaka, indeksu požarne ogroženosti, vrsti požarne ogroženosti in tako naprej. Ali vas kakšna od teh informacij zanima? End game _________U9: End Greeting game S10: (Greet) Hvala lepa za sodelovanje. Na svidenje. Ta primer dialoga ponazarja udejanjenje številnih konverzacijskih strategij: dve igri Greeting game, ki se začneta na pobudo izjav SI in S10; štiri igre Query-wr GAME, ki se začnejo na pobudo izjav Ul, U2, U5 in U7; dve igri CHECK GAME, ki se začneta na pobudo izjav S3 in S6; HELP GAME se začne na pobudo izjave U3; QUERY-Wl GAME se začne na pobudo izjave U8; End GAME se začne na pobudo izjave U9; tri igre READY GAME pa uvajajo začetki izjav U2, U7 in U8 ter dialog pripravljajo 2 Eksperiment Čarovnik iz Oza 22 na začetek nove igre. Odzivna konverzacijska poteza Reply-WR, pripisana izjavi S5, kaže, kako sistem uporabnika usmerja k izbiri relevantnih, dosegljivih podatkov, ko ne najde točnega odgovora na uporabnikovo vprašanje. Zue in sodelavci [Zue-2000] trdijo, da je eden od odločilnih vidikov uporabnosti sistemov za dialog sposobnost uporabnika informirati o obsegu znanja, ki ga sistem ima. Uporabnik preprosto mora imeti možnost vprašati in celo biti usmerjen k izbiri relevantnih, dosegljivih podatkov, ko sistem ni sposoben odgovoriti na njegovo vprašanje. Le tako bo namreč sposoben zgraditi dober pojmovni model sistema. V našem modulu za vodenje dialoga to potrebo delno zadovoljimo z udejanjenjem konverzacijskih iger Query-wi game, Query-wl game in Query-wt game, ki poleg tega dodatno strukturirajo dialog. Po drugi strani pa usmerjanje uporabnika k izbiri relevantnih, dosegljivih podatkov v veliki meri podpira tudi predstavitev znanja, predstavljena v razdelku 2.5. 2.5 Sodelujoča podatkovna zbirka Podatkovni model sodelujoče podatkovne zbirke, uporabljene v drugem eksperimentu Čarovnik iz Oza, temelji na intuicionistični modalni logiki [Huth-2004]. Modalna logika poleg klasičnih izjavnih veznikov uporablja modalne operatorje (enomestne izjavne veznike), s pomočjo katerih je sposobna izraziti eno ali več oblik resnice, denimo biti nujno res, vedeti, da je res, verjeti, da je res in biti res v prihodnosti. Idejo uporabljati modalno logiko za sklepanje o znanju je uvedel Jaakko Hintikka [Hintikka-1975]. Najbolj znana modalna operatorja sta D in 0, ki ju v osnovni modalni logiki beremo škatla in diamant. Ko modalno logiko uporabimo za izražanje različnih oblik resnic, omenjena modalna operatorja imenujemo dani resnici primerno, npr. nujno in mogoče, ali v primeru izražanja znanja agenta, agent ve in agent ne izključuje veljavnosti. Modeli M. = (W,R, V) osnovne modalne logike so določeni z: množico W, katere elemente imenujemo svetovi, 2. relacijo R na množici W, ki jo imenujemo relacija dosegljivosti, wRv pa beremo kot svet v je dosegljiv iz sveta w, 3. funkcijo V, ki jo imenujemo funkcija pripisovanja veljavnosti in slika svetove v množice izjavnih spremenljivk, pri čemer p G V(w) pomeni, da ima izjavna spremenljivka p v svetu w resnično vrednost. V čast Saula Kripkeja, ki je v 50. in 60. letih prejšnjega stoletja močno zaznamoval modalno logiko, take modele ponavadi imenujemo Kripkejevi modeli ali Krip-kejeve semantike možnih svetov. Veljavnost izjav v svetovih Kripkejevih modelov M. = (W,R,V) opišemo z relacijo lhy (definicija 2.1). Definicija 2.1. Naj bo M. = (W,R,V) model osnovne modalne logike, w G W, T in _L običajni konstanti resnica in laž, p izjavna spremenljivka, A in B pa izjavi. Relacija 2 Eksperiment Čarovnik iz Oza 23 1. w Ihy T 2. wYv J_ 3. W Ihy P čee 4- w Ihy -A čee 5. w\\-v AAB čee 6. w Ihy A VB čee 7. w \\-v A => B čee 8. whv A^ B čee 9. w Ihy DA čee 10. w Ihy OA čee Ihy (w \\~v A beremo kot v svetu w G W velja A) je najmanjša relacija med svetovi in izjavami, ki izpolnjuje naslednje pogoje: p G V(w) wYv A w Ihy A in w Ihy B w \\~v A ali w \\~v B iz w \\-y A sledi w Ihy B w \\-y A natanko tedaj, ko w Ihy B \/v eW: (iz wRv sledi v Ihy A) 3v eW: (wRv in v Ihy A) Prva dva pogoja pravita, da T vedno velja, _L pa nikoli. Iz naslednjega pogoja sledi, da je V(w) množica vseh izjavnih spremenljivk, ki so v svetu w veljavne. Pogoji, ki se nanašajo na nemodalne izjavne veznike (->, A, V, =^> in <=?-), zrcalijo klasično razumevanje teh veznikov v danem svetu. Neoajna sta le pogoja za D in O- Prvi od njiju pravi, da je izjava DA v svetu w resnična, če je izjava A resnična v vsakem svetu, ki je z relacijo R dosegljiv iz sveta w. Drugi pa pravi, da je izjava in <=?-), je v klasični modalni logiki določena lokalno in neodvisno od ostalih svet. Ko pa izjava vsebuje katerega izmed modalnih operatorjev (npr. D ali 0), je njena resničnost v posameznem svetu odločilno odvisna od ostalih možnih svetov. Pravimo, da je izjava A osnovne modalne logike veljavna, če je veljavna v vsakem svetu vsakega modela, in izjava A je veljavna v modelu M. = (W, R, V), če je veljavna v vsakem svetu w G W. Množice veljavnih izjav, pripadajočih različnim interpretacijam modalnega operatorja D, se med seboj razlikujejo [Hajdinjak-2004a], saj formalizirajo različne oblike resnice. Izjave, ki so veljavne v osnovni modalni logiki, so sicer veljavne tudi v vseh drugih modalnih logikah, ki izvirajo iz različnih interpretacij modalnega operatorja D. Na ravni Kripkejevih modelov pa vsaki interpretaciji pripada ustrezna interpretacija relacije dosegljivosti R, ki je v nekaterih primerih po potrebi lahko npr. tudi refleksivna ali tranzitivna. Klasično logiko brez Aristotelovega zakona o izključeni tretji možnosti A V ->A, a z zakonom o nasprotovanju ->A AA4-B, imenujemo intuicionistična logika, oega pa principe logičnega sklepan, ki jih je leta 1907 začel uporabljati L. E. J. Brouwer, ko je razvijal svojo intuicionistično matematiko [Troelstra-www]. Principi, ki jih je začel uporabljati Brouwer, so podvrženi tudi ruski rekurzivni analizi in konstruktivni analizi E. Bishopa in njegovih naslednikov, zato lahko na intuicionistično logiko gledamo kot na temelje konstruktivne matematike. V intuicionistični logiki lahko z gotovostjo trdimo, da objekt z določeno lastnostjo obstaja šele, ko poznamo učinkovito metodo konstrukcije oz. iskanja takega objekta. 2 Eksperiment Čarovnik iz Oza 24 Znamenita izjava še bolj znamenitega intuicionista Arenda Heytinga se glasi, da razložiti formulo ne pomeni podati pogoje resničnosti, ampak pogoje dokazljivosti. To izraža intuicionistična razlaga izjavnih veznikov -i in V, ki se od razlage klasične logike razlikuje. Izjavi A in -i->A zaradi izključitve onjenega Aristotelovega zakona nista ekvivalentni, interprea izjave A V B pa je veliko močnejša. Nasprotujoča si podatka A in -iA lahko v intuicionistični modalni logiki predstavimo kot ()A in (}A, kar pomeni, da -opuščamo obe možnosti. Modele intuicionistične modalne logike, kjer D in 0 beremo kot nujno in mogoče, dobimo, tako da v M. = (W, R, V) dodamo relacijo < delne urejenosti (refleksivna, anti-simetrična in tranzitivna) svetov, ki je s pogojem (wRv in v < v') =>- 3w' G W: (w'Rv' in w < w') povezana z obstoječo relacijo R, za funkcijo pripisovanja veljavnosti V pa zahtevamo lastnost monotonosti, tj. iz w < v mora slediti V(w) C V (v). Izjavne spremenljivke intuicionistične modalne logike lahko pojmujemo kot monotone resnice - ko je v nekem svetu izjavna spremenljivka resnična, je resnična tudi v vseh, iz tega sveta z relacijo < dosegljivih svetovih. Lema o monotonosti pa pravi, da so tudi ostale izjave monotone resnice. Dialog mlPC Kripkejeve modele (definicija 2.2), na katerih temelji podatkovni model sodelujoče podatkovne zbirke, uporabljene v drugem sistemu Čarovnik iz Oza, dobimo tako, da zbirko vremenskih podatkov pretvorimo v množico svetov W = W1 U W2. Prvo podmnožico svetov W1 dobimo tako, da vsaki izjavni spremenljivki pij priredimo svet W1ij G W1, v katerem je pij, ki jo imenujemo vodilna atomarna izjava, veljavna. Drugo podmnožico svetov W2 dobimo, tako da v svetove iz W1 dodamo veljavnost vsaj ene dodatne izjavne spremenljivke, tj. omejitev, pri čemer se noben par atomarnih izjav (vodilna atomarna izjava in omejitve) ne nanaša na isti predalček. Te atomarne izjave ne obravnavamo tako kot ostale izjave, saj kljub temu da natanko določajo zakone danega sveta, ne vsebujejo informacije o dosegljivosti oz. relevantnosti posameznih delčkov informacij. Atomarne izjave se navezujejo na sestavne dele uporabnikovega vprašanja, ostale izjave, ki so sestavljene iz . izjavnih spremenljivk pij, . konstant _L in T, . klasičnih izjavnih veznikov A, V, - in =^> ter . modalnih operatorjev spodnji diamant v in zgornji diamant A, pa dosegljivost in relevantnost vremenskih informacij opisujejo tako, da je sistem sposoben uporabnika usmerjati k izbiri informacij, ki se glede na vprašanje zdijo smiselne. Vpeljane modalne operatorje interpretiramo takole: ¦ V^4 pomeni, da je A dosegljivo in relevantno, vendar manj specifično; . AA pomeni, da je A dosegljivo in relevantno, vendar bolj specifično. 2 Eksperiment Čarovnik iz Oza 25 Na množici svetov W definiramo refleksivno in tranzitivno relacijo dosegljivosti R, kjer . wRv pomeni, da je svet v bolj specifičen oz. dosegljiv iz sveta w, tj. množici atomarnih izjav svetov w in v se razlikujeta le v vodilni atomarni izjavi, pri čemer je vodilna izjava sveta v bolj specifična od vodilne atomarne izjave sveta w, in relacijo delne urejenosti (refleksivna, antisimetrična, tranzitivna) <, kjer . w < v pomeni, da je množica atomarnih izjav sveta w podmnožica množice atomarnih izjav sveta v. Relacija R temelji na vnaprej definirani refleksivni in tranzitivni relaciji biti manj specifičen, ki povezuje manj specifične oz. splošnejše delčke informacij, navezujoče se na isti predalček, z bolj specifičnimi. Usmerjene Hassejeve diagrame teh relacij, kjer vozlišča ustrezajo posameznim delčkom vremenskih informacij, na katerih je temeljil drugi sistem Čarovnik iz Oza, usmerjene povezave pa vzpostavljenim relacijam, prikazujejo slike 2.2, 2.3, 2.4 in 2.5. Relacija R tedaj povezuje svetova, katerih množici atomarnih izjav se razlikujeta le v vodilni atomarni izjavi, ti pa sta v relaciji biti manj specifičen. Kripkejeve modele, ki jim taka predstavitev znanja zadošča, smo poimenovali dialog mlPC Kripkejevi modeli. Definicija 2.2. Dialog mlPC Kripkejevi modeli so strukture M. = (W, <, R, lh), kjer je (W, <) neprazna, delno urejena množica svetov, R je refleksivna in tranzitivna relacija na W, ki za w,w',v,v' G W zadošča 0 ** iz wRv in v < v' sledi 3w' eW iz w < v in vRv' sledi 3w' eW iz w < v in wRv' sledi 3w' eW iz v < w in v'Rw sledi 3w' eW (w'Rv' in w < w'), (wRw' in w' < v'), (vRw' in v' < w'), (w'Rv in w' < v'), I h pa je dvomestna relacija med svetovi in izjavami (w I h A beremo kot izjava A je v svetu w veljavna), da za poljubni izjavi A in B, izjavno spremenljivko p, ter svetova w in v velja: v I h p (monotonost izjavnih spremenljivk) \/veW:(izw jutri podnevi) (od 13 do 17) ^Slovenija^^ podnevi => temperatura) (od 13 do 17) Svet Slovenija pa vsebuje izjave: Slovenija temperatura =/- jutri podnevi (od 13 do 17) jutri podnevi =/- temperatura (od 13 do 17) AL^'ana(temperatura ^ trenutno) (15) AL-?u6^ana(trenutno => temperatura) (15) AL-?u6'-?ana(temperatura => danes zvečer) (10) /\Ljubijana^anes zveger =^ temperatura) (10) Pri tem smo modalnima operatorjema \j in A dodali indeks atomarnih izjav (\jslovenva oz. /\Liubliana)} ki pove, na kateri relevanten svet se izjava nanaša, dejansko informacijo (npr. opis temperature) pa smo zapisali v oklepajih na koncu izjave. Primer 2.5. V mislih imejmo primer 2.4 in predpostavimo, da uporabnika zanima jutrišnja temperatura v Ljubljani. Sistem (ko nima zahtevane informacije) uporabnika usmerja k izbiri dosegljivih, relevantnih podatkov, tako da ponudi relevantne kraje ali relevantne časovne trenutke, za katere je sposoben podati zahtevano informacijo. Relevantne kraje izbere tako, da se iz sveta Ljubljana premakne v svet, katerega dodatna omejitev je temperatura. Svetova Ljubljana in Slovenija iz primera 2.4 tako preideta v svetova Ljubljana-temperatura in Slovenija-temperatura, ki ju dobimo tako, da množici prvotnih izjav dopolnimo z omejitvijo temperatura in uporabimo pravila sklepanja iz izreka 2.3. Pri tem je Ljubljana < Ljubljana-temperatura in Slovenija < Slovenija-temperatura. V svetu Ljubljana-temperatura so veljavne naslednje izjave: 2 Eksperiment Čarovnik iz Oza 30 Ljubljana, temperatura temperatura =>- trenutno (15) trenutno =>- temperatura (15) temperatura =/- danes zvečer (10) danes zvečer =/- temperatura (10) v5Wenya-Jempem«um(temperatura ^ jutri p0(inevi) (od 13 do 17) ^siovenija-temperatura^^ p0(}nevi => temperatura) (od 13 do 17) Naslednje končne izjave dobimo s pomočjo pravil sklepanja iz izreka 2.3. trenutno (15) danes zvečer (10) ySlovenija-temperatura-]uivi podnevi (od 13 do 17) Dane izjave nazorno kažejo, da ima sistem podatke o trenutni temperaturi v Ljubljani in o temperaturi v Ljubljani danes zvečer, dosegljiv pa je tudi podatek o jutrišnji temperaturi v Sloveniji, kar je zagotovo relevantno, saj sta izjavni spremenljivki oz. vodilni atomarni izjavi Slovenija in Ljubljana v relaciji biti manj specifičen (slika 2.2). Relevantne časovne trenutke pa sistem najde, tako da se premakne v svet jutri podnevi-Ljubljana, katerega vodilna atomarna izjava je jutri podnevi, dodatna omejitev pa Ljubljana. Svetovi jutri podnevi, trenutno in danes zvečer tedaj preidejo v svetove jutri podnevi-Ljubljana, trenutno-Ljubljana in danes zvečer-Ljubljana. Pri tem je jutri podnevi < jutri podnevi-Ljubljana, trenutno < trenutno-Ljubljana in danes zvečer < danes zvečer-Ljubljana, v svetu jutri podnevi-Ljubljana veljajo naslednje izjave: jutri podnevi, Ljubljana temperatura =/- Slovenija (od 13 do 17) Slovenija =/- temperatura (od 13 do 17) A*rentt'no-iJ'ttWJono(temperatura => Ljubljana) (15) ^trenutno-Ljubljana^^^ ^ temperatura) (15) S7trenutno-Ljubl3ana^empemtma ^ Ljubljana) (15) vtren««n0-L;«W;ana(Ljubljana ^ temperatura) (15) AdaneS zvečer-Ljubljana ^empemtmSi ^ Ljubljana) (10) Adanes OTecer-L;«^ana(Ljubljana => temperatura) (10) ^danes zvečer-Ljubljana ^empemtmSi ^ Ljubljana) (10) vdanes zvečer-Ljubljana^-^^ ^ temperatura) (10) Naslednje končne izjave dobimo s pomočjo pravil sklepanja iz izreka 2.3. Atrenu«n0-L;uW;anatemperatura ^ ^trenutno-Ljubljanatempemtmdi ^ Adanes «;e&r-Ljtt6(janotemperatura (jg) ^danes *»e&r-Ljtt6Jjanatemperatura (W) 2 Eksperiment Čarovnik iz Oza 31 Vidimo, da so podatki o trenutni temperaturi v Ljubljani in o temperaturi v Ljubljani danes zvečer relevantni, saj sta izjavni spremenljivki jutri podnevi in trenutno ter izjavni spremenljivki jutri podnevi in danes zvečer v obojesmerni relaciji biti manj specifičen (slika 2.4)- Omenimo še, kdaj svet w vsebuje izjavo ->A in kako se sistem v tem primeru odziva. Izjava A pomeni, da izjava A ne velja v enem svetu v, ki je z relacijo < dosegljiv iz sveta w. Taki svetovi v > w vsebujejo vse atomarne izjave sveta w in vsaj eno dodatno omejitev. Izjava - -L), iz česar po enem od aksiomov intuicionističnega i-vnega računa izpeljemo laž _L. Ogrodje PARADISE 3.1 Uvod 3.2 Predstavitev ogrodja PARADISE 3.3 Analiza ogrodja PARADISE Opišemo potencialno splošno metodologijo vrednotenja učinkovitosti sistemov za dialog, namreč ogrodje PARADISE (PARAdigm for Dialogue System Evaluation), ki omogoča izpeljavo ocene učinkovitosti sistema kot uteženo linearno kombinacijo parametrov uspešnosti naloge in cen dialoga. Model učinkovitosti sistema, ki ga zajema ogrodje PARADISE, trdi, da lahko funkcijo učinkovitosti določimo z uporabo multiple linearne regresije (MLR) z zadovoljstvom uporabnikov kot neodvisno spremenljivko. Osredotočimo se na nekatere pomanjkljivosti, težave in nerešena vprašanja ogrodja PARADISE. Podrobno opišemo vpliv normalizacije na natančnost napovedovanja zadovoljstva uporabnikov, izpostavimo predpostavke, katerih izpolnitev zahteva multipla linearna regresija, poudarimo pomembnost dobre izbire regresijskih parametrov, opozorimo na nepravilnosti pri merjenju zadovoljstva uporabnikov ter predlagamo način zbiranja podatkov, ki zmanjša vpliv razpoznavanja govora in okrepi vplive ostalih parametrov funkcije učinkovitosti. 33 3 Ogrodje PARADISE 34 3.1 Uvod Z razvojem sistemov za dialog se pojavljajo tudi potrebe po vrednotenju učinkovitosti in medsebojni primerjavi takih sistemov. Težava, ki se pojavi, je ta, da vrednotenja učinkovitosti sistema za dialog ni mogoče omejiti na primerjave z referenčnimi odgovori oz. referenčnimi poteki dialogov [Bates-1991, Polifroni-1992, Price-1992]. Množica sprejemljivih dialogov je namreč lahko zelo velika. Naslednja težava je veliko število potencialnih metrik dialoga. Sistem za dialog lahko npr. vrednotimo glede na njegovo sposobnost pomagati uporabnikom pri doseganju ciljev, glede na njegovo robustnost odkrivanja in premagovanja napak, ki se pojavljajo pri razpoznavanju oz. razumevanju govora, ali glede na skupno kakovost interakcije [Polifroni-1992, Price-1992, Danieli-1995, Sparck-Jones-1996], ki jo omogoča. Predlogi vrednotenja učinkovitosti sistemov za dialog, ki so se pojavili v zadnjih dveh desetletjih dvajsetega stoletja, se osredotočajo na razvoj različnih metrik dialoga. Predlagani so bili številni objektivni parametri dialoga [Price-1992, Danieli-1995, Smith-1997] kot npr. . število izjav, . čas dialoga, . povprečni čas odziva uporabnika, . povprečni čas odziva sistema, . delež izjav, sestavljenih iz več kot ene besede, . povprečna dolžina izjav, sestavljenih iz več kot ene besede, kijih lahko določimo brez mnenja človeka, in parametri, ki temeljijo na mnenju človeka, namreč subjektivni parametri dialoga [Shriberg-1992, Danieli-1995, Boyce-1996] kot npr. . delež izjav, s katerimi sistem popravlja napake, . delež kontekstno primernih izjav sistema, . hevristično vrednotenje stopnje sodelovanja sistema na podlagi Griceovih maksim [Grice-1975], . delež pravilnih in delno pravilnih odgovorov, . delež primernih in neprimernih izjav, s katerimi sistem usmerja uporabnika, . zadovoljstvo uporabnika [Shriberg-1992]. Izkaže pa se, da lahko kombinacija različnih parametrov pri vrednotenju učinkovitosti sistemov za dialog pripelje do težav. V [Danieli-1995] podana primerjava dveh sistemov za podajanje informacij o železniških povezavah na primer kaže, da lahko en sistem sicer 3 Ogrodje PARADISE 35 omogoča več uspešno končanih dialogov in povzroča manj neustreznih in popravnih izjav, dialogi z drugim sistemom pa so zato lahko za polovico krajši. V opisanem primeru ni bilo mogoče ugotoviti, kateri od sistemov je bolj uporaben. Z namenom omogočiti primerjavo sistemov z različnimi domenami, kjer je pomembno vedeti, v kolikšni meri posamezni parametri vplivajo na učinkovitost in kako strategija vodenja dialoga vpliva na zadovoljstvo uporabnikov, je bilo leta 1997 kot potencialna splošna metodologija vrednotenja učinkovitosti sistemov za dialog predlagano ogrodje PARADISE (PARAdigm for Dialogue System Evaluation) [Walker-1997a]. Ko bomo govorili o strukturi dialoga, bomo uporabljali pojma konverzacijskih iger in konverzacijskih potez, ki smo ju definirali v poglavju 2. Tudi če dialoga ne modeliramo s konverzacijsko teorijo iger, lahko o zaključenih delih dialoga govorimo kot o konverzacijskih igrah in o posameznih govornih dejanjih kot o konverzacijskih potezah. 3.2 Predstavitev ogrodja PARADISE Ogrodje PARADISE omogoča izpeljavo ocene učinkovitosti sistema kot uteženo linearno kombinacijo parametrov uspešnosti naloge in cen dialoga, zajema pa model učinkovitosti sistema (slika 3.1), ki za osnovni cilj postavlja maksimirati zadovoljstvo uporabnikov, kar doseže z maksimiranjem parametrov uspešnosti naloge in minimiranjem cen dialoga. Maksimirati zadovoljstvo uporabnikov Maksimirati uspešnost naloge ^_________ Minimirati cene dialoga Parametri učinkovitosti Parametri kvalitete Slika 3.1: Model učinkovitosti sistema za dialog, ki ga zajema ogrodje PARADISE. Zadovoljstvo uporabnikov ponavadi merimo z vprašalniki, v katerih uporabniki podajo stopnjo strinjanja z izjavami o različnih vidikih svoje interakcije s sistemom za dialog. Avtorice ogrodja PARADISE [Walker-1997a] v ta namen uporabljajo vprašalnik, podan v tabeli 3.1. Vprašanja (v naštetem vrstnem redu) sprašujejo po učinku modula za tvorjenje govora, učinku modula za razpoznavanje govora, težavnosti pridobivanja informacij, hitrosti interakcije, izkušenosti uporabnikov, ustreznosti odzivov 3 Ogrodje PARADISE 36 sistema, pričakovanem obnašanju sistema in načrtovani rabi sistema v prihodnosti. Večino odgovorov podajo opisno kot skoraj nikoli, redko, včasih, pogosto in skoraj vedno, nekatere pa le z da, ne in mogoče. Te potem preslikajo v množico naravnih števil od 1 do 5, pri čemer 1 pomeni najmanjšo, 5 pa največjo stopnjo strinjanja. Parameter, ki ocenjuje zadovoljstvo uporabnikov, dobijo kot vsoto vseh ocen in ga poimenujejo zadovoljstvo uporabnika (US). 1. Ali ste sistem brez težav razumeli? (TTS) 2. Ali vas je sistem razumel? (ASR) 3. Ali ste brez težav prišli do odgovorov na vaša vprašanja? (TE) 4. Ali je bila hitrost interakcije s sistemom primerna? (IP) 5. Ali ste na vsakem koraku dialoga vedeli, kaj morate povedati? (UE) 6. Ali se je sistem na vaše izjave odzival hitro (brez pojasnilnih vprašanj)? (SR) 7. Ali se je sistem obnašal tako, kot ste med dialogom od njega pričakovali? (EB) 8. Glede na vašo trenutno izkušnjo s sistemom, ali mislite, da boste sistem še kdaj poklicali? (FU) Tabela 3.1: Vprašalnik za ocenjevanje zadovoljstva uporabnikov, ki ga predlaga ogrodje PARADISE. Cene dialoga, tj. parametre dialoga, katerih minimizacija ugodno vpliva na zadovoljstvo uporabnikov, razdelimo v dve kategoriji: -w parametri učinkovitosti dialoga in -w parametri kakovosti dialoga. Parametri učinkovitosti dialoga (npr. število izjav, ki jih uporabnik potrebuje, da uresniči svojo namero, ali čas dialoga) merijo, kako učinkovito sistem uporabniku pomaga pri doseganju njegove namere. Parametri kakovosti dialoga (npr. kolikokrat mora uporabnik ponoviti svojo izjavo, da ga sistem razume, ali kakšen je čas čakanja na odziv sistema) pa zajemajo ostale vidike, ki lahko na zadovoljstvo uporabnika prav tako močno vplivajo. Ker vnaprej ni jasno, katere cene dialoga bodo najmočneje vplivale na zadovoljstvo uporabnikov, je pomembno, da v empiričnih raziskavah uporabljamo širok spekter teh parametrov [Walker-1998]. 3 Ogrodje PARADISE 37 KLJUČ kraj čas podatek ODGOVOR Krvavec Rogla trenutno vikend temp. vreme viš. snega kraj Krvavec 3 Rogla 1 1 čas trenutno vikend 2 1 2 podatek temp. 2 vreme viš. snega 2 1 15 4 1 2 3 2 2 1 Tabela 3.2: Primer kontingenčne tabele. Uspešnost naloge, ki se lahko nanaša na celoten dialog ali del dialoga, ki predstavlja zaključeno celoto, pomeni stopnjo ujemanja med vsebino zahtev uporabnika in dojemanjem te s strani sistema za dialog. Ogrodje PARADISE uporablja en sam parameter uspešnosti naloge, namreč Kappa koeficient [Carletta-1996b]. Kappa koeficient (k) izračunamo z uporabo Cohenove metode [DiEugenio-2004] in kontingenčne tabele, ki podaja ujemanje med vsebino zahtev uporabnika (ključ) in dojemanjem te s strani sistema (odgovor). Primer kontingenčne tabele prikazuje tabela 3.2. Vsako ujemanje ključa z odgovorom poveča število v pripadajoči diagonalni celici kontingenčne tabele za 1. Zunajdiagonalne celice ustrezajo neujemanjem, ki znotraj tekoče konverzacijske igre niso bila odpravljena. Začasna neujemanja, ki jih sogovornika znotraj tekoče konverzacijske igre uspešno odpravita, se kažejo le v cenah dialoga. Kappa koeficient, ki meri ujemanje opisov različnih označevalcev, izračunamo takole: = P(A) - P(E) 1-P(E) Pri tem verjetnost P(A) = Ln=1M^ izraža ujemanje ključa in odgovora v kontingenčni tabeli M z vsoto vseh števil tabele enako T, ki opisuje dialog z n konverzacijskimi igrami, n P(E) = L(i)2 i=1 pa je verjetnost pričakovanega ujemanja dveh različnih označevalcev, ki dane kategorije tabele izbirata z enako verjetnostjo, pri čemer je U vsota števil i-tega stolpca tabele. Če je verjetnost P (A) enaka verjetnosti pričakovanega ujemanja P(E), je k = 0, pri popolnem ujemanju, to je pri P (A) = 1, pa je k = 1. Če torej želimo sistem za dialog vrednotiti z ogrodjem PARADISE, moramo podatke zbrati v eksperimentu, v katerem bodo uporabniki ocenili svoje zadovoljstvo. Ostale parametre modela (parametri uspešnosti naloge, cene dialoga) pa je treba določiti samodejno ali jih ročno označiti. Model učinkovitosti sistema, ki ga zajema ogrodje PARADISE, trdi, da lahko funkcijo učinkovitosti sistema določimo z uporabo multiple linearne regresije (MLR) z zadovoljstvom uporabnikov kot neodvisno spremenljivko ter parametri uspešnosti naloge, 3 Ogrodje PARADISE 38 parametri učinkovitosti dialoga in parametri kakovosti dialoga kot neodvisnimi spremenljivkami: n Učinkovitost = aAf(n) — \^ WV(cj) i=\ Pri tem je a utež edinega parametra uspešnosti naloge, namreč Kappa koeficienta k, Wi so uteži cen dialoga q, N pa je funkcija normalizacije: N(x) = ^^ Z xo in aXo smo označili srednjo vrednost in standardni odklon spremenljivke xo v učni množici, pridobljeni v ustreznem eksperimentu. Srednja vrednost s funkcijo normalizacije N preslikanih parametrov učne množice je 0, varianca in standardni odklon pa 1. Tako se znebimo težav, ki se pojavijo, če primerjamo vrednosti parametrov, ki se raztezajo na različnih intervalih in/ali so njihove vrednosti različno razpršene. Z normalizacijo parametrov k in q dosežemo relevantnost in primerljivost uteži preslikanih parametrov Af(n) in Af(c\),... ,A/"(cra). Rezultat multiple linearne regresije na učni množici parametrov, ki praviloma tvorijo predoločen sistem, je torej množica uteži, ki pomenijo sorazmeren prispevek teh parametrov k učinkovitosti sistema. Funkcija učinkovitosti, ki jo uvaja ogrodje PARADISE, zato omogoča: -w napovedovanje zadovoljstva uporabnikov, -w vrednotenje učinkovitosti sistema za dialog, tj. ugotavljanje vpliva posameznih parametrov na zadovoljstvo uporabnikov, -w izboljšanje sistema za dialog, tj. odpravljanje ali zmanjšanje vpliva parametrov, ki imajo najbolj negativne uteži in povečanje vpliva parametrov, ki imajo najbolj pozitivne uteži, -w primerjavo različnih sistemov za dialog, tj. primerjavo vplivov posameznih parametrov v pripadajočih funkcijah učinkovitosti, iz katerih lahko razberemo razlike med sistemi, -w samodejno iskanje problematičnih dialogov, tj. iskanje dialogov, katerih napovedano zadovoljstvo uporabnikov negativno izstopa, ter -w spreminjanje strategije vodenja dialoga med samo interakcijo, tj. spreminjanje načina sporazumevanja na osnovi napovedanega zadovoljstva uporabnika v že izvedenem delu interakcije. V zadnjih letih je bilo opravljenih veliko študij učinkovitosti sistemov za dialog, ki so uporabljale ogrodje PARADISE [Walker-1998, Kamm-1998, Kamm-1999, Walker-2000, Litman-2002, Larsen-2003, Moller-2005, Hajdinjak-2005]. Ogrodje PARADISE je postala celo najbolj citirana metoda vrednotenja učinkovitosti sistemov za dialog. 3 Ogrodje PARADISE 39 3.3 Analiza ogrodja PARADISE Omenili smo že, da če želimo sistem za dialog vrednotiti z ogrodjem PARADISE, moramo podatke zbrati v eksperimentu, v katerem bodo uporabniki ocenili svoje zadovoljstvo z obnašanjem danega sistema za dialog. V eksperimentu pridobljene vrednosti odvisne spremenljivke zadovoljstvo uporabnika in izbranih neodvisnih spremenljivk (tj. parametrov uspešnosti naloge, parametrov učinkovitosti dialoga in parametrov kakovosti dialoga) tvorijo predoločen sistem linearnih enačb. Neznanke sistema so uteži normaliziranih parametrov modela učinkovitosti. Ogrodje PARADISE trdi tudi, da te uteži (in s tem funkcijo učinkovitosti) dobimo kot rezultat multiple linearne regre-sije. V eksperimentu pridobljene vrednosti tedaj predstavljajo učno množico modela učinkovitosti sistema za dialog. V nadaljevanju se bomo osredotočili na nekatere pomanjkljivosti, težave in nerešena vprašanja ogrodja PARADISE [Hajdinjak-2006]. Večina jih izvira ravno iz uporabe multiple linearne regresije. 3.3.1 Vpliv normalizacije na natančnost napovedovanja zadovoljstva uporabnikov Multipla linearna regresija temelji na metodi najmanjših kvadratov, tj. minimira vsoto kvadratov razlik med v eksperimentu pridobljenimi vrednostmi (tj. učne množice) in napovedanimi vrednostmi zadovoljstva uporabnikov. Za dano vrednost zadovoljstva uporabnika US torej velja M(US)=tf(US) + e, kjer je Af(US) normalizirana pridobljena vrednost zadovoljstva uporabnika, Af(US) napovedana normalizirana vrednost zadovoljstva uporabnika, e pa napaka napovedi. Ker je srednja vrednost napake e enaka 0 (razdelek 3.3.2), sta srednji vrednosti odvisne spremenljivke in njene napovedi enaki. Nenormalizirano zadovoljstvo uporabnika US lahko tedaj ocenimo kot US = J\f(US)aUS0 + US0 + eaUS0 = US + eaUS0, kjer sta US0 in <7jjs0 srednja vrednost in standardni odklon v eksperimentu pridobljenih vrednosti zadovoljstva uporabnikov. Vidimo, da se napaka ocene normaliziranega zadovoljstva uporabnika Af(US) pri tem poveča za faktor aus0- Kako dobro US napoveduje US, kaže razmerje absolutnih vrednosti njune razlike in pridobljene vrednosti zadovoljstva uporabnika US: Q(US, US) = lusl Naslednje razmerje pa kaže, da ocena normalizirane vrednosti zadovoljstva uporabnika 3 Ogrodje PARADISE 40 Af(US) ni vedno tako dobra kot ocena nenormalizirane vrednosti UŠ: (\r(TTQ\ \7f^\\ MUS)-tf(UŠ)\ \US-UŠ0-Srm°us0\ q{J\f{US),J\f{US)) _ \M(us)\ _ \us-us0\ _ \US\ qiUSUS) \US-US\ \US-M{US)aUSo-US0\ \US-USq\ \us\ ps\ Za US > ^y1 namreč velja: q(Af(US),Af(US)) \US\ q(US,US) \us-us0 > 1 Iz prikazanega sledi, daje napovedano normalizirano vrednost zadovoljstva uporabnika Af(US) treba transformirati nazaj na začetni interval, saj je ocena nenormalizirane vrednosti zadovoljstva uporabnika US v večini primerov veliko boljša. To naredimo s transformacijo US = N(US)aUs0 + UŠo, ki je inverzna normalizaciji. Ne samo da ustrezna literatura [Walker-1997a, Walker-1998, Kamm-1999, Walker-2000, Litman-2002, Larsen-2003] vplivu normalizacije ne posveča pozornosti, ampak tudi ne omenja, da je treba vrednosti zadovoljstva uporabnikov, preden začnemo izpeljavo modela učinkovitosti, normalizirati, če želimo preprečiti prevelike napake ocen [Demmel-1997]. V naših eksperimentih je bilo pogojenostno število problema najmanjših kvadratov več kot sedemkrat večje, ko vrednosti US nismo normalizirali. Obstaja več načinov merjenja natančnosti MLR modelov [Johnson-2002c]. Najpogosteje se uporablja koeficient (multiple) determinacije, ?2_Er=i(x,-x)2 Ri = ELi(Xš-x)*' tj. razmerje pojasnjene variance in celotne variance var(X), pri čemer smo z m označili število enačb učne množice. Celotna varianca je vsota pojasnjene variance in nepojasnjene variance: _. m ..m ..m var(X) = - V(X, - X) 2 = - V(X, - X) 2 + - V(X, - X,) 2 m *-^ m ¦*—* m ¦*—* i=i i=i i=i Nepojasnjena varianca oz. srednja kvadratna napaka, _. m -J](X,-X^ e2 = ±\^(T[.-TC.\2 m i=i je ravno količina, ki jo multipla linearna regresija minimira. Koeficient determinacije zavzame vrednosti med 0 in 1. Vrednosti, ki so bližje 1, pomenijo večjo natančnost modela, tj. boljšo linearno zvezo med odvisno spremenljivko in neodvisnimi spremenljivkami. Če koeficient determinacije R2 pomnožimo s faktorjem 100, rezultat imenujemo odstotek pojasnjene variance. 3 Ogrodje PARADISE 41 Izkaže se, da je v MLR modelu z normaliziranimi spremenljivkami koeficient determi-nacije R2 enak varianci napovedanih vrednosti: Efci(MUS,)-Af(US))2 m Pri tem smo z USi označili z-to komponento vektorja US pridobljenih vrednosti zadovoljstva uporabnikov, z A/"(USj) pa z-to komponento vektorja A/"(US) napovedanih normaliziranih vrednosti zadovoljstva uporabnikov. Zadnja enakost velja zato, ker je A/"(US), torej srednja vrednost napovedanih normaliziranih vrednosti zadovoljstva uporabnikov, enaka A/"(US) = 0. Zanimiva posledica te ugotovitve je, da so uteži funkcije učinkovitosti po absolutni vrednosti navzgor omejene z 1. Za MLR model x = ^2 ai^i namreč velja naslednje: n n n n var(X) = var( NajXi) = 2_, at + ^/, /, aiajCorr(X.i,'K.j), pri čemer je corri^,^) = -E^l(Xifc~Xi)(Xjfc~Xj) 0"XiO"Xj korelacija oz. korelacijski koeficient spremenljivk X; in Xj. Ker ima dvojna vsota v var(X) same nenegativne člene, sledi n 2 1 > R2 = var(N(US)) > a2 + J]< i=\ in zato napovedan rezultat za uteži funkcije učinkovitosti: M < i \wi\ < 1 za i = 1,..., n Velja, da je koren koeficienta determinacije R enak korelaciji spremenljivke X z njeno oceno X [Seber-1977]: R = corr(X, X) Če upoštevamo običajno pojmovanje visoke koreliranosti, tj. korelacijski koeficient, ki je po absolutni vrednosti večji od 0.7, to pomeni, da lahko šele pri R2 > 0.5 govorimo o zadovoljivi natančnosti MLR modela. Omenimo še en način merjenja natančnosti MLR modela, namreč F statistiko, imenovano tudi Snedecorjeva F statistika ali Fisher-Snedecorjeva statistika [Seber-1977, Hladnik-2002]: m ~ n E™i(X« - X)2 m — n R2 F = n-\ E™i(X,-X,)2 n-1 1-R 2 3 Ogrodje PARADISE 42 kjer je n število parametrov MLR modela, m pa število enačb danega predoločenega sistema. Snedecorjeva F statistika temelji na Snedecorjevi porazdelitvi z (n—l,m — n) prostostnimi stopnjami. F statistika zavzame nenegativne vrednosti. Večje vrednosti F statistike, ki ustrezajo večjim vrednostim koeficienta determinacije R2, pomenijo večjo natančnost modela. 3.3.2 Regresijske predpostavke Uporaba multiple linearne regresije pri reševanju predoločenega linearnega sistema zahteva izpolnitev naslednjih pogojev [Johnson-2002c]: 1. Linearnost spremenljivk: Obstajati mora približno linearna zveza med odvisno spremenljivko X na eni strani in neodvisnimi spremenljivkami Xi,..., Xn na drugi strani, tj. pričakovana vrednost oz. matematično upanje odvisne spremenljivke mora biti linearna funkcija neodvisnih spremenljivk. Indikator linearnosti med odvisno spremenljivko in neodvisnimi spremenljivkami modela je velik koeficient determinacije R2. Literatura o vrednotenju učinkovitosti sistemov za dialog z ogrodjem PARADISE v glavnem poroča o koeficientih determinacije R2, ki so blizu mejne vrednosti 0.5 [Kamm-1999, Walker-2000, Larsen-2003], pogosto precej nižje [Walker-1997b, Walker-1998, Walker-1999, Walker-2001a, Walker-2001b, Moller-2005], le redko pa presežejo vrednost 0.6 [Litman-2002]. 2. Neodvisnost spremenljivk: Noben par neodvisnih spremenljivk Xi,..., Xn ne sme biti preveč koreliran, tj. korelacijski koeficienti corr(Xi,Xj) morajo biti po absolutni vrednosti manjši od 0.7. Če to ni tako, je dobljen model lahko zelo občutljiv na majhne merske napake ali spremembe vrednosti neodvisnih spremenljivk. Temu pojavu rečemo multikolinearnost. Odvečne neodvisne spremenljivke je zato treba odstraniti iz MLR modela. Zaradi težnje k čim večji natančnosti modela je smiselno odstraniti tiste spremenljivke, ki so z odvisno spremenljivko v nižji korelaciji. Za napake dobljenega modela napovedovanja odvisne spremenljivke pa velja oz. mora veljati še naslednje: 3. NEPOŠEVNOST NAPAK: Srednja vrednost napake e je enaka 0. To je posledica metode najmanjših kvadratov, na kateri temelji linearna regresija. 4. HOMOSKEDASTIČNOST NAPAK: Varianca napake e mora biti po celotni učni množici enaka. V nasprotnem primeru je korelacija med odvisno spremenljivko in parametri modela lahko zavajajoče povprečje vzorcev višje in nižje korelacije. 5. Normalnost napak: Napaka e mora biti normalno porazdeljena slučajna spremenljivka. Zanimivo vrsto vzorcev predstavljajo t. i. osamelci. Tako imenujemo meritve, ki se nenavadno razlikujejo od velike večine ostalih meritev in zato nepredvidljivo vplivajo na natančnost modela [Tabachnick-1996]. Odstranitev osamelcev iz učne množice MLR modela je eden od običajnih regresijskih postopkov. 3 Ogrodje PARADISE 43 3.3.3 Pomembnost izbire regresijskih parametrov Ko izbiramo podmnožico parametrov oz. neodvisnih spremenljivk MLR modela, se zastavi vprašanje, zakaj ne bi vzeli vseh parametrov, ki jih lahko pridobimo. To se zdi smiselno predvsem zato, ker koeficient determinacije R2 s številom parametrov narašča. Izkaže pa se, da je uporaba vseh parametrov lahko neprimerna iz več razlogov: -w Pridobiti celotno množico parametrov je včasih težko, časovno zahtevno in/ali samodejno nemogoče. -w Če se omejimo na manj številnejšo množico parametrov, lahko to včasih bolj natančno določimo. -w Varčnost je pomembna lastnost dobrih modelov - modeli z manj parametri omogočajo boljši vpogled v odnose med regresijskimi spremenljivkami. -w Izračuni regresijskih koeficientov so v modelih z veliko spremenljivkami zaradi multikolinearnosti pogosto nestabilni. -w Pokazati se da, da lahko neodvisne spremenljivke, ki so z odvisno spremenljivko v zelo nizki korelaciji (po absolutni vrednosti pod 0.1), povečajo srednjo kvadratno napako [Patel-2004]. Če take spremenljivke iz modela odstranimo, zmanjšamo napako napovedi. Za preizkus hipoteze o nekoreliranosti neodvisne spremenljivke X; z odvisno spremenljivko X lahko uporabimo testno statistiko, ki temelji na Studentovi porazdelitvi [Hladnik-2002]. -w Pokazati se tudi da, da lahko neodvisne spremenljivke, ki imajo v MLR modelu majhne neničelne (regresijske) koeficiente oz. uteži, povečajo srednjo kvadratno napako [Patel-2004]. Če takšne spremenljivke iz modela odstranimo, zmanjšamo napako napovedi. V statistiki obstaja več načinov izbire 'dobre' podmnožice MLR parametrov, od katerih ima vsak svoje prednosti in slabosti. Najpogosteje se uporabljajo: sprednja izbira, vzvratna eliminacija, in postopna regresija [Seber-1977]. Pri vrednotenju učinkovitosti sistemov Čarovnik iz Oza (poglavje 4) bomo uporabljali metodo vzvratne eliminacije. Pri vzvratni eliminaciji v izbrano podmnožico parametrov S najprej zberemo vse parametre, s katerimi razpolagamo. V naslednjih korakih izbrano množico S manjšamo - v vsakem koraku odstranimo le en parameter, namreč parameter, ki najmanj pripomore k natančnosti MLR modela. Parameter, ki ga odstranimo v (i + l)-tem koraku, lahko določimo z uporabo (i + l)-te delne F statistike. Naj bo ^=-]C(Xk-Xik)2 k=i srednja kvadratna napaka modela po i-tem koraku vzvratne eliminacije, ko iz začetne množice S odstranimo i parametrov. V (i + l)-tem koraku za vsakega izmed preostalih 3 Ogrodje PARADISE 44 n — i parametrov izračunamo (i + l)-to delno F statistiko [Seber-1977] Z7 < i -\ Li+1 ~~ Li Fi+i = (m-n + i)-----=-----, kjer je ei+i2 srednja kvadratna napaka, ki bi jo dobili, če bi iz MLR modela odstranili še ravnokar izbran parameter. Delna F statistika temelji na Snedecorjevi porazdelitvi z (l,m — n + i) prostostnimi stopnjami. Minimum vseh delnih F statistik, izračunanih v tekočem koraku vzvratne eliminacije, ustreza parametru, ki najmanj poveča napako in je zato najboljši kandidat za izključitev iz množice S. Postopek končamo, ko postane napaka modela (oz. najmanjša delna F statistika) 'prevelika'. Za prag Fout običajno izberemo vrednost med 2 in 4, ki pri prostostni stopnji m — n + i večji od 50 ustreza p-vrednosti med 0.18 in 0.05 [Abramowitz-1972]. Torej, postopek vzvratne eliminacije ustavimo pred z-tim korakom, če za najmanjšo delno F statistiko tega koraka velja: "i ^* t1 out Dobra lastnost vzvratne eliminacije je ta, da je vsak parameter vsaj v enem koraku v izbrani množici S, slabost pa predstavljata časovna zahtevnost in numerična nestabilnost začetnega (polnega) modela. 3.3.4 Merjenje zadovoljstva uporabnikov Omenili smo že, da zadovoljstvo uporabnikov, ki ga izraža odvisna spremenljivka zadovoljstvo uporabnika funkcije učinkovitosti, avtorice ogrodja PARADISE merijo z vprašalnikom, podanim v tabeli 3.1. Hone in Graham [Hone-2000] sta opozorila na dejstvo, da ta vprašalnik ne temelji niti na teoriji niti na ustreznih empiričnih raziskavah. Vprašanja so bila najbrž izbrana tako, kot se je v danem trenutku avtoricam zdelo prav. Vsaka merilna tehnika, subjektivna ali objektivna, ki šteje za veljaven psihome-trični instrument, pa mora izpolnjevati osnovne pogoje, ki sta jih določila Sanders in McCormick [Sanders-1993]: 1. Zanesljivost: Razlike v ponovljeni meritvi morajo biti posledica dejanskih sprememb v opazovanem pojavu. 2. Veljavnost: Meriti moramo tisto, kar mislimo, da merimo. 3. Objektivnost: Ocenjevalec ne sme vplivati na meritve. 4. DISKRIMINATIVNOST: Postopek mora biti sposoben meriti tudi majhne spremembe v merilni količini. Hone in Graham opozarjata na naslednjo sporno točko določanja zadovoljstva uporabnikov, namreč seštevanje ocen, ki naj bi merile popolnoma različne količine, tj. učinkovitost modula za tvorjenje govora, učinkovitost modula za razpoznavanje govora, težavnost pridobivanja informacij, hitrost interakcije, izkušenost uporabnikov, ustreznost odzivov sistema, pričakovano obnašanje sistema in načrtovano rabo sistema v 3 Ogrodje PARADISE 45 prihodnosti. To dejanje je upravičeno le, če vsa vprašanja merijo isto količino. V nasprotnem primeru predstavlja vsota nesmiselno vrednost. Da bi bila vsota ali celo povprečje ocen, ki se nanašajo na učinkovitost katerega izmed modulov sistema za dialog, popolnoma nesmiselna, ni čisto res. Na izbran modul lahko gledamo kot na merjeno količino. Res je sicer, da lahko opazujemo različne vidike obnašanja tega modula, vendar nas ponavadi ne zanimajo le izolirane lastnosti, temveč tudi uspešnost modula kot celote. Idealna za merjenje zadovoljstva uporabnikov z učinkovitostjo izbranega modula bi zato bila ustrezno utežena vsota ali utežena srednja vrednost posameznih ocen - lastnostim, ki so za uporabnike bolj pomembne, bi dali večje uteži. Odgovor na vprašanje, kakšne naj bodo te uteži, pa mora temeljiti na ustreznih empiričnih raziskavah, v katere bodo vključeni uporabniki sistemov za dialog. S tem v zvezi menimo, da tudi seštevanje ocen, dodeljenih vprašanjem za določanje zadovoljstva uporabnikov z različnimi vidiki delovanja sistema za dialog, ni popolnoma nesmiselno. Res je, da metoda ni dodelana, je pa lahko dober kazalec učinkovitosti sistema za dialog. Ker za nobeno od obstoječih tehnik merjenja zadovoljstva uporabnikov sistemov za dialog [Shriberg-1992, Walker-1998, Bouwman-1998, Hartikainen-2004] ni dokazano, da izpolnjuje pogoje za veljaven psihometrični instrument, je treba vse sklepe, ki zajemajo zadovoljstvo uporabnikov, obravnavati zelo previdno. Žal je bil prvi resen poskus razvoja vprašalnika, ki bi zanesljivo, veljavno, objektivno in diskriminativno meril zadovoljstvo uporabnikov sistemov za dialog, (začasno) prekinjen [Hone-2000]. Pristop, ki prav tako veliko obeta, je modifikacija SERVQUAL metode [Hartikainen-2004]. Vrednotenje učinkovitosti sistemov za dialog bi lahko zasnovali tudi na ocenah, dodeljenih posamičnim vprašanjem (znotraj ogrodja PARADISE) uveljavljenega vprašalnika (tabela 3.1). Ta pristop je sicer sporen, zato ker si ljudje vsebino vprašanja pogosto različno razlagamo. Zaradi tega vsi veljavni psihometrični instrumenti za vsako od merjenih količin vsebujejo več, različno oblikovanih, vprašanj. Še vedno pa se zdi predlagan pristop smiseln vsaj za pridobitev osnovnih podatkov o sposobnosti modeliranja posameznih ocen in o statistično najbolj značilnih parametrih. Če se pojavi želja po vrednotenju katerega od modulov danega sistema za dialog (npr. modula za vodenje dialoga ali modula za razpoznavanje govora), pa je bolj smiselno sešteti ocene, dodeljene le tistim vprašanjem, ki se nanašajo na učinkovitost oz. obnašanje izbranega modula. 3.3.5 Vplivi razpoznavanja govora na rezultate vrednotenja Parameter, ki ima v funkciji učinkovitosti zaradi (po absolutni vrednosti) največje uteži najpogosteje najpomembnejšo vlogo, je parameter, ki meri učinkovitost modula za razpoznavanje govora [Walker-1997b, Walker-1998, Kamm-1999, Litman-2002, Larsen-2003]. To je, kakovost razpoznavanja govora ključno vpliva na zadovoljstvo uporabnikov - ob povečani učinkovitosti razpoznavanja govora se poveča tudi zadovoljstvo uporabnikov. Kaj pa, če nas zanima npr. učinkovitost modula za vodenje dialoga ali razumevanje 3 Ogrodje PARADISE 46 naravnega jezika? Na osnovi rezultatov, ki jih podaja literatura, smo prišli do sklepa, da bo vrednotenje učinkovitosti posameznih modulov zelo verjetno zanesljivejše in natančnejše, če odstranimo vpliv razpoznavanja govora, torej simuliramo tako rekoč popolno razpoznavanje. To lahko naredimo tako, da za pridobivanje regresijskih podatkov uporabimo eksperiment Čarovnik iz Oza, v katerem vlogo razpoznavalnika govora ali celo vlogo modulov za razumevanje govora prevzame človek [Hajdinjak-2005, Hajdinjak-2006]. Menimo, da bodo v tem primeru prišli v ospredje tudi tisti parametri modela učinkovitosti, ki jim zaradi izjemnega vpliva učinkovitosti razpoznavanja govora svoje vloge v preteklih študijah ni uspelo dokazati. Trdimo tudi, da bodo tako dobljene uteži funkcije učinkovitosti realneje izražale vpliv parametrov na zadovoljstvo uporabnikov. Nedavno je na ta način razumevanje govora simuliral tudi Moller [Moller-2005]. To je počel zaradi prenizke kakovosti razpoznavalnika govora. V enem primeru je v jezikovne prepise načrtno vključil napake, v drugem primeru, ko zaradi narave eksperimenta to ni bilo mogoče, pa je simuliral popolno razumevanje govora. V skladu z našim razmišljanjem so tudi ugotovitve, do katerih so prišle Walker, Boland in Kamm [Walker-1999]. Ugotovile so, da se značilnosti in uteži parametrov modela učinkovitosti lahko spremenijo, če izboljšamo razpoznavanje govora. Vrednotenje učinkovitosti 4.1 Uvod 4-2 Izbira regresijskih parametrov 4-3 Korelacije med regresijskimi parametri 4-4 Korelacije z odvisno spremenljivko 4-5 Funkcije učinkovitosti Učinkovitost obeh sistemov Čarovnik iz Oza vrednotimo z ogrodjem PARADISE. Opišemo postopek izpeljave funkcij učinkovitosti za različne odvisne spremenljivke oz. različne mere zadovoljstva uporabnikov. Zaradi razlikovanja obeh sistemov v vodenju dialoga in z njim povezani predstavitvi znanja utemeljimo definicijo nove mere zadovoljstva uporabnikov kot vsoto ocen, dodeljenih štirim izmed osmih vprašanj, kolikor jih predlaga ogrodje PARADISE. Pri vrednotenju učinkovitosti obeh sistemov Čarovnik iz Oza pridemo do sklepa o izjemni pomembnosti predstavitve znanja v sistemih za dialog in ugotovimo pozitiven vpliv sodelujočega odgovarjanja na zadovoljstvo uporabnikov. Z vzvratno eliminacijo poiščemo funkcije učinkovitosti, ki modelirajo ocene uporabnikov, dodeljene posamičnim vprašanjem o njihovem zadovoljstvu z obnašanjem sistema. Identificiramo presenetljive razlike med obema sistemoma Čarovnik iz Oza in pridemo do spoznanja, da je natančnost dobljenih modelov v drugem eksperimentu veliko slabša. 47 4 Vrednotenje učinkovitosti 48 4.1 Uvod Ogrodje PARADISE bomo uporabili pri vrednotenju učinkovitosti v poglavju 2 predstavljenih sistemov Čarovnik iz Oza. Človek čarovnik je prvem sistemu simuliral razumevanje govora (razpoznavanje govora in razumevanje naravnega jezika) ter vodenje dialoga, v drugem sistemu pa le razumevanje govora. Oba sistema Čarovnik iz Oza sta se torej razlikovala le v načinu vodenja dialoga (v prvem sistemu je to nalogo opravljal čarovnik, v drugem pa modul za samodejno vodenje dialoga) in vrsti podatkovne zbirke. V sistemu, s katerim smo izvajali prvi eksperiment Čarovnik iz Oza, je čarovnik dostopal do relacijske zbirke vremenskih podatkov [Hajdinjak-2002a], v sistemu, s katerim smo izvajali drugi eksperiment Čarovnik iz Oza, pa je modul za samodejno vodenje dialoga (razdelek 2.4) dostopal do sodelujoče podatkovne zbirke, ki je temeljila na dialog mlPC Kripkejevih modelih, predstavljenih v razdelku 2.5. Dialog mlPC Kripkejevi modeli so nastali na podlagi analize težav, ki so se pojavljale v prvem eksperimentu. Tudi brez objektivnega vrednotenja je bilo namreč jasno, da so uporabniki s sistemom precej manj zadovoljni, če jim ta informacije ponuja skopo, preobširno in/ali na nesodelujoč način. Pričakovali smo, da bo sodelujoča podatkovna zbirka, uporabljena v drugem eksperimentu Čarovnik iz Oza, ki se odlikuje po sposobnosti sodelujočega odgovarjanja, pozitivno vplivala na zadovoljstvo uporabnikov. Da bi preskusili to hipotezo in hkrati ovrednotili še spremembe, ki so bile povezane z vključitvijo samodejnega modula za vodenje dialoga v drugi sistem Čarovnik iz Oza, smo v sklopu raziskav, povezanih z magistrskim delom [Hajdinjak-2004a], uporabili ogrodje PARADISE. Ker smo dobili funkciji učinkovitosti, katerih natančnosti sta se zelo razlikovali (R2 = 0.62 za prvi sistem in R2 = 0.24 za drugi sistem), smo se odločili ogrodje PARADISE podrobno analizirati (poglavje 3) in postopek vrednotenja učinkovitosti ponoviti. Posebnega pomena pri vrednotenju učinkovitosti sistemov za dialog z ogrodjem PARADISE je izbira cen dialoga (razdelek 3.3.3), kijih delimo na parametre učinkovitosti dialoga in parametre kakovosti dialoga. 4.2 Izbira regresijskih parametrov Ko smo oba sistema Čarovnik iz Oza vrednotili prvič, smo izbrali 10 regresijskih parametrov. Izbira je temeljila na podobnih raziskavah [Walker-1998, Kamm-1999, Walker-2000, Litman-2002, Larsen-2003], od katerih nobena ni presegla števila 10. Ob ponovnem vrednotenju smo se odločili množico regresijskih parametrov razširiti na 25. Tako kot avtorice ogrodja PARADISE [Walker-1997a] smo izbrali en sam parameter uspešnosti naloge: • Kappa koeficient (k) meri uspešnost sistema pri reševanju nalog, ki mu jih naloži uporabnik. Napake, do katerih pride pri razumevanju govora in jih sistem v tekoči konverzacijski igri odpravi, ne znižajo vrednosti tega koeficienta. Ker je v naših eksperimentih razumevanje govora simuliral čarovnik, koeficient 4 Vrednotenje učinkovitosti 49 k, izračunan iz podatkov prvega eksperimenta, kaže uspešnost oz. spretnost čarovnika in fleksibilnost grafičnega vmesnika, ki je čarovniku pomagal voditi dialog, pri reševanju navideznih nesporazumov med uporabnikom in čarovnikom. V drugem eksperimentu, ko je vodenje dialoga prevzel posebej za to nalogo zgrajen modul, koeficient k kaže uspešnost tega modula za vodenje dialoga pri reševanju navideznih nesporazumov med uporabnikom in čarovnikom, ki so nastali ali zaradi tipkarskih napak čarovnika ali zaradi neavtoriziranih posegov čarovnika v pomenske predstavitve uporabnikovih izjav. Za parametre učinkovitosti dialoga smo izbrali: • Povprečni čas dialoga (MET) meri povprečni čas trajanja konverzacijskih iger Query-yn game, Query-wr game, Query-wi game, Query-wl game in Query-WT game, katerih namen je pridobiti določeno informacijo in jih uporabnik vpelje v času svoje interakcije s sistemom. V trajanje ni vštet čas podajanja odzivov sistema, ampak le čas govorne interakcije uporabnika in čas čakanja na odziv sistema. Kratica MET se nanaša na angleško besedno zvezo Mean Elapsed Tirne. Naštete konverzacijske igre bomo v nadaljevanju imenovali informacijske igre. • Povprečno število potez (MUM) meri povprečno število konverzacijskih potez, kijih uporabnik potrebuje za izvedbo ali prekinitev vpeljanih informacijskih iger. Kratica MUM se nanaša na angleško besedno zvezo Mean User Moves. V poglavju 3 smo povedali, da so cene dialoga parametri, katerih minimiranje ugodno vpliva na zadovoljstvo uporabnikov. Včasih je za cene dialoga naravneje vzeti količine, katerih učinek je ravno obraten. Tudi za nekatere oblike parametrov kakovosti dialoga, ki smo jih določili mi, velja, da na zadovoljstvo uporabnika ugodno vpliva njihovo maksimiranje. Izbrali smo naslednje parametre kakovosti dialoga: • Izpolnitev naloge (Comp) se nanaša na mnenje uporabnika o tem, ali je od sistema dobil odgovor na prvo vprašanje oz. prvo nalogo, ki smo mu jo v eksperimentu zastavili (poglavje 2). Parameter Comp zavzame vrednost 0, če uporabnik meni, da ni dobil odgovora na svoje vprašanje, in vrednost 1 v nasprotnem primeru. Oznaka Comp je okrajšava za angleško besedo Completed. • Število uporabnikovih iniciativ (NUI) šteje začetne konverzacijske poteze, s katerimi uporabnik vpelje informacijske igre. Kratica NUI se nanaša na angleško besedno zvezo Number of User Initiatives. • Povprečno število besed (MWT) meri povprečno število besed, vsebovanih v konverzacijskih potezah uporabnika. Kratica MWT se nanaša na angleško besedno zvezo Mean Words per Turn. • Povprečni čas odziva (MRT) meri povprečni čas, ki ga sistem porabi, da se odzove. V prvem eksperimentu je bil ta čas povezan z izbiro odgovorov na grafičnem vmesniku, v drugem pa s tipkanjem pomenskih predstavitev uporabnikovih potez. Kratica MRT se nanaša na angleško besedno zvezo Mean Response Time. 4 Vrednotenje učinkovitosti 50 • Število manjkajočih odzivov (NMR) meri razliko med številom potez sistema in številom potez uporabnika. Ta parameter izraža tako število Timeout potez kakor tudi nepripravljenost uporabnika, da bi sistem odzdravil. Kratica NMR se nanaša na angleško besedno zvezo Number of Missing Responses. • Število neprimernih iniciativ (NUR) in delež neprimernih iniciativ (URR) merita število oz. delež začetnih potez uporabnika, katerih vsebina ne ustreza domeni sistema. Kratici NUR in URR se nanašata na angleški besedni zvezi Number of Unsuitable Requests in Unsuitable-Request Ratio. • Število neprimernih odzivov (NIR) in delež neprimernih odzivov (IRR) merita število oz. delež kontekstno neprimernih potez sistema. Sem štejemo tudi Pardon poteze, s katerimi sistem uporabnika prosi, naj ponovi zadnjo izjavo. Kratici NIR in IRR se nanašata na angleški besedni zvezi Number of Inappropriate Responses in Inappropriate-Response Ratio. • Število napak (Error) meri napake sistema, kamor štejemo prekinitve telefonske povezave, neustrezno oblikovane povedi in nasprotujoče si odgovore. • Število pomoči (NHM) in delež pomoči (HMR) merita število oz. delež potez sistema, ki uporabniku pomagajo nadaljevati dialog, tj. potez tipa REPLY-HELP in Reply-timeout. Kratici NHM in HMR se nanašata na angleški besedni zvezi Number of Help Messages in Help-Message Ratio. • Število preverjanj (NCM) in delež preverjanj (CMR) merita število oz. delež potez tipa CHECK, ki jih izvaja sistem. V prvem eksperimentu čarovnik ni izvajal potez tega tipa. Čarovnik, ki je simuliral popolno razumevanje govora, je sicer na podlagi zgodovine dialoga sklepal o nenavedenih podatkih, za katere pa uporabnika ni prosil, da jih potrdi. Kratici NCM in CMR se nanašata na angleški besedni zvezi Number of Check Moves in Check-Move Ratio. • Število podanih informacij (NGD) in delež podanih informacij (GDR) merita število oz. delež potez, s katerimi sistem uporabniku poda iskane informacije, ki jih najde v podatkovni zbirki. Kratici NGD in GDR se nanašata na angleški besedni zvezi Number of Given Data in Given-Data Ratio. • Število relevantnih informacij (NRD) in delež relevantnih informacij (RDR) merita število oz. delež potez sistema, ki uporabnika usmerjajo k izbiri relevantnih, dosegljivih podatkov. Kratici NRD in RDR se nanašata na angleški besedni zvezi Number of Relevant Data in Relevant-Data Ratio. • Število nepodanih informacij (NND) in delež nepodanih informacij (NDR) merita število oz. delež potez, s katerimi sistem uporabniku sporoča, da nima zahtevanega podatka in ga pri tem ne usmerja k izbiri relevantnih, dosegljivih podatkov. V prvem eksperimentu so to poteze, ki pravijo, da sistem zahtevane informacije trenutno nima ali je sploh ne ponuja. V drugem eksperimentu pusti sistem to vprašanje odprto. Kratici NND in NDR se nanašata na angleški besedni zvezi Number of No Data in No-Data Ratio. 4 Vrednotenje učinkovitosti 51 • Število prekinjenih zahtev (NAR) in delež prekinjenih zahtev (ARR) merita število oz. delež informacijskih iger, ki jih uporabnik prekine še preden se končajo. Kratici NAR in ARR se nanašata na angleški besedni zvezi Number of Abandoned Requests in Abandoned-Request Ratio. Izbrane parametre je treba določiti samodejno, če je to mogoče, v skrajnem primeru pa jih ročno označiti. Zavedati se namreč moramo, da neodvisne spremenljivke funkcije učinkovitosti, ki niso samodejno določljive, skrčijo uporabnost ogrodja PARADISE -samodejno iskanje problematičnih dialogov in spreminjanje strategije vodenja dialoga med interakcijo tedaj nista več mogoča. V prvem eksperimentu smo morali večino parametrov določiti ročno. Šele modul za vodenje dialoga, vključen v drugi sistem Čarovnik iz Oza, kije potek dialoga zelo dobro strukturiral, je omogočil samodejno določljivost velike večine izbranih parametrov. Še vedno je bilo samodejno nemogoče določiti naslednje parametre: Kappa koeficient (k), izpolnitev naloge (Comp), število neprimernih iniciativ (NUR) in število napak (Error). To ni moteče, če funkcija učinkovitosti teh parametrov ne vsebuje. Zanimivo je, da se število podanih informacij (NGD) in delež podanih informacij (GDR), število relevantnih informacij (NRD) in delež relevantnih informacij (RDR) ter število nepodanih informacij (NND) in delež nepodanih informacij (NDR), ki jih bomo imenovali parametri podatkovne zbirke, v literaturi o vrednotenju učinkovitosti sistemov za dialog ne pojavljajo. Razlog je verjetno ta, da imajo razvijalci sistemov za dialog le redko na razpolago podatkovno zbirko, katere struktura bi bila tako zelo časovno odvisna in skopa, kot je naša [Hajdinjak-2002a, Hajdinjak-2002b]. S podobno podatkovno zbirko so imeli opravka npr. razvijalci sistema Jupiter [Zue-2000], ki po telefonu podaja informacije o vremenu. Omenjen tip parametrov pa ni ostal popolnoma neopazen. Walker, Litman, Kamm in Abella [Walker-1998] razmišljajo, da bi velikost podatkovne zbirke lahko značilno vplivala na učinkovitost sistema za dialog. Ker nas je zanimalo, ali so uporabniki bolj občutljivi na kvantitativne (tj. število) ali na proporcionalne parametre (tj. delež), smo tam, kjer se je zdelo smiselno, merili obe količini. Srednje vrednosti izbranih regresijskih parametrov v obeh eksperimentih Čarovnik iz Oza so podane v tabeli 4.1. Vrstice s parametri, katerih razlika srednjih vrednosti v obeh eksperimentih je statistično značilna (p < 0.05), so potemnjene in navedena je pripadajoča p vrednost. Uporabili smo Študentov primerjalni test [Hladnik-2002]. Tabela 4.1 pravi, da sta bili srednji vrednosti MET in MUM značilno večji (p < 0.0005 oz. p < 0.05) v drugem eksperimentu. To je zagotovo posledica značilno večje srednje vrednosti parametra NIR (p < 0.01) ter implementacije konverzacijske igre CHECK GAME v drugem eksperimentu. Ker je bila večina odzivov na CHECK poteze sestavljena iz manj kot treh besed, je ta strategija vodenja dialoga vodila tudi do značilno nižje srednje vrednosti parametra MWT (p < 0.0005). Ne nazadnje pa so na povečanje srednje vrednosti MET vplivali še značilno daljši (p < 0.0005) odzivni časi sistema (MRT) v drugem eksperimentu, ki so bili posledica časovno zahtevnega tipkanja pomenskih predstavitev uporabnikovih izjav. 4 Vrednotenje učinkovitosti 52 W0Z1 WOZ2 iL_ uspešnost naloge Kappa koeficient (k) 0.94 0.98 učinkovitost povprečni čas dialoga (MET) dialoga povprečno število potez (MUM) 13.76 s 1.48 s 17.39 s 1.68s 0.000 0.047 število uporabnikovih iniciativ (NUI) 6.49 7.51 0.005 povprečno število besed (MWT) 9.32 s 7.56s 0.000 povprečni čas odziva (MRT) 5.13 s 6.38s 0.000 kakovost dialoga izpolnitev naloge (Comp) število uporabnikovih ini povprečno število besed povprečni čas odziva (MI število manjkajočih odzivov (NMR) število neprimernih iniciativ (NUR) delež neprimernih iniciativ (URR) število neprimernih odzivov (NIR) delež neprimernih odzivov (IRR) število napak (Error) število pomoči (NHM) delež pomoči (HMR) število preverjanj (NCM)* delež preverjanj (CMR)* število podanih informacij (NGD) delež podanih informacij (GDR) število relevantnih informacij (NRD) delež relevantnih informacij (RDR) število nepodanih informacij (NND) delež nepodanih informacij (NDR) število prekinjenih zahtev (NAR) delež prekinjenih zahtev (ARR) 0.96 7.51 56 s 38 s 0.75 0.13 0.02 0.90 0.06 0.06 0.40 0.03 2.19 0.16 4.35 0.58 2.06 0.28 0.94 0.12 0.16 0.02 0.011 0.009 0.000 0.005 0.000 zadovoljstvo uporabnika (US) 34.08 31.96 0.015 * V prvem eksperimentu čarovnik ni izvajal Check potez. Tabela 4.1: Srednje vrednosti izbranih regresijskih parametrov v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza. V drugem eksperimentu Čarovnik iz Oza sta bili srednji vrednosti parametrov podatkovne zbirke NRD in RDR skoraj trikrat večji (p < 0.0005 oz. p < 0.005) kot v prvem eksperimentu. Že ta podatek potrjuje, da je imel implementiran modul za vodenje dialoga skupaj s sodelujočo predstavitvijo znanja veliko večjo sposobnost usmerjanja uporabnika k izbiri relevantnih, dosegljivih podatkov kot čarovnik, ki je prek grafičnega vmesnika dostopal do relacijske zbirke vremenskih podatkov. Posledično je bila srednja vrednost parametra podatkovne zbirke NND nižja (p < 0.0005) v drugem eksperimentu. 4 Vrednotenje učinkovitosti 53 4.3 Korelacije med regresijskimi parametri Omenili smo (razdelek 3.3.2), da noben par neodvisnih spremenljivk, na katerih izvajamo vzvratno eliminacijo, ne sme biti previsoko koreliran, saj bi bil dobljen MLR model sicer lahko zelo občutljiv na majhne merske napake ali spremembe vrednosti regresijskih spremenljivk. Tabela 4.2 podaja korelacijske koeficiente med izbranimi regresijskimi parametri, dobljene v prvem eksperimentu, tabela 4.3 pa korelacijske koeficiente, dobljene v drugem eksperimentu Čarovnik iz Oza. Zaradi uporabnikov, ki so sodelovali v prvem eksperimentu, niso pa oddali izpolnjenega vprašalnika o svojem zadovoljstvu z obnašanjem sistema, se je število vzorcev za prvi eksperiment zmanjšalo s 76 na 73. V drugem eksperimentu je vprašalnik izpolnilo vseh 68 uporabnikov. Za podatke iz prvega eksperimenta smo ugotovili, da sta mejni vrednosti 95% intervala zaupanja za korelacijski koeficient 0.7 (meja izločanja zaradi previsoke korelacije) enaki 0.56 in 0.80. Polja s korelacijskimi koeficienti, ki po absolutni vrednosti presegajo spodnjo mejo 0.56, so v tabeli 4.2 potemnjena. Pozitivne korelacije med parametri, ki na različen način (tj. kot število ali kot delež) merijo iste dogodke, so povsem pričakovane. Preseneti edino popolna nekoreliranost parametrov podatkovne zbirke NGD in GDR, pri čemer povejmo, da dobimo vrednost parametra GDR kot kvocient vrednosti NGD in NUI. Zanimivo je tudi, da korelira NND z NGD pozitivno (0.60), z GDR pa negativno (-0.57). Visoke korelacije med NUI, na eni strani, ter NGD (0.93), NRD (0.68) in NND (0.83), na drugi strani, so popolnoma razumljive - s številom iniciativ se poveča tudi število podanih informacij, število ponujenih relevantnih informacij ter število izjav, s katerimi sistem uporabniku sporoča, da zahtevane informacije nima. Najnižja izmed omenjenih korelacij je korelacija med NUI in NRD. Razlog je zelo verjetno opazna nekonsistentnost čarovnika v izbiranju odgovorov. Če to res drži, se to v drugem eksperimentu ne bi smelo ponoviti. Tudi koreliranost parametrov NMR in NHM (0.67) ni presenetljiva - ko se uporabnik ni odzval, mu je čarovnik pomagal ponovno vzpostaviti dialog. Podobno je bilo v drugem eksperimentu. Korelacijski koeficient ni še večji, zato ker na vrednost parametra NMR vpliva tudi obstoj začetnega in končnega pozdrava uporabnika. Za podatke iz drugega eksperimenta smo ugotovili, da sta mejni vrednosti 95% intervala zaupanja za korelacijski koeficient 0.7 (meja izločanja zaradi previsoke korelacije) enaki 0.56 in 0.81. Polja s korelacijskimi koeficienti, ki po absolutni vrednosti presegajo spodnjo mejo 0.56, so v tabeli 4.3 potemnjena. V drugem eksperimentu je NUI visoko koreliral z NCM (0.58) in NGD (0.86). Korelacija NUI z NRD (0.52) in NND (0.45) je bila nekoliko nižja kot v prvem eksperimentu. Zelo visoka koreliranost NUI z NGD v primerjavi s koreliranost j o z NRD ali NND kaže na uspešno usmerjanje sistema oz. modula za vodenje dialoga k izbiri dosegljivih informacij in s tem k doseganju uporabnikovih ciljev. Zanimiva je relativno visoka negativna korelacija med NUI in MUM. V prvem ekspe- 4 Vrednotenje učinkovitosti 54 rt rt < o < Z, o d z, (J d d Q (J b-d d d rt Q rt o o CN o CN o CN o P o o CO o o o o o Pi p O o CO o CO o CO o 00 o o o o P o o C tO o o CO o o o o rt rt o o C o o o o CN o CO o z, o cn o CO o C CO o o o CN o o o o o O o o o o C CN o o o o o o rt o CO o o o o C o o o CN o o o o o s S o o 00 o CO o o o o C o o o o o o o o rt o o (M o o o o CN o C o o o o o o o o rt Z, o 00 O o CN o o o o o C o o CO o o o o rt o o o O O o (M o o 1> o tO o o o C CO o o o CN o o CN o CN o ^ S o o CN o CO o CO o CN o CN o CO o CN o CN o C o o CN o o o o 5 S o o CN O CN o CN o o o o o CN o o C o CN o o o o CN o 3 Ž o o O o (M O o o (M o o CO o o o cn o CO C 1> o o 00 o CN o o o P. B o o CO o o o CN O o o CN o o o CN o o CO o C CO o o CN o o o o D s o o o o o CO o lO o o o CO o o CO o o o o lO o C o CN o o CN o o o 3 § o o o CO o to o o CN O IN O IN O o o o CN o o CO o C CO o CO o CO o CO o o CN o L o d cn d o d CN d CN d CN d d cn d cn d cn d d o o o o o CN o CN d o CN o o o o o o d L S D S o. a o S s Pi Z Pi Z, Pi Pi Pi z, Pi Pi o K Z rt K p o z, rt p o p rt z, Pi p Pi p z, z, Pi p z, Pi < z, Pi Pi < X O '3 > C cč a; a; ft -ji o; o; > > c .S 'c o; 'M ¦|—: "c c CN JX 4 Vrednotenje učinkovitosti 55 rt rt <; o Pi < z, to d Pi p z, o d d Q z, z, o 00 d to d d rt Q rt o (M o (M o o o o z, to b-o o o o o rt Q O to o to o o o o o Q O Z, to o o C0 o o o o o rt o o o o o o (M o o o to 00 o ¦o o to o o o o o o to o rt rt o o o o o o o (M o (M o (M o o o rt o o o o to o o o o o o o o O o o o o o o o o o o o (M o (M o o rt o o o to o CO o o o o to o to o to o o o o s s o o o o o o o ¦o o o o o o o C0 o o rt rt o o CO o o o o o o to o to o o o to o to o o o rt o 00 o o CO o o (M o o CO o o C0 o o o o o o o o o o o rt o o o o o to o b-o to o o o o o o C0 o to o o to o to o g S o o o o o o o o o o o o o o o o o o o o o o o o o o o H o O o o o o o o o o o CO o CO o CO o C0 o o o o o o o (M o (M o o o D Ž o o tO o O CO o to o o o o to o o to o o o to o o o o o o o B o o O o O o o (M o o o o o o o o o o o o o o o o o o o o S D S o o ¦O o O o o to o o o o o o o o ¦o o o o C0 o to o C0 o o to o o H o CO o o CO o CO o tO o o o o (M o o o (M o CO o o o o C0 o o o o o o o o o o o SČ o co d d o d d CO d d o d d d CO d tO d d d d d d d d d o d d (M d d d L S D S P, a o S ž u s Pi z, Pi Pi Pi ti Pi Pi o rt z, rt K z, rt p o z, rt p o p Pi z, Pi p Pi p •z •z Pi p •z Pi < •z Pi Pi < s; o '3 > c a; a; ft -ji o; -C > c "c & o; c v. 'c c CO "o; 4 Vrednotenje učinkovitosti 56 rimentu je bila —0.53, v drugem pa —0.51. Ta podatek kaže, da so se bili uporabniki sposobni prilagajati obnašanju sistema in so se v času interakcije z njim uspešno učili vodenja učinkovitejšega dialoga. 4.4 Korelacije z odvisno spremenljivko V obeh eksperimentih Čarovnik iz Oza so uporabniki ocenili svoje zadovoljstvo tako, da so podali stopnjo strinjanja z izjavami o obnašanju oz. učinkovitosti sistema (tabela 3.1). Splošno zadovoljstvo uporabnika (US) smo dobili kot vsoto ocen, zbranih z omenjenim vprašalnikom. Vrednosti parametra US, ki bo odvisna spremenljivka osnovnega MLR modela učinkovitosti, zato ležijo med 8 in 40. Srednja vrednost US za prvi eksperiment je enaka 34.08 (s standardnim odklonom 5.07), za drugega pa 31.96 (s standardnim odklonom 4.99). Obe srednji vrednosti zadovoljstva uporabnikov se statistično značilno razlikujeta (p < 0.015). Glej tabelo 4.1. WOZ1 WOZ2 kor. koef. p-vrednost kor. koef. p-vrednost Kappa koeficient (k) 0.06 0.615 0.27 0.028 povprečni čas dialoga (MET) 0.18 0.127 -0.29 0.015 povprečno število potez (MUM) 0.38 0.001 -0.29 0.015 izpolnitev naloge (Comp) 0.29 0.014 0.20 0.101 število uporabnikovih iniciativ (NUI) -0.60 0.000 0.13 0.306 povprečno število besed (MWT) -0.02 0.872 0.01 0.913 povprečni čas odziva (MRT) -0.18 0.119 -0.12 0.325 število manjkajočih odzivov (NMR) -0.16 0.191 -0.05 0.693 število neprimernih iniciativ (NUR) -0.16 0.175 -0.12 0.337 delež neprimernih iniciativ (URR) 0.08 0.520 -0.17 0.171 število neprimernih odzivov (NIR) -0.33 0.005 -0.06 0.650 delež neprimernih odzivov (IRR) -0.17 0.143 -0.22 0.077 število napak (Error) -0.19 0.107 0.05 0.670 število pomoči (NHM) -0.15 0.209 -0.09 0.475 delež pomoči (HMR) 0.00 0.981 -0.10 0.408 število preverjanj (NCM)* - - -0.16 0.191 delež preverjanj (CMR)* - - -0.36 0.003 število podanih informacij (NGD) -0.47 0.000 0.16 0.181 delež podanih informacij (GDR) 0.33 0.004 0.20 0.108 število relevantnih informacij (NRD) -0.32 0.005 0.03 0.821 delež relevantnih informacij (RDR) -0.00 0.986 -0.21 0.092 število nepodanih informacij (NND) -0.64 0.000 0.03 0.786 delež nepodanih informacij (NDR) -0.33 0.004 0.04 0.735 število prekinjenih zahtev (NAR) -0.03 0.815 -0.15 0.230 delež prekinjenih zahtev (ARR) -0.02 0.886 -0.19 0.126 * V prvem eksperimentu čarovnik ni izvajal Check potez. Tabela 4.4: Korelacijski koeficienti in p-vrednosti za regresijske parametre glede na US v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza. V razdelku 3.3.3 smo povedali, daje treba tiste neodvisne spremenljivke, ki so z odvisno spremenljivko v zelo nizki korelaciji (p > 0.05), iz modela odstraniti. Korelacijski koeficienti in p-vrednosti, ki glede na zadovoljstvo uporabnikov US pripadajo izbranim regresijskim parametrom, so podani v tabeli 4.4. Uporabili smo Študentov test z n — 2 prostostnimi stopnjami [Hladnik-2002], kjer je n velikost učne množice, tj. n = 73 v prvem eksperimentu in n = 68 v drugem eksperimentu. 4 Vrednotenje učinkovitosti 57 Za podatke iz prvega eksperimenta smo ugotovili, da je zgornja meja 95-odstotnega intervala zaupanja za korelacijski koeficient 0.1 (meja izločanja zaradi prenizke ko-relacije) enaka 0.23, za podatke iz drugega eksperimenta pa 0.24. Polja, ki vsebujejo značilne korelacijske koeficiente (p < 0.05), to je korelacijske koeficiente, ki po absolutni vrednosti presegajo zgornjo mejo 95-odstotnega intervala zaupanja, so v tabeli 4.4 potemnjena. V prvem eksperimentu je z neodvisno spremenljivko US značilno koreliralo 9 parametrov (in sicer MUM, Comp, NUI, NIR, NGD, GDR, NRD, NND in NDR), v drugem pa le 4 (in sicer k, MET, MUM in CMR). Presenetljivo je, da je le en parameter zastopan v obeh množicah, namreč MUM. Iz teh množic moramo odstraniti še parametre, ki bi lahko povzročali multikolinearnost modela (razdelek 3.3.2). Z uporabo tabele 4.2 pridemo do sklepa, da bo iskana funkcija učinkovitosti prvega sistema Čarovnik iz Oza dovolj natančna, če v množico neodvisnih regresijskih spremenljivk, na kateri bomo izvajali vzvratno eliminacijo, vključimo naslednje parametre: •w povprečno število potez (MUM), •w izpolnitev naloge (Comp), •w število neprimernih odzivov (NIR), •w število relevantnih informacij (NRD) in •w število nepodanih informacij (NND). Iskana funkcija učinkovitosti drugega sistema Čarovnik iz Oza bo dovolj natančna (tabela 4.3), če v množico neodvisnih regresijskih spremenljivk, na kateri bomo izvajali vzvratno eliminacijo, vključimo naslednje parametre: •w Kappa koeficient (k), •w povprečni čas dialoga (MET) in delež preverjanj (CMR). Že število vhodnih parametrov da slutiti, da lahko v drugem primeru pričakujemo funkcijo učinkovitosti, katere koeficient determinacije R2 bo manjši kot v prvem primeru. Tabela 4.4 skriva še eno zanimivost. Opazimo namreč, da so bili uporabniki prvega sistema bolj dojemljivi za kvantitativne parametre (tj. NUR, NIR, NHM, NGD, NRD, NND, NAR), kot pa za njim pripadajoče proporcionalne parametre (tj. URR, IRR, HMR, GDR, RDR, NDR, ARR). V drugem eksperimentu je bilo ravno obratno - vsi parametri, ki merijo delež, bolj močno korelirajo z zadovoljstvom uporabnikov US kot parametri, ki merijo število. Nadaljnje raziskave glede tega vprašanja so nujne. V študiji učinkovitosti sistemov za branje elektronske pošte [Walker-1998] je bilo ugotovljeno, da izpolnitev naloge (Comp) močneje vpliva na zadovoljstvo uporabnika 4 Vrednotenje učinkovitosti 58 (US) kot Kappa koeficient (k). Razlog, ki ga navajajo, je ta, da naj bi uporabniki velikokrat drugače dojemali delovanje sistema, kot ga podaja k. V našem prvem eksperimentu Čarovnik iz Oza je k izražal predvsem delo čarovnika, ki je simuliral razumevanje govora in vodenje dialoga, v drugem eksperimentu pa delo modula za samodejno vodenje dialoga. Parameter Comp se je v obeh eksperimentih nanašal le na prvo nalogo, ki smo jo uporabniku naložili, kar je najverjetneje razlog, zakaj sami nismo prišli do podobne ugotovitve. Po eni strani sta bila v naših eksperimentih k in Comp nekorelirana, po drugi strani pa je v drugem eksperimentu k celo močneje vplival na zadovoljstvo uporabnikov (tabela 4.4). 4.5 Funkcije učinkovitosti Za statistično obdelavo podatkov ter manipulacijo z izbranimi regresijskimi parametri smo razvili lastna programska orodja, napisana v programskem jeziku MATLAB. Ta orodja omogočajo naslednje: -w izbiro in definicijo poljubnih parametrov, tj. odvisnih in neodvisnih spremenljivk, -w izračun vrednosti izbranih parametrov na dani učni množici vzorcev, -w izračun raznih statističnih količin, kot so npr. srednja vrednost, varianca in standardni odklon, -w normalizacijo parametrov, -w izračun korelacijskih koeficientov, p-vrednosti in intervalov zaupanja za izbrano množico parametrov, -w izbiro podmnožice parametrov, primerne kot vhod v postopek multiple linearne regresije, -w izbiro regresijskega postopka, regresijskega kriterija in regresijskega praga, -w izvedbo multiple linearne regresije, -w identifikacijo osamelcev v učni množici vzorcev in njihovo odstranitev iz učne množice, -w izpis poteka multiple linearne regresije, -w merjenje natančnosti dobljenih modelov, vključno s koeficienti determinacije, ki ustrezajo posameznim korakom regresijskega postopka, -w izračun uteži posameznih parametrov ter določitev funkcije učinkovitosti. Vzvratno eliminacijo bomo izvajali za različne odvisne spremenljivke oz. različne načine merjenja zadovoljstva uporabnikov. 4 Vrednotenje učinkovitosti 59 4.5.1 Zadovoljstvo uporabnikov kot vsota ocen Najprej izpeljimo funkciji učinkovitosti obeh sistemov Čarovnik iz Oza za odvisno spremenljivko zadovoljstvo uporabnika (US), ki jo uporablja ogrodje PARADISE. Osamelce, ki se nenavadno razlikujejo od velike večine ostalih vzorcev in zato nepredvidljivo vplivajo na natančnost MLR modela (razdelek 3.3.2), moramo iz učne množice odstraniti. Po postopku vzvratne eliminacije za Fout = 4 pri p-vrednosti približno enaki 0.05 (razdelek 3.3.3) na celotni učni množici, pridobljeni v prvem eksperimentu Čarovnik iz Oza, pri čemer vzamemo zadovoljstvo uporabnika (US) kot odvisno spremenljivko, povprečno število potez (MUM), izpolnitev naloge (Comp), število neprimernih odzivov (NIR), število relevantnih informacij (NRD) in število nepodanih informacij (NND) pa kot neodvisne spremenljivke, identificiramo 5 osamelcev. Ti vzorci, ki predstavljajo slabih 7% vseh vzorcev, po napaki napovedi dejanske vrednosti jV(US) z dobljenim MLR modelom, 0.14 * jV(Comp) - 0.60 * jV(NND), zelo negativno izstopajo. Pripadajoče napake napovedi so za vsaj 25% večje od napak, pripadajočih ostalim vzorcem. To je meja, na osnovi katere smo izločali osamelce tudi v ostalih primerih. Velikost učne množice končnega MLR modela se zaradi odstranitve osamelcev zmanjša s 73 na 68. Postopek vzvratne eliminacije ponovimo na zmanjšani učni množici vzorcev. Tabela 4.5 podaja dobljene delne F statistike, pripadajoče koeficiente determinacije R2 ter parametre, ki jih v posameznih korakih iz modela odstranimo. Postopek vzvratne eliminacije ustavimo, ko delna F statistika preseže vrednost 4 ali ko v modelu ostaneta le dva parametra. Dodatno omejitev vsebovanja vsaj dveh parametrov smo vpeljali zato, ker se zdi vrednotenje sistema za dialog na osnovi funkcije učinkovitosti, ki vsebuje en sam parameter, preveč poenostavljeno. Postopek vzvratne eliminacije na podatkih iz prvega eksperimenta zato ustavimo pred 4. korakom, ko (pri F4 = 3.81) v modelu ostaneta le dva parametra. F R2 odstranjen parameter poln model - 0.59 - 1. korak (i = 1) 0.36 0.59 NIR 2. korak (i = 2) 0.82 0.59 MUM 3. korak (i = 3) 1.29 0.58 Comp 4. korak (i = 4) 3.81 0.55 NRD Tabela 4.5: Tabela vzvratne eliminacije za prvi sistem Čarovnik iz Oza in odvisno spremenljivko US. Iz začetnega MLR modela z vzvratno eliminacijo odstranimo tri parametre, namreč NIR, MUM in Comp. Funkcija učinkovitosti za prvi sistem Čarovnik iz Oza in 4 Vrednotenje učinkovitosti 60 odvisno spremenljivko USi, ki se nanaša na podatke, pridobljene v prvem eksperimentu Čarovnik iz Oza, je zato taka: A/TUSi) = -0.16 * jV(NRD) - 0.69 * JV(NND) Dobljena funkcija učinkovitosti pojasnjuje 58% variance, tj. R2 = 0.58. Njena najizrazitejša parametra, ki oba negativno vplivata na zadovoljstvo uporabnika (USi), sta parametra podatkovne zbirke število relevantnih informacij (NRD) in število nepodanih informacij (NND). Postopek identifikacije osamelcev in izpeljave funkcije učinkovitosti ponovimo še za drugi sistem Čarovnik iz Oza. Po postopku vzvratne eliminacije za Fout = 4 pri p-vrednosti približno enaki 0.05 na celotni učni množici, pridobljeni v drugem eksperimentu Čarovnik iz Oza, pri čemer vzamemo zadovoljstvo uporabnika (US) kot odvisno spremenljivko, Kappa koeficient (k), povprečni čas dialoga (MET) in delež preverjanj (CMR) pa kot neodvisne spremenljivke, spet identificiramo 5 osamelcev. Ti vzorci sedaj predstavljajo dobrih 7% vseh vzorcev in po napaki napovedi dejanske vrednosti jV(US) z dobljenim MLR modelom, -0.22 * JV(MET) - 0.30 * jV(CMR), zelo negativno izstopajo. Velikost učne množice končnega MLR modela se zaradi odstranitve osamelcev zmanjša z 68 na 63. Postopek vzvratne eliminacije ponovimo na zmanjšani učni množici vzorcev. Tabela 4.6 podaja dobljene delne F statistike, pripadajoče koeficiente determinacije R2 ter parametre, ki jihv posameznih korakih iz modela odstranimo. Postopek vzvratne eliminacije ustavimo pred 2. korakom, ko delna F statistika preseže vrednost 4. F R2 odstranjen parameter poln model - 0.26 - 1. korak (i = 1) 2.19 0.24 K 2. korak (i = 2) 6.12 0.16 MET Tabela 4.6: Tabela vzvratne eliminacije za drugi sistem Čarovnik iz Oza in odvisno spremenljivko US. Iz začetnega MLR modela z vzvratno eliminacijo odstranimo en sam parameter, namreč k. Funkcija učinkovitosti za drugi sistem Čarovnik iz Oza in odvisno spremenljivko US2, ki se nanaša na podatke, pridobljene v drugem eksperimentu Čarovnik iz Oza, je zato taka: _____^ A/tuS2) = -0.29 * JV(MET) - 0.33 * jV(CMR) Dobljena funkcija učinkovitosti pojasnjuje 24% variance, tj. R2 = 0.24, in ima dva parametra - povprečni čas dialoga (MET) in delež preverjanj (CMR), ki oba negativno vplivata na zadovoljstvo uporabnika (US2). Tudi razširitev množice regresijskih parametrov, ponovno označevanje posnetkov in ponovno vrednotenje učinkovitosti obeh sistemov ni odpravilo velike razlike v natančnosti obeh funkcij učinkovitosti (R2 = 0.58 proti R2 = 0.24). Sklenemo lahko, da 4 Vrednotenje učinkovitosti 61 nam odvisne spremenljivke zadovoljstvo uporabnika (US) v naših eksperimentih ni uspelo dovolj dobro modelirati. Razlog je zelo verjetno ta, da ne merimo tistega, kar bi želeli meriti. Po drugi strani pa uporaba seštevka vseh pridobljenih ocen tudi ni najzanesljivjši kazalec zadovoljstva uporabnikov z učinkovitostjo modula za vodenje dialoga, katerega merjenje smo si zastavili za cilj. 4.5.2 Zadovoljstvo uporabnikov kot vsota izbranih ocen V razdelku 3.3.4 smo argumentirali, da je v primeru, kot je naš, ko želimo poiskati razlike med dvema različicama sistemov Čarovnik iz Oza, bolj smiselno sešteti le ocene, dodeljene vprašanjem, ki se nanašajo na vpeljane spremembe. V našem primeru je to modul za vodenje dialoga v povezavi s predstavitvijo znanja. Menimo, da so vprašanja, ki te spremembe najbolje merijo, naslednja: 2. Ali vas je sistem razumel? (ASR) Vprašanje naj bi merilo učinkovitost razumevanja govora. Ker pa je v naših eksperimentih čarovnik simuliral tako rekoč popolno razumevanje govora, to ni bilo tako. V prvem eksperimentu je to vprašanje dobilo najvišjo oceno izmed vseh (tabela 2.1). V drugem eksperimentu, ko čarovnik, v nasprotju s prvim eksperimentom, v pomenske predstavitve uporabnikovih potez ni dodajal podatkov, na katere se je dalo sklepati iz zgodovine dialoga, se to vprašanje nanaša predvsem na modul za vodenje dialoga oz. njegovo učinkovitost pri polnjenju predalčkov. 3. Ali ste brez težav prišli do odgovorov na vaša vprašanja? (TE) Vprašanje naj bi merilo težavnost pridobivanja informacij. Nedvomno se nanaša na uspešnost čarovnika pri uravnavanju dialoga oz. učinkovitost modula za vodenje dialoga. Pri tem ima pomembno vlogo tudi predstavitev znanja. 6. Ali se je sistem na vaše izjave odzival hitro (brez pojasnilnih vprašanj)? (SR) Vprašanje naj bi merilo ustreznost sistemovih odzivov. Uporabnike sprašuje po mnenju o strategiji vodenja dialoga, ki je bila v drugem eksperimentu del modula za vodenje dialoga. 7. Ali se je sistem obnašal tako, kot ste med dialogom od njega pričakovali? (EB) Vprašanje naj bi merilo ujemanje med pričakovanim in dejanskim obnašanjem sistema. Vsekakor je tesno povezano z načinom vodenja dialoga in predstavitvijo znanja, ki je predpogoj sodelujočega načina odgovarjanja. Vsoto ocen, dodeljenih naštetim vprašanjem, imenujmo zadovoljstvo uporabnika z vodenjem dialoga in ravnijo sodelujočega odgovarjanja (DM). Ta spremenljivka zavzame vrednosti med 4 in 20. Povejmo še, zakaj ostala vprašanja iz tabele 3.1 niso dobra: 1. Ali ste sistem brez težav razumeli? (TTS) Vprašanje naj bi merilo kakovost umetnega tvorjenja govora. Modul za umetno tvorjenje govora je bil v obeh sistemih isti [Gros-1997], povrh pa še neodvisen od modula za vodenje dialoga. 4 Vrednotenje učinkovitosti 62 4. Ali je bila hitrost interakcije s sistemom primerna? (IP) Vprašanje naj bi merilo ustreznost hitrosti interakcije s sistemom. V naših eksperimentih je bila hitrost odzivov v največji meri odvisna od čarovnika in hkrati nerealen pokazatelj hitrosti dograjena sistema. Pri tem omenimo, da so uporabniki najslabše ocenili ravno ta vidik svoje interakcije s sistemom (tabela 2.1). Čarovnik je namreč za odziv na uporabnikovo potezo v prvem eksperimentu potreboval v povprečju 5.13 sekund, v drugem pa celo 6.38 sekund (tabela 4.1). 5. Ali ste na vsakem koraku dialoga vedeli, kaj morate povedati? (UE) Vprašanje naj bi merilo izkušenost uporabnikov. Ocene, ki so jih uporabniki dodelili temu vprašanju, so bile v obeh eksperimentih podobno visoke kot ocene, ki so jih dodelili učinkovitosti razumevanja govora. To pa najbrž zato, ker je bil čarovnik tisti, ki je v trenutku negotovosti sprožil potezo, ki naj bi uporabniku pomagala ponovno navezati dialog. Oba sistema Čarovnik iz Oza se tako rekoč nista razlikovala niti v načinu nudenja pomoči niti v kakovosti razumevanja govora ali umetnega tvorjenja govora, ki bi lahko prav tako opazno vplivala na zmedenost uporabnika. 8. Glede na vašo trenutno izkušnjo s sistemom, ali mislite, da boste sistem še kdaj poklicali? (FU) Vprašanje naj bi merilo rabo sistema v prihodnosti oz. možnost za komercialno uveljavitev sistema. Po eni strani vemo, da uporabniki v naših eksperimentih niso bili pod časovnimi omejitvami in niso odgovarjali za stroške telefonskih pogovorov. Po drugi strani pa menimo, da pozitivne izkušnje uporabnikov v testiranjih sistemov niso kazalec njihovih prihodnjih, težko predstavljivih navad. Izpeljimo torej funkciji učinkovitosti obeh sistemov Čarovnik iz Oza za odvisno spremenljivko zadovoljstvo uporabnika z vodenjem dialoga in ravnijo sodelujočega odgovarjanja (DM). Korelacijski koeficienti in p-vrednosti, ki glede na DM pripadajo izbranim regresijskim parametrom, so podani v tabeli 4.7. Spet smo uporabili Študentov test z n — 2 prostost-nimi stopnjami [Hladnik-2002] in ničelno hipotezo o nekoreliranosti, kjer je n velikost učne množice, tj. n = 73 v prvem eksperimentu in n = 68 v drugem eksperimentu. Polja, ki vsebujejo značilne korelacijske koeficiente (p < 0.05), smo potemnili. V prvem eksperimentu je z neodvisno spremenljivko DM značilno koreliralo 10 parametrov (in sicer MUM, Comp, NUI, NIR, IRR, NGD, GDR, NRD, NND, NDR), en več kot z US, v drugem pa 8 parametrov (in sicer k, MET, MUM, IRR, CMR, GDR, RDR, ARR), štirje več kot z US. Trije parametri so zastopani v obeh množicah, namreč MUM, IRR in GDR. Iz teh množic moramo spet odstraniti parametre, ki bi lahko povzročili multikolinearnost modela (razdelek 3.3.2). Po postopku vzvratne eliminacije za Fout = 4 pri p-vrednosti približno enaki 0.05 (razdelek 3.3.3) na celotni učni množici, pridobljeni v prvem eksperimentu Čarovnik iz Oza, pri čemer vzamemo DM kot odvisno spremenljivko, •w povprečno število potez (MUM), 4 Vrednotenje učinkovitosti 63 WOZ1 WOZ2 kor. koef. p-vrednost kor. koef. p-vrednost Kappa koeficient (k) 0.10 0.413 0.36 0.003 povprečni čas dialoga (MET) 0.14 0.228 -0.33 0.006 povprečno število potez (MUM) 0.31 0.007 -0.27 0.024 izpolnitev naloge (Comp) 0.36 0.002 0.19 0.124 število uporabnikovih iniciativ (NUI) -0.54 0.000 0.12 0.347 povprečno število besed (MWT) -0.09 0.474 -0.05 0.677 povprečni čas odziva (MRT) -0.13 0.269 -0.14 0.266 število manjkajočih odzivov (NMR) -0.16 0.182 -0.11 0.383 število neprimernih iniciativ (NUR) -0.17 0.153 -0.08 0.512 delež neprimernih iniciativ (URR) 0.03 0.785 -0.15 0.207 število neprimernih odzivov (NIR) -0.35 0.002 -0.12 0.336 delež neprimernih odzivov (IRR) -0.25 0.031 -0.31 0.010 število napak (Error) -0.15 0.207 -0.01 0.950 število pomoči (NHM) -0.16 0.172 -0.07 0.590 delež pomoči (HMR) -0.00 0.969 -0.07 0.582 število preverjanj (NCM)* - - -0.20 0.105 delež preverjanj (CMR)* - - -0.38 0.001 število podanih informacij (NGD) -0.40 0.000 0.20 0.094 delež podanih informacij (GDR) 0.34 0.004 0.25 0.039 število relevantnih informacij (NRD) -0.33 0.005 -0.04 0.750 delež relevantnih informacij (RDR) -0.02 0.866 -0.24 0.050 število nepodanih informacij (NND) -0.57 0.000 -0.01 0.958 delež nepodanih informacij (NDR) -0.31 0.009 0.03 0.792 število prekinjenih zahtev (NAR) -0.10 0.423 -0.17 0.177 delež prekinjenih zahtev (ARR) -0.10 0.407 -0.25 0.038 * V prvem eksperimentu čarovnik ni izvajal Check potez. Tabela 4.7: Korelacijski koeficienti in p-vrednosti za regresijske parametre glede na DM v prvem (WOZ1) in drugem (WOZ2) eksperimentu Čarovnik iz Oza. •w izpolnitev naloge (Comp), •w število neprimernih odzivov (NIR), •w število relevantnih informacij (NRD) in •w število nepodanih informacij (NND) pa kot neodvisne spremenljivke, identificiramo 7 osamelcev. Ti vzorci, ki predstavljajo slabih 10% vseh vzorcev, po napaki napovedi dejanske vrednosti A/"(DM) z dobljenim MLR modelom, 0.24 * jV(Comp) - 0.51 * jV(NND), zelo negativno izstopajo. Velikost učne množice končnega MLR modela se zaradi odstranitve osamelcev zmanjša s 73 na 66. Postopek vzvratne eliminacije ponovimo na zmanjšani učni množici vzorcev. Tabela 4.8 podaja dobljene delne F statistike, pripadajoče koeficiente determinacije R2 ter parametre, ki jih v posameznih korakih iz modela odstranimo. Postopek vzvratne eliminacije ustavimo pred 4. korakom, ko delna F statistika preseže vrednost 4. Iz začetnega MLR modela z vzvratno eliminacijo odstranimo tri parametre, in sicer NIR, MUM in NRD. Funkcija učinkovitosti za prvi sistem Čarovnik iz Oza in odvisno spremenljivko DMi, ki se nanaša na podatke, pridobljene v prvem eksperimentu Ca- 4 Vrednotenje učinkovitosti 64 F R2 odstranjen parameter poln model - 0.59 - 1. korak (i = 1) 0.00 0.59 NIR 2. korak (i = 2) 0.21 0.59 MUM 3. korak (i = 3) 3.32 0.57 NRD 4. korak (i = 4) 9.01 0.51 Comp Tabela 4.8: Tabela vzvratne eliminacije za prvi sistem Čarovnik iz Oza in odvisno spremenljivko DM. rovnik iz Oza, je zato taka: JVXDMi) = 0.25 * jV(Comp) - 0.65 * JV(NND) Dobljena funkcija učinkovitosti pojasnjuje 57% variance, tj. R2 = 0.57. Najizrazitejši parameter, ki negativno vpliva na DMi, je parameter podatkovne zbirke NND. Postopek identifikacije osamelcev in izpeljave funkcije učinkovitosti ponovimo še za drugi sistem Čarovnik iz Oza. Po postopku vzvratne eliminacije za Fout = 4 pri p-vrednosti približno enaki 0.05 na celotni učni množici, pridobljeni v drugem eksperimentu Čarovnik iz Oza, pri čemer vzamemo DM kot odvisno spremenljivko, •w Kappa koeficient (k), •w povprečni čas dialoga (MET), delež preverjanj (CMR), •w delež podanih informacij (GDR) in •w delež prekinjenih zahtev (ARR) pa kot neodvisne spremenljivke, identificiramo 5 osamelcev. Ti vzorci predstavljajo dobrih 7% vseh vzorcev in po napaki napovedi dejanske vrednosti A/"(DM) z dobljenim MLR modelom, 0.31 * jV(k) - 0.33 * jV(CMR) + 0.30 * jV(GDR), zelo negativno izstopajo. Velikost učne množice končnega MLR modela se zaradi odstranitve osamelcev zmanjša z 68 na 63. Postopek vzvratne eliminacije ponovimo na zmanjšani učni množici vzorcev. Tabela 4.9 podaja dobljene delne F statistike, pripadajoče koeficiente determinacije R2 ter parametre, ki jih v posameznih korakih odstranimo iz modela. Postopek vzvratne eliminacije ustavimo pred 3. korakom, ko delna F statistika preseže vrednost 4. Iz začetnega MLR modela z vzvratno eliminacijo odstranimo dva parametra, in sicer MET in ARR. Funkcija učinkovitosti za drugi sistem Čarovnik iz Oza in odvisno spremenljivko DM2, ki se nanaša na podatke, pridobljene v drugem eksperimentu Čarovnik 4 Vrednotenje učinkovitosti 65 F R2 odstranjen parameter poln model - 0.48 - 1. korak (i = 1) 1.71 0.46 MET 2. korak (i = 2) 2.84 0.44 ARR 3. korak (i = 3) 12.59 0.32 K Tabela 4.9: Tabela vzvratne eliminacije za drugi sistem Čarovnik iz Oza in odvisno spremenljivko DM. iz Oza, je zato taka: A/TDM2) = 0.36 * jV(k) - 0.38 * jV(CMR) + 0.40 * jV(GDR) Dobljena funkcija učinkovitosti pojasnjuje 44% variance, tj. R2 = 0.44, in ima tri parametre - Kappa koeficient (k) in delež podanih informacij (GDR), ki pozitivno vplivata na DM2, ter delež preverjanj (CMR), ki negativno vpliva na DM2. Funkciji učinkovitosti jV(USi) in A/XUS2) ne vsebujeta nobenega skupnega parametra. Še več, nobeden od parametrov, kijih vsebuje A/"(USi), ni značilen za US2, in nobeden od parametrov, ki jih vsebuje A/XUS2), ni značilen za USi (tabela 4.4). Za funkciji učinkovitosti A/"(DMi) in A/"(DM2) to ne velja več. Res je, da nobeden od parametrov, ki jih vsebuje A/"(DMi), ni značilen za A/"(DM2). Obratno pa ni res. Parameter podatkovne zbirke GDR, ki ima zelo velik pozitivni vpliv na DM2, sicer ni vsebovan v jV(DMi), je pa visoko (negativno) koreliran s parametrom podatkovne zbirke NND (tabela 4.2), tj. najmočnejšim (negativnim) parametrom funkcije A/"(DMi). Analiza obeh funkcij učinkovitosti za DM omogoča vrednotenje učinkovitosti modula za vodenje dialoga, povezanega s sodelujočo podatkovno zbirko (razdelek 2.5): • Edini parameter, ki nastopa v funkciji učinkovitosti za DM2 in je statistično značilen tudi za DMi (p < 0.004), je parameter podatkovne zbirke delež podanih informacij (GDR). V funkciji učinkovitosti za DMi namesto GDR sicer nastopa parameter podatkovne zbirke število nepodanih informacij (NND), ki je z njim visoko negativno koreliran in hkrati bolj značilen za DMi (p < 0.0005). Torej, parametri podatkovne zbirke predstavljajo edino podobnost med funkcijama učinkovitosti obeh sistemov Čarovnik iz Oza. Ta ugotovitev kaže na izjemno pomembnost predstavitve znanja oz. zgradbe podatkovne zbirke sistema za dialog. Pridemo do spoznanja, da so parametri podatkovne zbirke nepogrešljivi pri vrednotenju učinkovitosti sistemov za dialog, še posebej pa pri vrednotenju učinkovitosti sistemov za podajanje informacij. • Medtem ko je parameter podatkovne zbirke število nepodanih informacij (NND) v prvem eksperimentu pomembno (negativno) vplival na zadovoljstvo uporabnikov, je njegov (negativni) vpliv v drugem eksperimentu izjemno splahnel. Vemo že (tabela 4.1), da se je srednja vrednost parametra število relevantnih informacij (NRD) v drugem eksperimentu značilno povečala, srednja 4 Vrednotenje učinkovitosti 66 vrednost NND pa zato značilno zmanjšala. Vse torej kaže na to, da zmanjšanje števila odzivov, s katerimi sistem uporabniku sporoča, da zahtevane informacije nima, hkrati pa mu ne ponudi nobenih dosegljivih, relevantnih informacij, negativno vpliva na zadovoljstvo uporabnika. Razvijalci sistemov za dialog morajo zato težiti k zmanjšanju števila takih odzivov oz. povečanju stopnje sodelujočega odgovarjanja, predvsem relaksacije (poglavje 8). Sklepamo lahko tudi, da strategija usmerjanja uporabnika k izbiri dosegljivih, relevantnih podatkov, kije implementirana v modulu za samodejno vodenje dialoga, na zadovoljstvo uporabnikov ne vpliva negativno. • Ugotovili smo že (razdelek 4.4), da so bili uporabniki v prvem eksperimentu bolj občutljivi na kvantitativne parametre, uporabniki v drugem eksperimentu pa na proporcionalne parametre. Funkcija učinovitosti za D Mi vsebuje, poleg parametra Comp, še kvantitativni parameter število nepodanih informacij (NND). Funkcija učinkovitosti za DM2 pa vsebuje, poleg parametra k, še dva proporcionalna parametra, namreč delež preverjanj (CMR) in delež podanih informacij (GDR). Menimo, daje to posledica konsistentno povečanega ponujanja relevantnih informacij v drugem eksperimentu, ki je vodilo do več novih informacijskih iger in s tem do večje dojemljivosti uporabnikov za proporcionalne količine. Vsekakor so glede tega potrebne nadaljnje raziskave. • Omenili smo že, da sta bila parametra Kappa koeficient (k) in izpolnitev naloge (Comp) v naših eksperimentih nekorelirana. V prvem eksperimentu je na zadovoljstvo uporabnikov DMi močno (pozitivno) vplival Comp, k ni imel statistično značilnega vpliva. V drugem eksperimentu je bilo ravno obratno -na zadovoljstvo uporabnikov DM2 je močno (pozitivno) vplival k, Comp pa ni imel statistično značilnega vpliva. Ugotovitev, do katere so prišle Walker, Litman, Kamm in Abella [Walker-1998], da izpolnitev naloge (Comp) močneje vpliva na zadovoljstvo uporabnika kot Kappa koeficient (k), torej ni vedno resnična. Le parameter Comp, katerega vrednost mora posredovati uporabnik, za vrednotenje učinkovitosti sistemov za dialog zato ni dovolj. Še vedno je dobro meriti tudi k, ki pa ga na žalost ni mogoče določiti samodejno. • Parameter, ki na zadovoljstvo uporabnikov DM2 najmočneje negativno vpliva, je delež preverjanj (CMR). Sistem za dialog lahko torej izboljšamo, če zmanjšamo delež potez tipa CHECK, ki preverjajo točnost podatkov, pridobljenih na osnovi zgodovine dialoga, kijih uporabnik v svoji izjavi ne poda ali jih sistem ne razume. Vpliv parametra CMR v sistemih za dialog ni mogoče popolnoma odpraviti, zato ker je določeno število CHECK potez nujno vsakič, ko imamo opravka s samodejnim razumevanjem govora. Napake, ki se pojavljajo pri samodejnem razumevanju govora, sistem namreč prisilijo, da svoje razumevanje uporabnikovih izjav preveri vsakič, ko o njihovi pravilnosti ni popolnoma prepričan. Če tega ne bi počel, bi nekontrolirano podajal napačne odgovore. To bi povečalo srednjo vrednost parametra delež neprimernih odzivov (IRR) in tako zelo verjetno vodilo do večjega nezadovoljstva s sistemom. Potem ko smo za odvisno spremenljivko vzeli zadovoljstvo uporabnika z vodenjem dialoga in ravnijo sodelujočega odgovarjanja (DM), nam je uspelo razliko 4 Vrednotenje učinkovitosti 67 v natančnosti funkcij učinkovitosti obeh sistemov Čarovnik iz Oza izjemno zmanjšati (R2 = 0.57 proti R2 = 0.44). Upravičeno lahko torej trdimo, da se da DM veliko bolje modelirati kot US. 4.5.3 Zadovoljstvo uporabnikov kot vrednost posameznih ocen Zanimivo bi bilo videti tudi, kako dobro se dajo modelirati posamezne ocene uporabnikov in ne nazadnje, kateri parametri na njih najmočneje vplivajo. Izpeljimo torej funkcije učinkovitosti obeh sistemov Čarovnik iz Oza za vseh osem ocen, dodeljenih osmim vprašanjem (tabela 3.1), s katerimi so uporabniki ocenjevali učinkovitost sistemov. Postopek vzvratne eliminacije bomo izvajali pod enakimi pogoji kot prej, le da iz učne množice ne bomo odstranjevali osamelcev. Natančnost tako dobljenih modelov namreč ne bo tako zelo pomembna, saj ne bodo primerni za vrednotenje učinkovitosti sistemov za dialog (razdelek 3.3.4), ampak le za pridobivanje osnovnih podatkov o sposobnosti modeliranja posameznih ocen in o statistično najznačilnejših parametrih. Tabeli 4.10 in 4.11 vsebujeta korelacijske koeficiente regresijskih parametrov glede na posamezne ocene uporabnikov ter pripadajoče p-vrednosti, po vrsti označene takole: 1. TTS (iz angl. Text-To-Speech), 2. ASR (iz angl. Automatic Speech Recognition), 3. TE (iz angl. Task Ease), 4. IP (iz angl. Interaction Pace), 5. UE (iz angl. User Expertise), 6. SR (iz angl. System Response), EB (iz angl. Expected Eehaviour) in 8. FU (iz angl. Future Use). Uporabili smo Študentov test z n — 2 prostostnimi stopnjami [Hladnik-2002] in ničelno hipotezo o nekoreliranosti, kjer je n velikost učne množice, tj. n = 73 v prvem eksperimentu in n = 68 v drugem eksperimentu. Polja, ki vsebujejo statistično značilne korelacijske koeficiente (p < 0.05), smo potemnili. Najprej opazimo, da v drugem eksperimentu nobeden od parametrov ni bil statistično značilen za IP (tabela 4.11). Poleg tega imajo vse ocene, pridobljene v drugem eksperimentu, kvečjemu manj značilnih parametrov kot ocene, pridobljene v prvem eksperimentu. Zelo izrazit je podatek, da imajo ocene iz prvega eksperimenta v povprečju več kot dvakrat več statistično značilnih parametrov kot ocene iz drugega eksperimenta. V postopku vzvratne eliminacije s TTS kot odvisno spremenljivko dobimo naslednji funkciji učinkovitosti: 4 Vrednotenje učinkovitosti 68 P- > P- Si, o C0 CO o o o o 00 Oi o (M (M O O CO Oi o en en CO o 00 en lO o CO o o o CO o CO o CO 00 o (M (M CO o CO o o o CO CO o CM o o CO en o 00 o o 00 CM o CO CO o CO CO o O ^4 CO o o Oi o o C0 (M O o o o Cd O o o o o CO o o o 1> o o o o (M o CO o (M o o (M o o o o o o o 00 CM o CO o CO o o CO o o m Si, o o o C0 o o o o CO 00 »o o O O o o CO Oi o CO CM o CO o o o 00 o lO CO o o CO CO o Cd o CO o o CO CO o (M o o o lO CO o o 1> CO o o CM 00 CO o o o o o 00 lO o o o CO o CO »o o o o (M o C0 CO o o o o o o lO o CM o CO o CO o o lO CM o CO o CO o Oi o o CO CO o CM CM o CM CM o lO o o 1> o CM CM o en o o Oi o o rt CO Si, CM lO CM O (M o CO t-o o o o o o o o 00 o CO o CO en CO o 1> 00 o en CM o o o o o (M o o Oi o Oi CO o 00 o o o o o CM CM o o 1> o o o o o CO o o CO o o o o o o o (M o CO o Oi CO o (M o o o lO o o CO o o lO o o CO o Oi o o o o o CO o CO o CM o 1> CN o 00 o o o CM CM o l>-o o 00 o o Si, CM en CO o Oi t-C0 o o o o o o (M >o o o o o o CO »o o 00 o CM o o o CM CO o CO en en o CM CM o o 00 CO o CO o o (M o (M o (M CO CO o o o o o en o o 1> o 00 o o o o o en o o Cd 00 o Cd Cd t-o o ^4 o o o o o 00 o o 00 o Oi o o lO o o CO o 1> o o o o 1> CN o CO o o o o ti Si, 00 o Oi o C0 o o (M 00 o o o o o CO 00 o lO o o en lO CO o CO CO 1> o CM CM o o 1> o o 00 CO 00 o Oi o Oi (M Oi o (M CO o o o o lO CO o o 00 lO o CM o o o en lO o o CO 00 00 o CO CO o O ^4 tO o o (M O o (M O CO o (M o o CM o lO o o o o 1> o o lO CO o CM CM o Cd o o CO o o Si, 00 CM o C0 o Oi o o CO o o o CO o o o (M o o CO o 00 o CM CM o o CO lO CM o CO o o 00 t-o o o o o (M (M o o o o o o CO CO o o CO 00 CO o CM o o o CM o o CO en o o Oi o o en o o (M o (M (M O (M CO o (M CO o 00 o CO o o 00 o 1> Cd o o CM o (M o o o (M o o Oi o 1> CO o lO CM o lO o o CO CO o en CM o o Cd o Cd Cd o rt CO <; Si, tO 00 o Oi o o o o o o o o o o o o o (M CO o 00 CO o CO CO o 1> CM o en CO lO o o o o Oi o o o t-o o o o 00 CO »o o o o o o CO o o CM o o 1> o o o o o CM CO o o o o o CM O o (M O C0 (M O (M O o o o o CO o o 1> o o 1> CO o CO (M o (M o o o o o o CM CM o en CM o o o 1> o CM CM o 00 o o 00 o o CO Si, o o o C0 o (M O O Oi o o o o o o 00 o 1> o CM o 00 CM o 1> B j=; d f-C P- a; a; v c a; a; X C P- a; 'bi a; P- ojC V s X C a; > I a; >o o •'—: S3 .9- P- C d u a; a; 4 Vrednotenje učinkovitosti 69 a) -m a, Cl CO o 1> o 00 tO o o 00 o lO CM o o lO C0 o o o (M t-00 o 00 t-t-o o o CO o 1> tO o o 00 tO o o tO C0 o o lO o C0 00 o o 00 o CO o 1> 00 CM o (M O o o CM CM o lO CM o o o C0 o o (M o o CO o o o o (M o o o tO o o o o o CM o lO o tO (M o o (M o CO (M o tO o o (M o tO o o CM o o o o CO o rt a o o o tO lO o o o o o tO o CM lO o lO o o 00 00 t-o tO 00 >o o (M o 00 >o o o o o o o 1> 00 lO o tO tO 1> o lO 00 00 o tO o o o o o o CO CO (M o Ol o 00 00 o o CO o o >o tO o CM tO 1> o o o tO o o o co o o o C0 o o o 00 o o 00 o o o o CO o o o o o CO (M o CM o 1> o o o o CM o o CM O o o tO o (M o o (M o tO o o o o o CM o CM O a co O o CM o o o 00 o o o lO o o CM lO O C0 CO o tO tO o Ol tO Ol o 00 CO (M o o CO Ol tO o CO CO o o o tO o 1> o o tO o o lO o o o o tO o 00 Ol o CO o tO 00 t-o tO o Ol o 00 o CM lO o tO o o o O o o o CM o CM o 00 o o CM o 01 o o o o o o o o o o o tO o o CM CM o CM o 1> o CO o tO o o o o Ol o o CO o o o o CO o o o o CO o o fe a 00 co o tO o 00 lO 00 o o CM 00 o o o lO C0 o (M 00 o CO o Ol (M o CO o 00 00 o CO o o o o o CO CM CO o o 00 00 lO o tO t-00 o (M o o (M Ol o 00 o (M Ol t-o (M (M o tO o lO 00 o 1> CN CO o o (M O o o CM o o C0 o o 00 o o CO o o (M o CO o o (M o o o o o o o CM o 00 o 1> o o (M o o o (M O o o CO o o CO o o o o o CM O o CM O -rt <; a O o o o CM lO o o CM O 00 00 CM o 00 o o o tO o o t-to o Ol o 00 o tO Ol o lO o o o o tO o tO o o tO tO o Ol o Ol o o tO o o Ol 00 00 o 00 o tO (M Ol o 00 tO CM o 1> o lO o (M O CM o 00 o o lO o C0 o CM o Ol o o o o o o CO o o 00 o o o o tO o o o o o o lO o o Ol o o (M O Ol (M o (M o o tO o o o o o o 00 o a o o CM C0 o lO o o lO CM lO O 00 tO o 00 o 00 t-o o o o CO Ol o CO »o CO o o o o CM o o CM o o CM o CM o o o CO o (M o o o tO t-o (M t-o o o o CO o tO o o o CO o 1> o 00 (M O o o CM O 00 o o lO o o CM o o (M (M o (M o tO o o o (M o 00 CM o o o o CM o o o CO o o o o o o o (M (M o CO o CM CM O CM O 1> o a o (M O lO o o o o tO o C0 o C0 o 00 00 CM o CO o o 00 (M o o o CO o CM CM CM o tO lO lO o 1> o o CM o o 1> CO o (M o o o CO o Ol CO o Ol tO o tO Ol o o 00 tO o lO o o CO CO o o tO lO lO o o o o o lO C0 o o o C0 o C0 o o o o o CO o o o Ol o o lO o 1> o o CM CM o CM CM O CM o (M o CO o 00 o o o o (M o o o lO o o o o 1> o o L p. a o z, g s ti z, ti z, ti ti ti z\ ti ti o K •z, ti K z, ti Q O Z, ti Q o Q ti z, ti Q ti Q z, z, ti p z, ti < z, ti ti < > C '3 C o; o; c o; o; 6 ce X C o; x: a; "bC o; o; bC (0 X C o; > a; >c o "—: Ti ce a "c o K ^ LS lil ¦|—: ^ > 0. r, iH ?H CJ C« ^ U ^ T—1 +^ i- ¦JiJ ¦^ S cč L o; ¦¦v a r-1 a; 4 Vrednotenje učinkovitosti 70 A/fTTSi) = -0.16 *A/"(NIR)- 0.54 *JV(NND) A/fTTS2) = -0.28 *A/"(MUM)-0.14 *A/"(CMR) Dobljeni funkciji učinkovitosti pojasnjujeta 39% variance v prvem in 14% variance v drugem eksperimentu Čarovnik iz Oza. V postopku vzvratne eliminacije z ASR kot odvisno spremenljivko dobimo naslednji funkciji učinkovitosti: A/XASRi) = 0.31 *A/"(Comp)- 0.50 *JV(NND) A/XASR2) = 0.29 * jV(?) - 0.25 * jV(NMR) Dobljeni funkciji učinkovitosti pojasnjujeta 41% variance v prvem in 15% variance v drugem eksperimentu Čarovnik iz Oza. V postopku vzvratne eliminacije s TE kot odvisno spremenljivko dobimo naslednji funkciji učinkovitosti: A/TTEi) = 0.25 *A/"(Comp)-0.30 *A/"(NUR) A/TTEa) = 0.27 * jV(?) + 0.32 * jV(GDR) Dobljeni funkciji učinkovitosti pojasnjujeta 19% variance v prvem in 16% variance v drugem eksperimentu Čarovnik iz Oza. Vzvratno eliminacijo z IP kot odvisno spremenljivko lahko izvajamo le za prvi eksperiment Čarovnik iz Oza, saj v drugem eksperimentu ni bilo statistično značilnih parametrov. Dobimo funkcijo učinkovitosti AHjPi) = 0.31 *A/"(URR)-0.39 *A/"(NND), ki pojasnjuje 22% variance. V postopku vzvratne eliminacije z UE kot odvisno spremenljivko dobimo naslednji funkciji učinkovitosti: A/TUEi) = -0.18*A/'(NMR)-0.57*A/'(NND) A/XUE2) = 0.24 *A/"(Comp)-0.27 *A/"(HMR)-0.31 *A/"(CMR) Dobljeni funkciji učinkovitosti pojasnjujeta 40% variance v prvem in 23% variance v drugem eksperimentu Čarovnik iz Oza. V postopku vzvratne eliminacije z SR kot odvisno spremenljivko dobimo naslednji funkciji učinkovitosti: A/tSRi) = 0.23 * jV(Comp) - 0.36 * JV(NND) A/tSRa) = -0.33 *A/"(IRR)- 0.36 * A/"(CMR) 4 Vrednotenje učinkovitosti 71 Dobljeni funkciji učinkovitosti pojasnjujeta 22% variance v prvem in 30% variance v drugem eksperimentu Čarovnik iz Oza. V postopku vzvratne eliminacije z EB kot odvisno spremenljivko dobimo naslednji funkciji učinkovitosti: A/TEBi) = 0.15 *JV(MUM)- 0.41 * JV(NND) A/TEBa) = 0.26 * jV(Comp) - 0.26 * jV(CMR) Dobljeni funkciji učinkovitosti pojasnjujeta 24% variance v prvem in 13% variance v drugem eksperimentu Čarovnik iz Oza. V postopku vzvratne eliminacije z FU kot odvisno spremenljivko dobimo naslednji funkciji učinkovitosti: JVXFUi) = 0.13 *JV(MUM)- 0.22 *JV(NND) A^FUa) = 0.26 *A/"(NUI)- 0.30 * JV(ARR) Dobljeni funkciji učinkovitosti pojasnjujeta 9% variance v prvem in 16% variance v drugem eksperimentu Čarovnik iz Oza. Spet opazimo, da so skoraj vse funkcije učinkovitosti za prvi sistem Čarovnik iz Oza natančnejše od pripadajočih funkcij učinkovitosti za drugi sistem Čarovnik iz Oza. Izjema sta le funkciji učinkovitosti za SR in FU. Najslabše izmed vseh se data modelirati IP in FU. Hitrost interakcije s sistemom (IP) je bila močno odvisna od čarovnika in zato precej nepredvidljiva. Nesposobnost modeliranja ocene FU pa je v skladu z našo že omenjeno trditvijo, da pozitivne izkušnje uporabnikov v testiranjih sistemov za dialog zelo verjetno niso kazalec njihovih prihodnjih navad. Kljub pričakovanjem je dejstvo, da je bil parameter število nepodanih informacij (NND), ki je bil v prvem eksperimentu statistično najznačilnejši parameter sedmih izmed osmih ocen uporabnikov (tabela 4.10) in hkrati parameter z absolutno največjo (sicer negativno) utežjo sedmih izmed osmih funkcij učinkovitosti, neznačilen za prvih sedem ocen v drugem eksperimentu, nekoliko presenetljivo. Tudi za zadnjo oceno, namreč FU, je bil na meji statistične značilnosti in ne nastopa v njeni funkciji učinkovitosti. Razen tega je večina najznačilnejših parametrov posameznih ocen iz drugega eksperimenta statistično neznačilna za isto oceno iz prvega eksperimenta. To je res tudi, če izločimo parameter delež preverjanj (CMR), ki ga v prvem eksperimentu ni bilo. Na te ugotovitve lahko gledamo kot na potrditev neprimernosti posamičnih vprašanj za merjenje uporabnikovega zadovoljstva z učinkovitostjo sistemov za dialog (razdelek 3.3.4). Po drugi strani pa bi to lahko pomenilo, da odgovori na izbrana vprašanja (tabela 3.1) kažejo le velike razlike med obema sistemoma. V prvem eksperimentu izstopa tudi podobnost funkcij učinkovitosti za EB in FU na eni strani ter ASR, TE in SR na drugi strani. Funkciji učinkovitosti za EB in FU se v drugem eksperimentu močno razlikujeta. Trdimo lahko celo, da se ne bi mogli razlikovati bolj - množici njunih značilnih parametrov sta disjunktni. Drugače pa je zo 4 Vrednotenje učinkovitosti 72 ASR, TE in SR. Z analizo korelacij med parametri tudi v drugem eksperimentu opazimo podobnosti med njihovimi funkcijami učinkovitosti. Zanimivo je, da predstavlja ta trojica tričetrt parametra zadovoljstvo uporabnika z vodenjem dialoga in ravnijo sodelujočega odgovarjanja (DM). To je najbrž eden od vzrokov za zmanjšanje razlike v natančnosti funkcij učinkovitosti obeh sistemov Čarovnik iz Oza, ki smo jo dosegli, ko smo odvisno spremenljivko US zamenjali z DM. Tekoče poglavje in v njem opažene razlike med dobljenimi funkcijami učinkovitosti nas pripeljejo do sklepa, da so potrebne nadaljnje raziskave. Potreba po razvoju veljavnega psihometričnega vprašalnika o zadovoljstvu uporabnikov ni edina potreba, ki se pojavi v študiji vrednotenja učinkovitosti sistemov za dialog. Treba je tudi razumeti in biti sposoben pravilno opredeliti razlike med različnimi fukcijami učinkovitosti - pa naj bo to med funkcijami, ki se nanašajo na več različic danega sistema za dialog, alisi med funkcijami, ki se nanašajo na različne sisteme ali celo različne načine merjenja zadovoljstva uporabnikov. Relacijski podatkovni model 5.1 Uvod 5.2 Relacijska algebra Predstavimo najpopularnejši model podatkovnih zbirk, tj. relacijski podatkovni model, katerega matematična osnova je relacija. Pri tem se osredotočimo na jezik proceduralne relacijske algebre. Definiramo pet osnovnih operacij relacijske algebre - unijo, razliko, kartezični produkt, projekcijo in izbiro ter opišemo izpeljane operacije relacijske algebre - presek, kvocient, spoj, naravni spoj in semispoj. Navedemo vrsto algebrajskih zakonov, ki se jim podrejajo definirane operacije relacijske algebre in ki imajo pomembno vlogo pri optimizaciji poizvedb. 73 5 Relacijski podatkovni model 74 5.1 Uvod Vse podatkovne zbirke temeljijo na matematični strukturi, imenovani podatkovni model, ki zaobsega: 1. matematični jezik za opis podatkov in relacij med njimi ter 2. tehniko upravljanja s podatki, ki vključuje odgovarjanje na poizvedbe in preverjanje integritete podatkovne zbirke. Relacijski podatkovni model, ki gaje leta 1970 vpeljal E. F. Codd [Codd-1970], je postal daleč najpopularnejši model podatkovnih zbirk. Najverjetnejši vzrok za tako premoč nad drugimi podatkovnimi modeli [Tsichritzis-1982, Ullman-1988, Ramakrishnan-2003, Elmasri-2004] je izredno močan, preprost proceduralen jezik za opis operacij nad podatki, ki ga relacijski podatkovni model zajema (razdelek 5.2). Matematična osnova relacijskega podatkovnega modela je relacija, torej podmnožica kartezičnega produkta ene ali več vrednostnih množic. Vrednostna množica je lahko množica naravnih števil, množica realnih števil, množica nizov, množica {0,1} in podobno. Relacija je n-mestna, če so njeni elementi urejene n-terice. Ko imamo opravka s podatkovnimi zbirkami, se omejimo na končne relacije in relacijo predstavimo s tabelo, v kateri vsaki n-terici pripada natanko ena vrstica, istoležne komponente n-tevic pa ležijo v istem stolpcu. Codd je v svojem legendarnem članku [Codd-1970] lastnosti tabele, ki predstavlja n-mestno relacijo R, opisal takole: 1. Vsaka vrstica predstavlja eno n-terico relacije R. 2. Vrstni red vrstic ni pomemben. 3. Vrstice so paroma različne. 4. Vrstni red stolpcev je pomemben - ustreza vrstnemu redu vrednostnih množic, na katerih je definirana relacija R. 5. Pomembnost vrstnega reda stolpcev delno izrazimo tako, da jim priredimo imena. Stolpcem tabel torej pogosto priredimo imena, kijih imenujemo atributi. Če so stolpcem dane relacije prirejeni atributi, vrstni red stolpcev postane nepomemben - ločimo jih na osnovi atributov. Na atribut lahko gledamo kot na preslikavo, ki slika objekte, opisane z n-tericami, v pripadajočo vrednostno množico. Rekli bomo, da so posamezne komponente dane n-terice vrednosti pripadajočih atributov. Množico atributov dane relacije imenujemo relacijska shema. Če stolpcem n-mestne relacije R priredimo atribute Ai,A2,...,An, njeno relacijsko shemo zapišemo kot R(Ai,A2,...,An). Atribut Ai relacije R pogosto imenujemo tudi R.Ai. Za konstante uporabljamo nize malih črk, za atribute in relacije pa nize velikih črk. 5 Relacijski podatkovni model 75 Primer 5.1. Tabela na sliki 5.1 prikazuje relacijo INFO, katere atributi so MESTO, REGIJA in PREBIVALSTVO. Relacija INFO vsebuje pet elementov, namreč urejene trojke (ljubljana, osrednjeslovenska regija, 265 881), (maribor, štajerska, 110 668), (celje, štajerska, 48 081), (novo mesto, dolenjska, 40 925) in (murska sobota, pomurje, 20 080). Njena relacijska shema je INFO(MESTO, REGIJA, PREBIVALSTVO). MESTO REGIJA PREBIVALSTVO ljubljana osrednjeslovenska regija 265 881 maribor štajerska 110 668 celje štajerska 48 081 novo mesto dolenjska 40 925 murska sobota pomurje 20 080 Slika 5.1: Relacija INFO. Podatki o številu prebivalcev so povzeti po rezultatih popisa prebivalstva, ki ga je leta 2002 opravil Statistični urad Republike Slovenije. Elementi dane n-mestne relacije so paroma različni. Podmnožici atributov, ki zadoščajo za medsebojno razlikovanje n-teric, pravimo ključ relacijske sheme. Celoten postopek načrtovanja relacijskih podatkovnih zbirk, vključno z ugotavljanjem funkcionalnih odvisnosti v množici atributov in določanjem ključev, je podrobno opisan v [Mohor-1997, Mata-Toledo-2000]. Operacije, ki jih izvajamo nad relacijami v relacijskem podatkovnem modelu, lahko opišemo na dva precej različna, a po izrazni moči enaka [Ullman-1988] načina: 1. algebrajski način, ki porodi proceduralno relacijsko algebro, kjer poizvedbe zapišemo kot zaporedje operacij nad relacijami, in 2. logični način, ki porodi deklarativen relacijski račun, kjer poizvedbe zapišemo kot logične formule, ki naj jim iskani odgovor zadošča. V razdelku 5.2 bomo obravnavali relacijsko algebro, ki predstavlja enega izmed jezikov relacijskega podatkovnega modela. 5.2 Relacijska algebra Relacijska algebra, kakor tudi vsi drugi relacijski podatkovni modeli, zajema po izrazni moči omejeno podmnožico vseh možnih poizvedb z naslednjimi lastnostmi: -w omogoča zadovoljivo reševanje težavnega optimizacijskega problema [Ullman-1989, Chaudhuri-1998] in -w ima dovolj bogat jezik, na katerem sloni uporabnost podatkovnih sistemov. 5 Relacijski podatkovni model 76 Relacijski jeziki pa na primer niso sposobni izraziti operacije, ki bi dvomestni relaciji priredila njeno tranzitivno zaprtje. Naslednja, a ne tako bistvena, omejitev relacijskih jezikov je končnost relacij. Ta zahteva je potrebna, zato ker neskončnih relacij ni mogoče fizično shraniti. Eno izmed omejitev definicije relacijske algebre in drugih relacijskih jezikov, ki se pojavi zaradi zahteve po končnosti relacij, predstavlja alge-brajska operacija komplement. Te operacije ne smemo dovoliti, saj je komplement končne relacije R, definirane na vsaj eni neskončni vrednostni množici, v splošnem lahko neskončna relacija. Namesto komplementa zato uporabljamo razliko ali relativni komplement (razdelek 5.2.1). 5.2.1 Osnovne operacije relacijske algebre Operandi relacijske algebre so lahko konstantne relacije ali spremenljivke, ki nastopajo namesto relacij določene dimenzije. Ponavadi definiramo pet osnovnih operacij relacijske algebre - unijo, razliko, kartezični produkt, projekcijo in izbiro: 1. Unija n-mestnih relacij R in S, ki jo označimo z R U S, je unija množic R in S. To je množica vseh n-teric, ki so vsaj v eni izmed množic R in S. Atribute danih relacij izpustimo, uniji pa lahko priredimo poljubne (nove) atribute. 2. Razlika ali relativni komplement n-mestnih relacij R in S, ki jo označimo z R — S, je razlika množic R in S. To je množica vseh n-tevic iz R, ki niso elementi S. Atribute danih relacij spet izpustimo, razliki pa lahko priredimo poljubne (nove) atribute. 3. Kartezični produkt r-mestne relacije R in s-mestne relacije S, ki ga označimo z Rx S, je kartezični produkt množic R in S. To je množica vseh (r + s)-teric, kjer prvih r komponent tvori r-terico iz R, zadnjih s komponent pa s-terico iz S. 4. Projekcija n-mestne relacije R na paroma različne komponente z zaporednimi številkami %i,%2,... ,%k, tj. naravnimi števili iz množice {1,2,... ,n}, je množica vseh fc-teric (a\, a2, ¦ ¦ ¦, au), za katere obstaja n-terica (bi, b2, ¦ ¦ ¦, bn) v R, da je cij = bij za j = 1,2,...,k. Projekcijo relacije R na komponente ii,i2, ¦ ¦ ¦ ,ik označimo s ^ilti2,...,ik(R)- Namesto zaporednih številk izbranih komponent lahko pišemo tudi imena njim pripadajočih atributov. Projekcija omogoča permutacijo in/ali izbris izbranih stolpcev dane relacije. 5. Izbira temelji na formuli F, ki vsebuje: . konstantne relacije in zaporedne številke komponent, kjer je z-ta komponenta zapisana kot $i; . aritmetične operatorje primerjav: =, <, >, ^, < in >; . logične operatorje: A, V in -. V nadaljevanju poglavja bodo vse formule ustrezale naštetim lastnostim. Tako kot pri projekciji namesto zaporednih številk v F nastopajočih komponent lahko pišemo imena njim pripadajočih atributov. Izbira n-tevic relacije R, ki zadošča 5 Relacijski podatkovni model 77 formuli F, je tedaj množica vseh n-teric iz R, katerih komponente zadoščajo formuli F. Izbiro n-tevic relacije R, ki zadošča formuli F, označimo s uf{R)- Primer 5.2. Vzemimo relaciji R in S, definirani s tabelama: A B C a b C d a f C b d D E F b 9 a d a f Relacija R Relacija S Unija RU S in razlika R— S relacij R in S sta tedaj podani z naslednjima tabelama: a C b b C d a b C d a f C b d b g a d a f RUS R-S Operaciji unije in razlike lahko uporabimo na relacijah R in S kljub različnim atributom stolpcev obeh relacij. Pogoj je le enaka dimenzija relacij. Kartezični produkt R x S relacij R in S prikazuje naslednja tabela: A B C D E F a b C b g a a b C d a f d a f b g a d a f d a f C b d b g a C b d d a f Rx S Ker sta množici atributov relacij R in S disjunktni, lahko te prenesemo na relacijo R x S. Ce pa bi se R in S v katerem atributu ujemali, na primer v G, bi pripadajoča stolpca lahko poimenovali R.G in S.G. Naslednji tabeli podajata še projekcijo tta,c(R) in izbiro UB=b{R)'- 5 Relacijski podatkovni model 78 A B C a b C C b d A C a C d f C d KA,c(R) CTB=b(R) 5.2.2 Izpeljane operacije relacijske algebre Obstaja še vrsta drugih zanimivih operacij nad relacijami, ki jih lahko izrazimo z naštetimi petimi osnovnimi operacijami relacijske algebre. Opisali bomo le nekatere izmed njih - presek, kvocient, spoj, naravni spoj in semispoj. Presek Presek r-mestnih relacij R in S, ki ga označimo z R n S, je presek množic R in S. To je množica vseh r-teric, skupnih relacijama R in S. Atribute danih relacij izpustimo, preseku pa lahko priredimo poljubne (nove) atribute. Relacija R n S, je ekvivalentna relaciji R-(R-S), ki jo iz i? in S* dobimo z uporabo osnovnih operacij relacijske algebre [Ullman-1988]. Velja tudi R — S = R n s , kar pomeni, da bi za osnovno operacijo relacijske algebre namesto razlike lahko vzeli tudi presek. Tako bo v kategornih modelih, ki nimajo komplementov (poglavje 9). Primer 5.3. Vzemimo relaciji R in S iz primera 5.2. Presek RC\ S relacij R in S prikazuje tabela: d | a | / Rns Kvocient Kvocient r-mestne relacije R in s-mestne relacije S, kjer je r > s in S ^ 0, je množica vseh (r — s)-teric (cii,..., ar_s), da je za vse s-terice (ar-s+i,... ,ar) iz S r-terica (a\,..., ar) v R. Kvocient relacij R in S označimo z R -r S, in velja: (ai,..., ar_s) L R^ S <^=^ V(ar._s+i,..., ar) G 5: (ai,..., ar) G R Relacija R -r S je ekvivalentna relaciji ni,2,...,r-s(R) ~ ^l,2,...,r-s((^l,2,...,r-s(R) X S) ~ R), ki jo iz i? in S* dobimo z uporabo osnovnih operacij relacijske algebre [Ullman-1988]. 5 Relacijski podatkovni model 79 Primer 5.4. Naj bosta relaciji R in S podani s tabelama: a b C d a b e f b C e f e d C d e d e f a b d e d f Relacija R Relacija S Kvocient R-r- S relacij R in S prikazuje naslednja tabela: b d R+S Par (a,b) je element relacije R-r- S, ker sta (a,b,c,d) in (a,b,e,f) v R. Par (e,d) je element R-r- S, ker sta v R (e,d, c,d) in (e, d,e, f). Par (b,c), ki je poleg že omenjenih edini, ki se pojavlja v prvih dveh stolpcih relacije R, pa ni element R-r- S, ker (b, c, c, d) ni element relacije R. Spoj Naj bo 9 poljuben aritmetični operator primerjav, torej =, <, >, ^, < ali > . 6-spoj relacij i? in S* na z-tem in j-tem stolpcu, ki ga označimo z R n S, iOj je množica tistih elementov kartezičnega produkta R x S, za katere je z-ta komponenta iz i? v relaciji 9 z j-to komponento iz S. Zaporedne številke stolpcev lahko nadomestimo z atributi, če so dani. Relacija R m S, kjer je R r-mestna relacija, je ekvivalentna relaciji iOj o~ue$(r+j)(R x S), ki jo iz i? in S* dobimo z uporabo osnovnih operacij relacijske algebre [Ullman-1988]. Primer 5.5. Naj bosta relaciji R in S podani s tabelama: A B C 1 2 3 4 5 6 7 8 9 D E 3 1 6 2 Relacija R Relacija S 5 Relacijski podatkovni model 80 Tedaj je R m S oz. R m S naslednja relacija: B 1): • konstante (1, sandra, drevo ...) • spremenljivke (X, Y, A, B ...) • n-mestni predikatni simboli (brat, > ...) • n-mestni funkcijski simboli (koren, glavno_mesto, / ...) • logični vezniki A V - =>- •L>• • kvantifikatorja V 3 • ločila ( ) , : Za konstante, predikatne simbole in funkcijske simbole uporabljamo nize, sestavljene iz malih črk in številk, za spremenljivke pa nize z veliko začetnico. Množico termov logike prvega reda definiramo takole: Konstante in spremenljivke so termi. 2. Ce je / n-mestni funkcijski simbol in so t\, L2, ¦ ¦ ¦ ,tn termi, potem je /(ti, L2, ¦ ¦ ¦ ,tn) term. Naj bo p n-mestni predikat, t\,...,tn pa termi brez funkcijskih simbolov, tj. spremenljivke in konstante. Tedaj izjavo p(ti,... ,tn) imenujemo atomarna formula. Ato-marni formuli p(t\,... ,tn) pripada relacija - podmnožica relacije predikata p, za katero velja: -w Konstante, ki nastopajo v atomarni formuli, se ujemajo z istoležnimi komponentami elementov relacije. -w Vse komponente elementov relacije, ki ustrezajo istim spremenljivkam pripadajoče atomarne formule, so enake. 6 Deduktivni podatkovni model 88 Atomarne formule lahko temeljijo tudi na predikatih aritmetičnih primerjav: =, <, >, <, > ali 7^ . Te predikate bomo imenovali vgrajeni predikati, atomarno formulo 9(X,Y) z vgrajenim predikatom 9 pa bomo pisali kot X9Y. Predikate, ki niso vgrajeni, bomo imenovali običajni predikati. Literal je atomarna formula, tj. pozitivni literal, ali negacija atomarne formule, tj. negativni literal. Negacijo atomarne formule p(t\,... ,tn) označimo z p(ti,... ,tn). Izjava je logična disjunkcija literalov. Hornov stavek je izjava, ki vsebuje največ en pozitivni literal. To je torej: 1. pozitivni literal, ki ga imenujemo dejstvo, ali 2. logična disjunkcija enega ali več negativnih literalov, ki jo imenujemo integritetna omejitev, ali 3. logična disjunkcija enega pozitivnega in enega ali več negativnih literalov, ki jo imenujemo pravilo. Zbirko Hornovih stavkov imenujemo Datalog program. Datalog ne dovoljuje funkcijskih simbolov. Ko bomo v okviru Dataloga govorili o logiki prvega reda, tega ne bomo vedno poudarjali. Dejstva določajo EPZ relacije, pravila pa IPZ relacije. Integritetne omejitve bomo obravnavali šele v poglavju 8. Hornove stavke iz 3. točke definicije imenujemo pravila, ker je Hornov stavek oblike -pi V • • • V -pn V q logično ekvivalenten izjavi p\ A • • • /\pn =>- q. Hornove stavke bomo zapisovali s sintakso programskega jezika Prolog [Colomb-1998]: Dejstvo : p -w p. Integritetna omejitev : —pn -w : — jjx & • • • & pn. Pravilo : -pi - • • • V -pn - q -w q : — pi & • • • & pn. V pravilu q : - pi & • • • & pn. imenujemo atomarno formulo q glava pravila, pi & • • • & pn pa telo pravila. Posamezne atomarne formule pi imenujemo delni cilji. V integritetni omejitvi : - Pi & • • • & pn. imenujemo p\ & • • • & pn telo integritetne omejitve. V glavi pravil nastopajo le IPZ predikati, v telesih pravil pa lahko nastopajo EPZ in IPZ predikati. Spremenljivke, ki nastopajo le v glavi pravila, so pod vplivom delovanja eksistencialnega kvantifikatorja 3 nad glavo pravila, ostale spremenljivke pa so pod vplivom delovanja univerzalnega kvantifikatorja V nad celotnim pravilom. Vse spremenljivke integritetnih omejitev so pod vplivom univerzalnega kvantifikatorja 3. 6 Deduktivni podatkovni model 89 Primer 6.1. Vzemimo pravilo sestra_ brat(X, Y) : — roditelj(X, Z) & roditelj(Y, Z) & X/7. Preberemo ga takole: Za vse X in Y je X sestra oz. brat od Y, če obstaja Z, ki je roditelj (oče ali mati) X in Y, ter X in Y nista isti osebi. Logično ekvivalentno je pravilo interpretirati takole: Za vse X, Y in Z je X sestra oz. brat od Y, če je Z roditelj X in Y, X in Y pa sta različna. Poizvedba podatkovnega modela Datalog je izjava, zapisana v jeziku prvega reda, s katero povprašujemo po podatkih deduktivne podatkovne zbirke. Primer poizvedbe je 3X : sestra_brat(nina,X), ki jo bomo pisali kot sestra_brat(nina, X)? in sprašuje po sestrah in bratih osebe z imenom Nina. Odgovor na poizvedbo je odziv, zapisan v jeziku prvega reda, ki podaja stanje podatkovne zbirke, po katerem sprašujemo. Primer odgovora na zgornjo poizvedbo je: sestra_brat(nina, matej) sestra_brat(nina, maja) Ta odgovor, zapisan s sintakso Prologa, ki pravi, da ima oseba z imenom Nina sestro z imenom Maja in brata z imenom Matej, je videti takole: sestra_brat(nina, matej). sestra_brat(nina, maja). Primer 6.2. Imejmo naslednji relacijski shemi: STRANKE(IME_STRANKA, NASLOV_STRANKA, BILANCA) VSEBINA(#NAROČILO, IME_IZDELEK, KOLIČINA) Atomarna formula stranke(tomaž, Naslov, Bilanca), kjer je tomaž konstanta, Naslov in Bilanca pa sta spremenljivki, predstavlja relacijo °~§i=tomaž{.STRANKE). Atomarna formula vsebina(X, Izdelek, X), kjer sta Izdelek in X spremenljivki, predstavlja relacijo a$i=$3(VSEBINA), torej izdelke, katerih zaporedna številka naročila se ujema z naročeno količino. 6 Deduktivni podatkovni model 90 Izjavni veznik , ki ga uporabljamo v okviru Dataloga, se ponavadi ne ujema z logično negacijo, tj. z izjavnim veznikom -i logike prvega reda. Njegov pomen je odvisen od deduktivne podatkovne zbirke oz. enih predpostavk. Mi bomo uporabljali pomen, ki temelji na predpostavki zaprtega sveta (razdelek 6.4). Med predikati Datalog programov pogosto obstaja vrsta odvisnosti, ki jih ponazorimo s strukturo, imenovano graf odvisnosti. Množico vozlišč grafa odvisnosti Datalog programa tvorijo običajni predikati. Med predikatoma p in q obstaja povezava, če obstaja pravilo z delnim ciljem, ki vsebuje predikat p, in z glavo, ki vsebuje predikat q. Vgrajenih predikatov ne vključimo v množico vozlišč grafa odvisnosti. Če v grafu odvisnosti Datalog programa obstaja vsaj en cikel (lahko tudi zanka), program imenujemo rekurziven, sicer ga imenujemo nerekurziven. Predikate, ki ležijo na katerem od ciklov, imenujemo rekurzivni predikati. Vse predikate nerekurzivnih Datalog programov kakor tudi predikate rekurzivnih Datalog programov, ki niso del nobenega cikla, imenujemo nerekurzivni predikati. Primer 6.3. Vzemimo naslednji Datalog program: (1) sestra_ brat(X, Y) : — roditelj(X, Z) & rodit elj(Y, Z) & X ^ Y. (2) sestrična_ bratranec(X, Y) : — roditelj(X, Xp) & roditelj(Y, Yp) & sestra_ brat(Xp,Yp). (3) sestrična_ bratranec(X, Y) : — roditelj(X, Xp) & roditelj(Y, Yp) & sestrična_ bratranec(Xp, Yp). (4) soroden(X, Y) : — sestra_ brat(X, Y). (5) soroden(X, Y) : — soroden(X, Z) & roditelj(Y, Z). (6) soroden(X, Y) : — soroden(Z,Y) & roditelj(X, Z). Njemu pripadajoč graf odvisnosti je podan s sliko 6.1. soroden sestrična bratranec roditelj Slika 6.1: Graf odvisnosti za Datalog program iz primera 6.3. Zaradi pravila (1) v grafu odvisnosti obstaja povezava med predikatoma roditelj in sestra_ brat. Pravilo (2) porodi povezavo med predikatoma roditelj in sestrična_ bratranec 6 Deduktivni podatkovni model 91 ter povezavo med predikatoma sestra_ brat in sestrična_ bratranec. Povezavo med pre-dikatoma roditelj in sestrična_ bratranec ter zanko na vozlišču sestrična_ bratranec utemeljuje pravilo (3). Druge povezave sledijo iz pravil (4)-(6). Graf odvisnosti, podan s sliko 6.1, vsebuje dva cikla, tj. zanki na vozliščih soroden in sestrična_ bratranec. Predikata soroden in sestrična_ bratranec ter pripadajoč Datalog program so zato rekurzivni, predikata roditelj in sestra_ brat pa sta nerekurzivna. EPZ predikati, za katere vemo, da nastopajo le v telesih pravil, so natanko tisti predikati, katerih vozlišča v grafu odvisnosti nimajo vhodnih povezav, in torej ne morejo biti rekurzivni. Vsi EPZ predikati so zato nerekurzivni. Če naj Datalog pravila predstavljajo operacije nad končnimi relacijami, iz danih končnih relacij ne smejo ustvariti neskončnih relacij. Zato bomo zahtevali, da vsaka spremenljivka, ki v telesu pravila nastopa v atomarni formuli z vgrajenim predikatom, nastopa v telesu istega pravila še v kakšni atomarni formuli z običajnim predikatom, ki ji predpisuje končno množico možnih vrednosti. Prepovedati pa moramo tudi spremenljivke, ki nastopajo le v glavi pravila. Spremenljivke, ki omenjene zahteve izpolnjujejo, imenujemo omejene spremenljivke. Omejene spremenljivke danega pravila lahko opišemo takole: 1. Spremenljivka, ki nastopa v delnem cilju z običajnim predikatom, je omejena. 2. Spremenljivka X, ki nastopa v delnem cilju oblike X = a ali a = X, kjer je a konstanta, je omejena. 3. Spremenljivka X, ki nastopa v delnem cilju oblike X = Y ali Y = X, kjer je Y spremenljivka, za katero vemo, da je omejena, je omejena. Pravilo je varno, če so vse njegove spremenljivke omejene. Z oznako Datalovar.no bomo označevali Datalog programe, ki vsebujejo dejstva in varna pravila brez negacije. Primer 6.4. Pravilo večji(X,Y) : - X > Y. ni varno, saj nobena njegova spremenljivka ni omejena. Pravilo (1) iz primera 6.3 je varno, saj so spremenljivke X, Y in Z, zaradi nastopa v delnih ciljih s predikatom roditelj, omejene. Tudi pravila (2)-(6) so varna. Vzemimo še pravilo p(X,Y) :- q(X,Z) & W = a & Y = W. Spremenljivki X in Z sta omejeni zaradi 1. točke definicije omejenih spremenljivk, W je omejena zaradi 2. točke, Y pa posledično zaradi 3. točke iste definicije. Ker so vse spremenljivke omejene, je pravilo varno. 6 Deduktivni podatkovni model 92 6.3 Semantika Dataloga Logična pravila lahko interpretiramo na tri različne načine: 1. Interpretacija z dokazi: Znana dejstva vstavimo v desne strani logičnih pravil in izpeljemo nova dejstva, tj. leve strani pravil. Množico vseh dejstev, ki jih lahko tako dokažemo, imenujemo dokazljiva dejstva. Izkaže se (razdelek 6.3.3), da se v primeru pravil z negacijo množica dokazljivih dejstev in intuitivni pomen pravil pogosto ne ujemata. 2. Interpretacija z modeli: Posameznim nastopom določenega predikata pripišemo vrednost resnično ali napačno (oz. neresnično). Množico resničnih nastopov imenujemo interpretacija. Taka interpretacija je model množice pravil, če uresničuje vsa pravila (primer 6.5). Če po odstranitvi poljubnega resničnega dejstva model postane nekonsistenten s podatkovno zbirko, ga imenujemo minimalni model. Izkaže se (razdelek 6.3.3), da v primeru pravil z negacijo pogosto obstaja celo več minimalnih modelov in da včasih nobeden izmed njih ne ustreza množici dokazljivih dejstev. Določen nastop danega n-mestnega predikata je resničen natanko tedaj, ko njemu pripadajoča relacija podatkovne zbirke vsebuje to n-terico kot element. 3. Interpretacija z algoritmi: Z različnimi algoritmi ugotavljamo resničnost morebitnih dejstev. Ta način določanja pomena logičnih pravil uporablja programski jezik Prolog. Na žalost se izkaže [Ullman-1988], da se množica dejstev, ki jih najde Prolog, in množica vseh dokazljivih dejstev ne ujemata vedno. Množica dejstev, ki jih najde Prolog, niti ni nujno model. Ko bomo uporabljali ta način interpretacije, bomo pravila pretvorili v izraze relacijske algebre. Za Datalog pravila brez negacije bomo dokazali (razdelek 6.3.2), da taka interpretacija porodi enoličen minimalni model in (zato) množico dokazljivih dejstev. V primeru negacije se bomo omejili na posebno podmnožico Datalog programov in zapisali algoritem za izračun (ne nujno enoličnega) minimalnega modela. Primer 6.5. Oglejmo si primer interpretacije z modeli. Vzemimo naslednji pravili: (1) p(X) :- q(X). (2) q(X) :- r(X). Za domene predikatov p, q in r vzemimo množico naravnih števil. Pravili pravita, da je p resničen za vsa naravna števila, za katera je resničen q, in da je q resničen za vsa naravna števila, za katera je resničen r. Naj bo M\ = {r(1),q(1),p(1),q(2),p(2),p(3)} interpretacija danih pravil. Zanima nas, ali je M\ tudi model. Ko v pravilo (1) vstavimo X = 1, postaneta obe strani pravila resnični. Enako se zgodi, ko vstavimo X = 1 v pravilo (2) ali X = 2 v pravilo (1). Te vrednosti torej dani pravili uresničujeta. Ko pa X = 2 vstavimo v pravilo (2) ali X = 3 v pravilo (1), postane leva stran resnična, desna pa ne. Tudi to je način uresničitve 6 Deduktivni podatkovni model 93 danih pravil. Ce vstavimo X = 3 v pravilo (2) ali katero koli naravno število različno od 1, 2 in 3 v katero koli pravilo, postaneta obe strani izbranega pravila neresnični, pravilo pa resnično. Ugotovili smo, da interpretacija M1 uresničuje vsa pravila, kar pomeni, da je model. V nadaljevanju bomo obravnavali tri podmnožice Datalog pravil, namreč nerekurzivna Datalog pravila (razdelek 6.3.1), rekurzivna Datalog pravila (razdelek 6.3.2) in Datalog pravila z negacijo (razdelek 6.3.3). Njihova kompleksnost narašča v tem vrstnem redu. 6.3.1 Interpretacija nerekurzivnih Datalog pravil Za interpretacijo nerekurzivnih Datalog pravil bomo uporabljali interpretacijo z algoritmi. Pokazali bomo, da lahko nerekurzivna Datalogmr.rao pravila pretvorimo v izraze relacijske algebre. Ti izrazi izračunajo relacije IPZ predikatov, ki so hkrati minimalni model pravil in množica IPZ dejstev, izpeljivih iz pravil in podatkovne zbirke. Ker graf odvisnosti nerekurzivnega Datalogmr.rao programa ne vsebuje ciklov, ga topo-loško uredimo. Vozlišča p1,... ,pn grafa odvisnosti uredimo, tako da za povezave povelja i < j. Relacije, ki ustrezajo atomarnim formulam s predikati p1,... ,pn, lahko tedaj računamo v tem vrstnem redu. Ko bomo računali relacijo za pi, bomo relacije, pripadajoče delnim ciljem za pi, že poznali. Prvi korak pri pretvorbi danega pravila v izraz relacijske algebre je najti množico vrednosti, ki jih lahko zavzamejo spremenljivke, da bo glava pravila resnična. V ta namen definirajmo t. i. relacijo telesa pravila. Ta relacija s spremenljivkami X1,..., Xn kot atributi vsebuje element (ci1,... ,an) natanko tedaj, ko so vsi delni cilji danega pravila po zamenjavi spremenljivk s pripadajočimi a» (1 < i < n) resnični. Rekli bomo, da zamenjava delne cilje uresniči. Algoritem 1 opisuje konstrukcijo izraza relacijske algebre, ki ustreza relaciji telesa vhodnega nerekurzivnega Datalogmr.rao pravila. Algoritem 1. Izračun izraza relacijske algebre, ki ustreza relaciji telesa NEREKURZIVNEGA DATALOG1)or.„0 PRAVILA. VHOD: Telo nerekurzivnega Datalog^^o pravila r, ki sestoji iz delnih ciljev S1,..., Sn, ki vsebujejo spremenljivke X1,..., Xm. Delnemu cilju Si = Pi(A1,..., A^) z običajnim predikatom pripada relacija Ri, katere argumenti so termi A1,..., A^. IZHOD: Izraz relacijske algebre, imenovan EVAL-RULE(r, R1} . . . , Rn), ki iz relacij R1,..., Rn izračuna relacijo R(X1,..., Xm), katere elementi so natanko tiste m-terice (a1,..., am), da zamenjava Xj z a,j, 1 < j < m, delne cilje S1,... ,Sn uresniči. 6 Deduktivni podatkovni model 94 Delni cilji, ki vsebujejo vgrajene predikate, nimajo pripadajočih relacij. Zaradi tega je število argumentov Rj v EVAL-RULE ponavadi manjše od n. POSTOPEK: Izračun je razdeljen na več korakov: 1. Za vsak delni cilj Si, ki vsebuje običajni predikat, definiramo izraz Qi = ^Vi(crFi(Ri)), kjer je Vi množica, ki za vsako spremenljivko X iz Si vsebuje po eno zaporedno številko komponente enake X (ista spremenljivka lahko v danem delnem cilju nastopa večkrat). Formula Fi je logična konjunkcija: • Če je na fc-tem mestu delnega cilja Si konstanta a, formula Fi vsebuje izraz $k = a. • Če je na fc-tem in /-tem mestu delnega cilja Si ista spremenljivka, formula Fi vsebuje izraz $k = $/. Pri tem ni nujno, da formula Fi vsebuje izraze te oblike za vse take pare k in /. Dodati je treba le toliko parov, da zagotovimo enakost vseh nastopov iste spremenljivke. Če npr. spremenljivka X nastopa na mestih 2, 5 in 6, zadostuje dodati izraza $2 = $5 in $5 = $6. Če je Si tak, da ne izpolnjuje nobenega izmed zgornjih pogojev, na primer Si = p(X,Y), tedaj je Fi tavtologija in Qi = Ri. 2. Za vsako spremenljivko X, ki ne nastopa v nobenem delnem cilju z običajnim predikatom, izračunamo izraz Dx kot enomestno relacijo, katere elementi so vrednosti, ki jih X zavzame v določilu, ki uresniči vse delne cilje pravila r. Ker je pravilo r varno, je spremenljivka X omejena ali z delnim ciljem X = a oz. a = X ali z verižno izenačitvijo z neko omejeno spremenljivko Y. Ravnamo takole: • Če je X = a ali a = X delni cilj, definiramo Dx = {a}. • Če se Y pojavi kot j-ti argument običajnega delnega cilja Si, definiramo Dx = n3(Rt). 3. Naj bo E naravni spoj vseh Qi in Dx, definiranih v 1. in 2. koraku tega algoritma. Pri tem za atribute relacije Qi vzamemo spremenljivke iz Si, za edini atribut relacije Dx pa X. Ker relaciji Dx pripadajoča spremenljivka X ni atribut nobenega Qi, naravni spoj vsebuje kartezični produkt vseh DX- Definiramo EVAL-RULE(r, R1} . . . , Rn) = (JF(E), kjer je F konjunkcija vseh vgrajenih delnih ciljev X9Y, E pa izraz, definiran v 3. koraku algoritma. Če pravilo r ne vsebuje vgrajenih delnih ciljev, definiramo EVAL-RULE(r, R1, ..., Rn) = E. 6 Deduktivni podatkovni model 95 Primer 6.6. Vzemimo nerekurzivno Datalogvarno pravilo (1) iz primera 6.3: sestra_ brat(X, Y) : — roditelj(X, Z) & roditelj(Y, Z) & X/7. Pravilo poimenujmo r. S pomočjo algoritma 1 poiščimo izraz relacijske algebre, ki podaja relacijo telesa pravila r. Naj bosta RODITELJ(X, Z) in RODITELJ(Y, Z) relacijski shemi dveh kopij relacije RODITELJ, ki pripadata edinima delnima ciljema z običajnim predikatom, tj. delnima ciljema roditelj(X, Z) in roditelj(Y, Z). 1. Formuli F\ in F2, ki pripadata delnima ciljema roditelj(X, Z) in roditelj(Y, Z), sta po algoritmu 1 tavtologiji, zato definirajmo: Qi(X, Z) = RODITELJ(X, Z) Q2(Y, Z) = RODITELJ(Y, Z) 2. Vse spremenljivke pravila r, tj. X, Y in Z, nastopajo v vsaj enem delnem cilju z običajnim predikatom, zato 2. korak algoritma izpustimo. 3. Izraz E definirajmo kot naravni spoj relacij Q\ in Q2: E = RODITELJ(X, Z) n RODITELJ(Y, Z) V poglavju 5 smo povedali, da je naravni spoj komutativna operacija na relacijah, zato vrstni red spajanja relacij ni pomemben. 4- Ker pravilo r vsebuje le en delni cilj z vgrajenim predikatom, namreč X ^ Y, je EVAL-RULE(r, RODITELJ) = ax=r(RODITELJ(X,Z) n RODITELJ(Y, Z)). Torej, relacija telesa pravila r je podmnožica tistih trojk (x, y, z) iz RODITELJ(X, Z) m RODITELJ(Y, Z), katerih prvi dve komponenti sta različni ter je (x,z) G RODITELJ in (y,z) G RODITELJ. To so natanko tiste trojke (x,y,z), ki vse delne cilje pravila r uresničijo. Primer 6.7. Vzemimo sedaj nerekurzivno Datalogvarno pravilo: p(X,Y) :- s(a,X) & t(X,Z,X) & u(Y,Z). Pravilo poimenujmo r. S pomočjo algoritma 1 poiščimo izraz relacijske algebre, ki podaja relacijo telesa pravila r. Naj bodo S, T in U relacije, ki pripadajo delnim ciljem pravila. Ker je prva komponenta delnega cilja s(a,X) konstanta, je Fs enak $1 = a in Qs(X) = 7r2(an=a(S)). 6 Deduktivni podatkovni model 96 Ker je na prvem in tretjem mestu delnega cilja t(X, Z, X) spremenljivka X, je Ft enak $1 = $3 in Qt(X, Z) = 7r1)2(<7$1=$3(T)). Formula Fu, ki pripada delnemu cilju u(Y, Z), je po algoritmu 1 tavtologija in QU(Y,Z) = U(Y,Z). 2. Vse spremenljivke pravila r, tj. X, Y in Z, nastopajo v vsaj enem delnem cilju z običajnim predikatom, zato 2. korak algoritma izpustimo. 3. Izraz E definirajmo kot naravni spoj relacij Qs, Qt in Qu: E = 7T2(a$1=a(S)) N 7T1)2(<7$1=$3(T)) N U(Y, Z) V 5. poglavju smo povedali, da je naravni spoj asociativna in komutativna operacija na relacijah, zato vrstni red spajanja relacij ni pomemben. 4- Ker pravilo r ne vsebuje delnih ciljev z vgrajenimi predikati, definiramo: EVAL-RULE(r,S,T, U) = 7T2(o-$1=a(S)) n 7T1)2(a$1=$3(T)) n U(Y,Z) Relacija P je množica trojk (x,y,z), za katere velja: (a,x) G S, (x,z,x) E T in (y,z) G U. To so natanko tiste trojke (x,y,z), ki vse delne cilje pravila r uresničijo. Algoritem 1 je pravilen - izhodna relacija R(X1,... ,Xm) vsebuje natanko tiste elemente (a1,... ,am), ki po zamenjavah X,- z o,-, 1 < j < m, vse delne cilje pravila uresničijo [Ullman-1988]. Naslednji korak pri pretvorbi danega pravila v izraz relacijske algebre je relacijo telesa pravila pretvoriti v relacijo IPZ predikata p, ki nastopa v glavi. Osnovna ideja je, da vzamemo vsa pravila s predikatom p v glavi, izračunamo relacije teles teh pravil, jih projiciramo na spremenljivke, ki nastopajo v glavah, in jih z operacijo unije združimo. Težava se pojavi, ko v glavah s predikatom p nastopajo konstante ali podvojene spremenljivke, kot je na primer p(a,X,X). Množico pravil za predikat p, katerih glave so enake p(X1,..., Xk), kjer so X1,..., Xk paroma različne spremenljivke, bomo imenovali množica urejenih pravil. Dane množice neurejenih pravil za predikat p pa ni težko urediti. Naj ima pravilo r glavo oblike p(t1,..., tfc), kjer t1,..., tfc niso nujno paroma različni termi. Glavo pravila r zamenjamo s p(X1,... ,Xk), kjer so X1,... ,Xk paroma različne, nove spremenljvke, v telo pravila r pa za 1 < i < k dodamo delne cilje Xi = ti. Če je tj spremenljivka nekega pravila, lahko namesto da bi pravilu dodali delni cilj Xi = ti, vse ti zamenjamo z Xj. Tako zamenjavo lahko v danem pravilu za vsak ti naredimo samo enkrat, saj lahko ob večkratni zamenjavi spet dobimo podvojene spremenljivke. 6 Deduktivni podatkovni model 97 Primer 6.8. Vzemimo predikat p, definiran z naslednjima praviloma: p(a,X,Y) :- q(X,Y). p(X,Y,X) :- q(Y,X). Pravili uredimo tako, da njuni glavi zamenjamo s p(U, V, W) in telesoma dodamo ustrezne delne cilje: p(U,V,W) :- q(X,Y) & U = a & V = X & W = Y. p(U,V,W) :- q(Y,X) & U = X & V = Y & W = X. Namesto delnih ciljev V = X in W = Y, ki smo ju dodali prvemu pravilu, lahko vse X zamenjamo z V in vse Y z W. Podobno lahko v drugem pravilu vse X zamenjamo z U in vse Y z V. Dobimo urejeni pravili: p(U, V,W) : - q(V, W) & U = a. p(U, V,W) : - q(V, U) & W = U. Naj bo r' pravilo, ki ga iz r dobimo po urejanju. Tedaj velja [Ullman-1988]: a.) Če je pravilo r varno, je varno tudi pravilo r'. b.) Pravili r in r' sta ekvivalentni, kar pomeni, da ob danih relacijah vseh delnih ciljev obeh pravil velja: zamenjava spremenljivk pravila r, ki vse delne cilje uresniči, glavo pa spremeni v p(a\,..., an), obstaja natanko tedaj, ko obstaja zamenjava spremenljivk pravila r', ki vse delne cilje uresniči, glavo pravila r' pa spremeni v p(cii,... ,an). Relacije teles urejenih nerekurzivnih Datalog^^^ pravil pretvorimo v relacijo predikata, tako da jih projiciramo na spremenljivke, ki nastopajo v glavah, in jih z operacijo unije združimo. Postopek opisuje algoritem 2. Algoritem 2. Izračun izrazov relacijske algebre, ki ustrezajo posameznim IPZ PREDIKATOM NEREKURZIVNEGA DATALOG,,or.„„ PROGRAMA. VHOD: Nerekurziven Datalog^ar.no program in relacije Ri,... ,Rm, pripadajoče posameznim delnim ciljem z EPZ predikati. IZHOD: Za vsak IPZ predikat p po en izraz relacijske algebre, ki iz relacij R\,..., Rm izračuna relacijo predikata p. POSTOPEK: Konstruiramo graf odvisnosti vhodnega nerekurzivnega Datalog^^^, programa in predikate p\,... ,pn uredimo, tako da za vsako povezavo piPj velja i < j. Ker je program nerekurziven, ne vsebuje ciklov, zato tak vrstni red obstaja. IPZ predikat pi izračunamo po naslednjem postopku: 6 Deduktivni podatkovni model 98 1. Za vsako pravilo r, katerega glava vsebuje pi, dobimo z uporabo algoritma 1 izraz Er relacijske algebre, ki iz relacij delnih ciljev pravila r izračuna relacijo Rr telesa pravila r. 2. Ker je vhodni Datalogi,ar.rao program nerekurziven, razpolagamo z vsemi izrazi relacijske algebre, ki z uporabo EPZ relacij izračunajo relacije delnih ciljev pravila r. V izrazu Er vse IPZ relacije zamenjamo s pripadajočimi izrazi in dobljen izraz poimenujemo Fr. 3. Predpostavimo lahko, da so glave posameznih pravil zap» vse enake Pi(Xi,..., Xk). To dosežemo po ustreznem preimenovanju spremenljivk. Izraz relacijske algebre, ki izračuna relacijo Pi IPZ predikata pi, je tedaj unija projekcij 7rx1,...,xk(Fr), pripadajočih posameznim pravilom r za pi. Primer 6.9. Vzemimo naslednji nerekurziven Datalogvarno program: (1) p(a,Y) (2) p(X,Y) (3) q(X,X) (4) q(X,Y) t(X,Y). s{X,Z) & t(Z,Y). p(X,b). p(X,Z) & s(Z,Y). Naj bosta S in T relaciji, ki pripadata EPZ predikatoma s in t. Z uporabo algoritma 2 poiščimo izraza relacijske algebre, ki izračunata relaciji P in Q, pripadajoči IPZ predikatoma p in q. Dana pravila Datalogvarno programa najprej uredimo. Dobimo množico pravil: (1) p(X,Y) (2) p(X,Y) (3) q(X,Y) (4) q(X,Y) t(Z,Y) & X = a. s{X,Z) & t(Z,Y). p(X,b) & Y = X. p(X,Z) & s(Z,Y). Ustrezen vrstni red predikatov je naslednji: s, t, p, q. Relaciji P in Q IPZ predikatov p in q računamo v omenjenem vrstnem redu. Sledi izračun relacije P. 1. Z uporabo algoritma 1 izračunamo Epi in Ep2, tj. izraza relacijske algebre, ki izračunata relaciji teles pravil (1) in (2), katerih glava vsebuje IPZ predikat p. Dobimo Epl = T(Z,Y) *DX(X), kjer je Dx = {a}, in Ep2 = S(X,Z) mT(Z,Y). 2. Izraza Epi in Ep2 ne vsebujeta nobene IPZ relacije, zato 2. korak algoritma izpustimo. 6 Deduktivni podatkovni model 99 3. Izraz relacijske algebre, ki izračuna relacijo P, je tedaj unija projekcij 7rXtY(Ep1) in 7rXtY(Ep2), torej P(X,Y) = ttxx(T(Z,Y) n {a}(X)) U ttx,y(S(X,Z) n T(Z,Y)). Sledi še izračun relacije Q. 1. Z uporabo algoritma 1 izračunamo Eq1 in Eq2, tj. izraza relacijske algebre, ki izračunata relaciji teles pravil (3) in (4), katerih glava vsebuje IPZ predikat q. Postopek tokrat opišimo nekoliko podrobneje. Za delni cilj p(X, b) pravila (3) dobimo izraz 7TX(az=b(P(X,Z))), kjer je Z poljubno izbrana spremenljivka, ki pri projekciji izgine. Ta izraz podaja relacijo, katere edini atribut je X, zato za končni izračun relacije Q(X,Y) potrebujemo še izraz, ki bo določal vse možne vrednosti spremenljivke Y. Ker sta X in Y v delnem cilju Y = X izenačena, vemo, da je domena Y lahko le podmnožica domene spremenljivke X. Za domeno spremenljivke Y tedaj lahko vzamemo domeno prvega argumenta relacije P, torej tty(P(Y,W)), kjer je W poljubno izbrana spremenljivka. Izraz relacijske algebre, ki izračuna relacijo telesa pravila (3), je tedaj naravni spoj (v tem primeru kar kartezični produkt) izraza za p(X, b) in domene spremenljivke Y, zaradi vgrajenega delnega cilja dodatno okrnjen z izbiro Y = X : Eq1 = aY=X(7rx(az=b(P(X,Z))) x tty(P(Y, W))) Za pravilo (4) pa dobimo izraz Eq2 = P(X,Z) n S(Z,Y). 2. V izrazih Eq1 in Eq2 nadomestimo IPZ relacijo P z že izračunanim izrazom P(X,Y), ki vsebuje le EPZ relacije. Dobimo Fq1 in Fq2. 3. Izraz relacijske algebre, ki izračuna relacijo Q, je tedaj unija projekcij 7rXy(Fq1) in7vX}Y(Fq2), torej Q(X,Y) = aY=X(7rx(az=b(P(X,Z)))x7rY(P(Y,W))) U nXtY(P(X,Z) mS(Z,Y)), kjer je IPZ relacijo P treba zamenjati z ekvivalentnim izrazom P(X, Y), ki vsebuje le EPZ relacije. Algoritem 2 pravilno določi izraze relacijske algebre posameznih IPZ predikatov -izhodne relacije porodijo natanko tista dejstva, ki sledijo iz dejstev in pravil dane podatkovne zbirke [Ullman-1988]. 6 Deduktivni podatkovni model___________________________________100 6.3.2 Interpretacija rekurzivnih Datalog pravil Algoritem 2 za rekurzivne Datalog programe ni primeren. To pa zato, ker predikatov rekurzivnega programa ni mogoče urediti tako, da bi za vsako povezavo piPj v grafu odvisnosti veljalo i < j. Če pa to ne velja, bi, ko bi želeli izračunati relacijo prvega rekurzivnega IPZ predikata, obstajalo pravilo s še nedosegljivo relacijo za nek njegov delni cilj. Za interpretacijo rekurzivnih Datalog pravil bomo uporabili interpretacijo z dokazi. Iskanja množice veljavnih dejstev se namreč lahko lotimo tudi tako, da začnemo z EPZ dejstvi in pravili, iz katerih izpeljemo končno množico novih dejstev oblike p(a1,..., a^), kjer je p IPZ predikat, vsebovan v pravilih, ci1,... ,ak pa konstante, zapisane v podatkovni zbirki. V naslednjih korakih z uporabo vedno več novih dejstev izpeljemo še več dejstev. Ker razpolagamo s končno množico dejstev in pravil, se ta postopek konča. Naj bodo torej R1,...,Rk EPZ relacije, P1,...,Pm pa še neizračunane IPZ relacije nekega rekurzivnega Datalogmr.rao programa. Množica dokazljivih dejstev za predikat Pi, pripadajoč IPZ relaciji Pi, je tedaj enaka Pi = EVAL(pi, R1,...,Rk,P1,...,Pm), kjer je EVAL unija EVAL-RULE posameznih pravil za Pi (definiranih v algoritmu 1), projiciranih na spremenljivke iz glave pravila pi. Na začetku so vse relacije Pj, 1 < j < m, prazne, postopek pa se konča, ko nobeni relaciji ne dodamo novih dejstev. Enačbe, ki jih iz programa izpeljemo na opisan način, imenujemo Datalog enačbe. Primer 6.10. Vzemimo pravila iz primera 6.3, ki so del rekurzivnega Datalogvarno programa. Naj relacije RODITELJ, SESTRA_BRAT, SESTRIČNA_BRATRANEC in SORODEN po vrsti pripadajo predikatom roditelj, sestra_brat, sestrična_bratranec in soroden. Pravila definirajo naslednje Datalog enačbe: SESTRA_BRAT(X,Y) = tvx,y(o-x^y(RODITELJ(X,Z) n RODITELJ(Y, Z))) SESTRIČNA_BRATRANEC = ivx,y(RODITELJ(X,Xp) n RODITELJ(Y,Yp) n SESTRA_BRAT(Xp,Yp)) U -Kxy(RODITEL(x,Xp) n RODITELJ(Y,Yp) n SESTRIČNA_ BRATRANEC(XP, Yp)) SORODEN(X,Y) = SESTRA_BRAT(X,Y) U tvx,y(SORODEN(X,Z) n RODITELJ(Y, Z)) u tvx,y(SORODEN(Z,Y) n RODITELJ(X,Z)) V splošnem obstaja več rešitev danega sistema Datalog enačb. Rešitev sistema, ki glede na EPZ relacije R1,... ,Rk ustreza IPZ predikatom, pa imenujemo negibna točka. Za negibno točko P1,..., Pm sistema Datalog enačb glede na EPZ relacije R1,... ,Rk velja, 6 Deduktivni podatkovni model 101 da tvori skupaj z relacijami R1,..., Rk model za dejstva in pravila, na katerih temelji dan sistem enačb [Ullman-1988]. Obratno, da je torej poljuben model za množico Datalogmr.rao dejstev in pravil tudi negibna točka pripadajočih Datalog enačb, pa ne velja več. Model namreč lahko, poleg danih dejstev, izpolnjuje še dejstva, ki nastopajo le na levi strani enačb (primer 6.11). V nadaljevanju se bomo osredotočili na negibne točke in minimalne modele Datalogmr.rao programov, tj. modele, ki zadoščajo izključno dejstvom in pravilom danega programa. Izkaže se, da ima vsak Datalogmr.rao program en sam minimalni model. Ta model vsebuje vse dane EPZ relacije in je glede na te relacije edina negibna točka pripadajočega sistema Datalog enačb. To negibno točko imenujemo najmanjša negibna točka. Naj bodo P1,..., Pm spremenljivke (relacije) sistema Datalog enačb, ki pripadajo IPZ predikatom p1,... ,pm. Naj bodo R1,... ,Rk relacije EPZ predikatov r1,..., r\. Rešitev ali negibna točka (lede na EPZ relacije R1,..., Rk priredi spremenljivkam P1,..., Pm relacije P1( ,..., Pm , ki zadoščajo enačbam sistema. Naj bosta S1 = P1( ,..., Pm in S2 = P1 , ¦ ¦ ¦, Pm dve rešitvi sistema enačb. Pravimo, daje S1 < S2, če je relacija P( (2) ~ podmnožica relacije ^ za 1 < i < m. Ce pa je S1 < S2 in S1 ^ S2, pišemo S1 < S2. Negibno točko S0 imenujemo najmanjša negibna točka danega sistema Datalog enačb glede na EPZ relacije R1,..., Rk, če za vsako rešitev S velja S0 < S. Če pa ne obstaja negibna točka S, za katero bi veljalo S < S0, negibno točko S0 imenujemo minimalna negibna točka. Če obstaja najmanjša negibna točka, je ta točka edina minimalna negibna točka. Obstaja pa lahko več različnih minimalnih negibnih točk, ki niso v relaciji <. V tem primeru najmanjša negibna točka ne obstaja. Primer 6.11. Oglejmo si problem izračuna tranzitivnega zaprtja usmerjenega grafa. Definirajmo EPZ predikat povezava - dejstvo povezava(X, Y) naj bo resnično natanko tedaj, ko obstaja usmerjena povezava iz vozlišča X v vozlišče Y. Sprehode v grafu lahko tedaj najnazorneje opišemo z naslednjima Datalogvarno praviloma: (1) sprehod(X,Y) : — povezava(X,Y). (2) sprehod(X,Y) : — sprehod(X,Z) & sprehod(Z,Y). Prvo pravilo pravi, da sprehod lahko sestavlja ena sama povezava, drugo pa, da je sklop dveh sprehodov, kjer se končno vozlišče prvega in začetno vozlišče drugega sprehoda ujemata, sprehod, ki se začne v začetnem vozlišču prvega sprehoda in konča v končnem vozlišču drugega sprehoda. Naj relacija POVEZAVA pripada predikatu povezava. Tedaj lahko pravili (1) in (2) pretvorimo v skupno Datalog enačbo za relacijo SPREHOD predikata sprehod: SPREHOD(X,Y) = POVEZAVA(X,Y) U itx,y(SPREHOD(X,Z) n SPREHOD(Z,Y)) 6 Deduktivni podatkovni model 102 Vzemimo model danega Datalogvarno programa, v katerem množica konstant ustreza množici vozlišč {1,2,3} in relacija POVEZAVA = {(1,2), (2,3)} paru povezav 1 —> 2 in 2 —> 3. Poiščimo IPZ relacijo SPREHOD. Pravilo (1) pravi, da sta (1,2) in (2,3) elementa relacije SPREHOD, iz pravila (2) pa sledi (1,3) G SPREHOD. Opazimo, da je SPREHOD = {(1, 2), (1, 3), (2, 3)} rešitev Datalog enačbe za relacijo SPREHOD. To je {(1,2),(1,3),(2,3)} = {(1,2),(2,3)}U 7rx,y({(l,2),(l,3),(2,3)} n {(1, 2), (1, 3), (2, 3)}). Pri tem ne smemo pozabiti, da je levi operand naravnega spoja relacija z atributoma X in Z, desni operand pa relacija z atributoma Z in Y. Izraz nxyiSPREHODiX^Z) m SPREHOD(Z, Y)) je tedaj enak {(1,3)}. Rezultat, ki smo ga dobili, predstavlja množico vseh dejstev, ki jih lahko izpeljemo. Ta model pa je tudi minimalni model danega Datalogvarno programa in SPREHOD je najmanjša negibna točka dane Datalog enačbe glede na EP Z relacijo POVEZAVA. Rešitev SPREHOD = {(1, 2), (1, 3), (2, 3)} pa ni edina rešitev dane Datalog enačbe. Recimo, da je tudi (1,1) G SPREHOD. Ker zaradi elementa (1,1) ne izpeljemo novih dejstev, velja POVEZAVA = {(1,2), (2, 3)} in SPREHOD = {(1,1), (1, 2), (1, 3), (2, 3)}. Sledi še ena rešitev: {(1,1),(1,2),(1,3),(2,3)} = {(1,2),(2,3)}U 7rx,y({(l,l),(l,2),(l,3),(2,3)} n {(1,1), (1, 2), (1, 3), (2, 3)}) Tudi vrednost relacije SPREHOD, ki bi vsebovala vseh devet parov (i, j), 1 < i, j < 3, bi zadoščala dani Datalog enačbi. Obstajajo pa vrednosti relacije SPREHOD, ki tej enačbi ne zadoščajo, kot na primer SPREHOD = {(1, 2), (1, 3), (2, 3), (3,1)}. Tedaj velja {(1,2),(1,3),(2,3),(3,1)} ^ {(1,2),(2,3)}U 7rx,y({(l,2),(l,3),(2,3),(3,l)} n {(1, 2), (1, 3), (2, 3), (3,1)}), saj je vrednost izraza nxyi.SPREHODiX^Z) x SPREHOD(Z,Y)) v tem primeru enaka {(1,1), (1, 3), (2,1), (3, 2), (3, 3)}, iz česar sledi neenakost obeh strani. Vzemimo še model danega Datalogvarno programa s POVEZAVA = 0 in SPREHOD = {(1,2)}. Ker ne obstaja zamenjava, ki bi uresničila telo povezava(X,Y) pravila (1), je pravilo resnično za vsako zamenjavo spremenljivk. Za pravilo (2) ne obstaja konstanta, s katero bi lahko zamenjali spremenljivko Z, da bi uresničili oba delna cilja, sprehod(X, Z) in sprehod(Z,Y). Sledi, tudi pravilo (2) je resnično za vsako zamenjavo spremenljivk. Sklenemo lahko, da je množica dejstev, ki vsebuje le SPREHOD(l,2), model danega Datalogvarno programa. Kljub temu pa relaciji POVEZAVA in SPREHOD naši Datalog enačbi ne zadoščata, {(1,2)} ^ 0 U w({(1,2)}k{(1,2)}), 6 Deduktivni podatkovni model 103 saj je vrednost izraza na desni enaka 0. Sledi, SPREHOD = {(1,2)} ni negibna točka dane Datalog enačbe glede na EPZ relacijo POVEZAVA = 0. Pri reševanju sistema Datalog enačb, kjer so R1,..., Rk relacije vsebovanih EPZ predika-tov r1,..., ffc, na začetku predpostavimo, da so vse spremenljivke P1,..., Pm, ki pripadajo IPZ predikatomp1,... ,pm, prazne relacije. Z uporabo operacije EVAL na trenutnih vrednostih IPZ relacij in nespreminjajočih se vrednostih EPZ relacij dobimo nove vrednosti IPZ relacij P1,..., Pm. Ta postopek, opisan z algoritmom 3, nadaljujemo, dokler se nobena od IPZ relacij ne spremeni več. Algoritem 3. Izračun najmanjše negibne točke Datalog enačb. VHOD: Datalog^jTOo program z EPZ predikati r1,...,ffc, s pripadajočimi relacijami R1,..., Rk in IPZ predikati p1,... ,pm- IZHOD: Najmanjša negibna točka sistema Datalog enačb glede na R1,..., Rk, ki sledi iz vhodnega programa. POSTOPEK: Poiščimo sistem Datalog enačb, ki pripada vhodnemu Datalog^^^ programu. V sistemu enačb nastopajo spremenljivke P1,..., Pm, ki ustrezajo IPZ predi-katom p1,... ,pm- Spremenljivki P» tedaj pripada enačba Pi = EVAL(pi, R1,...,Rk,P1,...,Pm), ki jo rešujemo iterativno: za i = 1 do m naredi Pi := 0; ponavljaj za i = 1 do m naredi ^=ii : -*i; za i = 1 do m naredi Pi := EVA(pi,R1,... ,Rk,Q1,... ,Qm); dokler Pi = Qi za 1 < i < m; Primer 6.12. Vzemimo pravila iz primera 6.3 in EPZ relacijo RODITELJ = {(c,a),(d,a),(d,b),(e,b),(f,c),(f,e),(g,c), (h, d), (i, d), (i, e), (j, /), (j, h), (k, g), (k, i)}, ki pripada EPZpredikatu roditelj. Naj SESTRA_ BRAT, SESTRIČNA_ BRATRANEC in SORODEN pripadajo IPZ predikatom sestra_brat, sestrična_bratranec in soroden. 6 Deduktivni podatkovni model 104 Pripadajoč sistem Datalog enačb je zapisan v primeru 6.10. Tabela 6.1 prikazuje iterativno dodajanje elementov relacijam SESTRA_BRAT, SESTRIČNA_BRATRANEC in SORODEN v skladu z algoritmom 3. S1 S2 S3 1 cd de fg hi fi 2 fh fi ii gh gi hi j k cd de fg hi fi 3 33 kk df dg ch di ci eh ei gj fk hk ij 4 fh dj gh j k gi dk cj ii ck ej ek 5 fj hj gk ik 6 33 kk Tabela 6.1: Prikaz delovanja algoritma 3 na Datalog programu iz primera 6.3. Pri tem smo uporabili nekatere okrajšave: imena relacij SESTRA_BRAT, SESTRIČNA_BRATRANEC in SORODEN smo zamenjali z 51, 5*2 in 5*3, urejene pare oblike (/, h) smo zapisali kot fh, zaradi simetričnosti vseh IPZ relacij pa smo prikazali le tiste elemente, katerih prva komponenta je po abecednem redu pred drugo komponento. Na začetku algoritem 3 relacijam SESTRA_BRAT, SESTRIČNA_BRATRANEC in SORODEN priredi vrednost 0. V 1. iteraciji zato dobimo naslednje delne rezultate: SESTRA_BRAT1(X, Y) := EVAh(sestra_ brat, RODITELJ, 0, 0, 0) = tvx,y(<7XtLy(RODITELJ(X,Z) n RODITEL(Y,Z))) SESTRIČNA_BRATRANECl(X,Y) := EVAL(sestrična_ bratranec, RODITELJ, 0, 0, 0) = 7vx,y(RODITELJ(X,Xp) n RODITELJ(Y,Yp) n iJ}(Xp,Yp)) U itx,y(RODITELJ(X,Xp) n RODITELJ(Y,Yp) n ®(Xp,Yp)) = 0 SORODEN(X, Y) := EVAh(soroden, RODITELJ, 0, 0, 0) = 0(X,y) U tvx,y(Hx,z) x RODITELJ(Y, Z)) U ttxy(Hz,y) x RODITELJ(X,Z)) = 0 Le relacija SESTRA_BRAT1 ni prazna - njeni elementi so podani v tabeli 6.1. Ker je EVAL izraz za relacijo SESTRA _BRAT odvisen le od nespreminjajoče se EP Z relacije, sledi SESTRA_ BRA T = SESTRA_ BRA 7\. V 2. iteraciji algoritma dobimo naslednje delne rezultate: 6 Deduktivni podatkovni model 105 SESTRIČNA_BRATRANEC2(X,Y) := EVAh(sestrična_ bratranec, RODITELJ, SESTRA_ BRAT, 0,0) = tvx,y(RODITELJ(X,Xp) n RODITELJ(Y,Yp) n SESTRA_BRAT(Xp,Yp)) SORODEN2(X, Y) := EVAh(soroden, RODITELJ, SESTRA_ BRAT, 0,0) = SESTRA _BRAT(X,Y) Iz Datalog enačbe za SESTRIČNA_BRATRANEC2 in (c,d) G SESTRA_BRAT dobimo na primer izjavo, da so vsi otroci od c (tj. f in g) sestrične oz. bratranci otrok od d (tj. h in i). Relacija SESTRIČNA_BRATRANEC torej vsebuje elemente (f,h), (/>0> (9i h) in (g, i). Zaradi simetrije pa iz (d,c) G SESTRA_BRAT sledi, da relacija SESTRIČNA_BRATRANEC vsebuje tudi obrate naštetih elementov, namreč (h,f), («,/), (h,g) in (i,g)- V 3. iteraciji algoritma dobimo presenetljiv, a tehnično pravilen rezultat - da sta namreč j in k sama svoji sestrični oz. svoja bratranca. Za j je to posledica naslednjih elementov: (f,h) G SESTRIČNA_BRATRANEC, (j,f) G RODITELJ in (j, h) G RODITELJ. Postopek se konča, ko se delni rezultat za relacijo SORODEN v 7. iteraciji ne spremeni več. Algoritem 3 se ustavi in je pravilen, tj. rezultat je edina in zato najmanjša negibna točka sistema Datalog enačb, ki pripada vhodnemu Datalog^ar.no programu glede na EPZ relacije [Ullman-1988]. Ta najmanjša negibna točka predstavlja natanko množico vseh dokazljivih dejstev. Dobljene relacije skupaj z vhodnimi EPZ relacijami tedaj tvorijo minimalni model vhodnega Datalogi,ar.rao programa. 6.3.3 Interpretacija Datalog pravil z negacijo Hornove stavke, ki smo jih poimenovali pravila, smo definirali kot logično disjunkcijo enega pozitivnega in enega ali več negativnih literalov, jih zapisali s sintakso programskega jezika Prolog in atomarne formule iz telesa pravila (tj. pozitivne literale) poimenovali delni cilji. Kljub temu da pravila z negativnimi delnimi cilji niso Hornovi stavki, bomo videli, da lahko vrsto idej, ki smo jih razvili za Hornove stavke, uporabimo tudi pri takih posplošenih pravilih. Logične programe, ki poleg pravih Hornovih stavkov vsebujejo še negacijo oz. pravila z negativnimi delnimi cilji, bomo imenovali Datalo- programi. Intuitivno se zdi, da pomen pravil, ki vsebujejo enega ali več negativnih delnih ciljev, dobimo tako, da relacijo telesa pravila (algoritem 1) izračunamo šele, ko komplemen-tiramo relacije vseh negativnih delnih ciljev. To pa ni tako preprosto, saj komple-ment glede na neko univerzalno množico v svetu podatkovnih zbirk ni dobro definiran (razdelek 5.2). Zaradi narave običajnih univerzalnih množic (npr. N ali E) komplement končne relacije namreč pogosto ni končen, algoritma 1 pa pri pravilu z negativnimi delnimi cilji zato ni mogoče izvajati. Izkaže se, da bodo pri določanju pomena pravil z negativnimi delnimi cilji ključne tiste spremenljivke, ki nastopajo v negativnih delnih ciljih, ne nastopajo pa v nobenem od 6 Deduktivni podatkovni model 106 pozitivnih, običajnih (nevgrajenih) delnih ciljev. V primerih 6.13, 6.14 in 6.15 bomo razložili pomen nekaterih Datalog pravil z negacijo in sestavili seznam pogojev, ki jim Datalog pravila z negacijo morajo zadoščati, če naj so smiselna. Primer 6.13. Vzemimo Datalog program iz primera 6.3. Naj predikat pravi povezuje tiste pare oseb, ki so povezane s predikatom sestrična_bratranec in niso povezane s predikatom sestra_brat, tj. prave sestrične in bratrance. Pripadajoče Datalo pravilo se glasi: pravi(X,Y) : — sestrična _bratranec{X ,Y) & -sestra_brat(X,Y). Predikatu pravi pripadajočo relacijo PRAVI izračuna izraz relacijske algebre SESTRIČNA_ BRATRANEC - SESTRA_ BRAT, ki je ekvivalenten izrazu SESTRIČNA_BRATRANEC(X,Y) n SESTRA_BRAT(X,Y), kjer je SESTRA_BRAT komplement relacije SESTRA_BRAT glede na neko univerzalno množico U, ki vsebuje vse elemente relacije SESTRIČNA_BRATRANEC. Izraza sta ekvivalentna, ker je v primeru, ko se atributi obeh relacij ujemajo, naravni spoj enak preseku, presek relacije s komplementom druge relacije pa je enak njuni razliki. Za univerzalno množico U bi lahko vzeli množico tistih oseb, katerih imena nastopajo v vsaj enem od elementov relacije RODITELJ. Tedaj bi bila relacija SESTRA_BRAT enaka U xU- SESTRA_BRAT Naslednji primer ponazarja težave, ki se pojavijo, ko obstaja spremenljivka, ki nastopa le v negativnem delnem cilju Datalo- pravila. Primer 6.14. Vzemimo Datalo- pravilo: samski(X) : — moški(X) & -oročen(X,Y). EP Z predikat moški naj označuje osebe moškega spola, atomarna formula poročen(X, Y) z EPZ predikatom poročen pa naj pomeni, da je X mož od Y. Ena od smiselnih interpretacij zgornjega pravila je, da je X samski, če je moški in ne obstaja Y, s katerim bi bil X poročen. Naj bodo MOŠKI, POROČEN in SAMSKI relacije predikatov moški, poročen in samski. Če relacijo telesa danega Datalo pravila izračunamo, tako da relacijo MOSKI(X) naravno spojimo s komplementom relacije POROČEN(X,Y), tj. množico neporočenih parov (X,Y), dobimo množico parov (X,Y), kjer je X moški in Y ni poročen z X. Ko to množico projiciramo še na X (algoritem 1), ugotovimo, da so samski tisti moški, ki niso hkrati poročeni z vsemi ljudmi tega sveta. To je, samski so tisti moški, za katere obstajajo osebe, ki z njimi niso poročene. 6 Deduktivni podatkovni model 107 Med intuitivno razlago zgornjega Datalo pravila in rezultatom, ki ga dobimo, če negacijo obravnavamo na običajen način (tj. kot komplement relacije), obstaja torej očitna razlika. Tej težavi se izognemo, tako da prepovemo spremenljivke, ki poleg negativnih delnih ciljev ne nastopajo v nobenem običajnem (nevgrajenem) delnem cilju. Ta omejitev pa ni tako močna, kot se zdi na prvi pogled, saj je pravila vedno mogoče preoblikovati tako, da spremenljivk z omenjeno lastnostjo ne vsebujejo. Pri tem negativni delni cilj g(Xi,... ,Xn) interpretiramo kot množico brez elementov oz. določil spremenljivk X\,..., Xn, katerih komponente, pripadajoče tistim spremenljivkam, ki nastopajo le v negativnih delnih ciljih, delni cilj q(Xi,..., Xn) uresničijo. Zgornje Datalo pravilo na primer ustrezno preoblikujemo tako, da iz relacije POROČEN s projekcijo odstranimo Y. Rezultat je naslednji par pravil: mož(X) : — poročen(X,Y). samski(X) : — moški(X) & -mož(X). Pomen nastopajočih predikatov izražajo njim pripadajoče relacije: MOŽ(X) = ttx(POROČEN(X,Y)) SAMSKI(X) = MOŠKI(X) - MOŽ(X) Oba izraza še združimo: SAMSKI(X) = MOŠKI(X) - ttx(POROČEN(X,Y)) Torej, Datalo pravila s spremenljivkami, ki nastopajo le v negativnih delnih ciljih, ne pa tudi v katerem od običajnih delnih ciljev, je treba ustrezno preoblikovati in se takih spremenljivk znebiti. Naslednji primer pa ponazarja težavo, ki se pojavi, če negativni delni cilji vsebujejo 'premalo' spremenljivk. Primer 6.15. Vzemimo Datalo- pravilo: kupec(X,Y) :- želi(X,Y) & -banbrot(X). Naj relaciji ŽELI in BANKROT pripadata EPZ predikatoma želi in bankrot, relacija KUPEC pa IPZ predikatu kupec. Intuitivni pomen zgornjega pravila je, da obstaja verjetost, da bo X kupil Y, če si X predmet Y želi in ima dovolj denarja. Če relacijo telesa tega pravila izračunamo, tako da relacijo ŽELI naravno spojimo s komplementom relacije BANKROT, lahko pravilo zapišemo z naslednjo enačbo: KUPEC(X,Y) = ŽELI(X,Y) n BANKROT(X) Pri tem smo z BANKROT označili komplement relacije BANKROT, tj. vse osebe, ki imajo dovolj denarja. Kot v prejšnjem primeru je tudi ta izraz ekvivalenten razliki dveh končnih relacij: 6 Deduktivni podatkovni model 108 KUPEC(X,Y) = ŽELI(X,Y) - (BANKROT(X) x irY(ŽELI(X,Y))) Ker ima relacija BANKROT en atribut manj kot relacija ZELI, smo ji v enačbi za relacijo KUPEC manjkajoči atribut dodali. Za vrednostno množico spremenljivke Y smo vzeli množico tty(ŽELI(X,Y)). Zgornji izraz relacijske algebre lahko pretvorimo v Datalo pravila. Eno pravilo bomo rabili zaradi projekcije tty(ŽELI(X,Y)), drugo za združitev obeh predikatov v skupno relacijo BANKROT(X) x tty(ŽELI(X,Y)), tretje pa za razliko dobljenih relacij. Torej: željen(Y) : — želi(X,Y). nemogoče(X,Y) : — bankrot(X) & željen(Y). kupec(X,Y) : — želi(X, Y) & -nemogoče(X, Y). Tudi dodajanje atributov ne reši vseh težav, ki se lahko pojavijo zaradi negativnih delnih ciljev. Izkaže se namreč, da sistem Datalog enačb, v nasprotju s sistemom Datalog enačb, pogosto nima najmanjše negibne točke. Obstaja lahko več minimalnih negibnih točk. Tako situacijo ponazarja primer 6.16. Primer 6.16. Vzemimo naslednji Datalo- pravili: p(X) : - r(X) & q(X). q(X) : - r(X) & -p(X). Naj bosta P in Q relacij IP Z predikatov p in q, R = {1} pa relacija EP Z predikata r. Tedaj zgornjemu programu pripadata Datalo enačbi P = R — Q in Q = R — P. Z S\ označimo rešitev P = 0 in Q = {1}, z S2 pa rešitev P = {1} in Q = 0. Tedaj velja: S\ ^ q(Xi,... ,Xn), ki jo bomo lahko obravnavali kot relacijo (pozitivnega) delnega cilja. ta namen definirajmo DOM kot unijo termov, ki nastopajo v EPZ relacijah in/ali pravilih Dataloa Zast programa. Ker v določilih, ki uresničijo telesa varnih pravil, nastopajo le termi iz EPZ relacij in pravil, lahko vrednosti posameznih komponent relacije poljubnega negativnega delnega cilja omejimo na množico DOM. Naj bo Q (že izračunana ali EPZ) relacija predikata q. Tedaj relacijo Q negativnega delnega cilja -q(Xi,..., Xn) definiramo kot DOM x ••• x DOM-O. N---------------------v---------------------' n Taka definicija relacij negativnih delnih ciljev pravil iz plasti i in uporaba algoritma 3 za izračun najmanjše negibne točke plasti i dajeta enak rezultat, kot bi ga dobili, če bi nam uspelo sistem enačb obravnavati z neskončno relacijo Q vseh elementov, ki niso v Q. Algoritem 3 v IPZ relacije plasti i dodaja namreč le elemente, katerih vrednosti komponent so iz DOM. Postopek izračuna minimalne negibne točke, pojmovane kot pomen Dataloa Zast programa, opisuje algoritem 5. Algoritem 5. IZRAČUN MINIMALNE NEGIBNE TOČKE DATALOG-ar,raop|ast ENAČB. VHOD: Datalo-a Zast program z urejenimi pravili in EPZ relacijami. IZHOD: IPZ relacije, ki tvorijo minimalno negibno točko Dataloar.nopZast enačb, pripadajočih vhodnemu programu. 6 Deduktivni podatkovni model 112 POSTOPEK: Z algoritmom 4 izračunamo plasti vhodnega Dataloga Zast programa. Vrednostno množico DOM dobimo kot unijo konstant, ki nastopajo v pravilih, in projekcij EPZ relacij na posamezne komponente. Izračun IPZ relacij bo potekal plast za plastjo v naraščajočem vrstnem redu. Ko bomo računali relacije plasti i, bodo IPZ relacije nižjih plasti že izračunane, EPZ relacije pa podane. Izračun IPZ relacij plasti i je razdeljen na več korakov: 1. Če (pozitivni) delni cilj poljubnega pravila plasti i vsebuje EPZ predikat ali IPZ predikat, ki pripada plasti, nižji od plasti i, njemu pripadajočo relacijo že poznamo. 2. Ker po definiciji plasti predikat iz negativnega delnega cilja poljubnega pravila plasti i pripada plasti, ki leži nižje od plasti i, njemu pripadajočo n-mestno relacijo Q že poznamo. Relacija Q pripadajočega negativnega delnega cilja je tedaj enaka DOM x • • • x DOM — Q, kjer DOM v produktu nastopa n-krat. 3. Relacije IPZ predikatov plasti i izračunamo z algoritmom 3, pri čemer vse relacije, ki smo jih izračunali v 1. in 2. koraku tega postopka, obravnavamo kot EPZ relacije. Primer 6.20. Vzemimo Dataloarnoplast pravila iz primera 6.17, za katera smo v primeru 6.19 poiskali plasti. Ugotovili smo, da predikati p, r in s pripadajo plasti 1, predikat q pa plasti 2. Naj relaciji R in S pripadata EPZ predikatoma r in s. Ker sta R in S enomestni relaciji ter pravila ne vsebujejo konstant, je vrednostna množica DOM = m(R) \Jm(S) = R\J S. Z algoritmom 5 izračunajmo obe IPZ relaciji. Relacija P predikata p, tj. edinega IPZ predikata plasti 1, je enaka R. Izračunajmo še relacijo Q predikata q, tj. edinega IPZ predikata plasti 2. Ker pravilo (3) vsebuje negativni delni cilj ->p(X), moramo izračunati relacijo P vseh elementov, ki bi lahko bili v Q, niso pa v P. elja P = DOM— P = RU S — P. Iz P = R sledi P = S — R. Z algoritmom 3 zdaj dobimo: Q(X) = S(X) *P(X) = s(x) n p(x) = s(x) n (S(x) - R(x)) = S(X) - R(X) V primeru 6.17 smo videli, da lahko za dan logični program obstaja več minimalnih negibnih točk. Negibna točka, ki jo izračuna algoritem 5, v omenjenem primeru ustreza negibni točki S\. Rezultat algoritma 5 niso nujno izrazi relacijske algebre, kot smo jih dobili npr. v primeru 6.20. V splošnem, ko imamo opravka z rekurzivnimi pravili, takšni izrazi ne obstajajo. 6 Deduktivni podatkovni model 113 Minimalno negibno točko, ki jo izračuna algoritem 5, imenujemo idealna negibna točka ali tudi model Dataloar last pravil. Idealna negibna točka S tvori skupaj z EPZ relacijami model Datalo-a Zast programa in ima naslednji lastnosti [Ullman-1988]: 1. Relacija poljubnega predikata p iz S, ki pripada plasti 1, je podmnožica relacije predikata p iz poljubne negibne točke Si danega sistema enačb, različne od S. 2. Relacije predikatov iz S, ki pripadajo plasti i > 1, so podmnožice relacij istih predikatov poljubne negibne točke Si, ki se na relacijah vseh predikatov plasti, nižjih od i, ujema z S. Iz tega sledi pravilnost algoritma 5, to je, da je idealna negibna točka S minimalna. 6.4 Predpostavka zaprtega sveta Pomen izjavnega veznika , ki ga uporabljamo v okviru Dataloga, temelji na naslednji predpostavki: Predpostavka zaprtega sveta (PZS): Ko atomarne formulep(ai,... ,an), kjer so cii,... ,an konstante, iz dejstev in pravil podatkovne zbirke ni mogoče izpeljati, lahko predpostavimo, da velja -p(ai,... ,an). Predpostavka zaprtega sveta je močno orodje za izpeljavo novih formul. Izkaže pa se, da vodi PZS v določenih okoliščinah do logičnega protislovja, zaradi cesarje ne smemo privzeti. Preden podamo primer takega protislovja (primer 6.21), naštejmo potrebne pogoje, ki jih mora podatkovna zbirka izpolnjevati, da bo PZS logično konsistentna. Recimo, da atomarne formule sestra_brat(tone,mojca) iz dejstev in pravil podatkovne zbirke ni mogoče izpeljati. Po predpostavki zaprtega sveta tedaj velja -estra_brat(tone, mojca). Če za osebo z imenom mojca v podatkovni zbirki uporabljamo še ime mojca_novak in v podatkovni zbirki velja sestra_brat(tone,mojca_novak), pridemo do protislovja. Potrebna je naslednja predpostavka: Predpostavka enoličnih imen: Vsaka konstanta, zapisana v zbirki, ima edinstveno ime. Dve konstanti z različnima imenoma sta različni. Atomarna formula -isestra_brat(tone, mojca) je resnična, če tone in mojca nimata skupnega roditelja. e obstaja osebama z imenoma tone in mojca skupni roditelj, ki v podatkovni zbirki ni omenjen, pridemo do protislovja. Potrebna je še ena predpostavka: Predpostavka zaprtih domen: V podatkovni zbirki so zapisane vse konstante danega jezika. 6 Deduktivni podatkovni model 114 Naj veljajo omenjene predpostavke, sicer že navedene v razdelku 6.1. Naj bo IZ množica pravil (tj. vrste Hornovih stavkov brez negativnih delnih ciljev), E pa množica EPZ dejstev, pripadajočih EPZ relacijam iz TZ. Naj bo / množica IPZ dejstev, izpeljivih z algoritmom 3. To je, I U E je množica vseh elementov vseh relacij najmanjše negibne točke sistema Datalog enačb, ki pripada vhodnemu Datalovarno programu. Naj bo J množica atomarnih formul oblike ->p(ai,...,an), kjer je p predikat iz IZ, ci\,... ,an so konstante, dejstvo p(a\,..., an) p ni v / U E. Tedaj je množica I U E U J logično konsistentna in predpostavka zaprtega sveta je smiselna. PZS torej v Datalogu brez integritetnih omejitev smemo privzeti. Ker pa logika kot podatkovni model omogoča veliko splošnejše načine sklepanja, včasih želimo obravnavati tudi izjave, ki niso Hornove oblike. Primer take izjave je p(0) Vp(1). V takem primeru PZS lahko vodi do protislovja, kot ponazarja primer 6.21. Primer 6.21. Vzemimo podatkovno zbirko z eno samo enomestno EPZ relacijo R, ki ji pripada predikat r, in praviloma: p(X) :-r(X). p(0)Vp(1) Zadnje pravilo ni Hornov stavek, saj vsebuje dva pozitivna literala. Kljub temu ga lahko pišemo s sintakso Prologa: p(0) :--p(1). Recimo, da R ne vsebuje elementov 0 in 1. Tedaj dejstev p(0) inp(1) ni mogoče izpeljati. Iz predpostavke zaprtega sveta zato sledi p(0) in p(1)- Formule p(0), ^(1) inp(0) V p(1) pa vodijo do logičnega protislovja. Pri posplošitvah predpostavke zaprtega sveta na izjave, ki niso Hornove oblike, se pogosto srečamo s težavo, kako učinkovito preveriti, ali izjava p(ai,..., an) izpolnjuje pogoj predpostavke ali ne [Minker-1982]. 6.5 Prednosti in slabosti Dataloga Prednosti logike prvega reda kot teoretične osnove podatkovnih sistemov pred drugačnimi pristopi so naslednje [Das-1992]: -w Logika ima razumljivo semantiko. -w Logiko lahko uporabljamo kot enoten jezik za izražanje dejstev, pravil, poizvedb in integritetnih omejitev. -w Dobro razvita logična teorija lahko služi za reševanje vrste težav, s katerimi se srečujemo v podatkovnih zbirkah, vključno z ničelnimi vrednostmi in nedoločenimi podatki. 6 Deduktivni podatkovni model 115 -w Več dejstev lahko nadomestimo z enim samim pravilom, kar vodi do izrazno močnega in ekonomičnega okolja za modeliranje podatkov. -w Koncept deduktivne podatkovne zbirke posplošuje koncept relacijskih podatkovnih zbirk. Datalog je, v nasprotju z relacijsko algebro, kije proceduralen logični jezik, deklarativen logični jezik. Dejstvo, ali je izbran jezik deklarativen (kot sta npr. Prolog in SQL) ali proceduralen (kot sta npr. C in Pascal), pa pomembno vpliva na zgradbo celotnega podatkovnega sistema. Deklarativni jeziki so uporabnikom prijaznejši, a jih je težje implementirati kot proceduralne jezike, saj učinkovita implementacija deklarativnega jezika zahteva obsežno optimizacijo [Ullman-1989]. Res je tudi, da se Datalog do danes še ni uspel uveljaviti. Slabosti, ki mu jih podatkovni inženirji očitajo, so naslednje [Ceri-1989]: -w Aplikacij, ki so uspele izkoristiti celotno izrazno moč Dataloga, je zelo malo. -w Datalog ni zasnovan kot programski jezik, temveč kot teoretični zgled. -w Datalog ne doseže čiste deklarativne oblike. Pri obdelavi pravil sklepanja včasih zahteva kontrolo programerja. Uporaba Dataloga z negacijo, tj. oblike podatkovnega jezika Datalog, za katerega bomo videli (razdelek 7.2), da je tudi brez integritetnih omejitev močnejši od relacijske algebre, namreč temelji na predpostavki zaprtega sveta. Predpostavka zaprtega sveta dovoljuje izpeljavo negativnih dejstev iz množice Datalog stavkov, ne dovoljuje pa uporabe teh negativnih dejstev pri izpeljavi novih dejstev. -w Datalog sistemi so realizirani kot zaprti svetovi, ki ne komunicirajo z drugimi sistemi. V poglavju 7 se bomo zato osredotočili na primerjavo zmogljivosti relacijske algebre in Dataloga. Relacijska algebra in Datalog 7.1 Uvod 7.2 Od relacijske algebre do logike 7.3 Od logike do relacijske algebre 7.4 Primerjava Dataloga in relacijske algebre Datalog z integritetnimi omejitvami je absolutno močnejši od relacijske algebre. Ugotovimo, da Datalog brez negacije (in brez integritetnih omejitev) in relacijska algebra po izrazni moči nista primerljiva - obstajajo funkcije, izrazljive v relacijski algebri, ki niso izrazljive v Datalogu, in obratno. Datalog z negacijo (in brez integritetnih omejitev) je po izrazljivosti močnejši od relacijske algebre. Množica funkcij, izrazljivih v relacijski algebri, je ekvivalentna množici funkcij, izrazljivih z nerekurzivnim Datalog programom, katerega pravila so varna, nerekurzivna in plastovita. 117 7 Relacijska algebra in Datalog 118 7.1 Uvod Integritetne omejitve predstavljajo izjemno prednost deduktivnih podatkovnih modelov pred relacijskimi podatkovnimi modeli. Edina zanimiva primerjava je zato primerjava relacijske algebre in Dataloga brez integritetnih omejitev. Nadaljevanje poglavja se torej nanaša na Datalog brez integritetnih omejitev, česar ne bomo vedno znova poudarjali. Na izraz relacijske algebre lahko gledamo kot na funkcijo, ki množici relacij priredi novo relacijo - vrednost funkcije. Podobno velja za Datalog program, ki z uporabo EPZ relacij dane podatkovne zbirke izračuna IPZ relacije iste zbirke. Pojavi se vprašanje, ali so funkcije, ki jih določata relacijska algebra na eni strani in Datalog program na drugi strani, enake. Odgovor, ki ga bomo dobili, je, da Datalog brez negacije in relacijska algebra po izrazni moči nista primerljiva. Obstajajo funkcije, izrazljive v relacijski algebri, ki niso izrazljive v Datalogu, in obratno. Če dovolimo negacijo, je Datalog po izrazljivosti močnejši od relacijske algebre. Množica funkcij, izrazljivih v relacijski algebri, pa je ekvivalentna množici funkcij, izrazljivih z nerekurzivnim Datalo Zast programom, katerega pravila so varna, nerekurzivna in plastovita. Pri tem spomnimo, da so vsa nerekurzivna pravila plastovita. Pregled izraznih moči različic Dataloga in relacijske algebre je podan v [Ullman-1988, Ceri-1989]. 7.2 Od relacijske algebre do logike Izraze relacijske algebre bomo poskušali pretvoriti v Datalog pravila. To ni težko za naslednje osnovne operacije relacijske algebre: unijo, razliko, kartezični produkt in projekcijo. Izjema je le operacija izbire s kompleksnim pogojem. Izbiro, katere pogoj vsebuje A, V ali -i, imenujmo sestavljena izbira. Izbiro, ki teh operatorjev ne vsebuje, pa imenujmo estavna izbira. Sestavljene izbire bomo razbili na zaporedja unij in enostavnih izbir. Postopek ima dva koraka [Ullman-1988]: 1. Vse negacije formule F z uporabo DeMorganovih zakonov -(F1 A F2) = (-F1) V (-F2) in -(F1 V F2) = (-F1) A (-F2) pomaknemo v notranjost operatorjev A in V. Z zaporedno uporabo takih transformacij od leve proti desni in z zamenjavo —i—iG = G sčasoma pridemo do točke, ko vse negacije ustrezajo primerjavam X9Y, jer je 9 eden od aritmetičnih operatorjev primerjav: =, <, >, <, > ali ^. To je posledica dejstva, da lahko izraz ->X9Y, kjer je 9 aritmetična primerjava, zapišemo kot X9'Y, kjer je 9' aritmična primerjava, nasprotna primerjavi 9. Na ta način, tj. z razbitjem formule F, odstranimo vse nastope operatorja . Dobimo izbiro, ki je ekvivalentna začetni izbiri in ne vsebuje operatorja -. 7 Relacijska algebra in Datalog 119 2. Poljubnemu izrazu relacijske algebre priredimo izraz, ki izračuna isto relacijo in katerega vse izbire so enostavne, tj. oblike ax8Y, kjer sta X in Y ali spremenljivki ali konstanti, 9 pa operator aritmetičnih primerjav. Postopek opisuje primer 7.1. Primer 7.1. Vzemimo izraz E = -($1=$2A($K$3V$2<$3)) (-R)- Za poenostavitev formule, na kateri temelji dana izbira, uporabimo DeMorganova zakona: -($1 = $2A($K$3V$2<$3)) = -($1 = $2)V-.($K$3V$2<$3) = -($1 = $2) V ( -.($1 < $3) A -($2 < $3)) Operatorje -i pomaknimo v notranjost operatorjev A in V. Dobimo nasprotne aritmetične pri-erjave in izraz: E = C$1=$2V($1>$3A$2>$3) (-R) Ker je zunanji operator enak \/, po enem od algebrajskih zakonov iz razdelka 5.2.3 sledi E = <7$1=$2(-R) U <7$1>$3a$2>$3(-R)- Prvi argument unije je enostaven, drugega, katerega zunanji operator je A, pa z ustreznim algebrajskim zakonom (razdelek 5.2.3) pretvorimo v kompozicijo dveh izbir. Dobimo rezultat: E = o-$1=$2(-R) U o-$1>$3(o-$2>$3(-R)) Pokažimo, da je vsaka funkcija, ki je izrazljiva v relacijski algebri, izrazljiva tudi kot nerekurzivni Dataloa Zast program. To je, da za poljuben algebrajski izraz obstaja nerekurzivni Dataloa Zast program, katerega izhodna relacija za enega od predika-tov ustreza vrednosti danega algebrajskeg Dokaz bo potekal z indukcijo na dolžino oz. strukturo algebrajskeg ct lZTctZct. Algebrajski izraz, ki ne vsebuje nobene operacije relacijske algebre, je lahko le EPZ relacija R, ki je dosegljiva brez vsakršnih pravil, ali pa množica relacijskih elementov. Če algebrajski izraz podaja množico elementov P, elementu (a1,..., an) te množice ustreza Datalo-orn0ipJost pravilo oblike p(ci1,... ,an). Vzemimo algebrajski izraz E, ki vsebuje vsaj eno osnovno operacijo relacijske algebre. Pri tem spomnimo, da lahko vse ostale operacije, tj. presek, kvocient, spoj, naravni spoj in semispoj, ki smo jih definirali v poglavju 5, izrazimo z osnovnimi operacijami relacijske algebre. V skladu z zunanjo operacijo zato ločimo pet primerov: 7 Relacijska algebra in Datalog 120 1. E = E\ UE2. Po indukcijski predpostavki obstajata predikata e\ in e2, definirana z nerekurzivnimi Dataloa Zast pravili, katerih relaciji se ujemata z relacijama, ki ju določata izraza E\ in E^- Naj bo dimenzija teh relacij n (dimenziji relacij E\ in E2 morata biti enaki, saj ju v nasprotnem primeru z operacijo unije ne bi mogli združiti). Izrazu E tedaj ustrezata pravili: e(X1,...,Xra) :- e1(X1,...,Xn). e(X1,...,Xn) :- e2(X1,...,Xn). Sledi, poljuben element relacije predikata e je ali element relacije predikata e\ ali predikata e2 ali obeh. O tem se prepričamo z algoritmom 2. 2. E = E\ — E2. Kot v 1. primeru predpostavimo, da sta E\ in E2 n-mestni relaciji. Po indukcijski predpostavki obstajata predikata e\ in e2, katerih nerekurzivna Datalo-arraoplast pravila določajo isti relaciji kot E\ in E2. Tedaj določa pravilo e(Xi, ...,Xn) : - e^Xi,..., Xn) & -e2(Xi,..., Xn) predikat e, katerega relacija se ujema z relacijo E1. O tem se prepričamo z algoritmom 5. 3. E = E\ x L2. Naj bosta e\ in e2 predikata, ki pripadata relacijama E\ in E2. Predpostavimo, da sta dimenziji teh predikatov n oz. m. Predikat e relacije E tedaj določa naslednje pravilo: e(Xi,... ,Xn+m) : — e\(Xi,... ,Xn) & e2(Xn+i,... ,Xn+m). 4. E = iTi1>...>ik(Ei). Pri tem naj bo E\ n-mestna relacija, {i\,..., ik} C {1,..., n}, ei pa predikat, katerega pravila definirajo relacijo E\. Pravilo za predikat e, ki ustreza relaciji E, se glasi: e(Xil,... ,Xik) : — ei(Xi,... ,Xn). 5. E = gf(Ei). Predpostavimo lahko, da je F enostavna izbira, recimo $i6$j. Primer, ko je eden od operandov formule F konstanta, je podoben. Naj bo e\ n-mestni predikat, katerega relacija se ujema z relacijo E\. Pravilo za predikat e se tedaj glasi: e(X1} ...,Xn) : - e1(X1, ...,Xn)k X%QXr Danemu algebrajskemu izrazu je torej mogoče prirediti nerekurzivni Dataloa Zast program oz. ekvivalentno relacijo, ki ustreza enemu od predikatov tega programa. Primer 7.2. Vzemimo algebrajski izraz KUPEC(X,Y) = ŽELI(X,Y) - (BANKROT(X) x nY{ŽELI(X,Y))) 7 Relacijska algebra in Datalog 121 iz primera 6.15. Zunanja operacija je razlika z levim operandom ŽELI(X, Y) in desnim operandom BANKROT_PAR(X,Y) = BANKROT(X) x nY{ŽELI(X,Y)). Predikat levega operanda, ki je EPZ relacija, ne zahteva Dataloar last pravil. Zunanja operacija desnega operanda je kartezični produkt z EPZ relacijo B AN K ROT (X) kot levim operandom in tty(ŽELI(X,Y)) kot desnim operandom. Z uporabo zgornje konstrukcije pretvorimo izraz iry (ŽE LI(X,Y)) v naslednje nerekurzivno Dataloar lai pravilo: željen(Y) : — želi(X,Y). Naj predikatu željen pripada relacija, ki se ujema z relacijo tty(ŽELI(X,Y)). Pravilo za predikat bankrot_par se sedaj glasi: bankrot_par(X,Y) : — bankrot(X) & željen(Y). Sledi Datalo-arnoplast pravilo za predikat kupec: kupec(X,Y) : — želi(X,Y) & -bankrot_par(X)Y\ 7.3 Od logike do relacijske algebre Pokažimo še, da za vsako IPZ relacijo poljubnega nerekurzivnega Dataloga Zast programa obstaja pripadajoč izraz relacijske algebre. To je, vsaka funkcija, izrazljiva z nerekurzivnim Datalo-a Zast programom, je izrazljiva tudi v relacijski algebri. Naj bo TZ množica varnih, nerekurzivnih Datalog pravil z negacijo. Ker je TZ množica nerekurzivnih pravil, lahko IPZ predikate p\,... ,pn uredimo tako, da za povezave piPj iz grafa odvisnosti velja i < j. Če se torej pi pojavi v delnem cilju pravila za pj, je v tem urejenem zaporedju predikatov pred pj. Osnovna ideja je zaporedna uporaba algoritma 2. Tako bomo za vsak IPZ predikat dobili ustrezen izraz relacijske algebre. Še prej pa relacije R negativnih delnih ciljev (z uporabo algoritma 5) nadomestimo s komplementiranimi relacijami R = DOMk — R, kjer je k dimenzija relacije R, DOM pa množica vseh konstant, ki nastopajo v množici pravil TZ in EPZ relacijah. Množica DOM je izrazljiva v relacijski algebri. To je unija množice konstant in projekcij EPZ relacij na posamezne komponente. Tudi konstrukcija v algoritmu 2 uporablja le osnovne operacije relacijske algebre. Ker lahko osnovne algebrajske operacije komponiramo, z indukcijo na dolžino urejenega zaporedja predikatov dokažemo, da posameznemu predikatu pripada relacija, podana z nekim izrazom relacijske algebre. Primer 7.3. Vzemimo naslednji Datalo-arnoplast pravili: p(X) :- r(X,Y) & s(Y). q(Z) :- s(Z)h-p(Z). 7 Relacijska algebra in Datalog 122 Naj bosta r in s EPZ predikata s pripadajočima relacijama R in S. Izpeljali bomo algebrajska izraza za relaciji P in Q, ki pripadata IPZ predikatoma p in q. Algebrajski izraz za DOM je unija enomestne relacije S in projekcij relacije R na njeno prvo in drugo komponento: DOM = irl(R)Uir2(R)US Ustrezen vrstni red IPZ predikatov je p, q. Predikat p je definiran s prvim pravilom. Za prvi delni cilj vzamemo EPZ relacijo R(X,Y), za drugi delni cilj pa enomestno relacijo [DOM — S](Y). Izraz relacijske algebre, ki podaja relacijo predikata p, tedaj konstruiramo tako, da naravni spoj omenjenih relacij projiciramo na atribut X, ki nastopa v glavi pravila (algoritem 2). Dobimo: P(X) = ttx(R(X,Y) n [DOM - S](Y)) Predikat q je definiran z drugim Dataloar last pravilom. Za prvi delni cilj vzamemo relacijo S (Z), za drugega pa [DOM — P](Z). Relacija Q je določena z izrazom S (Z) m [DOM — P](Z). Ker je naravni spoj v tem primeru enak preseku, velja Q(Z) = (Sn[DOM-P])(Z). Ker je S podmnožica DOM, je Q(Z) = S (Z) — P (Z). Ce vstavimo še izraz za P (Z), dobimo Q(Z) = S(Z)-irz(R(Z,Y) n [DOM - S](Y)). Ker k naravnemu spoju relacij R(Z,Y) in [DOM — S](Z) prispevajo le tisti elementi DOM, ki so dobljeni iz druge komponente relacije R, lahko DOM v zgornjem izrazu zamenjamo še s ^(R). 7.4 Primerjava Dataloga in relacijske algebre Naj bodo argumenti in rezultat funkcije f(Pi, ¦ ¦ ¦, Pm) relacije, C = p(l) p(l) ¦_ C = p(2) p(2) pa dve določili spremenljivk funkcije /, za kateri velja S\ < S2. Torej, relacija P} je podmnožica relacije Pi za 1 < i < m. Ce za poljubni določili Si in S2 z omenjeno lastnostjo velja /( 3Y : mentor(Y, X)) Ta integritetno, omejitev pravi, da mora vsak študent raziskovalnega študija imeti mentorja. Preverimo konsistentnost podatkovne zbirke. Ker andrej ni študent raziskovalnega študija, ne potrebuje mentorja. Nasprotno, zaradi predpostavke zaprtega sveta (razdelek 6.4) je Una študentka raziskovalnega študija in njen mentor je robert. Torej, podatkovna zbirka je konsistentna oz. integritetno, omejitev je resnična. Recimo, da želimo izvesti transakcijo vnosa, dejstva študent(mojca). Pri vnosu, tega dejstva zaradi pravila, ki ga dana podatkovna zbirka vsebuje, implicitno vnesemo tudi dejstvo raziskovalec(mojca). Ker pa mojca nima mentorja, tako spremenjena podatkovna zbirka ne ustreza integritetni omejitvi. Preverjanje resničnosti integritetnih omejitev je časovno zahtevna in kompleksna operacija [Das-1992]. Pri tem so odločilnega pomena sestava podatkovne zbirke, oblika 8 Sodelujoči podatkovni sistemi 128 integritetnih omejitev in metoda, s katero integritetne omejitve vrednotimo. Pogosto je ugodneje integritetne omejitve obravnavati posebej ali pa jih celo odstraniti. Vsekakor pa mora taka transformacija podatkovne zbirke poroditi semantično ekvivalentno podatkovno zbirko, tj. odgovor začetne podatkovne zbirke na poljubno poizvedbo se mora ujemati z odgovorom transformirane podatkovne zbirke na isto poizvedbo. Najbolj znane tehnike vrednotenja integritetnih omejitev so opisane v [Das-1992, Godfrev-1998]. Poleg osnovnih integritetnih omejitev obstajajo še nekatere značilne oblike integritetnih omejitev: -w Enoličnostna integritetna omejitev VX:(p(X,Z) A (p(X,Y)^Y = Z)) izraža, da je poljuben element X neke vrednostne množice preko predikata p povezan z največ enim elementom Z neke druge vrednostne množice. -w Obveznostna integritetna omejitev VX3Y:(p(X)^q(X,Y)) pravi, da je poljuben element X neke vrednostne množice preko predikata q povezan z vsaj enim elementom Y neke druge vrednostne množice. Primer take omejitve je 10 iz primera 8.2. -w Podtipska integritetna omejitev VX : (p(X) => q(X)) pravi, daje poljuben element X dane vrednostne množice tudi element neke druge vrednostne množice. Integritetne omejitve so v deduktivnih podatkovnih zbirkah zapisane deklarativno in v istem logičnem jeziku kot dejstva in pravila. Vključitev takih omejitev v druge oblike podatkovnih zbirk, kot je na primer relacijska podatkovna zbirka, ponavadi temelji na (manj zaželenih) proceduralnih postopkih. Ker pa deduktivne podatkovne zbirke poleg EPZ relacij vsebujejo tudi IPZ relacije, katerih posledica je vrsta implicitnih transakcij (primer 8.2), je preverjanje resničnosti integritetnih omejitev v deduktivnih podatkovnih zbirkah časovno zahtevnejša in kompleksnejša operacija kot v relacijskih podatkovnih zbirkah. Integritetne omejitve poleg svoje prvotne vloge preprečevanja vnosa neustreznih podatkov in preverjanja konsistentnosti podatkovne zbirke predstavljajo tudi osnovo sodelujočih podatkovnih sistemov, katerih cilj je sodelujoče odgovarjanje oz. sodelujoče odzivanje na poizvedbe. 8 Sodelujoči podatkovni sistemi 129 8.3 Sodelujoče odgovarjanje Sodelujoči podatkovni sistemi so informacijski sistemi, ki se na poizvedbo ne odzivajo le z odgovorom, ki poizvedbi strogo zadošča, temveč tudi z dodatnimi informacijami, katerih namen je odpraviti nejasnosti in razčistiti dvoumnosti ter pozitivno vplivati na doseganje uporabnikovih ciljev in namer. V deduktivnih podatkovnih zbirkah ločimo podatke in znanje - podatki so vsebovani v ekstenzionalni podatkovni zbirki, znanje pa v intenzionalni podatkovni zbirki in in-tegritetnih omejitvah. Medtem ko odgovor običajnega podatkovnega sistema vsebuje le podatke, odgovor sodelujočega podatkovnega sistema vsebuje tudi znanje. Uveljavljene tehnike sodelujočega odgovarjanja [Gaasterland-1992a, Godfrey-1998] lahko glede na njihove sposobnosti razvrstimo v pet kategorij: 1. upoštevanje uporabnikovih prepričanj, želja in namer, 2. vrednotenje domnev, vsebovanih v poizvedbah, 3. odkrivanje in odpravljanje nesporazumov, 4. oblikovanje intenzionalnih odgovorov, 5. posploševanje poizvedb in odgovorov. V nadaljevanju bomo prve štiri tehnike sodelujočega odgovarjanja opisali le na kratko, zadnjo, tj. posploševanje poizvedb in odgovorov, pa si bomo ogledali nekoliko podrobneje. 8.3.1 Upoštevanje uporabnikovih prepričanj, želja in namer Za izvorno delo sodelujočega odgovarjanja velja knjiga Elements of Discourse Understanding, ki sojo leta 1981 napisali Joshi, Webber in Sag [Joshi-1981]. Knjiga temelji na člankih, ki so bili leta 1978 predstavljeni na delavnici Computational Aspects of Linguistic Structure and Discourse Setting. Problemi, s katerimi se ukvarjajo, se v glavnem nanašajo na sposobnost podatkovnih sistemov upoštevati uporabnikova prepričanja, želje in namere. Delimo jih v tri kategorije: 1. Razumevanje vprašanj in odgovorov: Vprašanje, ki ga uporabnik zastavi v naravnem jeziku, ima lahko več različnih pomenov. Razumevanje in pravilna interpretacija zastavljenih vprašanj sta zato ključna za uspešen dialog med uporabnikom in podatkovnim sistemom [Allen-1994]. 2. Sledenje dialogu: To področje preučuje modeliranje poteka dialoga med uporabnikom in sistemom. Podatkovni sistem naj bi bil sposoben slediti spremembam uporabnikovih ciljev in se prilagajati njegovim nameram [Kowtko-1992, Carletta-1996a, Stolcke-2000]. 8 Sodelujoči podatkovni sistemi 130 3. Modeliranje uporabnikovih prepričanj: Podatkovni sistem naj bi bil sposoben napovedovati uporabnikova prepričanja in z uporabo dodatnih informacij preprečevati zmote [Bratman-1988]. Glej primer 8.3. Primer 8.3. Vzemimo vprašanje: "Ali je Matej profesor?" Glede na prepričanje uporabnikov, da je večina profesorjev zaposlenih, je v primeru, da Matej ni zaposlen, v določenem kontekstu smiselno in sodelujoče to informacijo dodati. Torej je odgovor "Da, vendar ni zaposlen." primernejši od jedrnatega odgovora "Da." Taka oblika sodelujočega odgovarjanja temelji na modeliranju uporabnikovih prepričanj. 8.3.2 Vrednotenje domnev, vsebovanih v poizvedbah Cilj tehnike vrednotenja domnev, vsebovanih v poizvedbah, je iz poizvedbe izluščiti domneve in v odgovor vključiti razlago, ki morebitne napačne domneve odpravi ter prepreči nastanek nadaljnjih napačnih domnev. Pri tem na domneve, vsebovane v poizvedbi, gledamo kot na izjave, katerih resničnost je pogoj za obstoj odgovora. Če je katera koli domneva napačna, poizvedba ni smiselna. Primer take nesmiselne poizvedbe podaja primer 8.4. Primer 8.4. Vzemimo poizvedbo "Kdo je leta 2004 opravil izpit iz Teorije množic?" Če leta 2004 predavanj iz Teorije množic ni bilo, je poizvedba neuspešna in se jedrnat odgovor sistema glasi "Nihče." Ker je bila domneva o izvajanju predmeta Teorija množic v letu 2004 napačna, poizvedba ni bila smiselna in bi si ob danem jedrnatem odgovoru uporabnik lahko ustvaril nadaljnje neutemeljene in/ali napačne domneve, kot npr. da je Teorija množic zelo težak predmet, tako da izpita ne opravi skoraj nihče. Sodelujoče bi bilo zato dodati razlog neuspeha prve poizvedbe, namreč neizvajanje predmeta Teorija množic v letu 2004- 8 Sodelujoči podatkovni sistemi 131 8.3.3 Odkrivanje in odpravljanje nesporazumov Na poizvedbo ponavadi pričakujemo odgovor, prazen odgovor na neuspešno poizvedbo pa pogosto porodi dvoumnost. Poizvedbe, katerih neuspeh je zaradi nekonsistentnosti s semantiko podatkovne zbirke neizogiben, kažejo na nesporazum uporabnika in podatkovnega sistema. Tako poizvedbo, ki ob dani podatkovni zbirki in nespremenjeni semantiki ne bo nikoli uspešna, pogosto imenujemo kar nesporazum. Primer 8.5. Vzemimo podatkovno zbirko, v kateri so shranjena imena učiteljev, šolskih predmetov in razredov, v katerih učitelji poučujejo. Poizvedba "Kateri učitelji poslušajo predmet Matematika?" oziroma učitelj(X) & posluša(matematika, X)? bo neuspešna, saj učitelji predmete ponavadi le poučujejo, ne pa tudi poslušajo. To je, podatkovna zbirka vsebuje naslednjo osnovno integritetno omejitev: ucitelj(X) V osluša(Y, X) Podatkovni sistem bo bolj informativen in sodelujoč, če bo namesto praznega odgovora "Nobeden." podal razlog za tak nesporazum. Na primer: "Učitelji predmete poučujejo, učenci jih poslušajo." Tehniki odkrivanja in odpravljanja nesporazumov sta se podrobno posvetila Gal in Minker [Gal-1987]. Razvila sta postopek testiranja nesporazumov, temelječ na semantični optimizaciji, ki preverja, ali kateri od pogojev dane poizvedbe ruši integriteto podatkovne zbirke. Taki pogoji so razlog za neuspeh poizvedbe. Odgovor, ki poda razlog neuspeha poizvedbe, je vsekakor bolj informativen in sodelujoč kot prazen odgovor. 8.3.4 Intenzionalni odgovori Primer sodelujočega odgovora je tudi t. i. intenzionalni odgovor, katerega prednost je velika informativnost [Cholvy-1986, Cholvy-1990]. Intenzionalni odgovori pogosto ponazarjajo zgradbo podatkovne zbirke ter sestavo nastopajočih vrednostnih množic in zato nemalokrat vodijo do razrešitve nesporazumov. Velja, daje intenzionalni odgovor 8 Sodelujoči podatkovni sistemi 132 primeren odgovor na poizvedbo, če uporabniku zadostno in razumljivo razloži vsebino eksaktnega odgovora, tj. jedrnatega odgovora na začetno poizvedbo. Zelo pomembna lastnost nekaterih intenzionalnih odgovorov, ki pride do izraza predvsem pri obsežnih podatkovnih zbirkah, kjer so uporabniki pogosto preobremenjeni z obsegom eksaktnih odgovorov, je njihova jedrnatost. Ta jedrnatost temelji na in-tegritetnih omejitvah, ki zagotavljajo brezpogojno resničnost nekaterih poizvedb. Glej primer 8.6. Primer 8.6. Vzemimo podatkovno zbirko iz primera 8.5. Rezultat poizvedbe "Kateri učitelji poučujejo?" oziroma učitelj(X) & poučuje(Y, X)? bo seznam vseh učiteljev, vsebovanih v podatkovni zbirki, in njim pripadajočih šolskih predmetov. Podatkovna zbirka naj vsebuje naslednjo obveznostno integritetno omejitev: yX 3Y : (učitelj(X) => poučuje{Y,X)) Podatkovni sistem bo bolj jedrnat in sodelujoč, če bo namesto naštevanja vseh učiteljev v podatkovni zbirki podal intenzionalni odgovor učitelj(X). v obliki razlage brezpogojne resničnosti poizvedbe. Na primer: "Vsi učitelji poučujejo." Če se sistem ne odzove na ta način, bo uporabnika zavedel, saj ta zelo verjetno ne bo opazil, da so v odgovoru našteti vsi učitelji. Oglejmo si še en primer intenzionalnega odgovora. Primer 8.7. Naj bo podatkovna zbirka sestavljena iz naslednjih EPZ dejstev in IPZ pravil o dodatkih k plačam uslužbencev nekega podjetja: EPZ : zaposlen(andrej, 1990). zaposlen(tina, 1997). 8 Sodelujoči podatkovni sistemi 133 zaposlen(matej, 2001). pohvala(robert). pohvala(maja). IP Z : dodatek(X) : — zaposlen(X, Y) & danes(D) & trajanje(D,Y,Z) & Z > 10. dodatek(X) : — pohvala(X). Vzemimo poizvedbo "Kateri uslužbenci dobijo dodatek k plači?" oziroma dodatek(X)? Leta 2004 se eksakten odgovor glasi takole: dodatek(andrej). dodatek(robert). dodatek(maja). Našteti uslužbenci pa dodatka k plači ne dobivajo iz istega razloga. Uslužbenec Andrej, ki se je zaposlil leta 1990, dodatek dobiva zaradi več kot desetletne zaposlitve, Robert in Maja pa zaradi pohval, ki sta si ju zaslužila za svoje delo. Primer intenzionalnega odgovora, ki parafrazira obe IPZ pravili, se glasi takole: "Vsi, ki so v podjetju zaposleni vsaj 10 let." "Vsi, ki so bili za svoje delo pohvaljeni." Tak odgovor je sodelujoč in bolj infomativen kot eksakten odgovor, saj namesto naštevanja zaposlenih raje poda vzrok izplačila dodatka k plači. 8.3.5 Posploševanje poizvedb in odgovorov Naslednja strategija oblikovanja sodelujočega odgovora temelji na posploševanju oz. razširjanju obsega poizvedb. Namen te strategije, ki ne temelji na integritetnih omejitvah, je v odgovor zajeti večjo količino sorodnih, relevantnih in/ali smiselnih podatkov. Uporabljamo jo, ko je poizvedba neuspešna ali ko uporabnik v množici odgovorov ne najde sprejemljivega podatka. Cuppens in Demolombe [Cuppens-1988] poizvedbo razčlenita na: . predikat poizvedbe, tj. predikat, ki naj bo v odgovoru vsebovan, 8 Sodelujoči podatkovni sistemi 134 . pogoj poizvedbe, tj. pogoj, ki naj ga parametri predikata poizvedbe izpolnjujejo, in . atributi poizvedbe, tj. množica atributov predikata poizvedbe, ki naj jih odgovor zajema. Na osnovi te razčlembe ločimo več oblik transfomacije poizvedb: 1. transformacija predikata - predikat poizvedbe zamenjamo z njemu sorodnim predikatom, npr. oče(X,darja)? i—> roditelj (X,darja)? 2. transformacija pogoja - spremenimo vrednost katerega od atributov, npr. sestra_brat(matej, darja)? i—> sestra_brat(matej,X)? polet(X, ljubljana, london, 7:00)? i—> polet(X, Ljubljana, london, zjutraj)? 3. transformacija izbora atributov - v množico atributov poizvedbe dodamo ali iz nje izbrišemo kakšen atribut, npr. polet(X, ljubljana, london, 1")? i—> polet(X, ljubljana, london,!", Z)? Če želimo sodelujoč odgovor, začetno poizvedbo na izbrane načine transformiramo, da dobimo množico novih, bližnjih poizvedb. Razširjen odgovor tedaj poleg eksaktnega odgovora zajema tudi odgovore na izbrane bližnje poizvedbe. Transformacija poizvedb, ki jo imenujemo tudi relaksacija poizvedb [Gaasterland-1992b], temelji na posebni urejenosti predikatov in konstant dane podatkovne zbirke. Najpogosteje uporabljena je relacija sosednosti, imenovana ISA relacija, s katero predikate in konstante delno uredimo (refleksivnost, antisimetričnost in tranzitivnost). Ime relacije se nanaša na angleško besedno zvezo is a. Relacija ISA je disjunktna unija relacije ISAP nad predikati in relacije ISAK nad konstantami podatkovne zbirke. Chu, Chen in Lee [Chu-1990] so urejenostno strukturo ISA relacije poimenovali hierarhija abstrakcije tipov. Urejenost enomestnih predikatov, s katerimi opisujemo tipe konstant podatkovne zbirke, lahko izrazimo s Hornovimi stavki. Da sta predikat p in predikat q v relaciji ISAP, lahko s sintakso programskega jezika Prolog zapišemo takole: q(X) :-p(X). Na enak način izrazimo urejenost večmestnih predikatov (primer 8.8). Izjave logike prvega reda, ki opisujejo z relacijo ISA delno urejeno množico predikatov in konstant podatkovne zbirke in vsebujejo natanko en ISA predikat (tj. predikat iz telesa izjave, kije s predikatom iz glave v relaciji ISA), imenujemo klasifikacijske izjave. ISA 8 Sodelujoči podatkovni sistemi 135 predikat klasifikacijske izjave imenujemo ključni predikat in ga označimo z indeksom *, ostale predikate telesa pa imenujemo neključni predikati. Klasifikacijska izjava izraža ISA relacijo med predikatom glave in ključnim predikatom izjave. Neključni predikati izražajo odnose med spremenljivkami izjave. Klasifikacijske izjave, ki opisujejo urejenost enomestnih predikatov, imenujemo ISA izjave. Telo ISA izjave vsebuje natanko en literal. Pripadajoč predikat je ključni predikat. Za predikat p, ki pripada relaciji predikata q, projicirani na podmnožico X\,... ,Xn atributov Yi,..., Ym, velja p ISAp q. To pa pomeni, da obstaja klasifikacijska izjava q(Y1,...,Ym) :-p(Xl,...,Xn)\ Primer 8.8. Recimo, da želimo opisati načine sporazumevanja med dvema osebama. V ta namen definirajmo tromestni predikat dialog in njemu podrejene predikate stik, agent, pošta, e_pošta in telefon, ki po vrsti opisujejo sporazumevanje iz oči v oči, sporazumevanje prek tretje osebe - agenta, sporazumevanje po navadni pošti, sporazumevanje po elektronski pošti in sporazumevanje po telefonu. Podrejenost predikatov, ki opisujejo način sporazumevanja, naj pomeni relacijo ISAp s predikatom dialog: ISAp = {(stik, dialog), (agent, dialog), (pošta, dialog), (e_pošta, dialog), (telefon, dialog)} Pripadajoče klasifikacijske izjave so naslednje: dialog(0\, 02,X) dialog(0\, 02,X) dialog(0\, 02,X) dialog(0\, 02,X) dialog(0\, 02,X) stik(01,02,X)*. agent(Oi,02,X)*. bivališče(Naslov,02) & pošta(0\, Naslov, X)*. e_naslov(ENaslov,02) & e_pošta(0\, ENaslov, X)*. tel_številka(TelŠt,02) & telefon(Ou TelŠt,X)*. Čeprav so vsi nastopajoči ISA predikati tromestni, imajo različne domene - drugi parameter predikatov stik in agent je oseba, drugi parameter predikatov pošta in e_pošta je naslov, drugi parameter predikata telefon pa je telefonska številka. V postopku relaksacije bomo dejstvo p(c). zapisovali kot p(X) : — c enak X. kjer bomo literal c enak X imenovali izenačitveni literal. Dvomestni predikat enak, ki je logično ekvivalenten predikatu =, uporabljamo zaradi enostavnejšega razločevanja 8 Sodelujoči podatkovni sistemi 136 izenačitvenih literalov in literalov, vsebovanih v začetni poizvedbi. Tudi literal oblike X enak Y, kjer sta X in Y spremenljivki, bomo imenovali izenačitveni literal. V postopku relaksacije poizvedbo posplošimo, tako da predikate in konstante zamenjamo s predikati in konstantami, ki v Hassejevem diagramu ISA relacije (tj. diagramu delne urejenosti) ležijo nad njimi. Torej, literal, katerega predikat nastopa v vlogi ključnega predikata katere od klasifikacijskih izjav, zamenjamo z glavo pripadajoče klasifikacijske izjave. Preden pa poizvedbo podvržemo postopku relaksacije, jo z naslednjim postopkom zamenjave spremenljivk preoblikujemo, tako da omogoča neposredno primerjavo literalov iz poizvedbe in ključnih literalov iz klasifikacijskih izjav: 1. Vsako konstanto, ki nastopa v poizvedbi, zamenjamo z novo spremenljivko in poizvedbi dodamo ustrezen izenačitveni literal. To je, če je c konstanta iz poizvedbe, ki jo zamenjamo s spremenljivko X, poizvedbi dodamo izenačitveni literal c enak X. 2. Za vsako spremenljivko, ki v poizvedbi nastopa večkrat, ohranimo le po eno kopijo, ostale pa zamenjamo z novimi, paroma različnimi spremenljivkami, ki jih z uporabo izenačitvenih literalov izenačimo z originalom. To je, če eno kopijo spremenljivke X zamenjamo s spremenljivko Y, poizvedbi dodamo izenačitveni literal X enak Y. 3. Odvečne literale, tj. podvojene literale ali literale, ki ne nosijo nove informacije, odstranimo. Rezultat take zamenjave spremenljivk je poizvedba, v kateri edino izenačitveni literal! vsebujejo konstante in izražajo medsebojne odvisnosti spemenljivk. Postopek ponazarja primer 8.9. Primer 8.9. Vzemimo poizvedbo brat(miha,X) & oče(X,Y)? ki sprašuje po bratih X ter nečakih in nečakinjah Y osebe z imenom miha. V postopku zamenjave spremenljivk, opisanem zgoraj, dobimo naslednjo preoblikovano poizvedbo: brat(A,X) & oče(B,Y) & miha enak A & X enak BI Relaksacija poizvedbe Q, dobljene v postopku zamenjave spremenljivk, poteka tako, da za vsak predikat iz Q poiščemo klasifikacijske izjave, v katerih ta nastopa kot ključni predikat. V naslednjem koraku izbran literal zamenjamo z glavo pripadajoče klasifikacijske izjave (primer 8.11) in vse neključne literale iz telesa klasifikacijske izjave dodamo novi poizvedbi Q'. Ti neključni literali opisujejo odnose med spremenljivkami. 8 Sodelujoči podatkovni sistemi 137 Če želimo relaksacijo implementirati na proceduralen način, v podatkovni model vključimo tudi t. i. obratne klasifikacijske izjave. Obratna klasifikacijska izjava dane klasifikacijske izjave C je izjava CT, ki jo iz C dobimo po zamenjavi ključnega literala in glave (primer 8.10). Glavo obratne klasifikacijske izjave CT pri tem označimo z relax. Primer 8.10. Vzemimo klasifikacijsko izjavo dialog(Oi,02,X) : — bivališče{Naslov,C>2) & pošta(Oi, Naslov, X)*. iz primera 8.8. Njej pripadajoča obratna klasifikacijska izjava je tedaj relax(pošta(0\, Naslov, X)) : — bivališče{Naslov,C>2) & dialog(0\,02,X). Relaksacija z obratnimi klasifikacijskimi izjavami poizvedbe Q, dobljene v postopku zamenjave spremenljivk, poteka podobno kot relaksacija s klasifikacijskimi izjavami. Za vsak literal iz Q poiščemo obratne klasifikacijske izjave, v katerih ta nastopa v glavi, nato pa izbran literal zamenjamo s telesom pripadajoče obratne klasifikacijske izjave (primer 8.11). Primer 8.11. Vzemimo poizvedbo polet(brnik, orly)? ki sprašuje po letalskih povezavah letališča Brnik z letališčem Orly v Parizu. V Parizu poleg letališča Orly obstaja še letališče Charles De Gaulle. S postopkom zamenjave spremenljivk dobimo poizvedbo polet(X, Y) & brnik enak X & orly enak Yl Naj podatkovna zbirka vsebuje naslednje klasifikacijske izjave Ci pariz_ let(X) — orly enak X*. c2 pariz_ let(X) — de_gaulle enak X*. vl pot{A,B) - letališče{X,A) & letališče{Y,B) & polet{X,Y)*. v2 pot{A,B) — žpostaja(X, A) & žpostaja{Y,B) & vlak(X,Y)*. v, pot{A,B) — apostaja(X, A) & apostaja{Y,B) & avtobus(X,Y)*. in njim pripadajoče obratne klasifikacijske izjave cj relax(orly enak X) — pariz_let(X). CJ relax(de_gaulle enak X) — pariz_let(X). VJ relax(polet(X, Y)) — letališče(X, A) & letališče(Y, B) & pot(A,B). VJ relax(vlak(X ,Y)) — žpostaja(X,A) & žpostaja(Y, B) & pot(A,B). VJ relax(avtobus(X, Y)) — apostaja(X,A) & apostaja(Y, B) & pot(A,B). 8 Sodelujoči podatkovni sistemi 138 Te ponazarjajo ISA relacijo nad konstantami, ki označujejo letališča v Parizu, in predikati, ki navajajo možne načine potovanja med dvema krajema. Če podatkovna zbirka ne vsebuje odgovora na začetno poizvedbo, tj. poizvedba je neuspešna, lahko uporabimo postopek relaksacije. Najprej pokažimo primer transformacije predikata polet. Z uporabo obratne klasifikacijske izjave Dj dobimo poizvedbo pot(A, B) & letališče(X, A) & letališče(Y, B) & brnik enak X & orlu enak Yl Šele ponovna zamenjava spremenljivk dobljene poizvedbe omogoča poljuben nadaljnji korak v postopku relaksacije: pot(A,B) & letališče(X, A\) & letališče(Y, B\) & brnik enak X & orlu enak Y & A enak A\ & B enak B{! Zgornjo poizvedbo z uporabo klasifikacijske izjave D2 preoblikujmo, tako da prvi literal pot(A,B) nadomestimo s telesom klasifikacijske izjave D2. Dobimo poizvedbo, katere osrednji literal vlak je bolj specifičen od izmenjanega literala pot: vlak(Xi,Yi) & žpostaja(Xi,A) & žpostaja(Yi,B) & letališče(X, Ai) & letališče(Y, B\) & brnik enak X & orlu enak Y & A enak A\ & B enak B{! Ker je A = ljubljana in B = pariz, je ta poizvedba logično ekvivalentna poizvedbi vlak(X\,Yi) & žpostaja(X\, ljubljana) & žpostaja(Y\,pariz)? ki sprašuje po železniških povezavah med Ljubljano in Parizom. Pri tem X\ označuje železniške postaje v Ljubljani, X2 pa železniške postaje v Parizu. Pokažimo še primer transformacije pogoja začetne poizvedbe. Ce začetno poizvedbo relaksiramo z obratno klasifikacijsko izjavo Cj, dobimo poizvedbo polet(X,Y) & brnik enak X & pariz_let{Y)l ki sprašuje po letalskih povezavah med Brnikom in poljubnim letališčem v Parizu. Pos-plošitev se nanaša na izbiro letališča. Tretja oblika relaksacije poizvedbe temelji na transformaciji množice parametrov. Povedali smo že, da je poljuben predikat p v relaciji ISAP s predikatom, ki ga dobimo z razširitvijo množice atributov predikata p. Za dodatni atribut Odhod, ki označuje čas odhoda letala, torej velja klasifikacijska izjava polet(X,Y, Odhod) : - polet(X,Y)*. 8 Sodelujoči podatkovni sistemi 139 in zato tudi obratna klasifikacijska izjava relax(polet(X,Y)) : — polet(X,Y, Odhod). Začetno poizvedbo je zato mogoče relaksirati v obliko polet(X, Y, Odhod) & brnik enak X & orly enak Yl ki sprašuje po časih odhodov letal z Brnika na pariško letališče Orly. Nespretna transformacija pogoja poizvedbe pogosto zahteva številčno množico dodatnih enomestnih predikatov, kot je na primer pariz_let iz primera 8.11. Ker se želimo dodatnim predikatom izogniti, definiramo posebno vrsto transformacije, imenovano odsev. Odsev je zaporedje relaksacije z obratno klasifikacijsko izjavo CT in preoblikovanja s pripadajočo klasifikacijsko izjavo C, pri čemer izbran literal iz poizvedbe zamenjamo s telesom klasifikacijske izjave C. Primer odseva zajema tudi primer 8.11. Na prvi pogled se odsev zdi nesmiselna operacija, ki pridela odgovor, že dobljen z začetno, nerelaksirano poizvedbo, kar pa ni popolnoma res. Če namreč poizvedbo transformiramo z odsevom, poleg že znanih podatkov pogosto pridelamo tudi nove, še neznane podatke, kar ponazarja primer 8.12. Pri tem ne potrebujemo dodatnih enomestnih predikatov. Primer 8.12. Vzemimo poizvedbo polet(brnik, orly)'? oziroma polet(X, Y) & brnik enak X & orly enak Yl ter klasifikacijsko izjavo Vx in obratno klasifikacijsko izjavo Vj iz primera 8.11. Po relaksaciji poizvedbe z Vj dobimo pot(A, B) & letališče(X, A) & letališče(Y, B) & brnik enak X & orly enak Yl Ko (po zamenjavi spremenljivk) to poizvedbo preoblikujemo še z Vi, dobimo (strnjeno zapisano) poizvedbo polet(X,Y) & letališče(X, A) & letališče(Y, B) & letališče(brnik, A) & letališče(orly, B)? Ko bo X = brnik in Y = orly, bo odgovor enak odgovoru na začetno poizvedbo polet(brnik, orly)? Ko bo Y ^ orly, dobimo nove odgovore. Ker je A = ljubljana in B = pariz, je atomarna formula letališče(X, A) resnična pri X = brnik, atomarna formula letališče(Y, B) pa, ko Y označuje katero koli letališče v Parizu, torej Orly (Y = orly) ali Charles de Gaulle (Y = de_gaulle). Sledi, tudi odgovor na to poizvedbo, 8 Sodelujoči podatkovni sistemi 140 ki ne vsebuje dodatnega predikata pariz_ let, vsebuje vse letalske povezave med Brnikom in poljubnim letališčem v Parizu. Namen relaksacije je torej poizvedbo preoblikovati, tako da bo odgovor poleg odgovora na začetno poizvedbo vseboval še dodatne, sosedne podatke. To je podatke, ki začetni poizvedbi sicer ne bodo ustrezali, bodo pa z njo v nekem smiselnem, relevantnem odnosu. Poglejmo, kdaj bo odgovor na začetno poizvedbo podmnožica odgovora na relaksirano poizvedbo. Prvo, kar opazimo je, da se množici spremenljivk začetne poizvedbe Q in njej prirejene relaksirane poizvedbe Q' lahko razlikujeta, kar je posledica v postopku relaksacije dovoljenega dodajanja in odvzemanja spremenljivk. To sicer ne bo vedno držalo - včasih se bosta množici spremenljivk poizvedb Q in Q' tudi ujemali. Kakor koli že, nas zanimajo odgovori, ki bodo vsebovali tudi odgovor na začetno, netransformirano poizvedbo, in zato oblika relaksacije, ki množico spremenljivk poizvedbe pri transformaciji poveča. Tako obliko relaksacije imenujemo generalizacija. Poglejmo torej, kateri pogoj mora relaksacija poizvedbe Q v Q' izpolnjevati, da bo generalizacija. Ob dani klasifikacijski izjavi izvedemo korak relaksacije na osrednjem literalu poizvedbe tako, da ga nadomestimo z glavo ustrezne klasifikacijske izjave ter poizvedbi dodamo vse neključne literale. Poizvedba Q' bo generalizacija poizvedbe Q, če bodo neključni literal! resnični pri vseh določilih spremenljivk, pri katerih bo resničen ključni literal. Naj bo torej C : h : - cii & ... & an & k*. poljubna klasifikacijska izjava, kjer je h glava, k ključni literal, ci\,..., an pa neključni literali. Naj bodo X\,...,Xm spremenljivke literala k, Y\,..., Yp pa tiste spremenljivke literalov a\,..., an, ki ne nastopajo v k. Rekli bomo, daje obratna klasifikacijska izjava CT : relax (k) : — a\ & ... & an & h. ohranljiva, če k ne vsebuje konstant in velja yXl,...,Xm 3YU...,YP : (k^a^.-.Aan). Glej primer 8.13. Pogoj ohranljivosti obratne klasifikacijske izjave lahko delno izpolnimo z integritetnimi omejitvami - z integritetnimi omejitvami lahko zagotovimo obstoj spremenljivk Y\,... ,YP, ne pa tudi njihove medsebojne povezanosti in/ali pripadnosti spremenljivkam VXi,... ,Xm. Primer 8.13. Obratna klasifikacijska izjava Vj iz primera 8.11 je ohranljiva le, če velja yX,Y 3A,B : (polet(X,Y) => letališče(X, A) Metališče(Y, B)). To je, Vj je ohranljiva, če za vsako letališče vemo, kateremu mestu pripada. 8 Sodelujoči podatkovni sistemi 141 Naj bo Q' poizvedba, rezultat relaksacije poizvedbe Q z ohranljivimi obratnimi klasifikacijskimi izjavami. Tedaj je Q' generalizacija poizvedbe Q [Gaasterland-1992b]. To pa pomeni, da odgovor na relaksirano poizvedbo gotovo zajema odgovor na začetno poizvedbo, če so vse obratne klasifikacijske izjave, uporabljene v postopku relaksacije, ohranljive. Ker z relaksacijo raziskujemo soseščino začetne poizvedbe, so najzanimivejše tiste re-laksirane poizvedbe, ki so dobljene v najmanj korakih. Bolj se od začetne poizvedbe oddaljimo, manj verjetno je, da bo odgovor uporabnika zanimal. Za zelo uporabno se zato izkaže strategija [Gaasterland-1992b], ki najprej izbere le relaksacije, dobljene v enem koraku, nato pa pusti izbiro uporabniku. Ta se odloči oz. pokaže smer, v katero naj se interakcija nadaljuje. Pri tem moramo biti pozorni tudi na obvladljivost števila relaksacij, ki jih uporabniku ponudimo. 8.4 Tehnike sodelujočega odgovarjanja, ki jih podpirajo Datalog in dialog mlPC Kripkejevi modeli Podatkovna zbirka deduktivnega podatkovnega sistema, ki temelji na podatkovnem jeziku Datalog (poglavje 6), je sestavljena iz ekstenzionalne podatkovne zbirke (EPZ), intenzionalne podatkovne zbirke (IPZ) in integritetnih omejitev (10). Datalog zato podpira naslednje tehnike sodelujočega odgovarjanja: -w vrednotenje domnev, vsebovanih v poizvedbah, -w odkrivanje in odpravljanje nesporazumov ter -w oblikovanje intenzionalnih odgovorov. Povedali smo že, da lahko urejenost predikatov in konstant izrazimo s Hornovimi stavki. Posledično lahko s Hornovimi stavki izrazimo tudi klasifikacijske izjave in obratne klasifikacijske izjave, težavo povzroča le oznaka * ključnega literala klasifikacijske izjave oz. oznaka relax glave obratne klasifikacijske izjave, brez katerih ne moremo vedeti, da gre za ta tipa izjav. Datalog torej, v svoji osnovni obliki, ne podpira relaksacije oz. tehnike posploševanja poizvedb in odgovorov. Dialog mlPC Kripkejevi modeli, na katerih temelji podatkovni model sodelujoče podatkovne zbirke, uporabljene v drugem eksperimentu Čarovnik iz Oza, uporabljajo intuicionistično modalno logiko, ki je veliko zmogljivejša od logike prvega reda. V razdelku 2.5 smo videli, da ta podatkovni model (poleg vseh tehnik sodelujočega odgovarjanja, ki jih podpira Datalog) podpira tudi relaksacijo. Pri tem imajo ključno vlogo modalni operatorji. Večja zmogljivost intuicionistične modalne logike žal vodi tudi do večje kompleksnosti podatkovnih modelov. Podatkovni modeli, ki so ali veliko kompleksnejši od relacijske algebre ali popolnoma drugače zasnovani, pa s priljubljeno relacijsko algebro le težko tekmujejo. Relacijska algebra in ostali modeli relacijskih podatkovnih zbirk ne podpirajo nobene izmed tehnik sodelujočega odgovarjanja. To pa pomeni, da jih, v njihovi osnovni 8 Sodelujoči podatkovni sistemi 142 obliki, ne moremo šteti za sodelujoče podatkovne modele. V nadaljevanju se bomo zato posvetili različnim razširitvam relacijskega podatkovnega modela, tudi razširitvam, ki podpirajo nekatere tehnike sodelujočega odgovarjanja. 8.5 Razširitve relacijskega podatkovnega modela Omenili smo že (poglavje 5), da imajo relacijski jeziki vrsto pomanjkljivosti. Te se v glavnem nanašajo na tranzitivno zaprtje, komplement in kompleksnost podatkov [Elmasri-2004]. Relacijski podatkovni modeli so se npr. izkazali za premalo zmogljive pri urejanju in shranjevanju satelitskih slik, genskih informacij, arhitekturnih načrtov, časovnih podatkov o borznih tečajih in prodajah delnic, prostorskih in drugih geografskih podatkov, podatkov o onesnaženju zraka in vode ter prometnih podatkov. Relacijski podatkovni modeli pa ne podpirajo tudi nobene izmed naštetih tehnik sodelujočega odgovarjanja in jih torej ne moremo šteti za sodelujoče podatkovne modele. Ravno zaradi izjemne priljubljenosti relacijskih podatkovnih zbirk pa se, hkrati z odkrivanjem pomanjkljivosti, pojavlja tudi vedno več razširitev relacijskega podatkovnega modela. Tako med drugim obstajajo razširitve, ki v relacijske podatkovne zbirke vpeljejo: -w gnezdene relacije [Schek-1986, Thomas-1986, Paredaens-1992, Elmasri-2004], -w urejenost relacij [Buneman-1991, Raymond-1996, Ng-2001, Hafenrichter-2005], -w kompleksne tipe podatkov, kot so zaporedja, tabele, množice, vreče [Guting-1989, Kim-1995, Elmasri-2004]. -w nekatere vrste sodelujočega odgovarjanja [Motro-1988, Motro-1990, Godfrev-1994, Chu-1994, Chu-1996, Hafenrichter-2005], V nadaljevanju bomo predstavili nekatere izmed predlaganih razširitev relacijskega podatkovnega modela. 8.5.1 Gnezdeni relacijski podatkovni modeli Relacijski podatkovni model, ki dovoljuje gnezdenje relacij, imenujemo gnezden relacijski podatkovni model [Schek-1986]. Ta model, v nasprotju z osnovnim relacijskim podatkovnim modelom [Codd-1970], predvideva sestavljene in večvrednostne atribute, ki vodijo do kompleksnih vrstic s hierarhično strukturo. Gnezden relacijski podatkovni model je zato primeren za predstavitev objektov, ki so že po naravi hierarhično struk-turirani. Relacijska shema gnezdene relacijske podatkovne zbirke je sestavljena iz vrste zunanjih relacijskih shem - vsaki relaciji najvišje ravni gnezdenja pripada natanko ena zunanja relacijska shema. Atribute zunanje relacijske sheme, ki ustrezajo kateri od v njej 8 Sodelujoči podatkovni sistemi 143 ugnezdenih relacijskih struktur, imenujemo notranje relacijske sheme. Atribute najnižje ravni relacijske hierarhične strukture imenujemo enostavni atributi. Relacijsko shemo najnazorneje predstavimo z drevesno strukturo, katere koren predstavlja dana zunanja relacijska shema, listi so enostavni atributi, notranja vozlišča pa ustrezajo notranjim relacijskim shemam. Primer relacijske sheme gnezdene relacijske podatkovne zbirke prikazuje slika 8.1. Pripadajoča drevesna predstavitev je podana s sliko 8.2. OŠT OIME VODJA ZAPOSLENI PROJEKTI KRAJI ZIME OTROCI PRIME PRKRAJ OKRAJ OTRIME OTRST Slika 8.1: Primer relacijske sheme relacije ODDELEK gnezdene relacijske podatkovne zbirke. OŠT OIME VODJA ZAPOSLENI PROJEKTI ~~~~ KRAJI ZIME OTROCI PRIME PRKRAJ OKRAJ OTRIME OTRST Slika 8.2: Drevesna predstavitev relacijske sheme relacije ODDELEK. Edina zunanja relacijska shema na sliki 8.2 je shema relacije ODDELEK. Vse ostale relacijske sheme, tj. sheme relacij ZAPOSLENI, PROJEKTI, KRAJI in OTROCI, so notranje relacijske sheme. Enostavni atributi so OST, OIME, VODJA, ZIME, OTRIME, OTRST, PRIME, PRKRAJ in OKRAJ. Razširitev relacijskih podatkovnih zbirk z gnezdenimi relacijami zahteva razširitev relacijskega podatkovnega modela [Thomas-1986]. Dobljena gnezdena relacijska algebra vsebuje dve dodatni operaciji, in sicer operacijo gnezdenja in gnezdenju obratno operacijo. Izkaže pa se, da je osnovna relacijska algebra po izrazljivosti enako močna kot gnezdena relacijska algebra, tj. iz osnovnih relacijskih podatkovnih zbirk je z relacijsko algebro mogoče pridobiti enake podatke kot z gnezdeno relacijsko algebro [Paredaens-1992]. Sledi, tudi z gnezdeno relacijsko algebro ni mogoče izraziti tranzitiv-nega zaprtja. Zaradi omenjenega so številni raziskovalci predlagali gradnjo podatkovnih sistemov, ki podpirajo gnezden relacijski podatkovni model, njihov uporabniški vmesnik pa temelji na osnovni relacijski algebri. 8 Sodelujoči podatkovni sistemi 144 8.5.2 Urejeni relacijski podatkovni modeli Urejenost je kot osnovna lastnost skoraj vseh podatkovnih tipov naravno prisotna v številnih podatkovnih zbirkah [Maier-1993, Raymond-1996]. Relacijske podatkovne zbirke pa podpirajo le naslednje standardne urejenosti podatkovnih tipov: • abecedna urejenost črkovnih nizov, • numerična urejenost števil, • kronološka urejenost datumov. Ker omejena podpora urejenosti v relacijskih podatkovnih zbirkah vodi do izgube pomembne semantične informacije, številni raziskovalci poskušajo relacijski podatkovni model ustrezno razširiti [Buneman-1991, Raymond-1996, Ng-2001, Hafenrichter-2005]. Oglejmo si le razširitev, imenovano delno urejen relacijski podatkovni model, ki jo je predlagal Ng [Ng-2001]. Naj bo vrednostna množica Di atributa Ai delno urejena z relacijo CDi, tj. (Di, EDi) je delno urejena domena atributa Ai za 1 < i < n. Relacijo R z relacijsko shemo R(Ai,..., An) tedaj imenujemo delno urejena relacija. Končno množico delno urejenih relacij imenujemo delno urejena relacijska podatkovna zbirka. Osnovna relacijska podatkovna zbirka, kjer so vse vrednostne množice atributov popolnoma neurejene, kar je ekvivalentno delni urejenosti z relacijo =, je poseben primer delno urejenih relacijskih podatkovnih zbirk. V delno urejenih relacijskih podatkovnih zbirkah se ohranita dve pomembni lastnosti običajnih (neurejenih) relacijskih podatkovnih zbirk: vsi elementi vseh vrenostnih množic so enostavni in vrstice so paroma različne. Pomembno je biti pozoren tudi na nekatere ključne razlike med omenjenima vrstama relacijskih podatkovnih zbirk: 1. Elementi delno urejene relacije z relacijsko shemo R(Ai,..., An), kjer je (Di, EDi) delno urejena domena atributa Ai (1 < i < n), so delno urejeni z naslednjo relacijo: (xx,...,xn) C (yx, ...,yn) ^^ Xi QD. yt za 1 < i < n Elementi običajne relacije niso urejeni. 2. Atributi relacijske sheme delno urejene relacije so linearno urejeni. Delno urejena razširitev relacijskih podatkovnih zbirk zahteva tudi razširitev relacijskega podatkovnega modela. Dobljena delno urejena relacijska algebra (PORA) vsebuje dodatni predikat urejenosti Q, ki lahko nastopa v formuli F osnovne operacije izbire of. Pri tem je o~a\zb(R) množica vseh elementov relacije R, ki zadoščajo formuli A jZ B. Delno urejena relacijska algebra dovoljuje v formulah, ki določajo izbiro, aritmetične operatorje primerjav =, <, >, =, < in >, ter predikata urejenosti |Z in %. Da bi preprečila neskladnost 8 Sodelujoči podatkovni sistemi 145 v urejenosti unije dveh urejenih relacij, delno urejena relacijska algebra dovoljuje le unijo dveh relacij, ki imata isto relacijsko shemo in enako urejene vrednostne množice pripadajočih atributov. PORA je po izrazljivosti močnejša od osnovne relacijske algebre. Obstajajo pa še nekatera odprta vprašanja: • Kako integrirati delne urejenosti v podatkovne sisteme? Avtor [Ng-2001] predlaga integracijo v jedro podatkovnega sistema v obliki urejenega B-drevesa [Lynn-1982]. • Kako spreminjati delne urejenosti vrednostnih množic? Zavedati se moramo, da je urejenost vrednostnih množic lahko odvisna od različnih dejavnikov, npr. časa, kraja in uporabnika. To je tudi razlog, zakaj mora biti urejenost integrirana tako, da je do nje mogoče brez težav dostopati in jo po potrebi spreminjati oz. prilagajati uporabnikom. 8.5.3 Objektno-relacijski podatkovni modeli Razširitve relacijskega podatkovnega modela na nekatere kompleksne tipe podatkov imenujemo objektno-relacijski podatkovni modeli. V objektno-relacijskih podatkovnih zbirkah so podatki še vedno urejeni v obliki tabel, le vrednostne množice posameznih atributov (stolpcev) imajo bogatejšo podatkovno strukturo. Vsebujejo lahko npr. zaporedja, tabele, množice, vreče ali slike. Podatkovne tipe, ki jih dobimo kot kombinacijo osnovnih abecednih in številskih podatkovnih tipov, imenujemo abstraktni podatkovni tipi. Zanimiv primer abstraktnega podatkovnega tipaje časovni niz, tj. tabela časovno urejenih vrednosti. Kim [Kim-1995] je objektno-relacijske podatkovne zbirke definiral kot nadmnožico relacijskih podatkovnih zbirk, kije v primeru neuporabe objektov (tj. abstraktnih podatkovnih tipov) enaka relacijskim podatkovnim zbirkam. Njihovi največji novosti in zanimivosti sta sposobnost definicije želenih podatkovnih tipov in uporabniških funkcij za izvajanje operacij nad podatki. Različne objektne razširitve relacijskih podatkovnih zbirk zahtevajo različne razširitve relacijskega podatkovnega modela. Dobljeni objektno-relacijski podatkovni modeli vsebujejo operacije in funkcije za upravljanje s kompleksnimi tipi podatkov, kot so npr. časovni nizi. Objektno-relacijske podatkovne zbirke so dosegle največji uspeh pri shranjevanju in urejanju zvočnih, slikovnih in časovno odvisnih podatkov [Grimes-1998]. 8.5.4 Sodelujoči relacijski podatkovni modeli Razširitve relacijskega podatkovnega modela, ki se nanašajo na različne tehnike sodelujočega odgovarjanja, imenujemo sodelujoči relacijski podatkovni modeli. Chu in Chen [Chu-1994] z uporabo hierarhije abstrakcije tipov (TAH), ki jo opisujeta kot učinkovito 8 Sodelujoči podatkovni sistemi 146 in urejeno ogrodje za predstavitev povezav med podatki in znanjem, dosežeta npr. re-laksacijo. Hierarhija abstrakcije tipov zajema pojem vsebovanja in pojem sestave, imenovana IS-A in PART-OF. Pri tem avtorja [Chu-1994] ločita dve vrsti tipov - atomarne tipe T, ki smo jih v okviru relacijskih podatkovnih zbirk poimenovali atributi, in sestavljene tipe (Ti,... ,Tn), ki so kartezični produkti več atributov. Pravimo, da je tip T' abstrakcija tipa T, kar pišemo kot T ^ T', če velja naslednje: • Poljubni vrednosti atomarnega tipa T' pripada vsaj ena vrednost atomarnega tipa T. • Za sestavljena tipa T = (T,... ,Tn) in T' = (T[,... ,T^) ter 1 < i < n velja T -< T' J-t — J-i- Primer abstrakcije numeričnega tipa je interval vrednosti, primer abstrakcije nenume-ričnega tipa Ljubljana pa Slovenija. Tip Slovenija lahko npr. predstavlja množico mest: Ljubljana, Maribor, Celje ... TAH je tedaj drevesna struktura, zgrajena iz množice osnovnih tipov. Listi danega TAH drevesa so vrednosti osnovnih tipov, vsa ostala vozlišča pa vrednosti abstrakcij osnovnih tipov. Če osnovni tip označimo s T, njegove abstrakcije pa s T', T",..., T^k\ je T^ najsplošnejši tip in velja: j1 _<; j"' _<; j"" _<; _<; j'(fc) Listi TAH drevesa tvorijo najnižjo raven, vrednosti tipa T1 (1 < i < k) pa so natanko i ravni nad njimi. Če gradimo TAH drevo atomarnega tipa, je tudi ta osnovni tip. V nasprotnem primeru, ko gradimo TAH drevo tipa, sestavljenega iz več atributov ene ali več relacij, je osnovni tip sestavljen natanko iz teh atributov. Premik po TAH drevesu navzgor pomeni preslikavo vrednosti tipa T^ (1 < i < k — 1) v vrednost tipa T^+1\ ki je splošnejša. Premik po TAH drevesu navzdol pomeni preslikavo vrednosti splošnejšega tipa T^+1^ (1 < i < k — 1)v množico bolj specifičnih vrednosti tipa T^. Primer TAH drevesa prikazuje slika 8.3. Relaksacija izbrane osnovne vrednosti x je tedaj zaporedje preslikave te vrednosti v splošnejšo vrednost x' in (rekurzivno definirane) preslikave tako dobljene vrednosti x' nazaj v pripadajočo množico vrednosti osnovnega tipa. Za primer letališča Gabes s slike 8.3 to najprej pomeni preslikavo v splošnejšo vrednost SV Tunizija in nato preslikavo v množico {Sfax, Gabes, Djerba}. Razširitev relacijskih podatkovnih zbirk s hierarhijo abstrakcije tipov zahteva tudi razširitev relacijskega podatkovnega modela. Sodelujoča relacijska algebra, na kateri temelji sodelujoč podatkovni sistem CoBase [Chu-1996], vsebuje številne dodatne sodelujoče operacije, ki so jih avtorji razdelili v štiri kategorije: 8 Sodelujoči podatkovni sistemi 147 Tunizija Severna Tunizija S Z Tunizija SV Tunizija Gafsa El Borma Sfax Gabes Djerba Južna Tunizija J V Tunizija Bizerte Djedeida Tunis Saminjah Monastir Slika 8.3: Primer TAH drevesa letališč v Tuniziji. 1. KONTEKSTNO PROSTE OPERACIJE • Approximate v priredi vrednosti v interval vrednosti, ki ga uporabnik definira vnaprej. Na primer Approximate 9 = (8,10). • Between (^1,^2) priredi nastopajočima vrednostma v\ in v2 interval vrednosti, ki ga bodisi uporabnik bodisi upravitelj podatkovne zbirke definira vnaprej. Na primer Between (7', Approximate 9) = (7,10). • Within (xi,yi,... ,xn,yn) določa področje dane slike, omejeno s poligonom X\y\ ... xnyn. 2. KONTEKSTNO ODVISNE OPERACIJE • Near-to x opisuje (prostorsko) okolico objekta x. Ta mera bližine je odvisna od konteksta in uporabnika. Definiramo jo lahko s TAH drevesi ali pa njeno definicijo prepustimo uporabniku. • Similar-to x based-on ((Ai wi)(A2 w2) ¦ ¦ ¦ (An wn)) opisuje množico objektov, ki so pomensko blizu ciljnega objekta x. Pri tem imajo ključno vlogo atributi Ai,..., An, ki jih izbere uporabnik, in uteži W\,..., wn, ki kažejo relativno pomembnost posameznih atributov. Množico podobnih objektov lahko uredimo glede na dobljeno mero podobnosti, tj. uteženo srednjo kvadratno napako. Velikost množice podobnih elementov omejimo z vnaprej določenim pragom. 3. Kontrolne operacije • Relaxation-order (A\,... ,An) določa vrstni red (A\,... ,An) atributov v postopku relaksacije. Če ne obstaja eksakten odgovor na poizvedbo, začnemo z relaksacijo po prvem atributu A\. Če na dobljeno relaksirano poizvedbo še vedno ni odgovora, nadaljujemo z relaksacijo po drugem atributu A2 itd. V primeru, ko uporabnik ne poda vrstnega reda relaksacije, poteka relak-sacija v skladu z vnaprej določeno strategijo. 8 Sodelujoči podatkovni sistemi 148 • Not-relaxable (A\,..., An) določa atribute (A\,..., An), ki jih ne želimo relaksirati. • Preference-list (v\,... ,vn) določa prednostni seznam vrednosti (v\,... ,vn) danega atributa. Pri tem ima vi prednost pred vi+\. Z uporabo te operacije dosežemo relaksacijo po danem atributu, ki sledi prednostnemu seznamu. • Unacceptable-list (v\,... ,vn) uporabniku dovoljuje, da sistemu prepove določene odgovore. To lahko dosežemo tako, da določene dele TAH drevesa ne pregledujemo. Taka operacija ne vpliva le na večje zadovoljstvo uporabnika, temveč skrajša tudi čas iskanja odgovora. • Alternative-TAH (TAH-ime) uporabnikom dovoljuje uporabo izbranih TAH dreves. Tako zadovoljimo raznolike potrebe različnih uporabnikov. Kot primer vzemimo popotnika, ki je na počitnicah in ga zanimajo predvsem cenejše letalske povezave, ter popotnika, ki je na poslovnem potovanju in ga zanimajo časovno ugodnejše letalske povezave. Da bi zadovoljili raznoliki potrebi uporabnikov, ustvarimo več različnih TAH dreves, ki poudarjajo različne atribute. • Relaxation-level (v) določa največjo dovoljeno vrednost relaksacije po danem atributu, tj. vse vrednosti iz intervala [0,v]. • Answer-set (s) določa najmanjše število odgovorov, kijih zahteva uporabnik. CoBase izvaja relaksacijo tako dolgo, dokler ne dobi dovolj, to je > s, bližnjih odgovorov. 4. Interaktivne operacije • Nearer in Further omogočata interaktivno kontrolo nad Near-to operacijo. Medtem ko operacija Nearer zmanjša razdaljo za vnaprej določen odstotek, jo operacija Further poveča. TAH drevesa, ki predstavljajo znanje o medsebojnih odnosih podatkov podatkovne zbirke, lahko shranimo v dodatnih relacijskih tabelah. Kljub temu je predstavljena sodelujoča razširitev relacijskih podatkovnih zbirk zelo kompleksna in poleg omenjenih sodelujočih operacij zajema tudi spremembe v načinu vrednotenja poizvedb (logično sklepanje, spreminjanje, hevristično iskanje). Kategorni model relacijske algebre 9.1 Uvod v teorijo kategorij 9.2 Kategorna posplošitev relacijske algebre 9.3 Kategorija podobnosti 9.4 Zmogljivost kategornega modela relacijskih podatkovnih zbirk Podamo kategorno posplošitev relacijske algebre - relacijam in nad njimi definiranim operacijam relacijske algebre priredimo ustrezne kategorne konstrukte. Ugotovimo, da za posplošitev relacijske algebre potrebujemo natančen začetni objekt, končni objekt, končne kategorne produkte in slike. Vsi razredi regularnih podobjektov morajo vsebovati relativne komplemente, poljubna dva regularna podobjekta pa morata imeti najmanjšo zgornjo in največjo spodnjo mejo. Predstavimo kategorijo podobnosti, ki je ustrezno okolje za kategorno predstavitev relacijske algebre. Izpostavimo dve zanimivi podkategoriji kategorije podobnosti, imenovani kategorija urejenih množic in kategorija kompaktnih metričnih prostorov. Opišemo implementacijo in zmogljivost dobljenega kategornega modela relacijskih podatkovnih zbirk. 149 9 Kategorni model relacijske algebre 150 9.1 Uvod v teorijo kategorij Relacijske podatkovne zbirke bomo pogledali z drugega zornega kota, namreč z zornega kota teorije kategorij, s katero dosežemo manjšo kompleksnost modelov zmogljivih, tudi sodelujočih podatkovnih zbirk. Pojem kategorije sta leta 1945 uvedla S. Eilenberg in S. MacLane [Eilenberg-1945], osnova teorije kategorij pa je pregledno predstavljena v [Bucur-1968, Barr-1999, Borceux-1994a, Awodey-2005]. Kategorija C je struktura, sestavljena iz: 1. razreda objektov C0 in razreda morfizmov C\, za katere velja naslednje: • Vsak / G C\ ima enolično določeni domeno dom/ in kodomeno cod/, ki sta objekta kategorije C. Razred morfizmov z domeno A in kodomeno B označimo s Hom(A, B). Za / G Hom(A, B) pišemo / : A^B. • Nad morfizmi obstaja binarna operacija, imenovana kompozicija (A, B,C G C0): o: Hom(A,B) x Hom(5,C) —> Horn (A, C) (f,9) '—> 9°f • Kompozicija je asociativna, tj. za poljubne A,B,C,D e C0, f & Rom(A,B), g G Hom(JB, C) in h G Hom(C,D) velja h o (g o /) = (h o g) o /. • Obstaja enota za kompozicijo, tj. za vsak A e C0 je 1a '¦ A ^ A tak morfizem, da za B, C G C0, f : A —> i? in g : C —> A velja folA = f in U ° L = L. Podkategorija C kategorije C je podstruktura z razredom objektov C'0 C C0 in razredom morfizmov C\ C Ci, katere kompozicija in enota za kompozicijo se ujemata s kompozicijo in enoto za kompozicijo v kategoriji C. Primer 9.1. Objekti kategorije množic Set so množice, morfizmi so preslikave množic, kompozicija je kompozicija preslikav, enota za kompozicijo pa identična preslikava množice. Relacije oz. množice, na katerih je zasnovana relacijska algebra, so torej objekti, operacije nad relacijami pa morfizmi kategorije množic. Trdimo lahko, da je relacijska algebra kot struktura, sestavljena iz relacij in nad njimi definiranih operacij, podstruktura kategorije množic. 9 Kategorni model relacijske algebre 151 Primer 9.2. Objekti kategorije grafov Graph so usmerjeni grafi, morfizmi so homo-morfizmi grafov, kompozicija je kompozicija homomorfizmov, enota za kompozicijo pa identični homomorfizem grafa. Primer 9.3. Objekti kategorije mrež [Borceux-1994b] so mreže, morfizmi so homomor-fizmi mrež, kompozicija je kompozicija homomorfizmov mrež, enota za kompozicijo pa identični homomorfizem mrež. Pri tem povejmo, da je mreža L« = (M; A, V) neprazna množica M z binarnima operacijama A (kapa) in V (kupa), ki imata naslednje lastnosti: 1. KOMUTATIVNOST; Va, 6 G M : a /\b = b /\a in a V b = 6 V a 2. ASOCIATIVNOST; Wa,b,ceM: (a Ab) Ac = a A (6 A c) in (a V 6) V c = a V (6 V c) 3. IDEMPOTENTNOST; Va G M : a A a = a in a V a = a 4. ABSORPCIJA; Va, b G M : (a Ab) \/ a = a in (a\/ b) Aa = a Podmreža mreže LM = (M; A, V) je vsaka podmnožica množice M, zaprta za binarni operaciji A m V. V mrežo vpeljemo relacijo a < b <^=^ a A b = a <ž=^ a V b = b, ki mrežo delno ureja (refleksivnost, antisimetričnost, tranzitivnost). Tudi vsaka delno urejena množica (M, ^), v kateri imata poljubna dva elementa enolično določeni največjo spodnjo (mL) in najmanjšo zgornjo mejo (^supj, je za operaciji a A b = inf {a, b} a V b = sup{a, 6} mreža [Vidav-2003], katere inducirana relacija < in relacija ^ se ujemata. Homomorfizem mrež L a = (A; Aa, V a) in Lb = (B; Ab, V#) je preslikava f : A —> B, za katero za poljubna a,b G A velja: f(aAAb) = f(a)ABf(b) f(aWAb) = f(a)WBf(b) Homomorfizmi mrež spoštujejo urejenost < : x B, za katero za poljubno družino {ai}iex elementov iz A velja: /\B f(«) = f(/\A«) iei iei \JB f^) = f(\JA at) iei iei Homomorfizmi polnih mrež ohranjajo elementa 0 m 1. Polne mreže in homomorfizmi polnih mrež tvorijo kategorijo polnih mrež CLat. Tako kot v običajni kategoriji množic, kjer ločimo injektivne, surjektivne in bijektivne preslikave množic, v teoriji kategorij ločimo monomorfi,zme, epimorfizme in izomor-fizme. Morfizem imenujemo monomorfizem, če za poljubna morfizma 91 : A -+ B 92:A^B yl f o g1 = f o g2 sledi -^> C. Nekateri monomorfizmi so še posebej zanimivi - predstavili bomo monomorfizme, imenovane regularni monomorfizmi ali zožki. Zožek e : E ^-> B para morfizmov f,g:B^Cje morfizem, za katerega velja foe = goe in za poljuben morfizem e' : E' —> B, ki izpolnjuje pogoj foe' = goe', obstaja natanko en morfizem k : E' —> E, da velja e o k = e'. Glej sliko 9.1. Izkaže se, da so vsi zožki monomorfizmi in da so določeni do izomorfizma natanko [Awodey-2005]. Zožke imenujemo tudi regularni monomorfizmi. Morfizem imenujemo epimorfi,zem, če za poljubna morfizma h2:C^D 9 Kategorni model relacijske algebre 153 E>—-—>R I C k 7f g / 3!kl / Slika 9.1: Zožek ali regularni monomorfizem. iz h\ o / = h,2 ° / sledi h\ = h2. Tedaj pišemo / : B -» C. Morfizem / imenujemo izomorfi,zem, če obstaja morfizem f-l:C^B, da velja f~lof = 1B in fof-l = 1C. Tedaj f~l imenujemo inverz morfizma / in pišemo / : B y^ C. Morfizmi 1a iz definicije kategorije so izomorfizmi. Imenujemo jih identični izomorfizmi. Če med objektoma i? in C obstaja izomorfizem, pravimo, da sta izomorfna. Oznaka ^> je nekoliko zavajajoča. Res je, da so vsi izomorfizmi tudi monomorfizmi in epimorfizmi, obratno pa ni res [Awodey-2005]. Obstajajo namreč kategorije in morfizmi, ki so monomorfizmi in epimorfizmi, ne pa tudi izomorfizmi. Primer je kategorija z dvema objektoma in edinim morfizmom med tema objektoma. Primer 9.4. Monomorfizmom kategorije množic Set (primer 9.1) ustrezajo injektivne preslikave, epimorfizmom ustrezajo surjektivne preslikave, izomorfizmom pa bijektivne preslikave. Vsi monomorfizmi kategorije množic so regularni [Barr-1999]. Primer 9.5. Monomorfizmom kategorije grafov Graph (primer 9.2) ustrezajo monomorfizmi grafov, epimorfizmom ustrezajo epimorfizmi grafov, izomorfizmom pa izomorfizmi grafov [Diestel-2000]. Izkaže se, da so tudi vsi monomorfizmi kategorije grafov regularni [Borceux-199J^c]. Primer 9.6. V kategoriji polnih mrež CLat (primer 9.3) so monomorfizmi injektivni homomorfizmi polnih mrež, izomorfizmi pa homomorfizmi polnih mrež, ki so injektivni in surjektivni. Obstajata dva popolnoma različna načina uporabe teorije kategorij pri modeliranju podatkovnih zbirk: -w MODULARIZACIJA: Notranjo strukturo osnovnih podatkovnih objektov, kot so npr. tabele, prezremo v korist zunanjih odnosov med njimi. Pri modularizaciji nas zanimajo podatki kot objekti, katerim priredimo morfi,zme, da dobimo kategorijo. Dobljena kategorija tedaj služi za abstrakcijo oz. posploševanje podatkovnih objektov in operacij, ki se nad njimi izvajajo. 9 Kategorni model relacijske algebre 154 -w Sintetično sklepanje: Notranjo strukturo posplošenih osnovnih podatkovnih objektov poskušamo ponovno vzpostaviti. Namen sintentičnega sklepanja je kategorije približati inženirjem in uporabi v praksi, nanj pa lahko gledamo tudi kot na inverzno operacijo modularizacije. Modularizacija pa nikakor ni predpogoj za sintetično sklepanje - pogosto poznamo abstrakcijo notranje strukture podatkovne zbirke, ne pa tudi zunanjih odnosov med podatkovnimi objekti. Eden od čarov teorije kategorij je gotovo njena sposobnost združevanja shematičnega formalizma in algebraičnega simbolizma. Kategorno modeliranje podatkovnih zbirk je precej razpršeno in nepregledno znanstveno področje. Potencial, ki ga teorija kategorij nudi, je v zadnjih desetletjih vodil do številnih kategornih modelov različnih podatkovnih zbirk [Dampney-1992, Rossiter-1994, Nelson-1995, Islam-1994, Johnson-1996, Johnson-2002a, Johnson-2002b]. Mi bomo poiskali kategorni model relacijskih podatkovnih zbirk, ki bo temeljil na modularizaciji in bo zmogljivost relacijske algebre ustrezno razširil. Relacijsko algebro kot najbolj znan model relacijskih podatkovnih zbirk bomo posplošili na teorijo kategorij, tako da bomo relacijam in nad njimi definiranim operacijam priredili ustrezne kategorne konstrukte. Ta postopek nas bo vodil do kategorije in družine njenih podkategorij, ki bo združevala različne kategorne modele relacijske algebre. Eden izmed modelov bo tudi klasična relacijska algebra, na kateri bo posplošitev temeljila in ki je definirana v posebnem primeru kategorije, imenovanem kategorija množic Set. 9.2 Kategorna posplošitev relacijske algebre Kategorije, ki bodo primerno okolje za modeliranje relacijskih podatkovnih zbirk, morajo vsebovati posebne objekte, imenovane regularni podobjekti, ki so posplošitev pojma podmnožice oz. podtabele iz kategorije množic Set. Naj bo torej A poljuben objekt kategorije C, Mono(A) pa razred vseh monomorfizmov s kodomeno A. Naj bosta U in V objekta kategorije C s pripadajočima monomorfizmoma u,v G Mono(A): u:U ^ A v: V ^ A V razredu Mono(A) definiramo relacijo <: u < v -<=/- (3v! : U —> V, tako da je u = v o u') Glej sliko 9.2. Če je u < v in v < u, pišemo u = v, in = je ekvivalenčna relacija (refleksivnost, simetričnost, tranzitivnost) v razredu Mono(A). Razred podobjektov objekta A, ki ga označimo s Sub(A), je razred ekvivalenčnih razredov relacije =: Sub(A) = Mono(A)/^ 9 Kategorni model relacijske algebre 155 Razred Sub(A) podobjektov objekta A je z relacijo < delno urejen (refleksivnost, an-tisimetričnost, tranzitivnost). u.......................3u'.....................>y Slika 9.2: Relacija < v razredu Mono(A). Regularnim monomorfizmom pripadajoče podobjekte imenujemo regularni podobjekti, razred regularnih podobjektov objekta A pa označimo z RegSub(A). Tudi za objekt U s pripadajočim monomorfizmom u : U ^-> A, ki je predstavnik nekega podobjekta objekta A, pravimo, da je podobjekt objekta A in pišemo U C A. Če za v : V ^-> A velja u < v, pišemo U < V, in če sta u in v predstavnika istega podobjekta objekta A, pišemo U = V. Primer 9.7. Objekti kategorije množic Set so množice (primer 9.1), monomorfizmi so injektivne preslikave (primer 9.4), podob jekti pa ekvivalenčni razredi injektivnih preslikav. Ce naj bosta dve injektivni preslikavi u:U ^ A v: V ^ A elementa istega podobjekta množice A, torej ekvivalentni glede na relacijo =, morata biti množici U in V enako močni. Tedaj obstajata preslikavi g:U^V h:V ->U za kateri velja u = v o g in v = u o h. Ker sta u in v injektivni preslikavi, sta g in h enolično določeni in injektivni. Zaradi U = V o g = (uoh) o g = uo (ho g) V = U o h = (v o g) o h = V o (g o h) pa sledi še lu = h o g in \y = g o h. Torej, g in h sta inverzna izomorfizma. Sledi, preslikavi u in v imata isto zalogo vrednosti I C. A. Vložitev idr. I ^ A 9 Kategorni model relacijske algebre 156 je element istega podobjekta kot u in v. Pokažimo, da je to edina vložitev v tem podob-jektu množice A. Naj bo vložitev idJ : J "-^ A element istega podobjekta kot idI. Po zgornji ugotovitvi sta zalogi vrednosti vložitev idI in idJ enaki, tj. I = J in idI = idJ. Torej, vsak podobjekt kategorije množic vsebuje natanko eno vložitev. Ker so podobjekti ekvivalenčni razredi, ki so paroma disjunktni, med razredom podobjektov dane množice in razredom vseh vložitev v to množico obstaja povratno-enolična preslikava. Sledi, razred Sub(A) podobjektov objekta A v kategoriji množic Set je izomorfen razredu vseh podmnožic množice A. Ta razred je seveda množica. Ker so vsi monomorfizmi (in s tem vse vložitve) kategorije množic Set regularni (primer 9.4), so regularni tudi vsi podobjekti. Za poljubno množico A torej velja: Sub(A) = RegSub(A). Iz regularnosti monomorfizmov sledi tudi, da domeno E poljubne vložitve i : E ^-> A podmnožice E v množico A dobimo kot zožek dveh funkcij /i,/2 : A —> B oz. kot množico rešitev enačbe fi(x) = f2(x). Napojem zožka oz. regularnega podobjekta torej lahko gledamo kot na posplošitev pojma podmnožice ali posplošitev pojma rešitve sistema enačb. Primer 9.8. Razred RegSub(G) regularnih podobjektov objekta G v kategoriji grafov Graph je izomorfen razredu vseh podgrafov grafa G, o čemer se prepričamo na podoben način kot v primeru 9.7. Primer 9.9. Razred RegSub(LA) regularnih podobjektov polne mreže La v kategoriji CLat je izomorfen razredu vseh podmrež polne mreže L a- Podmnožici, ki imata v relacijski algebri posebno vlogo, sta prazna in polna podmno-žica. Poglejmo, katerima podobjektoma dane kategorije pripadata. Prazno množico lahko na en sam način vložimo v množico A, in sicer s prazno preslikavo, ki je injektivna. Kategorna posplošitev pojma prazne podmnožice oz. prazne preslikave je zato ekvivalenčni razred začetnega monomorfizma, tj. [0a:0^A], kjer je 0 natančen začetni objekt. Začetni objekt kategorije C je tak objekt 0 G C0, da za vsak A G C0 obstaja natanko en morfizem 0A G Hom(0, A). Morfizem 0A imenujemo začetni morfizem. Če je domena poljubnega morfizma, katerega kodomena je začetni objekt 0, lahko le začetni objekt, 0 imenujemo natančen začetni objekt. Pripadajoči začetni morfizmi so tedaj monomorfizmi, ki jih imenujemo začetni monomorfizmi. Glej sliko 9.3. Velja, da je začetni objekt določen do izomorfizma natanko [Awodey-2005]. Ce je začetni objekt natančen, je najmanjši element vsakega delno urejenega razreda podobjektov. 9 Kategorni model relacijske algebre 157 0, 3!0A :A Slika 9.3: Natančen začetni objekt. Primer 9.10. Natančen začetni objekt kategorije množic Set je prazna množica 0. Edina preslikava iz 0 v poljubno množico A je prazna preslikava, ki je injektivna in regularna. Edina preslikava v 0 je spet prazna preslikava, katere domena je lahko le 0. Primer 9.11. Natančen začetni objekt kategorije grafov Graph je prazen graf, tj. graf brez vozlišč in brez povezav. Ker so vsi monomorfizmi regularni (primer 9.5), je regularen tudi začetni monomorfizem. Primer 9.12. Začetni objekt kategorije polnih mrež GLat je mreža L2 = (2; A, V), kjer je 2 = {0,1} ter velja 0Al = 0m0Vl = l. Edini homomorfizem polnih mrež iz L2 v poljubno polno mrežo L a, je namreč monomorfizem polnih mrež, ki slika 0 v 0 in 1 v 1. Polna mreža L2 ni natančen začetni objekt kategorije CLat. Množico A vložimo vase z identično preslikavo množic, kije bijektivna. Kategorna pos-plošitev pojma polne podmnožice je zato ekvivalenčni razred identičnega izomorfizma, tj- [Ia:A^A], ki je regularni podobjekt danega objekta A. Dobimo ga kot zožek para identičnih izomorfizmov. Nujna je tudi kategorna posplošitev podmnožice z enim samim elementom, ki ustreza ekvivalenčnemu razredu [m : 1 >-> A], kjer je 1 končni objekt, podan ekvivalenčni razred pa podobjekt danega objekta A. Končni objekt kategorije C je tak objekt 1 G C0, da za vsak A G C0 obstaja natanko en morfizem A G Hom(A, 1). Tak morfizem imenujemo končni morfizem. Glej sliko 9.4. A- 3!! A Slika 9.4: Končni objekt. Velja, daje končni objekt določen do izomorfizma natanko [Awodey-2005]. Primer 9.13. Končni objekt kategorije množic Set je množica {*} z enim elementom. Vsi monomorfizmi z domeno {*} so regularni. 9 Kategorni model relacijske algebre 158 Primer 9.14. Končni objekt kategorije grafov Graph je graf z zanko na edinem vozlišču. Vsi monomorfizmi iz končnega objekta v poljuben graf so regularni. Primer 9.15. Končni objekt kategorije polnih mrež CLat je polna mreža L1 = (1; A, V), kjer je 1 = {1} množica z enim samim elementom, ki je hkrati element 0 in 1. Vsi morfizmi z domeno L1 so monomorfizmi. V razdelku 5.1 smo povedali, daje matematična osnova relacijskega podatkovnega modela relacija, tj. podmnožica kartezičnega produkta množic, kije ena od petih osnovnih operacij relacijske algebre, definiranih v razdelku 5.2.1. Sledijo kategorne posplošitve vseh definiranih osnovnih operacij, in sicer v naslednjem vrstnem redu: kartezični produkt, -w projekcija, -w izbira, unija in razlika. Vsaki izmed njih bomo priredili ustrezne konstrukte teorije kategorij. Rezultat bo kategorni model relacijskih podatkovnih zbirk, ki bo posplošitev relacijske algebre, definirane v kategoriji množic Set. 9.2.1 Posplošitev kartezičnega produkta Posplošitev kartezičnega produkta na kategorije imenujemo kategorni produkt. Kategorni produkt Kategorni produkt objektov X1,..., Xn kategorije C je objekt P = X1x ¦¦¦ x Xn skupaj z množico morfizmov \Pi : P —> Xi}1 Xi}1 P, da za 1 < i < n velja pi o q = q{. Glej sliko 9.5. Velja, da je kategorni produkt določen do izomorfizma natanko [Awodey-2005]. Pravimo, da ima kategorija C končne produkte, če vsebuje kategorni produkt poljubnega končnega števila objektov. To je ekvivalentno obstoju produkta poljubnih dveh objektov in končnega objekta, ki je produkt 0 objektov. Primer 9.16. Kategornemu produktu kategorije množic Set ustreza kartezični produkt skupaj s projekcijami množic. 9 Kategorni model relacijske algebre 159 Slika 9.5: Kategorni produkt objektov X\ in X2. Primer 9.17. Kategornemu produktu kategorije grafov Graph ustreza direktni produkt grafov skupaj s projekcijami grafov. Direktni produkt grafov G\,... ,Gn je graf G\ x • • • x Gn [Imrich-2000], katerega množica vozlišč je kartezični produkt V(G\) x ••• x V(Gn) in sta vozlišči (u\,... ,un) in {v\,..., vn) sosednji natanko tedaj, ko za 1 < i < n velja UiVi G E(Gi). Direktni produkt grafov je eden izmed štirih klasičnih produktov grafov, pojavlja pa se tudi pod drugimi imeni, npr. kardinalni produkt, Kro-neckerjev produkt in kategorni produkt grafov. Primer 9.18. Kategorni produkt La x Lb polnih mrež La = (A; Aa,Va) in LB = (B; AB, Vb) v kategoriji polnih mrež CLat je kartezični produkt A x B z naslednjima binarnima operacijama: (ai,bi) AAxB (a2, b2) = {ax AA a2, h AB b2) (ai,bi) VAxB (a2, b2) = {ax VA a2, h VB b2) Če sta Qa in Ob najmanjša elementa polnih mrež La in Lb, je (0^,0^) najmanjši element polne mreže L a x Lb- Podobno, če sta l a in 1b največja elementa polnih mrež La in LB, je (1a, ^b) največji element polne mreže La x Lb. Velja še: (ai,&i) -^ B] pa naj bosta njuna regularna podobjekta. Naj bo objekt Ax B skupaj s kategornima projekcijama pi : A x B -> A p2: Ax B -»• B 9 Kategorni model relacijske algebre 160 kategorni produkt objektov A in B, objekt A' x B' skupaj s kategornima projekcijama p'2 -.A'xB'^B' pa kategorni produkt objektov A' in B'. Glej sliko 9.6. Y h Y A<-------Ax B------->B PI P2 Slika 9.6: Kategorni produkt podobjektov A' C A in B' C B. Zaradi lastnosti kategornega produkta obstaja natanko en morfizem h: A' x B' ^ Ax B, da diagram kategornega produkta A x B za Q = A' x B' ter morfizma rri\ op[ in m2 op'2 komutira. Dokažimo, da je h monomorfizem. Naj bosta fx-.P^-A'xB' /2 : P ^ A1 x B1 poljubna morfizma, za katera velja hofi = hof2. Zaradi lastnosti kategornega produkta med objektoma P in A' x B' obstaja natanko en morfizem, da diagram kategornega produkta A' x B' za objekt P ter morfizma p[ o fx in p'2 o fx komutira. Sledi, f\ = f2 in h je monomorfizem. Monomorfizem h je tudi regularen - dobimo ga kot zožek dveh urejenih parov morfizmov, ki nastopajo v zožkih monomorfizmov rri\ in rri2. Objekt A' x B' oz. ekvivalenčni razred [h: A' x B' ^ Ax B], pripadajoč podobjektoma [m\ : A' ^ A] in [rri2 : B' >-^> B], je tedaj regularni podob-jekt objekta A x B. 9.2.2 Posplošitev projekcije Za posplošitev projekcije rabimo kategorno projekcijo, ki nastopa v definiciji kategornega produkta, in slike. 9 Kategorni model relacijske algebre 161 Slike Naj bo / : A —> B morfizem kategorije C. Naj obstaja faktorizacija morfizma /, tj. epimorfizem f':A-»I'm. monomorfizem i : I >-^ B, da velja f = i ° f (slika 9.7). Najmanjši podobjekt / objekta B, ki izpolnjuje dane pogoje, imenujemo slika morfizma / in ga označimo z im(f). I /^ Y y^ % A------------------->B Slika 9.7: Faktorizacija morfizma f. Slika je očitno določena do izomorfizma natanko. Pravimo, da ima kategorija C slike, če vsebuje sliko poljubnega morfizma. Primer 9.19. Kategorija množic Set ima slike. Slika preslikave f : A —> B je množica im(f) = f[A] = {y G B : 3x G A : f(x) = y}, ki ustreza faktorizaciji s surjektivno preslikavo f':A-» im(f), ki se od preslikave f razlikuje le v kodomeni, in vložitvijo idim(f) : im(f) ^ B. Primer 9.20. Kategorija grafov Graph ima slike. Slika homomorfizma f : G —> H je podgraf im(f) = f[G] = (V',E') grafa H z množico vozlišč V = {ve V (H) : 3u G V (G) : f(u) = v} in množico povezav E1 = {v1v2 G E(H) : 3u1u2 G E(G) : f(u1) = v1 in f(u2) = v2}. Slika ustreza faktorizaciji z epimorfizmom f : G -» im(f), ki se od preslikave f razlikuje le v kodomeni, in vložitvijo idim(f) : im(f) °-> H. Primer 9.21. Kategorija polnih mrež CLat ima slike. Slika morfizma f:(A;AA,VA)^(B;AB,VB) je polna podmreža im(f) = (B'; Ab, Vb) mreže (B; Ab, Vb), kjer je B' = {y G B : 3x G A : f(x) = y}. Slika ustreza faktorizaciji z epimorfizmom f : (A; AA, VA) -» žm(/), ki se od preslikave f razlikuje le v kodomeni, in vložitvijo idim(f) : im(f) °-> (B; Ab, Vb)- Kategorna projekcija 9 Kategorni model relacijske algebre 162 Primer 9.22. Kategorni projekciji kategorije množic Set ustreza projekcija množic. To je, i-ta kategorna projekcija kartezičnega produkta A\ x • • • x An je množica Ai} pri čemer je i-ta kategorna projekcija elementa (cii,..., an) G A\ x • • • x An element di G A;. Primer 9.23. Kategorni projekciji kategorije grafov Graph ustreza projekcija grafov. To je, i-ta kategorna projekcija grafa G\ x • • • x Gn je graf G i. Primer 9.24. Kategorni projekciji kategorije polnih mrež CLat ustreza projekcija polnih mrež. To je, i-ta kategorna projekcija polne mreže L\ x • • • x Ln je polna mreža u. Kategorna projekcija bo posplošitev projekcije na relacijah, če bosta obe kategorni projekciji poljubnega regularnega podobjekta danega kategornega produkta A x B kategorije s končnimi kategornimi produkti in slikami regularna podobjekta objekta A oz. B: Pi : RegSub(A x5)^ RegSub(A) p2 : RegSub(A xB) ^ RegSub(E) Naj bosta A in B poljubna objekta kategorije C, ki ima končne kategorne produkte in slike, objekt C oz. ekvivalenčni razred [m : C ^-> A x B] pa regularni podobjekt objekta A x B. Naj bo pi : A x B -> A kategorna projekcija A x B n& prvo komponento, katere obstoj pogojuje obstoj kategornega produkta, im(pi o m) pa slika objekta C z morfizmom pi o m. Sliki naj pripada faktorizacija morfizma p\ o m z epimorfizmom e : C -» im(p\ o m) in monomorfizmom mi '¦ im(pi om)«A Glej sliko 9.8. im(pi o m) -^— C mi A^-------A x B Slika 9.8: Kategorna projekcija podobjekta C <^ A x B. Ekvivalenčni razred [nii '¦ im(pi o m) ^-> A], pripadajoč podobjektu [m : C ^-> A x B], je tedaj regularni podobjekt objekta A. Dobimo ga kot zožek prvih komponent morfizmov iz zožka m : C ^ A x B. Za p2 je dokaz enak. 9 Kategorni model relacijske algebre 163 9.2.3 Posplošitev izbire, unije in razlike Ostala nam je še kategorna posplošitev treh osnovnih operacij relacijske algebre - izbire, unije in razlike. Spomnimo, daje razred regularnih podobjektov RegSub(A) objekta A delno urejen z relacijo <. V kategoriji množic Set so regularni podobjekti množice A vse njene podmnožice, razred regularnih podobjektov množice A pa potenčna množica V (A), kije delno urejena z relacijo vsebovanosti C. Videli bomo, da bo operacije izbira (tj. največja spodnja meja), unija (tj. najmanjša zgornja meja) in razlika (tj. relativni komplement), ki delujejo na parih delno urejene potenčne množice V (A), mogoče posplošiti na teorijo kategorij, če bo razred regularnih podobjektov RegSub(A) poljubnega objekta A vseboval največjo spodnjo (inf) in najmanjšo zgornjo mejo (sup) poljubnih regularnih podobjektov ter vse relativne komplemente. Kategorna izbira Kategorno izbiro izračunamo z uporabo kategornega preseka. Kategorni presek n : RegSub(C) x RegSub(C) -> RegSub(C) na delno urejenem razredu regularnih podobjektov objekta C definiramo kot operacijo največja spodnja meja (inf) za relacijo delne urejenosti <. Operacija kategorni presek torej paru regularnih podobjektov A, B objekta C priredi največji regularni podobjekt An B objekta C, za katerega velja: Af\B < A AC\B < B Naj bo C poljuben objekt kategorije C, ki ima v razredu regularnih podobjektov končne kategorne preseke, A C C regularni podobjekt z izbrano lastnostjo, L> C C pa poljuben regularni podobjekt. Kategorni presek A n B, ki je regularni podobjekt objekta C, imenujemo kategorna izbira regularnega podobjekta objekta B, ki zadošča izbrani lastnosti regularnega podobjekta A. Kategorna izbira a je (tako kot kategorni presek) preslikava o : RegSub(C) x RegSub(C) -> RegSub(C), ki paru regularnih podobjektov objekta C priredi regularni podobjekt objekta C. Kategorno izbiro in kategorni presek modeliramo z isto operacijo, tj. operacijo največja spodnja meja. Primer 9.25. Naj bo A množica kategorije množic Set z izbrano lastnostjo (tj. množica vseh elementov, ki zadoščajo dani formuli F), B pa poljubna množica. Kategorna izbira podmnožice množice B, ki zadošča izbrani lastnosti, je presek množic A in B. Primer 9.26. Naj bo G\ graf v kategoriji grafov Graph z izbranimi vozlišči in povezavami, G2 pa poljuben graf. Kategorna izbira podgrafa grafa G2, katerega vozlišča in povezave zadoščajo izbiri, podani z grafom G\, je presek grafov G\ in G'2. 9 Kategorni model relacijske algebre 164 Kategorna unija Kategorno unijo U : RegSub(G) x RegSub(G) -> RegSub(G) v delno urejenem razredu regularnih podobjektov objekta G definiramo kot operacijo najmanjša zgornja meja (sup) za relacijo delne urejenosti <. Operacija kategorna unija torej paru A,B regularnih podobjektov objekta G priredi najmanjši regularni podobjekt A U B objekta G, za katerega velja: A < AUB B < AUB Primer 9.27. Kategorna unija podmnožic A in B množice C v kategoriji množic Set je unija A U B množic A in B, ki je podmnožica množice C. Primer 9.28. Kategorna unija podgrafov G\ in G2 grafa G v kategoriji grafov Graph je unija G\ U G2 grafov G\ in G2; tj. graf z množico vozlišč V(G\) U 1/(G2) in množico povezav E(G\) U L"(G2), ki je podgraf grafa G. Primer 9.29. Kategorna unija podmrež L a in Lb polne mreže LC v kategoriji polnih mrež CLat je unija podmrež L a in Lb, dopolnjena z vsemi manjkajočimi največjimi spodnjimi in najmanjšimi zgornjimi mejami. Kategorna razlika Kategorno razliko - : RegSub(G) x RegSub(G) -> RegSub(G) v delno urejenem razredu regularnih podobjektov objekta G kategorije C, ki ima v razredu regularnih podobjektov končne kategorne preseke in končne kategorne unije, definiramo kot operacijo, ki paru regularnih podobjektov A, B objekta G priredi regularni podobjekt A — B objekta G, za katerega velja: (AnB)U(A-B) = A Bn(A-B) = 0 Z 0 smo označili začetni objekt kategorije C. Relativni komplement regularnega podob-jekta B v objektu G tedaj izračunamo kot BC = C-B. Ker velja A- B = AC\BC, kategorne razlike v RegSub(G) obstajajo natanko tedaj, ko obstajajo relativni komple-menti. Za kategorno razliko A — B velja: 9 Kategorni model relacijske algebre 165 A- B < (AnB)U(A-B) = A Primer 9.30. Naj bosta A in B podmnožici množice C v kategoriji množic Set. Razlika množic A- B = {xe A;x A in p2 : A x B —> B ter regularnemu podobjektu pripadajočega regularnega monomorfizma. Kategorna posplošitev preostalih treh osnovnih operacij relacijske algebre (izbire, unije in razlike) zahteva dodatne lastnosti delno urejenih razredov regularnih podobjektov. Poljubna regularna podobjekta danega objekta A morata imeti enolično določeni -w največjo spodnjo ter -w najmanjšo zgornjo mejo glede na relacijo < in v poljubnem razredu RegSub(A) mora obstajati -w relativni komplement. 9 Kategorni model relacijske algebre 167 Kategorije, ki izpolnjujejo vse naštete pogoje, so primerna izbira za kategorno predstavitev relacijske algebre. Kategorija množic Set je prva in najnaravnejša tovrstna kategorija, tj. kategorija, iz katere smo izhajali. Kategorija grafov Graph in kategorija polnih mrež CLat pa nista dobri, saj npr. nimata kategorne razlike (primera 9.31 in 9.32). Za delno urejene razrede (RegSub(A), <) bi lahko zahtevali še kakšno dodatno lastnost, npr. distributivnost operacij n in U: (X \JY) C\ Z = (X C\ Z)\J (Y C\ Z) (in7)uz = (iuz)n(ruz) To je namreč ena izmed mnogih lastnosti, ki jim zadoščajo operacije, definirane v kategoriji množic Set. Glede na zahtevnost in namembnost podatkovnih zbirk, ki jih želimo modelirati, lahko v dani situaciji izberemo dodatne lastnosti, ki naj jim želene kategorije zadoščajo. 9.3 Kategorija podobnosti V razdelku 5.1 o relacijski algebri smo povedali, da relacijski podatkovni model, ki je definiran v kategoriji množic Set, temelji na relacijah, tj. podmnožicah kartezičnega produkta ene ali več vrednostnih množic. Ker te množice niso urejene, relacijske podatkovne zbirke podpirajo le standardne urejenosti podatkovnih tipov, tj. abecedno urejenost črkovnih nizov, numerično urejenost števil in kronološko urejenost datumov. Omejena podpora urejenosti v relacijskih podatkovnih zbirkah pa privede do izgube pomembne semantične informacije (razdelek 8.5.2), kot je npr. sposobnost predstavitve sorodnih podatkov. Posledica neurejenosti vrednostnih množic, na katerih temelji relacijska algebra, je zato nesposobnost posploševanja poizvedb in odgovorov oz. re-laksacije (razdelek 8.3.5). Da omogočimo relaksacijo poizvedb in s tem pomembno zvišamo raven sodelujočega odgovarjanja, definirajmo kategorijo podobnosti, katere objekti niso navadne množice kot pri relacijski algebri, temveč množice, opremljene z mero podobnosti. Mera podobnosti opisuje podobnost, relacije in/ali razdalje med elementi dane množice. Videli bomo, da ima kategorija podobnosti vse lastnosti, potrebne za kategorno predstavitev relacijske algebre. Definicija 9.33. Kategorijo podobnosti SimObj definirajmo takole: 1. Objekti naj bodo urejene trojice (A,LA,aA), kjer je A množica, LA polna mreža z najmanjšim elementom 0A in največjim elementom lA, oA: A x A —> LA 9 Kategorni model relacijske algebre 168 pa mera podobnosti v množici A, za katero za vsak x E A velja aA(x,x) = l A. 2. Morfizmi naj bodo preslikave oblike (/,Y>) : (A,LA,crA) -> (B,LB,aB), kjer je f:A^B preslikava množic, P ¦ L a —> LB pa homomorfizem polnih mrež (primer 9.3), za katerega vemo, da spoštuje urejenost. Preslikavi f in tp, meri podobnosti a a in o~B ter delna urejenost ) : (A,LA,crA) -> (B,LB,aB) (g,ip) : (B,LB,aB) ->¦ (C,Lc,(Tc) definirajmo takole: (fi1,^)0 (/,Y>) = (9°f,^0(P) Enota za kompozicijo je par identičnih izomorfizmov (U,UJ : {A, LA, aA) ^ (A,LA,aA), ki množico A in polno mrežo LA identično preslika sami vase. Monomorfizmi kategorije SimObj so morfizmi oblike (/,Y>) : (A,LA,crA) >-> (B,LB,aB), kjer je / injektivna preslikava množic, tp pa monomorfizem polnih mrež (primer 9.6). Dobro je vedeti tudi, kdaj sta dva objekta izomorfna. Morfizem (/,Y>) : (A,La,(Ja) ->¦ (B,LB,aB) je izomorfizem kategorije podobnosti SimObj, če obstaja morfizem (g,ip) : (B,LB,aB) ->¦ (A,LA,aA), za katerega velja / o g = 1B in g o / = 1A ter tp o if) = 1Lb in if) o p = 1La. Ker sta / in g preslikavi množic, sta bijektivni. Tudi tp in if), ki sta homomorfizma polnih mrež, sta bijektivna. Po definiciji morfizma za mero podobnosti a a velja Mf(x),f(y))) ) : (A,LA,aA) ^ (B,LB,aB). Podobjekti, ki predstavljajo poizvedbe Namesto da bi računali regularne podobjekte objekta A = (A,La,cta) kategorije podobnosti SimObj in razlagali njihovo vlogo, se raje osredotočimo na podobjekte, ki predstavljajo poizvedbe. Če objekti ustrezajo relacijskim tabelam, so edini možni rezultati poizvedb podtabele z inducirano urejenostjo oz. podobnostjo. Te pa ustrezajo objektom oblike B_ = (B, LA, crA), kjer je B podmnožica množice A, (idB,lLA) : (B,LA,aA) ^ (A,LA,aA) pa vložitev objekta (B, LA, aA) v objekt (A, LA, aA). Pri tem je idB injektivna vložitev podmnožice B v množico A, \^A pa identični izomorfizem polne mreže L a- Množico vseh induciranih podobjektov oblike (B, LA, ca), kije očitno izomorfna potenčni množici V (A), bomo označevali s V (A). Pokažimo, da je množica V (A) podmnožica razreda RegSub(A), to je V (A) C RegSub(A). To bo res, če bodo vse vložitve objektov iz V(A) v objekt A regularni monomorfizmi. Vzemimo vložitev (idB, 1la) objekta B G V (A) v objekt A. Pokažimo, da je vložitev (idB, 1la) zožek morfizmov (/, \A), (g, U) : (A, LA, aA) -+ ({0,1}, L1} aj, kjer je / preslikava, ki vse elemente množice A preslika v 1, g pa preslikava s predpisom: »w = (i- ;r € B y ' [0, sicer Za x G B velja / o idB(x) = f(x) = 1 = g(x) = g o idB(x) in \A ° ^-la(x) =\a(x) = 1. Naj bo torej (e',ip') : (B',LB',(Tb') -^ (A,LA,aA) 9 Kategorni model relacijske algebre 170 poljuben morfizem, ki zadošča pogoju / o e' = g o e'. Tedaj za y G B' velja f(e'(y)) = g{e'{y)) = 1 in zato e'(y) G B. Med objektoma (B',Lb',ctb') in (B,La,cta) torej obstaja morfizem (k, ip'), ki se od (e', p') razlikuje le v kodomeni preslikave množic. Homomorfizem polnih mrež p' je edini možen homomorfizem med LB> in L a, pri katerem diagram morfizmov komutira. Ker je (k, A (vr2,p2) :AxB^B pa pripadajoči projekciji, sestavljeni iz projekcij množic tt\ : AxB —> A in 7T2 : AxB ^ B ter projekcij polnih mrež p\ : L^x LB —> L a in p2 : L a x L# —> Lb. Ker za poljuben (j;,|/)eAx5 in največja elementa l a in 1B polnih mrež L a in LB velja ^xi?((^,y),(^,y)) = ( 0 in cIa(x, y) = 0 •L>• x = y . simetričnost: d,A(x,y) = d,A(y,x) . trikotniško neenakost: cIa(x,z) < d,A(x,y) + d,A(y,z) 2. Morfizmi naj bodo Lipschitzove preslikave kompaktnih metričnih prostorov. To je, preslikave oblike f:(A,dA)^(B,dB), za katere obstaja pozitivna realna konstanta 0 < K < oo, da za x,y G A velja dB(f(x),f(y)) < KdA(x,y). Najmanjšo konstanto K, ki izpolnjuje dani pogoj, imenujemo Lipschitzova konstanta. Metrika je običajno definirana kot preslikava v množico nenegativnih realnih števil [0,oo). Definicija 9.36 dovoljuje še vrednost oo, ki pomeni nepremostljivo razdaljo neprimerljivih, nezamenljivih oz. nepodobnih elementov. Ker so množice, ki nastopajo v podatkovnih zbirkah, končne in zato kompaktne, zahteva po kompaktnosti metričnih prostorov, tj. objektov kategorije kompaktnih metričnih prostorov CompMet, ne predstavlja omejitve podatkovnega modela, ki temelji na kategoriji CompMet. Lipschitzove preslikave, ki so dobile ime po nemškem matematiku Rudolfu Lipschitzu, so zvezne. Vsi morfizmi kategorije kompaktnih metričnih prostorov CompMet so zato zvezne preslikave kompaktnih metričnih prostorov. Zvezne preslikave kompaktnih metričnih prostorov pa so enakomerno zvezne [Vrabec-1993]. Lipschitzovo preslikavo z Lipschitzovo konstanto K = 1 imenujemo izometrija, Lipschitzovo preslikavo s K < 1 pa skrčitev. Včasih pa se znajdemo v situaciji, ko želimo poudariti popolno zamenljivost določenih parov podatkov, kot sta npr. letališče Orly in letališče Charles De Gaulle v Parizu (primer 8.11). To lahko storimo tako, da razdaljo med njima postavimo na 0. V tem primeru razdalja ne bo metrika, ker ne bo izpolnjevala drugega dela pogoja o nenega-tivnosti. Dobljena kategorija, ki se bo od kategorije kompaktnih metričnih prostorov nekoliko razlikovala, bo včasih bolj uporabna za modeliranje podatkovnih zbirk kot kategorija kompaktnih metričnih prostorov, ki zadošča strogim matematičnim pogojem. Pokažimo, da je tudi kategorija CompMet podkategorija kategorije SimObj. Naj bo (A, dA) poljuben objekt kategorije kompaktnih metričnih prostorov CompMet. Metriki dA : A x A^ [0,oo] 9 Kategorni model relacijske algebre 177 pripada polna mreža L[o>00] = ([0, oo]; max, min), urejena z relacijo >, in za vsak x E A velja cIa(x,x) = 0. Najmanjši element mreže L[o,oo] je oo, največji pa 0. Kompakten metrični prostor (A,dA), zapisan kot (A, L[o,oo]> cIa), je tedaj objekt kategorije podobnosti SimObj. Razred objektov kategorije CompMet je torej podrazred razreda objektov kategorije SimObj. Naj bo f:(A,dA)^(B,dB) Lipschitzova preslikava kompaktnih metričnih prostorov z Lipschitzovo konstanto K. Ker za poljubna x, y E A velja dB(f(x),f(y)) < KdA(x,y), za homomorfizem polnih mrež tp(x) = Kx sledi dB(f(x),f(y)), kar pomeni, daje (f,<~p) morfizem kategorije SimObj. Razred morfizmov kategorije CompMet je podrazred razreda morfizmov kategorije SimObj. Ker se kompozicija in enota za kompozicijo v kategoriji CompMet ujemata s kompozicijo in enoto za kompozicijo v kategoriji SimObj, je kategorija CompMet podkategorija kategorije SimObj. Poiščimo še metriko, ki ureja kompaktne metrične podprostore danih kompaktnih metričnih prostorov kategorije CompMet. Vzemimo torej poljuben kompakten metrični prostor (A, d a) kategorije CompMet. Naj bosta Q in IZ dve lastnosti, katerima ustrezata neprazni kompaktni podmnožici Q C A in R C A. Pripadajoča podobjekta z inducirano metriko sta kompaktna metrična podprostora: (Q,dA)c(A,dA) (R,dA)c(A,dA) Metrika dA porodi v množici V$(A,dA) CRegSub0(A,^) nepraznih kompaktnih metričnih podprostorov prostora (A, d a), ki so oblike (Q C A, d a), naslednjo metriko: d((Q, dA), (R, dA)) = max{ sup{ inf{ dA(x,y) } }, sup{ inf{ dA(x,y) }}} xeQ yeR yen xeQ Metrika d se imenuje Hausdorffova metrika [Braun-2003]. Definirana je na nepraznih kompaktnih metričnih podprostorih. Če bi dovolili tudi prazne množice oz. prazne metrične prostore, dobljena preslikava ne bi bila metrika, saj bi (ob upoštevanju inf 0 = oo in sup 0 = 0) za Q ^ 0 in R ^ 0 veljalo d(Q,0) = 0 d(Q, R) = 0 9 Kategorni model relacijske algebre 178 kar bi bilo v nasprotju s drugim delom pogoja o nenegativnosti (definicija 9.36), ki mu metrika zadošča. Hausdorffovo metriko je kot mero razdalje v začetku 20. stoletja uvedel Felix Hausdorff. Danes se uporablja na številnih področjih teoretične in uporabne matematike, med drugim pri geometriji fraktalov [Falconer-1990], numerični matematiki [Sendov-2001] in obdelavi slik [Ginchev-1998, Takacs-1998]. Objekti kategorije urejenih množic OrdSet (definicija 9.34) so urejeni z refleksivno relacijo. Če gledamo na objekte kot na tabele, na podobjekte, ki predstavljajo poizvedbe, pa kot na podtabele, to pomeni, da sta poljubni dve vrstici tabele ali podobni (tj. v relaciji) ali nista podobni (tj. nista v relaciji). Podobno so objekti kategorije kompaktnih metričnih prostorov CompMet (definicija 9.36) urejeni z metriko. Za poljubni dve vrstici tabele torej obstaja vrednost, ki pove, kako zelo sta si podobni oz. kolikšno škodo utrpimo, če eno nadomestimo z drugo. 9.4 Zmogljivost kategornega modela relacijskih podatkovnih zbirk Videli bomo, da je podatkovne zbirke, modelirane v kategoriji podobnosti SimObj, mogoče udejanjiti kot zbirko relacijskih tabel. Zmogljivost kategornega modela relacijskih podatkovnih zbirk bomo primerjali z zmogljivostjo dialog mlPC Kripkejevih modelov iz razdelka 2.5 in zbirko vremenskih podatkov, predhodno modeliranih z dialog mlPC Kripkejevim modelom, predstavili v kategoriji urejenih množic OrdSet. 9.4.1 Implementacija kategornih relacijskih podatkovnih zbirk Kako udejanjiti podatkovno zbirko, ki je modelirana z relacijsko algebro na kategoriji podobnosti SimObj? Relacijske podatkovne zbirke, ki temeljijo na relacijski algebri, definirani v kategoriji množic Set, udejanjimo kot zbirko tabel. Podobno bi radi udejanjili tudi podatkovne zbirke, ki temeljijo na kategorni posplošitvi relacijske algebre, saj bi se v nasprotnem primeru od našega cilja - zgraditi zmogljivejši podatkovni model in hkrati čim bolj ohraniti obliko priljubljenih relacijskih podatkovnih zbirk -precej oddaljili. Izkaže se, da lahko tudi posplošene relacijske podatkovne zbirke, ki temeljijo na kategorno posplošeni relacijski algebri, definirani v kategoriji podobnosti, udejanjimo kot zbirko relacijskih tabel. Vzemimo torej neko podkategorijo S kategorije podobnosti SimObj. Naj bo (A, L a, L a lahko predstavimo kot relacijo o a C A x A x LA, 9 Kategorni model relacijske algebre 179 ki jo udejanjimo kot relacijsko tabelo T [A], Objektu (A,La,cta) tako pripadata dve relacijski tabeli, in sicer tabela množice A in tabela T [A]. Podobjektu (B,LA,aA) eV(A,LA,(TA) pa poleg tabele množice B C A pripada tudi podtabela T[B] tabele T [A], ki se nanaša na podmnožico B C A in inducirano mero podobnosti. Primer 9.37 ilustrira implementacijo podkategorije kategorije podobnosti SimObj, ki opisuje del železniških povezav z Ljubljano. Primer 9.37. Naj bodo OZNAKA = (OZNAKA, L1}oo],doDHOD) PRIHOD = (PRIHOD,L[0M,dPRIHOD) ČAS = (ČAS,L2,<ČAS) VLAK = (VLAK,LX x L[0)Oo] x L[0)Oo] x L2,dVLAKI) izbrani objekti kategorije podobnosti SimObj, na katerih temelji podkategorija Vlaki C SimObj. Pri tem so: OZNAKA = {ic247,ic518,icsl2,ec51} ODHOD = {ljubljana} PRIHOD = {murska_sobota, ormož,pragersko} CAS = { 7:40,11:00,15:00,15:45, zjutraj, dopoldan, popoldan, zvečer} VLAK = {vlak,IC247 = (ic247, ljubljana, murska_sobota, 7:40), vlakIC518 = (ic518, ljubljana, murska_ sobota, 11:00), vlakICS12 = (icsl2, ljubljana, pragersko, 15:00), vlakEC51 = (ec51, ljubljana, ormož, 15:45)} C OZNAKA x ODHOD x PRIHOD x ČAS 11:0°) = 0 <čAs(zJutraJ> 15:0°) = 0 ^čA(zJutmh 15:45) = 0 <čAs(zJutmJ> zjutraj) = 1 <čAS(zjutraj, dopoldan) = 0 < (jAS(zjutraj, popoldan) = 0 <(jAS(zjutraj, zvečer) = 0 JČMS "^ ČAS ^ČAS ^ČAS ^ČAS ^ ČAS ^CAS ^ČAS ^ČAS ^ ČAS "^ ČAS "^ ČAS ^ČAS ^ČAS <čAS(popoldan, 7:40) = 0 <čAS(popoldan, 11:00) = 0 <(jAS(popoldan, 15:00) = 1 <(jAS(popoldan, 15:45) = 1 <ČAs(P°P°ldan> zjutraj) = 0 <ČAS "^ČAS "^ ČAS ^ČAS ^ČAS 11:00, 7:40) = 0 11:00,11:00) = 1 11:00,15:00) = 0 11:00,15:45) = 0 11:00, zjutraj) = 0 11:00, dopoldan) = 11:00, popoldan) = 11:00, zvečer) = 0 15:45, 7:40) = 0 15:45,11:00) = 0 15:45,15:00) = 1 15:45,15:45) = 1 15:45, zjutraj) = 0 15:45, dopoldan) = 0 15:45, popoldan) = 1 15:45, zvečer) = 0 dopoldan, 7:40) = 1 dopoldan, 11:00) = 1 dopoldan, 15:00) = 0 dopoldan, 15:45) = 0 dopoldan, zjutraj) = 0 dopoldan, dopoldan) = 1 dopoldan, popoldan) = 0 dopoldan, zvečer) = 0 zvečer, 7:^0) = 0 zvečer, 11:00) = 0 zvečer, 15:00) = 0 zvečer, 15:45) = 1 zvečer, zjutraj) = 0 9 Kategorni model relacijske algebre 181 <čAS(popoldan, dopoldan) = 0 dobimo npr. poizvedbo "Ali popoldne pelje kakšen vlak iz Ljubljane v Mursko Soboto?" Če pa pogoj o času odhoda izpustimo, dobimo poizvedbo "Ali pelje kakšen vlak iz Ljubljane v Mursko Soboto?" To sta primera poizvedb, dobljenih z relaksacijo na osnovi transformacije pogoja. Ker se eksakten odgovor na zadnjo poizvedbo glasi "Da." je to poizvedbo ugodneje preoblikovati v relaksirano poizvedbo 9 Kategorni model relacijske algebre 187 "Kdaj pelje vlak iz Ljubljane v Mursko Soboto?" ki je dobljena z relaksacijo na osnovi transformacije izbora atributov. Njej pripadajoč izraz relacijske algebre se glasi takole: 4 (0~$2=ljubljanaA$3=murska_sobota(VLAK)) Z izrazom relacijske algebre zapišimo še 'popolno' relaksacijo začetne poizvedbe v dani podatkovni zbirki, tj. relaksacijo, ki temelji na transformaciji vseh pogojev (časovne informacije, kraja odhoda in kraja prihoda): VLAK n n2 ( $1=ijuM:janaA$3 75 pa dobimo dvovrstično podtabelo A2: OZNAKA ODHOD PRIHOD ČAS icsl2 ec51 Ijubljana Ijubljana pragersko ormož 15:00 15:45 Njej pripadajoč podobjekt objekta A označimo z A2. Dobljeni podtabeli predstavljata relevantna odgovora na sicer neuspešno poizvedbo. Poglejmo, kako sta podtabeli A1 in A2 podobni teoretični podtabeli A0, ki izpolnjuje vse pogoje začetne poizvedbe: OZNAKA ODHOD PRIHOD ČAS ic247 Ijubljana murska sobota 15:00 ic518 Ijubljana murska sobota 15:00 icsl2 Ijubljana murska sobota 15:00 ec51 Ijubljana murska_sobota 15:00 Podobnost med induciranimi podobjekti objekta A meri preslikava a : V (A) x V (A) -> L1 x L[0)Oo] x L[0)Oo] x L2, ki podobjektoma A0 G V (A) in A1e V (A) pripiše vrednost: 9 Kategorni model relacijske algebre 188 a(Ao,Ai) = (a(A0.OZNAKA, A1.OZNAKA),a(A0.ODHOD,A1.ODHOD), a(A0.PRIHOD, Ax.PRIHOD),a(A0.ČAS, Ax.ČAS) ) = (l,0,max{ supxeAoPRIHOD{ MyeAl.PRIH0D{ dPRIH0D(x,y) } }, SU.pyeAlPRIH0D{ inixeA0.PRIHOD{ dpRiHOD{x,y) } } },1) = (1,0,38,1) Za podobjekta A0 e V(A) in A2 E V(A) pa velja: a(Ao,A2) = (a(A0.OZNAKA, A2.OZNAKA),a(A0.ODHOD,A2.ODHOD), a(A0.PRIHOD, A2.PRIHOD), a(A0. ČAS, A2. ČAS) ) = (l,0,max{ supxeAoPRIHOD{ mfyeA2.PRIH0D{ dPRIH0D(x,y) } }, su.pyeA2 PRIH0D{ i^x!) = (1,0,75,1) Ker velja (1,0,0,1) < (1,0,38,1) < (1,0,75,1), kjer je < relacija delne urejenosti, (1,0,0,1) pa največji element mreže L\ x L[o>00] x L[o>00] x L2, sta si objekta A0 in A\ bolj podobna kot objekta Aq in A^. Zdi, mrežo LA, definirano kot del objekta (A,LA,aA) kategorije podobnosti SimObj, smo zahtevali, da je polna (definicija 9.33). Ureditev polne mreže LA torej ni nujno linearna, kar pomeni, da lahko vsebuje pare elementov, ki niso primerljivi. To je zelo dobrodošla lastnost kategorije podobnosti, saj na relevantnost oz. bližino relaksiranega odgovora pogosto vpliva več dejavnikov, katerih pomembnost ni za vse uporabnike enaka. Glej primer 9.39. Primer 9.39. Vzemimo objekt (POTOVANJE, L2 x L[o>00] x L[o>(X>], crpotovanje) s pripadajočima relacijskima tabelama POTOVANJE in T[POTOVANJE\: NAČIN ODHOD PRIHOD letalo vlak letalo Ijubljana Ijubljana Ijubljana berlin Hamburg Hamburg POTOVANJE NAČIN ODHOD PRIHOD NAČIN ODHOD PRIHOD ^POTOVANJE letalo Ijubljana berlin letalo Ijubljana berlin (1,0,0) letalo Ijubljana berlin vlak Ijubljana Hamburg (0,0,292) letalo Ijubljana berlin letalo Ijubljana Hamburg (1,0,292) vlak Ijubljana Hamburg letalo Ijubljana berlin (0,0,292) vlak Ijubljana Hamburg vlak Ijubljana Hamburg (1,0,0) vlak Ijubljana Hamburg letalo Ijubljana Hamburg (0,0,0) 9 Kategorni model relacijske algebre 189 letalo ljubi j ana Hamburg letalo ljubljana berlin (1,0,292) letalo ljubi j ana Hamburg vlak ljubljana Hamburg (0,0,0) letalo ljubi j ana Hamburg letalo ljubljana Hamburg (1,0,0) T[POTOVANJE] Največji element mreže L2 x L[0>00] x L[0,oo] je (1, 0, 0). Iz tabele T[POTOVANJE] tedaj razberemo, da vrednosti (1,0,292) in (0,0,0) iz mreže L2 x L[0,oo] x L[0,oo], ki pripadata elementoma (letalo, ljubljana, berlin) in (vlak, ljubljana, Hamburg) glede na element (letalo, ljubljana, Hamburg) nista primerljiva. Neprimerljiv ost podatkov pa je pogosto zelo koristna lastnost podatkovnih sistemov. Razlaga je preprosta. Recimo, da želimo z letalom potovati v Hamburg. Ce to ni možno, lahko pa izbiramo med potovanjem z vlakom in poletom v 292 km oddaljen Berlin, se znajdemo pred izbiro, ki je odvisna od situacije, osebnih želja in/ali izkušenj. Taka dilema torej ni univerzalno (tj. za vse uporabnike enako) rešljiva in je zato najbolje, da odločitev o najugodnejši rešitvi podatkovni sistem prepusti uporabniku. 9.4.3 Primerjava kategornega modela relacijskih podatkovnih zbirk in dialog mlPC Kripkejevih modelov Vremenske podatke (slike 2.2, 2.3, 2.4 in 2.5), ki smo jih v okviru drugega eksperimenta Čarovnik iz Oza modelirali z dialog mlPC Kripkejevim modelom (razdelek 2.5), bomo predstavili kot podkategorijo kategorije podobnosti SimObj in to podkategorijo pretvorili v zbirko relacijskih tabel. Refleksivna in tranzitivna relacija dosegljivosti R, definirana v množici svetov dialog mlPC Kripkejevega modela, je temeljila na vnaprej definirani refleksivni in tranzitivni relaciji biti manj specifičen, ki je povezovala manj specifične delčke informacij z bolj specifičnimi (razdelek 2.5). Če želimo na slikah 2.2, 2.3, 2.4 in 2.5 podane vremenske podatke predstaviti v kategoriji podobnosti SimObj, jim moramo prirediti ustrezno podkategorijo Vreme C SimObj. Zaradi narave mlPC Kripkejevih modelov (definicija 2.2) bo Vreme celo podkategorija kategorije urejenih množic OrdSet. Osnovni objekti podkategorije Vreme bodo štiri urejene množice: • SLO = (SLO, kjer je CAS množica časovnih delčkov informacij na sliki 2.4, <ČAS : ČAS x ČAS -»• L2 pa refleksivna in tranzitivna relacija v množici CAS, ki ustreza delu relacije biti manj specifičen. Spomnimo, da smo, zaradi majhnega števila možnih dosegljivih časovnih trenutkov, v množici CAS vzpostavili vse povezave. • PODATEK = (PODATEK, Dodatek), kjer je PODATEK množica podatkovnih delčkov informacij na sliki 2.5, ^podatek : PODATEK x PODATEK -»• L2 pa refleksivna in tranzitivna relacija v množici PODATEK, ki ustreza delu relacije biti manj specifičen. Vsakemu izmed omenjenih objektov pripadata dve relacijski tabeli - ena tabela predstavlja množico, druga pa pripadajočo relacijo (razdelek 9.4.1). Objektu SLO pripadata tabeli SLO in T[SLO], katere prva dva stolpca sestavljajo urejeni pari krajev iz množice SLO, tretjega pa pripadajoče vrednosti mere podobnosti <1slo, tj. 0, če kraja nista v relaciji biti manj specifičen, in 1, če sta v relaciji biti manj specifičen. Objektu EUR pripadata tabeli EUR in T [EUR], katere prva dva stolpca sestavljajo urejeni pari krajev iz množice EUR, tretjega pa pripadajoče vrednosti mere podobnosti <%ur- Podobno, objektu ČAS pripadata tabeli ČAS in T [ČAS], objektu PODATEK pa tabeli PODATEK in T [PODATEK]. Ker so naštete relacijske tabele zelo velike (tabeli SLO in T[SLO] imata 65 oz. (6 2 5) = 2080 vrstic, tabeli EUR in T[EUR] imata 108 oz. f108) = 5778 vrstic, tabeli ČAS in T[ČAS] imata 57 oz. (5 2 7) = 1596 vrstic, tabeli PODATEK in T[PODATEK] pa imata 71 oz. C2 1) = 2485 vrstic), jih ne bomo navajali. V razdelku 8.4 smo povedali, da dialog mlPC Kripkejevi modeli podpirajo naslednje tehnike sodelujočega odgovarjanja: -w vrednotenje domnev, vsebovanih v poizvedbah, -w odkrivanje in odpravljanje nesporazumov, -w oblikovanje intenzionalnih odgovorov ter -w posploševanje poizvedb in odgovorov. Ker smo kategorni model relacijskih podatkovnih zbirk in pripadajočo kategorijo podobnosti SimObj dobili pri posplošitvi relacijske algebre, ki (v nasprotju z dialog mlPC Kripkejevimi modeli) ne temelji na logiki, pri dobljenem modelu ne moremo govoriti o integritetnih omejitvah (razdelek 8.2). Za integritetne omejitve smo sicer trdili, da 9 Kategorni model relacijske algebre 191 so osnova sodelujočih podatkovnih sistemov. Kakor koli že, dobljen kategorni model relacijskih podatkovnih zbirk (v svoji osnovi) ne omogoča naslednjih tehnik sodelujočega odgovarjanja: vrednotenja domnev, vsebovanih v poizvedbah, odkrivanja in odpravljanja nesporazumov ter oblikovanja intenzionalnih odgovorov. Vsekakor pa omogoča tehniko posploševanja poizvedb in odgovorov oz. relaksacijo (razdelek 9.4.2), ki je ključnega pomena takrat, ko govorimo o skopih in časovno odvisnih podatkovnih zbirkah ali o nujnosti ponujanja dosegljivih, sorodnih podatkov. Omeniti je še treba, da relaksacija v dialog mlPC Kripkejevih modelih ni najbolje implementirana. Če se namreč od pomena relacije biti manj specifičen, na kateri temelji relacija dosegljivosti R, preveč oddaljimo, tako da vzpostavimo povezave tudi med krajevno, časovno ali kako drugače sosednimi oz. relevantnimi delčki informacij, lahko tranzitivnost relacije dosegljivosti R vodi do odvečnih, nerelevantnih povezav [Hajdinjak-2004a]. Tranzitivnost relacij predstavlja torej slabost dialog mlPC Kripkejevih modelov in posledično premoč kategornega modela relacijskih podatkovnih zbirk v učinkovitosti relaksacije. Ne le, da kategorija podobnosti SimObj omogoča relacije, ki niso tranzitivne, omogoča celo več različnih relacij, definiranih na isti množici. Če definiramo na isti množici več različnih relacij, dobimo pač več različnih objektov kategorije podobnosti. Kaj so torej prednosti in slabosti dobljenega kategornega modela relacijske algebre (in uporabe teorije kategorij nasploh) pred ostalimi modeli? Prednosti so naslednje: -w Model je (matematično) naravna posplošitev uveljavljene in priljubljene relacijske algebre iz kategorije množic Set na kategorijo podobnosti SimObj. Ena izmed podkategorij kategorije podobnosti je tudi kategorija množic. Ostale podkate-gorije, kot sta npr. kategorija urejenih množic OrdSet in kategorija kompaktnih metričnih prostorov CompMet, od katerih vsaka porodi svojo kategorno relacijsko algebro, so kategoriji množic v nekem smislu vzporedne. Kategorija urejenih množic OrdSet in kategorija kompaktnih metričnih prostorov CompMet kategorijo množic Set v resnici obogatita. ~~+ S posplošitvijo relacijske algebre smo dobili močan formalizem, ki že v osnovi dovoljuje relaksacijo poizvedb. Ideja je bila ista kot pri urejenih relacijskih podatkovnih modelih (razdelek 8.5.2) in sodelujočih relacijskih podatkovnih modelih (razdelek 8.5.4), tj. urediti vrednostne množice atributov. Rezultat, ki smo ga dobili, pa je model, ki ima vse sposobnosti omenjenih razširitev relacijskega podatkovnega modela in je poleg tega veliko bolj povezan, pregleden in obetaven. Razširitve poizvedovalnega jezika, ki jih naš model zahteva, so odvisne od stopnje zahtevnosti podatkovnega sistema. Podobno kot pri delno urejeni relacijski algebri, je potreben vsaj en dodatni predikat, ki ponazarja relaksacijo izbranega atributa. -w Urejenost vrednostnih množic je podana z relacijskimi tabelami in je torej integrirana tako, da je do nje mogoče brez težav dostopati in jo po potrebi spreminjati ali prilagajati uporabniku (razdelek 8.5.2). -w V eni od prejšnjih točki smo omenili, da je naš model obetavnejši od podobno zmogljivih razširitev relacijskega podatkovnega modela. Ta trditev temelji na 9 Kategorni model relacijske algebre 192 moči in enotnosti formalizma, ki ga daje teorija kategorij, ter verjetnosti obstoja takih kategornih modelov, ki podpirajo tudi katero izmed preostalih tehnik sodelujočega odgovarjanja, ne le relaksacijo. Potrditev te domneve ostane pomembna točka nadaljnjega dela. Za konec preglejmo še slabosti dobljenega kategornega modela: -w Model zahteva razširitev poizvedovalnega jezika običajnih relacijskih podatkovnih zbirk, ki temeljijo na klasični relacijski algebri. -w Izmed vseh petih tehnik sodelujočega odgovarjanja je omogočena le relaksacija oz. posploševanje poizvedb in odgovorov. Idealen sodelujoč podatkovni model bi bil model, ki bi podpiral vse tehnike sodelujočega odgovarjanja. 10 Sklep 10.1 Pregled in pomen doseženih rezultatov 10.2 Nadaljnje delo Povzamemo rezultate, dosežene v okviru raziskav, predstavljenih v doktorski disertaciji, in opredelimo njihov pomen. Predlagamo nekatere smernice za nadaljnje raziskovalno delo in predstavimo možnosti izboljšave razvitih podatkovnih modelov. 193 10 Sklep 194 10.1 Pregled in pomen doseženih rezultatov 10.1.1 Vrednotenje učinkovitosti V doktorski disertaciji smo podrobno preučili ogrodje PARADISE, ki velja za potencialno splošno metodologijo vrednotenja učinkovitosti sistemov za dialog. Opozorili smo na nekatere pomanjkljivosti in omejitve te metode ter predlagali morebitne rešitve [Hajdinjak-2006]: 1. Model učinkovitosti, ki ga zajema ogrodje PARADISE, vsebuje normalizirane vrednosti neodvisnih spremenljivk. Z normalizacijo dosežemo relevantnost in primerljivost uteži parametrov, ki nastopajo v funkciji učinkovitosti. Opozorili smo na dejstvo, da je treba, če se želimo izogniti prevelikim napakam ocen, normalizirati tudi odvisno spremenljivko, ki izraža zadovoljstvo uporabnikov. Če želimo z dobljenim modelom napovedati zadovoljstvo uporabnikov, je napovedano normalizirano vrednost zadovoljstva uporabnika bolje transformirati nazaj na začetni interval, saj smo pokazali, da je ocena nenormalizirane vrednosti zadovoljstva uporabnika v večini primerov veliko boljša. 2. Uporaba multiple linearne regresije pri reševanju predoločenega linearnega sistema zahteva izpolnitev vrste pogojev. Med drugimi mora obstajati približno linearna zveza med odvisno spremenljivko na eni strani in neodvisnimi spremenljivkami na drugi strani, noben par neodvisnih spremenljivk ne sme previsoko korelirati in iz modela je dobro odstraniti tiste neodvisne spremenljivke, ki so z odvisno spremenljivko v zelo nizki korelaciji ali imajo v funkciji učinkovitosti majhne neničelne uteži. 3. Avtorice ogrodja PARADISE [Walker-1997a] zadovoljstvo uporabnikov merijo z vprašalnikom, sestavljenim iz osmih vprašanj, od katerih se vsako vprašanje nanaša na drugi vidik učinkovitosti oz. obnašanja sistema za dialog, tj. na učinkovitost modula za tvorjenje govora, učinkovitost modula za razpoznavanje govora, težavnost pridobivanja informacij, hitrost interakcije, izkušenost uporabnikov, ustreznost odzivov sistema, pričakovano obnašanje sistema in načrtovano rabo sistema v prihodnosti. Poudarili smo, da ta vprašalnik ne temelji niti na teoriji niti na ustreznih empiričnih raziskavah, in zato ne more šteti za veljaven psihometrični instrument. Naslednja sporna točka, na katero smo opozorili, je seštevanje ocen, dodeljenih posameznim vprašanjem. Teorija pravi, da je to dejanje opravičeno le, če vsa vprašanja merijo isto količino, v nasprotnem primeru predstavlja vsota nesmiselno vrednost. Argumentirali smo, da taka vsota ni popolnoma nesmiselna, če merimo učinkovitost celotnega sistema za dialog ali učinkovitost kakšnega od njegovih modulov. Ker nas ponavadi ne zanimajo le izolirane lastnosti izbranega modula, temveč tudi uspešnost modula kot celote, je smiselno na izbran modul gledati kot na merjeno količino. V tem primeru se zdi edino pravilno sešteti ocene, dodeljene le tistim vprašanjem, ki se nanašajo na učinkovitost oz. obnašanje izbranega modula. 4. Parameter, ki igra v funkciji učinkovitosti najpogosteje najpomembnejšo vlogo, 10 Sklep 195 je parameter, ki meri učinkovitost modula za razpoznavanje govora. Prišli smo do sklepa, da bo vrednotenje učinkovitosti posameznih modulov zelo verjetno zanesljivejše in natančnejše, če odstranimo vpliv razpoznavanja govora, torej simuliramo tako rekoč popolno razpoznavanje. Menili smo, da bodo v tem primeru prišli v ospredje tudi tisti parametri modela učinkovitosti, ki jim zaradi izjemnega vpliva učinkovitosti razpoznavanja govora svoje vloge v preteklih študijah ni uspelo dokazati, in trdili, da bodo tako dobljene uteži funkcije učinkovitosti realneje izražale vpliv parametrov na zadovoljstvo uporabnikov. Ogrodje PARADISE smo uporabili pri vrednotenju učinkovitosti dveh nedograjenih sistemov za podajanje informacij o vremenu in vremenski napovedi, s katerima smo izvajali eksperiment Čarovnik iz Oza. V skladu z našo trditvijo, da je treba vplive samodejnega razpoznavanja govora iz sistema odstraniti, če želimo vrednotiti učinkovitost kakšnega drugega modula (v našem primeru modula za vodenje dialoga), je človek čarovnik v prvem sistemu simuliral razumevanje govora (razpoznavanje govora in razumevanje naravnega jezika) ter vodenje dialoga, v drugem sistemu pa le razumevanje govora. Oba sistema sta se poleg načina vodenja dialoga razlikovala še v vrsti podatkovne zbirke - v prvem eksperimentu je sistem dostopal do relacijske zbirke vremenskih podatkov, v drugem pa do sodelujoče podatkovne zbirke, ki je temeljila na dialog mlPC Kripkejevih modelih. Za namene vrednotenja smo izbrali in določili 25 regresijskih parametrov. Pri vrednotenju učinkovitosti sistemov za podajanje informacij smo predlagali še neuveljavljene parametre podatkovne zbirke, ki izražajo velikost in sestavo podatkovne zbirke. Definirali smo parametre podatkovne zbirke, ki merijo število in delež potez, s katerimi sistem uporabniku poda informacije, ki jih najde v podatkovni zbirki, število in delež potez sistema, ki uporabnika usmerjajo k izbiri relevantnih, dosegljivih podatkov, ter število in delež potez, s katerimi sistem uporabniku sporoča, da zahtevanega podatka nima in ga pri tem ne usmerja k izbiri relevantnih, dosegljivih podatkov. V raziskave smo vključili kvantitativne in proporcionalne parametre podatkovne zbirke. Ugotovili smo, da so bili uporabniki prvega sistema bolj dojemljivi za kvantitativne parametre, v drugem pa za proporcionalne parametre. Menili smo, da je to posledica konsistentno povečanege ponujanja relevantnih informacij v drugem eksperimentu, ki je vodilo do več novih informacijskih iger in s tem do večje dojemljivosti uporabnikov za proporcionalne količine. Ker je bila razlika v natančnosti obeh funkcij učinkovitosti za odvisno spremenljivko, ki jo predlaga ogrodje PARADISE, torej seštevek vseh ocen, pridobljenih z vprašalnikom o zadovoljstvu uporabnikov, prevelika (R2 = 0.58 proti R2 = 0.24), smo sklepali, da te odvisne spremenljivke ni mogoče dovolj dobro modelirati. Predvidevali smo, da se to zgodi, ker verjetno ne merimo tistega, kar bi želeli meriti. Ker smo želeli poiskati razlike med dvema sistemoma Čarovnik iz Oza, ki sta se razlikovala le v načinu vodenja dialoga in predstavitvi znanja, smo novo mero zadovoljstva uporabnikov definirali kot vsoto ocen, ki se nanašajo na vpeljane spremembe. Na ta način nam je uspelo razliko v natančnosti funkcij učinkovitosti obeh sistemov Čarovnik iz Oza izrazito zmanjšati (R2 = 0.57 proti i?2 = 0.44). 10 Sklep 196 Po vzvratni eliminaciji smo dobili funkciji učinkovitosti, ki ne vsebujeta nobenega skupnega parametra. Še več, nobeden od parametrov, ki jih vsebuje funkcija učinkovitosti prvega sistema Čarovnik iz Oza, ni bil statistično značilen za izbrano odvisno spremenljivko v drugem eksperimentu. Edini parameter, ki nastopa v funkciji učinkovitosti drugega sistema in je bil statistično značilen tudi v prvem eksperimentu, pa je eden od parametrov podatkovne zbirke. Prišli smo do spoznanja, da so parametri podatkovne zbirke edina podobnost med funkcijama učinkovitosti obeh sistemov Čarovnik iz Oza in da ima predstavitev znanja v sistemih za podajanje informacij velik pomen. Ugotovili smo tudi, da strategija usmerjanja uporabnika k izbiri dosegljivih, relevantnih podatkov na zadovoljstvo uporabnikov ne vpliva negativno in da je treba težiti k povečanju stopnje sodelujočega odgovarjanja, predvsem relaksacije. Preverili smo, kako dobro je mogoče modelirati posamezne ocene uporabnikov in kateri parametri na njih najmočneje vplivajo. Najslabše izmed vseh smo modelirali hitrost interakcije in načrtovano rabo sistema v prihodnosti. Argumentirali smo, da je bila hitrost interakcije s sistemom pod velikim vplivom čarovnika in zato precej nepredvidljiva, ter da pozitivne izkušnje uporabnikov v testiranjih sistemov za dialog zelo verjetno niso kazalec njihovih prihodnjih navad. Kljub pričakovanjem nas je dejstvo, da je imel parameter, ki meri število nepodanih informacij, v prvem eksperimentu absolutno največjo (sicer negativno) utež sedmih izmed osmih funkcij učinkovitosti, v drugem eksperimentu pa je bil statistično neznačilen za prvih sedem ocen, nekoliko presenetilo. Razen tega je bila večina najznačilnejših parametrov posameznih ocen iz drugega eksperimenta statistično neznačilna za isto oceno iz prvega eksperimenta. Ker šteje ogrodje PARADISE za potencialno splošno metodologijo vrednotenja učinkovitosti sistemov za dialog in je trenutno najpogosteje citirana metoda na tem področju, predstavljajo analiza metode in rezultati, dobljeni v doktorski disertaciji, pomemben prispevek k izpopolnitvi vrednotenja učinkovitosti sistemov za dialog ter dobro začrtane smernice nadaljnjih raziskav. 10.1.2 Predstavitev znanja Ker imajo priljubljeni relacijski podatkovni modeli vrsto pomanjkljivosti, od katerih v sistemih za podajanje informacij najbolj izstopa nesposobnost sodelujočega odgovarjanja (predvsem nepodpora relaksacije), smo izpostavili potrebo po razvoju podatkovnega modela, ki bi bil relacijski algebri kot najbolj znanemu relacijskemu podatkovnemu modelu čim bolj podoben in hkrati sodelujoč. Dialog mlPC Kripkejevi podatkovni modeli, ki so rezultat magistrskega dela [Hajdinjak-2004a], sicer podpirajo skoraj vse tehnike sodelujočega odgovarjanja, se pa od relacijske algebre zelo razlikujejo, saj temeljijo na precej zahtevni intuicionistični modalni logiki. Naš cilj je bil zato dialog mlPC Kripkejeve modele približati univerzalno zastavljeni relacijski algebri oz. razviti relacijski algebri podoben podatkovni model, ki bi bil po zmogljivosti vsaj delno primerljiv z dialog mlPC Kripkejevimi modeli. Formalizem, ki smo ga v ta namen uporabili, je bila teorija kategorij. Relacijsko algebro kot najbolj znan model relacijskih podatkovnih zbirk, definiran v kategoriji množic, smo (matematično) naravno posplošili na teorijo kategorij. Osnovnim objek- 10 Sklep 197 torn relacijske algebre, tj. relacijam oz. podmnožicam kartezičnega produkta množic in nad njimi definiranim operacijam (unija, razlika, kartezični produkt, projekcija in izbira) smo priredili ustrezne kategorne konstrukte. Ugotovili smo, da morajo kategorije, ki bodo (poleg najnaravnejše kategorije množic) primerna osnova kategornega modela relacijskih podatkovnih zbirk, najprej vsebovati natančen začetni objekt, ki je kategorna posplošitev pojma prazne podmnožice, ter končni objekt, ki je kategorna posplošitev pojma podmnožice z enim samim elementom. Kategorno posplošitev kartezičnega produkta in projekcije smo dosegli s končnimi kategornimi produkti in slikami. Za kategorno posplošitev preostalih treh osnovnih operacij relacijske algebre (izbire, unije in razlike) smo zahtevali še obstoj natančne spodnje in natančne zgornje meje poljubnega para regularnih podobjektov ter obstoj relativnega komplementa v delno urejenih razredih regularnih podobjektov. Sklenili smo, da so kategorije, ki izpolnjujejo vse naštete pogoje, primerna izbira za kategorno predstavitev relacijske algebre, kategorija množic pa prva in najnaravnejša tovrstna kategorija. Podali smo primer kategorije, v kateri je mogoče predstaviti relacijsko algebro, tj. kategorijo podobnosti, katere objekti so urejene trojice, sestavljene iz množice, polne mreže in mere podobnosti. O dejstvu, da je kategorija podobnosti zelo koristna pri modeliranju sodelujočih podatkovnih zbirk, sta nas prepričali njeni podkategoriji, imenovani kategorija urejenih množic in kategorija kompaktnih metričnih prostorov. Objekti kategorije urejenih množic so množice, urejene z refleksivno relacijo, morfizmi pa preslikave, ki ohranjajo urejenost. Ker je urejenost kot osnovna lastnost skoraj vseh podatkovnih tipov naravno prisotna v številnih podatkovnih zbirkah, relacijske podatkovne zbirke pa podpirajo le standardne urejenosti podatkovnih tipov, tj. abecedno urejenost črkovnih nizov, numerično urejenost števil in kronološko urejenost datumov, kategorija urejenih množic prepreči izgubo pomembne semantične informacije. Ta integracija urejenosti predstavlja temelj tehnike posploševanja poizvedb in odgovorov oz. relaksacije. Objekti kategorije kompaktnih metričnih prostorov so kompaktni metrični prostori, urejeni z metriko, morfizmi pa Lipschitzove preslikave kompaktnih metričnih prostorov. Metrika pride npr. do izraza, ko poizvedbo pogojimo z razdaljami med kraji. Ker relacijske podatkovne zbirke, ki temeljijo na relacijski algebri, definirani v kategoriji množic, udejanjimo kot zbirko tabel, smo želeli na ta način udejanjiti tudi podatkovne zbirke, ki temeljijo na kategorni posplošitvi relacijske algebre, predstavljeni v kategoriji podobnosti. Videli smo, da lahko mero podobnosti, kije del objektov kategorije podobnosti, predstavimo kot relacijo in jo posledično udejanjimo kot relacijsko tabelo. Na ta način smo vsakemu objektu priredili dve relacijski tabeli, ena predstavlja množico, druga pa pripadajočo mero podobnosti. Podobnost na vrednostnih množicah, ki smo jo podali z dodatnimi relacijskimi tabelami, je torej integrirana tako, da je do nje mogoče brez težav dostopati in jo po potrebi spreminjati ali prilagajati uporabniku. Na meri podobnosti tako temelji implementacija relaksacije v posplošene relacijske podatkovne sisteme, katere namen je v odgovor zajeti večjo količino sorodnih, relevantnih in/ali smiselnih podatkov, in jo uporabljamo, ko je poizvedba neuspešna ali ko uporabnik v množici odgovorov ne najde sprejemljivega podatka. Z relacijo biti manj specifičen urejene vremenske podatke, uporabljene v drugem eksperimentu Čarovnik iz Oza, smo predstavili v kategoriji urejenih množic in ugotovili, da omogoča kategorija podobnosti (v resnici pa že njena podkategorija, kategorija urejenih 10 Sklep 198 množic) bolj kakovostno in natančno relaksacijo kot dialog mlPC Kripkejevi modeli. S posplošitvijo relacijske algebre smo dobili močan formalizem, ki torej že v osnovi dovoljuje relaksacijo poizvedb. Trditev, da je tak model obetavnejši od podobno zmogljivih razširitev relacijskega podatkovnega modela, smo podprli z enotnostjo formalizma, ki ga daje teorija kategorij, in verjetnostjo obstoja takih kategornih modelov, ki podpirajo tudi katero izmed preostalih tehnik sodelujočega odgovarjanja, ne le relaksacijo. 10.2 Nadaljnje delo Ker za nobeno od obstoječih tehnik merjenja zadovoljstva uporabnikov sistemov za dialog ni dokazano, da izpolnjuje pogoje za veljaven psihometrični instrument, je treba vse sklepe, ki zajemajo zadovoljstvo uporabnikov, obravnavati zelo previdno. Žal je bil prvi resen poskus razvoja vprašalnika, ki bi zanesljivo, veljavno, objektivno in diskriminativno meril zadovoljstvo uporabnikov sistemov za dialog, (začasno) prekinjen [Hone-2000]. Izrazili smo mnenje, da je tudi modifikacija SERVQUAL metode [Hartikainen-2004] pristop, ki veliko obeta. Menimo, da je ravno neustrezno merjenje zadovoljstva uporabnikov najbolj bistvena in kritična pomanjkljivost ogrodja PARADISE. Obremenjeni z vprašalnikom, ki ga zajema ogrodje PARADISE, in njegovimi pomanjkljivostmi, smo podali zamisel o idealnem načinu merjenja zadovoljstva uporabnikov z učinkovitostjo sistemov za dialog. Predlagali smo uteženo vsoto ali uteženo srednjo vrednost posameznih ocen, ki se nanašajo na različne vidike obnašanja sistema za dialog. Lastnostim, ki bi se uporabnikom zdele bolj pomembne, bi v uteženi vsoti (ali uteženi srednji vrednosti) dodelili večje uteži. Vprašanje o relativni velikosti uteži, ki je pri tem osrednjega pomena, bi moralo temeljiti na ustreznih empiričnih raziskavah, v katere bi bilo vključenih dovolj uporabnikov sistemov za dialog. Pri analizi podatkov, pridobljenih v dveh eksperimentih Čarovnik iz Oza, smo ugotovili, da so bili uporabniki prvega sistema bolj dojemljivi za kvantitativne parametre, v drugem pa za proporcionalne parametre. Izpostavili smo nujnost nadaljnjih raziskav glede tega vprašanja, kajti izbira regresijskih parametrov je lahko ključnega pomena pri doseganju zadostne natančnosti funkcije učinkovitosti. Kljub temu smo postavili hipotezo, da bi bila lahko ta razlika posledica konsistentno povečanega ponujanja relevantnih informacij v drugem eksperimentu, kar bi vodilo do več novih informacijskih iger in s tem do morebitne večje dojemljivosti uporabnikov za proporcionalne količine. Izstopa tudi ugotovitev, da je bila večina statistično najznačilnejših parametrov posameznih ocen iz drugega eksperimenta statistično neznačilna za isto oceno iz prvega eksperimenta. Na to ugotovitev lahko gledamo kot na potrditev neprimernosti posamičnih ocen za merjenje uporabnikovega zadovoljstva z učinkovitostjo sistemov za dialog. Po drugi strani pa bi to lahko pomenilo, da odgovori na izbrana vprašanja kažejo le na velike razlike med obema sistemoma Čarovnik iz Oza. Treba je torej tudi razumeti in biti sposoben pravilno opredeliti razlike med različnimi funkcijami učinkovitosti - naj bo to med funkcijami, ki se nanašajo na več različic danega sistema 10 Sklep 199 za dialog, ali med funkcijami, ki se našajo na različne sisteme ali celo različne načine merjenja zadovoljstva uporabnikov. Posplošitev relacijske algebre na teorijo kategorij je vodila do karakterizacije kategorij, s katerimi je mogoče modelirati relacijsko algebro, in primera tovrstne kategorije, imenovane kategorija podobnosti. Videli smo, da dobljeni kategorni modeli relacijske algebre omogočajo posplošitev poizvedb in odgovorov oz. relaksacijo, ki temelji na meri podobnosti, integrirani v objekte kategorije podobnosti. Posplošitev relacijske algebre pa zahteva tudi razširitev poizvedovalnega jezika. Čeprav je razširitev poizvedovalnega jezika, ki jo podatkovni model zahteva, odvisna od stopnje zahtevnosti podatkovnega sistema, je treba poizvedovalni jezik relacijske algebre razširiti, tako da bo omogočal izkoriščanje celotne zmogljivosti dobljenih kategornih modelov relacijske algebre. Trdili smo, da je naš model obetavnejši od podobno zmogljivih razširitev relacijskega podatkovnega modela. Po eni strani je to res, ker ima teorija kategorij močan in enoten formalizem. Res pa je tudi, da v razredu kategorij, s katerimi je mogoče modelirati relacijsko algebro, poleg kategorije podobnosti, ki podpira le relaksacijo, lahko obstajajo tudi kategorije, ki podpirajo katero izmed preostalih tehnik sodelujočega odgovarjanja, ne le relaksacijo. Identifikacija takih kategorij, njihova opredelitev in implementacija so pomembni cilji nadaljnjega dela. Viri in literatura [Abramowitz-1972] [A bramsky-1994] [Allen-1994] [Allen-1995] [Allen-1997] [Awodey-2005] [Barr-1999] [B arras-20 01] M. Abramowitz in I. A. Stegun. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. Dover Publications, Inc., New York. 1972. S. Abramsky in A. Jung. Domain Theory, str. 1-168. V Handbook of Logic in Computer Science, Volume 3. Uredili S. Abramsky, D. Gabbay in T. S. E. Maibaum. Claredon Press, Oxford. 1994. J. F. Allen. Natural Language Understanding. Benjamin/Cummings, Redwood City. 1994. J. F. Allen, L. K. Schubert, G. Ferguson, P. Heeman, C-H. Hwang, T. Kato, M. Light, N. G. Martin, B. W. Miller, M. Poesio in D. R. Traum. The TRAINS Project: A case study in building a conversational planning agent. Journal of Experimental and Theoretical AI. Zv. 7, str. 7~48. 1995. J. F. Allen in M. Core. Draft of DAMSL: Dialog Act Markup in Several Layers. Multiparty Discourse Group at the Discourse Research Initiative Meeting, Schloss Dagstuhl, Nemčija. Dosegljivo na http://www. cs. rochester. edu/research/cisd/resources/damsl/ RevisedManualfRevisedManual.html. S. Awodey. Category Theory. Carnegie Mellon University, ZDA. Dosegljivo na http://www.andrew.cmu.edu/course/80-413-713/notes/cats.pdf. 2005. M. Barr in C. Wells. Category Theory: Lecture Notes for ESSLLI. McGill University, Montreal, Kanada. Dosegljivo na http://www.math.upatras.gr/~cdrossos/Docs/B- W-Lecture Notes.pdf 1999. C. Barras, E. Geoffrois, Z. Wu in M. Liberman. Transcriber: use of a tool for assisting speech corpora production. Speech Communication: Special issue on Speech Annotation and Corpus Tools. Zv. 33(1-2), str. 5-22. 2001. 201 VIRI IN LITERATURA 202 [Bates-1991] [Borceux-19 94 a] [Borceux-1994b] [Borceux-1994c] [Bouwman-1998] [Boyce-1996] M. Bates in D. Ayuso. A Proposal for Incremental Dialogue Evaluation. V Proceedings of DARPA Speech and Natural Language Workshop, Pacific Grove, ZDA. str. 319-322. 1991. [Bratman-1988] [Braun-2003] [Bucur-1968] [Buneman-1991] [C arietta-1996a] [C arietta-1996b] [Ceri-1989] F. Borceux. Handbook of Categorical Algebra 1, Basic Category Theory. Cambridge University Press, Cambridge. 1994. F. Borceux. Handbook of Categorical Algebra 2, Categories and Structures. Cambridge University Press, Cambridge. 1994- F. Borceux. Handbook of Categorical Algebra 3, Categories of Sheaves. Cambridge University Press, Cambridge. 1994- G. Bouwman in J. Hulstijn. Dialogue Strategy Redesign with Reliability Measures. V Proceedings of the 1st Language Resources and Evaluation Conference, Granada, Španija. 1998. A. L. Boyce in A. L. Gorin. User Interface Issues for Natural Spoken Dialogue Systems. V Proceedings of the 1996 Lnter-national Symposium on Spoken Dialogue, Philadelphia, ZDA. str. 65-68. 1996. M. Bratman, D. Lsrael in M. Pollack. Plans and Resource-Bounded Practical Reasoning. Computational Lntelligence. Zv. 4, str. 349-355. 1988. D. Braun, J. Mayberry, A. Powers in S. Schlicker. The Geometry of the Hausdorff Metric. Dosegljivo na http://faculty.gvsu.edu/schlicks/Hausdorff_paper.pdf. 2003. L. Bucur in A. Deleanu. Introduction to the Theory of Categories and Functors. John Wiley & Sons, London. 1968. P. Buneman, P. Jung in A. Ohori. Using Powerdomains to Generalize Relational Databases. Theoretical Computer Science. Zv. 9 (1), str. 23-55. 1991. J. Carletta, A. hard, S. Jsard, J. Kowtko, G. Doherty-Sneddon in A. Anderson. HCRC Dialogue Structure Coding Manual. Research paper 82, Human Communication Research Centre, University of Edinburgh, Edinburgh, Velika Britanija. 1996. J. C. Carletta. Assessing the Reliability of Subjective Codings. Computational Linguistics. Zv. 22(2), str. 249-254- 1996. S. Čeri, G. Gottlob in L. Tanca. What You Always Wanted to Know About Datalog (And Never Dared to Ask). LEEE Transactions on Knowledge and Data Engineering. Zv. 1 (1), str. 146-166. 1989. VIRI IN LITERATURA 203 [Chaudhuri-1998] [Cholvy-1986] [Cholvy-1990] fChu-1990] [Chu-1994] [Chu-1996] [Codd-1970] fCodd-1974] [Cohen-1995] [Colomb-1998] [Cuppens-1988] [Dahlbdck-1993] S. Chaudhuri. An Overview of Query Optimization in Relational Systems. V Proceedings of the 17th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Seattle, ZDA. str. 34~43. 1998. L. Cholvy in R. Demolombe. Querying a Rule Base. V Proceedings of the 1st International Workshop on Expert Database Systems, Charleston, ZDA. str. 365-371. 1986. L. Cholvy. Answering Queries Addressed to a Rule Base. Revue d'Intelligence Artificielle. Zv. 1(1), str. 79-98. 1990. W. W. Chu, Q. Chen in R-C Lee. Cooperative Query Answering via Type Abstraction Hierarchy. Technical Report, University of California, Los Angeles, ZDA. 1990. W. W. Chu in Q. Chen. A Structured Approach for Cooperative Query Answering. IEEE Transactions on Knowledge and Data Engineering. Zv. 6 (5), str. 738-749. 1994. W. W. Chu, H. Jung, K. Chiang, M. Minock, G. Chow in C Larson. CoBase: A Scalable and Extensible Cooperative Information System. Journal of Intelligent Information Systems. Zv. 6(2/3), str. 223-259. 1996. E. F. Codd. A Relational Model of Data for Large Shared Data Banks. Communications of the ACM. Zv. 13(6), str. 377-387. 1970. E. F. Codd. Seven Steps to RENDEZVOUS with the Casual User. V Data Base Management. Uredila J. Kimbie in K. Kof-feman. North-Holland Publishers, Amsterdam. 1974- P. R. Cohen in S. L. Oviatt. The Role of Voice Input for Human-Machine Communication. V Proceedings of the National Academy of Sciences, ZDA. Zv. 92(22), str. 9921-9927 1995. R. M. Colomb. Deductive Databases and their Applications. Taylor & Francis Ltd, London. 1998. F. Cuppens in R. Demolombe. Cooperative Answering: A Methodology to Provide Intelligent Access to Databases. V Proceedings of the 2nd International Conference on Expert Database Systems, Virginia, ZDA. str. 621-643. 1988. N. Dahlbdck, A. Jonsson in L. Ahrenberg. Wizard of Oz studies: why and how. V Proceedings of the international workshop on Intelligent user interfaces, Orlando, ZDA. str. 193-200. 1993. VIRI IN LITERATURA 204 [Dampney-1992] [Danieli-1995] [D as-1992] [Demmel-1997] [DiEugenio-2004] [Diestel-2000] [Eilenberg-1945] [Elmasri-2004] [Eskenazi-1999] [Falconer-1990] [Fraser-1991] [Gaasterland-1992a] [Gaasterland-1992b] C. N. G. Dampney, M. Johnson in G. P. Monro. An Illustrated Mathematical Foundation for ERA. V Proceedings of the Institute for Mathematics and its Applications. Zv. 35, str. 77-84-1992. M. Danieli in E. Gerbino. Metrics for Evaluating Dialogue Strategies in a Spoken Language System. V Proceedings of the 1995 AAAI Spring Symposium on Empirical Methods in Discourse Interpretation and Generation, Stanford, ZDA. str. 34~ 39. 1995. S. K. Das. Deductive Databases and Logic Programming. Addison-Wesley Publishers Ltd, Wokingham. 1992. J. W. Demmel. Applied Numerical Linear Algebra. Society for Industrial and Applied Mathematics, Philadelphia. 1997. B. Di Eugenio in M. Glass. The Kappa Statistic: A Second Look. Computational Linguistics. Zv. 30(1), str. 95-101. 2004- R. Diestel. Graph Theory. Springer Verlag, New York. 2000. S. Eilenberg in S. MacLane. General Theory of Natural Equivalences. Transactions of the American Mathematical Society. Zv. 58, str. 231-294. 1945. R. Elmasri in S. B. Navathe. Fundamentals of Database Systems, Fourth Edition. Pearson Education, Inc., Boston. 2004- M. Eskenazi, A. Rudnicky, K. Gregory, P. Constantinides, R. Brennan, C. Bennett in J. Allen. Data Collection and Processing in the Carnegie Mellon Communicator. V Proceedings of the 6th European Conference on Speech Communication and Technology, Budimpešta, Madžarska. Zv. 6, str. 2695-2698. 1999. K. Falconer. Fractal Geometry: Mathematical Foundations and Applications. John Wiley & Sons, New York. 1990. N. M. Fraser in G. N. Gilbert. Simulating Speech Systems. Computer Speech and Language. Zv. 5(1), str. 81-99. 1991. T. Gaasterland, P. Godfrey in J. Minker. An Overview of Cooperative Answering. Journal of Intelligent Information Systems. Zv. 1(2), str. 123-157. 1992. T. Gaasterland, P. Godfrey in J. Minker. Relaxation as a Platform of Cooperative Answering. Journal of Intelligent Information Systems. Zv. 1(3/4), str. 293-321. 1992. VIRI IN LITERATURA 205 [G al-1987] [Gallaire-1978] [Ginchev-1998] [Goddeau-1996] [Godfrey-1994] [Godfrey-1998] [Grdtzer-1998] [Grice-1975] [Grimes-1998] [Gros-1997] [Guting-1989] [Hafenrichter-2005] A. G al in J. Minker. Informative and Cooperative Answers in Databases Using Integrity Constraints. V Proceedings of the 2nd Natural Language Understanding and Logic Programming Workshop, Vancouver, Kanada, str. 277-300. 1987. H. Gallaire in J. Minker. Logic and Databases. Plenum Press, New York. 1978. I. Ginchev in A. Hoffman. The Hausdorff Nearest Circle to a Convex Compact Set in the Plane. Journal for Analysis and its Applications. Zv. 17(2), str. 479-499. 1998. D. Goddeau, H. Meng, J. Polifroni, S. Seneff in S. Busayapongchai. A Form-Based Dialogue Manager for Spoken Language Applications. V Proceedings of the 4th International Conference on Spoken Language Processing, Philadelphia, ZDA. str. 701-704. 1996. P. Godfrey, J. Minker in L. Novik. An Architecture for a Cooperative Database System, str. 3-24- V Lecture Notes in Computer Science 819, Applications of Databases. Uredila W. Litwin in T. Risch. Springer Verlag, Berlin - Heidelberg -New York. 1994. P. Godfrey, J. Grant, J. Gryz in J. Minker. Integrity Constraints: Semantics and Applications, str. 265-307. V Logics for Databases and Information Systems. Uredila J. Chomicki in G. Saake. Kluwer Academic Publishers, Boston. 1998. G. Gratzer. General Lattice Theory, Second Edition. Birkhduser Verlag, Basel - Boston - Berlin. 1998. H. Grice. Logic and Conversation. V Syntax and Semantics, Zv. 3, Speech Acts. str. 41~58. Uredila P. Cole in J. Morgan. Academic Press, New York. 1975. S. Grimes. Modeling Object/Relational Databases. DBMS Online. Dosegljivo na http://www.dbmsmag.com/9804dl3.html. Zv. 11(4), str. 51-56. 1998. J. Gros. Samodejno tvorjenje govora iz besedil. Doktorska disertacija. Fakulteta za elektrotehniko, Univerza v Ljubljani. Ljubljana. 1997. R. H. Guting, R. Zicari in D. M. Choy. An Algebra for Structured Office Documents. ACM Transactions on Office Information Systems. Zv. 7(4), str. 123-157. 1989. B. Hafenrichter in W. Kiessling. Optimization of Relational Preference Queries. V Proceedings of the 16th Australasian VIRI IN LITERATURA 206 Database Conference, Newcastle, Avstralija, str. 175-184-2005. [Hajdinjak-2002a] M. Hajdinjak in F. Mihelič. Podatkovna baza nastajajočega sistema za podajanje vremenskih napovedi. V Zbornik 11. mednarodne Elektrotehniške in računalniške konference ERK 2002, Portorož, Slovenija. Zv. B, str. 299-302. 2002. [Hajdinjak-2002b] M. Hajdinjak in F. Mihelič. Semantična analiza vremenskih napovedi. V Zbornik B 5. mednarodne multikonference Informacijska družba IS'2002, Ljubljana, Slovenija, str. 10-13. 2002. [Hajdinjak-2003a] M. Hajdinjak in F. Mihelič. The wizard of Oz system for weather information retrieval, str. 400-405. V Lecture notes in computer science, Lecture notes in artificial intelligence, 2807, Uredila V. Matoušek in P. Mautner. Springer Verlag, Berlin. 2003. [Hajdinjak-2003b] M. Hajdinjak in F. Mihelič. Wizard of Oz experiments. V Pro- ceedings of the IEEE Region 8 EUROCON 2003 : computer as a tool, Ljubljana, Slovenija. Zv. 2, str. 112-116. 2003. [Hajdinjak-2004o] M. Hajdinjak. Vodenje dialoga med človekom in računal- nikom v naravnem jeziku. Magistrsko delo. Fakulteta za elektrotehniko, Univerza v Ljubljani. Ljubljana. 2004- [Hajdinjak-2004b] M. Hajdinjak in F. Mihelič. Conducting the Wizard-of-Oz ex- periment. Informatica. Zv. 28(4), str. 425-430. 2004. [Hajdinjak-2004 c] M. Hajdinjak in F. Mihelič. Information-Providing Dialogue Management, str. 595-602. V Lecture Notes in Computer Science, Lecture Notes in Artificial Intelligence 3206. Uredili P. Sojka, I. Kopeček in K. Pala. Springer Verlag, Berlin. 2004- [Hajdinjak-2005] M. Hajdinjak in F. Mihelič. Results from an Evaluation of a Dialogue Manager. V Proceedings of the COST278 Final Workshop and ISCA Tutorial and Research Workshop (ITRW) on Applied Spoken Language Interaction in Distributed Environments, Aalborg, Danska. 2005. [Hajdinjak-2006] M. Hajdinjak in F. Mihelič. The PARADISE Evaluation Framework: Issues and Findings. Computational Linguistics. Zv. 32(2). 2006. [Hartikainen-2004] M. Hartikainen, E.-P. Salonen in M. Turunen. Subjective Evaluation of Spoken Dialogue Systems Using SERVQUAL Method. V Proceedings of the 8th International Conference on Spoken Language Processing, Jeju, Koreja, str. 2273-2276. 2004. VIRI IN LITERATURA 207 [Hintikka-1975] [Hladnik-2002] [Hoeven-1995] [Hone-2000] [Houghton-1987] [Huth-2004] [Imrich-2000] [Ipšič-1999] [Islam-1994] [Johnson-1996] [Johnson-2002a] J. Hintikka. The Intentions of Intentionality and Other New Models for Modalities. D. Reidel Publishing Company, Dordrecht. 1975. M. Hladnih. Verjetnost in statistika lozba FE in FRI, Ljubljana. 2002. Zapiski predavanj. Za- G. van der Hoeven, J. Andernach, S. van der Burgt, G. J. Krui-jff, A. Nijholt, J. Schaake in F. de Jong. SCHISM A: A natural language accessible theatre information and booking system. V Proceedings of the 1st International Workshop on Applications of Natural Language to Data Bases, Versailles, Francija. str. 271-285. 1995. K. S. Hone in R. Graham. Towards a tool for the Subjective Assessment of Speech System Interfaces (SASSI). Natural Language Engineering. Zv. 6(3/4), str. 287-303. 2000. G. Houghton in S. D. hard. Why to speak, what to say and how to say it: Modelling language production in discourse. str. 249-267. V Modelling Cognition. Uredil P. Morris. John Wiley and Sons, London. 1987. M. Huth in M. Ryan. Logic in Computer Science, Modelling and Reasoning about Systems, Second Edition. Cambridge University Press, Cambridge. 2004- W. Imrich in S. Klavžar. Product Graphs: Structure and Recognition. John Wiley & Sons, New York. 2000. I. Ipšic, F. Mihelič, S. Dobrišek, J. Gros in N. Pavešic. A Slovenian Spoken Dialog System for Air Flight Inquires. V Proceedings of the 6th European Conference on Speech Communication and Technology, Budimpešta, Madžarska, str. 2659-2662. 1999. A. Islam in W. Phoa. Categorical Models of Relational Databases I: Fibrational Formulation, Schema Integration. str. 618-641- V Lecture Notes in Computer Science 789, Theoretical Aspects of Computer Software. Uredila M. Hagiya in J. C. Mitchell. Springer Verlag, Berlin - Heidelberg - New York. 1994. M. Johnson. A Categorical Logic for Information Systems. Journal of the IGPL. Zv. 4, str. 502-504. 1996. M. Johnson in R. Rosebrugh. Sketch Data Models, Relational Schema and Data Specifications. Electronic Notes in Theoretical Computer Science. Zv. 61, str. 1-13. 2002. VIRI IN LITERATURA 208 fJohnson-2002b] [Johnson-2002cJ [Joshi-1981] [Jurafsky-1994] [Kamm-1998] [Kamm-1999] [Kim-1995] [Kim-1997] [Kowalski-1974] [Kowtko-1992] [Krahmer-2001] [Kuhns-1967] M. Johnson, R. Rosebrugh in R. J. Wood. Entity-Relationship-Attribute Designs and Sketches. Theory and Applications of Categories. Zv. 10, str. 94-112. 2002. R. A. Johnson in D. W. Wichern. Applied multivariate statistical analysis. Prentice-Hall, Upper Saddle River (NJ). 2002. A. Joshi, B. Webber in I. Sag. Elements of Discourse Understanding. Cambridge University Press, Cambridge. 1981. D. Jurafsky, C Wooters, G. Tajchman, J. Segal, A. Stolčke, E. Fosler in N. Morgan. The Berkeley Restaurant Project. V Proceedings of the International Conference on Spoken Language Processing, Yokohama, Japonska, str. 2139-2142. 1994- C. A. Kamm, D. J. hitman in M A. Walker. From Novice to Expert: The Effect of Tutorials on User Expertise with Spoken Dialogue Systems. V Proceedings of the 5th International Conference on Spoken Language Processing, Rundle Mall, Avstralija. Zv. 4, str. 1211-1214. 1998. C Kamm, M. Walker in D. Litman. Evaluating Spoken Language Systems. V Proceedings of the American Voice Input/Output Society, San Jose, ZDA. 1999. W. Kim. Modern Database Systems: The Object Model, Interoperability, and Beyond. ACM Press in Addison-Wesley, New York. 1995. W. Kim in M.-W. Koo. A Korean Speech Corpus for Train Ticket Reservation Aid system Based on Speech Recognition. V Proceedings of the 5th European Conference on Speech Communication and Technology, Rodos, Grčija. Zv. 4, str- 1723-1726. 1997. R. Kowalski. Predicate Log 1C ctS ct Programming Language. V Proceedings of the 6th International Federation for Information Processing Congress, Stockholm, Švedska, str. 569-574- 1974- J. Kowtko in S. hard. Conversational Games Within Dialogue. Research paper 31, Human Communication Research Centre, University of Edinburgh, Edinburgh, Velika Britanija. 1992. E. J. Krahmer. The Science and Art of Voice Interfaces. Philips Research Report, Philips, Eindhoven, Nizozemska. 2001. J. Kuhns. Answering Questions by Computer: A Logical Study. Technical Report RM-5428-PR, The Rand Corporation, Santa Monica, ZDA. 1967. VIRI IN LITERATURA 209 [Kurzweil-1999] [Larsen-2003] [Larsson-2000] [Levien-1965] [Lewin-2000] [Litman-2002] [Lynn-1982] [Maier-1993] [Martinčič-2003] [Mata-Toledo-2000] [McSkimin-1977] R. Kurzweil. The Age of Spiritual Machines: When Computers Exceed Human Intelligence. Viking Press, New York. 1999. L. B. Larsen. Issues in the Evaluation of Spoken Dialogue Systems using Objective and Subjective Measures. V Proceedings of the Automatic Speech Recognition and Understanding Workshop, St. Thomas, ZDA. str. 209-214. 2003. S. Larsson in D. Traum. Information state and dialogue management in the TRINDI Dialogue Move Engine Toolkit. Natural Language Engineering. Zv. 6(3/4), str. 323-340. 2000. R. Levien in M. Maron. Relational Data File: A Tool for Mechanized Inference Execution and Data Retrieval. Technical Report RM-4793-PR, The Rand Corporation, Santa Monica, ZDA. 1965. L. Lewin. A formal model of Conversational Game Theory. V Gotalog: Proceedings of the 4th Workshop on the Semantics and Pragmatics of Dialogue, Goteborg, Švedska. 2000. D. J. Litman in P. Shimei. Designing and Evaluating an Adaptive Spoken Dialogue System. User Modeling and User-Adapted Lnteraction. Zv. 12, str. 111-137. 2002. N. Lynn. Implementation of Ordered Relations in a Data Base System. Magistrsko delo. University of California, Department of Electrical Engineering and Computer Science. Berkeley. 1982. D. Maier in B. Vance. A Call to Order. V Proceedings of the 12th ACM Symposium on Principles of Database Systems, Washington, ZDA. str. 1-16. 1993. S. Martinčic-Ipšič, J. Zibert, L. Ipšic, F. Mihelič in N. Pavešic. Bilingual Speech Recognition for a Weather Information Retrieval Dialogue System, str. 380-387. V Lecture Notes in Computer Science, Lecture Notes in Artificial Intelligence 2807. Uredila V. Matoušek in P. Mautner. Springer Verlag, Berlin. 2003. R. Mata-Toledo in P. Cushman. Schaum's Outline of Fundamentals of Relational Databases. McGraw-Hill, New York. 2000. J. McSkimin in J. Minker. The Use of a Semantic Network in Deductive Question-Answering Systems. V Proceedings of the 5th International Joint Conference on Artificial Intelligence, Cambridge, ZDA. str. 50-58. 1977. VIRI IN LITERATURA 210 [Minker-1982] [Minker-1996] [Mohor-1997] [Moller-2005] [Moore-2005] [Motro-1988] [Motro-1990] [Nelson-1995] [Ng-2001] [Noth-2004] [Paredaens-1992] [Patel-2004] J. Minker. On Indefinite Databases and the Closed World Assumption. V Proceedings of the 6th Conference on Automated Deduction, New York, ZDA. str. 292-308. 1982. J. Minker. Logic and Databases: a 20 Year Retrospective. V Proceedings of the 1st International Workshop on Logic in Databases, San Miniato, Italija, str. 3-57. 1996. T. Mohor. Načrtovanje relacijskih podatkovnih baz. BI-TIM d.o.o, Ljubljana. 1997. S. Moller. Evaluating Telephone-Based Interactive Systems. V Proceedings of the COST278 Final Workshop and ISCA Tutorial and Research Workshop (ITRW) on Applied Spoken Language Interaction in Distributed Environments, Aalborg, Dan-ska. 2005. R. K. Moore. Research Challenges in the Automation of Spoken Language Interaction. V Proceedings of the Workshop on Applied Spoken Language Interaction in Distributed Environments, Aalborg, Danska. 2005. A. Motro. VAGUE: A User Interface to Relational Databases that Permits Vague Queries. ACM Transactions on Office Information Systems. Zv. 6(3), str. 187-214. 1988. A. Motro. FLEX: A Tolerant and Cooperative User Interface to Databases. IEEE Transactions on Knowledge and Data Engineering. Zv. 2(2), str. 231-246. 1990. D. A. Nelson in B. N. Rossiter. Prototyping a Formal Object-Oriented Database in P/FDM. V Proceedings of the 7th ERCIM Database Research Group Workshop on Object-Oriented Databases, Lizbona, Portugalska. 1995. W. Ng. An Extension of the Relational Data Model to Incorporate Ordered Domains. ACM Transactions on Database Systems. Zv. 26(3), str. 344-383. 2001. E. Noth, A. Horndasch, F. Gallwitz in J. Haas. Experiences with Commercial Telephone-based Dialogue Systems, it - Information Technology. Zv. 46, str. 315-321. 2004. L. Paredaens. Converting Nested Algebra Expressions into Flat Algebra Expressions. ACM Transactions on Database Systems. Zv. 17(1), str. 65-93. 1992. N. R. Patel in P. C. Bruce. Multiple Linear Regression, str. 43-54- V Data Mining in Excel: Lecture Notes and Cases. Resampling Stats, Arlington. 2004- VIRI IN LITERATURA 211 [Pirker-1999] fPlotkin-1983] [Poesio-1997] [Polifroni-1992] [Power-1979] [Price-1992] H. Pirker, G. Loderer in H. Trost. Thus Spoke the User to the Wizard. V Proceedings of the 6th European Conference on Speech Communication and Technology, Budimpešta, Madžarska. Zv. 3, str. 1171-1174. 1999. G. Plotkin. Pisa Notes (On Domain Theory). University of Edinburgh, Velika Britanija. Dosegljivo na http://homepages, inf. ed. ac. uk/gdp/publications/D omains.pdf. 1983. M. Poesio in D. R. Traum. Conversational actions and discourse situations. Computational Intelligence. Zv. 13(3), str. 309-349. 1997. J. Polifroni, L. Hirschman, S. Seneff in V. Zue. Experiments in Evaluating Interactive Spoken Language Systems. V Proceedings of DARPA Speech and Natural Language Workshop, Harriman, ZDA. str. 28-33. 1992. R. Power. The organisation of purposeful dialogues. Linguistics. Zv. 17, str. 107-152. 1979. P. Price, L. Hirschman, E. Shriberg in E. Wade. Subject-based Evaluation Measures for Interactive Spoken Language Systems. V Proceedings of the DARPA Speech and Natural Language Workshop, Harriman, ZDA. str. 34~39. 1992. [Ramakrishnan-1995] R. Ramakrishnan in J. D. Ullman. A Survey of Research on Deductive Database Systems. Journal of Logic Programming. Zv. 23(2), str. 125-149. 1995. [Ramakrishnan-2003] R. Ramakrishnan in J. Gehrke. Database Management Systems. McGraw-Hill, Boston. 2003. [Raymond-1996] [Reiter-1978] [Reiter-1984] [Rossiter-1994] D. Raymond. Partial Order Databases. Doktorska disertacija. University of Waterloo, Department of Computer Science. Kanada. 1996. R. Reiter. On Closed World Data Bases, str. 55-76. V Logic and Data Bases. Uredila H. Gallaire in J. Minker. Plenum, New York. 1978. R. Reiter. Towards a Logical Reconstruction of Relational Database Theory, str. 163-189. V On Conceptual Modelling. Uredili M. Brodie, J. Mylopoulos in J. Schmit. Springer Verlag, Berlin - Heidelberg - New York. 1984- B. N. Rossiter, D. A. Nelson in M. A. Heather. The Categorical Data Model as a Formalism for Object-Relational Databases. Computing Science Technical Report no. 505, University of Newcastle upon Tyne, Newcastle, Velika Britanija. 1994- VIRI IN LITERATURA 212 [Sanders-1993] [Schek-1986] fSeber-1977] [Sendov-2001] [Shriberg-1992] [Smith-1997] [Sparck-Jones-1996] [Stallard-2000] [Stolčke-20 00] [Sturm-1999] M. S. Sanders in E. J. McCormick. Human Factors in Engineering and Design, Seventh Edition. McGraw-Hill, New York. 1993. H.-J. Schek in M. H. Scholl. The Relational Model with Relation-Valued Attributes. Information Systems. Zv. 11(2), str. 137-147. 1986. G. A. F. Seber. Linear Regression Analysis. John Wiley & Sons, New York. 1977 Bl. Sendov. Hausdorff Geometry of Polynomials. East Journal of Approximations. Zv. 7, str. 123-178. 2001. E. Shriberg, E. Wade in P. Price. Human-Machine Problem Solving Using Spoken Language Systems (SLS): Factors Affecting Performance and User Satisfaction. V Proceedings of the DARPA Speech and Natural Language Workshop, Harri-man, ZDA. str. 49-54. 1992. R. W. Smith in S. A. Gordon. Effects of Variable Initiative on Linguistic Behavior in Human-Computer Spoken Natural Language Dialogue. Computational Linguistics. Zv. 23(1), str. 141-168. 1997. K. Sparck-Jones in R. Galliers. Evaluating Natural Language Processing Systems: An Analysis and Review (Lecture Notes in Artificial Intelligence 1083). Springer Ver-lag, Berlin - Heidelberg - New York. Dosegljivo na http://citeseer.ist.psu. edu/galliers93evaluating.html. 1996. D. Stallard. Talk'n'Travel: A Conversational System for Air Travel Planning. V Proceedings of the Association for Computational Linguistics 6th Applied Natural Language Processing Conference, Seattle, ZDA. str. 68-75. 2000. A. Stolčke, N. Coccaro, R. Bates, P. Taylor, C Van Ess-Dykema, K. Ries, E. Shriberg, D. Jurafsky, R. Martin in M. Meteer. Dialogue Act Modelling for Automatic Tagging and Recognition of Conversational Speech. Computational Linguistics. Zv. 26(3), str. 339-373. 2000. J. Sturm, E. den Os in L. Boves. Dialogue management in the Dutch ARISE train timetable information system. V Proceedings of the 6th European Conference on Speech Communication and Technology, Budimpešta, Madžarska, str. 1419-1422. 1999. [Tabachnick-1996] B. G. Tabachnick in L. S. Fidell. Using Multivariate Statistics, Third Edition. Harper Collins, New York. 1996. VIRI IN LITERATURA 213 [Takacs-1998] [Thomas-1986] [Troelstra- www] [Tsichritzis-1982] [Ullman-1988] [Ullman-1989] [Vesnicer-2003] [Vidav-2003] [Vrabec-1993] [Walker- 1997a] [Walker-1997b] [Walker-1998] B. Takacs in H. Wechsler. Face Identification Using the Haus-dorff Metric. V Proceedings of the 3rd International Conference on Automatic Face and Gesture Recognition, Nara, Japonska. 1998. S. J. Thomas in P. C Fischer. Nested Relational Structures. str. 269-307. V Advances in Computing Research III, The Theory of Databases. Uredil P. C. Kanellakis. JAI Press, Greenwich. 1986. A. S. Troelstra. History of constructivism in the 20th century. Dosegljivo na http://citeseer.nj.nec.com/96765.html. D. C. Tsichritzis in F. H. Lochovsky. Data Models. Prentice-Hall, Englewood Cliffs, New Jersey. 1982. J. D. Ullman. Principles of Database and Knowledge-Base Systems, Volume I. Computer Science Press, Inc., Rockville, Maryland. 1988. J. D. Ullman. Principles of Database and Knowledge-Base Systems, Volume IT. The New Technologies. Computer Science Press, Inc., Rockville, Maryland. 1989. B. Vesnicer. Umetno tvorjenje govora z uporabo prikritih Markovovih modelov. Magistrsko delo. Fakulteta za elektrotehniko, Univerza v Ljubljani. Ljubljana. 2003. I. Vidav. Algebra. Društvo matematikov, fizikov in astronomov Slovenije, Ljubljana. 2003. J. Vrabec. Metrični prostori. Društvo matematikov, fizikov in astronomov Slovenije, Ljubljana. 1993. M. A. Walker, D. Litman, C. A. Kamm in A. Abella. PARADISE: A Framework for Evaluating Spoken Dialogue Agents. V Proceedings of the 35th Annual Meeting of the Association of Computational Linguistics, Madrid, Španija, str. 271-280. 1997. M. A. Walker, D. Hindle, J. Fromer, G. Di Fabbrizio in C Mestel. Evaluating Competing Agent Strategies for a Voice Email Agent. V Proceedings of the 5th European Conference on Speech Communication and Technology, Rodos, Grčija. str. 2219-2222. 1997. M. A. Walker, D. J. Litman, C. A. Kamm in A. Abella. Evaluating Spoken Dialogue Agents with PARADISE: Two Case Studies. Computer Speech and Language. Zv. 12(3), str. 317-347. 1998. VIRI IN LITERATURA 214 [Walker-1999] fWalker-2000] [Walker-200 la] [Walker-2001b] [Whittaker-1989] [Whittaker-2002] [Woods-1972] [Zoltan-Ford-1991] [Zue-2000] M. A. Walker, J. Boland in C Kamm. The Utility of Elapsed Time as a Usability Metric for Spoken Dialogue Systems. V Proceedings of the Automatic Speech Recognition and Understanding Workshop, Keystone, ZDA. Zv. 1, str. 317-320. 1999. M. A. Walker. An Application of Reinforcement Learning to Dialogue Strategy Selection in a Spoken Dialogue System for Email. Journal of Artificial Intelligence Research. Zv. 12, str. 387-416. 2000. M. A. Walker, J. Aberdeen, J. Boland, E. Bratt, J. Garo-folo, L. Hirschman, A. Le, S. Lee, S. Narayanan, K. Pap-ineni, B. Pellom, J. Polifroni, A. Potamianos, P. Prabhu, A. Rudnicky, G. Sanders, S. Seneff, D. Stallard in S. Whit-taker. DARPA Communicator Dialog Travel Planning Systems: The June 2000 data Collection. V Proceedings of the 7th European Conference on Speech Communication and Technology, Aalborg, Danska, str. 1371-1375. 2001. M. A. Walker, R. Passonneau in J. E. Boland. Quantitative and Qualitative Evaluation of Darpa Communicator Spoken Dialogue Systems. V Proceedings of the 39th Annual Meeting of the Association for Computational Linguistics, Toulouse, Francija. str. 515-522. 2001. S. Whittaker in P. Stenton. User Studies and the Design of Natural Language Systems. V Proceedings of the 4th Conference of the European Chapter of the Association for Computational Linguistics, Manchester, Anglija, str. 116-123. 1989. S. Whittaker, M. Walker in J. Moore. Fish or Fowl: A Wizard of Oz Evaluation of Dialogue Strategies in the Restaurant Domain. V Proceedings of the 3rd Language Resources and Evaluation Conference, Las Palmas, Španija. 2002. W. A. Woods, R. M. Kaplan in B. N. Webber. The Lunar sciences Natural Language Information System: Final Report. BBN Report 2378, Bolt Beranek and Newman Inc., Cambridge, Massachusetts. 1972. E. Zoltan-Ford. How to Get People to Say and Type What Computers Can Understand. Journal of Man-Machine Studies. Zv. 34, str. 527-547. 1991. V. Zue, S. Seneff, J. Glass, J. Polifroni, C Pao, T. J. Hazen in L. Hetherington. JUPITER: A Telephone Based Conversational Interface for Weather Information. IEEE Transactions on Speech and Audio Processing. Zv. 8(1), str. 85-96. 2000. VIRI IN LITERATURA 215 [Žibert-2003] J. Žibert, S. Martinčič-Ipšič, M. Hajdinjak, I. Ipšič in F. Mi- helič. Development of a Bilingual Spoken Dialog System for Weather Information Retrieval. V Proceedings of the 8th European Conference on Speech Communication and Technology, Ženeva, Švica. str. 1917-1920. 2003. Izvirni prispevki k znanosti Disertacija vsebuje naslednje pomembnejše izvirne prispevke k znanosti: • Analiza in interpretacija postopka vrednotenja učinkovitosti sistemov za dialog z ogrodjem PARADISE (poglavje 3). Analizirala sem teoretično zasnovo ogrodja PARADISE, opozorila na njene pomanjkljivosti ter izpostavila nekatere sporne točke ogrodja PARADISE. Pokazala in argumentirala sem pravilno uporabo normalizacije v modelu učinkovitosti, ki ga zajema ogrodje PARADISE (razdelek 3.3.1). Dosedanje raziskave namreč poročajo le o normalizaciji neodvisnih spremenljivk funkcije učinkovitosti, ne pa tudi o nujnosti normalizacije odvisne spremenljivke, ki je predpogoj numerične stabilnosti. Za napovedovanje zadovoljstva uporabnikov pa s stališča natančnosti ocen ni ugodno uporabljati normalizirane vrednosti, ki je rezultat funkcije učinkovitosti. Zaradi zmanjšanja napak je normalizirane vrednosti treba (s transformacijo, kije inverzna normalizaciji) pretvoriti nazaj na začetni interval. Izpostavila sem verjetno najšibkejšo točko ogrodja PARADISE, tj. vprašalnik, s katerim merimo zadovoljstvo uporabnikov (razdelek 3.3.4). Ta vprašalnik ne temelji niti na teoriji niti na ustreznih empiričnih raziskavah, in zato ne more šteti za veljaven psihometrični instrument. Predlagala sem način merjenja zadovoljstva uporabnikov - uteženo vsoto ali uteženo srednjo vrednost ocen, pridobljenih z ustreznim (tj. zanesljivim, veljavnim, objektivnim in diskrimina-tivnim) vprašalnikom. To področje vsekakor zahteva obsežne nadaljnje raziskave. Študija znanstvenih prispevkov na področju vrednotenja učinkovitosti sistemov za dialog je pokazala veliko izstopanje parametrov, ki merijo učinkovitost razpoznavanja govora (razdelek 3.3.5). To me je pripeljalo do sklepa, da bo vrednotenje, ki je usmerjeno v učinkovitost posameznih modulov sistema za dialog, realnejše, nazornejše in bolj informativno, če učinke samodejnega razpoznavanja govora iz sistema odstranimo. To lahko npr. naredimo tako, da izvajamo eksperiment Čarovnik iz Oza, v katerem simuliramo popolno razpoznavanje govora. • Definicija in vloga parametrov podatkovne zbirke pri delovanju in vrednotenju samodejnih sistemov za podajanje informacij (poglavje 4). Definirala in uporabila sem t. i. parametre podatkovne zbirke (razdelek 4.2), ki merijo število in delež potez, s katerimi sistem uporabniku poda informacije, kijih najde v podatkovni zbirki, število in delež potez, ki uporabnika usmerjajo k izbiri relevantnih, dosegljivih podatkov, ter število in delež potez, s katerimi sistem uporabniku sporoča, da zahtevanega podatka nima in ga pri tem ne usmerja k 217 izbiri relevantnih, dosegljivih podatkov. V eksperimentih se je izkazalo, da so taki parametri, ki izražajo velikost podatkovne zbirke in stopnjo sodelujočega odgovarjanja, v sistemih za podajanje informacij ključnega pomena in zato pri vrednotenju učinkovitosti nepogrešljivi. • Predstavitev znanja v sodelujočih samodejnih sistemih za dialog s kategornimi relacijskimi podatkovnimi modeli (poglavje 9). Relacijsko algebro kot najbolj znan model relacijskih podatkovnih zbirk, definiran v kategoriji množic, sem (matematično) naravno posplošila na teorijo kategorij (razdelek 9.2). Osnovnim objektom relacijske algebre in nad njimi definiranim operacijam (unija, razlika, kartezični produkt, projekcija in izbira) sem poiskala ustrezne kategorne konstrukte. Ugotovila sem, da morajo kategorije, ki bodo primerna osnova kategornega modela relacijskih podatkovnih zbirk, vsebovati natančen začetni objekt, ki je kategorna posplošitev pojma prazne podmnožice, končni objekt, ki je kategorna posplošitev pojma podmnožice z enim samim elementom, končne kategorne produkte, slike ter unije, preseke in razlike tistih podobjektov, s katerimi modeliramo poizvedbe. Predstavila sem primer tovrstne kategorije, imenovane kategorija podobnosti (razdelek 9.3), in njeni podkategoriji, imenovani kategorija urejenih množic in kategorija kompaktnih metričnih prostorov. Posplošitev relacijske algebre na močan formalizem, ki ga nudi teorija kategorij, je pripeljal do naravne implementacije relaksacije v posplošene relacijske podatkovne sisteme. Za objekte kategorije podobnosti sem pokazala, da jih (tako kot relacije, ki so osnovni objekti relacijske algebre) lahko udejanjimo z relacijskimi tabelami. 218 Ljubljana, 15. 6. 2006 Izjava o avtorstvu Podpisana Melita Hajdinjak, rojena 20. junija 1977 v Grazu v Avstriji, izjavljam, da sem avtorica doktorske disertacije z naslovom Predstavitev znanja in vrednotenje učinkovitosti sodelujočih samodejnih sistemov za dialog. Melita Hajdinjak