Knowledge Packs: Wie Anwendungen durch Daten intelligenter werden — Empolis Blog

Knowledge Packs: Wie Anwendungen durch Daten intelligenter werden

0

kuenstliche-intelligenz-mit-empolis-kpacks

Künstliche Intelligenz ist in aller Munde. Meine Erwartung ist, dass Künstliche Intelligenz Anwendungen so intelligent machen wird, dass sie Tätigkeiten der Anwender verstehen, um Tipps und Automatisierungen zur Hand zu geben. Doch wie installiere ich diese Intelligenz in meine Anwendung? Eine Möglichkeit ist ein technologischer Kniff namens Knowledge Packs.

Ein berühmtes fiktives Beispiel für die Installierung von Intelligenz findet man beim Science-Fiction-Filmklassiker Matrix von 1999. Dort lernt der Protagonist Neo die Kampfkunst Kung-Fu innerhalb von wenigen Sekunden. Das nötige Wissen wird einfach über einen Computer in sein Gehirn hochgeladen.

So wie Neo durch den künstlichen kognitiven Transfer die Fähigkeit des Kung-Fu erlernt, die Augen öffnet und voller Stolz bestätigt: „I know Kung-Fu!“, möchte ich in diesem Beitrag zeigen, wie man typische Web-Anwendungen durch Knowledge Packs um einzelne Intelligenzpakete erweitern kann. (Frei nach der Reaktion von Morpheus„Show me!“)

Die Intelligenz hinter einem technischen Service

So sehr es mich auch reizen würde, Knowledge Packs am Beispiel von Kung-Fu zu erläutern, ziehe ich ein persönliches Erlebnis heran:

Kurz vor Weihnachten stellte ich fest, dass die Waschmaschine unseres 6-Personen-Haushalts defekt ist. Der letzte Blick auf den Kontostand bestätigte die Gewissheit, dass ich hier ohne fachliche Hilfe eines Experten aktiv werden musste. Mein erster Gedanke: „Wie gerne hätte ich jetzt die Möglichkeiten von Neo…“

Leider habe ich nur das World Wide Web, welches mir aber einen Fundus an Erfahrungsberichten von Experten zur Verfügung stellt. Als Novize im Bereich Reparatur von Haushaltsgeräten und Produktmanager der Empolis Smart Cloud (kurz: ESC) bediente ich mich einer Anwendung, die auf Basis der Empolis Smart Cloud realisiert wurde. Diese ermöglichte es mir, diese Erfahrungsberichte von Experten sowie die benötigte Terminologie zu Guided Troubleshooting zu laden.

Rohdaten: Erfahrungsberichte aus dem Feld finden sich in jedem Service-Unternehmen.

Erfahrungsberichte sind im Kern vom Techniker verfasste Kurzbeschreibungen der durchgeführten Arbeitsschritte. Der Techniker beschreibt zunächst die Rahmenbedingungen:

  • Angaben zum Kunden
  • Die eingesetzten Produkte
  • Deren Alter, Laufzeit, Aufbau
  • Sonstiges

In unserem Fall, der Familie Adrian, war es der Waschvollautomat von Siemens mit der Kennung „wash and dry 6143“, Kaufdatum 2010, Aufbau im Waschkeller. Sie läuft eigentlich täglich. Als nächstes wird das gemeldete Problem beschrieben, meist als Auflistung von Fehlverhalten oder Defekten. Im akuten Fall waren die erkannten Symptome:

  • Ein schleifendes Geräusch
  • Welches beim Schleudern lauter wurde

Es folgen die zur Diagnose durchgeführten Arbeiten und Handgriffe:

  • Stecker raus
  • Rückwand abschrauben
  • Trommel manuell drehen

Servicetechniker listen als Diagnoseresultat meistens die von ihnen verdächtigten Ursachen auf. In ähnlichen Fällen waren es häufig Kleinteile von Kleidungsstücken oder aus Taschen (Bügel, Draht, Plastik), die sich während eines Waschvorgangs durch die Gummidichtung gedrückt und danach in der Nähe der Trommel verklemmt haben.

Zur Lösung des Problems fand ich mehrere Herangehensweisen:

  • Das Problem ignorieren, die Schleifgeräusche werden mit der Zeit leiser und verschwinden
  • Aufwendiger Ausbau der Trommel, um  Zugriff auf die Kleinteile zu erhalten
  • Einfacher Ausbau des Heizstabs, um durch die entstehende Lücke Zugriff auf die Kleinteile zu erhalten

Ich wählte die letzte Variante, wodurch ich den Übeltäter – ein BH-Bügel – auch entfernen konnte.

Interessant wird es jetzt, da wir die Fachlichkeit und wahre Intelligenz hinter den Tätigkeiten eines technischen Service erkannt haben. Wie bringen wir unserer Anwendung die vorgeschlagenen Vorgehensweisen sowie die benötigten Terminologien bei, um passende Vorschläge auch finden zu können?

Knowledge Packs

Eine Analyse der Erfahrungsberichte ergibt, dass eine Intelligenz (ganz gleich, ob künstlich oder ich selbst) zunächst mal die Sprache der Experten verstehen sollte, um deren Vorschläge sinnvoll anzuwenden. Gruppieren wir also die oben verwendeten Begriffe nach folgenden Klassen, ergibt sich folgende Repräsentation:

Rahmenbedingung

Klasse Konzept
Kunde Benjamin Adrian
Produkt wash and dry
Hersteller Siemens
Seriennummer 6143
Alter, Kaufdatum 2010
Laufzeit täglich

Diagnose

Klasse Konzept
Symptome
  • Ein schleifendes Geräusch,
  • Wird beim Schleudern lauter
Komponente
  • Stecker
  • Rückwand
  • Trommel
  • Heizstab
Aktion
  • Stecker raus
  • Rückwand abschrauben
  • Trommel manuell drehen
Ursachen Verklemmte Kleinteile an Trommel

Lösung

Klasse Konzept
Aktion
  • Das Problem ignorieren
  • Ausbau der Trommel
  • Ausbau des Heizstabs

 

Knowledge Packs erlauben es, diese Terminologien mit Klassen und Konzeptauflistungen als Wissensmodell in einem JSON-basierten Austauschformat zu beschreiben.

{"Concept":"364809","Class":"c.Customer","Label_de":"Benjamin Adrian","Label_en":"Benjamin Adrian","Keys_de":["Dr. Benjamin Adrian","B. Adrian"], ...}

{"Concept":"363922","Class":"p.Product","Label_de":"Wash and Dry","Label_en":"Wash and Dry","Keys_de":["Wash & Dry","Wash Dry"], ...}

{"Concept":"542312","Class":"v.Vendor","Label_de":"Siemens","Label_en":"Siemens", ...}

{"Concept":"985213","Class":"p.Seriennummer","Label_de":"6143","Label_en":"6143" ...}

{"Concept":"912135","Class":"d.Laufzeit","Label_de":"täglich","Label_en":"daily","Keys_de":["1 Mal pro Tag"], ...}

{"Concept":"875433","Class":"ind.Acoustics","Label_de":"schleifendes Geräusch","Label_en":"grinding noise","Keys_de":["kratzendes Geräusch"], ...}
{"Concept":"875433","Class":"ind.Acoustics","Label_de":"beim Schleudern lauter","Label_en":"louder when spinning", ...}
{"Concept":"875433","Class":"ind.Mechanical","Label_de":"verklemmt","Label_en":"jammed", ...}

{"Concept":"912135","Class":"tA.TechAction","Label_de":"Stecker raus ziehen","Label_en":"pull out the plug", ...}
{"Concept":"912135","Class":"tA.TechAction","Label_de":"Rückwand abschrauben","Label_en":"Unscrew rear wall", ...}
{"Concept":"912135","Class":"tA.TechAction","Label_de":"manuell drehen","Label_en":"turn manually", ...}
{"Concept":"912135","Class":"tA.TechAction","Label_de":"ignorieren","Label_en":"ignore", ...}
{"Concept":"912135","Class":"tA.TechAction","Label_de":"Ausbau der Trommel","Label_en":"removal of the drum", ...}
{...}

 

Über die Angaben dieses Beispiels hinaus, erlauben es Knowledge Packs ebenfalls, Werteklassen zusammenzufassen, deren Muster sich mit regulären Ausdrücken beschreiben lassen. So können Sie z. B. Angaben zur Stromspannung folgendermaßen anlegen: Die Angaben zu normUnit und normFactor erlauben es der Anwendung, alle passenden Angaben in eine einheitliche Skala zu normieren, um – wie angegeben – Nanovolt nach Volt umzurechnen. 

      "class" : "si.Voltage",
      "patterns" : [{
          "expression" : "\\b(\\d+([\\.,]\\d+)?)\\s*(Volt|V)\\b",
          "valueGroup" : 1,
          "normalize" : "toFloat",
          "normUnit" : "V",
          "normFactor" : 1
        }, {
          "expression" : "\\b(\\d+([\\.,]\\d+)?)\\s*(Nanoovolt|nanovolt|nV)\\b",
          "valueGroup" : 1,
          "normalize" : "toFloat",
          "normUnit" : "V",
          "normFactor" : 1.0e-9
        }

 

Sind Sie in einem Service-Unternehmen tätig, werden sie sicherlich feststellen, dass viele der Klassen (z. B. Kunden, Produkte, Komponenten, Seriennummern) Konzepte enthalten, die Sie bereits in einem PLM-, CRM- oder ERP-System pflegen. Das JSON-basierte Austauschformat ist aus diesem Grund einfach gehalten, sodass diese Daten mit geringem Projektaufwand exportiert bzw. synchronisiert werden können.

Gehen wir zurück zum Beispiel. Eine Anwendung auf Basis der ESC kann über folgende Services mit Erfahrungsberichten und Terminologien bestückt werden, sodass Anwender zur fachlichen Arbeit passende Empfehlungen und Automatisierungen erfahren.

Service Umfang Beispiel
Ingest Service Diese REST-API ermöglicht es Ihnen, Dokumente zu Indizes hinzuzufügen sowie bestehende Dokumente zu aktualisieren oder zu löschen. Der Service kann jeden beliebigen Index adressieren und ist somit nicht an eine bestimmte Indexvariante oder Konfiguration gebunden.

 …………………………………………………………………………………………….

K-Pack Service Mit dieser REST-API können Sie Knowledge Packs verwalten sowie für einen bestimmten Index aktivieren und deaktivieren. Ein Knowledge Pack ist eine Sammlung von Werkzeugen, mit denen man Text mit Entitäten oder Konzepten aus einem bestimmten Thema oder einer bestimmten Domäne annotieren kann. Die verwendeten Werkzeuge können Wörterbücher, Wortlisten, reguläre Ausdrücke, Ruta-Regeln oder eine Kombination dieser Technologien sein.

Einzelne Knowledge Packs können als Zip-Datei in den Store eines ESC-Mandanten hochgeladen werden.

 

 

 

 

 

Ich gehe also folgendermaßen vor:

  1. Ich sammle alle mir verfügbaren Erfahrungsberichte zu Waschmaschinen und lade diese als Dokumente über den Ingest Service in meinen ESC-Mandanten.
  2. Ich erstelle und aktiviere folgende Knowledge Packs, um die Terminologie der Reparatur von Waschmaschinen abzudecken:
    1. Produkte mit den Klassen Produktname, Hersteller und Seriennummer
    2. Komponenten mit der Klasse Komponente
    3. Aktivitäten  mit der Klasse Aktion
    4. Symptome mit den Klassen Fehlercode, Akustisch, Mechanisch

Auf dieser Basis ist es mir nun möglich, in meiner Anwendung Anfragen über diese Klassen und Konzepte zu stellen, die mir den Erfahrungsbericht mit der passenden Lösung zurück liefern. Eine solche Suchanfrage würde im einfachsten Fall folgendermaßen aussehen:

  • Dokumenttyp = „Erfahrungsbericht“
  • Produkt = „wash and dry“ AND
  • Hersteller = „Siemens“ AND
  • Seriennummer = „6143“ AND
  • Symptom IN {ein schleifendes Geräusch, beim Schleudern lauter}

Noch konkreter könnte ich nach Ursachen, Aktivitäten und Lösungen fragen und die Ergebnisse in meiner Anwendung passend darstellen lassen.

Addon Knowledge Packs

addon-knowledge-packs

Aus der Projekterfahrung mit unseren Kunden wissen wir, dass sich in einzelnen Fachdomänen die verwendeten Terminologien ähneln. Eine Analyse der Wissensmodelle aus 30 Mandanten im Bereich Technischer Service ergab, dass viele Klassen wiederkehrend benötigt werden. Um Kunden die wiederkehrende Erstellung ähnlicher Knowledge Packs zu ersparen, stellen wir in der ESC folgende Addon Knowledge Packs zur Verfügung:

Addon Knowledge Pack Enthaltene Klassen Beispiel
Batterien Batteriegrößen Zink-Kohle-Batterie, AAA
Farben Farbwerte nach dem RAL-Standard Signalweiß, Basaltgrau
Diagnostic Trouble Code (DTC) Fehlercode-Norm der Automobilhersteller P0001
Global Harmonized System (GHS) Sicherheitshinweise GHS-Gefahrenklassen H220 – Extrem entzündbares Gas
Indikationen Fehlverhalten und Defekte, gruppiert nach Oberflächen, Akustisch, Flüssigkeit, Elektrisches Fehlverhalten, Temparatur, Mechanisch, Software, Verbindung, Allgemein, Weitere Sägezahnbildung, kaputt, verkohlt, zieht nach rechts
Verpackungsmaterial Auflistung von genormten Verpackungsmaterialien Polyethylen PE
Technische Handlungen Aktionen aus der technischen Diagnose fixieren, aufschrauben
Technische Komponenten Mechanisch, Elektrisch, Exterieur Bolzen, Antenne, Verkleidung
Technische Verbrauchsmaterialien Auflistung gängiger Verbrauchsmaterialien Getriebeöl, Schmierfett
Technische Positionen Positionsangaben vorne, Achse 1, vertikal
SI Einheitem Alle SI-Einheiten: Länge, Stromspannung, Fläche, Volumen, Winkel, Masse, Dichte, Frequenz, Druck, Stromstärke, Stromspannung, Geschwindigkeit etc. 220 kV
Prozentangaben Prozent- und Promilleangaben 22%
Zahlen Ausgeschriebene Zahlenwerte Eins, Fünf, Zwölf
Intervalle Intervalle aus SI-Einheiten und Zahlen 210V – 230V
DIN Normen Kennzeichen existierender DIN-Normen DIN 130-1:2002-10
Datum Datum, Zeit, Zeitstempel, Monat, Tag, Jahr 11.02.1981 13:35 Uhr
Firmennamen Firmennamen der Fortune 500 Microsoft
Personennamen Vornamen, Nachnamen, Titel und Anreden mit Beispielen aus Wikipedia Dr. Benjamin Adrian
Geldbeträge Geldbetrag, Währung 22,56 €

Das Training von Anwendungen

Auch wenn ich mir aktuell noch nicht – wie Neo – die Skills zum Reparieren einer Waschmaschine über eine neuronale Verbindung aneignen kann, so bin ich doch in der Lage, mir eine Anwendung zur Unterstützung in der Empolis Smart Cloud zu erstellen. Die Architektur der ESC erlaubt es mir, über Erfahrungsberichte und Knowledge Packs diese Anwendung auf meinknowledge-packs-empolis-kpackse benötigte Fachdomäne zu trainieren. So liefert sie mir bei Bedarf die passenden Antworten auf meine Fragestellungen zur Diagnose.

Somit kann ich jetzt fast von mir behaupten: „I know how to fix a washing machine.“

 

 

 

Sie möchten alle Informationen rund um KI und Big Data druckfrisch erhalten? Das Blog-Abo ist für Sie da.

Teilen:

Über den Autor

Benjamin Adrian

Dr. Benjamin Adrian ist als Produktmanager bei Empolis für die Empolis Smart Cloud verantwortlich. Dr. Adrian promovierte am Deutschen Forschungszentrum für Künstliche Intelligenz über die semantische Analyse von Texten. Seit 2015 ist er bei Empolis tätig und hat unter anderem Knowledge Packs als Mittel zur Konfiguration von Semantischen Indexierungs- und Suchverfahren im Information Access System und der Empolis Smart Cloud konzipiert. Seine Freizeit verbringt er gerne mit seiner Familie und programmiert kleinere KI-Anwendungen.

Sagen Sie Ihre Meinung!

Ich habe die Datenschutzbestimmungen gelesen, akzeptiere diese und stimme der Veröffentlichung der eingetragenen Daten zu