"Puheaktiivinen" käyttöliittymä ja sen haasteet Santtu Toivonen, VTT Tietotekniikka Käyttöliittymien ja käytettävyyden seminaari (T-121.900) 26.11.2002
Sisältö Puheaktiteoria Puheaktityypit (3kpl) Illokutionaariset aktit (5kpl) Puheaktit ohjelmistoagenteilla FIPA "Puheaktiivinen" käyttöliittymä 26.11.2002 2
Kommunikointi: AO vs. OO Olio-ohjelmointi oliot kommunikoivat "telepaattisesti" manipuloivat suoraan toistensa tietämystä (rajapintojen kautta) vs. Agenttiohjelmointi ohjelmistoagentit kommunikoivat "ihmismäisesti" "miettivät" ennen kuin reagoivat puheaktiteoria eräänä keskeisenä komponenttina agenttein kommunikoinnissa... 26.11.2002 3
Puheaktiteorian historia John Austin (1962): How to Do Things with Words kielellä muutakin kuin pelkkä referentiaalinen suhde ulkomaailmaan John Searle Speech Acts: An Essay in the Philosophy of Language (1969) A Taxonomy of Illocutionary Acts (1975) Performatiiviverbit kyselyt, lupaukset, väitteet, vaatimukset, Ohjelmistoagentit 1990-luku Agenttien kommunikoinnin mallintaminen ja standardointi KQML (Labrou & Finin) FIPA ACL (Agent Communication Language) Varmaan paljon muutakin, mutta 26.11.2002 4
Puheaktityypit Esimerkkilause: "Voisitko sulkea television?" Kolmenlaisia puheakteja (Austin 1962): 1) Lokutionaarinen (locutionary) 2) Illokutionaarinen (illocutionary) 3) Perlokutionaarinen (perlocutionary) Voisitko sulkea TV:n? 26.11.2002 5
Puheaktityypit Esimerkkilause: "Voisitko sulkea television?" Kolmenlaisia puheakteja (Austin 1962): 1) Lokutionaarinen (locutionary) 2) Illokutionaarinen (illocutionary) 3) Perlokutionaarinen (perlocutionary) 26.11.2002 6
Puheaktityypit Esimerkkilause: "Voisitko sulkea television?" Kolmenlaisia puheakteja (Austin 1962): 1) Lokutionaarinen (locutionary) 2) Illokutionaarinen (illocutionary) 3) Perlokutionaarinen (perlocutionary) klik 26.11.2002 7
Illokutionaariset aktit Viidenlaisia illokutionaarisia akteja (Searle 1969, 1975): 1) Assertiivi (assertive) 2) Direktiivi (directive) 3) Komissiivi (commissive) 4) Deklaratiivi (declarative) 5) Ekspressiivi (expressive) Me ollaan TKK:lla. 26.11.2002 8
Illokutionaariset aktit Viidenlaisia illokutionaarisia akteja (Searle 1969, 1975): 1) Assertiivi (assertive) 2) Direktiivi (directive) 3) Komissiivi (commissive) 4) Deklaratiivi (declarative) 5) Ekspressiivi (expressive) Voisitko sulkea TV:n? 26.11.2002 9
Illokutionaariset aktit Viidenlaisia illokutionaarisia akteja (Searle 1969, 1975): 1) Assertiivi (assertive) 2) Direktiivi (directive) 3) Komissiivi (commissive) 4) Deklaratiivi (declarative) 5) Ekspressiivi (expressive) OK! 26.11.2002 10
Illokutionaariset aktit Viidenlaisia illokutionaarisia akteja (Searle 1969, 1975): 1) Assertiivi (assertive) 2) Direktiivi (directive) 3) Komissiivi (commissive) 4) Deklaratiivi (declarative) 5) Ekspressiivi (expressive) Täten julistan teidät mieheksi ja vaimoksi... 26.11.2002 11
Illokutionaariset aktit Viidenlaisia illokutionaarisia akteja (Searle 1969, 1975): 1) Assertiivi (assertive) 2) Direktiivi (directive) 3) Komissiivi (commissive) 4) Deklaratiivi (declarative) 5) Ekspressiivi (expressive) Mä oon rakastunut... 26.11.2002 12
FIPA Foundation for Intelligent Physical Agents http://www.fipa.org Mission statement (http://www.fipa.org/about/mission.html): The promotion of technologies and interoperability specifications that facilitate the end-to-end interworking of intelligent agent systems in modern commercial and industrial settings. eli eivät FIPA:ssa kiinnitä huomiota agentteihin sinänsä, vaan siihen miten ne toimivat yhteen Kommunikointi keskeisin interaktion muoto Kommunikointikielen määritteleminen olennaista 26.11.2002 13
FIPA:n rakenne Technical Committees (TC's) normatiiviset spesifikaatiot tällä hetkellä mm. TC Ad hoc ja TC Semantics Working Groups (WG's) informatiiviset spesifikaatiot Special Interest Groups (SIGs) ei formaaleja toimintatapoja ideoita käsiteltäväksi TC:ille ja WG:ille Viime aikoina tärkeä aktiviteetti ollut X2S, "Experimental to Standardad" spesifikaatiot valmiiksi viime kokouksessa (10/2002, Pensacola, FL) äänestys hyväksymisestä vielä tänä vuonna 26.11.2002 14
Life Cycle: FIPA:n spesifikaatiot Deprecated Deprecated Preliminary Preliminary Experimental Standard Standard Obsolete Obsolete Spesifikaatioalueet: Applications (Nomadic Application Support, Personal Travel Assistance,...) Abstract Architecture Agent Communication (Speech acts, content languages, interaction protocols) Agent Management Message Transport (Transport protocols, envelope representations, ACL representations) 26.11.2002 15
FIPA:n status Tällä hetkellä n. 60 jäsentä HP, Sun, IBM, Siemens, BT, Fujitsu, Intel, Motorola, Boeing, NTT,... Yliopistoja, tutkimusinstituutteja,... Ristiriitainen tilanne: Ensimmäistä kertaa koherentti spesifikaatiojoukko standardistatuksella Tieteellisissä artikkeleissa enemmän viittauksia FIPA:n spesifikaatioihin kuin koskaan aikaisemmin esim. AAMAS'02:ssa vs. FIPA taloudellisissa vaikeuksissa 26.11.2002 16
Agenttien kommunikoinnin tasot Figure reprinted with permission from presentation given by Heikki Helin in October 2002 titled "Performance Analysis of Software Agent Communication in Slow Wireless Networks". 26.11.2002 17
FIPA ACL ACL-viesti voi pitää sisällään seuraavia parametreja: performative Type of communicative acts sender Participant in communication receiver Participant in communication reply-to Participant in communication content Content of message language Description of Content encoding Description of Content ontology Description of Content protocol Control of conversation conversation-id Control of conversation reply-with Control of conversation in-reply-to Control of conversation reply-by Control of conversation 26.11.2002 18
Välikommentti: BDI-agentit Sensor Sensor input input A g e n t Action Action output output 26.11.2002 19
Välikommentti: BDI-agentit Sensor Sensor input input Beliefs Desires Intentions A g e n t Action Action output output 26.11.2002 20
FIPA ACL (2): inform Formaali malli: <i, inform (j,x)> FP: Bix Bi(Bifjx Uifjx) RE: Bjx Esimerkki (agentti kertoo toiselle että tänään sataa): (inform :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "weather (today, raining)" :language Prolog) 26.11.2002 21
FIPA ACL (3): request Formaali malli: <i, request (j,a)> FP: FP (a) [i\j] Bi Agent (j, a) Bi Ij Done (a) RE: Done (a) Esimerkki (tiedoston avaamispyyntö): (request :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content "open \"db.txt\" for input" :language vb) 26.11.2002 22
FIPA: Interaktioprotokollat Interaktioprotokolla: järjestetty joukko puheakteja (+ jotain lisärajoituksia) Puheaktin yhteydessä voidaan määritellä, josko ollaan sitouduttu interaktioprotokollaan Esim. English Auction 26.11.2002 23
"Puheaktiivinen" käyttöliittymä: yleistä Ihmiset ja ohjelmistoagentit kommunikoivat molemmat jo puheaktein Voisikohan tätä hyödyntää HCI:ssä? Tavoitteeksi esimerkiksi virtuaaliyhteisö, jonka "kommunikoinnillisesti tasavertaisina" jäseninä voivat olla yhtä lailla ihmiset ja ohjelmistoagentit Vaatimus: Tällaisessa yhteisössä viestin lähettäjän ei tarvitsisi välittää siitä, onko viestin vastaanottaja biologinen vai keinotekoinen agentti 26.11.2002 24
"Puheaktiivinen" käyttöliittymä: haasteita 1) Sovittaa yhteen ihmisten vapaamuotoinen luonnollinen kieli ja ohjelmistoagenttien täsmällisesti määritelty kommunikointikieli Ratkaisu 1: NLP Ratkaisu 2: Kompleksi käyttöliittymä 2) Yhden viestin sisältö Ohjelmistoagenteilla aina 1 sisältö / viesti vs. Ihmisillä (etenkin asynkronisessa viestinnässä) paljon erilaista materiaalia yhdessä viestissä Keskustelun pitäminen kasassa saattaa muodostua hankalaksi 26.11.2002 25
"Puheaktiivinen" käyttöliittymä: mock-up 26.11.2002 26
"Puheaktiivinen" käyttöliittymä: keskustelunpätkä Tommi: Weezer soittaa Tavastialla ens viikolla (inform) Oisko sulla sinne ylimääräsiä lippuja? (query) Jaana: Joo on mulla pari lippuu (inform) Ei sulla olis niitten vikaa levyy lainata (query) Tommi: ET OO TOSISSAS!! Myy myy myy mulle lippu jooko? (request) 26.11.2002 27
"Puheaktiivinen" käyttöliittymä: keskustelunpätkä (2) T J T Ihmiset Ohjelmistoagentit T(q) J(i) inform query request T(i) J(q) T(i) T(r) 26.11.2002 28
"Puheaktiivinen" käyttöliittymä: soveltaminen Sopisi todennäköisesti yhteisölle, jolla tiettyjä sovittuja käytäntöjä esim. työyhteisö etenkin, jos käytössä on jokin monimutkainen käyttöliittymä Use caseja: "älykäs" out-of-office-reply historiallinen selattavuus ja gurujen paikantaminen edellyttää keskustelujen tallentamista muodossa, joka mahdollistaa eri parametreihin perustuvat haut 26.11.2002 29
Kiitoksia! Kysymyksiä? santtu.toivonen@vtt.fi 26.11.2002 30