25. Larsson (2015) och Larsson (2017)
Så här i början av höstterminen när man fortfarande ligger i fas och inte vill halka efter tänkte jag använde det här utrymmet så som jag från början avsåg att använda det - för rena kursanteckningar. För första lektion i Dialogsystem II som börjar den här veckan har vi två läsanvisngar: Larsson (2015) och Larsson (2017). Den första artikeln har vi redan haft som läsning i NLP-kursen, men jag minns inte om jag tog några anteckningar då, så here we go!
Larsson (2015) undersöker hur dialogsystemen hos Apple, Google och Microsoft hanterar några vanliga fenomen i mänskliga dialoger: 1) over-answering, 2) other-answering och 3) answer revision. Over-answering innebär att användaren ger mer information än vad som förväntas, t.ex.
- Ring ett samtal.
- Okej, vem vill du ringa?
- Miras mobil. <– over-answering
- Okej, ringer Miras mobil.
Dialogen ovan är inte alls problematisk för en människa, men för ett dialogsystem som förväntar sig en bit information i taget (- Vem vill du ringa? - Mira - På vilket nummer, hem eller mobil? - Mobil) kan det bli förvirrande. Larssons undersökning visar också att dåvarande Siri och Cortana kunde hantera over-answering, men däremot inte Google Now (nuvarande Google Assistant).
Other-answering innebär att användaren ger ett svar på en annan fråga än den som systemet precis ställt, t.ex:
- Ring ett samtal.
- Okej, vem vill du ringa?
- Mobil. <– other-answering
Larssons undersökning visade att såväl Google Now som Cortana förväntade sig rätt svar vid rätt tillfälle från användaren (även om systemet tänkt fråga om vilket nummer som avses – hem, arbete eller mobil – redan i nästa fråga), medan Siri kunde hantera other-answering.
Den tredje och sista användarinputen som tas upp, answer revision, avser de tillfällen då användaren rättar ett tidigare givet svar, t.ex:
- Ring Mira.
- Ok, arbete eller mobil?
- Nej förresten, ring Peter. <– answer revision
I idealfallet skulle systemet svara något i stil med: “Okej, ringer Peter istället. Arbete eller mobil?”. Så som de undersökta systemen såg ut 2015 kunde ingen av dem hantera svarskorrigeringar. Siri ignorerade dem antingen helt eller avbröt hela processen vid nyckelord som “nej”. Och man skulle vilja tro att mycket förbättrats på den här fronten de senaste åren, men en labb i NLP-kursen förra hösten visade att åtminstone Google Assistant inte kunde hantera over-answering, other-answering eller answer revision på svenska särskilt väl, se figur 1.
Figur 1. Resultatet av min egen undersökning med Google Assistant på svenska år 2019.
Larsson (2017) behandlar användarinitierade underdialoger, “i.e. interactions where a system question is responded to with a question or request from the user, who thus unitiates a sub-dialogue” (Larsson 2017:1). Han citerar Łupkowski & Ginzburg (2013) som lyfter fram att frågor som svar på frågor utgör så mycket som 20 % av alla frågosvar i British National Corpus - det är alltså inget marginellt fenomen.
Larsson testar hur några dialogsystem – Siri, API.AI, Houndify, Cortana och Alexa – reagerar på sådana underdialoger utifrån Trindi Tick-listan från Bos et al. (1999). Det är en lista över önskvärda beteenden hos ett dialogsystem, uttryckta i ja-och-nej-frågor som “Is utterance interpretation sensitive to context?”, t.ex:
- När vill du anlända?
- Imorgon
- Du vill anlända fredag den 3 januari
Han delar in de undersökte dialogsystemen i fyra olika kategorier:
- Stängda system: har en fast uppsättning icke-konfigurerbara dialogapplikationer, t.ex. Siri.
- Konfigurerbara tjänsteplattformar: erbjuder dialoghantering och domänimplentering genom att utvecklare kan välja domäner och koppla ihop deras färdiga implementeringar med specifika tjänster, t.ex. SiriKit och Houndify.
- Domänutvecklingsplattformar: erbjuder generisk dialoghantering genom att låta utvecklare implementera sina egna domäner eller välja färdiga från en lista, t.ex. API.AI och Houndify.
- Dialogskal: erbjuder inbyggd taligenkänning (ASR), talförståelse (NLU) och text-till-tal-funtionalitet (TTS) - utvecklare implementerar dialoghanterare och domäner, t.ex. Cortana, Alexa.
Undersökningen av de valda systemen är uppdelad i två delar. En del som testar hur systemen reagerar när användare svarar på en fråga relaterad till en viss uppgift (t.ex. ringa ett samtal) med att fråga om en annan uppgift (t.ex. status för missade samtal), t.ex:
- Ring ett samtal
- Vem vill du ringa?
- Har jag några missade samtal?
- Nej, du har inga missade samtal. Tillbaka till samtalsläge. Vem vill du ringa?
Resultaten av Larssons undersökning visar att ingen av de testade systemen (med utantag för Houndify som testades eftersom inget av dess domän hade fler än en uppgift som inkluderade frågor till användaren) kunde acceptera en sidouppgift och sedan gå tillbaka till den ursprungliga.
Den andra delen av undersökningen tittade på hur väl systemen kunde hantera frågor kopplade till sidouppgifter från andra domäner än den ursprungliga uppgiftens domän (med avslutande återgång till den ursprungliga uppgiften) t.ex:
- Ring ett samtal
- Vem vill du ringa?
- Vad är klockan?
- 20:00. Tillbaka till samtalsläge. Vem vill du ringa?
Resultaten av den här delen visade att Siri och Alexa kunde hantera den nya fråga-om-klockan-uppgiften, men utan återgång till ursprungsuppgiften. API.AI och Cortana ignorerade istället den nya uppgiften och upprepade frågan kopplad till den ursprungliga uppgiften: Vem vill du ringa?
I diskussionsdelen nämner Larsson att man skulle kunna testa fler dialogsystem, som Microsofts Luis eller IBM:s Watson. Han föreslår även att koppla samman dialoghanteringen med kvalitets-, användarbarhets- och attraktivitetsmått från exempelvis PARADISE-ramverket. Han poängterar också att användaren kanske inte alltid vill gå tillbaka till ursprungsfrågan, något som måste utvärderas från fall till fall. Avslutningsvis nämner han två system, Indigo från Artificial Solutions och Talmatatic Dialogue Manager (TDM) från Talkamatic, som faktiskt kan hantera underdialoger.