Dialoginhallinnanoleellinentoimintaonjaettukahteenpakkaukseen.Ensimmäinenpak-
kaussisältää4M-järjestelmänvaatimienrajapintaluokkientoteutuksensekäaliohjelmat
jotka kutsuvat 4M:ndiagnostisia komponentteja, luonnollisenkielen tuottoa,syötteen-
jäsennintä jaontologiapalveluita. Toinen pakkaus sisältäädialoginhallintaytimen, joka
toteuttaa määrittelyn mukaisen dialoginhallinta-algoritmin, keskustelumuistin ja kes-
kustelunsuunnittelun.
Dialoginhallinta näkyy4M-järjestelmässä erityisenä abstraktinaoliona, jolle onmääri-
teltyrajapintaAbstratDM.Rajapintamoduulihuolehtii tiedonvälityksestäkäyttäjära-
japinnanlisäksi myöstaustalla toimiviinpäättelysovelluksiin.
Kuvassa 14 on esitetty 4M-järjestelmän komponentit, joiden kanssa dialoginhallinta
vaihtaainformaatiota.Kuvassadialoginhallinnanvasemmallapuolellaolevatkomponen-
titkäyttävätviestinnässäagendamuotoisiapuheenvuorojakuvaaviaRDF-tietorakenteita
ja oikealla puolella olevat komponentit käyttävät viestinnssäsemanttisen ongelmanku-
vauksen tietorakennetta elikehystä.
Kuvassa 15on esitettyrajapintoihin liittyviäapuluokkia,joita dialoginhallinta käyttää
käyttäjä- ja päättelyrajapinnan komponenttien kanssa. AbstratDMPartner on käyt-
täjäistunnonabstrakti rajapinta, jotadialoginhallinta kutsuu esittäessään luonnollisel-
lakielellä vastauksiakäyttäjälle.InputAnalyer-rajapinnan kautta dialoginhallinta kut-
suu Cparse-jäsennintä,jokajäsentääjatulkitseekäyttäjänluonnollisella kielelläesittä-
män syötteen merkkijonosta agendamalliseksi RDF-rakenteeksi. Dialoginhallinta käyt-
tää NLGServie-rajapinnan toteuttavaa luonnollisen kielen tuottokomponenttia, jota
varteneitarvitaerityistäinformaatiotavälittävääoliota,sillätuottometodiottaaargu-
mentikseen Jena-kirjaston RDF-mallin japalauttaa tuloksensa merkkijonon.
Päättelykomponenttien kanssadialoginhallinta välittäätietoaerityisillä FRQuery-raja-
pinnan toteuttavilla SimpleFRQuery-olioilla, jotka sisältävät viittauksen jaettuun ke-
hykseen eli blakboard-tyyppiseen ongelmankuvauksen RDF-malliin. LisäksiFRQuery-
kyselyoliossakulkeeaiemmistakäyttäjänjajärjestelmänpuheenvuoroistajaagendoista
koostuva konteksti-informaatio ontologiapohjaisen IR-palvelunhakukriteeriksi.
Kun uusi käyttäjäistunto alkaa, integraatiokomponentti luo uuden dialoginhallintao-
lion. Tämä luotu dialoginhallintaolio saa käyttöönsä rajapinnan AbstratDMPartner,
jonkakauttalähetetään käyttäjälle vastausviestit.DialogueManager -oliokäynnistyes-
säänluomyöskeskusteluistunnostavastaavanydinolion(Core),jokavastaakeskustelun
ylläpidosta jakeskustelunmallintamisesta.
DialogueManager-luokka ohjaaytimen luomatkäyttäjälle kohdistuvat vastauksetkäyt-
täjärajapintaan integraatiokomponentin avulla. Mikäli ytimen tuottama vastaus ei ole
kielellisessä muodossa, vaan semantiikkaa kuvaava RDF-agendamalli, kutsutaan NLG
Servie -rajapinnanavullaluonnollisen kielen tuottokomponenttia, jokamuodostaase-
mantiikkaa vastaavan lauseen käyttäjän oletuskielellä. Käyttäjärajapintaan lähetettä-
PDA-päätelaitteen näytöllä vastauksenyhteydessä.
KäyttäjänantamatsyötteetsaapuvatkäyttäjärajapinnastatekstimuotoisinaDM-oliolle.
Koska dialoginhallintaydin käsittelee käyttäjän syötteitä normaalitilassa vain semant-
tisesti koodattuina, RDF-muotoisina agendoina, tarvitaan syötteenjäsennintä jäsentä-
määnluonnollisellakielelläesitettyongelmankuvauskieliriippumattomaanagendamuo-
toon.Tähän jäsennykseen DialogueManager-olio käyttää Cparse-ohjelmaa, jotavarten
on laadittuerityinen jäsennyskielioppi 4M-järjestelmän agendamuotoa varten.
Dialoginhallinta välittää tietoa käyttäjän lisäksi myös taustasovellusten kanssa. 4M-
järjestelmän dialoginhallinta käyttää rinnakkain taustasovelluksia fats reasoner -olion
(jatkossa FR) avulla, joka vastaa Jaspis-arkkitehtuurin evaluaatiokomponentteja jotka
valitsevat rinnakkaisten agenttien tuloksista käyttökelpoisimmat. FR-komponentti toi-
miivastaavalla tavalla käyttäenapuna heuristiikkaa joka suosiidiagnostisten päättely-
yksiköidenspesifejäongelmakohtaisiavastauksia,muttakäyttäätarpeentullenmahdol-
lisia tiedonhaun (Information Retrieval, IR)tuloksia.
Dialoginhallintaydin on suunniteltu taustasovelluksista riippumattomaksi niin, että se
pyrkiikuvaamaan keräämänsä ongelmaakoskevantietämyksenRDF-mallina, kehykse-
nä.RajapintaoliovälittääydinolionmuodostamatongelmankuvauksetFR-komponentin
ymmärtämään Java-oliomuotoon (FRQuery). Kyselyolio sisältääRDF-mallin lisäksi ai-
empien puheenvuorojen semanttisista kuvauksista poimitut ontologialuokkien nimet,
joita käytetääntiedonhaussa IR-komponentin avulla.
FR-komponentiltapalaavatvastauksetpuretaanFR-kutsunpalautettuaajovuorondia-
loginhallinnalle. Dialoginhallinnan ydin vastaanottaa päivitetyn ongelmankuvauksen
RDF-mallina. Tähän malliin diagnostiset komponentit ovat voineet lisätä kysymyk-
siä,jotka liittyvät esimerkiksi ongelmaympäristön komponenttien tilan tarkistamiseen,
kuten laitteen toimintatilaan, sekä toimintaohjeita ongelman ratkaisuksi. IR-palvelun
valitsemat ohjeet säilytetään DialogueManager-olion muistissa. Ydinolio tarkistaa vä-
liajointässä muistissaolevien ohjeidenlukumäärää, jailmoittaa käyttäjälle mikälilöy-
tyneitäohjeita on luettavissa.
Dialoginhallintaydin
YdinolioDMCoretoteuttaadialoginhallintakomponentinviestisilmukan.Setoimii perus-
tana jatketulle dialoginhallinnan ytimelle. DMCore tarjoaa DialogueManager-luokan
OntoDM + analyseInput(String str)
DPlanPhase
DPlanner
DMem DRef DMCore
+ processInput(String str)
DialogueManager Reasoner interface User Interface NLG / IA interface Core
Dialogue Modeling Dialogue Planning
Kuva 16:Dialoginhallintaydin jasenkeskeisetapuluokat UML-kaaviona
kanssa viestimiseen tarvitut perustoiminnot. Se huolehtii käyttäjärajapinnasta saapu-
vien syötteidenlisäämisestä käsittelyjonoon japäinvastaiseen suuntaanjärjestelmän ja
ytimen tuottamienviestien välittämisestä käyttäjärajapinnalle. Setarjoaa myösyhtey-
den rajapintaluokkaan ja sitä kautta päättelykomponenteille säilyttämällä käyttäjäis-
tunnon DialogueManager-olion viitteen.
VarsinainendialoginhallinnanydinonrakennettumoduuliinOntoDM,jokajatkaaDMCore-
rungontoteutusta(ks.kuva 16).Ydinhuolehtii käyttäjänsyötteenyhdistämisestäkon-
tekstiin, keskustelun suunnittelusta, tiedon eristämisestä taustasovelluksien paramet-
reiksijavastauksen suunnittelustamuodostetunkeskustelusuunnitelman jakeskustelu-
muistin perusteella.
Kuvassa 17onesitetty,kuinkaDM-ytimentoimintaperustuuaiempaan keskustelunti-
laanjakäyttäjänantamansyötteenvaikutukseenkeskustelumuistinjaongelmankuvauk-
sentilaan.Vastaavastipäättely-yksiköidentuottamainformaatiovaikuttaakeskustelun
kontekstin rinnalla käyttäjälle tuotettavaan vastaukseen.
Dialoginhallinnan ytimen tehtävänä on reagoida käyttäjältä saatuun syötteeseen ja
aloittaa sen perusteella keskustelustrategian valinta ja dialogipolun suunnitelman päi-
vittäminen.Dialogipolunsuunnitteluaohjaavatdialogisäännöt.Yksinkertaistettunadia-
logisäännöt kuvaavat joissakin keskustelun tilanteissa mahdollisia suoritettavia alkeis-
toimintoja sekä rajoitejoukkoja, jotka määrittävät keskusteluntilanteita joissatoimin-
toavoidaankäyttää jamäärittävät ne keskustelutilanteeseenmuutokset joidenvoidaan
olettaa tapahtuvan sääntöön liittyvän toiminnon suorittamisen jälkeen. Keskustelun-
suunnittelun yksityiskohtia käsitelläänalaluvussa4.4.
4) 3), 6)
päivitysoperaatiot Syöteagenda
Vastausagenda
Kehys 2)
Luonnollisen kielen generointi
Päättely−yksikkö Syötteenjäsennys
Referenttien tilojen
Dialoginhallinta
1) 5)
Keskutelunsuunnittelu Keskustelumuisti
Kuva 17:Dialoginhallinnan ydintoiminnot
Dialoginhallinnan ytimen toiminta tapahtuu seuraavassajärjestyksessä.
1. Käyttäjän syötteen purkuja jäsennys keskustelumuistiin
Käyttäjän antamatväittämätjakysymyksetkuvataanagendoistakeskus-
telumuistiin referenteiksi.
2. Kehyksen muodostaminenkeskustelumuistista
Keskustelumuistissailmenevätvastauksetsekäkäyttäjänantamatkuvauk-
set ongelmaympäristöstä lisätään kehyksiin ontologian mukaisessa RDF-
rakenteessa, jotakäytetäänmyös agenda-muotoisessa puheenvuoron mal-
lintamisessa.
3. Keskustelumuistin referenttien tilojen päivitys
Keskustelumuistin topi-käsitteet käydään läpi. Mikäli käyttäjä on pu-
heenvuorossaan ottanut uuden topiikin ja jättänyt vanhan topiikin käyt-
tämättä, merkitään keskustelun historiaan kyseisen topiikin loppuminen
aiempaankäyttäjänsyötteeseen.
Uudetkeskusteluuntuodutkäsitteetmerkitäänkeskustelumuistissanewinfo-
ominaisuudella.Mikälinewinfo-käsiteonollutmolempienosapuoltenkäy-
tössä ja viimeisessäkäyttäjän syötteessä ei ole käsitteeseen liittyvää kor-
jausta,siirretääntämä uusikäsiteperustetuksi (grounded).
4. Taustasovellusten tulostenanalysointi jakeskustelunsuunnittelu
Päättely-yksiköltätulleet ilmoituksetjakysymyksetkuvataankeskustelu-
muistiin esitettäviksi.
keskustelumuististapuretaandialogisääntöjenmukaanarvioidunkorkeim-
manprioriteetin puhunnoskäyttäjälle esitettäväksi.
6. Diskurssireferenttienpäivittäminen
Keskustelumuistin diskurssireferenttien tiloja päivitetään kohdan 3) mu-
kaisesti