Zum Inhalt springen

Intelligenter virtueller Agent

aus Wikipedia, der freien Enzyklopädie

Intelligente virtuelle Agenten sind autonome, grafisch modellierte und animierte Charaktere in einer virtuellen Umgebung, die eine künstliche Intelligenz besitzen. Für eine lebensnahe Wirkung interagieren sie mit ihrer Umgebung, untereinander oder mit Menschen mit Hilfe natürlicher Modalitäten, wie Sprache, Mimik und Gestik. Die Wahrnehmung und Handlung in Echtzeit ermöglicht es ihnen Teil eines dynamischen, sozialen Umfelds zu sein.

Abgrenzungen

  • Abgrenzung zu Animationsfilmen: Intelligente virtuelle Agenten werden aufgrund von Interaktivität in Echtzeit gerendert. Im Gegensatz zum Echtzeitrendern benutzt die Filmindustrie das Offline-Rendering-Prinzip um Animationsfilme zu produzieren. Beim Offline-Rendering Prinzip wird vorher festgelegt, was gerendert werden soll. Daraufhin erfolgt die Berechnung eines Bildes, die mehrere Stunden dauern kann.
  • Computeranimierte Charaktere in Kinofilmen sind keine intelligenten virtuellen Agenten, da ihre Verhaltensweise durch ein Drehbuch vorbestimmt ist.

Weitere Bezeichnungen

  • Software-Agent: Dies ist die Bezeichnung für einen Agenten, welcher selbständig Aktionen in einer virtuellen Umgebung durchführen kann, um seine Ziele zu erreichen. Die Erscheinungsform des Agenten kann sich dort grafisch abbilden, wo sich ein strategischer Vorteil ergibt.
  • Embodied Agent: Ein verkörperter Charakter ist ein System, in welchem ein Charakter in einer virtuellen Welt grafisch repräsentiert wird. Der Charakter kann dabei in Form eines Menschen oder eines Tieres dargestellt werden und trägt dazu bei, dass Benutzer ihn akzeptieren.
  • Avatare werden vom Spieler gesteuert und weisen kein autonomes Verhalten auf.
  • Nichtspielercharakter (NPC): Sind vom Computer nach den Regeln der künstlichen Intelligenz gesteuerte Charakter, die sich entweder freundlich oder neutral zum Spieler verhalten.

Einsatzgebiete

Datei:Vsd logo v2.jpg
„Virtual Sheep Dog“

Intelligente virtuelle Agenten werden neben Computerspielen zur Unterhaltung auch im E-Learning Bereich und für anthropomorphe Benutzerschnittstellen eingesetzt.

Computerspiele

In Computerspielen finden sie Anwendung als Nichtspieler-Charaktere, um dem Spieler Informationen, Tipps oder Aufgaben zum Spiel zu vermitteln, oder einfach nur um die Spielwelt lebendiger wirken zu lassen. Zudem können sie als Teamkollegen dem Spieler bei der Lösung von Aufgaben helfen oder als Gegner den Spieler vor Herausforderungen stellen. Außerdem können sie aus der Spielergesteuerten Rolle hinausgehen und selbstständig vom Spieler getroffene Entscheidungen ausführen.

E-Learning

Intelligente virtuelle Agenten werden im E-Learning-Bereich als pädagogische Agenten wie z. B. als Tutor, Mentor, Lehrer, Lernpartner etc. eingesetzt, um dem Benutzer verschiedenste Lerninhalte didaktisch zu vermitteln. Auf Webseiten und an Info-Terminals dienen sie als Präsentationsagenten, um dem Benutzer Informationen zu präsentieren.

Anthropomorphe Benutzerschnittstellen

Virtuelle Agenten dienen als Schnittstelle zwischen einem System und dem Benutzer. Der Benutzer kann den Agenten anweisen, verschiedene Aufgaben auszuführen. Wobei der virtuelle Agent sich zu einem operativen Programm entwickeln kann.

Anwendungen

  • Project Milo:<ref>Project Milo</ref> Ein von Microsoft entwickeltes virtuelles Kind, mit dem man über Sprache und Gestik interagieren kann.
  • Façade:<ref>Façade interactivestory.net</ref> In dieser Software kann der Spieler interaktiv per Tastatureingaben unter anderem an einem Gespräch zwischen zwei Eheleuten teilnehmen und den Verlauf des Gesprächs positiv oder negativ verändern.
  • Army-Soldaten: USC Institute for Creative Technologies<ref>USC Institute for Creative Technologies</ref> bezeichnet eine Trainingssimulation für Army-Soldaten entwickelt, die intelligente virtuelle Agenten enthält.
  • Smartakus: Ein am Deutschen Forschungszentrum für Künstliche Intelligenz<ref>Deutschen Forschungszentrum für Künstliche Intelligenz</ref> (DFKI) entwickelter Charakter, der als anthropomorphe Benutzerschnittstelle fungiert. Er kann Kommandos des Benutzers selbstständig zur Bedienung eines Gerätes weiterleiten, und z. B. einen bestimmten Film mit einem DVD-Recorder aufnehmen.
  • Improv Puppets:<ref name="Hayes-Roth">B. Hayes-Roth: What makes characters seem life-like? In: Life-like Characters. Tools, Affective Functions and Applications. Springer, 2003, ISBN 978-3-540-00867-5</ref> Dies sind virtuelle Puppen (Marionetten), die eingesetzt werden, um mit Kindern zu interagieren. Durch den sozialen Kontakt mit Kindern, soll deren kognitive Entwicklung geprägt werden.
  • Virtual Jack:<ref name="Hayes-Roth" /> Jack ist ein Agent repräsentiert durch einen Hund der Firma Petopia. Jack soll den Kunden bei der Navigation auf der Webseite helfen.
  • Erin the bartender:<ref name="Hayes-Roth" /> Erin O’Malley ist eine virtuelle Barkeeperin, die hunderte von Drinks zubereiten und darüber berichten kann. Sie spricht außerdem mit dem Benutzer über verschiedene Themen.
  • Katherine, Interactive Newscaster:<ref name="Hayes-Roth" /> Katherine ist ein Charakter auf einer Webseite, welcher dem Besucher interaktive News zur Verfügung stellt.
  • EACH Star Workshop:<ref name="Hayes-Roth" /> Der EACH Star Workshop beinhaltet virtuelle Lehrer, die den Besucher in den Bereichen Management, soziale Kompetenz, Fremdsprache usw. lehren können.
  • ERIC (Embodied Real-time Intelligent Commentary):<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20110217214610
      | {{#ifeq: 20110217214610 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: ERIC | {{#invoke:WLink|getEscapedTitle|ERIC}} | {{#invoke:Webarchiv|getdomain|http://www.martinstrauss.id.au/eric}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20110217214610}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: ERIC | {{#invoke:WLink|getEscapedTitle|ERIC}} | {{#invoke:Webarchiv|getdomain|http://www.martinstrauss.id.au/eric}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-04-19 01:24:45 InternetArchiveBot | 2019-04-19 01:24:45 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20110217214610}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: ERIC | {{#invoke:WLink|getEscapedTitle|ERIC}} | {{#invoke:Webarchiv|getdomain|http://www.martinstrauss.id.au/eric}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-04-19 01:24:45 InternetArchiveBot | 2019-04-19 01:24:45 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: ERIC | {{#invoke:WLink|getEscapedTitle|ERIC}} | {{#invoke:Webarchiv|getdomain|http://www.martinstrauss.id.au/eric}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2019-04-19 01:24:45 InternetArchiveBot | 2019-04-19 01:24:45 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: ERIC | {{#invoke:WLink|getEscapedTitle|ERIC}} | {{#invoke:Webarchiv|getdomain|http://www.martinstrauss.id.au/eric}} }} (Memento{{#if: {{#if: 2019-04-19 01:24:45 InternetArchiveBot | 2019-04-19 01:24:45 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: ERIC | {{#invoke:WLink|getEscapedTitle|ERIC}} | {{#invoke:Webarchiv|getdomain|http://www.martinstrauss.id.au/eric}} }}  
                 }}}}}}}}{{#if:2019-04-19 01:24:45 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20110217214610|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.martinstrauss.id.au/eric}}
    || {{#if:  || }}
  }}{{#if: ERIC
    | {{#if: {{#invoke:WLink|isBracketedLink|ERIC}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.martinstrauss.id.au/eric%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.martinstrauss.id.au/eric%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.martinstrauss.id.au/eric }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} the realtime commentary</ref> ist ein Regel-basiertes Framework mit dessen Hilfe sich verkörperte grafische Agenten entwickeln lassen, um verschiedene Geschehnisse in Echtzeit zu kommentieren. Zurzeit wird ERIC eingesetzt, um ein virtuelles Pferderennen zu kommentieren.

Kernprobleme

Die Kernprobleme bei der Konzeption und Realisierung von intelligenten virtuellen Agenten liegen einerseits im Bereich der grafischen Modellierung und Visualisierung, andererseits bei der Echtzeit-Synchronisation von Sprache, Mimik und Gestik. Eine weitere Herausforderung ist es, den Agenten möglichst glaubhaft darzustellen.

Glaubhaftigkeit in Bezug auf virtuelle Agenten beschreibt die Bereitschaft des Benutzers sich auf die Illusion, die durch die Interaktion mit dem Agenten entsteht, einzulassen. Bereits Anfang der 1930er Jahre brachten die Animateure bei Disney durch die Art, wie die Figuren ihre Emotionen ausdrückten, das Publikum zum Lachen oder Weinen.

Für eine glaubhafte Darstellung muss der emotionale Zustand eines Charakters, insbesondere seine Ziele, Vorlieben und Abneigungen, klar definiert und für den Zuschauer zu jedem Zeitpunkt erkennbar sein. Außerdem können Emotionen besonders betont werden, um dem Zuschauer die Zeit zu geben, diese zu erfassen.

Weiterhin hat der Denkprozess des Charakters Einfluss auf seine Gefühle. Für den Zuschauer muss nachvollziehbar sein, in welchem Zustand sich der Charakter befindet.

In der Praxis haben sich 7 Merkmale<ref name="Hayes-Roth" /> herausgestellt, die einen Charakter lebensnah erscheinen lassen:

  1. gesprächig: Der Agent kann glaubhaft eine Unterhaltung führen. Dazu gehört es z. B., dass er die Initiative zum Gespräch ergreift oder verschiedene Standpunkte widerspiegeln kann.
  2. intelligent: Der Agent führt beispielsweise Konversation in dem Rahmen, der seiner Kompetenz entspricht.
  3. individuell: Der Agent besitzt eine eigenständige Persönlichkeit und dynamische Emotionen, die er gerade auf seine eigene Art und Weise ausdrückt.
  4. sozial: Der Agent soll Selbstbewusstsein im sozialen Kontext besitzen.
  5. überzeugend: Der Agent soll emotional auf Ereignisse und Situationen reagieren können und auf die Emotionen seines Kommunikationspartners eingehen können.
  6. vielseitig: Der Agent soll zufällig und veränderlich sein, wie wann und was seine Handlungen betreffen.
  7. konsistent: Der Agent behält grundlegende Elemente in Konversation, Gestik, Körpersprache und Gesichtsausdrücken in sich ähnelnden Situationen bei.

Die Realisierung von virtuellen Agenten ist ein interdisziplinärer Prozess. Je nach Einsatzgebiet sind neben Grafikern und KI-Forschern auch Psychologen, Soziologen und Pädagogen am Entwicklungsprozess beteiligt.

Ein weiteres Problem bei der Realisierung ist die Integration von vielen teilweise nicht-standardisierten Softwarekomponenten, die in den unterschiedlichen Bereichen zu Entwicklung eingesetzt werden und zu einer komplexen Systemarchitektur führen.

In den folgenden Abschnitten werden weitere Kernprobleme detailliert beschrieben.

Visualisierung / Grafische Modellierung und Animation

Datei:Alfred dual.jpg
1}} }} }} }}</ref>

Das Grafikdesign und die Animation eines Intelligenten virtuellen Agenten sind die optischen Komponenten, die zur Glaubhaftigkeit gegenüber dem menschlichen Benutzer beitragen und einen ersten Eindruck bei ihm hinterlassen.

In den Anfängen der Darstellung von virtuellen Agenten wurde meist auf 2D-Objekte zurückgegriffen. Beispielsweise können kontextabhängige, animierte GIF-Sequenzen zu einer ganzen Fülle von Bewegungsanimationen zusammengefasst werden. Aus diesem Pool von Animationsfragmenten kann dann während der Interaktion mit einem Benutzer zur Laufzeit die passende Animation herausgesucht und der aktuell laufenden angefügt werden.

Heutzutage werden hauptsächlich 3D-Modelle zur Darstellung von virtuellen Agenten verwendet. Die technischen Möglichkeiten bei der Erstellung der Grafik (Rendern (Design)) und Animation sind im Interaktionsbetrieb nicht mit denen von aktuellen 3D-Animationsfilmen vergleichbar. Da die Berechnungszeit eine wesentliche Rolle in der Interaktion mit einem Benutzer spielt, können keine aufwendigen Szenerien und detaillierte Agenten modelliert werden. Details des zu modellierenden Objektes sollten wenn möglich in den Texturen verarbeitet werden und nicht im 3D Objekt, um die Gesamtzahl von Polygonen so gering wie möglich zu halten.

Bekannte und weit verbreitete Tools zur 3D-Modellierung wären beispielsweise:

  • Kostenpflichtige Tools:
    • 3ds Max (3D Studio MAX)
    • Maya
    • Autodesk Softimage (XSI)
    • Cinema4D
  • Freeware:
    • Blender
    • AutoQ3D Community
    • Truespace

Verhaltensplanung und Verhaltenssteuerung

Für die Verhaltensplanung und Steuerung gibt es verschiedene Ansätze:

  • Scripting in Computerspielen<ref>Pieter Spronck, Ida Sprinkhuizen-Kuyper, Eric Postma: Enhancing the Performance of Dynamic Scripting in Computer Games In: Entertainment Computing – ICEC 2004. Springer, 2004, ISBN 978-3-540-22947-6</ref> (z. B. LUA, das unter anderem in Spielen wie FarCry und World of Warcraft Anwendung findet)
  • Planbasierte Systeme (z. B. ABL<ref>Michael Mateas, Andrew Stern: A Behaviour Language: Joint action and behavioral idioms, 2004 (PDF)</ref>, das bei der Entwicklung von Facade<ref>Michael Mateas, Andrew Stern: Facade: An Experiment in Building a Fully-Realized Interactive Drama, 2003 (PDF)</ref> genutzt wurde)
  • Regelbasierte Systeme (z. B. Jess,<ref>Jess in der englischsprachigen Wikipedia</ref> mit dessen Hilfe beispielsweise das generische regelbasierte System von ERIC<ref>Michael Kipp, Martin Strauss: ERIC: a generic rule-based framework for an affective embodied commentary agent In: Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems – Volume 1, International Foundation for Autonomous Agents and Multiagent Systems, 2008, ISBN 978-0-9817381-0-9. S. 97–104</ref> programmiert wurde)
  • Kognitive Architekturen (z. B. SOAR, für das eine Beispielentwicklung ein pädagogischer Agent namens Steve<ref>W. Lewis Johnson

Jeff Rickel: Steve: an animated pedagogical agent for procedural training in virtual environments In: ACM SIGART Bulletin, ACM, 1997, {{#invoke:URIutil|{{#ifeq:1|1|linkISSN|targetISSN}}|0163-5719|0}}{{#ifeq:1|0|[!] }}{{#ifeq:0|1

        |{{#switch:00
                  |11= (print/online)
                  |10= (print)
                  |01= (online)
          }}

}}{{#ifeq:0|0

        |{{#ifeq:0|0
              |{{#if:{{#invoke:URIutil|isISSNvalid|1=0163-5719}}
                    |
                    |{{#invoke:TemplUtl|failure|ISSN ungültig}}}}}}

}}. S. 16–21</ref> ist)

  • Graphbasierte Systeme (z. B. SceneMaker).

Mit ihnen werden die Planungssysteme erstellt und gelöst, um Aktionsfolgen für das Verhalten des intelligenten virtuellen Agenten zu erzeugen.

Grundlegend lässt sich die Verhaltensplanung und -steuerung in die Bereiche des verbalen (text- und sprachbasierte Kommunikation) und nonverbalen (Mimik und Gestik aber z. B. auch die Bewegung im Raum) Verhaltens aufteilen.

Verbales Verhalten

Fundamente für eine verbale Interaktion von und mit intelligenten virtuellen Agenten sind die Spracherkennung, Sprachverarbeitung und Sprachsynthese, mit deren Hilfe text- und sprachbasierte Dialogsystems erzeugt werden. Dabei ist darauf zu achten, möglichst natürlich wirkende Dialoge zwischen Mensch und intelligenten virtuellen Agenten zu gestalten.

Die Implementierung kann unter anderem mit Hilfe von Interpretern, die auf MarkUp-Sprachen basieren (z. B. VoiceXML), oder Systemen erfolgen, die eine grafische Entwicklungsumgebung (z. B. DialogOS) besitzen und somit einen sehr einfachen Einstieg in die Erstellung von Dialogsystemen bieten.

Nonverbales Verhalten

Die Planung des nonverbalen Verhaltens umfasst insbesondere Mimik, Gestik und allgemein die Körperhaltung des Agenten. Im weiteren Sinne bezieht es sich ebenso auf allgemeine Bewegungen im Raum, die als Pathfinding eine Problemstellung der KI ist. Animationen für Mimiken und Gestiken werden hingegen mit Hilfe von Scripts beschrieben. Wobei die Realisierung der Animation aus 3 Ebenen<ref>B. Hartmann, M. Mancini, C. Pelachaud: Implementing expressive gesture synthesis for embodied conversational agents. In: Proc. of GW-2005, 2005</ref><ref>S. Kopp, I. Wachsmuth: Synthesizing multimodal utterances for conversational agents. In: Computer Animation and Virtual Worlds 15, 2004. S. 39–52</ref> aufgebaut ist:

  1. Verhaltensplanung
  2. Aktionsplanung
  3. Auswahl und Ausführung der Animationen, die zum Durchführen der Aktionen benötigt werden.

Entwicklern stehen dazu Frameworks zur Seite. Eines der verbreitetsten ist dabei das SAIBA Framework,<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20161115152617

      | {{#ifeq: 20161115152617 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: SAIBA | {{#invoke:WLink|getEscapedTitle|SAIBA}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/saiba/wiki}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20161115152617}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: SAIBA | {{#invoke:WLink|getEscapedTitle|SAIBA}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/saiba/wiki}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20161115152617}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: SAIBA | {{#invoke:WLink|getEscapedTitle|SAIBA}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/saiba/wiki}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: SAIBA | {{#invoke:WLink|getEscapedTitle|SAIBA}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/saiba/wiki}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: SAIBA | {{#invoke:WLink|getEscapedTitle|SAIBA}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/saiba/wiki}} }} (Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: SAIBA | {{#invoke:WLink|getEscapedTitle|SAIBA}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/saiba/wiki}} }}  
                 }}}}}}}}{{#if:2025-07-21 03:37:00 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20161115152617|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.mindmakers.org/projects/saiba/wiki}}
    || {{#if:  || }}
  }}{{#if: SAIBA
    | {{#if: {{#invoke:WLink|isBracketedLink|SAIBA}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.mindmakers.org/projects/saiba/wiki%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.mindmakers.org/projects/saiba/wiki%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/saiba/wiki }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref> bei dem mit Hilfe der Behaviour Markup Language<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20161115152619
      | {{#ifeq: 20161115152619 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: BML | {{#invoke:WLink|getEscapedTitle|BML}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/bml-1-0/wiki}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20161115152619}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: BML | {{#invoke:WLink|getEscapedTitle|BML}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/bml-1-0/wiki}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20161115152619}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: BML | {{#invoke:WLink|getEscapedTitle|BML}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/bml-1-0/wiki}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: BML | {{#invoke:WLink|getEscapedTitle|BML}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/bml-1-0/wiki}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: BML | {{#invoke:WLink|getEscapedTitle|BML}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/bml-1-0/wiki}} }} (Memento{{#if: {{#if: 2025-07-21 03:37:00 InternetArchiveBot | 2025-07-21 03:37:00 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: BML | {{#invoke:WLink|getEscapedTitle|BML}} | {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/bml-1-0/wiki}} }}  
                 }}}}}}}}{{#if:2025-07-21 03:37:00 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20161115152619|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.mindmakers.org/projects/bml-1-0/wiki}}
    || {{#if:  || }}
  }}{{#if: BML
    | {{#if: {{#invoke:WLink|isBracketedLink|BML}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.mindmakers.org/projects/bml-1-0/wiki%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.mindmakers.org/projects/bml-1-0/wiki%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.mindmakers.org/projects/bml-1-0/wiki }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref> (BML) das Verhalten des Intelligenten virtuellen Agenten beschrieben wird. Anschließend wird das BML Skript von einer Engine der dritten Ebene (z. B. SmartBody,<ref>SmartBody</ref><ref>M. Thiebaux, S. Marsella, A.N. Marshall, M. Kallmann: Smartbody: Behavior realization for embodied conversational agents. In: Proc. of AAMAS-2008, 2008. S. 151–158</ref> BML Realizer<ref>BML Realizer</ref>) in eine Animation umgesetzt. Ein ähnlicher Ansatz wird in EMBR<ref>Alexis Heloir, Michael Kipp: EMBR – A Realtime Animation Engine for Interactive Embodied Agents In: IVA 2009, Springer-Verlag Berlin Heidelberg, 2009. S. 393–404</ref> gewählt, bei dem jedoch zwischen zweiter und dritter Ebene eine weitere (animation layer) eingeführt wird. Dadurch erlangt man mehr Kontrolle über die Animationen selbst, indem diese zunächst ebenfalls mit Hilfe einer Beschreibungssprache (EMBRScript) notiert und erst danach in die konkrete Bewegung des Agenten umgesetzt werden.

Verwendete Technologien

  • Microsoft Agents
  • Autorenwerkzeuge, z. B. MASH
  • Standards
  • Markup-Sprachen zur Spezifikation des multimodalen Verhaltens

Literatur

  • Helmut Prendinger, Mitsuru Ishizuka (Hrsg.): Life-like characters. Tools, affective functions and applications. Berlin: Springer, 2004
  • Justine Cassell, Joseph Sullivan, Elizabeth Churchill, Scott Prevost: Embodied Conversational Agents, Cambridge: The MIT Pres, 2000, ISBN 0-262-03278-3 (online)

Weblinks

Einzelnachweise und Anmerkungen

<references />