Derzeit arbeite ich als Business Analyst in einem Projekt, das eine neue Anwendung für das Tagesgeschäft in einem Krankenhausbetrieb entwickelt. Mit dem Softwarearchitekten habe ich in den letzten Wochen viele interessante Gespräche darüber geführt, wie man die vielen unterschiedlichen Vorgänge, die es im Krankenhausbetrieb gibt, abbilden kann. Ob man sie klassifiziert oder nicht, ob man von Arten oder von Typen spricht. Ich bin ja ein Freund von Klassifizierungen und Taxonomien, weil sie für mich Sinn machen und ein Weg sind, Wissen zu erschließen. In einem Gespräch mit dem Architekten gestern habe ich in einem Nebensatz den Begriff Ontologie fallen lassen. Und kurz darauf wurde mir dann ein Link zu dem Artikel Ontology is Overrated von Clay Shirky zugespielt.

Wie der Titel vermuten lässt spricht Shirky sich gegen Ontologien aus. Allerdings geht es in dem Artikel eigentlich nicht um Ontologien, sondern um Klassifizierungen oder Kategorisierungen. Um zu belegen, wie unsinnig Klassifizierungen sind, berichtet Shirky von den Kategorien, in die Bücher in der amerikanischen Kongressbibiolthek sortiert werden. Im Bereich Geschichte gibt es eine Kategorie für Balkan und auf der selben Ebene eine Kategorie für Afrika. Und das könne ja wohl nicht sein, das der kleine Balkan mit dem Kontinent Afrika gleichgestellt wird.

Shirky’s Beobachtung bestätigt eine Aussage von George Box: „Essentially, all models are wrong, but some are useful“.

„All models are wrong“

Ontologien und Taxonomien sind Modelle mit denen Wissen abgebildet wird. Modelle sind immer eine Abstraktion von der Realität. Nie können sie die Realität mit all ihren Aspekten und Feinheiten wiedergeben, daher ist es immer leicht sie als falsch zu bezeichnen. Aber manche Modell sind zweckmäßig, sagt Box. Modelle werden für einen bestimmten Zweck gebaut und die Details, die für diesen Zweck nicht wichtig sind, werden wegabstrahiert. Wenn es also in der amerikanischen Kongressbibliothek etwa gleichviele Bücher zur Geschichte des Balkan gibt wie zur afrikanischen Geschichte, dann macht die Kategorisierung für die Bibiothek Sinn. Es ist aber ein Trugschluß zu meinen, man könnte daraus etwas über die Bevölkerungszahl, die Wirtschaftskraft oder die Fläche ableiten. Man darf ein Modell nie zweckentfremden! Das ist genau der Fehler, den Shirky gemacht hat.

Gute Modelle sind meiner Meinung nach einfache Modelle. Gute Modelle haben einen ganz dedizierten Zweck und versagen sofort, wenn man sie für einen bischen was anderes verwenden will. Anstatt das Modell komplexer zu machen, um es näher an die Realität zu bringen, sollte man lieber ein weiteres Modell für einen anderen Zweck verwenden. In unserem laufenden Softwareprojekt verwenden wir auch Modelle, um unsere Software zu beschreiben noch bevor wir sie entwickeln. Wir verwenden Wireframes, um das Aussehen abzubilden. Und wir verwenden User Stories, um das Verhalten zu beschreiben. Niemand in unserem Team wird bestreiten, dass beide Modelle, Wireframes und User Stories, sinnvoll sind. Und wir wissen alle um die engen Grenzen, in denen das jeweilige Modell Sinn macht.

So ist es auch mit Taxonomien. Sie sind auch Modelle, die für einen bestimmten Zweck gebaut werden. Und sie machen für diesen Zweck Sinn. Natürlich ist es leicht möglich, die Grenzen einer Taxonomie zu überschreiten und damit zu ‚beweisen‘, dass die Taxonomie falsch, unzureichend oder unsinnig sei. Soll man deswegen Taxonomien verteufeln?

„But some are useful“

Business-Anwendungen unterstützen Unternehmen im Tagesgeschäft. Solche Software soll die Realität im System abbilden, ist also selbst ein Modell. Das Modell soll sinnstiftend sein – das schafft die eine Software besser und die andere weniger gut. So wie wir im Entwicklungsprozess mehrere schwache Modelle kombinieren – Wireframes und User Stories -, so kann man auch in der Software mehrere schwache Modelle kombinieren:

  • Portraitfotos repräsentieren in unserer Anwendung den Patienten – aber sie geben wohl kaum die Persönlichkeit eines Menschen in Gänze wieder.
  • Wir verwenden Diagnosecodes – das ist wohl kaum eine umfassende Aussage zum Gesundheitszustand eines Patienten.
  • Ein Verlaufschart zeigt an, wieviel vom genehmigten Budget eines Falls schon verbraucht ist – kann das etwas über den Therapieverlauf aussagen?

Jedes Modell hat Schwächen und erfüllt dennoch seinen Zweck. Deshalb sollte man Taxonomien, Klasisfikationen und Kategorisierungen eben nicht verteufeln, sondern da einsetzen, wo es Sinn macht.

Wie kommt Intelligenz in die Software?

Idealerweise macht das Modell nicht nur für den Anwender Sinn, sonder auch für die Software. Dann, und nur dann, kann die Software nämlich eine gewisse Intelligenz bekommen. Zurück zu Shirky’s Arikel: Er vergleicht Yahoo und del.icio.us. Yahoo verfolgte einen katalogisierenden Ansatz, dagegen ermöglicht del.icio.us es den Anwendern, Internetadressen mit Tags zu verschlagworten. Das Problem ist nur, dass die Tags für den Anwender Sinn machen, aber eine Software braucht eine wahnsinnig fortgeschrittene Ontologie, um daraus Schlüsse ziehen zu können und so also ein bischen intelligent zu sein.

Immer wieder überraschend intelligent ist ja Google. Eine dumme Suchmaschine würde mir, wenn ich nach „Klemptner Rosenheim“ suche, Seiten nennen, auf denen diese beiden Begriffe vorkommen. Aber Google liefert mir Seiten zurück, auf denen weder das eine noch das andere Wort auftauchen – etwa den Heizungsfachbetrieb aus der Nachbargemeinde Stephanskirchen – und landet damit Volltreffer. Wie macht Google das? Damit die Suchergebnisse gut sind hat Google im Hintergrund eine riesige Ontologie eingebaut, die meine Suchbegriffe mit Wissen anreichern. Zum Beispiel so:

  • Klemptner ist ein Handwerksberuf
  • Handwerker werden ortsbezogen gesucht
  • Heizungsbauer ist ein Synonym für Klemptner
  • Rosenheim ist ein Ort in Oberbayern

In Googles Ontologie werden unzählige Taxonomien von Mitarbeitern gepflegt, um dem System Intelligenz zu geben. Während Yahoo seine Klassifizierung veröffentlicht hat und damit natürlich – „all models are wrong“ – angreifbar wurde, hält Google seine Ontologie und die darin enthaltenen Taxonomien geheim. Das ist ok, denn sie machen Sinn, auch wenn der Anwender sie nicht sieht.