Darstellung der technischen
Konzepte in ihren wesentlichen Grundzügen:
Zitat aus dem Seminar WWW-basierte Informationsdienste SS 98:
Thema: Interface Agenten / Persönliche Assistenten:
Bei der Entwicklung von Interface Agenten sind zwei Aspekte zu berücksichtigen. Der erste ist die
Entscheidungskompetenz, d.h. wie bzw. woher bekommt der Agent sein Wissen, um
Entscheidung zu treffen ? Der zweite Aspekt ist die
Glaubwürdigkeit, d.h. wie kann sichergestellt werden, daß der Benutzer, die
durch den Agenten getroffene Entscheidung als richtig erkennt (akzeptiert).
Zitat aus derselben Vorlesung unter dem Punkt Lernende Agenten -
Verhalten-basierte Agenten:
Die dritte Art von Agenten sind die Lernenden Agenten, auch Verhalten-basierte Agenten genannt. Sie werden
so bezeichnet, weil sie ihre Entscheidungskompetenz vorwiegend aus dem
Arbeitsverhalten des Benutzers entnehmen. Die wichtigen Eigenschaften eines
Lernenden Agenten sind seine Anpassungsfähigkeit, seine Robustheit und seine
Verhaltenswirksamkeit. Die Anpassungsfähigkeit bedeutet, daß die Entscheidungskompetenz
des Agenten sich nicht allein auf bereits
eingetretene bzw. bekannte Situationen beschränkt.
Die zweite Eigenschaft
Robustheit bedeutet, daß der Agent niemals bei der Verfolgung seiner Ziele
aufgibt. In der Praxis wird das realisiert indem er versucht, weiter mit Hilfe
von anderen Agenten einen möglichen Vorschlag zu machen.
Dieser lernende Agent wird an anderer Stelle in den Vorlesungsfolien
mit einem persönlichen Assistenten gleichgesetzt, wobei allerdings zu sagen ist,
daß es noch andere Programmiermöglichkeiten für einen Assistenten gibt, außer
der des Maschinellen Lernens, wie das Konzept der Verhaltensbasierung auch
genannt wird. Es gibt also noch andere persönliche Assistenten als die
verhaltensbasierten Agenten. Dazu später mehr.
Das bedeutet also , daß sich ein persönlicher Assistent durch
verschiedene Quellen Wissen aneignet und so Entscheidungskompetenz erhält. Er
kann also dem Benutzer Vorschläge für Tätigkeiten machen beziehungsweise
selbstständig richtige Tätigkeiten setzten, wobei die Kompetenz mit der er dies
tut und somit die Zufriedenheit des Benutzers mit fortschreitendem Gebrauch
erhöht wird, indem er eben lernt, was der Benutzer von ihm erwartet.
Ein persönlicher Assistent ist so programmiert, daß er vom Benutzer
lernt um periodische Arbeitsschritte selbst übernehmen zu können. Dazu muß ihm
die Möglichkeit gegeben werden sich bis zu einem gewissen Grad selbst zu
programmieren.
Zitat: aus oben genannter Vorlesung:
Der Begriff ,,Selbst-Programmieren `` wird als das Aneignen von Wissen, um dem Benutzer bei
der Anwendung der Applikation zu helfen, verstanden.
Um dieses Wissen zu bekommen, merkt sich der Interface Agent die Aktionen des Benutzers über die
Zeit; sobald er ein eindeutiges Situations-Aktions-Muster findet, fragt er, ob
die damit verbundene Aktion automatisiert werden soll.........
Der Agent kann außerdem eingerichtet werden, um die
Aktionen selber vorzunehmen oder sie nur als Vorschläge anzubieten. ...........
Interface Agenten können ihr
Entscheidung auch durch Vorschläge von
anderen Agenten begründen.
Ein wichtiger Aspekt, der hier erwähnt wurde ist, daß ein persönlicher
Assistent nicht nur von den Tätigkeiten des Benutzers lernt sondern auch von
anderen Agenten, bzw. persönlichen Assistenten Informationen beziehen kann und
bei einer Entscheidung auf dieses Wissen zurückgreifen kann.
Es werden in der oben genannten Vorlesung 4 Methoden erwähnt, wie man
einen persönliche Assistenten trainieren kann:
1.Beobachtung des Benutzerverhaltens
2.Indirektes und direktes Benutzer-Feedback
3.Training auf der Basis von vorgespielten Beispielen
4.Abfragen anderer Agenten
ad Pkt. 2: Der Benutzer kann natürlich dem Assistenten seine
Zufriedenheit mir ihm mitteilen indem er die Vorschläge bestätigt oder ablehnt.
Auch so lern der Assistent dazu.
ad Pkt. 3: Man kann einem Assistenten natürlich auch spezielle
Situationen zu lösen geben und ihn dadurch auf die geforderten Leistungen
trainieren, wenn man sich auf den Agenten verlassen können muß und nicht warten
kann, bis er im Alltagsleben zu richtigen Ergebnissen kommt.
Dazu ein Beispiel aus derselben Vorlesung:
Persönlicher Assistent an dem Beispiel eines Email Agent
Die Aufgabe eines Email-Agenten ist die Unterstützung des Benutzers bei der Bearbeitung der
ankommenden Emails. Dazu zählt das Einordnen der Emails nach Lesepriorität, das
Weiterleiten, Löschen und Abspeichern von Emails in bestimmten Ordner usw.
Die Forschungsgruppe ,,Media
Laboratory, MIT`` hat einen Email-Assistenten für eine Macintosh Plattform
entwickelt, der in den [EUDORA] Software integrierte wurde.
Der Agent basierte seine Lernstrategie auf das ,,Memory-Based Reasoning`` [MBR], was eine
Variation der ,,Nearest-Neighbour Technique`` [SW86] ist.
Alle bei den Benutzern
vorgenommenen Aktionen während seiner Arbeit werden als ein Tupel
Situation-Aktion auf das Agenten Gedächtnis gespeichert. Folgende Situation
könnte als Beispiel dienen: der Benutzer würde alle Emails, in deren Inhalt das
Wort ,,Online-Lehre`` vorkommt, in einem bestimmten Folder abspeichern und sie anschließend an eine
Distribuitionsliste weiterleiten.
Situationen werden gespeichert als eine Menge von Charakteristiken. Die Charakteristiken können
sein: der Absender, die Wörter aus der Betreff-Zeile, die Information, ob die
Nachricht gelesen worden ist, etc.
Aus diesem Beispiel ist ersichtlich, daß der Assistent in seinem
Gedächtnis Situationen anhand von verschiedenen Charakteristika
identifiziert. Tritt nun einen neue
Situation ein, so „erinnert“ sich der Agent an die Situationen, die er bereits
„erlebt“ hat und bildet die Entfernung der jetzigen Situation zu den bereits
vergangenen. (siehe Grafik)
Der Assistent sucht sich also aus seinem Gedächtnis Situationen, die
möglichst nahe an die jetzige Situation herankommen. Dafür mißt er für jede
dieser Situationen die Abstände zwischen ihren Charakteristika und den
Charakteristika der neuen Situation. Auch können die einzelnen Charakteristika
gewichtet werden. Die Gewichte für die einzelnen Charakteristika werden vom Assistenten
errechnet bzw. festgelegt.
Der Agent schlägt sodann die Aktion vor, die am nächsten liegt und
damit die größte gewichtete Summe aufweist.
Ein persönlicher Assistent kann wie gesagt auch eigenständige
Funktionen durchführen.
Dafür wird der Agent durch den Benutzer mit einem Schwellenwert
initialisiert. Dieser Wert ist maßgebende für die Entscheidung, ob eine Aktion
selbst durchgeführt oder nur vorgeschlagen wird. Dieser Wert ist außerdem mit
einzelnen Aktionen verbunden. So kann der Benutzer die Kompetenz des Agenten
getrennt verteilen. Der Agent berechnet neben der erwähnten Entfernung einen
sogenannten Glaubwürdigkeitswert zu jeder Situation.
Nur die Aktionen, deren Glaubwürdigkeitswert höher als der
Schwellenwert liegen, werden dann selbst durchgeführt. Diese Vorgehensweise
erlaubt dem Benutzer Kontrolle über den Agenten zu behalten. Er kann ihm also
eine Grenze angeben, wann er selbstständig arbeiten soll und wann nicht.
Wie schon oben erwähnt gibt es verschiedene Arten des Lernens. Diese
möchte ich hier kurz zusammenfassen:
Laut Maes 1994 gibt es 3 Möglichkeiten des Lernens:
- Maschinelles Lernen: Der Agent hat ein minimales
Hintergrundwissen und lernt ein angemessenes Verhalten durch die Beobachtung des
Anwenders (oder anderer Agenten). Er erkennt Muster im Verhalten des Anwenders und wertet diese
aus (beobachten und imitieren) oder lernt durch Interaktion mit dem Anwender (oder mit
anderen Agenten, die ähnliche Aufgaben ausführen).
Vorteile: Der Agent
verbessert seine Fähigkeiten ständig, ohne eine große, initiale Wissensbasis zu benötigen.
Der Agent passt sich sehr genau dem einzelnen Anwender
Nachteile: Es dauert lange,
bis ein Agent sich der Umgebung und dem Anwender angepasst hat und tatsächlich von
Nutzen ist. Der Agent kann nur existierende Muster wiederholen.
- Wissensbasierter Ansatz (traditionelle AI-Techniken): Der Agent hat
fachspezifisches Hintergrundwissen, er ist mit einer umfassenden Wissensbasis über Anwender und Umgebung
ausgestattet.
Vorteile: Es gibt ein
homogenes Interface für alle Anwender. Ein Agent ist von Beginn an, ohne Einsatz von
Zeit und Aktivität von Seiten des Anwenders,einsatzfähig.
Nachteile: Der Agent
benötigt eine sehr große Wissensdatenbank, er ist entsprechend aufwendig zu programmieren.
Der Agent kann sich nicht an den einzelnen Anwender anpassen.
- Anwender-Programmiert: Der Anwender stellt selber
die Regeln und Kriterien auf, nach denen der Agent agiert.
Vorteile: Er kann demAgenten vertrauen, dass dieser sich in einer gegebenen Situation auf eine bestimmte Weise
verhält. Der Agent ist sofort adaptiert an die individuellen Bedürfnisse des Anwenders.
Nachteile: Die Programmierung und Betreuung eines Agenten ist für viele Anwender zu schwierig. Sie erkennen
nicht immer, wann sie einen Agenten einsetzen können.Dieser Ansatz bewährt sich
unter statischen Umgebungsbedingungen, nicht aber unter dynamischen.
Es gibt verschiedene Eigenschaften die, die „Assistenz“ effektiv
machen. Ein menschlicher Assistent zum Beispiel, wäre in seinem Bereich erwartungsgemäß
kompetent, würde seine Grenzen kennen, könnte unklare Instruktionen
durchführen, würde sich an den Klienten richten und von ihm lernen, könnte sein
Verhalten und seine Vorschläge erklären.
Das Konzept der „assisting computer“ versucht nicht ein Duplikat des menschlichen Assistenten zu
erzeugen. Es versucht lediglich die wichtigsten funktionalen Eigenschaften zu
reproduzieren.
Wenn ein Computer, Assistenzeigenschaften zeigen will, muss es mit
Fachwissen gerüstet sein und über Kenntnisse bezüglich des Users verfügen. Es
existiert noch eine zusätzliche Voraussetzung für Computersysteme: sie brauchen
Wissen über sich selbst, über ihre eigene Funktionalität.
Die wichtigsten Assistenzeigenschaften zur Realisierung von
assisting computers, sind folgende:
Domain Competence (Fachkompetenz): Assisting
computers müssen mit Fachwissen ausgerüstet sein, die je nach User
differieren können, und in der Lage sein in diesen Bereichen
Problemlösungsprozesse zu unterstützen.
Ein Beispiel für ein Assistenzsystem mit Domain Kompetenz ist z.B. der
Statistik Interpreter EXPLORA. Es
versucht interessante, relevante Ergebnisse aus statistischen Daten zu
extrahieren und dem User helfen diese zu interpretieren.
Competence Assesment (Kompetenzbewertung): In seinem eigenen Bereich
sollte ein assisting computer in der
Lage sein seine Kompetenz und seine Grenzen zu bewerten.
Learning and Adaptive Behavior (Lern- und Anpassungsfähigkeit):
Assisting computers müssen in der Lage
sein Funktionalität und Verhalten den individuellen Wünschen des Users
anzupassen. Das System sollte vom User lernen indem es durch monitoring deren
Arbeit analysiert.
Processing Imprecise Instructions (Ausführung undeutlicher
Instruktionen): Der assisting computer
sollte , anhand des Wissens über den User und anhand des aktuellen Tasks, in
der Lage sein unvollständige, ungenaue, widersprüchliche Instruktionen zu
verstehen.
Explaining Abilities (Erläuternde Fähigkeiten): Das System sollte in
der Lage sein jede getätigte Aktion zu
erläutern und Gründe dafür anzugeben- in einer Sprache die der User auch
verstehen kann.
Cooperation Support (Kooperationsunterstützung): Assisting computers sind nicht nur für den Einsatz für isolierte
Arbeiten eines Individuums da, sondern werden auch in Teams und Organisationen
eingesetzt. Sie sollten auftretende Koordinationstasks in einer distributiven
Weise helfen und benötigtes organisatorisches Wissen für die Kooperation und
Koordination zur Verfügung stellen.
|