valmiiksidialoginhallinnan säännöstööntallennetulla kysymyksellä(rivi 5).
esimerkiksikuvaatai karttaaosoittamalla, jää tutkittavaksijatkossa.
4M-hankkeen puitteissa kehitettiin tietotekniikan alaa ja huoltotoimenpiteitä kuvaava
ontologia, johonliittyyjoukko toimintoja, käsitteitäja ominaisuussuhteita.Tämän on-
tologian perustallemuodostettiinsemanttinen kommunikointirajapinta, jotakäytetään
ongelmien,havaintojen,kysymysten,ohjeidenjametakommunikaationsiirtoon.Dialogi-
järjestelmäänkehitettiinmääriteltyjäpuheaktityyppejävastaavatRDF-muotoisetagen-
daviestienrakenteet,jotkaotettiinprojektintoisenvuodenloppuunmennessäkäyttöön
integroidussademojärjestelmässä.
Hankkeessa kehitettiin myössamaa ontologiaa käyttävä kehystietorakenne taustaohjel-
mienavullatehtäväänpäättelyynjatiedonhakuun.RDF-muotoinenkehystoimiihuolto-
ongelmaakuvaavanablakboard-tyyppisenä, päättelyohjelmien kesken jaettunatietova-
rastona.
Myös sisäinen keskustelun mallinnus toteutettiin onnistuneesti RDF-pohjaisen tieto-
rakenteen, keskustelumuistin, avulla. Se tukee CDM:n referenttien newinfo- ja status-
tilojen seurannan lisäksi syötteen varmentamiseen liittyviä käsitteiden perustustilojen
(grounding) mallintamista. Kehitetystä keskustelumuistin mallista on jatkotutkimuk-
sessahuomattavaa etuaRDF-rakenteisiin perustuvien keskustelunsuunnittelunsääntö-
lausekkeiden kehityksessä.
Ontologian etuja dialoginhallinnassa
Tässätyössäkäsiteltyyndialogijärjestelmäänsuunniteltiinontologiaanperustuviapäät-
telykomponentteja,jotkakommunikoivatdialoginhallinnan kanssaontologiaanperustu-
vienRDF-mallienavulla.Ontologianavullakuvatutinstanssitietokannanalkiotjaomi-
naisuudet toimivat tietokantanadialoginhallinnan ja sen diagnostisten alijärjestelmien
suorittamille toiminnoille. Tämän instanssitietokannan semantiikan laajentaminen on
mahdollista täydentämällä ontologianluokka-avaruutta jaominaisuusavaruutta.
Ontologiaperustaisen tietokannansemantiikantairakenteenlaajentamineneivaadipe-
rusteellisia muutoksia dialoginhallinnan konguraatioon, silläkäsiteluokat voidaan esi-
tellähierarkkisesti niin,ettäyleiselleolioluokalle tehdyt toimintasäännöt pätevät myös
yksittäisemmän luokan olioon. Esimerkiksi laserprintteriä voidaan käsitellä printteri-
nä,mikäli laserprintterilleeiole erityisiä määrityksiä.Näinollen dialogijärjestelmän ja
dialoginhallinnan päättelykoneistoon on mahdollista ohjelmoida yleispäteviä sääntöjä,
strategioita ja päättelyehtoja, jotkakoskevat useitakäsiteluokkia.
RDF-skeemaan pohjautuvan ja OWL-kielisen ontologian yksittäiset ominaisuusresurs-
sit voivat periä ominaisuuksia yleisemmiltä ominaisuustyypeiltä, kuten luokat voivat
periäominaisuuksia yleisemmiltä luokilta. Dialoginhallinnan keskustelunohjaustoimii,
vaikkaontologiaanlisätäänominaisuuksien alatyyppejäjaaiempiatietokannanominai-
suusviittauksia korvataan näillä alatyypeillä, sillä dialogisäännöissä käytetyt relaatiot
koskevat myösniistäjohdettuja alatyyppejä.
Toinenontologiapohjaisen dialoginhallinnan jaongelmanratkaisunetuonmonikielisyy-
den tuki.Järjestelmään voidaan lisätäuusien kielten tuki lisäämällä rajapintoihin eril-
lisiä jäsennys- ja tuottokomponentteja tai laajentamalla aiempien komponenttien kie-
lioppeja. Koska dialoginhallinta on määritelty toimimaan ontologiapohjaisella, kieles-
tä riippumattomalla semanttisella käyttäjärajapinnalla, itse keskustelunsuunnittelu ja
dialoginhallinta toimivat riippumattakäytetystäkielestä.
Tässä työssä käsiteltävässä 4M-järjestelmässä on apuna yhteinen jaettu blakboard-
tietovarasto Interat-hankkeen [14 ℄ mukaisesti. Tällainen kehys on apuna komponent-
tienvälisessätiedonsiirrossaniin,ettäuseampitaustasovelluspystyykäsittelemääntoi-
mintapyyntöä samanaikaisesti ja joko tuottamaan vastauksen tai jättämään vastaus-
vuoron väliin. Kun dialogijärjestelmän taustakomponentit ja dialoginhallinta siirtävät
denkuvaustenilmaisukykyävoidaantarvittaessalaajentaalisäämälläontologiaanuusia
luokkia ja ominaisuusviittauksia. Edellä esitetynperiytymisominaisuuden ansiosta täl-
lainenontologianlaajentamineneiaiheuta suuriamuutoksiaaiemminkehitetyissäkom-
ponenteissa.
Keskustelunsuunnittelun älykkyys
Tässä työssäon esitelty malli suunnittelevalle älykkäälle dialogijärjestelmälle, jossaon
ajateltu CDM:n periaatteita, mutta toiminta on toteutettu Interat-järjestelmän rin-
nakkaisiindialogiagentteihin ja Deneken suunnittelevan dialoginhallinnan olioihin pe-
rustuen.
Interat-järjestelmässä kukin dialogin tapahtuma, kuten tervehtiminen, kysyminen tai
vastaaminen on oman erikoistuneen dialogiagenttinsa tarjoama toiminto. Järjestelmä
toimiiheuristisestiniin,ettäkukindialogiagentti arvioiomansoveltuvuutensakussakin
keskustelun tilanteessa. Tällainenagenttiympäristöön perustuva dialoginhallinta käyt-
tää evaluaattoriyksiköitä sopivan toiminnan valintaan agenttien tuloksienperusteella.
4M-dialogijärjestelmässä vastaavat rinnakkaiset agentit on implementoitu dialogisään-
nöiksi. Nämädialogisäännöt noudattavat Deneken [4 ℄ dialogioliomallia, jossa dialogin
peräkkäisettapahtumatkuvataanesiehtojälkiehtotoimintokustannustyyppi-muodo s-
sa.Näihinperustuumalliälykkäästäkeskustelunsuunnittelusta, jossakäytetäänhyväksi
rinnakkain suunniteltavia keskustelustrategioita.
Järjestelmänkäyttäytymistäonmahdollistamuuttaavaihtamallarinnakkaistentoimin-
tasääntöjenpainotuksia,vaikkakäyttäjienitseoppivaataimanuaalistaprolointiaeiole
toteutettu4M-järjestelmässsä. Suunnittelualgoritmintoteutuksenpuutteistahuolimat-
tanäilläsäännöilläsaatiinaikaanennaltaohjelmoituja,heuristisiatoimintapreferenssejä
kokeelliseen järjestelmään.
Konstruktiivisen dialoginhallinnanpiirteet työssä
Tässä dialoginhallinnan mallissa otettiin huomioon CDM:n keskustelun yhteisen pää-
määrän periaatteet [9 ℄jo järjestelmänkomponenttien suunnittelun asteella.
Dialoginhallinta pystyy seuraamaan keskustelua sen rakenteen perusteella, vaikka sii-
hen ei olisi suunniteltu erityistä logiikkaa käytettyjen käsitteiden tai väittämien ym-
tai palvelukomponenttien palveluita ja pyrkiä näiden komponenttien tulosten perus-
teellapäättelemään, millaista keskustelun päämäärää käyttäjätavoittelee.
Mikälijärjestelmäeipystytäydellisestijäsentämäänkäyttäjänesittelemääongelmanku-
vausta,sepyrkiikäyttämäänvähemmän yksittäiseentilanteeseenliittyviätietolähteitä,
esimerkiksihakemaantietoaohjekirjoista IR-palvelunavulla.
Yhteenveto 4M:n dialoginhallintamallista
Tämä dialoginhallintakomponentin malli ontodetturiittävän monipuoliseksijalaajen-
tamiskykyiseksi,niinettäsitävoidaankehittäämyösmuissavastaavanlaisissaontologia-
pohjaisissahuollonjakäyttötuentietojärjestelmissä.Semukaileeesikuviensa,konstruk-
tiivisen dialoginhallinnan, Interatin jaetun tietovaraston ja Deneken dialogiolioihin
perustuvankeskustelunsuunnittelun ominaisuuksia.
Mukautuminen eri käyttäjiin ja kommunikaatioväylän ominaisuuksiin esiteltiin tässä
työssä yhtenä dialoginhallinnan tavoitteena, mutta se jää toteutettavaksi ja tutkitta-
vaksijatkotutkimuksenparissa.Näistäpuutteistahuolimatta tällaistadialoginhallintaa
voidaan kehittää tässä työssä esiteltyjen menetelmien ja periaatteiden avulla yhä lä-
hemmäksi helposti jaluontevasti käytettävää keskustelujärjestelmää.
[1℄ 4M Projet. 4M - Mobile and Multilingual Maintenane Manual.
http://4m.s.hut./, 2005.
[2℄ JensAllwood. Linguisti Communiation as Ation and Cooperation. De-
partment of Linguistis, University of Gothenburg. Gothenburg Mono-
graphsinLinguistis 2.,1976.
[3℄ AnnCopestake,DanFlikinger,RobMalouf,SusanneRiehemann,andIvan
Sag. Translation usingminimal reursionsemantis. InProeedings of the
6th. International Conferene on Theoretial and Methodologial Issues in
Mahine Translation (TMI-95),1995.
[4℄ Matthias Deneke. Poliies and proedures for spoken dialogue systems.
ProeedingsoftheEACL2003WorkshoponDialogueSystems,Interation,
Adaptation and Stylesof Management., 2003.
[5℄ The DISC projet. Dialogue management introdution.
http://www.dis2.dk/slds/, 2000.
[6℄ Hewlett-Pakard Development Company. Jena semanti web framework.
http://jena.soureforge.net/doumentatio n.html, 2005.
[7℄ Juhani Hinkkanen. Tietotekniikan tulevaisuus, sellaisena kuin se ei
ollut (ainakaan vielä...). Esitelmä, julkaistu Aikakone-verkkolehdessä
http://www.aikakone.org/arkisto/tekoaly. htm , 1994.
[8℄ TimoHonkela. Self-OrganizingMapsinNaturalLanguageProessing.PhD
thesis, HelsinkiUniversityof Tehnology,1997.
[9℄ Kristiina Jokinen. Goal formulation based on ommuniative priniples.
In Proeedings of the 16th onferene on Computational linguistis, pages
598603, Morristown, NJ, USA,1996.Assoiation forComputational Lin-
guistis.
[10℄ Kristiina Jokinen. Adaptation and userexpertisemodelling inAthosMail.
UniversalAess inthe Information Soiety,4,2005.
[11℄ Kristiina Jokinen, Antti Kerminen, Mauri Kaipainen, Tommi Jauhiainen,
Graham Wilok, Markku Turunen, Jaakko Hakulinen, Jukka Kuusisto,
and Krista Lagus. Adaptive dialogue systems interation withinterat.
Proeedings ofthe3rd SIGDialWorkshopon DisourseandDialogue,2002.
tioninaspokendialoguesystem. J.vanKuppeveltandR.W. Smith(eds.)
Current andNew Diretions in Disourse andDialogue. Kluwer Aademi
Publishers,pages213234, 2003.
[13℄ Harri Jäppinen, Timo Honkela, Heikki Hyötyniemi, and Aarno Lehtola.
Hierarhial multilevel proessingmodelfor natural language database in-
terfae. The 4th Conf. Artiial Intelligene Appliations, CAIA 88. San
Diego 1988, IEEE (The Computer Soiety of the IEEE), pages 332337,
1988.
[14℄ Antti Kerminen and Kristiina Jokinen. Distributed dialogue management
ina blakboard arhiteture. Proeedings of the Workshop Ontologies and
Multilingualityin User Interfaes,4:730, 2003.
[15℄ MihaelF. MTear. Spoken dialogue tehnology: toward the onversational
userinterfae. Springer-Verlag London Limited,2004.
[16℄ David Milward and Martin Beveridge. Ontology-based dialogue systems.
A.Jönsson,J.Alexandersson,T.Beker,K. Jokinen,andM.Merkel(eds.)
Proeedings of the IJCAI 2003 Workshop on Knowledge and Reasoning in
Pratial Dialogue Systems, 2003.
[17℄ JohnF.Sowa. KnowledgeRepresentation:Logial,Philosophial,andCom-
putational Foundations. Brooks Cole Publishing Co., Pai Grove, CA,
2000.
[18℄ David R.Traum. A Computational Theory of Grounding in Natural Lan-
guage Conversation. PhD thesis, Department of Computer Siene, Uni-
versityof Rohester, 1994.
[19℄ W3C. RDF voabulary desription language 1.0: RDF shema. W3C
Reommendation10February2004,http://www.w3.org/TR/rdf-shema/,
2004.
[20℄ GrahamWilokand Kristiina Jokinen. Generating responses and expla-
nationsfromRDF/XML andDAML+OIL. A.Jönsson,J. Alexandersson,
T. Beker, K. Jokinen, and M. Merkel (eds.) Proeedings of the IJCAI
2003 Workshop on Knowledge and Reasoning in Pratial Dialogue Sys-
tems,2003.
Ohjelmalistaus1.Java-kielinenesimerkkiohjelma,jokakäyttääRDF-rakennettaolioidentie-
tovarastona.
import java.io.*;
import java.util.*;
import om.hp.hpl.jena.rdf.model.*;
import om.hp.hpl.jena.shared.*;
import om.hp.hpl.jena.voabulary.*;
import java.io.*;
lass User
{
stati publi String myDomain="http://mydomain.org/ns#";
publi Resoure myRes;
publi User (Model m, String name) {
myRes = m.reateResoure().
addProperty(RDF.type,m.getResoure(myDomain+"User"));
myRes.addProperty(RDFS.label, name);
}
publi User (Resoure r) {
myRes = r; }
publi java.util.List listNetworks()
{
ArrayList l = new ArrayList();
StmtIterator i =
myRes.listProperties(myRes.getModel().
getProperty(myDomain+ "uses"));
while (i.hasNext())
l.add(new Network(i.nextStatement().getResoure()));
return l;
}
publi String report()
{
String rep = "User "+getName()+" uses following networks:\n";
List networks = listNetworks();
for (int i=0; i<networks.size(); i++) {
Network = (Network) (networks.get(i));
rep += " - "+.getName() + "\n";
}
return rep;
publi String getName() {
return myRes.getRequiredProperty(RDFS.label).getString(); }
}
publi lass Network
{
stati publi String myDomain="http://mydomain.org/ns#";
publi Resoure myRes;
publi Network(Model m, String name) {
myRes = m.reateResoure().
addProperty(RDF.type,m.getResoure(myDomain+"Network"));
myRes.addProperty(RDFS.label,name);
}
publi Network(Resoure r) {
myRes = r; }
publi String getName() {
return myRes.getRequiredProperty(RDFS.label).getString();
}
publi void addUser(User user) {
user.myRes.addProperty(myRes.getModel().getProperty(myDomain,"uses"),
myRes);
}
publi java.util.List listUsers()
{
ArrayList l = new ArrayList();
StmtIterator i =
myRes.getModel().
listStatements(null,myRes.getModel().
getProperty(myDomain+ "uses"),myRes);
while (i.hasNext())
l.add(new User(i.nextStatement().getSubjet()));
return l;
}
publi String report()
{
String rep = getName()+" omputer network has users:\n";
for (int i=0; i<users.size(); i++)
{
User p = (User) (users.get(i));
rep += " - " + p.getName() + "\n";
}
return rep;
}
publi stati java.util.List listUsersIn(Model mod)
{
ArrayList l = new ArrayList();
StmtIterator i =
mod.listStatements(null,RDF.type,
mod.getResoure(myDomain+ "User"));
while (i.hasNext())
l.add(new User(i.nextStatement().getSubjet()));
return l;
}
publi stati java.util.List listNetworksIn(Model mod)
{
ArrayList l = new ArrayList();
StmtIterator i =
mod.listStatements(null,RDF.type,
mod.getResoure(myDomain+ "Network"));
while (i.hasNext())
l.add(new Network(i.nextStatement().getSubjet()));
return l;
}
stati publi void main(String[℄ args)
{
Model m = ModelFatory.reateDefaultModel();
// build user data
User mortti = new User(m,"Mortti Hiiri");
User vertti = new User(m,"Vertti Hiiri");
User admin = new User(m,"Administrator");
// introdue the ampus networks
Network lingd = new Network(m,"Dept of Linguistis");
Network omps = new Network(m,"Institute of Computer Siene");
Network maint = new Network(m,"Maintenane");