• Ei tuloksia

Dialogihallinnan ohjelmallinen toteutus

In document PDF www.ling.helsinki.fi (sivua 52-57)

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

In document PDF www.ling.helsinki.fi (sivua 52-57)