(sect-taxonomien-gendifs)

Taxonomien mit GenDifS#

REDAKTION

Grundstrukturen von GenDifS, die Logik … Komplexität: Thesaurus + Taxonomie, keine allgemeine Ontologie … spezifische Entscheidungsmöglichkeiten beim Design, Begründung unserer Entscheidung … Rand / Edge

Hier nur Skizze, Platzhalter. Eigentliche Doku woanders.

REDAKTION

Hier auch Methodik? ggf. Elemente:

Inferenz vs. Reasoning; Abduktion

JB von jedem Konstrukt den Sinn erklären … insbesondere, wofür man es verwenden kann … immer Verweis auf die Online-Seite – die dafür natürlich statisch sein muss … auch von Online Verweis auf die Erklärung, die ebenfalls statisch sein muss

JB Worum geht es?

  • Operationalisierung, formale Semantik, Implementierung von Inferencing des SKOS-Beispiels “When KOS are not simple any more”

  • High-Level-Sprache für kleine aufgabenspezifische Taxonomien mit formaler Semantik

  • Klassifikations-Inferencing nicht nur bottom up, sondern auch top-down; Baum des Porphyrs

  • TBD: ggf. Integration von SKOS, Ontologie und Lexik ggf. auch auf Basis von Ontoloex-Lemon

GenDifS unterstützt drei grundlegend unterschiedliche Aufgaben

  • Entailment: Implizites Wissen explizit machen … Inferencing mit OWL2-RL … Sprachelemente: ISA, BY, BY FROM, SOME, SUP

  • Modalität: Integrität sicherstellen … Abfragen mit SPARQL … Sprachelemente: MODALITY disjoint must mustnot

  • Rand (EN: Edge): auf Wissenslücken hinweisen … Abfragen mit SPARQL … Sprachelement: ggf. RESIDUUM? TBD

Der eigentliche USP von GenDifS:

  • die Übersetzung einiger GenDifS Sprachelemente nach OWL, und einiger anderer Sprachelemente in vorkonfigurierte SPRQL-Queries

  • die Begründung, was man mit OWL und was man mit SPARQL abdeckt

  • das Konzept, wie sich die OWL und SPARQL-Elemente sinnvoll ergänzen

Insbesondere lässt sich durch die OWL und SPARQL-Kombination von GenDifS auch die Integrität von Datensätzen überprüfen – eine Aufgabe, die mit RDF(S) überhaupt nicht und mit OWL nur sehr kompliziert zu lösen wäre.

@Anatol: Kombination von OWL und SPARQL: z.T. also eine formale Semantik durch die Abbildung GenDifS nach Description Logic … nicht modelltheoretisch, sondern XXX … und welche Art von Sematik haben wir durch die Abbildung nach SPARQL: eine prozedurale Semantik?

Einführendes Beispiel: Schweine-, Kalb-, Kinder-Schnitzel#

(auch übernommen nach lods > sect-schnitzel-intro)

Texte:

_images/666kb_com_i_bs2x8h864gighmpl2.jpg
  • Q: Was ist der Unterschied zwischen einem Schweineschnitzel und einem Kalbschnitzel?

    • A: Ein Schweineschnitzel stammt vom Schwein, ein Kalbschnitzel vom Kalb.

  • Q: Was ist der Unterschied zwischen einem Schweineschnitzel und einem Kinderschnitzel?

    • A: Ein Schweineschnitzel stammt vom Schwein; aber ein Kinderschnitzel stammt nicht vom Kind, sondern hat Kinder als Zielgruppe.

  • Q: Und wie passt ein Jägerschnitzel dazu?

    • A: Ein Jägerschnitzel hat eine Pilzsoße.

Begriffe zu unterscheiden, zu schärfen, zueinander in Beziehung zu setzen ist eine grundlegende analytische Tätigkeit jedes wissenschaftlichen Handelns.

Begriffssysteme zu entwickeln ist eine zentrale Aufgabe akademischer Lehre. Oft werden solche informell visualisiert. Eine Herausforderung besteht darin, solche informellen Begriffsmodelle auch computational zur Wirkung gelangen zu lassen. Mit Semantic Web Ontologien – heute vorwiegend in der Logik-Sprache Web Ontology Language, kurz OWL – lassen sich Begriffs-Systeme formallogisch axiomatisieren. Allerdings ist OWL schwer zu erlernen, und komplexere OWL-Ontologien sind sogar für Experten sehr fehleranfällig in der Erstellung und Wartung.

GenDifS ist eine (sog. “höhere”) Sprache zur grafischen, hier Mindmap-basierten Notation von speziellen Ontologien, nämlich (a) einer OWL-basierten Taxonomie zur Klassifikation von Entitäten auf Basis ihrer Eigenschaften, und (b) einem zugehörigen Begriffs-Baum auf Basis von SKOS. In Erweiterung einer reinen OWL-Ontologie unterstützt GenDifS zusätzlich auch einfache Integritäts-Tests einer Wissensbasis.

Im Kern orientiert sich GenDifS am Klassifikationsschema Genus proximum und differentia specifica, das seit über 2000 Jahren bekannt ist. In unserem Beispiel ist damit gemeint: Wenn X ein Schnitzel ist (genus); und X eine Eigenschaft “stammt von” mit dem Wert “Schwein” hat (differentia specifica): Dann können wir schlussfolgern, dass X ein Schweineschnitzel ist (species).

Es gibt viele Begriffe von Ontologie in der Literatur. Wir verstehen Ontologie als eine Unterschiedslehre. Um Begriffe unterscheiden, schärfen, zueinander in Beziehung setzen, als formales Modell darstellen zu können müssen müssen wir verstehen, welche Unterschiede einen Unterschied machen. Einen Begriff zu verstehen heißt zu verstehen, welchen Unterschied er macht.

Wir führen im Folgenden am Schnitzel-Beispiel diese Idee weiter aus.

Beispiel 1:

Schnitzel
    Schweineschnitzel
    Kalbschnitzel

Ein entscheidender Unterschied zwischen einem Schweine- und einem Kalbschnitzel ist offensichtlich die Herkunft des Fleisches. Außerdem ist Schweinefleisch preisgünstiger, ein Kalbschnitzel zarter. Es gibt also viele Möglichkeiten, Schweine- und Kalbschnitzel voneinander zu unterscheiden. Wer eine Ontologie baut ist interessiert daran zu eruieren, welcher der vielen Unterschiede in diesem Fall der eigentlich relevante ist.

Wir nehmen im Folgenden an, dass der mehr oder weniger essentielle Unterschied zwischen Schweine- und Kalbschnitzel die Herkunft, also Schwein oder Kalb lautet, jedenfalls essentieller als der Preis oder die Zartheit.

Beispiel 2:

Schnitzel
    Kinderschnitzel
    Seniorenschnitzel

In Restaurants werden als Kinderschnitzel typischerweise preisgünstige und dick panierte Schweineschnitzel, als Seniorenschnitzel eher hochpreisige und premiumgarnierte Kalbschnitzel angeboten. Exakt wie Schweine- und Kalbschnitzel unterscheiden sich Kinder- und Seniorenschnitzel im Preis und in der Zartheit, aber vermutlich sind auch das nicht die essentiellen Unterschiede. Wir wollen annehmen, dass der entscheidende Unterschied hier Kind oder Senior lautet.

Dabei fällt uns sofort auf, dass unserer bisherigen Art und Weise, Unterscheidungen zu treffen, eine Schwachstelle hat: In Beispiel 1 ist bei Schwein oder Kalb die Herkunft des Schnitzels gemeint, in Beispiel 2 ist bei Kind oder Senior die angesprochene Zielgruppe gemeint.

Wir halten fest: Es genügt nicht, nur Kind oder Senior oder Schwein oder Kalb zur Unterscheidung heranzuziehen, sondern wir sollten auch angeben, ob wir hier über die Herkunft oder die Zielgruppe sprechen.

Beispiel 3:

Schnitzel
    Schweineschnitzel
    Kinderschnitzel

Wer auf solch eine Unterscheidung trifft, mag zurecht bemerken: “Da geht einiges durcheinander, so kann man das nicht machen”. Wodurch entsteht das Problem? offensichtlich ist beim Schweineschnitzel das Schwein als Herkunft, beim Kinderschnitzel das Kind als Zielgruppe gemeint.

Im folgenden Beispiel werden Schweineschnitzel nach Sauce weiter unterschieden:

Beispiel 4:

Schnitzel
    Jägerschnitzel
    Balkanschnitzel

Die folgende Darstellung folgt der Notation von “Collections of Concepts” im SKOS-Primer, Section 4: Advanced SKOS: When KOSs are not Simple Anymore und gibt die einzelnen Beipiele zusammengefasst wider:

Schnitzel
    <Schnitzel nach Herkunft>
        Schweineschnitzel
        Kalbschnitzel
    <Schnitzel nach Zielgruppe>
        Kinderschnitzel
        Seniorenschnitzel
    <Schnitzel nach Sauce>
        Jägerschnitzel
        Balkanschnitzel

In dieser Darstellung sind folgende Aussagen implizit enthalten:

  • Unser Schnitzel hat als Herkunft entweder Schwein oder Kalb, beides zugleich ist biologisch nicht möglich.

  • Auch Senioren bestellen für sich selbst bisweilen ein Kinderschnitzel, wenn sie Panade mögen und/oder die Rente knapp ist. (Bei unserem Imbiss an der Ecke unterscheiden sich Kinder- und Seniorenschnitzel nur in der Beilage Majo oder Dosengemüse).

  • Herkunft und Zielgruppe sind in anderer Weise unterschiedlich als Kinder und Senioren oder Schweine- und Kalbschnitzel.

Offensichtlich lassen sich die jeweiligen Schnitzel-Typen gruppieren, z.B. Schnitzel nach Herkunft, Schnitzel nach Zielgruppe.

  • Innerhalb einer Schnitzel-Gruppe haben wir ein exklusives Entweder-Oder (XOR). Mathematisch ist das eine Zerlegung in paarweise disjunkte Teilmengen, eine Partitionierung

  • Ein Schnitzel lässt sich leicht durch jede einzelne Schnitzel-Gruppe genauer beschreiben, hier herrscht keine Konkurrenz: Herkunft oder Zielgruppe eines Schnitzels sind paarweise unabhängige Dimensionen (Achsen) zur Beschreibung von Schnitzeln, Schweine- / Kalb- oder Kinder- / Senioren-Schnitzel sind unterschiedliche Werte der jeweiligen Achse. (Und auch Einkaufspreis und Finanzkraft sind Achsen, dazu später mehr).

Hier sind wir unvermittelt im Feld der philosophischen Ontologie angekommen: In unserem Beispiel sind “Schwein” und “Kalb” Entitäten aus der biologischen Welt, und “Kind” und “Senior” sind Entitäten aus der sozialen Lebenswelt. Ganz anders hingegen “Herkunft” und “Zielgruppe”: Auch das sind Entitäten aus der sozialen Lebenswelt, die wir aber in unserem Beispiel - in anderen Beispielen und Kontexten mag das ganz anders sein - in einer zusätzlichen Funktion, nämlich zur Unterscheidung von Unterscheidungen verwenden.

Die vollständige Schnitzel-Ontologie in GenDifS siehe http://www.jbusse.de/schnitzel-intro.html

Warum Mindmap?#

Warum Mindmap und nicht Graph … Mindmap günstige Heuristik für Taxonomien; Mehrfach-Vererbung durch das Sprachelement SUP … Mindmap als “aufgeschnittener Graph”: Die Ontologie hat nur bedingt Ähnlichkeit mit einem Baum; lässt sich nicht in einem Baum darstellen … lässt sich in Protege importieren, aber der hier dargestellte Baum ist irreführend … tatsächlich modelliert die Mindmap einen relativen komplexen Graphen, der dann die Ontologie visualisiert

die Kanten- und Knoten-Syntax ist minimal: UI des jeweiligen Mindmap-Programms ist komplett unabhängig von der Ontologie und kann für Wissensmanagemt etc. genutzt werden … GenDifS wertet nur ein einziges Icon aus: Icon X, Bedeutung: ignoriere diesen Teilbaum komplett

“Import” von eingerücktem Plaintext

GenDifS Sprachelemente#

ISA#

bottom up … eigentlich nur bottom up; top-down durch RESIDUUM

MODALITY, EGDE, RESIDUUM

BY property#

Erweiterung von ISA: jetzt auch Top-Down, einfachste Form von Aristoteles

MODALITY, EGDE, RESIDUUM

BY property FROM Category#

MODALITY, EGDE, RESIDUUM

SOME#

MODALITY, EGDE, RESIDUUM: Gibt es hier nicht!

Abduktives Schließen#

Experimentell, TBD: Nutzung von MODALITY und Rand / Edge zur evidenzbasierten Taxonomiekonstruktion Human in the Loop

Methodologie#

Vorrang einer Systematik von Unterschieden#

Was ist eine Ontologie? … eine Konzeptualisierung: ok … in welcher Ontologiesprache stellen wir die dar? Da bin ich anschlussfähig, also gerne in den Sprachen des Sematic Web: letztlich in RDF(S), OWL, SPARQL, ggf. auch SHAQL etc. … und „visuell“ in GenDifS.

Wir legen die Grundlagen für die Ziel-Ontologie, indem wir zunächst in einer vorausgehenden Ontologie von Unterschieden eine Systematik von Unterschieden entwickeln. Wir importieren dazu aus unterschiedlichen Bezugstheorien bestimmte für uns relevante Kern-Unterscheidungen – die idealerweise so gewählt sind, dass sie eben unabhängig von den bereits existierenden anderen Achsen sind. (Aus dem Import resultiert natürlich eine Dekontextualisierung der Begriffe aus den jeweiligen Bezugstheorien. Das ist gewollt, denn interessant ist für uns ja nur eine Idee, ein Gefühl für einen für uns wichtigen Unterschied.)

GenDifS ist eine Sprache, mit der sich Taxonomien als Mindmap notieren und nach OWL, SKOS etc. exportieren lassen … in GenDifS gibt es nur sehr wenige sehr einfache Typen von Restrictions … besser als anderswo unterstützt es GenDifS, eine Systematik von Unterschieden zu notieren (aber auch das geht natürlich in Protege) … methodische Folge: Wir suchen zuerst nach Unterschieden, und überlegen uns dann, wie wir diese kombinieren, um damit unsere eigentlichen Klassen zu beschreiben … diese Unterschiede nennen wir Achsen … in der Mathematik spannen Achsen einen n-dimensionalen Merkmalsraum auf … Idee: wir können Dinge in der Welt formal beschreiben, indem wir sie als Vektor (oder als Teilraum) im n-dimensionalen Merkmalsraum rekonstruieren.

Grenze (en: Edge)#

Wozu eine Taxonomie? Erstellen einer Klassifikation, um Objekte zu klassieren. Denn Dinge zu unterscheiden ist eine der wichtigsten, grundlegenden Tätigkeiten in der Entwicklung des Lebens: Essbar oder giftig? Hase oder Löwe? Freund oder Feind? – Dinge zu unterscheiden ist insbesondere in der Wissenschaft relevant. Analytische Unterscheidungen generieren die begrifflichen Grundlagen jeder Theorie.

Mit GenDifS folgen wir einer grundlegenden philosophisch-ontologischen Weltsicht:

  • Es gibt Dinge und Eigenschaften;

  • Dinge unterscheiden sich durch ihre Eigenschaften;

  • Dinge zu unterscheiden heiß zur erkennen, welche Eigenschaften für diese Dinge einen relevanten Unterschied machen;

  • die Relevanz von Unterschieden ergibt sich nicht aus den Dingen an sich, sondern aus einer Aufgabe, einer Handlung, einem sozialen oder kommunikativen Zusammenhang;

  • erfolgreiches Handeln setzt voraus, die entscheidenden Unterschiede einer Situation zu erkennen

  • … und kommunizieren, einer Kritik zugänglich machen, und dazu aufschreiben zu können.

Es stellt sich die Frage, wie man eine Klassifikation aufschreibt. Die Mathematik hat dazu die formale Logik erfunden, die allerdings für die Praxis zu kompliziert ist. GenDifS ist eine Sprache, in der Taxonomien als Mindmap aufgeschrieben werden können. Das ist zunächst “nur” eine wesentliche Vereinfachung – aber wer je mit einer formalen Logik gearbeitet hat weiß, dass schon das alleine nicht wenig ist. Eine abstrakte high level Modellerierungssprache wie GenDifS bietet darüber hinaus aber auch neue Möglichkeiten der Modellierung.

Wie geht man vor, um eine Taxonomie zu entwickeln? Nicht immer hat man schon alles im Kopf, das man „nur noch aufschreiben“ muss; manchmal entsteht Klarheit erst durch ein Denken, das durch Kommunikation und insbesondere Schreiben unterstützt wird (Kleist 1806: Ueber die allmähliche Verfertigung der Gedanken beim Reden). Schreibendes Denken basiert im Kern auf einer für die Codierung und Thematik spezifischen Interaktion zwischen Mensch, Symbolsystem und Tool. Bei Musikern ist das ein Musikinstrument und eine Sequenzer- oder Notensatz-Software. Philosophen genügt Papier und Bleistift, Mathematikern Papier, Bleistift und ein Radiergummi. Informatiker benutzen z.T. komplexe Entwicklungsumgebungen für ihr Software-Engineering.

Mit GenDifS kann man eine Taxonomie konzise in einem (im Prinzip beliebigen) Mindmap-Tool aufschreiben (wir empfehlen https://freemind.sourceforge.io/wiki/index.php/Main_Page oder besser das modernere https://docs.freeplane.org/). Das Python-Skript gd.py wird eine durch freemind oder freeplane erzeugte XML-Datei der in verschiedene (!) formale Semantic Web Modelle übersetzen, und kann diese Modelle dann auch gleich auf einen Datensatz anwenden. Die Rückmeldung aus diesem Prozess kann dann genutzt werden, um das GenDifS Modell zu erweitern. Mit GenDifS kann eine Taxonomie also nicht nur aufgeschrieben, sondern auch ausprobiert und weiterentwicklet werden: wenn man eine GenDifS Taxonomie auf einen Datensatz anwendet, kann GenDifS Rückmeldung geben, welche Elemente nicht vollständig klassiert werden können. Diese Information kann der Mensch dann nutzen um zu beurteilen:

  • Sperrt sich das neue Element der Klassierung, weil seine Daten unvollständig sind? Dann kann man eine GenDifS-Taxonomie nutzen, um gezielt Eigenschaften zu erheben, die eine weitere Klassierung unterstützen;

  • Sperrt sich das neue Element der Klassierung, weil es Daten enthält, die in unserer Taxonomie unbekannt sind, also unsere Taxonomie unvollständig ist? Dann kann ein neues Element Anlass geben, unsere Taxonomie zu erweitern;

  • Sperrt sich das neue Element der Klassierung, weil seine Daten falsch erhoben wurde oder das Element selbst fehlerhaft ist? Dann können wir das fehlerhafte Element aussortieren und einer Ausnahmebehandlung zuführen.

Der kognitive Prozess, aus überraschenden Ursachen und Wirkungen auf eine Regel zu schließen, die zwischen Ursache und Wirkung einen regelhaften Zusammenhang herstellt, wird Abduktion genannt. Wenn GeDifS neue, bisher nicht vollständig berücksichtigte Eigenschaften entdeckt und der (hier: menschliche) Autor einer Taxonomie daraufhin die Taxonomie erweitert oder umbaut, findet beim Menschen abduktives Schließen statt. Wenn eine Taxonomie eine automatische logikgestützte Klassierung von Elementen erlaubt, kann der iterative Aufbau einer Taxonomie auf Basis eines exemplarischen Datensatzes als ein Prozess datengestützen iterativen abduktiven Schließens verstanden werden.