Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger...

45
Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Transcript of Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger...

Page 1: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Software Agenten

Agenten zur Informationssammlung

Tobias Gerke, Andreas Jäger

nach Craig A. Knoblock & José Luis Ambite (1997)

Page 2: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Einführung

Schwerpunkte von Arbeiten über Agenten:

• Definition von Modellen über die Intention, die

Fähigkeit und den Bedarf von Agenten

• Planung von Multi-Agenten-Systemen

• Entwicklung von Agenten zur

Informationssammlung

Page 3: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Einführung

Gegenwärtige Situation:

• Riesige, ständig wachsende, inhomogene Informationsmengen

• Fehlen eines Mittels zum Auffinden, Kombinieren, Verarbeiten und Organisieren von Informationen

Verwaltung der Informationen in einem Netz von Informations-Agenten

Page 4: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Gliederung

1. Organisation der Informationssammler

2. Wissensbasis der Agenten

3. Kommunikation der Agenten

4. Bearbeiten von Anfragen

5. Der Lernprozess

6. Fazit

Page 5: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Organisation der Informationssammler

Grundgedanke:

• Stellen Informationen zu einem speziellen Fachgebiet zur Verfügung

• Beziehen Informationen von anderen Agenten

• Dienen anderen Agenten als Informationsquelle

Page 6: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Organisation der Informationssammler

Begriffliche Konventionen:

• Informations-Agent: Dient als Informations-quelle, stellt aber selbst auch Anfragen

• Data-Repository: Stellt nicht aktiv Anfragen

• Wrapper: Schnittstelle, die jeder Agent des Systems gebildet haben mussGemeinsame Sprache

Page 7: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Organisation der Informationssammler

Page 8: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Wissensbasis der Agenten

Jeder Agent beinhaltet:

• Abbild seines Fachgebiets

= domain model

• Modelle der Agenten, die er als Quelle nutzt

= information-source model• Beziehungen zwischen den Modellen

Page 9: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Wissensbasis der Agenten

Beispiel:

SeaAgent

PortAgent

HarborAgent

NavalAgent

• domain model

• source model des Naval Agent

• source model des Harbor Agent

• source model des Port Agent

Page 10: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Wissensbasis der Agenten

Teil des domain model vom Sea_Agent:

Page 11: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Wissensbasis der Agenten

information-source und domain model:

Page 12: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Wissensbasis der Agenten

information-source und domain model:

Page 13: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Kommunikation der Agenten

Agenten nutzen einheitlich

• Sprache

• Protokoll

Loom knowledge representation language

KQML

Page 14: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Kommunikation der Agenten

Loom als einheitliche Abfragesprache keine teuren Unterabfragen

KQML als einheitliches Protokoll Einfache Rückgabe von Ergebnissen

RecipientAgent

SubsourceAgent

SourceAgent

KQML-Message

mit Loom-Query

KQML-Message

mit Loom-Query

KQML- Message mit Informatione

n

KQML- Message mit Informatione

n

Page 15: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Kommunikation der Agenten

(retrieve (?port_name ?ship_type)(:and (seaport ?port)

(port_name ?port ?port_name)(has_channel ?port ?channel)(channel_depth ?channel ?depth)(ship ?ship)(vehicle_type ?ship ?ship_type)(max_draft ?ship ?draft)(> ?depth ?draft)))

Beispiel einer Loom-Abfrage:

Parameterliste

Beschreibung der gewünschten Information

Page 16: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen

• Keine umgehende Ausführung von Anfragen

• Vorgehen:

• Auswahl der Informationsquellen

• Erstellen eines Abfrage-Plans

• Abfrageoptimierung

• Ausführung der Anfrage

Page 17: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen

Unterteilung der Verarbeitung von Anfragen:

• Ziel

• Anfangszustand

• Operatoren

Page 18: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler Beispiel eines Planungsziels in Loom:

(available output sims(retrieve (?port_name ?ship_type)

(:and (seaport ?port)(port_name ?port ?port_name)(has_channel ?port ?channel)(channel_depth ?channel ?depth)(ship ?ship)(vehicle_type ?ship ?ship_type)(range ?ship ?range)(> ?range 10000)(max_draft ?ship ?draft)(> ?depth ?draft))))

Bearbeiten von Abfragen

Page 19: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen

((source-available Naval_Agent isd12.isi.edu) (source-available Harbor_Agent isd14.isi.edu) (source-available Port_Agent isd14.isi.edu))

Beispiel eines Anfangszustandes in Loom:

Bearbeiten von Abfragen

Page 20: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

• Agent benutzt Operatoren zur Auswahl der Informationsquellen:

• Operator der Informationsquellenauswahl

Page 21: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

Page 22: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

Domain–Level Query:

(retrieve (?port_name ?depth)(:and (seaport ?port)

(port_name ?port ?port_name)(geoloc_code ?port ?geocode)(channel ?channel)(geoloc_code ?channel ?geocode)(channel_depth ?channel ?depth)))

Source-Level Query:

(retrieve (?port_name ?depth)(:and (harbor_agent.harbor ?port)

(harbor_agent.port_nm ?port ?port_name)(harbor_agent.glc_cd ?port ?geocode)(harbor_agent.channel ?channel)(harbor_agent.glc_cd ?channel ?geocode)(harbor_agent.ch_depth_ft ?channel ?depth)))

Anwendung des Auswahloperators in Loom:

Page 23: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

• Agent benutzt Operatoren zur Auswahl der Informationsquellen:

• Operator der Informationsquellenauswahl

• Konzept-Verallgemeinerungsoperator

Page 24: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

Page 25: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

• Agent benutzt Operatoren zur Auswahl der Informationsquellen:

• Operator der Informationsquellenauswahl

• Konzept-Verallgemeinerungsoperator

• Definitions-Ersetzungs-Operator

Page 26: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

Page 27: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

(retrieve (?port_name ?ship_type)(:and (seaport ?port)

(port_name ?port ?port_name)(geoloc_code ?port ?geocode)(channel ?channel)(geoloc_code ?channel ?geocode)(channel_depth ?channel ?depth)(ship ?ship)(vehicle_type ?ship ?ship_type)(range ?ship ?range)(> ?range 10000)(max_draft ?ship ?draft)(> ?depth ?draft)))

Anwendung des Ersetzungsoperators in Loom:

Page 28: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

• Agent benutzt Operatoren zur Auswahl der Informationsquellen:

• Operator der Informationsquellenauswahl

• Konzept-Verallgemeinerungsoperator

• Definitions-Ersetzungs-Operator

• Konzept-Spezialisierungsoperator

Page 29: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Auswahl der Informationsquellen -

Page 30: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Erstellen eines Abfrageplans -

• Planerstellung vor Ausführung einer Abfrage

• Hierzu: Datenmanipulations-Operatoren

• Move

• Join

• Retrieve

• Select

• Compute

• Durch Schätzfunktion Plan geringster Kosten

Page 31: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Erstellen eines Abfrageplans -

(retrieve harbor_agent (?port_name ?depth) (and (harbor ?port) (port_nm ?port ?port_name) (select (move (glc_cd ?port ?glc_cd) harbor_agent harbor_agent (channel ?channel) isd12.isi.edu) local) (glc_cd ?channel ?glc_cd) (ch_depth_ft ?channel ?depth)))

(join (< ?draft

?depth)(retrieve naval_agent (?ship_type ?draft) (and (ship ?ship) (select (move (sht_nm ?ship ?ship_type) naval_agent naval_agent (range ?ship ?range) isd14.isi.edu) local) (> ?range 10000) (max_draft ?ship ?draft)))

Beispiel eines Bearbeitungsplanes in Loom:

Page 32: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Gleichzeitiges Planen und Ausführen -

Der Agent kann gleichzeitig Prozesse ausführen und andere Prozesse planen.Hierzu notwendig:interne Liste aller laufende Aktionen

Aktion beendet

wenn korrekt, als fertig markieren

wenn fehlerhaft, Plan neu erstellen

Page 33: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Gleichzeitiges Planen und Ausführen -

Der Agent kann...

• Anfragen annehmen und planen, während er andere ausführt.• bei Fehlern den Plan umstellen ohne laufende Abfragen zu unterbrechen.• selbstständig weiter Informationen für den Abfrageprozess einholen.

Page 34: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Semantische Abfragenoptimierung -

• Es existiert eine Reihe semantischer Regeln.• Diese stellen Wissen dar, mit dem Abfragen verändert werden können.• Ziel:

• Zahl der Unterabfragen minimieren

• Zwischendaten gering halten

Kosten senken

Page 35: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Bearbeiten von Abfragen- Semantische Abfragenoptimierung -

Ursprüngliche Abfrage:

(retrieve (?ship-type ?draft)(:and (naval_agent.ship ?ship)

(naval_agent.sht_nm ?ship ?ship-type)(naval_agent.max_draft ?ship ?draft)(naval_agent-range ?ship ?range)(> ?range 10000)))

Semantische Regel:

(:if (:and (naval_agent.ship ?ship)(naval_agent.range ?ship ?range)(naval_agent.fuel_cap ?ship ?fuel_cap)(> ?range 10000)

(:then (< ?draft 12)))

Umformulierte Abfrage:

(retrieve (?sht-type ?draft)(:and (naval_agent.sht_nm ?ship)

(naval_agent.sht_nm ?ship ?ship-type)(naval_agent.max_draft ?ship ?draft)(> ?draft 12)))

Page 36: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler • Steigert Genauigkeit und Effizienz

• 3 Arten der Lernens:

• Speicherung häufig gebrauchter oder teuer zu bekommener Informationen

• Ableitung semantischer Regeln

• Abgleich der Agentenmodelle

Der Lernprozess

Page 37: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler • Erhaltene Daten sowie Abfrage (als

Beschreibung) werden lokal im Agenten gehalten

• Beschreibung neues Unterkonzept

• Daten Instanzen des Unterkonzepts

• Automatische Berücksichtigung der neuen Informationsquelle bei späteren Abfragen

• Speicherung nur genereller, einfacher Abfragen mit statischem Inhalt

Der Lernprozess- Cachen erhaltener Daten -

Page 38: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler • Ausgangspunkt: Auftreten einer teuren

Abfrage

• Selbständige Informationseinholung in nächster Ruhephase des Systems:

• Abfrage wird in äquivalente umformuliert

• Bei Effizienzsteigerung: Ableitung von Regeln

• Übernahme der Regeln in das domain-model

Der Lernprozess- Lernen semantischer Regeln -

Page 39: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Der Lernprozess- Abgleichen der Agentenmodelle -

Annahme bisher:

vollständige Abstimmung der Modelle auf einander

Aber:

Modelldesigner hatte kein komplettes Verständnis über Semantiken der Informationen.

Autonomie der Agenten bewirkt stetige dynamische Veränderung der Konzepte.

Page 40: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Der Lernprozess- Abgleichen der Agentenmodelle -

Lösung:

Abgleichen bei Inkonsistenz in drei Schritten.

• Prüfung auf Differenzen

• neue Klassen in domain model aufnehmen

• wenn möglich, durch Lernalgorithmus Beschreibungen des neuen Konzepts ermitteln.

Page 41: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Der Lernprozess- Abgleichen der Agentenmodelle -

Beispiel:

Ausgangssituation: gleiche Informationen über Seehäfen in Harbor_Agent.Harbor und Port_Agent.Port

Erweiterung des Port_Agent um Informationen über kleine Fischerhäfen.

Jetzt ist Harbor_Agent eine Teilmenge von Port_Agent.

Page 42: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Der Lernprozess- Abgleichen der Agentenmodelle -

Beispiel - Ausgangssituation:

Page 43: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Der Lernprozess- Abgleichen der Agentenmodelle -

Beispiel - Angeglichenes Model:

Page 44: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

Fazit

Eigenschaften des Systems

• Modularität

• Erweiterbarkeit

• Flexibilität

• Effizienz

• Anpassungsfähigkeit

Page 45: Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger nach Craig A. Knoblock & José Luis Ambite (1997)

Informationssammler

The End

... noch Fragen?