Intelligente Agenten
Als Software-Agent oder auch Agent bezeichnet man ein Computerprogramm, das zu gewissem eigenständigem Verhalten fähig ist. Mit dem Fortschreiten der weltweiten Vernetzung und der damit verbundenen steigenden Komplexität bedarf es neben den teilweise schon ausgereiften Suchdiensten auch der Erforschung und Entwicklung neuer Methoden zur Unterstützung der Nutzer für ein effizientes und Zielgerichtetes Arbeiten im Internet. In diesem Zusammenhang hört man oft den Begriff "Intelligente Agenten" oder "Mobile Agenten“. Diese weiterführenden Konzepte aus dem Bereich der Künstlichen Intelligenz versprechen eine Professionalisierung im Umgang mit dem Internet. Die aufgrund dieser Konzepte entwickelten intelligenten Agenten sind Programme, die Aufträge eines Benutzers oder eines anderen Programms mit einem gewissen Grad an Eigenständigkeit und Unabhängigkeit ausführen und dabei Angaben über die Ziele und Wünsche des Benutzers anwenden.
Die Forschung über Künstliche Intelligenz definiert einen Agenten als eine Software, die folgende Eigenschaften besitzt:
- Autonomie
Ein Agent ist in der Lage, eine Aktion zu starten, ohne unmittelbar vom Benutzer angesprochen worden zu sein. So könnte er beispielsweise automatisch eine Suche im Internet beginnen, wenn die Netzbelastung relativ niedrig ist. Dies kann auch geschehen, wenn der Benutzer gerade nicht am Computer eingeloggt ist.
- Lernfähigkeit
Das Programm lernt aufgrund vorher getätigter Entscheidungen bzw. Beobachtungen dazu und verhält sich bei einer nächsten Entscheidung je nach Situation anders.
- Zielorientierung
Der Benutzer kann auf einfache Art dem intelligenten Agenten komplexe Anfragen stellen. Die Entscheidung, wie die Aufgabe in Teilaufgaben zerlegt wird, wo und wann die erforderlichen Informationen zu finden sind, obliegt dann dem Agenten. Der Benutzer braucht sich dann nur um das „Was“ und nicht um das „Wie“ seiner Anfrage zu kümmern. - Flexibilität
Die Aktionen eines Agenten zum Lösen einer Aufgabe sind zu keinem Zeitpunkt festgelegt. Der Agent ändert sein Verhalten, wenn ihn äußere Umstände dazu zwingen oder wenn Teillösungen einer Aufgabe neue Aspekte hervorbringen. Er reagiert mit einer geänderten Vorgehensweise zum Erreichen eines Zieles. Zu den äusseren Umständen gehört z.B. eine Veränderung der Softwareumgebung oder ein nicht erreichbarer Server im Internet. - Mitarbeit
Der Agent nimmt nicht nur blind Kommandos entgegen, sondern rechnet auch damit, dass der menschliche Benutzer Fehler macht, wichtige Informationen auslässt oder dass Mehrdeutigkeiten aufgedeckt werden müssen. Diese Unklarheiten müssen dann durch geeignete Mittel, wie zum Beispiel durch Nachfrage beim Benutzer, Heranziehen einer Wissensbasis oder ähnlichem, beseitigt werden.
- Kommunikationsfähigkeit
Ein intelligenter Agent muss in der Lage sein, auf effektive Art und Weise Informationen beschaffen zu können. Dazu dient die Kommunikation mit der Softwareumgebung, mit anderen Agenten und nicht zuletzt mit dem Benutzer. Zur Inter-Agenten-Kommunikation dienen so genannte Agent-Communication-Languages (ACL). Damit sind Agenten nicht nur fähig Wissen und Informationen von anderen Agenten zu bekommen, sondern können auch gemeinsam an der Lösung einer Aufgabe arbeiten. Zur Kommunikation mit dem Benutzer dienen heute meist noch Dialogboxen. Der Einsatz natürlichsprachlicher Zugänge wird erforscht.
- Anpassungsfähigkeit
Agenten sollen sich an den Benutzer anpassen können. Das heisst, er muss seine Gewohnheiten und seine Arbeitsweisen kennen. Manche Forscher gehen sogar soweit, dass sie fordern, ein Agent solle einen Charakter und einen "Gemütszustand" haben, um von seinem Benutzer als glaubwürdiger Partner akzeptiert zu werden.
Agenten werden Einsatzmöglichkeiten in den Bereichen E-Commerce, Informationsrecherche, Simulation, Erledigen von Routineaufgaben und in autonomen Systemen eingeräumt. Bereits etabliert sind eine Reihe sogenannter Softbots. Das sind semiautonome Agenten, die charakterisierbar sind durch ein Formularbasiertes Interface. Weiter nützen diese Benutzerziele als Input (z. B. ein als Suchanfrage formuliertes Informationsbedürfnis) und eine Abfolge von vordefinierten Aktionen um das Ziel zu erreichen. Vorrangig stellen sich Softbots als lokal zu installierende Suchdienste oder Metasuchwerkzeuge für das Internet dar und werden dann auch Searchbots oder Webbots genannt. Nachfolgende Grafik gibt deren Funktionsweise schematisch wieder.

- Abb. 1: Funktionsweise Intelligente Agenten
Zum Seitenanfang
An dieser Stelle sollen Beispiele für Vertreter dieser Klasse vorgestellt werden:
Copernic Agent
Dabei handelt es sich um ein lokal installierbares Metasuchwerkzeug der Copernic Technologies Inc., welches Suchanfragen an mehrere Suchdienste des Internet weiterreicht. Es wird zwischen drei Varianten der Software unterschieden. Die frei verfügbare Variante „Basic“ beinhaltet zehn Suchkategorien. Insgesamt können bei dieser Variante etwa 90 Quellen durch die Kategorie der Suche ausgewählt und parallel abgefragt werden. Die kommerziellen Varianten Copernic Personal und Copernic Professional bieten z.Zt. 120 Kategorien und über 1000 Suchdienste zur Weitergabe der Suchanfragen.
In den kommerziellen Versionen wird u.a. eine Rechtschreibprüfung der Suchbegriffe mittels eines erweiterbaren Lexikons vorgenommen. Die Suchanfragen können unter Verwendung von AND, OR und Phrasen formuliert werden. Sie werden automatisch gespeichert und können so erneut ausgeführt werden, manuell initiiert oder im Rahmen des sog.
Tracking automatisiert mit einer zeitlichen Planbarkeit (nur einmal, einmal an verschiedenen Zeiten des Tages, an bestimmten Tagen der Woche oder des Monats). Tracking wird allerdings nur in der Variante Copernic Pro angeboten. Damit ist auch der automatische Download, die Validierung und das Refinement (Suchfragenüberarbeitung durch Auswertung der ersten Resultate) der Suchtreffer möglich, was bei der freien Variante Basic nur manuell, basierend auf allen oder einer Auswahl von Suchtreffern erreicht werden kann. Suchergebnisse der unterschiedlichen Quellen werden fusioniert und geordnet nach Relevanz (Score) angezeigt.
Darüber hinaus ist eine Sortierung nach Titel, URL oder Datum für Anzeige und Ergebnisexport möglich. Duplikate werden selbsttätig eliminiert. Suchanfragen können nach der Durchführung modifiziert werden. Die Suchergebnisse werden ebenso automatisch gespeichert, zusätzlich ist es möglich, diese in den Formaten HTML, Text, XML, Comma Separated ASCII und dBASE zu exportieren. Dargestellt werden die Resultate der Suche entweder mittels eines integrierten Browsers oder durch den externen Standard-Browser. Weiterhin sind unterschiedliche Verknüpfungen mit dem Microsoft Internet Explorer möglich (Ersetzen dessen Suchmenüs usw.). Die Aktualisierung der genutzten Suchdienste findet automatisch über das Internet statt, ebenso wie das Software-Update.
SearchPadTM
SearchPad der Satyam Computer Services Ltd. ist ebenfalls ein lokal installierbares Metasuchwerkzeug, das sich durch ausgeprägte Möglichkeiten der Verbesserung der Suchergebnisse mittels der Bewertung von Resultaten eines ersten Suchlaufs durch den Suchenden auszeichnet (Relevance Feedback).
Von Searchpad werden parallel 27 Suchdienste des WWW abgefragt. Die Suchanfrage kann unter Verwendung der Boole'schen Operatoren AND, OR, AND NOT, NEAR, + und - formuliert werden. Bestimmte URL's können als Suchergebnisse ausgeschlossen werden. Die Resultate werden nach Relevanz geordnet ausgewiesen, mehrere Suchergebnisse von einer Website werden gruppiert.
Zusätzlich können die Ergebnisse nach Titel, Zusammenfassung und Quelle geordnet werden. Dead Links und Duplikate werden selbständig bereinigt. Eine Vorfilterung der Resultate wird durch Spezifizieren von Regeln zur Auswahl spezieller Begriffe oder Phrasen für die Felder Title, Document, Beginning, End, Header, Summary, Embedded links und URL des Ergebnisdokuments möglich. Hervorhebenswert ist der Feedback-Mechanismus, welcher zur automatischen Klassifikation der Suchergebnisse entsprechend der intellektuellen Relevanzbeurteilung des Suchenden (in fünf Stufen) führt. Dazu müssen auch Angaben über das Vorhandensein oder die Abwesenheit bestimmter Suchbegriffe gemacht werden, die als nützlich bzw. zu unerheblichen Resultaten führend empfunden wurden.
Auch die Wissensbasis, die Interessengebiete des Nutzers aufnimmt (als sog. Topics) kann als ein Merkmal der Agententechnologie aufgefasst werden. Topics werden aus dem Feedback des Nutzers gebildet unter der Annahme, dass jene die Interessenlage des Suchenden widerspiegeln. Topics erfassen also das Wissen über die Nutzerinteressen. Sie werden als Filter auch für andere Anfragen desselben Nutzers und auch nutzerübergreifend auf inhaltsähnliche Fragestellungen anderer Suchender angewandt. Dadurch wird eine automatische Klassifikation der Suchergebnisse in thematisch orientierte Kategorien realisierbar.
Ein signifikantes Unterscheidungsmerkmal zur Abgrenzung von agentenbasierten Anwendungen gegenüber anderen Systemen ist das Wissensniveau, mit welchem Agentensysteme operieren, gegenüber dem symbolischen, datenorientierten Niveau konventioneller Software. Wesentlich für autonom agierende Agenten ist ihre Fähigkeit, sich Kenntnisse über ihr Aufgabengebiet, die Interessen und Präferenzen ihrer Nutzer aneignen zu können. Dazu nutzen Agentensysteme verschiedene Formen des Wissenserwerbs. Die einfachste besteht in einer Anzahl von nutzerdefinierten Regeln zur Informationsverarbeitung, der Nutzer muss den Agenten in seiner Ausprägung selbst erschaffen (s. Softbots). Ein fortgeschrittener Ansatz, der sich Techniken des maschinellen Lernens zunutze macht, ist der Wissenserwerb durch Beobachten des Nutzers bei seiner Interaktion mit Systemen mit dem Ziel, sich Wissen zum Nachahmen dieses Verhaltens selbständig bei Vorliegen von minimalen Hintergrundwissen aneignen zu können. Der Agent soll Muster und Regelmäßigkeiten im Nutzerverhalten erkennen können. Weitere Möglichkeiten des Agenten, an das für die Erfüllung seiner Aufgaben notwendige Wissen zu gelangen, sind ausdrückliche Anweisungen des Nutzers an den Agenten und Nutzer-Feedback bzw. Programmierung durch vom Nutzer vorgegebene Beispiele.
Ein Variante namens Collaboration-Technology bezieht sich auf die Kooperation von gleichartigen Agenten verschiedener Nutzer, um in kurzer Zeit zu Basiswissen für eine spätere nutzerspezifische Anpassung zu gelangen und einander in unbekannten Situationen zu helfen. Ein solcher Austausch beruht aber nicht immer auf Agent-Communication-Languages, sondern auch auf agentenspezifischen Konversationsmitteln, so u.a. auch auf dem Austausch von Emails.
Beim heutigen Stand der Technik ist man gerade bei der Realisierung "intelligenter" Eigenschaften von Agenten vom Ziel jedoch noch weit entfernt. Möglicherweise werden diese auch immer eine Utopie bleiben. Der momentane Stand der Agententechnologie soll deshalb an Beispielen existierender WWW-Agenten und Frameworks zur einfachen Erstellung solcher durch den Nutzer gezeigt werden:
Narval
Das Agentensystem Narval (Network Assistant Reasoning with a Validating Agent Language) des Unternehmens Logilab soll Begleiter beim täglichen Umgang in der Welt der Informationen sein. Dazu kann es mit einer Vielzahl von Plattformen wie Email, World Wide Web, Telnet, Telefon usw. kommunizieren. Es führt Aufträge des Nutzers (sog. Recipes) aus, welche die unterschiedlichsten Aufgaben im Zusammenhang mit diesen Plattformen realisieren können. Exemplarisch werden genannt: die tägliche Suche im WWW nach bestimmten Informationsbedürfnissen, Ausfiltern von Junk während des Browsing im WWW, Zusammenstellen von Informationen unterschiedlicher Quellen entsprechend der Interessen des Nutzers, automatisches Beantworten bestimmter Emails, Ausführen regelmäßig wiederkehrender Aufgaben u.v.a.m. Dabei soll es auch vom Nutzer lernen, um solche Aufgaben anstelle seiner zu übernehmen. Narval ist unter der Gnu Public License frei verfügbar. Es stellt einen persönlichen Assistenten dar, der in der Welt des Internet durch Zugriff auf alle auffindbaren Ressourcen, Dokumente und Programme, die vom Nutzer vorgegebenen Wünsche zufriedenstellen soll. Neue Aktionen werden unter Verwendung von XML spezifiziert und mit Python implementiert. Die Recipes als Abfolge einzelner Aktionen können durch ein grafisches Interface erstellt und getestet werden. Die Philosophie von Narval ist es nicht, die existierenden Softwaresysteme zu ersetzen, sondern deren Funktionalitäten so zu integrieren, dass die Nutzung erleichtert wird durch Verbergen der zugrunde liegenden Komplexität.
WebMate: A Personal Agent for World-Wide Web Browsing and Searching
WebMate ist Teil des Intelligent Software Agents Projekts am Computer Science Department der Carnegie Mellon University. Es stellt einen Persönlichen Agenten für das Browsing und Suchen im World Wide Web dar. Wesentliche Merkmale können wie folgt beschrieben werden: Unterstützung einer parallelen Suche mit mehreren Internet-Suchdiensten, Verfeinerung der verwendeten Suchbegriffe durch Extraktion relevanter Begriffe aus ersten Suchergebnissen (Refinement). Hinsichtlich des Browsing ist dieser Agent imstande, die Interessen des Nutzers zu erlernen, daraufhin neue URLs vorzuschlagen, die durch Bookmarks vorgegebenen Seiten zu überwachen, zur aktuell betrachteten Homepage weitere ähnliche Seiten aufzeigen, die von der aktuellen Homepage abgehenden Links automatisch weiterzuverfolgen und die Zieldokumente herunterzuladen usw.
WebMate wird mittels eines lokalen Proxy-Servers realisiert, der zwischen dem WWW-Server und dem Browser des Nutzers lokalisiert ist. Dadurch ergeben sich weitere Nutzungsmöglichkeiten, wie z.B Aufzeichnen der Transaktionen zwischen Browser und WWW-Server, Filtern der Cookies, um die Privatsphäre zu schützen, Blockieren animierter GIF-Dateien, um die Performance zu verbessern. Das System richtet dynamisch alle erforderliche Arten von Ressourcen, wie Suchdienste, Online-Wörterbücher, Online-Übersetzungssysteme etc., selbsttätig ein. Es ist mittels Java erstellt und so plattformunabhängig nutzbar.
InfoSpiders
An der University of Iowa wird an einem Multi-Agenten-System namens Infospiders gearbeitet. Beschrieben wird es als adaptive Retrieval Agenten, die sich zur autonomen und skalierbaren Suche nach Informationen an Techniken des sog. künstlichen Lebens anlehnen. Dabei wird das World Wide Web als ökologische Umgebung mit einer Population von Agenten gesehen, die um relevante Informationsquellen gegenseitig im Wettbewerb zueinander stehen, aus Erfahrung lernen und sich reproduzieren, wenn sie erfolgreich sind oder absterben, wenn sie keinen Erfolg vorweisen können. Eine prototypische Implementierung derartiger Agenten mit Namen MySpiders wird vorgestellt als Bestandteile eines Java-Applets mit der Funktion des Durchforstens des World Wide Web im Interesse des Nutzers. Damit sollen sie traditionelle Suchdienste des Web ergänzen, indem sie neue oder bisher unbekannte Dokumente ausfindig machen, die von den Suchdiensten bislang möglicherweise noch nicht indexiert wurden.
WebWatcher Project
WebWatcher ist ein "tour Guide" durch das World Wide Web. Basierend auf dem vom Nutzer vorgegebenen Informationsbedürfnis, leitet ihn das System entlang der Web Sites gleich dem manuellen Browsing. Links, die das System dabei als relevant empfindet, werden hervorgehoben. WebWatcher ist fähig, aus Feedback zu lernen und das Erlernte für Hinweise der folgenden Touren zu nutzen. Das System erlangt seine Fähigkeiten durch Analyse der Nutzeraktionen, Meinungen der Nutzer zur Relevanz und der von ihnen wirklich betrachteten Seiten. Die Weiterführung von WebWatcher als Personal WebWatcher lässt sich deshalb als Persönlicher Agent bezeichnen. Im Gegensatz zu WebWatcher ist Personal WebWatcher konzipiert, einem speziellen Nutzer zu dienen und dessen Interessen möglichst genau abzubilden. Es beobachtet den Nutzer bei seiner Tätigkeit, bezieht den Nutzer selbst aber nicht in den Lernprozess ein, wie es bei WebWatcher der Fall ist. Personal WebWatcher zeichnet die vom Nutzer abgerufenen URL's auf und analysiert diese in der Lernphase, um daraus ein Modell der Nutzerinteressen zu erzeugen. Das Modell wird dann genutzt, um den Nutzer zu unterstützen, indem ihm Hinweise auf potentiell interessante Links von bereits geladenen HTML-Seiten gegeben werden.
Über die Agententechnologie hinaus gibt es noch andere Möglichkeiten, um im Internet oder mittels Internet an Informationen zu gelangen. Eine Form der personenbezogenen Informationsbereitstellung, bei der das World Wide Web als "Enabling Technology" fungiert, wird durch die Identifikation entsprechender Experten für den relevanten Problembereich ermöglicht. Dabei bedient man sich eines sog. Vertrauensnetzwerkes, bei dem zuverlässige Hilfe auf der Vertrauensgrundlage einer Community, durch Konstellationen wie "der Freund eines Freundes" etc. gegeben ist. Das nachfolgend beschriebene WWW-basierte System stellt den Versuch praktischer Umsetzung solcher Ideen dar:
ReferralWeb
Referral Web ist ein von AT&T Research Laboratory in Zusammenarbeit mit dem Massachusetts Institute of Technology und der Cornell University entwickeltes System zur Analyse persönlicher Beziehungen durch Verfolgen von Links zwischen den Homepages verschiedener Personen. Damit können soziale Netze im Internet erforscht werden z.B. um vertrauenswürdige Experten für die Lösung bestimmter Probleme zu finden mit der höheren Sicherheit einer zuverlässigen Unterstützung aufgrund eines gemeinsamen Freundes. Das Programm versucht die Verbindungen zwischen dem Nutzer und jemandem, der z.B über eine Expertise in einem bestimmten Gebiet verfügt und so hilfreich sein könnte, zu finden. Realisiert wird das, indem das System den Text von Web Sites nach Namen durchsucht und mit einer Datenbank von Telefonbüchern vergleicht, um die Begriffe, die wirklich Namen von Personen darstellen, zu identifizieren. Während das Programm so Namen sammelt, prüft es auf Verbindungen zwischen diesen in Form der Verfolgung von Links zwischen entsprechenden Web Sites. Ein Problem dieser Vorgehensweise liegt darin, dass nicht selten auch auf Web Sites von Personen verwiesen wird, ohne dass diese Personen persönlich miteinander bekannt sind (z.B. Verweise auf die Homepages von Persönlichkeiten). Deswegen soll ReferralWeb seine Fähigkeiten besonders bei der Suche nach Spezialisten in bestimmten Bereichen finden und weniger zur allgemeinen Suche nach Personen.
Quellen
[1] Software-Agent (Version 09.12.2008). In: Wikipedia. Online unter de.wikipedia.org/wiki/Software-Agent





