Dialoogsüsteem

**Dialoogsüsteem** ehk **dialoogisüsteem** (lühend **DS**) on programm, mis suhtleb inimesega  loomulikus keeles. Sellist vestluse loomulikkust püütakse saavutada sellega, et lisatakse süsteemile inimestevahelisele suhtlemisele iseloomulikke tunnuseid, nagu vooruvahetus, initsiatiivikus, tähendusrikas vaikus. Eristatakse programme, mis vastavad kasutaja küsimustele ja pakuvad kasulikku infot enamasti piiratud ainevaldkonnas (näiteks ekspertsüsteemid), ja vestlusprogramme ehk juturoboteid (ingl. *talkbot*, *chatbot*, *chatterbot*), mille ainevaldkond on enamasti vaba.

Suulisse dialoogsüsteemi võivad olla kaasatud peale kasutaja ja/või avatari kõne ka ühe või mõlema osapoole žestid ja miimika. Samuti võib rakendusel olla graafiline kasutajaliides, puutetundlik ekraan ja muu seesugune.

## Osad
Dialoogsüsteemide ehitus võib olla väga erinev, sest komponendid, mis on ühte dialoogsüsteemi lisatud või lisamata jäetud, erinevad rakenduseti suuresti. Üheks tähtsamaks osaks peetakse dialoogihaldurit, mis tegeleb dialoogi juhtimisega dialoogi mudeli järgi, sisaldades dialoogiseisundeid ja dialoogistrateegiaid.

Dialoogsüsteemi töötsükkel hõlmab tavaliselt järgmisi etappe:
# (Arvuti)kasutaja kõneleb suuliselt või kirjutab käsitsi ja sisend muudetakse tekstiks. Sel juhul võib dialoogsüsteem sisaldada järgmisi osasid:
#* automaatne kõnetuvasti
#* žestituvasti
#* käekirjatuvasti
# Loomuliku keele mõistmise seade analüüsib teksti. See seade võib sisaldada:
#* pärisnimede identifitseerijat
#* sõnaliigi märgendajat
#* süntaksianalüsaatorit ehk parserit
#* semantika analüsaatorit
# Semantilist informatsiooni analüüsib dialoogihaldur, mis omab teavet vestluse ajaloo ja dialoogiseisundite kohta.
# Dialoogihaldur teeb koostööd ülesannete halduriga, mis omakorda kasutab teadmisi ainevaldkonna kohta.
# Dialoogihaldur produtseerib väljundi. Selleks peab dialoogsüsteem sisaldama ühte või mitut järgmistest generaatoritest:
#* loomuliku keele generaator
#* žestide generaator
#* küljendusmootor
# Väljundi esitamisega on seotud järgmised komponendid:
#* tekst-kõnesüntees ehk kõnesüntesaator
#* nn kõnelev pea
#* robot või avatar

## Dialoogsüsteemide liigid
Dialoogsüsteeme jaotatakse kategooriatesse erinevatel alustel. Seejuures võib dialoogsüsteem kuuluda korraga mitmesse kategooriasse. Neid kategooriaid saab liigitada näiteks:
* modaalsuse järgi
** kirjalikud dialoogsüsteemid
** suulised dialoogsüsteemid
** graafilised kasutajaliidesed
** multimodaalsed dialoogsüsteemid
* vahendite järgi
** telefonil põhinevad süsteemid
** elektronmärkmikud ja pihuarvutid
** autos kasutatavad süsteemid
** robotsüsteemid
** arvuti töölaua süsteemid
** virtuaalse keskkonna süsteemid
* laadi järgi
** menüüjuhitavad süsteemid
** loomulikul keelel põhinevad dialoogsüsteemid
** käskjuhitavad rakendused
* initsiatiivikuse järgi
** initsiatiiv kuulub süsteemile
** põhineb kasutaja initsiatiivikusel
** jaotatud initsiatiivikus

## Rakendused
Dialoogsüsteeme kasutatakse abivahendina paljudes valdkondades: äris, hariduses, tervishoius, meelelahutuses jne. Süsteem võib täita näiteks järgnevaid ülesandeid:
* vastata ettevõtte veebilehel või internetiportaalis klientide küsimustele toodete ja teenuste kohta
* esitada kliendile küsimusi ja juhendada nendele küsimustele vastamisel
* juhendada müügiprotsessi, iseäranis esimest korda keeruliste toodete ostjatele
* vastata ettevõtte töötajate küsimustele 
* juhendada kliente toime tulema keerulistel veebilehtedel 
* juhendada tehniliste probleemide korral
* pakkuda personaalseid teenuseid, näiteks vastata kontojääki puudutavatele küsimustele või anda infot väärtpaberite kohta
* pakkuda õppijale nõu ja tuge

Michael F. McTear mainib suuliste dialoogsüsteemide kasutamist:
* infootsingute, teenuste, äritoimingute rakendustes
* probleemilahenduste rakendustes
* õpperakendustes
* mängudes ja virtuaalkeskkondades

## Arendustarkvara
Järgnev tabel annab ülevaate mõnedest dialoogsüsteemide loomisel kasutatavatest programmeerimiskeeltest, tarkvaradest ja tehnoloogiatest.

## Keele mõistmine
Keele mõistmise modelleerimine dialoogsüsteemidele on keeruline eeskätt kahel põhjusel:
# mitmeti tõlgendatavus keeles, eriti loomulikus keeles
#* sõnaline mitmeti tõlgendatavus
#* tähenduslik mitmeti tõlgendatavus ehk mitmetähenduslikkus
#* struktuuriline mitmeti tõlgendatavus
# valesti vormistatud sisend
Sõnaline mitmeti tõlgendatavus esineb näiteks inglise keele sõna *book* puhul: see võib olla nii nimisõna (raamat) kui ka tegusõna (broneerima).
Mitmetähenduslikkus esineb näiteks sõna *juur* puhul. See võib olla: 1. taimejuur; 2. elundi või kehaosa kinnitumiskoht (*hamba-, nina-, sabajuur*); 3. juuretis (*leiva-, tainajuur*); 4. algus, algupära, lähtekoht (*suguvõsa juured, kõige kurja juur*); 5. keeleteaduses: lihttüvi; 6. matemaatikas: kuupjuur, ruutjuur. 
Struktuuriline mitmeti tõlgendatavus on seotud fraasi mitmeti tõlgendamise võimalusega lauses. Mitmesuste probleemi lahendamiseks tuleb vaadata konteksti ehk lause või lausungi teisi sõnu, mõnikord lausa eelnevat teksti.

## Ülikoolid ja uurimiskeskused
Järgnev loetelu sisaldab valikut mainekatest ülikoolidest ja uurimiskeskustest, kus tegeletakse dialoogsüsteemide arendamisega:
* Centre for Communication Interface Research, http://www.ccir.ed.ac.uk/  
* Centre for Language Technology, http://clt.mq.edu.au/information/   
* Centre of Speech Technology, http://www.speech.kth.se/ctt/
* Conversational Interaction and Spoken Dialogue Research Group, http://www.cs.rochester.edu/research/cisd/   
* Institute for Language, Cognition and Computation, http://www.ilcc.inf.ed.ac.uk/research  
* Laboratory for Cognition, Interaction and Language Technology, https://www.ida.liu.se/labs/nlplab/  
* Litman Lab, http://people.cs.pitt.edu/~litman/itspoke.html#projects  
* Multimodal Interaction Research Group, http://www.uta.fi/sis/tauchi/mmig/index.html   
* Natural Language Processing Research Group, http://nlp.shef.ac.uk/  
* Spoken Language Processing Group, http://www.limsi.fr/tlp/  
* Spoken Language Systems Group, http://groups.csail.mit.edu/sls/research/  
* Sound Information Processing Group, http://winnie.kuis.kyoto-u.ac.jp/index-e.html  
* Tokyo Institute of Technology, Furui Laboratory, http://www.furui.cs.titech.ac.jp/

Eestis on dialoogsüsteeme uuritud ja loodud Tartu Ülikoolis.

## Vaata ka
* GPT-3
* graafiline kasutajaliides
* häälkasutajaliides
* kasutajaliides
* keel
* keeletehnoloogia
* kõnesüntees
* kõnetuvastus
* SISR
* tehisintellekt
* virtuaalreaalsus

## Viited

## Kirjandus
* Kristiina Jokinen. "Spoken Dialogue Systems", California: Morgan & Claypool Publishers, 2010. ISBN 9781598296006
* Michael F. McTear. "Spoken dialogue technology: toward the conversational user interface",London, New York: Springer,2004. ISBN 1852336722
* Margus Treumuth. "A Framework for Asynchronous Dialogue Systems: Concepts, issues and Design Aspects" ("Asünkroonsete dialoogsüsteemide raamistik: mõisted, probleemid ja kavandamise aspektid"). Tartu: Tartu Ülikooli Kirjastus, 2011. ISBN 9789949197026 (PDF), ISBN 9789949197019 (trükis)
* Ben Shneiderman, Catherine Plaisant. "Designing the user interface: strategies for effective human-computer interaction", Boston: Pearson/Addison Wesley, 2004. ISBN 0321197860 ja ISBN 9780321197863

## Välislingid
* TTÜ Küberneetika Instituut: Foneetika ja kõnetehnoloogia labor
* Alicebot
* Chatbot Racter
* CISD TRAINS
* Eliza Chat bot
* Jabberwacky
* Kyle – A Unique Learning Artificial Intelligence (AI) Chatbot
* Mitsuku Chatbot
* RFC 439 – PARRY encounters the DOCTOR
* SHRDLU
* USIX Interact – kielellinen vuorovaikutus