Download
Download
Wiki
Wiki
Semantisches Netz - Einführung

Alle Informationen, das gesamte Wissen von JEliza, wird als ein sog. semantisches Netz abgespeichert. Das macht es möglich, nahezu alle Zusammenhänge zwischen bestimmten Begriffen intelligent anzuordnen und effizient Schlüsse zu ziehen. So kann JEliza von einem bestimmten Begriff zu anderen über diese Verbindungen Zusammenhänge in beliebiger Tiefe herstellen.

Semantisches Netz

Alle Informationen, das gesamte Wissen von JEliza, wird als ein sog. semantisches Netz abgespeichert. Das macht es möglich, nahezu alle Zusammenhänge zwischen bestimmten Begriffen intelligent anzuordnen und effizient Schlüsse zu ziehen. So kann JEliza von einem bestimmten Begriff zu anderen über diese Verbindungen Zusammenhänge in beliebiger Tiefe herstellen.

Bereits im Auslieferungszustand enthaelt JEliza ab Revision 1 ein Semantisches Netz mit über 30000 Begriffen und über 41000 Verbindungen. Diese sind allerdings noch nicht optimal vernetzt, sodass es die Aufgabe des Benutzers ist, seine JEliza-Kopie auf ein bestimmtes Themengebiet hin zu "trainieren". Optimal vernetzt ist ein semantisches Netz, wenn jedes Wort in einem bestimmten Themengebiet über maximal 4, 5 Zusammenhänge mit jedem anderen Wort verbunden ist.

Semantisches Netz - Darstellung eines kleinen Teils

Jeder Begriffsknoten, intern "Entity" genannt, ist mit mindestens einem Verbknoten verknüpft. JEliza unterscheidet 4 Arten von "Knoten" im semantischen Netz: "Entities", "Relations" (Verben) und "Nebensatzknoten" sowie "Beschreibungsknoten". Die Beschreibungsknoten existieren bisher nun in Verknüpfung mit Nebnsatzknoten und stellen Fragewörter und Konjunktionen dar. Zur (vereinfacht dargestellt) Verbindung dieser Knoten existiert allerdings nur eine Verbindungsart. Es hängt also vom "Agent" (sinngemäß Subjekt) und vom "Object" ab, was für eine Beziehung die Verbindung darstellt.

Diese Abstraktion ermöglicht es uns, den entsprechenden Quellcode einfacher zu formulieren und verspricht eine bessere Wartbarkeit. Im November wurde eine umfangreiche Bereinigung durchgeführt, und JEliza ist nun so stabil, zuverlässig und einfach zu warten wie noch nie seit Beginn des Projektes.

Eine Besonderheit gibt es seit Revision 9 im der Implementierung des semantischen Netzes: eine Relation kann ein Entity imitieren und eine Dreifachbeziehung herstellen, worauf die Unterstützung für Bedingungen intensiv aufbaut. Mit einer solchen Entity-Relation-Entity-Nebensatz-Beziehung ist es möglich, bestimmte Vorgänge (Entity-Relation-Entity-Beziehung) an eine Bedingung zu knüpfen. Man kann also sagen, dass jede Relation ein Entity ist, aber zusätzlich beliebige Knoten verknüpfen kann. Entities ganz ohne semantische Beziehungen werden automatisch gelöscht, um Speicher zu sparen. Negative Aussagen tauchen erst gar nicht im Netz auf, sie können sogar bei entsprechender Vertrauenswürdigkeut zu einer automatischen Löschung des Sachverhaltes führen. Somit ist "nicht bekannt" equivalent zu "falsch". Sollte JEliza jedoch eine Vermutung ableiten können, wird ihr eine Priorität zugewiesen und sie kann im Netz gefunden werden.

Semantisches Netz - einfache Darstellung eines ganzen Netzes

Bei der ersten Visualisierung unten handelt es sich um das erste semantische Netz, welches in JEliza enthalten war, mit nur wenigen hundert Begriffen. Im zweiten Screenshot sieht man ein relativ aktuelles semantiches Netz, wobei rote Verbindungen Verben und blaue Orts- und Zeitangaben entsprechen. Bei aktuellen Revisionen sind beide Linientypen zu der Farbe blau zusammengefasst. Auf diese Art und Weise kann man sich in der JEliza QT Gui das Netz anzeigen lassen.

Alle Texte auf dieser Website können unter den Bedingungen der GNU Free Documentation License verwendet werden.