16.05.2018
Trends in der Software-Entwicklung
1. Teil: „Ohne Chatbots und KI geht nichts mehr“
Ohne Chatbots und KI geht nichts mehr
Alfa Photo / shutterstock.com
Neue Technologien erfordern qualifizierte Software-Entwickler. Das pure Integrieren eines Chatbots reicht nicht. Die zugrundeliegende KI muss überwacht und weiterentwickelt werden.
Software-Entwicklung. Im Vergleich zu den umwälzenden Änderungen der vergangenen Jahre tut sich – zumindest im Hinblick auf die vorherrschenden Standards – momentan wenig. HTML5 hat sich durchgesetzt, die PHP-Gemeinde konnte die wichtigsten Punkte auf der To-do-Liste mehr oder weniger vollständig bewältigen, Flash – längst totgesagt – ist inzwischen tatsächlich Geschichte und auch mobile Apps scheinen das Plateau ihrer Popularität erreicht zu haben.
Auf den ersten Blick stagniert die Auch das Comeback einstiger Webdesign-Tabus wie GIF-Animationen scheint auf eine Innovationsflaute hinzudeuten. Nichts könnte jedoch weiter von der Realität entfernt sein. Vielmehr rückt das Ende der Web-Entwicklung, wie wir sie kennen, näher. Die aktuellen Trends keimen fast allesamt jenseits des Mainstreams auf.
Chatbots als neue Apps
Lange Zeit sah es so aus, als würden mobile Apps ihren besonderen Status auf absehbare Zeit behalten. Doch was gestern noch modern und fortschrittlich wirkte, fühlt sich heute für viele schon leicht angestaubt an. Die große Popularität von Messaging-Diensten wie Slack, Snapchat oder WhatsApp hat zur Entstehung von Chatbots beigetragen.
Bei einem Chatbot handelt es sich um eine Software, die mit dem Benutzer via Text- oder Sprachnachrichten in natürlicher Sprache und/oder mit Hilfe grafischer Bedienelemente und/oder Gesten kommuniziert.
Chatbots erweitern Webseiten und mobile Apps um die Fähigkeiten, Fragen zu beantworten, Handlungsanweisungen aus dem Chat auszuführen und auf eine Aufforderung des Benutzers hin konkrete Probleme zu lösen. Für den Endanwender erübrigt sich dabei der Download einer weiteren App.
Messaging-Apps haben soziale Netze, was die Anzahl monatlich aktiver Nutzer angeht, bereits vor zwei Jahren übertroffen. Gleichzeitig scheint die Beliebheit konventioneller mobiler Apps – gemessen an der Anzahl aktiver Nutzer – zu stagnieren. Was diese Trends für die Entwickler mobiler Apps bedeuten, liegt auf der Hand: Chatbots sind die neuen Apps. Ginge es nach ihren Anbietern, würden Chatbots die konventionellen mobilen Apps sofort ablösen.
Bei einem rein textbasierten Chatbot tippt der Benutzer seine Anfrage in ein Eingabefeld ein, um mit einem Computer oder einer Cloud-Applikation im Backend zu kommunizieren. Fragen der Art: „Wo bleibt denn meine Bestellung?“ oder „Bis wann muss ich meine Koffer für den Flug einchecken?“ kann ein Chatbot auf der Basis vorgefertigter Gesprächsmuster zuverlässig beantworten, und das sogar um ein Vielfaches schneller als ein Kundendienstmitarbeiter.
Aktiven Kunden-Support via Facebook-Messenger bietet unter anderem etwa die Fluglinie KLM. Die Übergabe von Flugtickets nach einer Online-Bestellung, die Check-in-Prozedur und der Empfang der Bordkarte lassen sich bereits komfortabel per Chatbot erledigen.
2. Teil: „Krieg der Chatbots“
Krieg der Chatbots
Microsofts Bot Framework und die universelle Chatbot-Plattform API.ai mit Fähigkeiten zum maschinellen Lernen bis hin zur Python-Bibliothek ChatterBot – für fast alle Ansprüche findet sich etwas. Ein Krieg der Chatbot-Plattformen und KI-Assistenten – mit Apple Siri, Facebook Messenger/M, Google, Microsoft Cortana und Schwergewicht Amazon Alexa – ist offenbar lediglich eine Frage der Zeit.
Die Entwickler von Chatbots haben inzwischen die Qual der Wahl: Über 100 Frameworks buhlen um die Gunst der Programmierer. Vom unscheinbaren Platzhirsch Wit.ai über Die ersten kommerziellen Chatbot-Anwendungen waren vergleichsweise simpel gestrickt: Sie folgten einem vordefinierten Gesprächsablauf. Auch heute können die Benutzer eines Chatbots mit Hilfe der Anwendung Informationen vom automatisierten Kundendienst anfordern oder Bestellungen aufgeben, nicht jedoch einen philosophischen Diskurs führen. Weicht der Benutzer in seinen Anfragen vom Skript ab, dann zeigt sich ein Chatbot schon mal überfordert. Auch sind Chatbots weit davon entfernt, Emotionen oder ironische Bemerkungen zu erkennen.
Produktive Chatbots können zum Teil eigenständig weiterlernen, sofern sie mit einem passenden Interface ausgestattet sind. Meldet der Nutzer etwa „Mir fehlt die Wasserpumpenzange“, dann könnte ein Chatbot, der mit der Zange in Kombination mit einer Bestellung nichts anzufangen weiß, den Ausnahmezustand wie folgt handhaben:
Bitte Zutreffendes eingeben (A, B oder C):
A: Ihr Paket ist verloren gegangen oder wurde beschädigt beziehungsweise nicht vollständig zugestellt.
B: Sie haben die Rechnung nicht erhalten.
C: Sie möchten mit einem unserer Mitarbeiter chatten.
Aus der Antwort des Nutzers (A, B oder C) kann der Chatbot lernen, was es mit der Wasserpumpenzange im Kontext der Bestellung auf sich hat.
Doch damit hat sich die Sache noch lange nicht erledigt. Denn böswillige Nutzer könnten dem System leicht Unsinn antrainieren. Allein aus diesem Grund ist es zwingend notwendig, lernenden Chatbots auch Grenzen zu setzen und den Ablauf echter Chats mit Hilfe der Logs durch Menschen beaufsichtigen zu lassen. Im Endeffekt nutzen Chatbots idealerweise mehrere Methoden der Klassifizierung von Anfragen, und zwar:
- Erkennung von Übereinstimmungen der Benutzereingabe mit Vorlagen
- erweiterte Mustererkennung durch Algorithmen
- heuristische Entscheidungsfindung, typischerweise mit Hilfe (lernender) künstlicher neuronaler Netze
Bei der Mustererkennung anhand von Vorlagen genügt bereits eine alternative Schreibweise oder Zusammenstellung der Wörter, um den Chatbot außer Gefecht zu setzen. Erweiterte Mustererkennung durch Algorithmen kann hier Abhilfe schaffen. Ein solcher Algorithmus ist der NLP- und Textklassifizierungsklassiker Multinational Naive Bayes, ein überwachter Lernalgorithmus auf der Grundlage von Bayes Theorem mit der naiven Annahme der Unabhängigkeit zwischen jedem Paar von Merkmalen. Der Chatbot klassifiziert die Anfrage auf der Basis errechneter Wahrscheinlichkeiten, die sich aus starren Vorgaben des eingesetzten Modells ableiten lassen. Diese Methode erweitert das Verständnis des Bots, kann allerdings weder einen Volltreffer garantieren noch dazulernen.
Damit das eingesetzte Modell dynamisch lernen kann, müssen Chatbot-Entwickler tiefer in die Trickkiste greifen. Immer öfter kommen hierbei künstliche neuronale Netze zum Einsatz. Durch eine ausgiebige Trainingsphase zur Ermittlung der optimalen Gewichtung der künstlichen Synapsen lässt sich die Genauigkeit der Klassifizierung einer Anfrage durch den Chatbot erhöhen.
Als Sprachassistenten wie Amazon Alexa, Apple Siri oder Microsoft Cortana in den Alltag der Endanwender Einzug hielten, läuteten sie die Ära Künstlicher Intelligenz der Konsumentenklasse ein. Inzwischen haben sich einige von ihnen zu weitaus mehr als nur einer Schnittstelle zwischen Mensch und Maschine gemausert: Sie sind Plattformen für die Entwicklung (künstlich) intelligenter Software.
3. Teil: „Chatbots fürs Banking“
Chatbots fürs Banking
Künstliche Intelligenz schafft neue Karriere-Chancen.
Die Großbank UBS tüftelt zum Beispiel bereits an Skills und Chatbots für die Vermögensverwaltung mit Amazon Alexa. Ein Pilotprojekt läuft unter anderem in Großbritannien. Der UBS-Chatbot soll anfangs über allgemein zugängliche Wirtschaftskennzahlen wie die Inflationsrate plaudern können; in Zukunft sei eine personalisierte Vermögensberatung durchaus nicht auszuschließen. Anlageberater, die sich bisher vorwiegend ums Investieren gekümmert haben, müssten aufwachen und einsehen, dass sie aufgrund der digitalen Revolution irgendwann keinen Job mehr haben könnten, warnt Stephan Hässig, Leiter Vermögende Privatkunden der UBS Schweiz. Für Entwickler gilt allerdings eher das Gegenteil: Wie die Programmierer ihre bestehenden Kenntnisse einsetzen können, um für eine KI-Engine zu entwickeln, illustriert das Konzept der Skills für Amazon Alexa. Unter Skills versteht der Anbieter Erweiterungen, die Alexa neue Fähigkeiten beibringen. Einen Teil ihres Erfolgs verdankt die Alexa-Plattform der Tatsache, dass sich Skills einfach entwickeln lassen. Developer können bereits bestehendes Know-how nutzen. Das Design der Benutzerinteraktionen mit Alexa erfordert die Nutzung von Amazons webbasierten Tools; im Backend hat der Coder mehr Flexibilität. Zur Auswahl stehen derzeit zwei Optionen:
- AWS Lambda ARN (serverless): Der voll verwaltete serverlose Computing-Service von Amazon führt Programmcode ereignisgetrieben aus.
- HTTPS (bereitgestellt durch einen beliebigen Webserver): Der Anwendungscode kann von HTTPS-Webservern ausgeführt werden.
Die Bereitstellung von AWS Lambda durch Amazon illustriert einen weiteren Trend: Serverless Computing. Bei diesem verwalteten Dienst werden Anfragen ereignisgetrieben abgearbeitet. Es läuft alles ohne (sichtbare) Server-Instanzen ab. Für die bedarfsgerechte Skalierbarkeit und Hochverfügbarkeit zeichnet AWS verantwortlich. Die Flut von Big Data aus IoT-Sensorik der smarten Fabrik oder der Logistik benötigt leistungsstarke Algorithmen zur Auswertung der Daten und eine (semiautonome) intelligente Steuerung der Endgeräte. Die Entstehung von Marktplätzen für Algorithmen ist die Folge. Googles Kaggle.com und Algorithmia.com sind die neuen App-Stores. Anwendungsentwickler können das Wissen von Data Scientists zurate ziehen und die eigene Software mit datengetriebenen Features auf Basis fortgeschrittener Algorithmen anreichern. Beispiele solcher Algorithmen, die im Cloud-Backend einer App massive Datenmengen interpretieren können, fallen in eine oder mehrere Kategorien. Zu diesen zählen:
- Textinterpretation und Verarbeitung natürlicher Sprache: Extrahieren von Adressdaten aus beliebigen Texten, Sentimentanalyse einer Marke in sozialen Netzen, Ausführung von Sprachbefehlen, Aufspüren von Phishing-Webseiten
- Empfehlungssysteme: Affinitätsanalyse für Inhalts- oder Warenkorbempfehlungen und vieles andere
- Klassifizierung von Daten: Interpretieren von Bildmotiven in Videos
- Deep Learning und prädiktive Analyse: Diagnostizieren von Krankheiten anhand von Daten aus medizinischen Instrumenten, Klassifizieren von Personen anhand von Fotos nach demografischen Merkmalen wie Alter oder Geschlecht, Erkennen von Kaufauslösern
Mit der wachsenden Bedeutung von Daten wird auch die Datenvisualisierung wichtiger. Die Möglichkeiten sind vielversprechend. Dank leistungsstarker Frameworks müssen Webentwickler neuerdings auch vor Deep Learning und prädiktiver Modellierung nicht mehr haltmachen.
4. Teil: „dApps und smarte Verträge“
dApps und smarte Verträge
Blockchain aufzeichnen.
Aus der Feder der Krypto-Enthusiasten stammt eine völlig neue Art verteilter Anwendungen, deren Popularität in der Start-up-Szene geradezu explodiert: die dApps (kurz für decentralized Apps). dApps sind quelloffene verteilte Anwendungen, die ihre Daten und relevante Ereignisse in einer dApps können eine eigene Währung schaffen, um den Nutzern gewisse Anreize zu bieten. Doch Kryptowährungen und -Tokens sind dabei eigentlich nebensächlich. Als eines der wichtigsten Anwendungsgebiete von dApps gelten vielmehr die smarten Verträge. Bei einem smarten Vertrag handelt es sich um Software-Code, der eine Vereinbarung zwischen zwei oder mehr Vertragsparteien darstellt und alle relevanten Ereignisse in einem Distributed Ledger (beispielsweise einer gemeinsamen Blockchain auf Ethereum) aufzeichnet. So können IoT-Produktionsanlagen im Rahmen eines smarten Vertrags selbst Bestellungen von Ersatzteilen aufgeben, automatisch Zahlungen ausführen, Vertragsstrafen geltend machen und dergleichen mehr.
Das Innovationstempo ist atemberaubend. Inzwischen sind sogar mehrere Programmiersprachen entstanden, die auf smarte Verträge spezialisiert sind; die wohl beliebteste ist eine Javascript-ähnliche Sprache namens Solidity. Sie verfügt über einen eigenen Compiler, der die Skripts in Bytecode für die Ethereum Virtual Machine umwandelt. Diese Art eines Vertrags erlaubt es einem Teilnehmer, beliebige Schlüssel-Wert-Paare in der Blockchain aufzuzeichnen, und anderen Nutzern, diese Informationen abzurufen.
Smarte Verträge sind für Unternehmen der letzte Schrei in puncto Effizienz und Wirtschaftlichkeit. Die Technologie verspricht massive Kostensenkungen bei gleichzeitiger Steigerung der Ausführungsgeschwindigkeit von Transaktionen.
Das angestrebte Resultat ist die Automatisierung von Geschäftsabläufen durch die Anbindung von IoT-Endgeräten an eine Blockchain, die sich mit Hilfe smarter Verträge ereignisgetrieben und autark verwaltet.
5. Teil: „KI für die Cyberabwehr“
KI für die Cyberabwehr
Ein überaus fruchtbares Betätigungsfeld für Entwickler entsteht im Bereich der Cyberabwehr. Am 25. Mai tritt die Europäische Datenschutzgrundverordnung (DSGVO) in Kraft. Die neue Rechtslage ruft bei Unternehmen das Thema Cybersicherheit auf den Plan. Was die Situation zusätzlich erschwert, ist die Tatsache, dass sich die Cyberbedrohungen in den vergangenen Monaten massiv verändert haben – und sich auch weiter stetig zu ändern scheinen.
Die neue dynamische Bedrohungslage überfordert sehr oft die Administratoren der betroffenen Systeme; gefragt sind daher Entwickler mit DevSecOps-Kompetenz. Noch nie waren die Angriffsvektoren so differenziert und wandlungsfähig. Hier zeigt sich, dass Künstliche Intelligenz ein zweischneidiges Schwert ist.
Wer möchte sich schon mit maschinell lernender Malware auseinandersetzen – doch eben dieses Szenario kommt auf die Unternehmen zu. Kryptowährungen wie Bitcoin haben den aktuellen Ransomware-Boom überhaupt erst möglich gemacht, weil diese Zahlungsmittel anonyme Transaktionen erlauben, die sich nicht annullieren lassen. Auf diese Weise haben die Täter eines erreicht, nämlich die problemlose Finanzierung ihrer perfiden Malware-Aktivitäten durch Erpressung.
Das bevorzugte Ziel der Attacken ist die Unternehmensinformatik. Nicht nur verfügen die Unternehmen viel eher über die finanziellen Mittel, sondern sie haben oft auch die Motivation zur Zahlung von Lösegeld: Geschäftskritische Daten wie Kundendatenbanken mit persönlichen Informationen, steuerlich relevante Finanzdaten, proprietärer Software-Code, technische Spezifikationen von Produktionsverfahren und andere Betriebsgeheimnisse setzen die Betroffenen unter Zugzwang.
Der Verlust relevanter Daten, das Bekanntwerden von Geschäftsgeheimnissen oder eine Betriebsstörung durch das Fehlverhalten von Computersystemen kann für die betroffene Organisation katastrophale Folgen bis hin zur Existenzgefährdung haben.
Eine typische Lösegeld-Forderung beläuft sich derzeit auf durchschnittlich knapp 650 Euro, wie der IT-Security-Spezialist Symantec herausfand. IBM berichtet von vereinzelten vier- und fünfstelligen Lösegeldsummen.
Eine Ransomware-Attacke kann das laufende Geschäft zum Stillstand bringen, unternehmenskritische Daten vernichten, die Produktivität senken und nebenbei auch noch einen Imageschaden verursachen. Die Zahlung von Lösegeld erscheint da vielen Verantwortlichen als eine vertretbare Methode der Krisenbewältigung.
Der Anstieg zielgerichteter Ransomware gegen handverlesene Opfer, wovon Symantec im Lauf des vergangenen Jahres berichtete, hat diese Dynamik allerdings gekippt. Wer Lösegeld zahlt, erkauft sich neue Attacken und gilt als leichte Beute. Mit der Entstehung neuer Geschäftsmodelle rund um den Vertrieb von Ransomware haben sich kriminelle Entwicklungsschmieden in eine neue Liga des Übels katapultiert. Ransomware wie Cerber, Cryptolocker oder Locky gibt es als Do-it-yourself-Kits im Preisbereich zwischen umgerechnet 30 und 3000 Euro zu kaufen.
Viele dieser Tools sind sicherlich Ramsch. Doch darum geht es nicht: Mit Hilfe solcher Malware-Kits können selbst Täter, die ansonsten noch grün hinter den Ohren sind, ihre Opfer mit Lösegeldforderungen terrorisieren. Als Top-Bedrohung gilt Ransomware as a Service. Der Einsatz KI-gestützter Lösungen zur Abwehr von Ransomware, insbesondere im Rahmen von DevSecOps-Initiativen, nimmt zu. Trotzdem gilt: Den besten Schutz vor Ransomware bietet bis auf Weiteres die Vorsorge.
Forschung
KI macht Gebärdensprache zugänglicher
Ein KI-Tool der Universität Leiden für "Wörterbücher" erkennt Positionen und Bewegungen der Hände bei der Darstellung unterschiedlicher Gebärdensprachen.
>>
Galaxy AI
Samsung bringt KI auf weitere Smartphones und Tablets
Einige weitere, ältere Smartphone- und Tablet-Modelle von Samsung können mit einem Systemupdate jetzt die KI-Funktionen von Galaxy AI nutzen.
>>
Glasfasernetz
GlobalConnect stellt B2C-Geschäft in Deutschland ein
Der Glasfaseranbieter GlobalConnect will sich in Deutschland künftig auf das B2B- und das Carrier-Geschäft konzentrieren und stoppt die Gewinnung von Privatkunden mit Internet- und Telefonanschlüssen.
>>
Studie
Firmen wissen mit Blockchain nichts anzufangen
Nicht einmal ein Prozent der Unternehmen im DACH-Raum sieht Möglichkeiten zur praktischen Anwendung der Blockchain-Technologie, wie eine Studie zeigt.
>>