21.1 Konventionelle Programmierung

Es ist in den Kapiteln 17 bis 19 deutlich geworden, Geschäftsprozesse werden inzwischen IT-gestützt abgewickelt oder sind sogar völlig automatisiert. Konkret bedeutet dies, dass sie durch Softwaresysteme realisiert sind, dass Menschen weitgehend nur noch Entscheidungen fällen. Typisches Beispiel ist unser aller Umgang mit den Plattformen der Internet-Unternehmen.

Diese Programme sind heutzutage i.d.R. mit klassischen prozeduralen oder objektorientierten Programmiersprachen und ihren Entwicklungsumgebungen eingerichtet worden. Also z.B. mit C, C++, Java, JavaScript, PHP. Damit wird schon einiges geleistet, wie man insbesondere bei den Plattformen der Internet-Unternehmen sehen kann.

Die Ansprüche wuchsen aber, parallel zur immer detaillierteren Abbildung der Geschäftsprozesse in Software. Komplexere Abläufe und Problemstrukturen mussten programmiert werden, womit man an die Grenzen der konventionellen Programmierung stieß.

Grenzen

Konventionell?

Rund um das Thema Software für Geschäftsprozesse wird hier bzgl. der zugrundeliegenden Programmiersprachen die einfache Unterteilung "KI-Sprachen / sonstige Sprachen" gewählt. Dies ist eine sehr schlichte Unterteilung, die für diesen Zweck aber völlig ausreichend ist. Für eine vertiefte Differenzierung vgl. die einschlägige Literatur, für die aktuelle Situation die IT-Fachzeitschriften, z.B. die Zeitschriften des Heise-Verlags. Das Sonderheft "ix kompakt 2019 – Programmieren heute" gibt einen verständlichen aktuellen Überblick zu Programmiersprachen und Entwicklungsumgebungen.

Hier wird der Begriff konventionelle Programmierung und Programmiersprachen für die Entwicklung mit den "sonstigen Sprachen" gewählt.

Woher kommen diese Grenzen? Konventionell programmierte Programme folgen vorher festgelegten Abläufen und Geschäftsregeln mit fest definierten Inputs und Outputs. Mögliche Varianten im Ablauf müssen im Programm realisiert worden sein. Bei Geschäftsprozessen bedeutet dies, dass standardisierte, nicht zu tief detaillierende Prozessmodelle von wohlstrukturierten Prozessen gut mit konventionellen Programmiersprachen nachgebildet werden können. Hierfür sind die typischen Programmierkonstrukte wie Fallunterscheidung ("if-then"), Schleifen ("do while"), usw. ausreichend. Nur um die Leistungsfähigkeit dieser Programmiertechniken zu verdeutlichen, hier der Hinweis, dass die derzeitigen Internet-Portale mit der Plattform Webbrowser und sehr oft mit JavaScript realisiert sind, einer durch und durch konventionellen Programmiersprache.

Ablauf

21.2 KI-Programmierung

KI-Programmierung beruht auf anderen Programmiertechniken. Sie hat im Übrigen schon eine sehr lange Geschichte. Der Verfasser hat bereits zu Beginn seiner Berufstätigkeit – in den 1980er-Jahren – mit den Studierenden einfache Expertensysteme mit Prolog erstellt. Ertel schreibt sogar von 60 Jahren KI-Geschichte [Ertel 2016, S. V].

So richtig Fahrt aufgenommen hat die Entwicklung der KI-Methoden in den letzten 20 Jahren. Sie sind inzwischen auch sehr leistungsstrak, wie viele Beispiele zeigen. Von den vielen Methodenvorschlägen haben sich folgende als erfolgreich erfolgreich erwiesen:

  • Prädikatenlogik erster Stufe. Hierfür fand und findet Prolog Verwendung
  • Neuronale Netze
  • Methoden des maschinellen Lernens

Vgl. [Ertel 2016] für eine Einführung in die KI.

Die aktuellen Schlagworte sind

  • Maschinelles Lernen, aktuell meist basierend auf künstlichen neuronalen Netzen. Inzwischen auch mit zahlreichen Schichten (deep learning)
  • Deep Learning

<<Schon bald mehr>>

Ein erstes "Hineinschnuppern" erlaubt das Tutorial von Völkl in der Zeitschrift iX: [Völkl 2018 a,b,c].

Frage:

Viele der aktuellen erfolgreichen KI-Beispiele beruhen auf der Analyse von Mustern (Bildpunkten, Szenarien, usw.). Diese müssen in großer Zahl erhoben und dem Programm zur Verfügung gestellt werden. Welche Konsequenzen ergeben sich daraus?

21.3 KI für Geschäftsprozesse

Bei dem oben beschriebenen Leistungsspektrum ist es nicht überraschend, dass KI-Techniken bei den Entwicklern von Software für Geschäftsprozesse, insbesondere bei denen, die sich der Entwicklung automatisierter Software widmen, ebenfalls Aufmerksamkeit erregten.

Woher kommt nun der Bedarf an KI-Techniken für die Programme, die Geschäftsprozesse umsetzen. Sie speisen sich, wie oben zu sehen war, aus dem Wunsch, den gesamten Prozess zu automatisieren. Dies wird oft "end-to-end" genannt und meint insbesondere, dass auch der Kontakt zum Kunden in die IT-Unterstützung bzw. Automatisierung genommen werden muss. Daraus entsteht folgender Bedarf:

„end-to-end“

  • Verstehen des Inhalts von Textdokumenten (z.B. Kundenmails)
  • Verstehen menschlicher Sprache (z.B. Kundenanrufe)
  • Fähigkeit, Text zu erzeugen (schriftliche Antworten an Kunden, Partner, usw.)
  • Fähigkeit, Sprache zu erzeugen (telefonische Antworten an Kunden, Partner, usw.)
  • Entscheidungsunterstützung. Bis dahin unstrukturierte Probleme können u.U. mit Problemlösungstechniken der KI gelöst werden.

<<Schon bald mehr>>

21.4 Maschinelles Lernen

Bald wurde erkannt: KI ohne Lernfähigkeit ist nicht ausreichend. Es ist die Vorstellung, eine Software zu schreiben, die Vorgänge beobachtet und dabei lernt. Etwa so, wie beim Schachspiel: Die Software beobachtet Spieldurchgänge bis zum Erfolg und oder Misserfolg und kann dann erfolgreiche Strategien ableiten. Sie wird, das zeigen die Beispiele, umso besser, je mehr Vorgänge sie beobachten kann.

Software, die lernt

Heute beruht dies auf Mustern und ihrer Analyse. Ganz zu Beginn wird die Software mithilfe möglichst vieler Muster der zu durchdringenden Problematik "traniert", während der Einsatzzeit erwartet man, dass die Software aus ihrem Tun mit weiteren realen Mustern dazulernt. Dies funktioniert in vielen Bereichen recht gut, z.B. der Bilderkennung.

Diese Lernfähigkeit von Software ist nur mit KI-Techniken realisierbar. Eine wichtige Technik hierfür war und ist die der neuronalen Netze und des Deep Learning. Vgl. für die Grundlagen [Ertel 2016], insbes. Kapitel 9.

Typische Forderungen, die damit umgesetzt werden sollen, sind:

  • Automatisches Erkennen von Personen auf hochgeladenen Photos (z.B. bei Facebook)
  • Selbständiges Entdecken neuer Zusammenhänge in Kundendaten (wie mit Salesforce's Einstein)
  • Analyse und Diagnoseerstellung auf Basis von digitalisierten Patientendaten

Von grundsätzlicher Bedeutung für den Erfolg dieser auf Musteranalyse beruhenden KI-Techniken ist, dass sehr viele Muster zum Trainieren der Software zur Verfügung stehen und dass diese alle tatsächlich vorkommenden Muster angemessen repräsentieren. Gelingt dies nicht, scheitern diese Verfahren. Dann kann es zur "BlackSwan" - Thematik kommen: die Software scheitert, wenn etwas gänzlich Neues passiert.

Viele repräsentative Muster

Frage:

Woran könnte es liegen, dass die Versuche, Geschäftsprozesse automatisch zu modellieren, derzeit noch nicht sehr weit kommen.

Dass bzgl. Machine Learning hier bei den Softwarerobotern (noch?) nicht alle Erwartungen erfüllt werden, zeigt die Anmerkung von Bremmer, der eine Gartner-Studie zitiert: "Trotz der Behauptungen einiger RPA-Anbieter gibt es laut Gartner jedoch nur begrenzte Möglichkeiten, ML im Kern von RPA selbst zu nutzen". [Bremmer 2019, S. 23]

ML = Machine Learning

Software für Machine Learning

Ganz aktuell (2018 - 2020) wird diesbezüglich derzeit das Machine Learning Framework TensorFlow von Google (so etwas wie eine Programmbibliothek) thematisiert. Einen verständlichen Einstieg bietet das Tutorial von Völk in der Zeitschrift iX (vgl. [Völkl 2018a, b, c]). Einen Überblick über die zur Verfügung stehenden Tools gibt [Dose 2019].

21.5 Konkreter Einsatz

In [Reder 2019a] wird aus der IDG-Studie "Machine Learning/Deep Learning 2019" berichtet. Die Frage an die Unternehmen war: Welche KI/ML-Methoden nutzen Sie oder planen Sie demnächst zu nutzen?" Danach sind bei der Stichprobe (n=239) folgende KI-Methoden im Einsatz:

 


Technologie

Anteil in %

Spracherkennung

48,5

Assistenzsysteme

44,4

Maschinelle Übersetzung

43.1

Planungssysteme

41,4

Bilderkennung/Bildanalyse

39.3

Optische Zeichenerkennung/Textanalyse

38,5

Big Data Analytics

37.7

intelligente Steuerungssysteme

35,6

Zielgruppenidentifikation

33,1

Autonome Systeme

32,6

Gesichtserkennung

32,6