sammanfattning - göteborgs universitetspraakdata.gu.se/carola/publikationer/rose.pdf ·...

114

Upload: phungquynh

Post on 25-Apr-2018

219 views

Category:

Documents


4 download

TRANSCRIPT

Sammanfattning

This study, which was conducted at TeliaSonera, Uppsala, describes and illust-rates multimodality from a telecom point of view. The main subject of investi-gation is mobile telephony and we have focused on user advantages. We presentan extensive feasibility study containing a historic view as well as a commercialperspective of multimodality. We also examine the state of the art in techniquesand standards for development of multimodal interfaces for mobile terminals.

As a practical result of this project, we have constructed ROSE, a multimodalconference room booking agent for a cellular phone. The main platform used isTeliaSonera’s Java based SSC, which handles call control and voice browsing.To create prerequisities for multimodal communication we have extended SSCwith a graphical component. This is capable of designing and presenting visualoutput in the display of a cellular phone.

Scientific studies show that users prefer multimodal interfaces when interactingwith computer systems. This study concludes that mobile devices are very sui-table for multimodal applications. However, the development tools for creatingsuch applications are not yet powerful enough to achieve general solutions, whichis important for reaching a wide clientele. The manufacturers of cellular pho-nes also limit the advance of multimodality on the market today; multimodalinterfaces has not yet become a subject of interest for the leaders of this indu-stry. Nevertheless, there are signs that these problems will be solved in the nearfuture.

Vi onskar framfora vart tack till foljande personer:

Viktoria Ahlbom, for givande dialog och dialogdesign.

Therese Arvidsson, for prompt respons pa forfragan om inspelning.

Alf Bergstrand, for uppiggande diskussioner och syntaktisk hjalp.

Johan Boye, for inspiration och information om TeliaSoneras forskningsarbete.

Gunnar Bylund, for positiv vagledning och en aldrig svikande tilltro till multimo-

dala granssnitt.

Johan Drettner, for gott samarbete och nyttiga tankar om vart projekt.

Kristina Ejstes-Svensson, for fin hjalp med demoinspelningen.

Stina Ericsson, for god handledning med valgrundade kommentarer och manga

anvandbara tips.

Lars-Gunnar Fallman, for stort engagemang, generos laneverksamhet och ovarderlig

erfarenhet.

Kerstin Georgsson, for vanligheten att ge Carola Uppsalatak over huvudet.

Fredrik Lemming, for trevligt grannskap och ett uppskattat intresse for vart arbete.

Eva Loven, for fortroende och omtanksamhet samt chansen att mota alla trevliga

medarbetare.

My Nystrom, for det basta sallskap man kan tanka sig.

Fredrik Sarapik, for god hjalp med teknik, stor kunskap och en del knep; tack for allt!

Jessica Villing, for hjalpsam sista-minuten-handledning med skrivandet.

Till sist vill vi tacka all ovrig personal pa TeliaSonera i Uppsala for ett varmtmottagande och en rolig och givande period i Munin.

Forfattarna

i

Innehall

1 Introduktion 11.1 Syfte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Vad ar multimodalitet? . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Ett vetenskaplig perspektiv . . . . . . . . . . . . . . . . . 21.2.2 En marknadsanpassad definition . . . . . . . . . . . . . . 21.2.3 Multimodalitet i vart projekt . . . . . . . . . . . . . . . . 3

1.3 Definitioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.1 Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.2 Direkt manipulation . . . . . . . . . . . . . . . . . . . . . 41.3.3 DTMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.4 Klient/server . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.5 Synergistisk tolkning . . . . . . . . . . . . . . . . . . . . . 51.3.6 Talsvar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Metod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4.1 Presentation av applikationen . . . . . . . . . . . . . . . . 61.4.2 Tillvagagangssatt . . . . . . . . . . . . . . . . . . . . . . . 7

1.5 Disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 En historisk tillbakablick 102.1 Put that there - ett tidigt multimodalt system . . . . . . . . . . . 102.2 Synergistisk kommunikation . . . . . . . . . . . . . . . . . . . . . 112.3 Standardisering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Multimodala system pa 2000-talet . . . . . . . . . . . . . . . . . 13

2.4.1 SmartKom . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4.2 EURESCOM . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5 Sammanfattande diskussion om multimodalitetens historik . . . . 15

3 Multimodalitet pa marknaden 163.1 Multimodalitet ur anvandarperspektiv . . . . . . . . . . . . . . . 16

3.1.1 Anaforer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.2 Begransning av kontext . . . . . . . . . . . . . . . . . . . 173.1.3 Informationspresentation . . . . . . . . . . . . . . . . . . 173.1.4 Felhantering och grounding . . . . . . . . . . . . . . . . . 183.1.5 Mojlighet att valja indatamodalitet . . . . . . . . . . . . . 183.1.6 Mansklig kommunikation . . . . . . . . . . . . . . . . . . 19

3.2 Kartbaserade system . . . . . . . . . . . . . . . . . . . . . . . . . 203.2.1 Interaktionsformer . . . . . . . . . . . . . . . . . . . . . . 203.2.2 GPS-system . . . . . . . . . . . . . . . . . . . . . . . . . . 22

ii

3.3 Foretag med multimodal anknytning . . . . . . . . . . . . . . . . 233.3.1 Nuance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3.2 Kirusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3.3 Opera Software/IBM . . . . . . . . . . . . . . . . . . . . . 243.3.4 V-enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.5 Apple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4 W3C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.4.1 VoiceXML . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.4.2 Multimodalitet i W3C . . . . . . . . . . . . . . . . . . . . 26

3.5 Mobila natverk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.5.1 GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.5.2 CDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.5.3 IP-telefoni . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.6 Mobiltelefonmodeller . . . . . . . . . . . . . . . . . . . . . . . . . 303.7 Sammanfattande diskussion om multimodalitet pa marknaden . . 32

4 Design 344.1 Demoscenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2 Designmassiga losningar . . . . . . . . . . . . . . . . . . . . . . . 35

4.2.1 Referens till rum . . . . . . . . . . . . . . . . . . . . . . . 354.2.2 Indataformer . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.3 Utdataformer . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3 Resurser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.3.1 SSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.3.2 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.3.3 VoiceXML . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.3.4 Nuance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.4 Sammanfattande diskussion om designen av ROSE . . . . . . . . 44

5 Implementation 475.1 Dialogspecifikation . . . . . . . . . . . . . . . . . . . . . . . . . . 475.2 ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2.1 Grammatikreglernas form . . . . . . . . . . . . . . . . . . 515.2.2 Grammatikregler i ROSE . . . . . . . . . . . . . . . . . . 51

5.3 Tjansteserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3.1 Applikationsstruktur . . . . . . . . . . . . . . . . . . . . . 535.3.2 Tolkning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.3.3 VoiceXML-dokument i ROSE . . . . . . . . . . . . . . . . 545.3.4 Applikationsmiljo . . . . . . . . . . . . . . . . . . . . . . . 55

5.4 Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.5 MIDlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.5.1 Grafiskt granssnitt . . . . . . . . . . . . . . . . . . . . . . 575.5.2 Anslutning till servleten . . . . . . . . . . . . . . . . . . . 575.5.3 Uppringning till SSC . . . . . . . . . . . . . . . . . . . . 585.5.4 Mottagande av bildnamn . . . . . . . . . . . . . . . . . . 585.5.5 Visning av bilder . . . . . . . . . . . . . . . . . . . . . . . 59

5.6 Sammanfattande diskussion om implementationen av ROSE . . . 60

iii

6 Diskussion och slutsatser 626.1 Utvardering av ROSE . . . . . . . . . . . . . . . . . . . . . . . . 62

6.1.1 Anvandarvanlighet . . . . . . . . . . . . . . . . . . . . . . 626.1.2 Grafisk komponent . . . . . . . . . . . . . . . . . . . . . . 636.1.3 TeliaSoneras nytta av projektet . . . . . . . . . . . . . . . 64

6.2 Integration med SSC:s miljoer . . . . . . . . . . . . . . . . . . . 656.2.1 Gemensam lank mellan SSC och MIDlets . . . . . . . . . 666.2.2 Ihopkoppling av data- och telekanaler . . . . . . . . . . . 676.2.3 Brandvaggar . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.3 Forutsattningar for multimodalitet i mobiltelefoner . . . . . . . . 696.3.1 Standardisering av applikationsmiljoer . . . . . . . . . . . 696.3.2 Val av terminal for ROSE . . . . . . . . . . . . . . . . . . 716.3.3 Framtidens mobiltelefonteknik . . . . . . . . . . . . . . . 71

6.4 Vidareutveckling . . . . . . . . . . . . . . . . . . . . . . . . . . . 726.4.1 Ytterligare funktionalitet . . . . . . . . . . . . . . . . . . 726.4.2 Identifikation . . . . . . . . . . . . . . . . . . . . . . . . . 736.4.3 Grafisk metod . . . . . . . . . . . . . . . . . . . . . . . . 736.4.4 Databashantering . . . . . . . . . . . . . . . . . . . . . . . 736.4.5 Tolkning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

A Kallkod till ROSE 81A.1 ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

A.1.1 ROSE.gsl . . . . . . . . . . . . . . . . . . . . . . . . . . . 82A.2 Tjansteserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

A.2.1 VoiceXML-dokument . . . . . . . . . . . . . . . . . . . . . 86A.2.2 exit.jsp . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

A.3 Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96A.4 MIDlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

iv

Figurer

2.1 Anvandning av Bolts system i The Media Room. . . . . . . . . . 112.2 Det multimodala granssnittet i MATCHKiosk. . . . . . . . . . . 12

3.1 Begransning av kontext i MATCH. . . . . . . . . . . . . . . . . . 183.2 Datorprogrammet Synfaces anvandargranssnitt. . . . . . . . . . . 193.3 Roboten Einstein anvander manskliga uttrycksmedel. . . . . . . 203.4 Olika indataformers effektivitet i olika domaner. . . . . . . . . . . 223.5 TomTom 3 - en roststyrd GPS i en bil. . . . . . . . . . . . . . . 233.6 Apple iPhone - portratt- och landskapslage. . . . . . . . . . . . . 25

4.1 /03.png - ROSE visar rummens status. . . . . . . . . . . . . . . 354.2 /04.png - ROSE visar vilka lediga rum som uppfyller anvandarens

onskan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3 /06.png - ROSE visar information om det valda rummet. . . . . 374.4 /08.png - ROSE visar en bekraftelse pa att rummet ar bokat. . . 374.5 Strukturen for SSC -plattformen. . . . . . . . . . . . . . . . . . . 41

5.1 Den tankta uppbyggnaden av ROSE. . . . . . . . . . . . . . . . . 475.2 Flodesdiagram for huvuddialog. . . . . . . . . . . . . . . . . . . . 495.3 Flodesdiagram for felhantering. . . . . . . . . . . . . . . . . . . . 505.4 Filstrukturen i ROSE. . . . . . . . . . . . . . . . . . . . . . . . . 565.5 /01.png - Valkomstbild i ROSE. . . . . . . . . . . . . . . . . . . 58

6.1 En tankt uppbyggnad for ROSE i SSC:s produktionsmiljo. . . . 66

v

vi

Kapitel 1

Introduktion

I ett multimodalt system kan anvandaren ge indata pa fler an ett satt. Watersartikel Towards Multimodal: A Telecom Perspective [89] ar en av manga sompekar pa mobiltelefonins framfart och relevansen hos multimodala granssnittfor framtidens mobiltelefonanvandning. Da tal ar en kommunikationsform somlamnar anvandarens hander fria medan indata via pennor och knapptryckningkraver att man anvander just handerna, lampar sig mobiltelefoner och andramobila redskap mycket val for multimodala applikationer [85].

Som ledande telekomforetag i Sverige skulle TeliaSonera kunna vinna mycket paatt forfoga over multimodala losningar. Under senare ar har foretaget intresse-rat sig for multimodal teknik pa forskningsniva, men man har annu inte anvantnagot multimodalt system kommersiellt.

1.1 Syfte

Syftet med detta examensarbete har utarbetats i samarbete med TeliaSoneraoch kan delas upp i tva huvuddelar. Forst skall en forstudie tas fram som be-skriver dels hur multimodal kommunikation kan underlatta anvandningen avinteraktiva system och dels hur dagens tekniska forutsattningar for multimo-dal teknik ser ut. Utover undersokningsdelen skall en demoapplikation designas,implementeras och utvarderas. Denna applikation skall exemplifiera resultatenav forstudien. De omraden som framst ar intressanta for TeliaSonera ar blandannat telenat, mobiltelefoni och talsvarslosningar.

For andamalet att demonstrera multimodal teknik for kunder anvander Te-liaSonera idag en videosekvens fran InterVoice dar en man pa en flygplats bokaren flygplansstol med hjalp av en mobil terminal. Eftersom flygplatsdemon intear egenproducerad finns ett behov att ersatta denna med en ny demo som byg-ger pa de resurser som finns inom foretaget.

Vart arbete syftar till att presentera och illustrera fordelar med multimodalteknik fran ett anvandarvanligt perspektiv. Arbetet kommer aven att ge enlasare som ar intresserad av att utveckla multimodala system en inblick i hurdetta kan goras, samt vilka resurser som idag finns att tillga.

1

1.2 Vad ar multimodalitet?

Begreppet multimodalitet har ingen sjalvklar definition, de flesta artiklar ommultimodala system innehaller en sektion dar forfattaren anger hur lasaren bortolka begreppet i det aktuella fallet. Det finns dock ett tydligt monster forungefar vad som brukar kravas av multimodala granssnitt i vetenskapliga sam-manhang. Vi tar i denna sektion upp tva vetenskapliga definitioner som tackerin nagra av de viktigaste standpunkterna har, samt en mer marknadsanpassadvariant. Slutligen redogor vi for vilken definition vi haller oss till i detta arbeteoch motiverar detta val.

1.2.1 Ett vetenskaplig perspektiv

Om man forsoker att definiera den engelska termen “Multimodal” ordagrant,far man “multi”, som refererar till mer an en, och “modal”, som antingen kanharledas ifran modalitet (modality) eller modus (mode). Nigay och Coutaz [50]har satt in dessa begrepp i ett tekniskt sammanhang och menar att modali-tetsaspekten syftar till vilka typer av kommunikationskanaler som systemet kanhantera, alltsa de satt pa vilka anvandaren kan ge information. Modus forklarassom ett satt att tolka indata fran anvandaren for att extrahera mening. Ett mul-timodalt system behover alltsa innehalla tolkningsmekanismer for att hanterainformation av flera typer i kombination, snarare an att tolka de olika typernavar for sig.

Oviatt definierar multimodala granssnitt pa foljande vis:

‘Multimodal interfaces process two or more combined user input modes - suchas speech, pen, touch, manual gestures, gaze, and head and body movements -in a coordinated manner with multimedia system output. They are a new classof interfaces that aim to recognize naturally occurring forms of human languageand behavior, and which incorporate one or more recognition-based technologies(e.g., speech, pen, vision).’ ( [57], s. 291)

Aven denna definition sager att indata maste kunna ges som en kombination avolika modaliteter pa ett koordinerat satt. Dessutom stalls krav pa utdatapre-sentationen som maste vara multimedial, det vill saga anvanda minst tva olikamodaliteter.

Nigay och Coutaz skiljer multimodala system fran multimediasystem, som ienlighet med den ursprungliga definitionen innehaller verktyg for att hanteraindata av olika modaliteter, men saknar verktyg for att pa hog abstraktionsnivaextrahera mening fran olika informationskanaler. Ur en anvandares perspektivmenar man dock att multimediasystem kan framsta som multimodala, da meran ett manskligt sinne anvands vid kommunikation med systemet.

1.2.2 En marknadsanpassad definition

Pa den kommersiella marknaden ar det oftast mindre viktigt an i forskningsvarldenatt uppfylla fordefinierade krav, da kundbehoven ar den drivande faktorn. Paforetaget Opera Software ASA:s hemsida[8] star att lasa:

2

Multimodal technology allows the interchangeable use of multiple forms of inputand output, such as voice commands, keypads, or stylus – in the same interac-tion. (http://www.opera.com/products/devices/multimodal/)

Vi tolkar Operas anvandning av begreppet “interaktion” som nagot som syftarpa en hel session med systemet, snarare an en dialogtur. Vi grundar detta anta-gande pa hur kommunikationen fungerar i Operas uttalat multimodala produkt,Multimodal Browser (se sektion 3.3.3). En anvandare av ett system byggt efterdenna norm skall alltsa kunna vaxla mellan olika modaliteter, men systemetbehover inte erbjuda mojlighet att anvanda mer an en modalitet i taget. Dettagar emot de traditionella definitionerna av multimodala system, men motsvararNigays och Coutaz’ definition av multimediasystem.

1.2.3 Multimodalitet i vart projekt

Vi har for detta projekt valt Opera Softwares definition av multimodalitet. Dettamotiveras framst av att denna definition ligger narmast den typ av applikationsom vi skall utveckla som del av projektet. Nigays och Coutaz’ och Oviatts re-spektive definitioner ar dock relevanta pa ett teoretiskt plan, och vi kommer attaterknyta till dessa i denna rapport. Nagra orsaker till att Operas definition arlampligare for var applikation an Oviatts respektive Nigays och Coutaz’ forslagtas upp har.

Anvandarfokus

Ett stort fokusomrade for demoapplikationen ar anvandarvanlighet. Darfor ardet logiskt att valja en definition i enlighet med den uppfattning anvandare iallmanhet har av multimodalitet. Nigay och Coutaz papekar att deras definitionav multimodalitet ar systemorienterad, och att ett anvandarcentrerat perspektivkan leda till en annorlunda definition. Man ger ocksa exempel pa ett multimedia-system, NeXT, som i deras ogon alltsa inte ar multimodalt, men erkanner attdet ur en anvandares synvinkel uppfattas som multimodalt eftersom man kaninteragera med systemet med flera olika modaliteter.

Terminaler

Da var applikation ar tankt att fungera som en demo i en kommersiell miljobehover vi vid valet av definition aven ta hansyn till vilka terminaler som arpassande for kommersiella demonstrationer. Dessa bor vara lattillgangliga sa attkunder latt kan ta till sig demons budskap. Forskningsprojekt har ofta tillgangtill ovanliga och komplicerade faciliteter som skiljer sig en hel del ifran de red-skap som TeliaSoneras kunder anvander dagligen. Dessutom skall demon varaenkel for representanter for TeliaSonera att presentera for kunder, vilket kraveratt den slutgiltiga terminalen bor vara barbar. For de enklare terminaler somkundkretsen har stort intresse for och som ar barbara ar det mycket svart atthitta plattformar och programvara for att kunna gora en synergistisk tolkning(se definition 1.3.5) av olika kombinationer av indata, som vetenskapliga defini-tioner oftast kraver.

3

Indata/utdata

De rent praktiska mojligheterna att ge indata i kommunikation med ovan namn-da sorts terminaler ar relativt begransade. Till exempel ar alla de indatamoda-liteter som Oviatt tar upp, utom de tre forsta, helt otankbara att tolka for enmobiltelefon eller en handdator. De utvecklingsverktyg som TeliaSonera forfogarover bygger pa ofta nyttjade standarder som Java och VoiceXML. Dessa erbju-der inte nagon tolkningsmojlighet for gester, ansiktsrorelser och liknande. Vadgaller presentation av utdata finns dock stora mojligheter; mobiltelefoner ochhanddatorer har till exempel ofta en relativt stor skarm dar visuell utdata kanges.

Vi har aven undersokt vetenskapliga studier pa amnet indata/utdata i kom-munikation med den typ av multimodala system som ar intressanta for oss attutveckla, se sektion 3.2.1. Vi kom fram till att denna typ av system inte har ettstort behov av att kunna gora en synergistisk tolkning av indata, daremot kanman vinna en hel del genom att inkludera en grafisk modalitet som utdatakanal.

De indataformer som tillats i var applikation ar tal och knapptryckning, dockgors ingen synergistisk tolkning av dessa indataformer. Om man anvander taloch knapptryckning tillsammans tolkas endast knapptryckningskommandot. Somutdata anvands bilder och tal, oftast i samma dialogtur.

1.3 Definitioner

I denna sektion definieras nagra av de ovriga begrepp som kan vara viktiga attkanna till vid lasning av denna rapport.

1.3.1 Agent

Agenter definieras av Luck och d’Inverno [45] som en subklass till objekt somingar i datasystem. Objekt ar entiteter som har en mangd kompetenser (ca-pabilities), primitiver som objektet kan utfora. Signifikant for agenter ar attde utover kompetenser har mal och agerar utifran en ambition att uppna des-sa. Luck och d’Inverno definierar ocksa autonoma agenter som agenter som arsjalvmotiverade, det vill saga har en egen agenda snarare an att vara styrda avandra agenter.

1.3.2 Direkt manipulation

Schneiderman [65] definierade 1983 begreppet direkt manipulation. Denna prin-cip later anvandaren paverka objekt pa en skarm utan att behova anvandasyntaktiskt komplexa skriftliga kommandon, i kontrast till tidigare kommunika-tionsmojligheter med interaktiva system. Som exempel pa system som anvanderdirekt manipulation tar Schneiderman upp tv-spel och tidiga grafiska operativ-system. Idag ar det svart att tanka sig anvandarvanliga operativsystem som inteanvander direkt manipulation; Windows och MacOS bygger givetvis pa dennainteraktionsform.

4

1.3.3 DTMF

DTMF (Dual Tone Multi Frequency) beteckar signalen som skickas da mantrycker pa en telefons knappsats.

1.3.4 Klient/server

Klient/server ar den vanligaste interaktionsformen i natverksbaserade system.Tekniken bygger pa att en klientprocess efterfragar tjanster fran en server genomatt skicka forfragningar (requests). Servern vantar pa en forfragan fran en klient,nar en forfragan mottages agerar servern darefter och skickar sedan ett svar tillklienten.[6]

Client pull

Client pull eller polling innebar att en klient med regelbundna intervall skickaren forfragan till en server for att kontrollera om det finns ny data. Ju kortareintervallen ar, desto snabbare tar klienten emot ett inkommande meddelande,men utrymmeskravet blir da storre eftersom fler forfragningar behovs. [34]

Server push

Server push ar en teknik for att, fran en server, automatiskt uppdatera in-nehallet pa en bildskarm utan att initiativ fran klienten kravs. Tekniken in-troducerades i Netscape Navigator 1.1. Idag stodjer de flesta stora webblasareforutom Internet Explorer server push. [34]

1.3.5 Synergistisk tolkning

Begreppet synergistisk tolkning avser tolkningsmassiga synergieffekter mellanolika indatakanaler. Detta betyder att informationen fran olika kanaler kombi-neras och darmed bidrar till en betydelse som innehaller mer information anden sammanlagda betydelsen hos de ingaende delarna. Ponera till exempel atten anvandare yttrar: “Ga dit” och samtidigt pekar pa en punkt pa en skarm.Vid en tolkning av dessa tva handlingar var for sig fas dels ett inkomplett kom-mando att “ga” nagonstans, och dels en bestamning av en punkt pa skarmenej knuten till nagot kommando. Med en synergistisk tolkning fas ett komplettkommando att ga till den utpekade punkten.

1.3.6 Talsvar

I denna uppsats anvands begreppet talsvar for den typ av roststyrda tjanstersom telekomforetag tillhandahaller. En anvandare kan via sin telefon ringa uppett roststyrt system som hjalper till med olika uppgifter, till exempel biljettbok-ning eller trafikupplysning. Den centrala kommunikationsformen inom talsvarar tal, dock kan aven DTMF anvandas som indatamodalitet.

1.4 Metod

Denna sektion beskriver de metoder vi har anvant oss av for att fullfolja varuppgift fran TeliaSonera. Sektion 1.4.1 presenterar applikationen i detalj och be-

5

skriver specificeringar och begransningar som gjordes i projektets inledningsfas.Grundlaggande forutsattningar tas ocksa upp. Sektion 1.4.2 beskriver darefterhur vi har gatt tillvaga for att genomfora hela projektet, fran forstudien till ochmed implementationen.

1.4.1 Presentation av applikationen

Den ursprungliga uppgiften fran TeliaSonera inkluderade att utveckla en demo-applikation. Ett krav pa applikationen var att den skulle pavisa fordelar medatt anvanda multimodal teknik inom telefoni med fokus pa anvandarvanlighet.Det stalldes dock inga krav pa vilket omrade inom telefoni applikationen skullevara relaterad till eller vilka funktionaliteter den skulle ha.

Interaktivt mobilt granssnitt

Det fanns, som sagt, ett stort intresse fran TeliaSonera for att ersatta demonfran InterVoice med en egenutvecklad applikation. I ett tidigt skede bestamdessaledes att arbetet skulle inriktas mot interaktiva mobila tjanster. Vi fann att enmobiltelefon skulle vara mest lamplig som terminal, dels eftersom mobiltelefonitros kunna gynnas mycket av multimodala tekniker, och dels for att kunna ut-nyttja befintlig kunskap och teknik inom foretaget betraffande talsvarslosningar.Skarmen pa mobiltelefoner erbjuder en lamplig kanal for visuell utdata, samti-digt som tal redan ar ett naturligt uttryckssatt i dialogerna. Genom att laggatill en mojlighet att presentera grafisk information tros anvandarvanligheten iinteraktionen forbattras avsevart.

I dialoger med interaktiva datasystem behover systemet ibland ge utdata somkan vara svar att uttrycka enbart med tal; detta galler till exempel da sva-ret utgors av en vagbeskrivning. Har passar det mycket battre att beskrivavagvalen med hjalp av en kartbild, eventuellt kompletterad med tal. Dessutomkan anvandaren aterga till att betrakta bilden i ett senare skede, vilket gor atthan/hon slipper halla en stor mangd information i minnet under efterfoljandedialogturer.

ROSE - Ring Och SE

I samrad med representanter fran TeliaSonera bestamdes att ett lampligt omradefor demonstration ar konferensrumsbokning. Detta amne valdes eftersom deflesta av foretagets kunder har behov av att kunna boka konferensrum ochdarfor troligtvis kan relatera till amnet. Konferensrumsbokning ar ocksa ettvalutforskat amne for unimodala system, styrda med antingen rost eller direktmanipulation. Det torde alltsa vara latt for kunderna att se fordelarna med mul-timodalitet, da dessa kan stallas i relation till tidigare erfarenheter inom sammadoman.

Bokningssystem ar i sig ett passande omrade for multimodala applikationer ef-tersom anvandaren ofta behover en visuell uppfattning om den miljo som berors.Visuell respons ger aven stora fordelar vid bekraftelse av genomford aktivitet,till exempel en lyckad bokning, nagot som ar mycket viktigt i system av dennatyp.

6

Var applikation har givits namnet ROSE (Ring Och SE), som anspelar pa desshuvudsakliga funktionalitet. En anvandare av ROSE kan i en session boka ettrum genom att ringa upp en bokningstjanst, ange en tidpunkt och beskriva vil-ka krav som rummet behover uppfylla. Systemet svarar med att kontinuerligtuppdatera en rumskarta som syns pa skarmen enligt anvandarens yttranden.Nar ett speciellt krav stalls accentueras exempelvis de rum som motsvarar det-ta genom en ljusare farglaggning. Anvandaren guidas av en rost igenom helabokningsprocessen.

Resurser

TeliaSonera har redan flera fungerande plattformar for talsvarslosningar, exem-pelvis SSC (Self Service Center) som bygger pa Nuance, Java och VoiceXML.Dessa resurser forekommer ofta i talteknologiska applikationer och anvands aveni flera andra av foretagets nuvarande plattformar.

Ett ursprungligt antagande var att ROSE skulle kunna bygga pa ett talsvars-system i SSC som, pa nagot vis, utokas med formagan att ge visuell responspa skarmen i den mobiltelefon som upprattar ett samtal. Vi visste dock intehur denna ytterligare funktionalitet skulle astadkommas, varfor vi i forunder-sokningen intresserade oss for saval separat teknik for att visa bildlig informationi en mobiltelefon, som kompletta multimodala plattformar som alternativ tillSSC.

Under arbetets gang testades ett flertal olika mobiltelefoner som potentiella ter-minaler for ROSE ; dessa tillhandaholls av TeliaSonera. De resurser som nyttjasi den slutgiltiga applikationen utover SSC har valts utifran forundersokningenoch ar till storsta del open source-produkter, det vill saga programvaror som arfritt tillgangliga for allmanheten att utveckla och distribuera.

1.4.2 Tillvagagangssatt

Har beskriver vi vart arbetssatt i de olika faserna av projektet.

Forstudie

Den forsta delen av arbetet omfattade en forstudie. Har tittade vi pa forut-sattningar och tekniker for att bygga multimodala applikationer genom att gaigenom viktiga multimodala system pa marknaden och forskningsniva. Infor-mationssokningen gick i stor grad ut pa att lasa vetenskapliga artiklar, dar desystem som utvecklats pa universitetsniva beskrivs detaljerat.

For de kommersiella system som tas upp finns i regel inte nagra tillgangligapublikationer, utan information om dessa produkter har hittats pa tillverkandeforetags hemsidor. Beskrivningarna dar ar oftast mycket mindre detaljerade ochsyftar snarare till att gora reklam for produkten an att beskriva de tekniker somhar anvants vid utvecklingen. Aven information om plattformar och mobiltele-fonmodeller har sokts pa utgivande foretags hemsidor.

7

Forstudien inkluderade aven insamling av kunskap om potentiellt anvandbarastandarder och tekniker sasom VoiceXML, JavaME och diverse server push-metoder.

Design

Designmomentet bestod framst i att ta reda pa vilka tekniker som fanns till-gangliga for att bygga den grafiska delen av systemet. Valet av plattformen SSCsom bas var ett betydligt lattare beslut att ta. Daremot medforde forstas platt-formsvalet en del tekniska begransningar pa ovrig utrustning, bade mjukvaru-och hardvarumassigt sett. Da programspraket som skulle anvandas var Java,undersoktes de mojligheter som fanns for overforing av grafisk information tillmobiltelefoner inom denna miljo. Ganska snart fastslogs att MIDlets (se sektion4.3.2) var det enda tankbara programvarualternativet for mobiltelefonen.

Mycket arbete lades ned pa att hitta satt att overfora grafisk information franSSC:s tjansteserver till en MIDlet. Ett stort problem var att starta interaktio-nen; vi ville oppna bade data- och telekanalen genom sa fa anvandarinitiativ sommojligt. Arbetet bestod i att lasa Java-API:er, tutorials och ovriga dokument,diskutera olika forslag med handledare och andra intressenter pa TeliaSone-ra samt genomsoka utvecklingsforum pa Internet. Vi testade kontinuerligt delosningar som verkade mojliga pa de olika mobiltelefoner som var tillgangliga.Detta gav oss, forutom kunskapen om vilka tekniker som kunde vara lampliga,en god bild av vilka krav som skulle stallas pa den slutgiltiga terminalen.

Implementation

Implementationen av talsvarssystemet i SSC utgjordes av att skriva Nuance-grammatiker (se sektion 5.2) samt definiera dialogstrukturen i ett VoiceXML-dokument (se sektion 5.3). Eftersom applikationen ar en demo blev grammatik-skrivningen en relativt enkel process. Det var mojligt att forutse ungefar vilkayttranden som var tankbara for att visa upp de tankta funktionaliteterna. Viansag oss alltsa inte behova gora nagra undersokningar eller tester med ut-omstaende informanter for att komma fram till mojliga uttryckssatt.

Dialogstrukturen tog vi fram genom att skriva flodesdiagram (se sektion5.1)som sedan oversattes till VoiceXML-kod. Parallellt med detta implementeradevi MIDleten och servleten (se sektionerna 5.5 respektive 5.4).

1.5 Disposition

Kapitel 1 redogor for syftet med vart arbete och presenterar var definition avmultimodalitet. Har definierar vi aven andra centrala begrepp som bor kannastill vid lasning av rapporten. Vi beskriver ocksa den uppgift vi har fatt och demetoder som har anvants i arbetet att fullfolja denna.

Kapitel 2 ger en historisk tillbakablick pa de multimodala system som har ut-vecklats under de senaste tre decennierna. Samtliga exempel som tas upp harar utvecklade pa forskningsniva.

8

Kapitel 3 har ett marknadsinriktat perspektiv av multimodalitet med fokuspa anvandarvanlighet, kommersiella standarder och plattformar samt natverks-teknik. Har beskrivs ocksa nagra av de stora foretag som sysslar med att tafram multimodala produkter.

Kapitel 4 beskriver designen for ROSE. SysTemets funktion behandlas liksomde resurser som vi anvant vid utvecklingen av applikationen.

Kapitel 5 beskriver implementationen av var applikation pa en mer teknisk niva.

Kapitel 6 diskuterar och sammanfattar vart arbete. Har presenterar vi de slut-satser som vi har kommit fram till och tar upp nagra av de amnen som ar viktigaatt beakta vid en vidareutveckling av systemet.

Vi har valt att franga den traditionella mallen for utredande uppsatser genomatt inte ge en beskrivning av var metod i ett eget kapitel. Anledningen tilldetta ar att den uppgift vi fick inte specificerade vilken applikation som skulleutvecklas. Valet av applikation skulle goras under den inledande teoretiska un-dersokningen. Forst harefter skulle metoden for utvecklingen bestammas, somen del av designfasen. Den praktiska metoden diskuteras darfor i designkapitlet(kapitel 4). For att ge lasaren en bild av vilken typ av applikation vi har utveck-lat samt vilken metod vi har anvant inkluderar vi ett kortare avsnitt (sektion1.4) om detta i introduktionskapitlet. Har ingar aven en beskrivning av denteoretiska delen av arbetet.

9

Kapitel 2

En historisk tillbakablick

Detta kapitel tar upp multimodalitet och multimodala system ur ett historisktperspektiv. Harigenom ges lasaren en inblick i hur synen pa multimodalitethar forandrats fran 1980-talet och framat, samt vilka viktiga standpunkter somfinns bland forskare pa omradet. Sektion 2.1 ger ett exempel pa ett mycket tidigtmultimodalt system. Sektionerna 2.2 och 2.3 beskriver 1990-talets multimodalascen och nagra vetenskapliga tankar om vad som bor kravas av multimodalasystem. Nagra stora projekt som har pagatt sedan millenniumskiftet tas upp isektion 2.4.

2.1 Put that there - ett tidigt multimodalt sys-tem

Ett tidigt exempel pa ett datasystem som anvander flera modaliteter for indatabeskrivs i Bolts banbrytande artikel Put That There [13] fran 1980. Bolt anvandeden fysiska faciliteten The Media Room, utvecklad av MIT Architecture MachineGroup i Cambridge 1978. Till denna kopplades NEC:s taligenkannare, DP-100CSRS, och Polhemus Navigation Science Incorporation:s gestigenkannare, RO-PAMS, for att ge anvandaren mojlighet att uttrycka sig genom tal, rorelser ellerkombinationer av dessa, se figur 2.1.

I The Media Room har anvandaren en skarm framfor sig och pa denna kanolika geometriska figurer laggas till, tas bort och flyttas. I Bolts experimentkunde anvandaren peka mot objekt och positioner pa skarmen och referera medpronomen till dessa. Med hjalp av denna teknik menar Bolt att anvandaren, paett mer naturligt och spontant satt an vad som tidigare varit mojligt, kundemanipulera en grafisk miljo.

Julia och Cheyer [41] menar att en nackdel med Bolts approach, och andratidiga forsok till multimodala granssnitt, var att anvandaren tvingades utforakommandon i en forbestamd ordning. Den synergistiska tolkningen mellan taloch gester i dessa system hade alltsa varit begransad.

10

Figur 2.1: Anvandning av Bolts system i The Media Room.

2.2 Synergistisk kommunikation

Mot slutet av 1980-talet borjade tankar pa synergistisk multimodal kommunika-tion att vaxa fram. Cohen et al. [22], liksom flera andra forskare1 fokuserar pa in-tegration mellan naturligt sprak och direkt manipulation. De uppmarksammadeatt man med en kombination av dessa tva indataformer kan uppna battre re-sultat an med de tva teknikerna separat, da de kompletterar varandra pa fle-ra punkter. Med naturligt sprak kan man till exempel bade beskriva synligaoch osynliga objekt pa skarmen, samt identifiera medlemmar i mangder. Dettaar svart att astadkomma genom direkt manipulation, med vilken foreteelsersom ambiguitet och refererande uttryck emellertid kan losas enklare an vidanvandning av endast sprakliga medel.

Under 1990-talets forsta del utvecklades en rad system som inriktade sig pasynergin mellan talat sprak och direkt manipulation. Till dessa hor bland annatSHOPTALK och CHORIS [22], som i hog grad fokuserar pa att losa sprakligaproblem genom att begransa kontexten med hjalp av musklickning.

Cheyer och Julia [17] beskriver en kartlasningsapplikation dar anvandaren kange indata genom att tala eller rita och skriva pa en skarm, men aven genom attkombinera dessa uttryckssatt. Man kan till exempel fraga: “What is the distan-ce from here [pekar] to this [pekar] hotel?” och fa svar direkt pa skarmen. Dethar lagts ner mycket arbete pa utveckling av multimodala system som handlarom just kartlasning, se bland annat MATCHKiosk av Johnston et al. [39], avenfigur 2.2.

1Se exempelvis Cheyer och Julia [17].

11

Figur 2.2: Det multimodala granssnittet i MATCHKiosk.

2.3 Standardisering

Under andra halvan av 1990-talet sag man kritiskt pa vad forskningen om mul-timodalitet dittills hade resulterat i. Johnston et al. [40] papekar att ingenateranvandbar arkitektur for att konstruera multimodala system hade kunnattas fram under alla ar som hade passerat sedan Bolts tidiga forsok. Man menaratt foljande faktorer har orsakat detta misslyckande:

• Det ofta begransade anvandandet av gester till endast enkla mus-klickningar.

• Centreringen kring sprakdelen i systemen som satt gestanvandningenytterligare at sidan.

• Inget tillhandahallande av en generellt applicerbar meningsrepre-sentation av olika modus, eller en valdefinierad mekanism for multimodalintegration.

Manga system fran denna tidsperiod omfattar forvisso attribut som handstils-tolkning (till exempel Multimodal Maps), saval som kompakta meningsrepre-sentationer och mekanismer for modal integration (exempelvis VoicePaint [50]),men man hade annu inte astadkommit nagon gemensam standard.

Stravan efter standardisering kom att pragla den multimodala forskningsscenenunder de narmast foljande aren. Redan i borjan av 1994 presenterade Geneserethet al. [26] en agentbaserad struktur for att kunna gora olika typer av moduler iett system kompatibla med varandra. Detta innebar att vokabularer, ontologieroch semantiska forestallningar ar gemensamma for de agenter som ingar i syste-met. Dessa ideer skulle under nasta ar implementeras i tva skilda arkitekturer:en vidareutveckling av Genesereth et al. [27], samt en tidig version av den fortfa-rande centrala OAA (Open Agent Architecture) (forst namnd i Cohen et al. [20]).

12

Det skulle dock droja nagra ar innan standardiserade applikationer kunde re-aliseras. Systemet QuickSet [21] fran 1997 byggdes som ett svar pa de ovannamnda kritiska konstateranden av Johnston et al. Denna applikation har ettvalutvecklat grafiskt granssnitt med en pekskarm dar anvandaren kan rita paskarmen med en penna och samtidigt ge talad indata. Den multimodala integra-tionen av gester och tal genomfors genom att information fran bada indatakana-lerna oversatts med en gestigenkanningsagent respektive en taligenkanningsditotill separata sa kallade sardragsstrukturer, typed feature structures. Dessa areventuellt underspecificerade var for sig, men kombineras med hjalp av unifie-ring ihop till en komplex meningsrepresentation.

I och med World Wide Webs enorma framfart sedan 90-talets borjan, med storamangder information tillgangliggjord, har bade behoven av och mojligheternatill standardisering av olika teknologier okat. Da en rad olika hard- och mjukva-ruprodukter har tillgang till Internet, maste dessa overensstamma pa ett sadantsatt att de kan arbeta tillsammans. Grundaren av World Wide Web, TimBerners-Lee, startade darfor 1994 W3C (World Wide Web Consortium) [86],som arbetar for att ta fram webbstandarder.

2.4 Multimodala system pa 2000-talet

Under W3C:s vaxande inflytande har intresset for multimodalitet tagit fart paallvar. Idag sysslar forskningsenheter pa stora foretag med multimodala kom-mersiella losningar, till exempel har IBM och Opera Software ASA tagit framen multimodal webblasare [9]. Ett flertal EU-projekt har genomforts, dariblandTALK [74] som ar ett samarbete mellan sex europeiska universitet och foretagenLinguamatics, BMW och Bosch.

Aven TeliaSonera har en forskningsenhet, Telia Research, dar intresset for mul-timodalitet ar stort. Ett pagaende EU-projekt ar COMPANIONS [23], dar Te-liaSonera ar ett av fem foretag som tillsammans med tio universitet har envision om en artificiell “kompanjon” som till exempel skall kunna hjalpa aldremanniskor att surfa pa Internet. Nagra andra projekt som gjorts pa Telia Re-search ar lagenhetssokaren AdApt och dataspelet NICE [15].

2.4.1 SmartKom

Ett annat stort projekt ar det nu avslutade tyska SmartKom [67], som finan-sierades av ett flertal inflytelserika foretag, daribland Sony, Philips, DaimlerChrysler och Siemens. Malet med projektet var att utveckla ett slags intelli-genta kommunikationsassistenter som skulle gora det enklare for manniskor attinteragera med teknisk utrustning.

SmartKom resulterade i 43 olika assistenter som kan hjalpa anvandaren meduppgifter inom domanerna kommunikation, infotainment (information och en-tertainment) och resor. Man kan till exempel fa information pa skarmen omolika tv-program genom att bade peka och tala. Man kan aven ge kommandonsom: “Spela in detta!”.

13

Wahlster [87, 88] skriver att ett fokusomrade inom SmartKom var symmet-risk multimodalitet, det vill saga att de modaliteter som kan tolkas som indataocksa skall vara tillgangliga for att ge utdata. For projektet togs ett egenut-vecklat XML-format fram, M3L, som innehaller alla de granssnitt som behovsfor ett system med sa stor funktionalitet som SmartKom. For att koppla sam-man de 40 moduler som ingar anvandes MULTIPLATFORM, en open source-plattform som implementerar publish/subscribe-scheman. Publish/subscribe-metoden bygger pa principen att varje agent “prenumererar” pa relevant infor-mation, det vill saga sadan som faller inom dess intresseomrade. Nar en agentskall avge information sker det genom att denna “publiceras” och darmed gorstillganglig for alla agenter. De agenter som inte har nagon nytta av denna nyainformation ignorerar den automatiskt.[10]

SmartKom har hittills resulterat i 52 patent och 29 produkter som tagits framav de inblandade foretagen. Siemens har till exempel uppfunnit en virtuell mus,som installerats pa en mobiltelefon med kamera. Nar anvandaren haller en pennaca 30 cm fran skarmen kanner systemet igen pennans spets som en muspekare,som bland annat kan anvandas for att flytta objekt med multimodala komman-don.

Ett uppfoljningsprojekt till SmartKom, SmartWeb, syftar till att hjalpa man-niskor utan Internetvana att surfa. Genom att anvanda hela Internet som kun-skapsbas stoder SmartWeb open-domain question answering, vilket ar en for-battring gentemot SmartKoms domanspecifika tackning.

2.4.2 EURESCOM

EURESCOM [4] ar ett samarbete mellan telekommunikationsforetag i Europa.Ett av deras projekt ar den multimodala plattformen MUST (MUltimodal mul-tilingual information Services for small mobile Terminals). Arbetet syftar tillatt undersoka hur man utformar multimodala applikationer for mobiltelefoner,for att optimera anvandningen av UMTS-tekniken (se sektion 3.5.1). Sma ochlatta terminaler ar svara att anvanda pa ett effektivt satt, men med multimo-dala medel tror man sig kunna forbattra anvandarvanligheten. Det vasentligaar att man skall kunna kombinera flera modaliteter, for bade in- och utdata.Anvandaren skall kunna uttrycka sig simultant med tal, text och penna ochsystemet skall kunna svara med text, grafik och tal.

En turistguide for Paris har utvecklats med hjalp av MUST, dar anvandaren kanstalla fragor om ett omrade som syns pa en karta. I de fall dar systemets kun-skapsbas saknar information om det som efterfragas kan applikationen “sjalv”soka efter svaret pa Internet. Systemet kors pa tva separata terminaler, en mo-biltelefon och en handdator, for rost respektive grafik.

14

2.5 Sammanfattande diskussion om multimoda-litetens historik

Detta kapitel har beskrivit resultaten av den forskningsinriktade delen av varforstudie. I tidiga publikationer om multimodalitet i interaktiva system stalldeslaga krav pa intelligent tolkning och anvandarvanlighet. I Bolts Put that therekunde anvandaren referera till objekt genom att peka pa en skarm och ut-tala pronomen, men man var tvungen att gora detta enligt en fordefinieradmall. I efterfoljande projekt uppstod en stravan efter synergistisk tolkning,da man upptackte att tal och direkt manipulation kompletterade varandra ut-trycksmassigt. Genom att kombinera dessa modaliteter for indata kunde manforbattra forstaelsen i systemen avsevart.

I mitten av 1990-talet kom ett antal foreslagna standarder for utveckling avmultimodala granssnitt. En av de mest framstaende arkitekturerna fran dennaperiod ar OAA, som fortfarande anvands flitigt i forskningsprojekt varlden over.Behovet av standardisering paskyndades av Internets framfart, som innebar attapplikationer behovde vara kompatibla med flera olika plattformar for att kun-na utnyttja den nya tekniken.

Forskningsprojekten om multimodalitet utgors sedan nagra ar tillbaka av storamultinationella samarbeten mellan universitet och foretag. Dessa har framst syf-tat till att undersoka vilken typ av system som behovs pa marknaden. Resultatetblir oftast en demo, snarare an en applikation direkt anvandbar for foretagen.Ytterligare en aspekt som talar emot dessa systems potential pa marknaden aratt dessa stora projekt brukar vara relativt langsiktiga, medan kunder ofta villha snabba resultat.

15

Kapitel 3

Multimodalitet pamarknaden

Som foregaende kapitel visar har det under de senaste 25 aren funnits ett stort in-tresse inom forskningsvarlden for multimodal manniska/datorinteraktion, fram-for allt efter Internets uppkomst. Da 2000-talets multinationella projekt aveninkluderat stora foretag kan man se en tendens mot ett uppsving for multimo-dala system aven pa den kommersiella marknaden. Detta kapitel ger en bild avmultimodalitetens status pa marknaden.

Sektion 3.1 tar upp anvandarmassiga fordelar av multimodala system jamfortmed deras unimodala motsvarigheter. Sektion 3.2 gor en djupdykning i systembaserade pa kartor, som ar en vanlig doman for multimodala tillampningar. Detar aven denna typ av system som ROSE representerar. Sektion 3.3 ger exempelpa foretag med multimodal anknytning. Sektion 3.4 beskriver W3C, den ledandeorganisationen for framtagning av webbstandarder, vilket ar en formalism somofta anvands vid utveckling av interaktiva system. For multimodala applikatio-ner ar valet av webbstandard speciellt viktigt da olika webbstandarder stodjerolika modaliteter, for saval in- som utdata.

De avslutande sektionerna 3.5 och 3.6 koncentrerar sig pa mobiltelefoni. Vilistar har olika natverkstekniker och beskriver vilka kriterier som den tradlosadataoverforingen maste uppfylla for att tjana olika multimodala syften. Somavslutning ges nagra konkreta exempel pa intressanta mobiltelefonmodeller.

3.1 Multimodalitet ur anvandarperspektiv

Denna sektion tar upp anvandningsaspekter av multimodala system, bade jam-fort med roststyrda applikationer och traditionella datasystem dar direkt mani-pulation ar den framsta interaktionsformen. Mycket forskning har sedan slutetav 1980-talet pavisat att en kombination av tal och direkt manipulation kanerbjuda fordelar over de olika interaktionsformerna anvanda var for sig. Cheyeroch Julia [17] ger exempel pa en rad amnen som ar svara att uttrycka enbart meddirekt manipulation, men som enkelt tacks in med tal. Hit hor exempelvis be-skrivningar av och relationer mellan objekt som inte ar synliga pa skarmen. Man

16

tar aven upp svarigheter med det sprakliga granssnittet som kan overvinnas meddirekt manipulation, till exempel ambiguosa uttryck och osakerhet betraffandekonceptuell tackning.

Exempel pa interaktionsformer som kan anvandas for att ge indata i multi-modala system ar: tal, knapptryckningar, handskrift och gester, antingen i formav att anvandaren pekar pa en skarm eller att sensorer laser av anvandarensrorelser utan att denne ror skarmen. Nagra problematiska amnen i interaktionmellan manniska och dator som kan overvinnas genom kombinationer av ovannamnda indataformer tas upp har.

3.1.1 Anaforer

I kommunikation med problemlosningssystem ar det ofta naturligt for anvanda-ren att stalla foljdfragor. I roststyrda system ar anaforlosning ett stort problemvid tolkning av sadana fragor; har kravs en pragmatisk analys. I system medtillgang till en pekskarm eller rorelsetolkare kan anvandaren i stallet peka motskarmen, darmed behovs ingen ytterligare tolkning. Denna fordel var uppenbarredan i tidiga multimodala system. I Chat [22] som utvecklades 1989 anvandsfokusknappar som indikerar vilka objekt som anvandaren kan referera till. Dettagors genom att man trycker ned den knapp som motsvarar den objekttyp somanaforen syftar pa.

3.1.2 Begransning av kontext

En vanlig typ av anaforlosning som har ytterligare fordelar i multimodala systemgentemot roststyrda ar da anvandaren vill begransa kontexten. Detta ar mycketanvandbart i applikationer dar anvandarens uppgift ar att losa problem medhjalp av kartor. Genom att ringa in en del av skarmen kan fraser som “i dettaomrade” anvandas utan risk for missforstand. Detta ar mycket svart att ut-trycka med tal, eftersom inget specifikt objekt asyftas. Pragmatiska/semantiskaanalyser racker alltsa inte.

I det ovan namnda kartlasningssystemet, MATCH [30], anvands pekskarm foratt tolka pekkommandon pa skarmen, vilket gor det mojligt att begransa kon-texten till ett visst omrade. I figur 3.1 efterfragar anvandaren exempelvis billigaitalienska restauranger inom ett visst omrade.1

3.1.3 Informationspresentation

Da ny information skall presenteras for anvandaren ar talad utdata ofta otill-racklig. Detta beror pa att informationen ibland kan vara mycket omfattandeeller svar att komma ihag, till exempel vid upplasning av langa sifferkombinatio-ner. Vid sadana situationer kan det vara praktiskt att presentera informationeni tabellform eller liknande pa en skarm, sa att anvandaren slipper att halla allti minnet. Ofta kan respons fran systemet i form av en bild aven vara lattare attforsta an en komplicerad talad beskrivning.

1Observera att det i detta exempel ar ett unimodalt pennkommando som ges. Man kandock vinna tid pa att uttrycka “cheap italian” med rosten.

17

Figur 3.1: Begransning av kontext i MATCH.

3.1.4 Felhantering och grounding

Ett omrade som kraver stor uppmarksamhet vid utveckling av roststyrda sys-tem ar felhantering. Eftersom felaktigheter i taligenkanningen ar oundvikligabehovs grounding, det vill saga foljdfragor fran systemet for att forsakra sig omatt anvandarens yttranden uppfattas korrekt [29].

I bokningssystem maste man till exempel vara saker pa att inte gora nagra felak-tiga bokningar eller avbokningar. Denna visshet kan antingen uppnas explicit,med separata fragor fran systemet, eller implicit, i och med nasta dialogtur. Ex-plicit grounding medfor fler dialogturer och inverkar ofta storande pa dialogen,sarskilt om allt har uppfattats korrekt. Implicit grounding resulterar inte i flerdialogsteg, den kan emellertid vara svar for anvandaren att greppa. Sa langeallt gar bra fungerar den val, men nar systemet bekraftar felaktigheter tende-rar anvandare att bli forvirrade och oformogna att ratta till taligenkanningensmisstag.[70]

I multimodala system erbjuds ett storre utbud av groundingstrategier da vi-suell utdata i manga fall kan vara lattare och mindre tidskravande att forstaan talad sadan [5]. Bourguet [14] tar upp en rad multimodala felhanteringsstra-tegier. En effektiv metod ar att ge en lista med alternativa tolkningar av ettyttrande sa att anvandaren kan ange vilket alternativ som bast motsvarar dethan/hon menade. En annan strategi ar att lata anvandaren skriva sitt yttrandepa skarmen om taligenkanningen inte ar tillrackligt saker. Cohen et al. [19] harvisat att manniskor ofta spontant byter modalitet for att ratta till fel pa dettasatt.

3.1.5 Mojlighet att valja indatamodalitet

I multimodala system, dar det star anvandaren fritt att sjalv valja indataformfor olika uppgifter, kan man utnyttja alla ingaende modaliteters fordelar. Cohenet al. [19] konstaterar att tal exempelvis erbjuder anvandaren att sjalv hitta panamn pa nya entiteter och tala om objekt som inte syns pa skarmen for tillfallet.Daremot fungerar talad indata daligt bade i bullriga miljoer och i situationer

18

da anvandaren inte kan eller vill anvanda sin rost. Som alternativ till tal kanpennindata namnas, som ofta ar mer passande for att referera till synliga ob-jekt. Denna inputform lampar sig aven val for att skapa linjer for att markeragranser eller rutter i ett grafiskt GUI.

I situationer da anvandaren valjer att kombinera tal- och pennindata forbattraschanserna till korrekt tolkning genom att den mest tankbara sammansattningenav mening valjs. Cohen et al. beskriver exempelvis hur man forst kan tolka ges-terna och talet var for sig. Darefter anvands speciella unifieringsprocesser avsemantiska representationer for de olika alternativ som har uppkommit. Slutli-gen valjs den mest sannolika tolkningen baserad pa vilken uppgift anvandarenstallts infor.

3.1.6 Mansklig kommunikation

Att simulera en dialog mellan tva manniskor ar nagot som brukar efterstravasvid utveckling av manniska/dator-interaktionssystem. Utifran denna synvinkelhar multimodala system en fordel gentemot roststyrda; da manniskor interage-rar med varandra anvands, forutom rosten, kroppssprak med miner och gester,vilket gor det lattare for den andra parten att forsta vad som menas.

Vad galler indatatolkning har en del studier gjorts gallande gesttolkning, tillexempel med system som later anvandaren referera till objekt genom att pekapa dem pa samma satt som i Bolts tidiga experiment. Generering av utdata arett svarare amne, speciellt i system som anvander en 3D-miljo liknande den iBolts The Media Room. Man kan dock tanka sig en forenklad tvadimensionellvariant, dar en muspekare pekar ut objekt pa en skarm, vilket gjordes redan 1988i Popel [64]. Pa senare ar har intresset for interaktiva agenter och robotliknandefaciliteter gjort att bade ansiktsuttryck och pekande gester som utdataform harblivit aktuellt i saval tva- som tredimensionella miljoer.

Ett exempel pa en interaktiv agent ar Synface [73], se figur 3.2, som har ut-vecklats vid KTH. Synface ar ett datorprogram som syftar till att hjalpa horsel-

Figur 3.2: Datorprogrammet Synfaces anvandargranssnitt.

19

skadade telefonanvandare. Da datorn ansluts till telefonen, visar ett konstgjortansikte munrorelserna fran den man talar med. Munrorelserna synkroniserasmed talet, vilket ger en kansla av att det ar det syntetiska ansiktet som talar.

Hanson Robotics har skapat Einstein [63], se figur 3.3, som ar den forsta robotensom kan ga och samtidigt tala med manskliga ansiktsuttryck. Bade mjukvaranoch den fysiska robotmodellen av Einstein ar tillgangliga for utvecklare somopen source-produkter. Hanson Robotics tror att liknande robotar med socialaformagor inom en snar framtid kommer att kunna hjalpa manniskor med kom-munikativa funktionshinder, som exempelvis autism, att lara sig att tolka ochbesvara ansiktsuttryck. Dessutom raknar man med att kunna utnyttja robotarav detta slag i medicinska applikationer.

Figur 3.3: Roboten Einstein anvander manskliga uttrycksmedel.

3.2 Kartbaserade system

En doman som forefaller ytterst lamplig for multimodala system ar problem-losning med hjalp av kartor. Det har gjorts flera omfattande studier och appli-kationer inom vilka sadana problem har undersokts, nagra av de viktigaste arMultimodal Maps, MATCH och QuickSet [21].

3.2.1 Interaktionsformer

Oviatt [58] har undersokt manniskor som interagerar med multimodala kartsys-tem. Hon konstaterar inledningsvis att enbart designen av datasystemet i bastafall kan reducera svarigheten att tolka naturligt sprak, i bade talad och skrivenform, med en faktor 8. Bade hur indata kan ges och hur utdata presenterasinverkar direkt pa anvandarnas ordval och meningslangd, samt frekvensen avsjalvrattelser och felsagningar. Till exempel medfor en valstrukturerad formba-serad utformning av systemet farre svartolkade lexikala uttryck som konjunktio-

20

ner, prepositioner och forkortningar. Dessutom minskar vardena for perplexitetoch syntaktisk ambiguitet.

Indataformer

I Oviatts undersokning fick manniskor interagera med en kartapplikation medhjalp av olika indatametoder: forst endast med tal, sedan endast med skrift(pa skarmen) och slutligen multimodalt. I alla sessioner skulle samma uppgifterutforas. Studien konstaterar att forekomsten av sjalvrattelser och felsagningarstar i direkt proportion till medellangden pa yttranden; ju langre yttranden,desto storre risk att det blir fel nagon gang pa vagen. Oviatts resultat pekarpa att yttrandena ar avsevart kortare da manniskor kan skriva pa skarmensamtidigt som de talar, jamfort med om de bara kan uttrycka sig verbalt: 4.79respektive 6.22 ord/yttrande. Frekvensen av sjalvrattelser och felsagningar varalltsa mycket lagre i de multimodala interaktionerna an i de strikt talade inter-aktionerna.

Studien uppmarksammar ocksa det faktum att rumsliga uttryck ofta ar svarafor manniskor att uttrycka enbart med ord; det underlattar mycket om mansamtidigt kan markera den yta man talar om. De rumsliga komponenterna avett yttrande ar ofta langa och krangliga och innehaller oftare felsagningar ochsjalvrattelser an ovriga delar.

Tiden det tog att utfora kartuppgifterna mattes och visade att multimodala in-teraktioner ar betydligt mer effektiva an unimodala. Oviatt papekar att dennaegenskap endast kan tillskrivas kartbaserade/rumsliga domaner; tidigare studierhar visat att i verbala och kvantitativa sammanhang ar tal som enda indataformsnabbast, se figur 3.4.

Faktum ar att manniskors svarighet att uttrycka rumsliga begrepp tas upp somenda orsak till att endast talad indata, i stort sett, ar oacceptabel i kartbaseradesystem. Man observerade att i de multimodala sessionerna anvander manniskorpennan till att peka ut positioner, ytor och former, varmed behovet att uttalasvara och komplexa platser elimineras. Ett multimodalt granssnitt till applika-tioner som innehaller kartor verkar vara den enda framkomliga losningen for attastadkomma effektiva system. Da manniskor fritt fick valja interaktionssatt medapplikationen i Oviatts experiment valde 100% ett multimodalt angreppssatt.

Utdataformer

Medan multimodal indata ar ett amne som undersokts flitigt under de mul-timodala systemens livstid ar mojligheterna dessa system har att presenteramultimodal utdata betydligt mindre utforskade [48]. I kartbaserade system ardock den grafiska utdataformens fordelar uppenbara; det skulle vara myckettidskravande och svarforstaeligt att beskriva en detaljrik karta med enbart tal.

Man kan till exempel utnyttja grafisk dynamik genom att zooma in ett omradesom anvandaren visat intresse for. Darmed blir det lattare att orientera sig idet intressanta omradet eftersom bilden blir mer detaljerad samtidigt som in-zoomningen aven fungerar som groundingstrategi; anvandaren vet att systemet

21

Figur 3.4: Olika indataformers effektivitet i olika domaner.

forstatt vilket omrade han/hon syftade pa i sitt forra yttrande. Detta ar en stra-tegi som anvands i de flesta multimodala kartsystem, till exempel QuickSet [56]och MATCH.

Det dynamiska skarmutseendet kan aven anvandas genom att ytor farglaggsi olika farger beroende pa dess egenskaper. Detta ar en effektiv metod i kartba-serade bokningssystem. Har kan systemet visa anvandaren vilka objekt som haren viss egenskap, ar mest populara eller liknande genom att farglagga objekten iolika nyanser. Man kan ocksa nyttja farglaggning for att ange vilket objekt somrefereras till, vilket gors i MACK [69] och AgendaTalk [74]. For att fortydligafor anvandaren vad som hander kan visuell utdata behova kompletteras med tal.Detta gor ofta att anvandaren latt forstar responsen utan att extra groundingbehovs.

3.2.2 GPS-system

En typ av multimodala produkter som redan har blivit populara pa marknadenar de talande GPS-system som anvands i bilar, som i figur 3.5, och mobila enhe-ter. Med dessa kan man fa en vagbeskrivning sadan att en karta over omradetsyns samtidigt som en guidande rost ger instruktioner om vilken vag som skalltas.[78] Roststyrda GPS:er ar speciellt smidiga i bilar eftersom foraren behoverha blicken riktad mot vagen. En GPS utan roststyrning kan gora det svartatt fokusera pa trafiken samtidigt som man skall skriva in en adress eller ga imenystrukturer.

22

Figur 3.5: TomTom 3 - en roststyrd GPS i en bil.

3.3 Foretag med multimodal anknytning

Om man soker multimodala produkter pa marknaden ar det forvanansvart svartatt hitta nagra sjalvklara exempel, speciellt om man utgar ifran en forskarinrik-tad syn pa multimodalitet. Har presenterar vi ett antal foretag och produktersom har nagon anknytning till multimodalitet.

3.3.1 Nuance

Nuance [51] ar idag det ledande foretaget pa marknaden for talteknologiskalosningar. Deras produkter omfattar program for taligenkanning, talsyntes, sam-talsstyrning samt en natverksbaserad multimodal plattform, X-Mode Multimo-dal System, som ar specialutvecklad for tradlosa applikationer.

X-Mode Multimodal System har en klient/server-struktur, dar servern ar de-signad for att kunna integreras med infrastrukturer for tradlosa natverk somGRPS, CDMA 1xRTT, EDGE och W-CDMA. Genom att integrera infrastruk-turer for tal och data pa serverniva tillats att bada dessa kanaler anvands si-multant. Kommunikationen mellan servern och utomstaende utrustning skotsav klienten. Denna ar bland annat kompatibel med operativsystemet Symbianoch mobilplattformar fran Nokia, Microsoft och Qualcomm. Klientkomponentenkan antingen laddas ner av anvandaren eller forinstalleras av systemutvecklaren.Systemet innehaller aven en XML-baserad SDK (Software Development Kit),for att forenkla multimodal applikationsutveckling.

3.3.2 Kirusa

Kirusa [43] ar ett annat ledande foretag pa marknaden for multimodala platt-formar. Deras KMMP (Kirusa MultiModal Platform) kan anvandas for att laggatill tal- och gestuella indatamojligheter till en PDA (Personal Digital Assistant)eller mobiltelefon. KMMP ar kompatibel med foljande plattformar: MicrosoftsSmartPhone och Pocket PC, Symbian, Qualcomms BREW samt Palms Pal-mOS. Foretaget samarbetar med bland andra Nuance, HP och Intel och harkunder som inkluderar France Telecom och spanska Bankinter. En demo som

23

illustrerar KMMP:s kapacitet kan ses pa http://www.kirusa.com/demo3.htm.

3.3.3 Opera Software/IBM

IBM och Opera Software har utvecklat en multimodal webblasare, Multimodalbrowser [9]. Har finns, utover de funktionaliteter som en traditionell webblasareerbjuder, mojlighet att ge talad indata eller att fa talad utdata. Man kan aveninteragera med systemet med hjalp av vissa bestamda musgester. En anvandarekan dock inte ge indata via tal och direkt manipulation samtidigt.

3.3.4 V-enable

V-enable [82] ar ett foretag som drivs av experter fran Nokia, SkyTel, Mo-torola, PacketVideo och Cisco. Man erbjuder snabba databassokningstjansterfor mobiltelefonanvandare, dar indataformerna ar bade tal och text. Mjukva-ran fran V-enable ar av typen klient/server och kan integreras med plattfor-marna Brew, Java, Symbian, Wap och xHTML. Produkten stoder de flestanatverkstyperna for overforing av information (GSM/GPRS/EDGE/UMTS/-HSPDA/CDMA/1xRTT/EV-DO/IDEN). Taligenkanningen har en korrekthetpa 90%, vilket jamfors med textindata som endast ger 50% korrekthet. Skill-naden beror framst pa att manniskor ofta stavar fel pa egennamn, som ar densyntaktiska kategori som de flesta sokningsord tillhor. Enligt V-enable [81] aren annan fordel med rostindata att den ar 20 ganger snabbare an textindata.

V-enables tjanster inkluderar bland annat: SAY IT. MAP IT, som finns i mo-biltelefonen LG VX6000, med access till musikdatabasen Get it now fran Ve-rizon Wireless. Med SAY IT. MAP IT kan man till exempel saga namnet paen artist och fa en lista over latar med artisten pa skarmen; darefter kan manklicka pa den lat man vill ladda ner eller lyssna pa. Resultatet ges med hjalpav en sokningsalgoritm som tar hansyn till anvandarens egna kataloger. JoakimGustafson [28] pa Telia Research har utvecklat en svensk musiksokningstjanstmed hjalp av V-enables SDK. Arbetet har bestatt i att skriva svenska uttals-lexikon for artister och integrera med en musikdatabas fran Inprodikon och ettbetalningssystem fran Ericsson IPX. Systemet ar klart for drift, men vantar pamottagare i TeliaSoneras nya organisation.

3.3.5 Apple

En annorlunda form av multimodalitet star Apples iPhone [7] for. Denna mo-biltelefon/PDA/iPod, som slapps i Europa under hosten 2007, har endast enpekskarm som anvandaren styr mobiltelefonens funktioner med. Den har avenen sensor som kanner av mobiltelefonens position och anpassar sina funktionerdarefter. Om man till exempel vander mobiltelefonen fran portratt- (vertikalt)till landskapslage (horisontellt), anpassas automatiskt innehallet pa displayen,sa att bilden blir rattvand, se figur 3.6. Detta widescreenlage ar exempelvislampligt for webbsidor och film- och bildvisning. Nar man lyfter Apple iPhonetill orat kanner en sensor av detta och displayen stangs automatiskt av for attspara energi och forhindra oonskad atkomst av pekskarmen.

24

Figur 3.6: Apple iPhone - portratt- och landskapslage.

3.4 W3C

Organisationen W3C arbetar for att ta fram webbstandarder for en rad oli-ka sorters applikationer. Malet ar att alla hard- och mjukvaruprodukter somanvander Internet skall vara kompatibla med varandra sa att de kan interope-rera med varandra. Pa sa satt kan Internet na sin fulla potential, enligt W3C:skommunikationschef Ian Jacobs [37]. Om Internetapplikationer inte byggs efteruniversella standarder, blir de inte tillgangliga i samma utstrackning och loperstorre risk att inte fungera pa webblasare som utvecklas efter respektive ap-plikation. Da fler foretag och privatpersoner under 1990-talet borjade anvandaInternet vaxte givetvis behovet av denna typ av normalisering, varpa W3C ficken viktig roll inom webbanvandning.

W3C ar uppdelat i arbetsgrupper bestaende av ett antal medlemmar som harett gemensamt intresse. Dessa grupper arbetar med att utveckla arbetsskisser,forslag pa framtida webbstandarder. Innan en arbetsskiss rekommenderas, vilketger den webbstandardstatus, genomgas upp till fyra forstadier.

Utover anvandningen av webbstandarder till hemsidor och dylikt kan dessa avenvara till nytta vid utveckling av system som inte ar relaterade till Internet. I des-sa fall kan en webbstandard fungera som ett protokoll som anger vilket formatdata som skickas mellan systemets olika komponenter skall ha. Till exempel harVoiceXML (se sektion 3.4.1) i NICE (se sektion 2.4) och SCXML(State CharteXtensive Markup Language) i Intervoices nya Voice Portal -produkter [36] den-

25

na funktion.

3.4.1 VoiceXML

Den mest anvanda W3C-standarden for roststyrda system ar VoiceXML (Vo-ice eXtensible Markup Language) [84], framtagen av VBWG (Voice BrowserWorking Group) med experter fran Nuance, IBM, Motorola, Hewlett Packard,Scansoft med flera. Den senaste versionen av VoiceXML ar 2.1 [83]. Detta aren utokning av den tidigare versionen, 2.0, som har varit rekommenderad sedan2004 och anvands av ett flertal ledande foretag for olika industrier.

VoiceXML ar designat for att skapa dialoger med: talsyntes, digital audio, tal/-DTMF-igenkanning, rostinspelning, telefoni och mixad initiativtagning. Tolk-ningen av DTMF- och talad indata sker genom DTMF- respektive talgramma-tiker. Dessa innehaller specifikationer for vilka knappkombinationer/yttrandensom kan ges som indata, samt semantisk tolkning for dessa. Det finns dock ing-en synergistisk tolkningsmekanism for tal och knapptryckningar; VoiceXML kanalltsa inte ensamt utgora ett alternativ till multimodal standard.

Det har dock gjorts forsok att kombinera VoiceXML med grafiska XML-sprakfor att ta fram multimodala uppmarkningssprak. Svenska PipeBeach utveckla-de redan 2000 den forsta versionen av VoiceXML-plattformen SpeechWeb [47]. Idenna kombinerades VoiceXML 1.0 med mobilskarmsgranssnittet WML. Dettasystem saknade dock synergistiska effekter och de efterfoljande versionerna avSpeechWeb hade endast tal som indatamodalitet.

Nasta stora version av VoiceXML, 3.0, planeras att vara mer multimodalt inrik-tatd och battre integrerad med andra XML-sprak an version 2.0. VoiceXML 3.0kommer att vara en kombination av VoiceXML 2.0 och SCXML. Medan dataskall samlas in pa samma satt som forut, skall SCXML sta for flowdelen, detvill saga ta hand om processningen av data. Aven presentationen kommer attlikna den i VoiceXML 2.0.

3.4.2 Multimodalitet i W3C

Multimodalitet har varit ett ofta diskuterat amne i W3C:s rapporter. Sedan2002 har man haft en speciell enhet for amnet, Multimodal Interaction WorkingGroup [32]. Denna har som mal att skriva standarder som kan hantera olika sor-ters in- och utdatakallor pa flera nivaer. Kombinationer av modaliteter for in-och utdata behandlas, liksom kombinationer av olika sorters teknisk utrustningoch inkorporering av en extern roststyrd dialogmotor i multimodala applikatio-ner.

Gruppen har annu inte producerat nagon rekommendation, men de mest ak-tuella arbetsskisserna ar:

• Multimodal Architecture and Interfaces, ett forslag pa tillvagagangssatt,tekniker och principer for att utveckla anvandargranssnitt for saval mo-biltelefoner som annan utrustning.

26

• EMMA(Extensional Multi-Modal Annotations), ett format med en egenVoice Browser for datautbyte mellan indataprocessorer och interaktions-styrningssystem.

• InkML, ett XML-format for att tolka pennrorelser.

Av dessa tre har de tva sistnamnda natt sa kallad last call -status och beraknasatt bli rekommendationer i september 2007 respektive april 2008. MultimodalArchitecture and Interfaces beraknas vara rekommenderad i februari 2009. Isamband med denna handelse planeras den nuvarande arbetsgruppen att laggasner.

Ytterligare en intressant foreslagen standard ar ovan namndaSCXML, ett till-standsbaserat sprak som ar byggt pa en DFP (Data-Flow-Presentation)-arkitektur.SCXML ar designat for att hantera dialogfloden pa samma satt som VoiceXMLar och spraket har aven kapacitet att styra samtal i roststyrda telefonapplika-tioner. SCXML stoder aven parallell data- och taloverforing och passar darmedval for multimodal interaktion.

3.5 Mobila natverk

Har sammanfattas de mest anvanda standarderna inom mobila natverk: fran2G till 3G och till framtidens Super-3G och IP-mobiltelefoni.

3.5.1 GSM

Den ledande standarden for mobil kommunikation ar GSM (Global System forMobile Communications) med over 750 miljoner anvandare i drygt 175 landervarlden over [90, 2]. GSM har utvecklats i flera steg som har lett till en radmarknadsteknologier som beskrivs nedan.

TDMA/2G

TDMA (Time Division Multiple Access) kallas aven Digital Amps och ar detmobiltelefonisystem som anvands framst i Amerika. Tekniken gar ut pa att varjeradiofrekvens delas upp i time slots som sedan fordelas pa flera samtal, sa attvarje frekvens stoder upp till atta olika simultana datakanaler (samtal). [90, 2]

GPRS/2.5G

GPRS (General Packet Radio Service) bygger pa TDMA och ar en standardfor kommunikation med upp till 115 Kbps. Denna teknik lampar sig bast foratt skicka och ta emot sma mangder data, som till exempel enklare Internet-anvandning. [90]

EDGE/2.5G+

EDGE (Enhanced Data GSM Enviroment) ar en snabbare version av GSM sombygger pa TDMA och tillater dataoverforing med 384 Kbps. Tekniken kallasaven EGPRS (Enhanced GPRS) och tillater support for fler samtal per timeslot an TDMA, vilket okar kapaciteten med upp till tre ganger jamfort med

27

GPRS. EDGE erbjuder harigenom battre stod for rost/tal- och dataoverforingoch aven mojligheter till multimedia- och positionstjanster (GPS). [90, 24]

W-CDMA/3G

W-CDMA (Wide band CDMA) ar en teknologi for tredje generationens UMTS-mobiltelefoni (se nedan) som medfor okad mojlighet att fora over stora mangderdata inom GSM. W-CDMA uppnar hog effektivitet genom en flexibel tilldelningav bandbredd for olika tjanster on demand. Varje signal kodas, modelleras ochsprids vid sandning over en bandbredd pa 5MHz. Denna frekvens ar tillgangligfor alla anvandare samtidigt. W-CDMA anvands framst i Europa och Asien. [90,2]

UMTS

UMTS (Universal Mobile Communications System), eller 3G, ar baserat paGSM och ar den framtida globala standarden for telekommunikation. Syste-met bygger pa ATM (Asynchronous Transfer Mode), en metod for overforingav data i sma paket, och har en hastighet pa upp till 2 Mbps (384 Kbps band-bredd for anvandare). Detta innebar att man, forutom ljud och text, aven kanskicka och ta emot grafik, rorliga bilder och anvanda andra avancerade tjanster,exempelvis sadana som ar GPS-baserade. [62, 90]

Om man jamfor 3G-teknikerna 1xEV-DV (se sektion 3.5.2) och W-CDMA harde ungefar samma kapacitet. Dock talar mycket for W-CDMA som det bastaalternativet for framtida satsning. W-CDMA ar tekniskt sett mojlig att upp-gradera till HSDPA (se nedan), medan 1xEV tycks ha natt sin maxgrans pre-stationsmassigt. W-CDMA kan aven byggas utifran redan existerande natverk,vilket inte ar fallet med 1xEV. Ytterligare en fordel med W-CDMA ar att dennateknik inte kraver lika stor tackning for GPS som 1xEV. Forskare pa Siemens ochEricsson forutspar att 3G-tackning, genom utbyggnad av de komplementara tek-nologierna EDGE och W-CDMA, kommer att uppnas i allt storre utstrackningvarlden over under de narmaste aren. [2, 24]

I Sverige utdelade PTS (Post & Telestyrelsen) ar 2000 UMTS-tillstand tillfoljande foretag: Europolitan, HI3G, Orange och Tele2. Fran och med den 1januari 2002 fick dessa tillgang till det aktuella frekvensutrymmet och teleope-ratoren 3 (HI3G) var forst med att erbjuda 3G i landet. I dagslaget finns tre3G-operatorer i Sverige: Telenor, 3 och Tele2/TeliaSonera och drygt 90 procentav mobilanvandarna har tackning for 3G. [77, 79]

HSDPA/Turbo-3G

HSDPA (High Speed Downlink Packet Data Access) ar en framtida uppgrade-ring av UMTS. HSDPA kallas aven Turbo-3G och aven denna teknik var 3 forstmed att erbjuda i Sverige; i november 2006 kunde teleoperatorens kunder i de-lar av Stockholm, Goteborg och Malmo surfa med en hastighet av 3,6 Mbps. Islutet av ar 2007 kommer samma omraden att ha tillgang till 14,4 Mbps. Dennabandbredd kan jamforas med ett vanligt ADSL-abonnemang for hemmet somofta ligger runt 0,5 Mbps. Det ar alltsa meningen att man, inom en snar framtid,

28

inte skall behova sitta hemma och surfa, utan istallet till exempel kunna liggai en park och ladda ner musik eller titta pa strommade tv- eller videosandningar.

I dagslaget finns det inte sarskilt manga mobiltelefoner som klarar av Turbo-3G,men tva exempel ar Motorolas Razr V3xx och HTC:s Tytn. [31] IT-forskarenDavid Larsson [16] tror emellertid definitivt att fler Turbo-3G-mobiltelefonerkommer att komma under 2007 och att bade TeliaSonera och Telenor kommeratt lansera Turbo-3G under aret. Han sager dock framfor allt att satsningenfran mobiltelefontillverkare under 2007 kommer att handla om stod for bade 3Goch WiFi (WLAN), sa kallat Dual Mode, nagot som aven gynnar framtidensIP-mobiltelefoni. Det storsta hindret idag for “alternativ” anvandning av mo-biltelefoner ar, enligt Larsson, att batteriutvecklingen inte riktigt hanger medden ovriga teknikutvecklingen.

MIMO/Super-3G

MIMO (Multiple-Input-Multiple-Output) ar den form av Turbo-3G som forvantaskunna uppna hogst hastighet (kallas ibland Super-3G). Olika kallor anger olikasiffror, men troligt ar att man pa sikt kommer att na en nedladdningshastighetpa omkring 100 Mbps. Ideen gar ut pa att flera antenner kan nyttjas for parall-ell overforing mellan basstation och terminal, vilket gor att flera datastrommarsamtidigt kan tas emot av en anvandare. [80, 53]

3.5.2 CDMA

Den konkurrerande standarden till GSM, CDMA (Code Division Multiple Ac-cess), ar en annan utbredd teknologi for mobiltelefoni. CDMA har cirka 84miljoner anvandare, de flesta i USA och Sydkorea. [2]

CDMA IS-95/2G

CDMA bygger pa en sa kallad spread spectrum-teknik. Detta innebar att sys-temet inte tilldelar varje anvandare en specifik frekvens, utan later varje kanalanvanda hela spektrumet. CDMA erbjuder en relativt god kapacitet for rost-och datakommunikation, da flera anvandare kan ansluta sig samtidigt. CDMA,som tillhor 2G-standarderna (64 Kbps), ar den underliggande struktur pa vilken3G ar baserad. [90, 62]

CDMA2000 1xRTT/2.5G till CDMA2000 1xEV-DV/3G

CDMA2000 1x (Single Carrier Radio Transmission Technologhy) kallas aven1xRTT och ar en utokning av CDMA som har liknande kapacitet (144 Kbps)som GPRS. Dess kapacitet uppfyller dock ej kraven for 3G och har darfor utvid-gats i tva steg: forst till CDMA2000 1xEV-DO som ar speciellt designat for attoverfora stora mangder data (som till skillnad fran rost ej ar runtime critical).Denna teknik kraver ett separat frekvensband. Nasta steg i utvecklingen mot3G kallas CDMA2000 1xEV-DV och ar byggt for att klara overforing av baderost- och data pa samma frekventiella bandbredd. [2]

29

3.5.3 IP-telefoni

IP-telefoni syftar till att skapa en samlad kommunikationsmiljo for telefoni, e-post, SMS och videosamtal, dar anvandaren har en enda adress for all digitalkommunikation [35]. IP-telefoni ar per definition telefoni som nagon gang garover ett paketformedlande nat; ett IP-nat. Till skillnad fran tekniken bakomUMTS, ATM [62], dar en fast kanal mellan sandare och mottagare upprattas,bygger IP-tekniken pa att “meddelanden” delas upp i paket som vart och ettkan ta olika vagar fran kallan till mottagaren [90].

Det finns flera varianter pa IP-telefoni. Den variant dar Internet anvands sombarare av telefonitjansten kallas ofta for Internettelefoni eller VON (Voice onNet). Terminalerna kan har vara antingen vanliga telefoner eller ett mjukva-ruprogram i en dator. En annan form av IP-telefoni sker da overforingen gorsgenom ett privat intranat eller ett WAN (Wide Area Network). Denna losningkallas vanligen VoIP (Voice over IP), aven om termen IP-telefoni ofta anvandsaven har. IP kan aven anvandas i transportnatet hos en etablerad telefonope-rator, vilket, enligt PTS [76], ar ett intressant satt att minska kostnaderna fortransittrafiken.

Den 26 oktober 2006 presenterade Cellip som forsta svenska foretag mobil IP-telefoni [75]. Enligt en rapport gjort av In Stat [42] havdas att den tradlosaIP-telefonin kommer att vaxa fran dagens 2% till hela 73% fram till 2009. Eu-ropa forutsags att bli den storsta marknaden for Dual Mode-mobiltelefoner, ialla fall initialt.

3.6 Mobiltelefonmodeller

Dagens mobiltelefoner blir allt mer multifunktionella verktyg. Tidigare behovdeman en mobil for att ringa, en digitalkamera for att fotografera, en mp3-spelarefor att lyssna pa musik och en handdator for att halla reda pa adresser och tider.Numera gar det att fa alla dessa funktioner i en mobiltelefon; dessutom medforuppkoppling mot Internet mojligheter att lasa e-post och utfora olika typer avinformationssokning.

Vart arbete syftar till att ta fram en multimodal demo som kan koras pa enmobiltelefon. For att multimodaliteten skall tjana nagot uppenbart syfte ochvara intressant kravs att enheten som programmet kors pa klarar av att presen-tera information och utfora kommandon pa ett for anvandaren tillfredsstallandesatt. Overforing av ljud och bild kraver en snabbare dataoverforing an vad viar vana vid. Med Turbo-3G tar det, enligt Nokias Sigurd Leth [44], 3-5 sek attlasa in en vanlig hemsida till mobiltelefonen. Med vanlig 3G-prestanda tar detnastan 10 ganger sa lang tid (beraknat pa en hastighet av 0,4 Mbps) och medGPRS eller EDGE annu langre tid. Harav forstas att 3G, och helst Turbo-3G,bor stodjas av mobiltelefoner, om man skall ha nagon gladje av multimodalafunktioner.

Det finns en uppsjo av mobiler som har stod for 3G i Sverige. Turbo-3G ar,som sagt, pa gang under aret. Har foljer nagra modeller som ar utrustade med

30

Turbo-3G: Motorola Razr V3xx, HTC Tytn, Nokia N95, Samsung P930, i520och i600 samt LG Joy.[49, 31, 3, 11, 61, 52]

Om den applikation som skall goras inte kraver den snabba overforing somTurbo-3G medfor, okar antalet valbara terminalalternativ drastiskt. Framforallt tillkommer ett antal mobiltelefoner med forbattrad funktionalitet vid an-vandning av dataprogram och e-postbehandling. Nagra av de framsta modeller-na ar: Fujitsu-Siemens Pocket Loox T830, Nokia N61 och Sony Ericsson P990i.Samtliga av dessa fungerar aven som PDA:er och har pekskarm. [68, 25]

31

3.7 Sammanfattande diskussion om multimoda-litet pa marknaden

I detta kapitel har vi presenterat vara resultat fran den marknadsinriktade delenav forstudien.

Anvandarmassiga fortjanster

Vi har kommit fram till att multimodalitet kan bidra till en stor forbattringav anvandarvanligheten i kommunikation med interaktiva system. Exempel pasystem som drar stor nytta av att tillata multimodal kommunikation ar bok-ningssystem och kartlasningssystem, dar visuella utdata kan anvandas for attlosa problem med informationspresentation, grounding och bekraftelser.

En orsak till att just kartbaserade system vinner effektivitet pa att tillata mul-timodal in- och utdata ar att rumsliga begrepp ar svara att beskriva med talademedel, bade pa uttrycks- och forstaelseniva. For anvandaren okar chanserna attbli forstadd om indata uttrycks multimodalt, till exempel kan felhantering ochanaforlosning avhjalpas. Knapptryckning eller skrift kan vara goda alternativatt ta till da taligenkanningen misslyckas.

Vi har aven sett att information ibland ar olamplig for systemet att presenteramed tal, varfor alternativa utdatakanaler eller multimodal utdata kan forbattraforstaelsen av systemet.

Utbud av multimodala tjanster

Med den multimodala teknikens manga fordelar i atanke ar det overraskandehur fa multimodala produkter som idag finns ute pa marknaden. Nar man be-traktar de befintliga produkterna marker man att ingen av dem ar multimodalpa det satt att man kan ge indata med flera modaliteter simultant.

De produkter som gor ansprak pa att ge multimodal utdata ar ofta riktademot specifika anvandargrupper. Till exempel anvands interaktiva agenter, somuttrycker sig genom munrorelser och gester, som hjalpmedel for horselskadadepersoner. Multimodala produkter som riktar sig mot allmanheten ar sallsynta.V-Enables sokningstjanst och Apple iPhone ar exempel, men de representeraren mycket enkel form av multimodalitet som alltsa inte overensstammer mednagon av de definitioner vi har funnit belagg for. Harav foljer att systemen intebehover ha nagon synergistisk tolkningsmekanism.

Tradlos teknik for multimodala granssnitt

Lampliga terminaler for allmant bruk av multimodala granssnitt innefattar mo-biltelefoner och PDA:er. Vanliga stationara datorer ar inte lampliga pa grundav att det inte ar naturligt att fora en talad dialog med dem, samt att de oftastsaknar stod for pekskarm och liknande. Dessutom anvands datorer inte i mobilasituationer, dar vi sett att multimodalitet kan komma till sin fulla ratt.

32

Dagens mobiltelefoner och PDA:er anvands framst for samtal, sms, fotogra-fering och enklare hjalpfunktioner som miniraknare och anteckningar. For attklara av dessa funktioner pa ett bekvamt och intuitivt satt finns inget behov avatt kunna ge multimodala kommandon. Utrustning som pekskarm har darforannu inte har prioriterats av mobiltelefontillverkare.

Det mesta tyder pa att en utokad anvandning av mobiltelefoner/PDA:er aratt vanta. Redan idag fungerar mobiltelefoner som bade mp3-spelare och webb-lasare, nagot som kraver nya satt att kunna interagera med systemet. Det ar intesarskilt attraktivt att surfa eller soka efter musik bara med hjalp av en knapp-sats. Om man daremot kompletterar anvandargranssnittet med pekskarm ellertal oppnas nya mojligheter; man kan latt klicka pa lankar och traversera kom-plicerade menystrukturer.

Den tradlosa natverksoverforingen av information har under de senaste arenforbattrats drastiskt, vilket har resulterat i att det ar mojligt att sanda rost ochdata simultant med 3G-teknik. Detta ar en forutsattning for att kunna koraintressanta multimodala program som utnyttjar telefonnatet pa mobila termi-naler. Varken utvecklare eller anvandare av mjukvara for mobiltelefoner harannu haft tid att vanja sig vid denna nya potential, vilket tydliggors av detsmala utbud av mobila multimodala tjanster som idag finns pa marknaden.

33

Kapitel 4

Design

Detta kapitel beskriver designen av ROSE. Sektion 4.1 ger en noggrann be-skrivning av demoscenariot, inklusive instruktioner for att starta och anvandaapplikationen.1 Sektion 4.2 beskriver och motiverar nagra av de viktigaste de-signmassiga val vi har gjort for att maximera anvandarvanligheten. Sektion 4.3redogor till sist for de resurser vi har valt att anvanda i utvecklingsarbetet.

4.1 Demoscenario

ROSE ar byggt pa talsvarsplattformen SSC som har utokats med funktionali-teten att visa bilder i en mobiltelefon. For narvarande ar systemet inte korbartfran en mobil terminal, se sektion 6.2, utan har i stallet testats med en emula-tor fran Sun Microsystems J2ME Wireless Toolkit, se sektion 4.3.2. Emulatornmotsvarar en mobiltelefon funktionsmassigt med undantaget att man inte kanringa fran den, darfor maste anvandaren forst starta emulatorprogrammet franen dator och sedan ringa till SSC fran en telefon.

I sin nuvarande form ar ROSE en demo som ar tankt att visa hur interaktionmed ett multimodalt bokningssystem kan ga till. Da ROSE kors i en emulatorhar vi valt att spela in en videosekvens dar en anvandare bokar ett rum. Detfinns ingen anledning att ROSE skall klara av att utfora nagra uppgifter utoverde som ingar i det scenario som spelas i filmen.

Initialt syns en valkomstbild pa skarmen. Nar anvandaren anger vilken tidhan/hon vill boka ett rum visas en karta dar rummen ar farglagda baseratpa tillganglighet, se figur 4.1. Lediga rum ar grona, upptagna rum ar roda. Allarum ar numrerade sa att man skall kunna referera till dem utan att veta rum-mens namn.

I detta lage kan anvandaren ange vilka krav som rummet maste uppfylla. Mankan till exempel saga: “Jag behover 10 platser.”. ROSE uppdaterar darefterbilden sa att de rum som motsvarar detta kriterium highlightas, se figur 4.2.

1For en fullstandig specifikation av den dialog som ar implementerad i ROSE hanvisas tillsektion 5.1.

34

Figur 4.1: /03.png - ROSE visar rummens status.

Nar anvandaren har bestamt vilket rum han/hon ar intresserad av, visas in-formation om det valda rummet, se figur 4.3. Man kan darefter valja att bokadetta rum eller inte. I det senare fallet atergar ROSE till det lage dar alla in-tressanta rum ar markerade (figur 4.2).

Om anvandaren valjer att boka rummet visas en bekraftelse pa utford handlingi form av att det aktuella rummet fargas gult enligt figur 4.4. Darefter avslutassamtalet fran SSC.

For att avsluta bokningstjansten i ett tidigare skede kan man nar som helstsaga: “avsluta”.

4.2 Designmassiga losningar

Har motiveras de viktigaste val som har gjorts vid designen av interaktionenmed ROSE.

4.2.1 Referens till rum

Hur man later en anvandare av ett multimodalt system referera till olika objektar en viktig fraga. Eftersom ROSE har tillgang till en skarm for visuell utdata,finns en hel del alternativa losningar. For att ta reda pa vilken referensform somar mest lamplig i ROSE har vi studerat forskning pa amnet.

35

Figur 4.2: /04.png - ROSE visar vilka lediga rum som uppfyller anvandarensonskan.

Gemensam referentiell grund

I det multimodala lagenhetssokningssystemet AdApt ser anvandarna en kar-ta over ett omrade dar olika lagenheters positioner ar markerade. Man harmojlighet att referera till lagenheter och omraden antingen med musklickningeller med talade refererande uttryck. Systemet har utvarderats av bland andraHjalmarsson [33] och Skantze [66] som noterar att anvandarna sallan anvandermusen for att peka ut ett visst objekt; det ar mycket vanligare att endastanvanda talindata.

Det konstateras att talare ofta valjer sitt bruk av refererande uttryck uti-fran hur den andra parten uttrycker sig, detta for att etablera en gemensamgrund for dialogen att vila pa. Pa liknande vis paverkar systemets presentationav enheterna anvandarnas satt att referera till desamma. Betecknar systemetlagenheterna med fargnamn, anvander garna anvandarna farger nar de talar.Om AdApt daremot omtalar objekten med deiktiska uttryck eller beskrivandenominalfraser, valjer anvandarna helst motsvarande tillvagagangssatt. Nar detgaller platser valjer man helst att saga namnet som star skrivet pa kartan.

Skantze tror att denna koordinationsprincip mellan system och anvandare berorpa att manniskor till en borjan ar osakra pa systemets kapacitet och att man se-dan litar pa vad man har hort och sett. Hjalmarsson tanker att forklaringen tillatt manniskor sallan anvander musklickningar for att valja objekt pa skarmenkan ha sin grund i att systemets motsvarighet till detta forfarande, namligen

36

Figur 4.3: /06.png - ROSE visar information om det valda rummet.

Figur 4.4: /08.png - ROSE visar en bekraftelse pa att rummet ar bokat.

37

farglaggning av objekt, skiljer sig mot musklickning i for hog grad for att dessareferenssatt skall kunna kopplas samman.

Rummen i ROSE

Var referentiella losning ar utformad pa ett sadant satt att rummen pa denkarta som forst visas ar numrerade. Detta ar systemets presentation av rummenoch saledes anvandarens initiala intryck av dessa. Anvandaren kan antingen om-tala rummen med deras namn, exempelvis “Vivaldi” eller “Mozart”, eller medtillhorande siffror. I det senare fallet kan antingen siffrorna uttalas eller knappasin pa telefonens knappsats. Observera att namnen forst tillkannages en bit in idialogen, da anvandaren redan har visat intresse for nagot av rummen. For attkanna till och darigenom kunna anvanda rummets namn, behover man alltsavara val fortrogen med miljon eller ha visat intresse for rummet tidigare.

ROSE talar om rummen med omvaxlande namn och deiktiska uttryck, till ex-empel “detta rum”. Variationen motiveras av att vi vill skapa en sa naturligdialog som mojligt. Valen av referensform i de enskilda fallen beror pa om detfinns nagra oklarheter om vilket rum som asyftas. Nar ROSE sager: “Vill duboka detta rum?”, star rumsnamnet pa skarmen. Observera att siffrorna endastfinns for att anvandaren skall kunna identifiera rummen enkelt; hela rumsnamnhade formodligen knappt fatt plats pa skarmen.

4.2.2 Indataformer

En potentiell referensform som hade kunnat erbjudas anvandaren av ROSEhade varit att kunna referera till rummen med deiktiska uttryck pa samma sattsom systemet. Detta har vi valt att inte tillata, av diverse orsaker.

Komplementaritet och redundans

Pa grund av att SSC:s tolkningsformaga ar begransad till tal och DTMF (sesektion 4.3.1) har ROSE inte stod for pekskarm eller utrustning for att lasa avrorelser. Den direkta manipulationen som skulle kunna komplettera talmodali-teten ar darfor begransad till enklare knappval. Med dessa medel kan vi tankaoss tva typer av multimodal indata som en anvandare skulle kunna anvanda foratt framfora ett kommando, dessa illustreras till exempel av foljande yttranden:

1. “Jag vill boka rum ett.”

2. “Jag vill boka detta rum.”

samtidigt som anvandaren trycker “1” pa mobiltelefonens knappsats2.

Omfattande studier har genomforts angaende vilka indatamodaliteter som oftaanvands tillsammans och ensamma vid anvandartester av multimodala system.Martin et al. [46] listar sex typer av kombinationer mellan modaliteter: kom-plementaritet, redundans, ekvivalens, specialisering, parallellism och overforingoch jamfor frekvensen av dessa i tio anvandartester. Andelen uni-/ respektive

2Observera att bada dessa alternativ fungerar i ROSE eftersom DTMF-indatan artillracklig for att tolka betydelsen.

38

multimodala kommandon jamfors ocksa.

Komplementara kommandon, det vill saga sadana uttryckta med hjalp av tvaeller fler modaliteter som kompletterar varandra och darmed behover kombi-neras, visar sig vara anvandbara for att forbattra taligenkanningen och gorainteraktionen snabbare. Vid deiktisk referens ar komplementaritet dock framstfordelaktig da ett omrade eller en mangd objekt asyftas. I situationer som denexemplet illustrerar asyftas endast ett objekt (rum 1), varfor det ar enklare attanvanda ett unimodalt rostkommando an ett multimodalt yttrande, som exem-pel 2).

Martin et al. noterar aven att redundanta kommandon sallan tas upp i anvandar-tester, men i de fall dar dessa diskuteras ar frekvensen over lag lag. Nar redun-dans anvands handlar det oftast om fortlopande rorelser som kombinerades meden kommandoartad, direkt manipulativ talstil. Diskreta gester kombineras sallani kommunikativ dialogartad talstil.

Vi vill givetvis att anvandaren skall kunna uttrycka sig sa fritt och naturligtsom mojligt, snarare an att behova ge direkta kommandon till systemet. Ris-ken att anvandaren skall behova anvanda redundant indata, som vid 1) bedomsdarfor vara liten.

Uni och multimodala kommandon

Nagot som brukar tas upp i empiriska studier av multimodala system ar andelenkommandon uttryckta uni- respektive multimodalt. Martin et al. uppmarksam-mar att andelen multimodala kommandon skiftar kraftigt mellan olika anvandar-tester. I en undersokning av ett QuickSet-system av Oviatt et al. [59] uttrycktes19% av kommandona genom att anvandaren kombinerade talad och pennskri-ven indata, 63.5% med endast tal och resterande 17.5% med unimodal skrivenindata. 95% av anvandarna uttryckte dock i intervjuer gjorda efter experimen-tet att de foredrog det multimodala interaktionssattet.

Petrelli et al. [60] har gjort experiment dar de vanligaste indataformerna varskrift och tal. De noterar att anvandare med datorvana valde multimodala ut-tryckssatt i mycket hogre grad an anvandare utan, vilket ledde till att de senarebehovde skriva nastan dubbelt sa manga ord i sina skrivna yttranden.

4.2.3 Utdataformer

Sturm et al.[70] undersoker vilka nackdelar som finns med system som endastbygger pa talad kommunikation. Ett problematiskt omrade ar hur den slut-giltiga informationen, det vill saga resultatet av interaktionen, presenteras foranvandaren. Sturm et al. menar att manniskor ofta har svart att forsta be-kraftelser, i deras fall reseangivelser, i talad form. Dessutom verkar det varasvart for manniskor att bygga riktiga mentala bilder av funktionaliteten ochstatusen hos ett system som endast ger talad utdata. Detta resulterar blandannat i stor osakerhet om vad man kan saga vid olika tillfallen.

Sturm et al. sager att tillagg av visuell feedback okar mojligheten for anvandare

39

att forsta hur systemet ar uppbyggt, vilket underlattar kommunikationen. Dess-utom kan denna fungera som implicit bekraftelse, som hjalper anvandaren attupptacka feltolkningar som gjorts. Detta bidrar till att man kan satta tali-genkanningens sakerhetsniva relativt lagt, for att minimera behovet av explicitbekraftelse, och anda slippa oroa sig for konsekvenserna av de fall av false ac-ceptance3 som detta medfor.

Som presentationsform for information i ROSE har vi valt visuell utdata i formav bilder4 tillsammans med en guidande rost. Bilderna forestaller en karta overfem konferensrum. Under dialogens gang farglaggs rummen for att illustreraeffekten av anvandarens handlingar pa skarmen. De farger som anvands ar:

• Rod - Rummet ar upptaget.

• Morkgron - Rummet ar ledigt.

• Ljusgron - Rummet ar ledigt och uppfyller anvandarens onskemal.

• Gul - Rummet ar bokat av anvandaren.

Utover kartbilden finns, for vart och ett av de tillgangliga rummen, en korre-sponderande informationsbild, som visas da anvandaren angivit att han/honar intresserad av rummet. Denna bild listar detaljerad information, som hurmanga platser och vilken utrustning som finns i rummet. Nar informationsbil-den visas forsvagas kartbilden i bakgrunden nagot for att det skall vara latt attlasa informationen.

4.3 Resurser

Denna sektion beskriver de byggstenar vi har anvant oss av for att utvecklaROSE.

4.3.1 SSC

SSC (Self Service Center) [1] tillhor TeliaSoneras talsvarsplattformsutbud ochanvands for att bygga sjalvbetjaningstjanster at foretag.

Uppbyggnad

Tjansterna realiseras i tjansteservern, en Apache Tomcat, med hjalp av Javaoch VoiceXML. Till tjansteservern ar modulerna for TTS (Text-To-Speech) ochASR (Automatic Speech Recognition) anslutna via en MGW (Media GateWay).I figur 4.5 ses strukturen for SSC. Bilden visar att ett inkommande samtal garfran telefonnatet, PSTN, vidare till SSC, genom styrningscentralerna CallGui-de eller VCC. MGW:n hanterar den inkommande trafiken fran anvandarna ochhamtar aktuellt dialogflode for respektive tjanst fran tjansteservern. Anvandareav tjanster i SSC kan uttrycka sig genom DTMF eller tal. For upplasning avinformation kan inspelade talfraser eller TTS utnyttjas. ASR-komponenten i

3False acceptance innebar att ett yttrande misstolkas, men sakerhetsnivan ar sa lagt stalldatt det accepteras som en riktig tolkning.

4Bilderna kan ses i sektion 4.1.

40

SSC utgors av Nuance 8.0; har specificeras vilka indatayttranden och knapp-tryckningskombinationer som ar mojliga i tjansten. Uppbyggnaden i SSC ar

Figur 4.5: Strukturen for SSC -plattformen.

redundant, vilket betyder att alla komponenter finns i tva upplagor. Om nagotskulle ga fel i en komponent finns alltid en likvardig enhet som kan ta over. Ingenav upplagorna ar emellertid primar; nar ett samtal inkommer till SSC finns ing-et satt att forutse vilken upplaga av systemet som kommer att svara. Det finnsinte heller nagra garantier for att ett samtal haller sig inom samma gren av SSC ;tjansteservern i den ena upplagan kan till exempel anvanda MGW:n i den andra.

Innan en tjanst kan laggas in i produktionsmiljo, vilket innebar att den ar enfungerande produkt, maste dess tillforlitlighet sakerstallas. Detta pa grund avatt man vill isolera de fardiga systemen sa att de inte paverkas om ett icke testatsystem orsakar problem. Under verifieringsprocessen finns en utvecklingsmiljoatt tillga. Denna har inte lika hoga krav pa funktionalitet och sakerhet som denslutgiltiga miljon. Den har heller inte tillgang till nagra publika natverk for attminimera risken for intrang.

SSC som plattform for ROSE

Eftersom SSC ar en ren talsvarsplattform finns inga medel for att kunna vi-sa bilder, vilket var onskvart for en grundplattform for ROSE. Denna funktionmaste astadkommas med externa medel. Dessutom finns inget stod for synergis-tisk tolkning, da maskineriet bakom SSC ar byggt for VoiceXML. Att byta utVoiceXML som formsprak i SSC mot en multimodal webbstandard, till exempelEMMA eller SCXML, ar inte mojligt. For ovrigt har inget av de multimodalaalternativen uppnatt webbstandardstatus; de ar an sa lange bara arbetsskisser.Det ligger forstas i TeliaSoneras intresse att var demo bygger pa befintlig teknik

41

inom foretaget. Vi ser ingen vits med att valja nagot annat alternativ an SSC,exempelvis Nuances eller Kirusas multimodala plattformar, som dessutom arkommersiella och darmed hade inneburit en utgift for foretaget.

4.3.2 Java

Modulerna i SSC ar skrivna i Java, som erbjuder verktyg for att konstruerakorbara mobiltelefonprogram som behovs for att utveckla den grafiska kompo-nenten i detta projekt. De viktigaste av dessa verktyg beskrivs har.

JavaME

JavaME (Java Micro Edition) [72] ar en samling API:er for utveckling av pro-gram till mobila enheter, sasom PDA:er och mobiltelefoner. Java ME ar uppde-lat i tva baskonfigurationer:

• CDC (Connected Device Configuration) som kan anvandas for ap-plikationer for kraftfullare mobila enheter.

• CLDC (Connected Limited Device Configuration) som lampar sigbattre for enheter med begransat minne som mobiltelefoner.

Ett vanligt tillvagagangssatt vid utveckling av system for mobila enheter ar attkombinera en konfiguration med en profil, som definierar en mangd hogniva-API:er som anger applikationens funktionalitet. MIDP (Mobile Information De-vice Profile) ar en profil som ofta anvands tillsammans med CLCD for att skrivaMIDlets, sma korbara Javaprogram for mobiltelefoner. Dessa kraver endast 160-512 kB minnesutrymme for Javaplattformen.

MIDlet

En MIDlet bestar av ett litet jar-arkiv som laddas ned till en mobil enhet medhjalp av antingen http, USB eller bluetooth. Programmet startas sedan franmobiltelefonen och vanligast ar att det kraver en Internetuppkoppling for attkunna utfora sin uppgift. MIDleten ansluts da via http till en servlet. Harifran farMIDleten information som den sedan kan presentera for anvandaren pa skarmen.

For att konstruera MIDlets pa ett enkelt satt finns flera olika SDK:er. Blanddessa kan namnas: Sun Microsystems J2ME Wireless Toolkit och Sony Erics-sons och Nokias egna SDK:er. For detta projekt valdes J2ME Wireless Toolkit2.5 for att begransa valet av terminal sa lite som mojligt.

Servlet

En servlet [71] ar ett program som ligger pa en Javaserver och tillsammansmed en webblasare formar en klient/server-struktur. Klientens forfragan skickasi form av en ServletRequest till servleten, som svarar med en ServletResponse.Om man vill att svaret skall delas upp i mindre bitar som presenteras en efteren, till exempel i ett bildspel, maste man anvanda sig av server push.

42

MultipartResponse

Ett Javabaserat satt att implementera server push erbjuds av O’Reillys Multi-partResponse [54], som ar en speciell typ av ServletResponse. En HTML-sidasom skall visas pa detta satt specificerar MIME-typ i huvudet enligt foljande:content type=”multipart/x-mixed-replace”. Detta informerar webblasaren om attsidan ar uppdelad i mindre delar som skall visas separat. Dessa delar specificeraregna innehallstyper, vilket innebar att innehallet hos de olika svarsdelarna kanvariera sinsemellan.

4.3.3 VoiceXML

VoiceXML (se sektion 3.4.1) anvands i SSC for att definiera dialogstrukturen.Med detta menas att for vart och ett av anvandarens yttranden ange pa vilketsatt dialogtillstandet skall paverkas, det vill saga vilken regel som skall tillampasharnast samt hur informationen given i yttrandet skall integreras. Detta kangoras genom att satta variabler och skicka information till servlets eller andraVoiceXML-sidor. Meddelanden skickas synkront i VoiceXML, vilket innebar attnar man har skickat information till exempelvis en servlet, maste man vanta paett svar innan ovriga VoiceXML-kommandon kan exekveras.

4.3.4 Nuance

Nuance-modulen i SSC ar ansvarig for ASR, det vill saga att kanna igen ytt-randen fran anvandaren och oversatta dessa till falt (slots), som har namn ochvarden. Namnen ar atomara och anvands av VoiceXML for att referera till falten,vardena ar variabler som satts nar regeln aktiveras. Variablerna integreras se-dan i VoiceXML i tolkningsfasen.

Taligenkanningen baseras pa grammatiker i Nuance GSL (Grammar SpecificLanguage)-format. En regel har har formen av ett reguljart uttryck, som angervilka yttranden som skall kannas igen samt ett falt som genereras da regelnmatchar ett yttrande. For att skriva GSL-grammatikerna till ROSE anvandesNuance Grammar Builder, ett program som underlattar denna process.

43

4.4 Sammanfattande diskussion om designen avROSE

I detta kapitel har vi presenterat designmassiga aspekter av ROSE. Designenav systemet kan delas upp i tva huvuddelar. Dels behovde vi komma fram tillhur en demoapplikation bor utformas for att pa ett lampligt satt pavisa fordelarmed multimodalitet, dels behovde vi ta ett beslut angaende vilken grundplatt-form och eventuella andra resurser som vi skulle anvanda for att bygga dennaapplikation.

Utformning

Vi kom i forstudien fram till att multimodalitet gor sig bast i en rumslig doman,dar visuella medel kan anvandas for att oka forstaelsen och sakerheten i dialo-gen. Eftersom vi hade mobiltelefoner i atanke passade det att lata systemet gevisuell respons via skarmen. Ett inom forskningsvarlden aterkommande redskapfor att realisera ideen om visuella fordelar ar kartor av olika slag. Vi fann attbokningssystem var en lamplig typ av tjanst att implementera pa grund av attvi kunde utnyttja just kartor for att ge anvandaren en visuell bild av domanen.Som doman for bokningssystemet valde vi konferensrum, ett allmangiltigt amnefor TeliaSoneras foretagskunder.

Valet av mobiltelefon som terminal gjorde att indatamojligheterna var begransa-de jamfort med vad som ofta ar fallet i de forskningsprojekt som innefattarkartor. Forvisso har vissa mobiltelefoner pekskarm och penna for att ge indata,men vi kom fram till att denna funktionalitet inte skulle bidra till en vasentligforbattring av anvandarvanligheten for den applikation vi skulle utveckla. Deresurser som fanns tillgangliga hade dessutom inte stod for nagra andra indata-former an rost och DTMF; darmed var dessa sjalvklara val i ROSE.

Byggstenar

Fragan om vilka byggstenar vi skulle anvanda i den forestaende implementatio-nen av ROSE bestamdes till stor del av vart val av plattform. Vi kom fram tillatt SSC skulle fungera som bas for systemet. Detta resulterade i att vi anvandeJava och VoiceXML som utvecklingsverktyg.

For att astadkomma den utokade funktionalitet som mojliggjorde en kombi-nation av talad och visuell output behovde foljande fragor besvaras:

• Hur skall den grafiska informationen overforas?

• Vilka komponenter behovs for att uppratthalla kommunikation mellan enserver och ett program i en mobiltelefon?

• Hur skall kontakten upprattas pa enklast mojliga satt? Vi vill att anvanda-ren endast skall behova utfora en aktivitet (starta programmet eller ringaett samtal).

44

Overforing av grafisk information

I ett tidigt skede hade vi tre olika teorier for hur man skulle kunna overforagrafisk information till mobiltelefonen for att visa bilder pa skarmen:

• Att utveckla ett litet klientprogram till mobiltelefonen som man kanladda ned och darigenom kommunicera med en server.

• Att skapa en webbapplikation som visar bilderna och sedan surfa in padenna med mobiltelefonen.

• Att direkt fran en server skicka Internetlankar till bilder till en kompo-nent i mobiltelefonen som kan hamta bilden i fraga.

Webbapplikationsalternativet visade sig olampligt eftersom det hade kravt formycket av anvandaren, som bade hade behovt ringa SSC och oppna webblasarenoch ga till ratt adress sjalv. Detta alternativ hade aven kravt en webblasare somstodjer server push och oss veterligen ar Opera (8.6 och senare versioner) denenda befintliga mobila webblasare med detta stod5.

Att skriva ett program som kan hamta bilder pa Internet med hjalp av lankarsom skickas fran en server hade varit en relativt komplicerad uppgift. Oss veter-ligen finns det inga fordefinierade verktyg for att skriva program av detta slag,varfor man hade behovt skriva ett sadant fran grunden. Darmed aterstod endastdet forsta alternativet, som ocksa visade sig vara passande i sammanhanget.

Grafiska komponenter

Eftersom det befintliga SSC -ramverket var byggt pa Java var det enklast attbygga de grafiska komponenterna i samma miljo. JavaME erbjuder metoder foratt implementera ett klient/server-forhallande mellan en MIDlet i en mobiltele-fon och en servlet som kan nas med http. Servern i SSC kan skicka informationtill en servlet med VoiceXML, vilket innebar att kedjan mellan servern ochmobiltelefonen ar komplett.

Upprattande av data- och telekanal

For att uppratta ett telefonsamtal och en http-anslutning till en MIDlet med ettenda anvandarkommando kan man tanka sig att antingen lata samtalet skapaen anslutning till MIDleten eller automatiskt starta ett samtal ifran MIDleten.Ett tillvagagangssatt for att automatiskt ansluta till en MIDlet fran en server armed den sa kallade Push Registry-tekniken, introducerad i den senaste versionenav MIDP, 2.0 [55]. Push Registry innebar att man kan registrera MIDleten viden viss port, sa att MIDleten vacks nar information inkommer till denna port.

Den Push Registry-teknik som implementeras i MIDP 2.0 klarar dock inte avatt ansluta till en MIDlet som inte redan har startats. Detta innebar att PushRegistry inte ar en lamplig teknik for var applikation; vi vill inte att anvandaren

5Det ar svart att hitta information huruvida server push stods eller inte av mobila webb-lasare. Vi har darfor testat de webblasare som fanns pa TeliaSoneras mobiltelefoner, namligenOpera, Access NetFront, Pocket Internet Explorer, Nokia Series 40 Browser och Nokia Mi-nimap.

45

bade skall behova starta MIDleten och ringa manuellt.

For ROSE valdes darfor det andra alternativet; MIDleten startar automatisktett samtal till SSC nar en anslutning till servleten har gjorts.

46

Kapitel 5

Implementation

Detta kapitel ger en teknisk beskrivning av implementationen av ROSE. Denroststyrda delen av systemet ar implementerad enligt de riktlinjer som SSC ger;de viktigaste komponenterna ar ASR-delen och tjansteservern, som beskrivs isektionerna 5.2 respektive 5.3. Till dessa moduler har vi adderat en servlet for attta hand om overforing av grafisk information och en MIDlet for visning av bilderi mobiltelefonen. Sektionerna 5.4 respektive 5.5 ger en bild av den principiellauppbyggnaden av dessa komponenter. Den tankta strukturen av ROSE kan sesi figur 5.1. Vi har inte till fullo uppnatt denna struktur, dock ar den nuvarandelosningen implementerad enligt samma princip.1

Figur 5.1: Den tankta uppbyggnaden av ROSE.

5.1 Dialogspecifikation

Dialogflodet i ROSE definieras i nedanstaende diagram, se figur5.2. De storstaboxarna representerar systemets yttranden i de olika dialogstegen. Det andra

1Skillnaderna forklaras i sektion 6.2.

47

stycket i boxen anger vilken ljudfil som skall spelas upp och det sista, om detforekommer, vilken bild som skall visas. Nar flodet befinner sig i det tillstandsom en romb med texten Val? representerar, vantar systemet pa indata frananvandaren. De utgaende pilarna fran dessa romber ar markerade med en an-givelse av vilken information som systemet forvantar sig att fa av anvandaren.Ett undantag ar pilarna markerade med No match/time out, som anger att ytt-randet inte har uppfattats, eventuellt pa grund av att den givna informationeninte var den som systemet forvantade sig. I detta fall aktiveras felhanterings-proceduren, se figur 5.3.

Boxarna i felhanteringsdiagrammet anger vad som skall sagas forsta och andragangen ett yttrande inte har kannts igen. Felhanteringen innebar att flodet ihuvuddialogen stannar upp tills ett yttrande har kannts igen och dialogen kanga vidare.

Den information som anvandaren ger bestammer nasta steg i dialogen och kanaven innehalla data som sparas. Variabeln <rum> innehaller till exempel informa-tion om vilket rum anvandaren har valt. Beroende pa vardet av denna variabelspelas olika ljudfiler upp och olika bilder visas. Dialogflodet implementeras medhjalp av VoiceXML i tjansteservern, se sektion 5.3.

48

Figur 5.2: Flodesdiagram for huvuddialog.

49

Figur 5.3: Flodesdiagram for felhantering.

50

5.2 ASR

Taligenkanningen i SSC skots av en ASR-modul fran Nuance. Denna bygger paen grammatikfil, skriven i GSL-format, som definierar regler for vad anvandarenav systemet kan saga och vad som skall returneras da ett specifikt yttrande harkannts igen.

5.2.1 Grammatikreglernas form

Uppbyggnaden exemplifieras av foljande regel2, som bland annat kanner igenyttrandet “Jag behover 10 platser”.

Denna regel har namnet ROSE krav och ar definierad som public, vilket innebaratt den kan anvandas externt av tjansteservern. Det reguljara uttrycket angervilka yttranden som ar mojliga for att aktivera regeln. Nar detta sker, det villsaga ett yttrande matchar det reguljara uttrycket, genereras ett falt med nam-net pers och vardet nr. Vardet ar en variabel som refererar till ett ROSE nr,som ar en intern hjalpregel.

Den atom som ROSE nr returnerar hamnar alltsa i nr, returneras av ROSE kravoch anvands sedan av tjansteservern enligt de monster som ingar i applikatio-nens VoiceXML-dokument.

5.2.2 Grammatikregler i ROSE

De fullstandiga reglerna i ROSE.gsl finns att lasa i Bilaga A.1.1. Har foljer enangivelse av vilka regler som ingar i systemet och exempel pa vilka yttrandensom dessa kan kanna igen.

ROSE YN ans

-Ja.-Mm, det vill jag.-Aa tack.-Na, det vill jag inte.-Nej.

2Observera att detta ar en forenkling av den regel, ROSE krav, som ingar i var grammatik.

51

ROSE boka

-Jag skulle vilja boka ett rum.-Jag behover ett konferensrum idag.-Jag tankte reservera ett rum pa mandag formiddag.-Jag skulle vilja ha ett konferensrum i eftermiddag.-Boka ett rum!

ROSE tid boka

-Jag vill reservera ett rum idag klockan ett.-Jag behover ett rum klockan tretton pa onsdag.-Boka ett konferensrum i overmorgon klockan ett!

ROSE kl

-Klockan ett.-Klockan tretton.-Ett.

ROSE krav

-Vi ar minst sju personer.-Jag behover ungefar atta platser.-Rummet behover vara for nio pers.-Jag behover ungefar atta platser.-Vi kommer nog att bli cirka tio stycken.

ROSE rum

-Jag ar intresserad av Mozart.-Jag behover information om Vivaldi.-Jag skulle vilja se lite information om rum nummer ett.-Kan jag fa titta lite narmarte pa fyran.dtmf-4

5.3 Tjansteserver

Implementationsdelen av tjansteservern bestar i att framstalla VoiceXML-doku-ment som anger hur de genererade falten fran ASR-modulen skall tas om hand,vilken information som skall skickas till servleten och vilka promptrar som skallspelas upp. Dessutom bestams har hur dialogen skall borja och avslutas, samtvad som skall handa vid ovantade situationer, som till exempel att anvandarenlagger pa luren eller sager nagot som inte kanns igen.

52

5.3.1 Applikationsstruktur

VoiceXML-dokumenten innehaller formular som var och en motsvarar en dia-logtur fran systemet3.

Ett formular kan till exempel se ut sa har4:

Nar detta formular besoks spelas den angivna ljudfilen ROSE 003.wav upp ochsystemet uttalar prompten: “Behover du nagot speciellt?”5. Formularet har se-dan som uppgift att tolka anvandarens svar, som skall kannas igen av gramma-tikregeln ROSE krav, se ovan. Taggen <grammar src> anger att det ar dennaregel som skall matchas mot yttrandet. Om matchningen lyckas utfors de kom-mandon som ingar i <filled>, i detta fall satts variablerna Bild och Goto idoch en forfragan skickas till servletens doPost-metod. Bild motsvarar namnetpa den bild som skall visas och Goto id anger ID:t pa det formular som skallbesokas harnast.

Om taligenkanningen misslyckas exekveras <nomatch>, vilket resulterar i attden prompt som anges dar spelas upp och anvandaren far ett nytt forsok attuttrycka sin onskan. Om anvandaren ar tyst gor <reprompt/>, i <noinput>, atthela formularet kors om.

5.3.2 Tolkning

I ovanstaende exempel tas ingen hansyn till faltvardena, det vill saga om an-vandaren behover 8, 9 eller 10 platser. Vill man daremot tolka vad anvandarenhar sagt, och till exempel visa olika bilder for olika indata, gors det enligt foljandeprincip inuti <filled>.

3Med dialogtur menar vi har att systemet antingen sager nagonting, visar en bild ellerbade och. Undantagen ar de tva formular som tar hand om handelserna att anvandaren ellersystemet avslutar samtalet.

4Observera att detta ar en forenkling av formularet krav, som ingar i var applikation.5Promptrarna bestar av ljudfiler som har spelats in internt pa TeliaSonera i forvag.

53

Variabeln Antal satts till vardet for faltet pers och anvands sedan for att avgoravilken bild som skall visas. I ROSE forekommer denna typ av tolkning endast daanvandaren valjer vilket rum han/hon vill boka. Det ar aven i detta dialogstegsom DTMF tillats, dock finns ingen anledning att gora en synergistisk tolkningav talade yttranden kombinerade med DTMF-knapptryckning som konstaterasi sektion 4.2.2.

5.3.3 VoiceXML-dokument i ROSE

Flodesdiagrammet for dialogen i ROSE implementeras av VoiceXML-dokumen-ten root.vxml och index.vxml, se Bilaga A.2.1. root.vxml innehaller doku-mentvariabler och overgripande kommandon; index.vxml definierar strukturenpa dialogen med hjalp av foljande formular:

init

Prompt: Hej och valkommen till konferensbokaren ROSE.Ljudfil: ROSE 000.wavBild: /02.png

boka

Prompt: Vad kan jag hjalpa dig med?Ljudfil: ROSE 001.wavGrammatikregler: ROSE boka eller ROSE tid bokaBild: eventuellt /03.png

kl

Prompt: Vilken tid avser bokningen?Ljudfil: ROSE 002.wavGrammatikregel: ROSE klBild: /03.png

krav

Prompt: Du ser nu vilka rum som ar lediga klockan tretton. Behover du nagotspeciellt?Ljudfil: ROSE 003.wavGrammatikregel: ROSE kravBild: /04.png

54

select

Prompt: Foljande rum uppfyller dina onskemal. Vilket rum ar du intresseradav?Ljudfil: ROSE 004.wavGrammatikregel: ROSE rumBild: /05.png eller /06.png

ruminfo

Prompt: Du ser nu information om <rum>Ljudfil: ROSE 005.wav eller ROSE 006.wav

sist

Prompt: Vill du boka detta rum?Ljudfil: ROSE 007.wavGrammatikregel: ROSE YN ansBild: /07.png, /08.png eller /04.png6

shutdown

Prompt: Du har bokat <rum> klockan tretton. Tack for ditt samtal och valkommenater.Ljudfil: ROSE 008.wav eller ROSE 009.wav

De tva sista formularen tar hand om handelserna att anvandaren eller sys-temet avslutar samtalet. Formularen heter hangup och exitForm och har intesamma form som ovriga formular eftersom de inte motsvarar nagon dialog-tur. De har till exempel inga korresponderande grammatikregler eller bilder.hangup besoks nar en bokning har gjorts for att fa systemet att avsluta sam-talet eller anvandaren har sagt “avsluta”. Sjalva avslutningen gors genom atthandelsen (event) telephone.disconnect.hangup kastas. Nar denna handelsefangas skickas information till servleten att anslutningen till MIDleten skallstangas, darefter tar exitForm vid. Detta formular anvander sig av exit.jsp,se Bilaga A.2.2, for att avsluta samtalet.

5.3.4 Applikationsmiljo

Den tjansteserver som ROSE ligger pa ingar i SSC:s utvecklingsmiljo vilketbetyder att inga publika natverk kan nas. Darfor kommer man idag endast atROSE internt pa TeliaSonera. Orsaken till att ROSE ligger i denna miljo dis-kuteras i sektion 6.2.

Tjansteserver i SSC ar en Apache Tomcat, en Javabaserad server, till vilkenman kan ladda upp sina applikationer i form av sa kallade WAR-arkiv. EttWAR-arkiv har en bestamd struktur; kallkod, externa bibliotek och andra re-surser laggs in i en webbatkomlig katalog. Denna innehaller aven en XML-filsom beskriver hur URL-adresser mappas till olika komponenter i arkivet. I

6Om anvandaren inte vill boka rummet. I detta fall spelas prompten Okej vi forsoker igen(ROSE 010.wav) upp.

55

WAR-arkivet till ROSE aterfinns VoiceXML-dokument, start- och exitsidor ijsp-format7, servleten, grammatikfilen, javadocfiler, ljudfiler och de Javabiblio-tek som behovs, se figur 5.4. Vi har aven inkluderat MIDleten i WAR-arkivetfor att den skall vara lattatkomlig for nedladdning fran en mobiltelefon8.

Figur 5.4: Filstrukturen i ROSE.

5.4 Servlet

Kallkoden for servleten aterfinns i Bilaga A.3. Servleten innehaller tva huvudme-toder, doPost och doGet, som tillsammans utgor lanken mellan tjansteservernoch MIDleten. Nar en forfragan skickas fran tjansteservern till servleten anropasdoPost. Darmed satts instansvariablerna goto next och name till vardena forGoto id respektive Bild. Darefter skapas ett svar till tjansteservern i form avett temporart VoiceXML-dokument som automatiskt exekveras. I detta doku-ment pekas nasta form som skall besokas ut med hjalp av vardet pa goto next.Pa sa vis uppratthalls dialogen. For att koordinera utdata tidsmassigt har vivalt att lata vanta 1,5 sekunder mellan instantieringen av name och sandningenav svaret utfors.

Nar en MIDlet ansluter till servleten, vilket gors nar applikationen startas, skic-kar den en forfragan till doGet. Servleten gar da in i en loop som fortloper underhela samtalet. Denna loop ar ansvarig for att skicka svar till MIDleten varje gang

7Dessa tillhandaholl TeliaSonera och de bifogas i Bilaga A.8Adressen till denna ar: ../ROSE/ROSE MIDlet/ROSE MIDlet.jar.

56

name satts om9. Detta beteende skiljer sig nagot fran hur servletkommunikationbrukar ga till; det skickas endast en forfragan till servleten men den maste gene-rera flera svar. Av denna anledning anvands MultipartResponse, som ar ett svaruppdelat i flera steg. Varje gang name satts om skickas en MultipartResponsemed det nya vardet till MIDleten. Loopen i doGet kontrollerar en gang i sekun-den huruvida name har satts om.

For att undvika att anslutningen till MIDleten stangs pa grund av inaktivi-tet, vilket sker i vissa mobiler efter en viss tid, skickas ett “dummy”-bildnamn10

till MIDleten efter 10:e sekunder ifall name inte har satts om.

Nar goto next satts till en “avslutningsform” avslutas loopen och utdatastrom-men till MIDleten stangs. Darmed ar svaret avslutat.

5.5 MIDlet

I dagens upplaga av ROSE ar servleten lokalt placerad i SSC:s utvecklingsmiljo,vilket gor att MIDleten inte kan ansluta om den kors ifran en extern mobiltele-fon. Detta kraver att servleten ligger pa en publik webbserver. Emulatorn somanvands som substitut for en mobiltelefon fungerar under forutsattning att denkors ifran en dator som ar ansluten till TeliaSoneras interna natverk. Kallkodenfor MIDleten aterfinns i Bilaga A.4.

5.5.1 Grafiskt granssnitt

MIDleten manipulerar mobiltelefonskarmens utseende genom objekten Displayoch Form. Formerna satts en i taget pa Displayen, och deras innehall visasda pa skarmen. En form kan innehalla text, bilder och kommandon, som arkopplade till mobiltelefonens knappar. Kommandon utgors av Javametoder somspecificeras i MIDleten och aktiveras nar knappen i fraga trycks ner. I ROSEfinns en Form som innehaller den bild som visas pa skarmen. Forutom denna bildfinns ett avslutningskommando. Orsaken till att mojligheten att paverka ROSEvia knapptryckningar ar begransad till ett enda kommando ar att systemetsgrafiska komponent skall vara styrbar fran SSC i sa hog grad som mojligt.

5.5.2 Anslutning till servleten

Nar MIDleten startas forsoker den automatiskt att skapa en anslutning, enHttpConnection, till servleten i ROSE samt en indatastrom pa denna. I dettaskede uppmanas anvandaren att godkanna att mobiltelefonen nyttjar Internet.For att ROSEs bildvisning skall fungera maste anvandaren tillata Internetan-slutning; om han/hon nekar avslutas ROSE. Adressen till servleten ar angiven ikoden till MIDleten, den ar alltsa gomd fran anvandaren. Nar MIDleten anslutertill servleten skapas en forfragan till servletmetoden doGet.

9Undantaget ar nar ingen bild skall visas.10Detta ar det aktuella (gamla) vardet av name.

57

Figur 5.5: /01.png - Valkomstbild i ROSE.

5.5.3 Uppringning till SSC

Den forsta bilden visas i dagens upplaga av ROSE direkt nar anslutningen argjord, se figur 5.5. Har uppmanas anvandaren att ringa till SSC. Utan ett in-kommande samtal till SSC finns inga mojligheter att skicka nagra bilder tillMIDleten. I emulatorversionen kan man inte ringa direkt ifran MIDleten, ut-an samtalet maste goras fran en extern telefon. Om ROSE skulle koras franen mobiltelefon hade det varit att foredra att samtalet till SSC kopplas au-tomatiskt nar anslutningen till servleten har skapats, for att minimera antaletknapptryckningar som maste goras for att kunna paborja bokningen. MIDletenskulle da uppratta ett samtal genom att en sa kallad platformRequest gors;harvid forsoker mobiltelefonen ringa ett nummer som ar forbestamt i MIDleten.Anvandaren behover bara godkanna att samtalet kopplas.

5.5.4 Mottagande av bildnamn

Bilderna i ROSE lagras i MIDleten, det som overfors fran servleten ar bildnamnsom pekar ut dessa bilder11. Overforingen sker genom att MIDleten skapar ettfalt av bytes, som, nar ett bildnamn tas emot fran servleten, oversatts tillen textstrang. Utifran denna textstrang skapas ett Image-objekt baserat pa denbild strangen pekar ut. Det bildnamn som tas emot maste alltsa overensstammamed namnet pa en av de bilder som finns lagrade i MIDleten.

11Vi har framstallt bilderna med hjalp av bildbehandlingsprogrammet Adobe R©Photoshop R©.

58

Eftersom MIDleten kors som ett jar-arkiv bor antalet bilder vara begransat,sa att inte det program som skall koras pa mobiltelefonen blir for stort. I RO-SE ingar atta bilder, vilket gor att jar-arkivets storlek uppgar till ungefar 500kB. Vid en utokning av ROSEs funktionalitet skulle ett sa lagt antal bilder bliotillrackligt, och addition av fler bilder skulle gora att MIDleten blir for stor foratt koras i en mobiltelefon12. For en losning pa detta problem se sektion 6.4.3.

5.5.5 Visning av bilder

Nar MIDleten har anslutit till servleten inleds en while-loop som fortloper tillsservletens utdatastrom stangs, det vill saga samtalet avslutas, eller anvandarenavslutar MIDleten fran mobiltelefonen. Nar detta sker avslutas aven indata-strommen och anslutningen till servleten stangs.

Loopen borjar med att skapa ett byte-falt, se ovan. Darefter anropas meto-den read pa indatastrommen med detta bytefalt som argument. Denna metodgor att MIDleten vantar passivt pa att ta emot ett bildnamn. Nar ett bildnamnhar lasts och en bild har skapats tas den gamla bilden bort fran Formen och dennya bilden laggs till. Slutligen satts den uppdaterade Formen pa Displayen,vilket resulterar i att skarmen ritas om. Da detta sker i ett steg och kartornahar exakt samma form och storlek, framstar omritningen som en uppdateringav skarmen, snarare an ett byte fran en bild till en annan.

12Storleken bor inte overstiga 512 kB enligt sektion 4.3.2.

59

5.6 Sammanfattande diskussion om implemen-tationen av ROSE

Detta kapitel har tagit upp strukturen for de viktigaste komponenterna i ROSE :ASR-modulen och tjansteservern i SSC samt servleten och MIDleten som utgorsystemets grafiska komponent pa implementationsniva. De tva forstnamndakomponenterna var val som var sjalvklara da SSC valts som grundplattform.De moduler som SSC -systemet behovde utokas med for att kunna visa bildergav daremot upphov till flera intressanta implementationsmassiga vagval.

Lagring och overforing av bilder

I var losning representeras utdata av diskreta bilder vilka lagras i MIDleten sompng-filer. MIDleten “lyssnar” hela tiden efter information fran servleten och narny sadan har tagits emot ritas skarmens bild om. Den grafiska information somoverfors fran servleten utgors av en textstrang som refererar till den bild somskall visas.

En alternativ losning hade varit att lagra bilderna i servleten och skicka overhela bilder till MIDleten for visning, vilket hade lett till att MIDletens stor-lek hade blivit betydligt mindre, men overforingstiden langre. Information somskickas till MIDleten maste konverteras till ett falt av bytes. I det forra falletbehover endast en strang konverteras, vilket ar en mycket enkel process jamfortmed att konvertera en hel bild. Overforingstid for den grafiska informationen aren viktig fraga eftersom systemet maste hinna visa bilden atminstone samtidigtsom den talade utdatan ges for att inte dialogen skall stanna upp.

Dessutom ar overforing av en strang sakrare an av en hel bild. I det sistnamndafallet ar risken storre att inte hela byte-faltet kommer fram samtidigt, vilketleder till att MIDleten tror att den fatt en bild och skapar ett bildobjekt utanatt all information har natt fram. Ett alternativ till att ha diskreta bilder somutdata ar att anvanda omritningsmetoder och skicka over kommandon for hurdessa skall anropas till MIDleten. Denna metod diskuteras i sektion 6.4.3.

Automatisk uppdatering av skarmen

Vi vill naturligtvis att var demo skall vara sa anvandarvanlig som mojligt, varforautomatisk uppdatering av skarmen ar en nodvandig del av implementationen.Det vore otankbart att anvandaren skulle behova skapa en anslutning till serv-leten manuellt varje gang en ny bild skall visas, da skulle vitsen med multimo-daliteten ga forlorad. Demon skall visa fordelen med multimodal teknik genomatt presentera grafik och tal simultant. Enligt var mening skulle ett systemdar anvandaren tvingas klicka fram varje bild som skall visas vara samre anett unimodalt system anvandarvanlighetsmassigt, da en sadan losning innebarstandiga avbrott i dialogen.

Det finns tva grundlaggande losningar pa problemet att uppdatera skarmenvid ratt tillfalle: polling och server push. Det forstnamnda alternativet visadesig orealistiskt da tiden det tar att skapa en anslutning fran servleten ar relativtlang. Samtidigt behovs korta pollingintervall om MIDleten skall polla servleten

60

for att inte anvandaren skall behova vanta pa att fa se en bild. Vi har observeratatt tiden fran att en anslutning till servleten oppnas till att en bild kan tas emotvarierar mellan en och ett par sekunder. Detta gor att pollingintervallet blir forlangt for att flytet i dialogen skall bibehallas.

Med server push undgar man dessa problem, eftersom servleten sjalv kan med-dela MIDleten da ny information skall skickas. For att implementera server pushanvands MultipartResponse.

61

Kapitel 6

Diskussion och slutsatser

Detta kapitel diskuterar och sammanfattar vart projekt. Sektion 6.1 utvarderarROSE i dess nuvarande form. Forst tas anvandarvanlighetsaspekter upp. Dar-efter utvarderas den grafiska funktionaliteten i systemet. Sektionen avslutasmed en diskussion om vilken nytta TeliaSonera kan ha av vart arbete. Sektion6.2 tar upp tva viktiga amnen for framtida realisering av systemet i produk-tion, namligen integrering med SSC:s miljoer samt vilka krav som stalls pa denslutgiltiga terminalen. Sektion 6.3 beskriver dagens forutsattningar for multimo-dalitet i mobiltelefoner och ger var syn pa framtiden for detta amne. Kapitletavslutas med sektion 6.4 som tar upp mojliga utokningar av ROSE som intefatt plats inom projektets ramar.

6.1 Utvardering av ROSE

Syftet med vart projekt var att visa multimodalitetens anvandarmassiga fordelar.For att gora detta skulle vi forst genomfora en omfattande forstudie och sedanutifran resultaten av denna designa en applikation.

I forstudien framkom att mobiltelefoni var ett lampligt amne att behandla;har fanns tydliga anvandarmassiga vinster som skulle kunna goras med hjalp avmultimodala granssnitt. Vi fann att TeliaSoneras resurser for talsvarslosningarformodligen skulle ga att utnyttja vid utvecklingen av var demo. Dock medfordevart interna plattformsval en rad komplikationer, vilka var svara att forutse iett tidigt skede.

6.1.1 Anvandarvanlighet

Den slutgiltiga demon exemplifierar flera situationer da multimodaliteten bidrartill en forbattrad anvandarvanlighet.

• En bildlig representation av en rumslig doman gor att forstaelseni dialogen forenklas och forbattras. Man behover inte skapa sig en men-tal bild av domanen som riskerar att inte motsvara verkligheten, utankan direkt se rummens bokningsstatus, ungefarliga storlek och inbordesplacering.

62

• Visuell respons fran systemet ger en implicit grounding som minime-rar antalet dialogturer.

• Presentationen av information om rummen gors genom en informa-tionsruta. Istallet for att rabbla upp en stor mangd information visaralltsa systemet denna pa skarmen i en lattlast lista. Anvandaren behoverdarmed inte halla information i minnet samtidigt som han/hon lyssnarpa ny information. Dessutom kan man valja ut den information som arintressant och ignorera resten, vilket inte ar mojligt i fallet med taladrespons.

• En bekraftelsebild som visar att en lyckad bokning har gjorts ar en tydligverifikation av att tillstandet i domanen har uppdaterats. Aven dennabild inkluderar information om det bokade rummet, som anvandaren kanaterga till i ett senare skede.

• DTMF som komplement till talad indata gor att anvandaren har ettsakert alternativ att tillga vid problem orsakade av bristfallig ASR.

Fordelar som inte exemplifieras i demon ror framst mojligheter att ge indata.Det finns ingen synergistisk tolkning i ROSE och vi har inte implementerat stodfor pekskarm, vilket gor att anvandaren ar ganska begransad till talad indata.I de fall dar DTMF tillats gar detta inte att kombinera med tal. En annankompromiss med anvandarvanligheten ar den fasta strukturen i det scenario somdemon klarar av. Man maste till exempel genomga ett antal steg for att bokaett rum aven om man redan fran borjan vet vilket rum man vill boka. Dennabegransning har gjorts pa grund av att en dialog dar en anvandare direkt bokarett rum inte skulle kunna ge lika goda exempel pa multimodalitetens fordelar,da for fa bilder skulle behova visas.

6.1.2 Grafisk komponent

I grundideen ingick att utoka SSC -plattformen med en metod for att visa bilder.Denna process gav upphov till ett flertal problematiska situationer. Av dessasituationer har vi lost de som ar nodvandiga for att bildvisningen i demon skallfungera.

Metod for bildvisning

Framst behovdes en effektiv metod for att visa bilder pa en mobiltelefonskarm.Till denna uppgift valdes en MIDlet, pa grund av att detta alternativ latt kun-de integreras med den Javamiljo som SSC -plattformen bygger pa. MIDlets ar ihuvudsak tankta att ansluta till servlets i ett klient/serverforhallande samtidigtsom kopplingen franSSC:s tjansteserver till en servlet ar relativt enkel att fa tillstand. Detta genomfors med hjalp av VoiceXML:s fordefinierade procedur foratt skicka information till servlets. I och med valet av MIDlet som programvaru-komponent i mobiltelefonen och servlet som mellansteg behovdes alltsa endasten koppling goras for att komplettera kedjan mellan SSC och mobiltelefonensskarm.

63

Kommunikation mellan servlet och MIDlet

Det var dock inte helt oproblematiskt att skapa och uppratthalla kopplingenmellan servleten och MIDleten. En vanlig klient/server-konfiguration visade sigolamplig da vi inte ville krava att anvandaren skulle behova generera upprepadeforfragningar till servleten.

Vi ville ocksa undvika att krava flera handlingar fran anvandaren for att initi-era interaktionen med ROSE. Darmed fann vi tva alternativ: antingen att lataett samtal fran SSC starta MIDleten eller lata MIDleten uppratta ett samtaltill SSC. Det forstnamnda hade skapat problem vid identifikationsprocessen omman skulle utnyttja befintlig teknik inom TeliaSonera, se alternativ 1 i sektion6.2.2. Dessutom visade sig denna losning svar att genomfora med de verktygsom ingar i JavaME. En uppringning fran MIDleten ar dock enkel att genereramed metoder i denna plattform.

Problemet med relationen mellan servleten som server och MIDleten som klientlostes med MultipartResponse, som later en forfragan besvaras med en responsuppdelad i flera steg. Valet av MultipartResponse innebar emellertid en viss be-gransning av antalet tankbara terminaler, da vissa mobiltelefoner saknar stodfor detta svarsformat. Ett alternativ till MultipartResponse, sa kallad Chunkedtransfer encoding [18], specificeras i HTTP 1.1. Vi ansag oss inte hinna fordjupaoss i denna teknik inom ramarna for detta projekt, utan valde den JavamassigaMultipartResponse-metoden.

Synkronisering av utdata

I den valda losningen loser Javas maskineri den potentiella svarigheten att setill att bilderna visas vid exakt ratt tidpunkt. Overforingen av bildinformationar namligen sa snabb att bilderna visas pa skarmen nastan omedelbart da ettkommando skickas fran servern. Eftersom vi vill att bilderna skall synkroniserasmed den talade responsen ar det fordelaktigt att kunna styra bildvisningen ifrantjansteservern, varifran man aven kan kontrollera talkanalen.

Tidsaspekten av bildvisningen i den slutgiltiga versionen av ROSE kunde losaspa ett tillfredstallande vis; bilderna visas strax innan den talade utdatan spelasupp, vilket ger ett bra flyt i dialogen. Man kan idag gora en simulerad bokningpa under 40 sekunder. Under denna period hinner man se minst fem bilder.

6.1.3 TeliaSoneras nytta av projektet

TeliaSoneras intresse for detta projekt lag i att ta reda pa hur multimodalitet kanbidra till forbattringar i framtida kundlosningar. Vi presenterar har vara tankarom i vilken utstrackning denna kunskap har forvarvats genom vart arbete.

Teoretiska bidrag

Vart projekt har tydliggjort i vilket skede den multimodala tekniken befinnersig. Dessutom har vi presenterat dagens forutsattningar for att integrera data-och telekommunikation. De mojligheter som nutida resurser erbjuder har pavi-sats, i synnerhet de som finns tillgangliga for bruk inom foretaget. Vi har aven

64

behandlat problematiska situationer som uppkom i vart praktiska arbete, badesadana som vi har kunnat losa inom ramarna for detta projekt och sadana somkvarstar i dagens system. For de forstnamnda beskrivs de metoder vi har anvanti vara losningar, for de sistnamnda ges utforliga instruktioner for hur man skullekunna gora for att avhjalpa problemen vid framtida utveckling.

Vi har aven givit exempel pa typer av tjanster som kan forbattras genom utnytt-jande av multimodal teknik. Flera exempel pa modaliteter som kan anvandashar presenterats, likasa lampliga kombinationer av modaliteter for in- och utda-ta i olika situationer. Genom att beskriva nagra av de multimodala produktersom finns ute pa marknaden idag, ger vi en indikation pa vilken ambitionsnivasom ar lamplig att anta for projekt inom denna sfar.

ROSE som demonstrationsverktyg

Det framsta anvandningsomradet for ROSE fran TeliaSoneras sida ar som mul-timodalt demonstrationsverktyg i mote med kunder. Man onskar ersatta denvideosekvens fran InterVoice som i dagslaget anvands for detta andamal. I detoptimala fallet skulle en representant for TeliaSonera kunna kora ROSE med sinmobiltelefon som enda verktyg vid demonstrationstillfallet. Pa sa vis skulle intebara den multimodala tekniken visas upp utan ocksa enkelheten i anvandningenav ett multimodalt system.

Projektet har resulterat i en videodemonstration av en egenproducerad mul-timodal produkt. Denna pavisar en rad anvandarmassiga fordelar med multi-modalitet. Systemet ar utformat med ambitionen att TeliaSoneras kunder lattskall kunna inse dessa fordelar; ROSE behandlar en for kunderna central doman(konferensrum). Vi antar att de flesta kunder har erfarenhet av unimodala kon-ferensrumsbokningssystem styrda med tal eller direkt manipulation och bor, ge-nom att se var videosekvens, inse vilka vinster man kan gora genom att anvandatal och bild tillsammans.

Det sistnamnda malet har vi dock inte lyckats fullfolja, av diverse orsaker. Dessaforanleder den diskussion som aterfinns i narmast foljande sektioner.

6.2 Integration med SSC:s miljoer

Ett mal med projektet var att ROSE skulle vara korbart i en mobiltelefon. Foratt detta skall vara mojligt kravs dock att applikationen kan laggas in i en publikmiljo, sasom SSC. SSC:s utformning staller vissa krav pa applikationer for att deskall kunna inhysas. Att uppfylla dessa krav visade sig bli en alltfor omfattandeuppgift for vart projekt. Vi presenterar i denna sektion utforliga beskrivningarav hur man skulle kunna ga tillvaga for att gora ROSE kompatibelt med SSC:sproduktionsmiljo.

65

6.2.1 Gemensam lank mellan SSC och MIDlets

For att servleten skall kunna skicka information fran SSC till MIDleten behovsen lank mellan dess metoder doPost och doGet. I dagens losning anvander RO-SE instansvariabler i servleten for att astadkomma denna effekt. Detta fungerareftersom den utvecklingsmiljo vi anvander endast har en tjansteserver. Sa langebara en MIDlet ansluter skapas endast en instans av servleten och darmed ga-ranteras att bildnamnen skickas till samma servlet som MIDleten ar ansluten till.

Vid en inlaggning av ROSE i SSC:s produktionsmiljo hade var nuvarandedesign av servleten inte varit tillfredsstallande. SSC anvander tva parallellatjansteservrar vilket innebar att det inte finns nagon garanti for att MIDletenoch tjansteservern anvander samma servletinstans, aven om bara en MIDletskulle vara ansluten.

Losningen ar alltsa att ha en lank i servleten som ar gemensam for alla instan-ser. Pa sa vis har det ingen betydelse vilken servlet som tar emot, respektiveskickar, bildnamnen. Denna lank skulle till exempel kunna utgoras av en da-tabas dar A-numret eller B-numret1 fungerar som unik nyckel som mappas tillaktuellt bildnamn. I denna losning maste doGet-metoden som anropas av MID-leten polla databasen pa liknande vis som den i dag kontinuerligt kontrollerarden interna bildnamnsvariabeln. Denna tankta struktur kan ses i figur 6.1.

Ett annat tillvagagangssatt for att losa lankfragan ar att utnyttja en RMI -databas [38].

Figur 6.1: En tankt uppbyggnad for ROSE i SSC:s produktionsmiljo.

1Beroende pa losning av problemet i sektion 6.2.2.

66

6.2.2 Ihopkoppling av data- och telekanaler

Ytterligare ett problem som skulle uppsta, vid forsok att satta in ROSE i sinnuvarande form i SSC, ar att koppla ihop telefonsamtal med den MIDlet somsamtalet ringdes ifran. Eftersom flera MIDlets kan tankas forsoka ansluta tillservleten vid samma tidpunkt, maste systemet kontrollera vilken informationsom skall skickas till vilken MIDlet. SSC maste alltsa, pa nagot satt, kunnaidentifiera MIDleten for att kunna koppla ihop datakanalen till denna med rattinkommande samtal.

SSC kan utvinna A-numret, det vill saga det nummer som ringt till SSC, saden enklaste losningen hade varit om man ifran MIDleten pa nagot satt kun-de ta reda pa numret till den mobiltelefon varifran MIDleten startats. I sa fallskulle MIDleten kunna skicka detta nummer till servleten, som tillsammans medbildnamnet alltid far information om vilket A-nummer som ar aktuellt.

Detta forfarande tycks emellertid inte vara genomforbart. Flera utvecklare avmobila applikationer har diskuterat fragan pa Nokias utvecklingsforum ForumNokia [12] och har konstateras att telefonnumret till den mobiltelefon dar MID-leten kors ar okant for MIDleten. Faktum ar att telefonnumret inte finns lagratnagonstans i mobiltelefonen, utan endast hos natverksoperatoren, dar en mapp-ning mellan IMSI - (SIM-kortets serienummer) och telefonnummer gors.

Trots att man inte kan utvinna telefonnummer ifran MIDleten finns nagratankbara tillvagagangssatt for att koppla samman data- och telekanalen, varavtva presenteras har.

Identifikationsalternativ 1: B-nummer

TeliaSonera anvander redan en metod med unika B-nummer (uppringda num-mer) for att styra samtal. Identifikation genom B-nummer skulle aven varamojlig for att koppla samman data- och telekanalerna i ROSE. Identifikations-processen, som illustreras av figur 6.1, skulle i sa fall byggas enligt foljandemonster:

1. En MIDlet ansluter till servleten.

2. Servleten hamtar ett unikt B-nummer fran en nummerpool med 0771-nummer. Samtidigt associeras detta nummer med ett ID2, samt eventuellaovriga parametrar. Allt detta skickas till MIDleten.

3. MIDleten ringer upp 0771-numret och kommer da till samtalsstyrnings-centralen VCC som kopplar vidare samtalet till SSC.

4. Tjansteservern i SSC gor en forfragan till servleten med utgang fran detunika B-numret, ID och ovriga parametrar plockas fram.

5. ID:t skickas tillbaka till tjanstservern. 0771-numret har nu gjort sitt ochkan bli ledigt igen for andra MIDlets att bruka. ID:t fungerar i fortsattningen

2Detta ID kan exempelvis vara en exakt tidpunkt, en sa kallad time stamp, och antingengenereras i MIDleten eller servleten.

67

som ihopparningsnyckel som dels SSC anvander for att ange destinatio-nen for bilder eller andra typer av grafisk information och dels servletenanvander for att ”fraga” bilddatabasen om information att visa.

Det finns vissa osakerhetsmoment med dessa unika B-nummer; exempelvis finnsen risk att nagon annan ringer just det 0771-numer som har tilldelats en MIDletinnan denna hinner ringa. I sa fall far den andra telefonen den forsta telefonensID fran databasen. Nar sedan den ”riktiga” MIDleten ringer, finns inte 0771-numret markerat som upptaget langre och inget ID finns att hamta, vilket goratt ihopkopplingen misslyckas. Denna risk har minimerats genom att MIDle-ten direkt forsoker att uppratta ett samtal till SSC efter att anslutningen tillservleten har gjorts. Darmed drojer det bara nagra fa sekunder mellan det attdatakanalen och telekanalen upprattas.

En annan fraga som maste beaktas, ifall denna identifikationsmodell skall imple-menteras, ar att man maste ha tillrackligt stora pooler av 0771-nummer for attklara av att hantera all MIDlet-trafik, det vill saga att alltid ha lediga B-nummertill hands.

Identifikationsalternativ 2: IMSI-nummer

Den har identifikationsmetoden bygger pa att man i SSC bygger upp en liknan-de databas som den natverksoperatorerna har, dar A-nummer kan slas upp medhjalp av IMSI-nummer. For att astadkomma en dylik databas maste man regi-strera sin MIDlet innan man kan fa tillgang till bokningssystemet. Forsta gangenman startar MIDleten behover man utvinna IMSI-numret fran mobiltelefonen,skicka detta till servleten, darefter be anvandaren att ange sitt telefonnummermanuellt och uppdatera databasen med en ny ingang.

Rent praktiskt skulle utvinnandet av IMSI-numret goras med hjalp av ett lagniva-API som kan komma at mobiltelefonens hardvara. Pa Forum Nokia kan manhitta exempel pa applikationer som anvander sig av ETel multimode API foratt utfora denna uppgift. Identifikation med hjalp av IMSI-nummer ar troligtvissakrare an med temporara B-nummer. Dock har denna metod nackdelen att enregistreringsprocedur for MIDlets kravs, samt att B-numret maste hardkodas iMIDleten.

6.2.3 Brandvaggar

For att fa lagga in en applikation i SSC:s produktionsmiljo, som ar publik, masteden forst vara noga testad i SSC:s utvecklingsmiljo. Detta visade sig bli proble-matiskt att genomfora i fallet med ROSE, da utvecklingsmiljons brandvaggarfor tillfallet inte gar att oppna. For att ROSE skall kunna koras fran en mo-biltelefon maste servleten vara placerad pa en publik webbserver, vilket alltsainte kunde goras i SSC:s utvecklingsmiljo. Darmed kunde inte applikationen tes-tas for att eventuellt laggas in i SSC. I framtiden kommer det att vara tillatetatt, i bade utvecklings- och produktionsmiljon, oppna for externt inkommandeIP-trafik mot exempelvis SSC:s webbserver.

68

6.3 Forutsattningar for multimodalitet i mobil-telefoner

Ett multimodalt system med en funktionalitet som liknar ROSEs ar i dagenslage mycket svart att utforma pa ett generellt satt. Modellspecifika egenska-per hos mobiltelefoner bidrar till utvecklingsprocessen for mobila applikationerkannetecknas av ett flertal val, dar antalet terminaler som systemet fungerarpa begransas pa ett eller annat vis. For att kunna visa bilder i en MIDlet medlyckat resultat, samtidigt som ett rostsamtal pagar, kravs att mobiltelefonen harstod for 3G. Vi har identifierat en rad ytterligare omraden dar forbattringar borgoras, for att programutvecklare skall kunna designa generella applikationer formobiltelefoner. Denna sektion inleds med en uppstallning av dessa omraden ochfoljs av en diskussion om hur dessa problemomraden paverkade valet av termi-nal for ROSE. Slutligen ger vi var syn pa hur tekniska framsteg kan bidra tillatt forbattra forutsattningarna for multimodalitet i mobiltelefoner i framtiden.

6.3.1 Standardisering av applikationsmiljoer

Det ar svart att hitta allmangiltiga standarder for mjukvaruutveckling av pro-gram for dagens modeller.

Skarmatkomst fran MIDlets

JavaME erbjuder inte nagra metoder for att anpassa storleken pa bilder eftermobiltelefonskarmen, vilket gor att program utvecklade med denna plattformmaste “skraddarsys” for de olika terminaler de ar avsedda for. Da storleken pamobiltelefonskarmar varierar kraftigt fran modell till modell, kan en bild somverkar lagom stor pa en storre skarm delvis hamna utanfor skarmen pa en mindremodell. For att forsakra sig om att bilderna i ett system visas i sin helhet ialla mobiltelefoner maste bildstorleken anpassas efter den minsta forekommandeskarmen vilket gor att bilderna kommer att framsta som onodigt sma pa allastorre mobiltelefoner. I nasta version av MIDP valkomnar vi en metod for attkunna komma at parametrar for skarmens storlek fran MIDleten.

Generella SDK:er

Stora mobiltelefontillverkare som Nokia och SonyEricsson har forsokt att losaproblemet med bristfallig standardisering genom att ta fram egna SDK:er for attutveckla mobila applikationer. Detta ar en effektiv losning som gor att program-utvecklare i hog grad slipper de bekymmer som uppstar da man vill anpassa ettegenskrivet program for en speciell mobiltelefon. Dock forutsatter denna losningatt man i forvag vet vilken modell som man kommer att vilja kora programmetpa. Detta ar en stor nackdel for foretag som TeliaSonera. Eftersom kunder somkan vara intresserade av produkten sannolikt inte har samma slags mobiltele-fon, ar det omojligt for programutvecklaren att veta vilken SDK som ar lamplig.

Aven den SDK som anvands i ROSE, som inte ar bunden till en speciell mobil-telefonleverantor, gav upphov till kompabilitetsproblem da programfilerna integick att installera pa vissa modeller.

69

Konfigurerbara sakerhetsinstallningar

Olika mobiltelefoner har olika sakerhetsmassiga installningsmojligheter och ni-vaer. Till exempel fragar alla modeller som vi har testat om man tillater inter-netanslutning, da MIDleten vill ansluta sig till servleten. Pa vissa mobiltelefonerhar man valmojligheter for i vilken utstrackning applikationen far anvanda sigav Internet: en hel session eller bara “den har gangen”. Om man bara kan tillataInternetuppkoppling en gang i taget, aterkommer fragan om man, nagon gangunder session, behover ateransluta.

Vi har aven stott pa andra sakerhetsrelaterade forfragningar som behover ac-cepteras for att installera och kora MIDleten; dessa kan till exempel rora tro-vardigheten hos en MIDlet. Vissa av sakerhetsbarriarerna kan undvikas genomatt man signerar MIDleten. Detta kan till exempel goras av foretaget Veri-sign, som da oftast kraver bevis pa utvecklarens identitet eller organisations-tillhorighet [12]. Alla sakerhetsforfragningar som maste besvaras stor naturligt-vis dialogen och bor vara sa fa som mojligt for att optimera naturligheten ochanvandarvanligheten.

Franvaro av samtalsruta

Nar ett samtal pagar visar de flesta mobiltelefoner en ruta pa displayen medinformation om B-nummer och/eller nagon form av bild pa den andra parten.For att bilderna som ingar i ett multimodalt system skall kunna visas kravsatt denna ruta kan inaktiveras, alternativt att MIDleten tar “overhanden” overmobiltelefonens grafik. Merparten av de modeller vi har testat har tyvarr ingenav dessa funktioner, utan samtalsrutan har visats samtidigt som MIDleten harkorts i bakgrunden. Detta gallde till exempel for alla SonyEricssons modeller,dock ej for Nokias. Samtalsrutan gor att bilderna inte syns och darmed ar sys-temet obrukbart.

Det ar aven har svart att ge en allmangiltig beskrivning av vilka mobiltele-foner som uppfyller kravet att inte visa en samtalsruta under exekveringen avMIDleten. Det star inte i nagra specifikationer, utan man far helt enkelt tes-ta sig fram. Vi hoppas emellertid att de mobiltelefontillverkare som ar berordasnart skall inse nackdelen med att denna ruta upptrader pa skarmen och darmedatgarda problemet.

Det forefaller som att mobiltelefontillverkarna inte riktigt har tankt i dessabanor an, formodligen pa grund av att multimodala applikationer for mobiltele-foner knappt finns pa marknaden annu. For att uppmarksamma SonyEricssonsutvecklare om problematiken i fraga, som hammar potentiella framtida produk-ter, har vi kontaktat talesman for foretagets utvecklingsavdelning3.

Server push-kompatibilitet

For den typ av utdata som ingar i ROSE behovs nagon typ av mekanism for attuppdatera skarmen vid i forvag obestambara tidpunkter. Da det inte ar onskvartatt krava att anvandaren tar initiativet till dessa uppdateringar, och polling ar

3Vi har, i skrivande stund, inte fatt nagot svar.

70

otankbart, maste nagon form av server push utnyttjas. Den servlet vi anvanderi ROSE skickar med hjalp av MultipartResponse ett uppdelat svar med MIME-typen “multipart/x-mixed-replace” till MIDleten. For att en mobiltelefon skallkunna kora ROSE behover den alltsa kunna lasa HTML-sidor av detta format4.

6.3.2 Val av terminal for ROSE

For att ROSE skall kunna anvandas pa det satt som TeliaSonera onskar rackerdet inte att systemet ar korbart i en given mobiltelefonmodell. For att kunnademonstrera systemet i realtid hos kunder ar det inte realistiskt att krava att de-monstratoren skall behova ha en speciell mobiltelefon. Vidden av detta problemblir annu tydligare vid en tankt framtida produktion av mobila applikationer.Om dessa applikationer endast ar kompatibla med en liten mangd terminaler be-gransas den potentiella kundkretsen i sa hog grad att forsaljningsmojligheternafor produkterna blir minimala.

Aven om vi hade hittat en terminal pa vilken ROSE skulle kunna koras skul-le systemet alltsa behova skraddarsys efter denna terminal och darigenom varaoanvandbart for TeliaSonera. Detta betyder att aven om vi hade lyckats integre-ra vart system med SSC och hitta en mobiltelefon som klarade av att exekveradet, hade foretagets vinster harav inte varit sarskilt mycket storre an dagens.

6.3.3 Framtidens mobiltelefonteknik

Trots de tekniska problem som finns med dagens mobiltelefoner, kan vi utskiljaen rad omraden pa vilka olika framsteg ar i full gang:

• Anvandargranssnitten stodjer allt fler indatamojligheter. Pekskarm blirnu allt vanligare pa mobiltelefonmarknaden. Apple iPhone gar i braschenfor en ny typ av anvandning av sensorer. Formodligen kommer vi snartatt fa se fler exempel pa ny utrustning som anvands inom mobiltelefonin.

• Utvecklingen av applikationer som drar nytta av denna utokade funk-tionalitet ar redan nu en viktig uppgift for mobiltelefontillverkare; V-enables sokningstjanster ar ett exempel. I framtiden kommer fortsatt myc-ket kraft att behova laggas pa detta omrade.

• For att kunna kora framtida program pa en mobil enhet maste natverks-teknikerna forbattras avsevart; overforingen av data maste ga sa snabbtatt surfning, GPS-navigering och video- och musiknedladdning blir att-raktivt. Det tradlosa natverket ar foremal for en massiv forandring somkommer att innebara kraftigt okad kapacitet.

Potentiella anvandningsomraden

Med fler och mer flexibla alternativ for att ge indata kommer intresset for multi-modalitet inom mobiltelefonin att oka. I och med att applikationerna far storrekapacitet kan nya intressanta domaner bli aktuella for mobiltelefonanvandning.

4For information om specifika mobiltelefoner hanvisas till specifikationer och forum pamobilleverantorers utvecklingssidor. Var erfarenhet ar att de flesta nya (2006-ars modelleroch senare) mobiltelefoner verkar stodja MultipartResponse.

71

Ett flertal forskningsprojekt bekraftar att det finns saval kunskap som visionerinom sfaren for multimodala granssnitt. Man har till exempel visat att mobilaenheter kan anvandas som navigeringsverktyg eller interaktiva tv-guider. MedInternet, GPS-mottagning och snabb tradlos dataoverforing sager det sig sjalvtatt mobiltelefoner ar utmarkta for att hysa multimodala applikationer.

Ett av de storsta hindren att overstiga ar det faktum att dagens anvandareav mobiltelefoner annu ej har insett vad multimodala tjanster har att erbjuda.En orsak till detta torde vara bristen pa multimodala mobiltelefonrelateradeprodukter pa dagens marknad. Dessutom skiljer sig den nya anvandningen avmobiltelefoner, som allt mer multifunktionella verktyg, m arkant fran traditio-nellt bruk. Aven pa andra omraden saknas erfarenhet av multimodala applika-tioner, vilket gor det annu svarare for manniskor att inse mojligheterna medmultimodala verktyg i stort.

Vaxande intresse pa marknaden

Multimodala system skulle definitivt kunna forbattra villkoren for saval foretagsom myndigheter och privatpersoner. Det allra viktigaste for multimodala mo-bila systems framtid torde vara att utbudet av dessa produkter pa marknadenbreddas. Detta skulle bidra till att nya visioner och behov vaxer fram hos badekunder och utvecklare. Ett okat intresse bland allmanheten for multimodala pro-dukter skulle sedan satta stor press pa utgivare av utvecklingsverktyg for mobi-la applikationer och mobiltelefonleverantorer, som maste introducera generellalosningar sa att produkterna blir kompatibla med ett storre antal terminaler anvad som ar fallet idag.

Inom telekombranchen finns en enorm potential for foretag att forbattra sinalosningar genom att komplettera de roststyrda system som kunder idag erbjudsmed tekniker for att till exempel tolka rorelser och direkt manipulation samtgenerera grafisk utdata. Eftersom dessa foretag i regel har en bred kundkretsfinns stora forutsattningar att na ut med nya ideer och tekniker. I processen attoka marknadsintresset for multimodalitet har TeliaSonera, som Sveriges storstatelekomforetag, ett stort ansvar for att tillhandahalla sina foretagskunder medmultimodala losningar i den man det ar mojligt.

6.4 Vidareutveckling

Vi tar har upp potentiella utokningar av systemet som inte har fatt plats inomprojektets ramar. Eftersom TeliaSonera ar intresserade av att utveckla ett kom-plett multimodalt system av samma typ som ROSE, framfor vi vara asikter omvad som behovs for att ROSE skall bli ett realistiskt bokningssystem.

6.4.1 Ytterligare funktionalitet

I den demo som utvecklats ar funktionaliteten begransad till bokning och in-formationsvisning av tva rum. Efterfragan av information om rum saval somkravstallning kan inte genomforas pa anvandarens initiativ. I ett anvandbartbokningssystem maste givetvis alla rum vara bokningsbara och dessutom av-bokningsbara. Man vill ocksa ha en friare struktur i dialogen, sa att anvandaren

72

till exempel kan stalla krav och fraga efter information nar som helst. Dessutomskall anvandaren, efter det att en bokning eller avbokning ar avslutad, forstasha mojlighet att paborja en ny aktivitet. Samtalet skall alltsa aldrig avslutas avSSC, utan endast da anvandaren anser sig vara fardig.

6.4.2 Identifikation

Nar en anvandare ansluter sin MIDlet till ROSE behover systemet verifieradennes identitet sa att bokningen registreras pa ratt person, annars skulle mankunna gora avbokningar for nagon annan an sig sjalv och sa vidare. Detta kantill exempel goras med hjalp av IMSI-numret fran mobiltelefonen, som vi harsett i sektion 6.2.2. Med denna metod blir identifikationen knuten till den MID-let som registrerats, snarare an den person som anvander programmet. Dettaforutsatter alltsa att alla anvandare av systemet har en personlig mobiltelefon.I ett verkligt system hade man antagligen behovt komplettera identifikations-processen med en talarverifiering, forfragan om personlig kod eller dylikt sa attman kan anvanda vilken mobiltelefon som helst for att gora en bokning elleravbokning5.

6.4.3 Grafisk metod

I demoversionen av ROSE presenteras den grafiska informationen genom attbilder som har ritats i forvag och lagrats i MIDleten visas pa skarmen. I enanvandbar version hade detta tillvagagangssatt varit otillrackligt eftersom ettstort antal bilder hade behovts for att alla tankbara scenarier skulle tackas in.Ett alternativ till att anvanda diskreta bilder for alla tankbara utdata ar attanvanda metoderna i JavaME:s grafiska API for att rita om skarmen. I stalletfor att skicka bildnamn till MIDleten hade man da kunnat skicka omritnings-parametrar for att ange hur skarmens utseende skall forandras.

6.4.4 Databashantering

Information om rum och bokningar behover lagras i en databas. Denna behovervara dynamisk, nar en bokning gors skall systemet skriva in denna i databasen.Bokningsinformationen behover innefatta rum, tid och ID for den anvandaresom gjort bokningen. Vid en avbokning kontrolleras att anvandarens ID stammeroverens med det lagrade ID:t for bokningen. Det behovs sakra metoder for attskriva till databasen, viktigast ar att inte tva simultana bokningar av sammarum sker. Det ar ocksa onskvart att ett rum som haller pa att bokas inte framstarsom ledigt for andra anvandare av systemet.

6.4.5 Tolkning

Tolkningsproceduren i demon praglas av det fordefinierade scenariot; eftersomfunktionaliteten ar begransad till en uppgift tolkas de olika stegen som indikatio-ner pa att nasta steg i scenariot ar natt. Demon har endast en statisk tidpunkt,varfor ingen tolkning av tidpunkter, dagar eller varaktighet pa bokningar arnodvandig. Detta behovs givetvis i ett realistiskt system. Har behover man aventolka yttranden som ar svara att forutse, sasom komplexa krav. Troligen behovs

5Givetvis behover mobiltelefonen i fraga ha en registrerad MIDlet.

73

en sofistikerad lingvistisk analys. For att gora systemet intelligentare behovsaven en semantisk och pragmatisk tolkning, som tar hansyn till den aktuellabokningskonfigurationen. Om anvandaren till exempel vill gora en avbokning,och endast har bokat ett rum, behover systemet inte fraga vilken bokning somskall avregistreras.

Eftersom ROSE ar en multimodal demo hade det varit passande att lagga tillmojligheter att ge simultan indata. I sa fall hade tolkningsmekanismen behovtvara synergistisk. Eftersom den nuvarande tolkningsmodulen i SSC strikt byg-ger pa VoiceXML (2.0) finns inga mojligheter att gora en sadan utokning. I demultimodala standarderna SCXML och EMMA finns mojligheter till simultanindatatolkning, men i SSC ar sadana inte att forvanta forran VoiceXML 3.0blir standard. For att kunna ge simultan indata pa ett fordelaktigt satt behoverman formodligen ocksa en mobiltelefon med pekskarm.

74

Litteraturforteckning

[1] TeliaSonera Sverige AB. Telia SSC - Produktoversikt, 2006.

[2] Siemens AG. W-CDMA v. CDMA2000, 2002.

[3] All About Symbian - News from the Symbian Ecosystem... No-kia N95. http://www.allaboutsymbian.com/news/item/4328 Nokia N95-HSDPA WiFi 5MP Camer.php. Informationen hamtad 30/1-2007.

[4] L. Almeida, I. Amdal, N. Beires, M. Boualem, L. Boves, E. denOs, P. Filoche, R. Gomes, J. E. Knudsen, K. Kvale, J. Rugelbak,C. Tallec, and N. Warakagoda. The MUST guide to Paris. citese-er.ist.psu.edu/almeida02must.html, 2002. Informationen hamtad 12/2-2007.

[5] G. Amores, T.Becker, N. Blaylock, M. Gabsdil, S. Larsson, O. Lemon,P. Manchon, G.Perez, and Jan Schehl. Integration of ontological knowledgewith the ISU approach, 2005.

[6] G. R. Andrews. Foundations of Multithreaded, Parallell, and DistributedProgramming. Adison-Wesley, 2000.

[7] Apple. introducing iPhone. http://www.apple.com/iphone/. Informationenhamtad 3/2-2007.

[8] Opera Software ASA. http://www.opera.com/products/devices/multimo-dal/.

[9] Opera Software ASA. http://www.opera.com/company/partners/ibm/.

[10] D. Bjorklund and H. Engdahl. Mellanprogram i en tradlos och mobil miljo.Master’s thesis, Vaxsjo Universitet, 2004.

[11] M. Bjorklund. Samsung-mobil med mobil-tv och turbo-3G. Mobil, 2006.

[12] Nokia Developer Discussion Boards. http://discussion.forum.nokia.com-/forum/. Informationen hamtad 23/4-2007.

[13] R. A. Bolt. Put that there - Voice and Gesture at the Graphics interface.Computer Graphics, 14(3):262–270, 1980.

[14] M-L Bourguet. Towards a Taxonomy of Error-Handling Strategies inRecognition-Based Multimodal Human-computer Interfaces. Technical re-port, Computer Science Department, Queen Mary, University of London,2006.

75

[15] J. Boye, M. Wiren, and J. Gustafson. Contextual Reasoning in MultimodalDialogue Systems: Two Case Studies. In CATALOG’04, 8th internationalworkshop on the semantics and pragmatics of dialogue, 2004.

[16] L. Brohult. 2007: W-LAN slar igenom. Mobil, 2006.

[17] A. Cheyer and L. Julia. Multimodal Maps: An Agent-based Approach.In International Conference on Cooperative Multimodal Communication,Eindhoven, The Netherlands, May 1995.

[18] Chunked Transfer-Encoding. http://www.jmarshall.com/easy-/http/#http1.1c2. Informationen hamtad 2/5-2007.

[19] P. Cohen, L. Chen, J. Clow, M. Johnston, D. McGee, J. Pittman, andI. Smith. QuickSet: A Multimodal Interface for Distributed InteractiveSimulation. Technical report, Center of Human-Computer Communication,Portland, 1997.

[20] P. Cohen, A. Cheyer, M. Wang, and S. C. Baeg. An Open Agent Archi-tecture. Technical report, SRI International, Stanford University, ETRI,1994.

[21] P. Cohen, M. Johnston, D. McGee, S. Oviatt, J. Pittman, I. Smith, L. Chen,and J. Clow. Quickset: Multimodal Interaction for Distributed Appli-cations. Technical report, Center of Human-Computer Communication,Portland, 1997.

[22] P. R. Cohen, M. Dalrymple, D. B. Moran, F. C. N. Pereira, J. W. Sullivan,R. A. Gargan Jr, J. L. Schlossberg, and S. W. Tyler. Synergistic Use ofDirect Manipulation and Natural Language. CHI’89, pages 227–233, 1989.

[23] COMPANIONS - Intelligent, Persistant and personalized Multimodal In-terfaces to the Internet. http://nlp.shef.ac.uk/companions/. Informationenhamtad 24/1-2007.

[24] EDGE - Introduction of high-speed data in GSM/GPRS networks.http://www.ericsson.com/technology/whitepapers/edge wp technical.pdf.Informationen hamtad 29/1-2007.

[25] Fujitsu-Siemens. http://www.fujitsu-siemens.se/. Informationen hamtad30/1-2007.

[26] M. Genesereth and N. Singh. A Knowledge Sharing Approach to SoftwareInteroperation. Technical report, Computer Science Department, StanfordUniversity, 1994.

[27] M. R. Genesereth, N. P. Singh, and M. P. Syed. A Distributed and Anony-mous Knowledge Sharing Approach to Software Interoperation. Technicalreport, Computer Science Department, Stanford University, 1994.

[28] J. Gustafsson. E-mail fran Joakim Gustafson, Telia Research, 18/1-2007.

[29] E Nyberg H Sagawa, T Mitamura. Correction Grammars for Error Hand-ling in a Speech Dialog System. Technical report, HLT/NAACL, Boston,2004.

76

[30] Helen Wright Hastie, Michael Johnston, and Patrick Ehlen. Context-Sensitive Help for Multimodal Dialogue. In Proceedings of the 4th IEEEInternational Conference on Multimodal Interfaces, pages 93–98, Washing-ton, DC, USA, 2002. IEEE Computer Society.

[31] D. Hessel. Turbo3G nu i Sverige - Antligen hsdpa!http://m3.idg.se/2.1022/1.88284, December 2006. Informationen hamtad28/2-2007.

[32] M. Hickey. Multimodal Requirements for Voice Markup Languages.http://www.w3.org/TR/multimodal-reqs. Informationen hamtad 1/3-2007.

[33] A. Hjalmarsson. Evaluating AdApt, a multi-modal conversational, dialoguesystem, using PARADISE. Master’s thesis, Linkopings universitet, Sverige,2003.

[34] HTTP.Push - Server Push via iframes and DOM events.http://openjsan.org/doc/f/fu/fuzzynerd/HTTP/Push/0.04/lib/HTTP-/Push.html. Informationen hamtad 6/3-2007.

[35] IBM Global Services. Fordelarna med IP-losningar. http://www-5.ibm.com/services/se/ipcomm/. Informationen hamtad 1/3-2007.

[36] Intervoice Launches Next-Generation Voice Portals.www.intervoice.com/index.php/press releases/press releases id/66.html.Informationen hamtad 10/4-2007.

[37] I. Jacobs. About the World Wide Web Consortium (W3C).http://www.w3.org/Consortium/Overview.html#mission. Informationenhamtad 2/3-2007.

[38] Java Remote Method Invocation. http://java.sun.com/j2se/1.4.2/docs-/guide/rmi/spec/rmiTOC.html. Informationen hamtad 3/5-2007.

[39] M. Johnston and S. Bangalore. Multimodal Applications from Mobile toKiosk. Technical report, AT&T Research, 2004.

[40] M. Johnston, P. R. Cohen, D. McGee, S. L. Oviatt, J. A. Pittman, andI. Smith. Unification-based Multimodal Integration. Technical report,Center for Human Computer Communication/Department of ComputerScience and Engineering, Oregon Graduate Institute, 1997.

[41] Luc Julia and Adam Cheyer. Speech: A privileged modality, 1997.

[42] T. Keating. Dual-mode cellular/WiFi handset adoption.http://blog.tmcnet.com/blog/tom-keating/voip/dualmode-cellularwifi-handset-adoption.asp. Informationen hamtad 30/1-2007.

[43] Kirusa. http://www.kirusa.com/index.html.

[44] A. Liebert. Turbo-3G och 5-megapixel-kamera. Mobil, 2006.

77

[45] M. Luck and M. d´Inverno. A Conceptual Framework for Agent Definitionand Development. Technical report, Department of Computer Science,University of Warwick/Cavendish School of Computer Science, Universityof Westminster, 2001.

[46] J. Martin, L. Julia, and A. Cheyer. A theoretical framework for multimodaluser studies, 1998. Informationen hamtad 1/5-2007.

[47] S. McGlashan. VoiceXML and WML Convergence.http://www.w3.org/2000/09/Papers/Pipebeach.html. Informationenhamtad 15/2-2007.

[48] Project-Team MErLIn. Methods for interactive software ergonomics. Te-chnical report, Institut National de Recherche en Informatique et en Auto-matique, 2005.

[49] Motorola Sweden. http://www.motorola.com/se.

[50] L. Nigay and J. Coutaz. A Design Space For Multimodal Systems: Con-current Processing and Data Fusion. In INTERCHI ’93 - Conference onHuman Factors in Computing Systems, pages 172–178, Amsterdam, 1993.

[51] Nuance. http://www.nuance.com/.

[52] Ny Teknik. LG och Samsung visar upp nya turbomobiler.http://www.nyteknik.se/art/47579. Informationen hamtad 30/1-2007.

[53] Ny Teknik. super-3G ska ge 100 megabit i mobilen.http://www.nyteknik.se/art/38710. Informationen hamtad 15/2-2007.

[54] O’Reilly. Class com.oreilly.servlet.Multipartresponse.http://www.stanford.edu/group/coursework/docsTech/oreilly-/com.oreilly.servlet.MultipartResponse.html. Informationen hamtad27/2-2007.

[55] E. Ortiz. The MIDP 2.0 Push Registry.http://developers.sun.com/techtopics/mobility/midp/articles/pushreg/.Informationen hamtad 7/3-2007.

[56] S. Oviatt. Mutual Disambiguation of Recognition Errors in a MultimodalArchitecture. In Proceedings of the SIGCHI conference on Human factorsin computing systems: the CHI is the limit, pages 576 – 583, Pittsburgh,Pennsylvania, 1999. ACM Press.

[57] S. Oviatt. The Human-Computer Interaction Handbook: Fundamentals,Evolving Technologies and Emerging Applications, chapter Multimodal in-terfaces, pages 286–304. Human Factors and Ergonomics Series, Mahwah,NJ, 2003.

[58] S. L. Oviatt. Multimodal interfaces for dynamic interactive maps. InProceedings of CHI’96 Human Factors in Computing Systems, NY, 1996.ACM Press.

78

[59] Sharon L. Oviatt, Antonella DeAngeli, and Karen Kuhn. Integration andSynchronization of Input Modes during Multimodal Human-Computer In-teraction. In CHI, pages 415–422, 1997.

[60] D. Petrelli, A. De Angeli, W. Gerbino, and G. Cassano. Referring in mul-timodal systems: The importance of user expertise and system features,1997.

[61] Prylportalen. Samsung lanserar smartphone med turbo-3G. http://prylportalen.mkf.se/ArticlePages/200612/05-/20061205090629 MKF377/20061205090629 MKF377.dbp.asp. Infor-mationen hamtad 30/1-2007.

[62] RAD Data Communications. Cellular backhaul and atm transport.http://www.rad.com/Article/0,6583,10209,00.html. Informationen hamtad29/1-2007.

[63] Hanson Robotics. http://www.peoplesdesignaward.org/designlifenow-/designers/hanson-robotics. Informationen hamtad 30/1-2007.

[64] B. Schmauk and N. Reithinger. Generating multimodal output: conditions,advantages and problems. In Proceedings of the 12th conference on Compu-tational linguistics, volume Voulme 2, pages 584 – 588, Budapest, Hungry,1988. Association for Computational Linguistics.

[65] B. Schneiderman. Direct Manipulation: A Step Beyond Programming Lan-guages. IEEE Computer, Vol. 16(No. 8):57–69, August 1983.

[66] G. Skantze. Koordinering av refererande uttryck i multimodal manniska-datordialog. Master’s thesis, Linkopings universitet, Sverige, 2000.

[67] SmartKom. Dialog-based Human-Technology Interaction byCoordinated Analysis and Generation of Multiple Modalities.http://www.smartkom.org/start en.html. Informationen hamtad 26/1-2007.

[68] Smartson. http://www.smartson.se/. Informationen hamtad 30/1-2007.

[69] T. Stocky and J. Cassell. Shared Reality: Spatial Intelligence in IntuitiveUser Interfaces. In Intelligent User Interfaces, San Francisco, CA, 2002.

[70] J. Sturm, F. Wang, and B. Cranen. Adding extra input/output modalitiesto a spoken dialogue system. Technical report, A2RT, Dept. Language andSpeech, Nijmegen University, 2001.

[71] Java Servlet Technology. http://java.sun.com/products/servlet/. Informa-tionen hamtad 29/1-2007.

[72] Sun Microsystems. The Java ME Platform ? the Most Ubiquitous Applica-tion Platform for Mobile Devices. http://java.sun.com/javame/index.jsp.

[73] SYNFACE. http://www.speech.kth.se/synface/svenska.htm. Informatio-nen hamtad 1/5-2007.

79

[74] TALK PROJECT. Talk and Look - Tools for Ambient Linguistic Know-ledge. http://www.talk-project.org. Informationen hamtad 2/2-2007.

[75] Telekom idag. Cellip med mobil ip-telefoni pa massa.http://www.telekomidag.com/FMPro?-DB=artiklar.fp5&-lay=cgi tc4&id=18880&-Format=/ti/nyheter/artikel.html&-find. In-formationen hamtad 30/1-2007.

[76] Post & Telestyrelsen. IP-telefoni - En teknisk mark-nadsbeskrivning. http://pts.se/Archive/Documents/SE/IP-telefoni teknisk marknadsbeskrivning PTS-ER-2003-41.pdf. Informa-tionen hamtad 29/1-2007.

[77] Post & Telestyrelsen. Utdelning av tillstand 2000.http://www.pts.se/Sidor/sida.asp?SectionId=1371. Informationenhamtad 29/1-2007.

[78] TomTom 3 with Bluetooth GPS (Palm Tungsten T3 Series).www.proporta.com. Informationen hamtad 1/5-2007.

[79] Tre. http://www.tre.se/.

[80] Teknik-Naturvetenskaplig Fakultet Uppsala Universitet. MI-MO for Mobile Broadband: Modelling and Performance Analy-sis. http://www.teknat.uu.se/student/studentservice/exjobb/exjobbs-forslag.php. Informationen hamtad 30/1-2007.

[81] V-enable. Corporate Fact Sheet. http://www.v-enable.com/pdfs/V-ENABLE Corporate Facts v2 1.pdf. Informationen hamtad 23/1-2007.

[82] V-enable. Leading the Way. http://www.v-enable.com/about.html.

[83] Voice Extensible Markup Language (VoiceXML) 2.1.http://www.w3.org/TR/voicexml21/.

[84] VoiceXML Forum. http://www.voicexml.org/.

[85] W3C. Multimodal interaction activity. http://www.w3c.org/2002/mmi/.Informationen hamtad 22/1-2007.

[86] W3C. World Wide Web Consortium. http://www.w3c.org/.

[87] W. Wahlster. Advances in Artificial Intelligence, chapter Towards Sym-metric Multimodality: Fusion and Fis-sion of Speech, Gesture and FacialExpression. Heidelberg, German, 2003.

[88] W. Wahlster. SmartKom: Foundations of Multimodal Dialogue Systems,chapter Dialogue Systems Go Multimodal: The SmartKom Experience.Heidelberg, Germany, 2006.

[89] K. Waters. Towards Multimodal: A Telecom Perspective. Technical report,France Telecom Research and Development, 2004.

[90] Webopedia. http://www.webopedia.com/.

80

Bilaga A

Kallkod till ROSE

81

A.1 ASR

A.1.1 ROSE.gsl

; ; Examensarbete i datalingvistik vid TeliaSonera, Uppsala. ; Carola Ribeck [[email protected]] ; Petter Premberg[[email protected]] ; Maj 2007 ; ROSE_YN_ans:public (?@hes@ ROSE_YesNo:x) {<yn_ans $x>} ROSE_YesNo [ ROSE_Yes:x ROSE_No:x ] {return($x)} ROSE_Yes ([ja aa mm] ?[(det vill jag) tack]) {return("yes")} ROSE_No ( [nej nä] ?[ (det vill jag inte) ] ?(tack) ) {return("no")} ROSE_boka:public [ (?@hes@ [ (?(jag [behöver vill (skulle vilja) tänkte]) [boka reservera]) (jag [behöver (vill ha) (skulle vilja ha)] ] ett ROSE_klockslag:kl ?[idag ([imorrn (i morgon) i morron] bitti) ([(i [övermorgon övermorron övermorrn morron morgon eftermiddag]) imorrn (på [måndag tisdag onsdag torsdag fredag lördag söndag])] ?[förmiddag eftermiddag kväll (efter lunch)])]) ] {<tid $kl>}

82

ROSE_tid_boka:public [ (?@hes@ [ (?(jag [behöver vill (skulle vilja) tänkte]) [boka reservera])(jag [behöver (vill ha) (skulle vilja ha)]) ] ett [rum konferensrum] [(?[(i [övermorgon övermorron övermorrn morron morgon eftermiddag]) imorrn idag (på [måndag tisdag onsdag torsdag fredag lördag söndag])] klockan ROSE_klockslag:kl) (klockan ROSE_klockslag:kl ?[(i [övermorgon övermorron övermorrn morron morgon eftermiddag]) imorrn idag (på [måndag tisdag onsdag torsdag fredag lördag söndag])])]) ] {<tid $kl>} ROSE_kl:public [ (?klockan ROSE_klockslag:kl) ] {<tid $kl>} ROSE_klockslag [ [ett tretton] {return("13")} [rum konferensrum] {return(no_time)} ]

83

ROSE_krav:public [ (?@hes@ [ (vi [är (kommer ?nog ?att [vara bli])] ?[minst cirka omkring åtminstone ungefär runt (mer än)] ROSE_nr:nr [personer stycken pers]) ([([rummet det] [behöver måste] ha) (det behövs) (jag [behöver (vill ha)])] ?[minst cirka omkring åtminstone ungefär runt (mer än)] ROSE_nr:nr platser) ([rummet det] [måste behöver] vara för ROSE_nr:nr [personer stycken pers])]) ] {<pers $nr>} ROSE_nr [ [sex] {return("6")} [sju] {return("7")} [åtta] {return("8")} [nio nie] {return("9")} [tio tie] {return("10")} ]

84

ROSE_rum:public [ (?@hes@ ?[ja mm aa] [ ROSE_is_rumnr:rum ([(jag är intresserad av) ([(kan jag få) (jag [vill (skulle vilja) behöver])] [(veta mer) (?[ha se] (?lite information))] om) ROSE_cont_rumnr:rum) ([(kan jag få) (jag [vill (skulle vilja) behöver])] [titta se] ?(?lite närmare) på ROSE_cont_rumnr:rum)]) ] {<info $rum>} ROSE_is_rumnr [ [(rum ?nummer ett) mozart dtmf-1 ettan ett] {return("1")} [(rum ?nummer fyra) vivaldi dtmf-4 fyran fyra] {return("4")} ] ROSE_cont_rumnr [ [mozart ettan (rum ?nummer ett)] {return("1")} [vivaldi fyran (rum ?nummer fyra)] {return("4")} ]

85

A.2 Tjansteserver

A.2.1 VoiceXML-dokument

root.vxml

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE vxml PUBLIC "-//W3C/DTD VoiceXML 2.0//EN" "http://www.w3.org/TR/voicexml20/vxml.dtd"> <!-- Interpretator i konferensrumsbokningsdemon ROSE - Ring Och SE. Examensarbete i datalingvistik vid TeliaSonera, Uppsala. Carola Ribeck [[email protected]] Petter Premberg [[email protected]] Maj 2007 --> <vxml xmlns="http://www.w3.org/2001/vxml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/vxml http://www.w3.org/TR/voicexml20/vxml.xsd" version="2.0"> <var name="rum"/> <link next="index.vxml#hangup"> <grammar type="application/srgs+xml" root="root" version="1.0"> <rule id="root" scope="public">avsluta</rule> </grammar> </link> </vxml>

86

index.vxml

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE vxml PUBLIC "-//W3C/DTD VoiceXML 2.0//EN" "http://www.w3.org/TR/voicexml20/vxml.dtd"> <!-- Interpretator i konferensrumsbokningsdemon ROSE - Ring Och SE. Examensarbete i datalingvistik vid TeliaSonera, Uppsala. Carola Ribeck [[email protected]] Petter Premberg [[email protected]] Maj 2007 --> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="sv-SE" application="root.vxml"> <property name="bargein" value="false"/> <property name="timeout" value="5s"/> <var name="Tid"/> <var name="Bild"/> <var name="Goto_id"/> <form id="init"> <block> <prompt> <audio src="audio/ROSE_000.wav"> Hej och välkommen till konferensrumsbokaren ROSE. </audio> </prompt> <assign name="Goto_id" expr="'#boka'"/> <assign name="Bild" expr="'/02.png'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </block> </form>

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE vxml PUBLIC "-//W3C/DTD VoiceXML 2.0//EN" "http://www.w3.org/TR/voicexml20/vxml.dtd"> <!-- Interpretator i konferensrumsbokningsdemon ROSE - Ring Och SE. Examensarbete i datalingvistik vid TeliaSonera, Uppsala. Carola Ribeck [[email protected]] Petter Premberg [[email protected]] Maj 2007 --> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="sv-SE" application="root.vxml"> <property name="bargein" value="false"/> <property name="timeout" value="5s"/> <var name="Tid"/> <var name="Bild"/> <var name="Goto_id"/> <form id="init"> <block> <prompt> <audio src="audio/ROSE_000.wav"> Hej och välkommen till konferensrumsbokaren ROSE. </audio> </prompt> <assign name="Goto_id" expr="'#boka'"/> <assign name="Bild" expr="'/02.png'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </block> </form>

<form id="boka"> <field name="tid"> <grammar src="ROSE.gsl#ROSE_boka"/> <grammar src="ROSE.gsl#ROSE_tid_boka"/> <prompt> <audio src="audio/ROSE_001.wav"> Vad kan jag hjälpa dig med? </audio> </prompt> <filled> <assign name="Tid" expr="tid"/> <if cond= "Tid=='no_time'"> <goto next ="#kl"/> <else/> <assign name="Bild" expr="'/03.png'"/> <assign name="Goto_id" expr="'#krav'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0" /> </if> </filled> <nomatch count ="1"> <audio src="/audio/ROSE_fel_011.wav"> Ursäkta jag uppfattade inte vad du sa. Vad kan jag hjälpa dig med? </audio> </nomatch> <nomatch count ="2"> <audio src="/audio/ROSE_fel_012.wav"> Nu hörde jag inte. Jag kan hjälpa dig att boka ett rum. Vad vill du göra? </audio> </nomatch> <noinput> <reprompt/> </noinput> </field> </form>

87

<form id="boka"> <field name="tid"> <grammar src="ROSE.gsl#ROSE_boka"/> <grammar src="ROSE.gsl#ROSE_tid_boka"/> <prompt> <audio src="audio/ROSE_001.wav"> Vad kan jag hjälpa dig med? </audio> </prompt> <filled> <assign name="Tid" expr="tid"/> <if cond= "Tid=='no_time'"> <goto next ="#kl"/> <else/> <assign name="Bild" expr="'/03.png'"/> <assign name="Goto_id" expr="'#krav'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0" /> </if> </filled> <nomatch count ="1"> <audio src="/audio/ROSE_fel_011.wav"> Ursäkta jag uppfattade inte vad du sa. Vad kan jag hjälpa dig med? </audio> </nomatch> <nomatch count ="2"> <audio src="/audio/ROSE_fel_012.wav"> Nu hörde jag inte. Jag kan hjälpa dig att boka ett rum. Vad vill du göra? </audio> </nomatch> <noinput> <reprompt/> </noinput> </field> </form>

88

<form id="kl"> <field name ="tid"> <grammar src="ROSE.gsl#ROSE_kl"/> <prompt> <audio src ="/audio/ROSE_002.wav"> Vilken tid avser bokningen? </audio> </prompt> <filled> <assign name="Tid" expr="tid"/> <assign name="Bild" expr="'/03.png'"/> <assign name="Goto_id" expr="'#krav'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </filled> <nomatch count="1"> <audio src ="/audio/ROSE_fel_021.wav"> Ursäkta jag förstod inte vad du sa. Från vilken tid vill du boka rummet? </audio> </nomatch> <nomatch count="2"> <audio src ="/audio/ROSE_fel_022.wav"> Jag förstår fortfarande inte. Du vill boka ett rum. Vilken tid gäller bokningen? </audio> </nomatch> <noinput> <reprompt/> </noinput> </field> </form>

89

<form id="krav"> <field name ="pers"> <grammar src="ROSE.gsl#ROSE_krav"/> <prompt> <audio src ="audio/ROSE_003.wav"> Du ser nu vilka rum som är lediga klockan tretton. Behöver du något speciellt? </audio> </prompt> <filled> <!-- Vi bryr oss inte om att "tolka" hur många pers som användaren sagt --> <assign name="Bild" expr="'/04.png'"/> <assign name="Goto_id" expr="'#select'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </filled> <nomatch count ="1"> <audio src ="audio/ROSE_fel_032.wav"> Jag hörde inte vad du sa. Dessa rum är lediga. Behöver du någon speciell utrustning i rummet? </audio> </nomatch> <nomatch count ="2"> <audio src ="audio/ROSE_fel_032.wav"> Förlåt, jag förstår inte. Du kan nu till exempel ställa krav på antal platser. </audio> </nomatch> <noinput> <reprompt/> </noinput> </field> </form>

90

<form id="select"> <field name ="info"> <grammar src="ROSE.gsl#ROSE_rum"/> <prompt> <audio src ="audio/ROSE_004.wav"> Följande rum uppfyller dina önskemål. Vilket rum är du intresserad av? </audio> </prompt> <filled> <assign name="application.rum" expr="info"/> <if cond= "application.rum=='1'"> <assign name="Bild" expr="'/05.png'"/> <else/> <assign name="Bild" expr="'/06.png'"/> </if> <assign name="Goto_id" expr="'#ruminfo'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </filled> <nomatch count ="1"> <audio src ="audio/ROSE_fel_041.wav"> Nu hörde jag inte vad du sa. Du ser nu vilka rum som är lediga. Vilket rum vill du boka? </audio> </nomatch> <nomatch count ="2"> <audio src ="audio/ROSE_fel_042.wav"> Förlåt, jag förstår inte. Säg numret på det rum du är intresserad av eller använd telefonens knappsats. </audio> </nomatch> <noinput> <reprompt/> </noinput> </field> </form>

91

<form id="ruminfo"> <block> <if cond= "application.rum=='1'"> <prompt> <audio src ="audio/ROSE_005.wav"> Du ser nu information om Mozart </audio> </prompt> <else/> <prompt> <audio src ="audio/ROSE_006.wav"> Du ser nu information om Vivaldi </audio> </prompt> </if> <assign name="Goto_id" expr="'#sist'"/> <assign name="Bild" expr="'ingen_bild'"/> <!-- ingen bild skall visas --> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </block> </form> <form id="hangup"> <block> <throw event="telephone.disconnect.hangup"/> </block> </form> <catch event="telephone.disconnect.hangup"> <assign name="Bild" expr="'ingen_bild'"/> <assign name="Goto_id" expr="'#exitForm'"/> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </catch> <form id="exitForm"> <block> <exit/> </block> <catch event="error"/> </form>

92

<form id="sist"> <var name="YN"/> <field name ="yn_ans"> <grammar src="ROSE.gsl#ROSE_YN_ans"/> <prompt> <audio src ="audio/ROSE_007.wav"> Vill du boka detta rum? </audio> </prompt> <filled> <assign name="YN" expr="yn_ans"/> <if cond= "YN=='yes'"> <assign name="Goto_id" expr="'#shutdown'"/> <if cond= "application.rum=='1'"> <assign name="Bild" expr="'/07.png'"/> <else/> <assign name="Bild" expr="'/08.png'"/> </if> <else/> <assign name="Bild" expr="'/04.png'"/> <assign name="Goto_id" expr="'#select'"/> <prompt> <audio src ="audio/ROSE_010.wav"> Okej. Vi försöker igen. </audio> </prompt> </if> <submit next="servlet" namelist="Bild Goto_id" method="post" maxage="0"/> </filled> <nomatch count ="1"> <audio src ="audio/ROSE_fel_051.wav"> Jag förstod inte, vill du boka rummet? </audio> </nomatch> <nomatch count ="2"> <audio src ="audio/ROSE_fel_042.wav"> Jag förstod inte nu heller. Säg ja eller nej. </audio> </nomatch> <noinput> <reprompt/> </noinput> </field> </form>

93

<form id="shutdown"> <block> <if cond= "application.rum=='1'"> <prompt> <audio src ="audio/ROSE_008.wav"> Du har bokat Mozart klockan tretton. Tack för ditt samtal och välkommmen åter. </audio> </prompt> <else/> <prompt> <audio src ="audio/ROSE_009.wav"> Du har bokat Vivaldi klockan tretton. Tack för ditt samtal och välkommmen åter. </audio> </prompt> </if> <goto next ="#hangup"/> </block> </form> </vxml>

94

A.2.2 exit.jsp

<!-- Jsp-dokument som avslutar all aktivitet i SSC vid exekvering. Examensarbete i datalingvistik vid TeliaSonera, Uppsala. Carola Ribeck [[email protected]] Petter Premberg [[email protected]] Maj 2007 --> <%@ page contentType="text/html;charset=iso-8859-1" import="com.teliasonera.promotor.ssc.core.CallControl, com.teliasonera.promotor.ssc.core.CallControlInterface"%> <% try { boolean keepCall = false; CallControlInterface cci = CallControl.getInstance(); // Här skall kunddata in. int hangupLocation = 0; String[] id= {}; int[] ids = {0}; int[] values = {session.getAttribute("finished") != null ? 1 : -1}; cci.hangup(CallControl.HANGUPCAUSE_APPLICATION, id, id, hangupLocation, ids, values, keepCall); //session.invalidate(); } catch (Throwable t) { //Ignore } %>

95

A.3 Servlet

96

97

98

99

A.4 MIDlet

100

101

102

103

104