Agentenbasierte Digitale Bibliotheken

Autor: Claudio Gruler (Email: Claudio.Gruler@uni-konstanz.de)

Ausarbeitung eines Vortrages im Rahmen des virtuellen Seminars „digitale Bibliotheken" im Sommersemester 1998 am Fachgebiet Praktische Informatik VI der FernUniversität Hagen

Inhaltsverzeichnis

  1. Einleitung
  2. Agentenbasiert - ein intelligentes Konzept für die Umsetzung einer digitalen Bibliothek
    1. Agenten allgemein
    2. Was ist ein Agent –Eigenschaften und Anforderungen
    3. Agenten Architekturen
      1. allgemeines zum Design
      2. Die Kommunikationsfähigkeit von Agenten
  3. Agentenkommunikationssprachen
    1. Anforderungen an Agentenkommunikationssprachen (ACL)
    2. KQML und KIF als Sprachen zur Agentenkommunikation
    3. Architekturen von Multiagentensystemen
  4. Die ZunoDL digitale Bibliothek
    1. Hauptkonzepte
    2. System Struktur
  5. Ein agentenbasiertes Hyperedia Model für den Aufbau von digitalen Bibliotheken.
    1. Architektur
    2. Hypermedia Kommunikationssprache
    3. Kommunikationsarchitektur
  6. Zusammenfassung
  7. Literatur
  8. Vortragsfolien

1. Einleitung

Computer sind mittlerweile in fast alle Lebensbereiche eingedrungen, immer neue Anwendungen für die Verarbeitung digitalisierter Informationen werden erschlossen. Mit dem Internet wird ein optimales Netzwerk für den öffentlichen Zugang der Information bereitgestellt. Die Verwaltung dieser Informationsflut stellt jedoch ein bisher noch nicht gelöstes Problem dar. Digitale Bibliotheken sollen nach dem Vorbild klassischer Bibliotheken die Daten strukturieren, und dadurch einen effektiveren Zugriff ermöglichen.

Die digitale Bibliothek wurde in Anlehnung an ein reales gut funktionierendes Modell der Informationsarchivierung und Suche entworfen. In dieser besteht, ähnlich einer realen Bibliothek, eine Systematisierung, d.h. die Information ist nach Fachgruppen geordnet. Bei einer digitalen Bibliothek kann es sich auch um Bild-Sammlungen handeln, sie ist also nicht für das Vorhandensein von Textinformation definiert. Von Lynch wird die digitale Bibliothek wie folgt definiert:

„Ein elektronisches Informationszuganssystem, welches dm Nutzer eine kohärente Sicht eines organisierten, ausgewählten und gewarteten Informationsrumpf anbietet.“ [Lynch et al. 1995].

Wenn der Durchschnittsverbraucher in Zukunft Computer und Netzwerke effektiv nutzen soll, muß die direkte Manipulation durch eine Art Delegation von Aufgaben ersetzt werden. Forscher und Softwarefirmen setzen hohe Erwartungen in den Einsatz sogenannter Agenten. Das sind Programme, die die Wünsche und Interessen des Nutzers kennen und selbständig für ihn handeln können. An die Stelle totaler Verfügungsgewalt über den Computer (und voller Verantwortung für alles was er tut) tritt ein kooperativer Prozeß: Wie menschliche Berater, die man für eine bestimmte Aufgabe engagiert (und ihnen die Einzelheiten überläßt), eröffnen programmierte Agenten selbstständig Kommunikationen, reagieren auf Ereignisse und handeln, um die Ziele des Nutzers zu erfüllen.

Ebenfalls in Anlehnung an das reale Modell sind die benötigten Werkzeuge zu sehen. Ein guter Bibliothekar hat Informationen über den Nutzer und kann sie für eine effizientere Informationssuche verwenden. Der Nutzer kann durch Gespräche mit anderen Nutzern und durch Rückgriffe auf deren Suchalgorithmen seine Suche maßgeblich verbessern..

Um das Konzept der digitalen Bibliothek effizienter zu gestalten, und um auf die komplexe und dynamische Struktur des Internets einzugehen, wurde somit zusätzlich das Agentenkonzept eingeführt. Unter einem Agent versteht man eine intelligente Unterstützung (Assistenz, hier auch Bibliothekar) für das Browsing, bzw. die Informationssuche. Der Agent soll den Nutzer bei der Suche nach dessen Bedürfnisse unterstützen, die Unterstützung sollte persönlich sein, d.h. sie sollte sich in einem Lernprozeß an die speziellen Bedürfnissse und Aufgaben des Nutzers anpassen können. Außerdem soll der Agent, nach dem Vorbild des menschlichen Assistenten kommunikationsfähig sein, um aus Strategien anderer Agenten zu lernen. Das Konzept der agentenbasierten digitalen Bibliotheken soll in diesem Vortrag näher erläutert werden.

2. Agentenbasiert - ein intelligentes Konzept für die Umsetzung einer effektiven digitalen Bibliothek

2.1 Agenten allgemein

"Unter einem Agenten versteht man umgangssprachlich einen Menschen, der einen anderen Menschen in bestimmten Bereichen vertritt oder für ihn handelt. So vertritt ein Künstleragent einen oder mehrere Künstler, handelt für diese Verträge aus und vermittelt ihnen Auftritte; ein Geheimagent ist für eine Regierung tätig, beschafft für diese Daten oder dringt unbemerkt in andere Organisationen ein.",

Zitat aus der Diplomarbeit von Fritz Hohl über Agenten.

Das Forschungsgebiet der künstlichen Intelligenz (KI) formulierte die Metapher des intelligenten Agenten (intelligent agent).

Es kommt im Gegensatz zu den herkömmlichen Programmen der Aspekt der Selbständigkeit dazu. Für den Bereich der praktischen Informatik ist eine solche Sichtweise noch verhältnismäßig neu und bedeutet einen Paradigmenwechsel von direkter Manipulation (direct manipulation) zu indirekter Manipulation (indirect manipulation) [MAES 1994].



Beim momentan vorherrschenden Paradigma der direkten Manipulation startet der Benutzer alle Aktionen explizit und betrachtet alle auftretenden Ereignisse selbst.
Die indirekte Manipulation verspricht eine Erleichterung der Interaktion mit dem Computer, um z.B. auch ungeübten Benutzern den effektiven Zugriff auf das WWW zu ermöglichen und Geübten schneller zu besseren Informationen zu verhelfen. Bei der indirekten Manipulation findet ein kooperativer Prozeß zwischen Benutzer und intelligentem (Computer-)Agent statt. Beide können Aktionen starten, Ereignisse betrachten, Aufgaben ausführen und kommunizieren.

Die Möglichkeit der direkten Manipulation soll für den Benutzer jedoch vorhanden bleiben. D.h., der intelligente Agent soll nicht als Schicht (Layer) zwischen WWW und Benutzer, sondern als gleichberechtigter Partner dienen, der mit einer gewissen Eigenständigkeit Aufgaben ausführt. Damit bleibt die Möglichkeit des direkten Interagierens mit der Applikation vorhanden, wie auch aus der Skizze deutlich wird.
Die Aufgaben, welche Agenten ausführen sollen, sind vorzugsweise solche, die ein Computer besser als ein Mensch erledigen kann, da sie z.B. wenig Kreativität erfordern oder schlicht langweilig sind (sogenannte mundane tasks).

Als Beispiel für eine Aufgabe aus dem täglichen Leben, die wir gerne an einen "Agenten" delegieren und so im Sinne der indirekten Manipulation lösen, nennt Nicolas Negroponte das Bettenmachen:

"Today, notwithstanding the skill, I cherish the opportunity of delegating the task and have little interest in the 'direct manipulation' of my bedsheets. [...] Likewise, I feel no imperatives to manage my computer files, route my telecommunications, or filter the onslaught of mail messages, news, and the like. I am fully prepared to delegate these tasks to agents I trust as I tend to other matters [...]"

Eine Definition von Agenten wurde auch von der Firma IBM gegeben. IBM beschäftigt sich seit längerem mit diesem Konzept.

Intelligente Agenten sind Softwareeinheiten, die eine Menge von Operationen im Auftrag eines Benutzers oder eines anderen Programmes mit einem gewissen Grad von Unabhängigkeit oder Autonomie ausführen und dabei Wissen über die Ziele und Wünsche des Benutzers anwenden. Intelligente Agenten können in einem dreidimensionalen Raum, bestehend aus Agency, Intelligenz und Mobilität beschrieben werden. Unter Agency versteht man den Grad der Autonomie und Autorität des Agenten.



Bei dieser Definition findet somit auch eine Abgrenzung zu anderen Konzepten mit ähnlicher Intention (z.B. Expertensystemen) statt.

2.2 Was ist ein Agent ? - Eigenschaften und Anforderungen

Wie aus dem bereits gesagten hervorgeht werden bestimmte Erwartungen an die Agenten gestellt und damit auch Eigenschaften festgelegt. Die Eigenschaften folgen dabei fast von selbst, wenn man die eines guten menschlichen Agenten bzw. Assistenten zugrundelegt. Diese Eigenschaften in ein lauffähiges Programm zu implementieren ist sehr schwierig, es wird dabei auf die Ergebnisse des Gebietes der Künstlichen Intelligenz (KI) und anderer Fachrichtungen zurückgegriffen.

„Zu beschreiben was ein Agent tun soll ist nicht schwer, einen zu programmieren dagegen sehr“ [Autor unbekannt]

Zunächst sollen die Agenten die Eigenschaft haben, im Sinne folgender Definition "intelligent" zu sein:

Intelligenter Agent ist der Oberbegriff für alle Agentensysteme, die mit Methoden der Künstlichen Intelligenz arbeiten. Sie benutzen Inferenzmechanismen zum logischen Schlußfolgern und Wissensbasen (knowledge bases) zur Repräsentation formalen Wissens.

Ein wichtiger Aspekt des agentenbasierten Konzeptes stellt die Autonomie dar. Der Agent soll delegierte Aufgaben so weit wie möglich selbständig bearbeiten, ohne daß die Aufmerksamkeit des Nutzers gefordert ist . Je stärker die Autonomie, desto umfangreicher werden die Anforderungen, die im folgenden näher erläutert werden.

Neben der Autonomie ist die Kommunikationsfähigkeit von Agenten eine wichtige Eigenschaft.
Ein intelligenter Agent muß auf effektive Art und Weise Informationen beschaffen können. Dazu dient die Kommunikation mit der Softwareumgebung, mit anderen Agenten und nicht zuletzt mit dem Benutzer. Ein WWW-Agent sollte z.B. mit Internetwerkzeugen wie ftp, telnet, mail, news kommunizieren können und fähig sein, Dienste wie archie, gopher, netfind zum Erlangen von Information zu benutzen.
Zur Inter-Agenten-Kommunikation dienen sogenannte Agent-Communication-Languages (ACLs), von denen KQML und KIF als Beispiel gebracht werden. Agenten sollen nicht nur in der Lage sein Informationen von anderen Agenten zu erhalten, sondern sie sollen auch Aufgaben gemeinsam bearbeiten.

Anpassungsfähigkeit (Adaptivity) an den Benutzer, seine Gewohnheiten und seine Arbeitsweise ist eine weitere wichtige Eigenschaft, um die Akzeptanz von Agenten als Hilfsmittel für den Benutzer zu erhöhen. Manche Forscher gehen sogar soweit, daß sie fordern, ein Agent solle einen Charakter und einen "Gemütszustand" haben, um von seinem Benutzer als glaubwürdiger Partner akzeptiert zu werden. Davon ist man beim heutigen Stand der Technik jedoch noch weit entfernt.

Mobile Agenten sind solche, die sich selbst mitsamt ihrem Code und ihrem inneren Zustand (d.h. mit den aktuellen Werten ihrer Variablen und den von ihnen erlangten Daten) durch ein Computernetzwerk bewegen können.

2.3 Agenten Architekturen

2.3.1 allgemeines zum Design

Ein Hauptproblem des Designs intelligenter Agenten ist die Frage, wie dieser Agent Wissen über seine Arbeitsumgebung erlangen kann [MAES 1994]. Die Frage der Kompetenz ist ein entscheidendes Kriterium. Je mehr Wissen über die Umwelt, seinen Benutzer und über andere Agenten vorhanden ist, desto gezielter kann er kommunizieren und desto einfacher wird die Lösung des Problems für ihn. Hier kann man auch den Zusammenhang mit der Autonomie sehr gut erkennen. Je kompetenter der Agent, desto selbständiger kann er Probleme im Sinne seines Benutzers lösen.

Der zweite sehr wichtige Ansatz ist das Vertrauen: ein Benutzer muß dem Agenten genug Vertrauen entgegenbringen um ihm eine komplexe Aufgabe zu delegieren. Maes [MAES 1994] nennt drei Ansätze, um das Problem der Wissenserlangung zu lösen. Die ersten beiden sind ihrer Meinung nach nicht zufriedenstellend:

2.3.2 Die Kommunikationsfähigkeit von Agenten

Die Fähigkeit sich Wissen und Kompetenz anzueigenen hängt stark mit der Kommunikationsfähigkeit des Agenten zusammen. Durch jeden Kommunikationskanal können Informationen erlangt werden, wie in der folgenden Skizze vereinfacht dargestellt.



Der Agent kann seinen Benutzer über einen längeren Zeitraum beobachten und damit Regularien und wiederkehrende Muster finden. Nach einer gewissen Zeit kann er seinem Benutzer anbieten, diese wiederkehrende Muster zu automatisieren, also im Prinzip den Benutzer imitieren.

Durch direktes und indirektes Feedback bezüglich des Agentenverhaltens kann der Agent sein Handeln optimieren. Unter indirektem Feedback ist die Reaktion des Benutzers auf eine Empfehlung des Agenten zu sehen. Direktes Feedback ist die Kommentierung des eigenen (Benutzer-)verhaltens.

Eine dritte Informationsquelle stellen vom Benutzer zur Verfügung gestellte Beispiele dar.

Durch Fragen an Agenten die bereits ähnliche Aufgaben gelöst haben, kann sich der Agent „bilden“. Der Agent ist in der Lage sich die relevanten „Kollegen“ zu merken, um bei weiteren Anfragen gleich die richtige Wahl zu treffen.

Als letztes Mittel bleibt dem Agent seinem Benutzer Anfragen zu stellen. Dies soll jedoch möglichst gering gehalten werden, da der „ungestörte Benutzer“ praktisch ein Leitbild für das agentenbasierte Konzept darstellt.

3. Agentenkommunikationssprachen

3.1 Anforderungen an Agentenkommunikationssprachen (ACLs)

Unter Agent Communication Language (ACL) versteht man Sprachen, die es intelligenten Agenten erlauben, in verteilten Systemen wie dem Internet zu kommunizieren und Wissen auszutauschen. Diese Sprachen sind zu unterscheiden von Sprachen wie Java, Tcl/Tk oder Telescript, die dazu dienen, mobile Agenten zu implementieren. Eine Agentenkommunikationssprache sollte natürlich unabhängig von der Semantik eines bestimmten Agenten sein, damit sie allgemein anwendbar ist.
Ein weiteres wichtiges Merkmal ist die Netzwerkfähigkeit der Sprache. Sie sollte gut zu den modernen Netzwerktechnologien passen und unabhängig von Transportmechanismen (z.B. TCP/IP, email, http, etc.) sein.
Um die Sprache möglichst einfach benutzbar und effizient zu machen, sollte sie eine Schichtstruktur aufweisen (wie z.B. KQML/KIF), d.h. es sollte eine Unterscheidung geben, zwischen einem Teil, der die "kommunikativen Akte" zwischen Agenten ausdrückt, und einem Teil, der den eigentlichen Inhalt der Kommunikation ausdrückt. Näheres folgt im nächsten Abschnitt.

3.2 KQML und KIF als Sprachen zur Agentenkommunikation

Die Knowledge Query and Manipulation Language (KQML) ist eine Sprache und ein Protokoll, um High-Level-Kommunikation zwischen Agenten zu ermöglichen. Diese Agenten sind typischerweise separate Prozesse, die auf verschiedenen Computern laufen und durch einen zuverlässigen Transportmechanismus (z.B. TCP/IP streams) verbunden sind.

Die hier beschriebene ACL besteht aus einer inneren Sprache namens KIF (Knowledge Interchange Format) und einer äußeren Sprache namens KQML (Knowledge Query and Manipulation Language). Eine ACL-Botschaft ist ein KQML-Ausdruck, in den ein KIF-Satz eingebettet ist.

In KIF können einfache Daten, Beschränkungen, Negationen, Disjunktionen, Regeln, quantifizierte Ausdrücke und Meta-Informationen beschrieben werden.

Zunächst können in KIF einfache Fakten beschrieben werden:

(color snow white)
(temperature darmstadt 01.01.96 1200 0)

Mit zusammengesetzten Termen kann auch kompliziertere Information ausgedrückt werden. Der folgende Satz drückt beispielsweise aus, daß ein Chip größer als ein anderer ist:

(>
  (* (width chip1)(length chip1) )
  (* (width chip2)(length chip2) )
)

Mit dem folgenden komplexen Satz wird ausgedrückt, daß die Potenzierung einer beliebigen Gleitkommazahl mit einem geraden Exponenten ein positives Ergebnis impliziert.

(=>
  (and (real-number ?x)(even-number ?n) )
  (> (expt ?x ?n) 0 )
)



Eine wichtige Fähigkeit ist die Möglichkeit, Metawissen auszudrücken, indem die Operatoren ' und , verwendet werden. Der nächste Satz sagt aus, daß sich der Agent Joe für die Mittagstemperaturen der Stadt Darmstadt interessiert. Die Komma-Operatoren signalisieren dabei, daß Joe sich für die Temperaturen interessiert und nicht für den Satz (temperature darmstadt ?d 1200 ?x) an sich.
(interested joe '(temperature ,darmstadt ,?d ,1200 ,?x) )

In KIF können sogar Prozeduren formuliert werden, um andere Agenten eine vorgegebene Anweisungsfolge ausführen lassen zu können:

(progn
  (fresh-line t)
  (print "Hallo")
  (fresh-line t)
)

Der Satz sagt aus, daß der angesprochene Agent zwischen zwei Zeilenvorschüben das Wort Hallo ausgeben soll.

Obwohl es möglich wäre, die gesamte Kommunikation in Form von KIF-Sätzen durchzuführen, hat man sich aus Effizienzgründen für eine Schichtstruktur entschieden. Da KIF-Botschaften kontextunabhängig sind, müßte jede Botschaft alle Angaben über den Sender, den Empfänger, den Zeitpunkt des Versendens der Botschaft u.a. umfassen. Die Effizienz der Kommunikation kann gesteigert werden, indem eine Schicht hinzugefügt wird, die für den Kontext verantwortlich ist. Dies ist die Funktion von KQML.

Dabei ist KQML in dem Sinne generisch gestaltet, als daß auch andere content languages als KIF benutzt werden können. Im folgenden wird jedoch KIF als Sprache zur Darstellung der eigentlichen Daten bzw. des zu übermittelnden Wissens zugrundegelegt.
Zur Veranschaulichung eines KQML-Ausdruckes kann man sich vorstellen, die eigentliche KIF-Botschaft sei ein Brief eines Agenten an einen anderen Agenten, der zur Versendung in zwei Briefumschläge eingepackt ist. Anschaulich gesprochen bildet der Brief zusammen mit den beiden Briefumschlägen den KQML-Ausdruck. Damit erhält man von innen nach außen die drei Ebenen content, message und communication. Die Aufgaben der einzelnen Schichten (Layers) sind:

(MSG
  :TYPE query
  :QUALIFIERS (:number-answers 1)
  :CONTENT-LANGUAGE KIF
  :CONTENT-ONTOLOGY (blocksWorld)
  :CONTENT-TOPIC (physical-properties)
  :CONTENT (color snow ?C)
)

In die Message-Schicht gehören auch sogenannte Declaration-Messages, mit denen ein Agent ausdrücken kann, mit welcher Art von Information er umgehen will. Im nächsten Beispiel teilt ein Agent mit, daß er gewillt ist, anderen Agenten Informationen über die Farbe von Dingen zur Verfügung zu stellen:

(DCL

  :TYPE assert
  :DIRECTION export
  :MSG
   (MSG
     :TYPE assert
     :CONTENT-LANGUAGE KIF
     :CONTENT-ONTOLOGY (blocksWorld)
     :CONTENT-TOPIC (physical-properties)
     :CONTENT (color ?X ?Y)
   )
)

Communication Layer
Hier werden Sender und Empfänger, ein Kommunikationsmodus, sowie eine eindeutige Identitätsnummer der Botschaft festgelegt. Die Elemente dieser Schicht werden auch Packages genannt. Im Beispiel fragt der Agent Knuth den Agenten Yeti, welche Farbe der Schnee hat:

(PACKAGE
  :FROM knuth
  :TO yeti
  :ID DVL-f007-11883w.84921848648
  :COMM block
  :CONTENT
   (MSG
     :TYPE query
     :QUALIFIERS (:number-answers 1)
     :CONTENT-LANGUAGE KIF
     :CONTENT-ONTOLOGY (blocksWorld)
     :CONTENT-TOPIC (physical-properties)
     :CONTENT (color snow ?C)
   )
)

Ein Beispieldialog soll die Mächtigkeit des vorgestellten Mechanismus deutlich machen. Agent Knuth teilt Agent Joe mit, daß er sich für die Position von Objekten interessiert. Daraufhin liefert Joe diese Information, wann immer er sie selbst erhält. Dies geschieht, ohne daß Agent Joe jedesmal explizit nachfragen muß, bis er sein Interesse widerruft (retract) :

(PACKAGE
  :TYPE DCL
  :FROM knuth
  :TO joe
  :ID DVL-f007-11883w.84921848648
  :COMM block
  :CONTENT
   (DCL
     :TYPE assert
     :DIRECTION import
     :MSG
     (MSG
       :TYPE assert
       :CONTENT-LANGUAGE KIF
       :CONTENT-ONTOLOGY (blocksWorld)
       :CONTENT-TOPIC (physical-properties)
       :CONTENT (position ?T ?X ?Y)
     )
   )
)
(PACKAGE
  :TYPE MSG
  :FROM joe
  :TO knuth
  :ID QRT-f005-11883w.84921848000
  :IN-RESPONSE-TO DVL-f007-11883w.84921848648
  :COMM block
  :CONTENT
  (MSG
    :TYPE reply
    :CONTENT-LANGUAGE KIF
    :CONTENT-ONTOLOGY (blocksWorld)
    :CONTENT-TOPIC (physical-properties)
    :CONTENT (position chip1 8 10)
  )
)
Im gleichen Format folgen weitere Positionsangaben:
... :CONTENT (position chip2 8 46) ...
... :CONTENT (position chip3 3 63) ...
... :CONTENT (position chip3 4 63) ...
... :CONTENT (position chip2 8 44) ...

Schließlich widerruft Knuth sein Interesse, da er keine weiteren Positionsangaben mehr benötigt.

(PACKAGE
  :TYPE MSG
  :FROM knuth
  :TO joe
  :ID DVL-f007-11883w.84921848649
  :IN-RESPONSE-TO DVL-f007-11883w.84921848648
  :COMM block
  :CONTENT
  (DCL
     :TYPE retract
     :DIRECTION import
     :MSG
     (MSG
       :TYPE retract
       :CONTENT-LANGUAGE KIF
       :CONTENT-ONTOLOGY (blocksWorld)
       :CONTENT-TOPIC (physical-properties)
       :CONTENT (position ?T ?X ?Y)
     )
   )

3.3 Architekturen von Multiagentensystemen

In Multiagentensystemen stellt sich natürlich die Frage wie Agenten am effektivsten Zusammenarbeiten können, also die Kommunikation am besten organisiert werden kann. Zwei Ansätze sind denkbar, die direct communication bei der sich die Agenten selbst organisieren, und die assisted coordination, bei der Agenten durch spezielle Systemprogramme in ihrer Kommunikation unterstützt werden. Bei sehr vielen Agenten (wie z.B. im Internet) ist der erste Ansatz sehr aufwendig, hier wird also vom zweiten Ansatz Gebrauch gemacht.

Zur Unterstützung des Konzeptes wird ein communication Facilitator (deutsch: Erleichterer) eingesetzt. Es handelt sich dabei um eine besondere Klasse von Agent, der es anderen Agenten im selben Adressraum ermöglicht, miteinander zu kommunizieren.

Für die Programmierung des Agenten stellt diese Methode eine enorme Verreinfachung dar. Der gesamte Code zur Kommunikation mit anderen Agenten wird vom Facilitator übernommen.

Der Aufbau eines Federated Systems wird durch die Sprache KQML besonders effektiv unterstützt. Für die Kommunikationsschicht ist der Facilitator verantwortlich. Er ist, anschaulich gesprochen, die Poststelle. Kommt eine Nachricht an, wird die Kommunikationsschicht entfernt (sozusagen der Briefumschlag) und leitet den Rest weiter. Soll eine Botschaft verschickt werden, wird die Kommunikationsschicht hinzugefügt.

Der Agent braucht sich um die Kommunikationsschicht nicht mehr zu kümmern. Er verwendet lediglich die Content-Schicht und die Message-Schicht.

Aufgaben des Facilitators:

  1. Bekanntgabe der durch seine Agenten angebotenen Dienste.
  2. Übersetzen von fremden content languages nach KIF und umgekehrt (falls möglich). Dadurch wird die Kommunikation mit anderssprachigen Agenten ermöglicht.

    Match-making service: d.h. das Auffinden von kompetenten Kommunikationspartnern.

4. Die Zuno digitale Bibliothek

In diesem Abschnitt soll ZunoDL vorgestellt werden, eine kommerzielle Lösung für agentenbasierte digitale Bibliotheken (DL). Das System ist eigentlich keine digitale Bibliothek, sondern eine Sammlung von Werkzeugen und Techniken um eine solche agentenbasierte DL aufzubauen

Die Haupteigenschaften von ZunoDL werden im folgenden zusammengefaßt.

  1. Agentenbasiert: Das ZunoDL-Gerüst erlaubt die Implementierung einer digitalen Bibliothek als eine Sammlung collaborierender Agenten. Agenten sind der Schlüssel für die gefragten Eigenschaften (s.o).
  2. Informations Umgebung: Die Agenten in einem ZunoDL-System übernehmen die Rolle als Informationsproduzenten oder Verbraucher.
  3. Dezentralisiertes Gerüst: Das ZunoDL ist nicht zentral verwaltet: Informationseigner sind für die Verwaltung der Daten zuständig.
  4. Unabhängigkeit des Domains: Das System ist unabhängig von einer Domain. Es ist daher möglich Internet und Intranet-Anwendungen aufzubauen.

    WWW front-end: Die Schnittstelle zum System ist das WWW

4.1 Hauptkonzepte

Das ZunoDL System ist als eine Sammlung collaborierender Agenten verwirklicht, welche jeder eine wichtige Rolle spielen

Informationshalter: Informationshalter oder Informationseigner - dies sind Organisationen oder Induviduen die anzeigen, daß sie verkaufen möchten.

Verbraucher: Verbraucher sind die Bibliotheksbenutzer, die Zugang zu den Bibliotheksdiensten über eine Netz-Schnittstelle erhalten.

Facilitatoren: Sind wie Broker. Sie sind die Schnittstelle zwischen Informationshalter und Verbraucher.

Die Agenten können an drei Orten lokalisiert sein: beim Benutzer, beim Informationshalter oder beim Service Provider bei dem das ZunoDL system läuft. Der Service Provider kann z.B. eine Institution wie eine Universität darstellen.

Informationseigener

Für jeden Informationseigner gibt es zwei Agenten: der Library service Agent (LSA), und der Catalogue Agent (CA). Der LSA repräsentiert die digitale Bibliothek im Netzwerk des Informationmseigners. Sie sind unter der Kontrolle des Informationshalters und besitzen ein Veto-Recht gegen alle Anfragen der digitalen Bibliothek. Ihre Hauptaufgabe ist also die Verwaltung und Organisation des Zugangs.

Der CA repräsentiert die Interessen der Informationseigner in der digitalen Bibiliothek. Sie sind jeweils mit einem LSA verzwillingt und eine Art Spiegelbild der LSA's.

Facilitatoren

Diese Agenten sind wie Broker. Sie versuchen die Anforderungen des Benutzers denen der Informationseigner, die am besten zutreffen, anzupassen. Im Gegensatz zu den Brokern sind sie jedoch nicht unabhängig, sondern „gehören“ jeweils demjenigen, der gerade das System bedient.

Search Agents (SA): Diese sind wohl die wichtigste Komponente des Systems. Ihre Funktionalität geht über die von normalen Internet Suchmaschinen hinaus. SA's können Gebrauch von Thesauri und Taxonomien machen, um die Effektivität der Suchstrings zu erhöhen. Beispielsweise kann in einem Suchstring nach verwandten Wörtern gesucht werden. Die Taxonomie wird ebenfalls für eine Verbesserung des Suchstrings verwendet. Wird, als ein Beispiel, erfolglos nach dem Wort Stuhl gesucht, so kann über die „Hierarchie“ der Wörter in einem zweiten Schritt nach Möbel gesucht werden. Die Suche wird also verallgemeinert. Die Suche ist nicht nur schlagwortbasiert; es kann nach sämtlichen Metadaten gesucht werden.

Verbraucher Agenten

User Interface Agents (UIA): Sie repräsentieren die Interessen des Verbrauchers in einem ZunoDL-System. Jeder Benutzer wird genau einem UIA zugeordnet. Jede UIA wird Dienste der digitalen Bibliothek anbieten um die Anforderungen des Benutzers zu befriedigen. Um dies zu bewerkstelligen, halten diese Agenten Benutzer-Profile. Im Gegensatz zu den herkömmlichen Suchmaschinen können sich die UIA an die letzte Sitzung erinnern.

4.2 System Struktur

Die folgende Abbildung zeigt wie das ZunoDL System zusammengestetzt ist. Die unterschiedlichen Komponenten des Systems „gehören“ unterschiedlichen Gruppen. Inhalte sind bei den Informationshaltern lokalisiert, sowie die LSA's die den Zugang zu diesen Inhalten ermöglichen. Der Benutzer interagiert mit dem System über einen Web-Browser, der auf seinem eigenen System lokalisiert ist. Die restlichen Teile des Systems liegen auf dem System auf dem ZunoDL lokalisiert ist.

Um zu sehen wie das System arbeitet, kann man sich am besten ein Beispiel anschauen. Ein Benutzer loggt sich über seinen Web-Browser in das System ein. Sobald dies erfolgreich geschehen ist, startet der UIA. Der Benutzer stellt nun eine Suchanfrage. Der UIA gibt diese Anfrage an einen oder mehrere SA weiter, je nach den Parametern der Suche. Die SA's benutzen das Wissen unterschiedlicher Quellen um die Suchstrings an CA's weiterzuleiten. Die CA's können die Anfrage entweder weiterleiten, oder wenn sie genug Informationen zur Beantwortung haben, direkt beantworten. Sie können die Anfrage auch ihrem korrespondierenden LSA weitergeben, dies ist jedoch zwecks Zeitfaktor nicht immer sinnvoll, da das Kommunizieren mit den bei den Informationshaltern lokalisierten Maschinen, sowie der Anfrage nach server support auf den dortigen Servern eine Verzögerung beinhaltet, die die Suche unnötig ausdehnen kann. Jedenfalls können die LSA's nach Informationen suchen und die Ergebnisse ihren korrespondierenden CA's weiterleiten, die sie dann wieder an die SA's weitergeben. Wenn die Suchergebnisse befriedigend sind, können sie geordnet den UIA's weitergeleitet werden, die sie dann für den Benutzer sichtbar machen. Der UIA selber kann die Information auch nochmal entsprechend den Anforderungen des Benutzers ordnen. Sind die Ergebnisse der Anfrage nicht zufriedenstellend, kann er außerdem den Suchstring entsprechend ändern.



5. Ein agentenbasiertes hypermediales Model für den Aufbau von digitalen Bibliotheken

Im folgenden Abschnitt soll die Architektur von hypermedia Agenten und ihre Kommunikationssprache kurz vorgestellt werden. Es handelt sich um ein System, welches mit kooperativen Verknüpfungen innerhalb eines verteilten Systems arbeitet. Es ist daher sehr gut für eine digitale Bibliothek im Rahmen des Internets geeignet.

In jeder agentenbasierten Informationsumgebung gibt es nach Genesereth und Ketchpel [GENESERETH, KETCHPEL 1994] drei grundlegende Charakteristiken: die Architektur um Software Agenten zu erzeugen, die Agenten Kommunikationssprache und die Kommunikationsarchitektur.

5.1 Architektur

Für die Architektur wird ein modularer Ansatz verwendet. Jeder hypermediale Agent ist in zwei Bereiche aufgeteilt: der Agenten Kopf und der Agenten Körper. Der Kopf enthält die benötigte Information um in einer cooperativen Hyperinformationsumgebung tätig zu werden. Die Architektur ist unabhängig von der Informationsquelle und deren Inhalte. Die Agentenbasis "repräsentiert" den aktuellen Inhalt (z.B. Daten Aspekte) des Hypermedia Agenten, diese werden jedoch immer über den Agenten Kopf angesprochen. Wenn die globalen Regeln und die Architektur eingehalten werden, können neue Informationsquellen hinzugefügt werden um an der Hyperinformationsumgebung teilzunehmen. Da keine Informationen über die Informationsquelle als solches benötigt wird, kann mit dieser Architektur eine digitale Bibliothek, die auf einem Hypermedialen Gerüst basiert, aufgebaut werden. Sogenannte Atom Hypermedia Agenten sind die eigentlichen Daten-Container (z.B. Text, Grafik, Animation). Primitive hypermediale Agenten binden verwandte Atom Agenten zusammen um eine logische Einheit zu bilden. So kann z.B. ein Dokument durch einen primitiven Agenten repräsentiert werden, der alle Atom Agenten die zu diesem Dokument gehören (einzelne Graphiken, einzelne Abschnitte etc.) zusammenbindet. Höhere Organisationsformen bieten die Komposit-Agenten an, die dann z.B. alle primitive Agenten (einzelne Kapitel) zu einer größeren Einheit zusammenfügen (z.B. ein Buch, oder Bücher zu einem bestimmten Thema). Der Bibliotheks-Agent stellt die höchste Organisationsstufe dar, er kann als Gegenstück zur klassischen Bibliothek angesehen werden.Um hypermedia Agenten zu implementieren wurde von den Autoren eine "mark-up"- Sprache (HAML - Hypermedia Agent Mark-up Language) vorgestellt. Eine HAML Datei ist aus zwei Bereichen zusammengesetzt: dem <AGENT_HEAD> und dem <AGENT_BODY>. Um z.B. die Liste der bekannten Agenten zu beschreiben, kann man wie folgt vorgehen:

<ACQUINTANCE_LIST>
<FRIEND>http://Adresse,LIBRARY,<COOPLIST>1,1,0,2</COOPLIST></FRIEND>
<FRIEND>http://Adresse, LIBRARY,<COOPLIST>1</COOPLIST></FRIEND> </ACQUINTANCE_LIST>

Das erste Element zwischen den <FRIEND>-Tags gibt die Adresse des befreundeten Agenten an. Das zweite Element gibt den Agenten-Typ an. Danach folg eine Liste von bisherigen Kooperationsversuchen. Diese Liste kann hilfreich für die Entscheidung sein, mit welchem Agenten zu kooperieren ist.

Im folgenden ein Beispiel eines Video Atom Agenten:

<AGENT_HEAD> <ID>http://alpha.beta.gr/Makedonia/Video1.ato</ID> <TYPE>VIDEO ATOM</Type> </AGENT_HEAD> <AGENT_BODY> <UID>http://alpha.beta.gr/Makedonia/Thessaloniki.mpeg</UID> <PRESEN_SPEC>MAXIMIZED, FRAMES(25)</PRESEN_SPEC> <COOP_LINK>history.clk</COOP_LINK> <AGENT_BODY>

In diesem Beispielrepräsentiert der Atom Agent (siehe <ID>) die aktuellen Daten (hier: Video File) die in <UID> lokalisiert sind. Die Datei history.clk beinhaltet Suchspezifikationen, die verwendet werden wenn die cooperative Verknüpfung aktiviert wird.

5.2 Die hypermediale Agenten Kommunikations-Sprache

In dem vorgestellten Modell wird ACL [NECHES ET AL., 1993] als Kommunikationssprache verwendet. Diese Sprache ist ausdruckstark genug und vernünftig kompakt gehalten um den Anforderungen gerecht zu werden. ACL besteht aus drei Teilen: dem eigenen Wortschatz, einer inneren Sprache (KIF), und einer äußeren Sprache (KQML). Diese Sprachen wurden bereits in einem früheren Kapitel vorgestellt. Mit dem Wortschatz von ACL wird ein spezifisches Applikationsgebiet beschrieben.

5.3 Kommunikations-Architektur

Bibliotheks-Agenten dienen als Facilitatoren. Sie ermöglichen den Zugriff auf darunterliegenden Stufen, die "registriert" sind.



Mit dem agentenbasierten hypermedialen Model steht ein Werkzeug zur verfügung, welches ein Gerüst für die Entwicklung von „zusammenarbeitenden“ und erweiterbaren digitalen Bibliotheken darstellt. Es wird davon ausgegangen, daß durch die Entwicklung des Internets tatsächlich bald sämtliche Information in digitaler Form zur Verfügung steht, eine Entwicklung, auf die das vorgeschlagene Model basiert.

6. Zusammenfassung

Mit dem Konzept der agentenbasierten digitalen Bibliotheken ist es möglich eine kohärente Sicht auf heterogene Informationen zu erhalten. Das Information-overload Problem, das sich aus der Struktur des Internets zwingend ergibt, kann sich eigentlich nur durch selbständig arbeitende Agenten, wie diese im Vortrag vorgestellt wurden, lösen lassen. Die Tatsache, daß es schon funktionierende Systeme wie das ZunoDL System, oder das hypermediale Model gibt, zeigt auch, daß es sich hier nicht nur um „blanke Theorie“ handelt, sondern um ein durchaus zukunftsträchtiges Gebiet auch im Sinne einer kommerziellen Softwareproduktion.

Trotzallem gilt es einige Schwierigkeiten zu überwinden. Bisher gibt es noch keine Richtlinien oder Standards für die Programmierung von Agenten. Agenten leben jedoch gerade von der Kommunikationsfähigkeit. Was bei herkömmlicher Software also eher als eine zusätzliche Eigenschaft angesehen wird, ist im Falle der Agenten unbedingt notwendig. Durch die Mobilität der Agenten müssen diese auf unterschiedliche Umgebungen angepasst sein. Außerdem ist ein Lernmechanismus notwendig, der sich nicht nur auf die Benutzer, sondern auch auf die sich ständig wechselnde Informationsstruktur des Internets einstellt. Die Sicherheit der Systeme muß gewährleistet sein. Die unvorhergesehenen Fälle werden sich in einem derart variablen System potenzieren.

Die Frage ist also in welche Richtung sich das Internet weiterentwickelt. Die beste Antwort auf ein flexibles System ist aber sicher ein ebenso flexibles System, das sich wie bereits beschrieben natürlich verhält (vielleicht genauso natürlich wie das Internet selbst).

7. Literatur

Salampasis et al., University of Sunderland, Co-operative Information Retrieval in Digital Libraries, http://osiris.sund.ac.uk/~cs0msa/bcsir96.htm

Fox, Electronic librarians, intelligent network agents, and information catalogues, http://www.uky.edu/~kiernan/DL/fox.ht ml

Wooldrigde, Intelligent Agents: Theory and practice, http://www.doc.mmu.ac.uk/STAFF/mike/ker95/ker95-html.html

Ferguson, Wooldrige, Paying their way, D-Lib Magazine 1997, http://www.dlib.org/dlib/june97/zuno/06ferguson.html

Rohs, Universität Darmstadt, WWW-Unterstützung durch intelligente Agenten, http://www.informatik.th-darmstadt.de/VS/Lehre/WS95-96/Proseminar/rohs

Wooldrigde, Jennings (Hrsg.), Intelligent Agents ECAI-94 Workshop on Agent Theories, Architectures and Languages, Springer-Verlag, 1994

Wooldrige, Mueller, Tambe (Hrsg.), Intelligent Agents II: Agent Theories, http://www.doc.mmu.ac.uk/STAFF/mike/atal95.html

Maes, Agents that Reduce Work and Information Overload, communication of the ACM, Vol. 37, No. 7, 1994

Neches et al., Enabling technology for knowledge sharing, AI Magazine Vol.12, No. 3, S. 36-56, 1991

Genserth, Ketchpel, Software Agents, communication of the ACM, Vol. 37, No. 7, 1994

Chalupsky et al.,KQML- A Knowledge Query and Manipulation Language, KQML Advisory Group 1992, http://www.cs.umbc.edu/kqml/

8. Vortragsfolien

Folie Nr.1
Folie Nr.2
Folie Nr.3
Folie Nr.4
Folie Nr.5
Folie Nr.6
Folie Nr.7
Folie Nr.8
Folie Nr.9
Folie Nr.10
Folie Nr.11
Folie Nr.12
Folie Nr.13
Folie Nr.14
Folie Nr.15
Folie Nr.16