fit 2002 > persönliche Assistenten> Konzepte und Techniken > technische Grundlagen

Überblick


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.

Weiterführende Informationen


>[Seminar WWW-basierte, Informationsdienste SS 98] Seminar WWW-basierte, Informationsdienste SS 98 Thema: Interface Agenten / Persönliche Assistenten
>[Communications of the ACM] Maes, P., 1994: Agents that Reduce Work andInformation Overload. Communications of the ACM, 37(7).(Grundlage vorheriger Vo)
>[Kidsim] Seminar: Seminar Softwareagenten, WS 01/02 an der Uni Münster,Vortragender: Ulrich Andree Thema: Kidsim: Agenten sprachlos programmieren (auch interessante Aspekte enthaltend)
>[Pattie Maes] Homepage von Paatie Maes (wichtig für gesammte AI)
>[Beschreibung zu Programm Letitia] ein Programm, das die Konzeption des persönlichen Assistenten weiterführt
Office Assistant
Hier findet sich Informationen über den Offic '97 Assistenten.

Verweise auf Arbeiten anderer gruppen



>Entstehungskontext | Konzepte und Techniken | Entwicklung und Auswirkungen | Praxis | Bewertung