• Ei tuloksia

T oteutuksen arviointi

In document PDF www.ling.helsinki.fi (sivua 77-87)

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");

In document PDF www.ling.helsinki.fi (sivua 77-87)