close

Künstliche Intelligenz

AllgemeinKünstliche Intelligenz

Automatische Klassifizierung von Servicetickets mittels Natural Language Processing

beitragsbild-time-for-success-1800×1200

Rohdaten

Der Datensatz umfasst etwa 30000 Tickets erstellt in einem Zeitraum von 5 Jahren. Ein Ticket wird mittels einer E-Mail erstellt. Jedem Ticket wurde ein Servicetyp zugewiesen, wobei bei ca. 7000 Tickets dieser Servicetyp fehlt. Insgesamt wurden ca. 400 verschiedene Typen verwendet.

Aufbereitung

Eine Klassifizierung mit einer sehr großen Anzahl an verschiedenen Typen ist nicht zielführend. Betrachtet man den Datensatz kann man erkennen, dass einige Servicetypen nur sehr spärlich verwendet wurden. Um die Kategorien einzuschränken, betrachten wir nun nur Typen mit mindestens 200 Einträgen. Dadurch bleiben 17 verschiedene Kategorien bei verbleibenden 22000 Tickets. Ohne die Anzahl der Tickets signifikant zu verringern (ca. 1000 Datensätze) kann so mit einem abgespeckten Klassenspektrum gestartet werden. Als Input wird die E-Mail im Format „<Betreff>: <Inhalt>“ verwendet.

Klassifizierung

LUIS

Zur Analyse wird der Cloud Service von Microsoft Language Understanding Intelligent Service (LUIS) verwendet.

Model

Die Erstellung eines Modells erfolgt mittels Definition von Intents und Entities. Jeder Servicetype wird als Intent abgebildet (siehe Abbildung „Intents“). Als Entities können bei Bedarf beispielsweise Fehlercode oder Personalnummer definiert werden. Auf die genaue Beschreibung zur Erstellung des Modells wird hier nicht eingegangen, da dazu bereits viele Online-Ressourcen verfügbar sind (z.B. https://aischool.microsoft.com/learning-paths/2sBClBrUiwGeeOaAWA2IQ6).

Intents

Batch Testing Panel

Im Online Portal gibt es die Möglichkeit das trainierte Model zu testen. Für jede Kategorie wird ein Diagramm mit detaillierten Klassifizierungsergebnissen angezeigt (siehe Abbildung „Klassifizierungsergebnis“). Die zugrunde liegenden Testdatensätze können mit einem Klick auf einen bestimmten Datenpunkt bzw. mittels Auswahl von einem der vier Bereiche (TP, FP, FN, TN) angezeigt werden.

Klassifizierungsergebnis

Weiters werden die Kennzahlen Precision, Recall & F-Measure berechnet.

Limitierungen

  • Maximal 1000 Einträge pro Testdatensatz
  • Maximal 500 Zeichen pro Textinput
  • Maximal 10 Testdatensätze

Evaluierung

Beim Testen des Modells (1000 Einträge) wurden nur 12,9 % aller Einträge richtig klassifiziert. Um die Ursache für dieses schlechte Ergebnis zu finden werden die Ergebnisse im Detail zu betrachten. Hier kann man erkennen, dass einige Servicetypen bereits sehr gut erkannt wurden, andere jedoch extrem schlecht.

Servicetyp Recall
PC 0.03
Schnittstelle Vertriebssystem / ERP System 0.06
Handy 0.06
Laserbeschriftung 0.08
E-Mail (Exchange) 0.09
Telefon (Standgerät) 0.18
DMS 0.30
Drucker (Netzwerk) 0.31
Vertriebssystem 0.34
Notebook 0.43
BI 0.47
Smartphone 0.56
Active Directory 0.59
Druckmanagement 0.62
Telefonanlage 0.62
Office 0.64
ERP System 0.86

Um zu erkennen, welche falschen Kategorien für einen bestimmten Typ am häufigsten zugewiesen wurden, empfiehlt es sich, einzelne Testdatensätze mit jeweils einem Typ zu erstellen.

Dabei lassen sich folgende Erkenntnisse für die problematischen Servicetypen gewinnen:

PC

Dieser Servicetyp ist sehr allgemein, da sowohl Hardware als auch Software (Installationen, Probleme) betroffen sein kann.

Lösungsansatz: Unterteilung in spezifischere Kategorien (z.B. Softwareinstallation, Hardware, etc.)

Schnittstelle Vertriebssystem / ERP System

Fast alle Einträge des Testdatensatzes wurden zu ERP System zugewiesen.

Lösungsansatz: Kategorie entfernen und mit ERP System zusammenführen

Handy

Hier werden die Testtickets vor allem der Kategorie Smartphone zugewiesen. Generell fällt auf, dass es im Bereich Telefonie sehr viele Servicetypen gibt.

Lösungsansatz: Handy, Telefon (Standgerät), Smartphone, Telefonanlage zur Kategorie Telefonie zusammenführen

Laserbeschriftung

Bei vielen Servicetickets handelt es sich um Dateifreigaben und dadurch werden diese der Kategorie Active Directory zugewiesen.

Lösungsansatz: Überarbeitung der Datensatzeinträge und Neuzuweisung zu Active Directory, falls es sich um File/Ordner Freigaben handelt. Dadurch kann sich der Servicetyp Laserbeschriftung um programmspezifische Tickets kümmern.

E-Mail (Exchange)

Hier kommt es unter anderem zu Konflikten mit dem Servicetyp Office, da Outlook in beiden Kategorien sehr häufig erwähnt wird.

Lösungsansatz: Dieses Verhalten ist nur schwer zu vermeiden, da selbst bei manuellem Kategorisieren oft Unklarheiten auftreten. Da ein Fehlkategorisieren jedoch hier unkritisch ist, kann dies so belassen werden.

 

Das Erstellen eines guten Modells für eine Klassifizierung erfordert viel Fingerspitzengefühl. Mithilfe von einem Testdatensatz kann das Modell im Detail untersucht und schrittweise verbessert werden um ein zufriedenstellendes Ergebnis zu erreichen.

Automatisierung

Nachdem das Modell fertiggestellt wurde, kann dieses im Onlineportal als Webservice zu Verfügung gestellt werden. Neue Servicetickets können nun mithilfe eines SSIS Packages automatisch kategorisiert werden. Hierfür wird als erstes ein Datenflusstask erstellt (siehe Abbildung „Automatisierung“).

Datenflusstask

Der Datenfluss setzt sich zusammen aus der Datenquelle mit den neuen Servicetickets, einem Skripttask, welcher den Klassifizierungsservice aufruft, und dem abschließenden Abspeichern der Klassifizierungsergebnisse (siehe Abbildung „Datenfluss“).

Datenfluss

Im Skripttask werden als Eingangsspalten „Betreff“ und „Inhalt“ des E-Mails verwendet. Als Ausgang wird die vom Webservice mit der höchsten Wahrscheinlichkeit deklarierte Klasse zurückgegeben (siehe Abbildung „Skript“).

Skript

Um das vom Webservice gelieferte JSON Objekt zu verarbeiten, wurden Hilfsklassen, welche eine äquivalente Struktur aufweisen, angelegt. Dadurch kann das JSON Objekt zu einem C# Objekt deserialisiert werden (siehe Abbildung „Hilfsklassen“).

Hilfsklassen

Der Aufbau der URL für den Aufruf des Webservices kann der API Referenz entnommen werden: https://westus.dev.cognitive.microsoft.com/docs/services/5819c76f40a6350ce09de1ac/operations/5819c77140a63516d81aee78

Zusammenfassung

In diesem Beitrag wurde gezeigt wie mit LUIS und SSIS mit nur wenigen Zeilen Code eine vollständige Automatisierung für die Klassifizierung von Servicetickets realisiert werden kann. LUIS bietet eine Plattform um auch ohne Expertenwissen ein Machine Learning Modell erzeugen zu können, jedoch ist das Ergebnis des Services stark abhängig von einem guten Design des Modells, welches oftmals erst mithilfe eines iterativen Verbesserungsprozesses zum gewünschten Resultat führt.

mehr lesen
AllgemeinAzureCloudKünstliche IntelligenzOffice Client

Ein eigenes Machine Learning WebService aufrufen, jetzt mit Excel

beitragsbild-wichtige-nachricht-laut-ankuendigung-tipp

In meinem letzten Blogartikel habe ich gezeigt, dass es ganz einfach ist, ein Machine Learning WebService zu bauen. Es  kann ganz einfach in „Custom-Code“ verwendet werden. Eigentlich braucht man sogar nur mehr den generierten Code kopieren, anpassen und verwenden. Jetzt möchte ich zeigen wie einfach es ist, das WebService aus Excel heraus zu verwenden.

mehr lesen
AllgemeinInterviewKünstliche IntelligenzSocial Networking, CommunityVeranstaltung, Event, KonferenzVortrag, Training, Screencast

Interview – Wie sieht der ideale CIO der Zukunft aus?

20180227 MarCom, Banner Interview Michael Ghezzo (HATAHET, MeSw)

Am 11. und 12. April findet der 11. Confare CIO SUMMIT, Österreichs größter und mit dem CIO Award wichtigster IT-Treffpunkt des Jahres statt. Anlässlich dieses Events, bei dem die HATAHET productivity solutions als Aussteller und Vortragender vertreten sein wird, hat Nahed Hatahet, Michael Ghezzo, Geschäftsführer und Eigentümer der Confare GmbH, einige Fragen gestellt.

Lesen Sie hier das ganze Interview:

Nahed: Mit welchen Themen werden sich CIOs vor allem im Jahr 2018 hauptsächlich beschäftigen? 

Michael: Technologisch sind moderne Arbeitsumgebungen, Customer Experience und Sicherheit wohl ganz oben auf der Agenda des CIO. Künstliche Intelligenz und IoT sind weitere Trendthemen, an denen man 2018 nicht vorbeikommt. Doch hinter all diesen Hypethemen steht vor allem eines – IT muss Innovation möglich machen. „Never change a running system“ war gestern. Wir haben erlebt, wie Technologie-getriebene Geschäftsmodelle ganze Branchen verändert haben. Es ist bei den Geschäftsführern, CEOs und Aufsichtsräten angekommen, dass Digitalisierung nicht ein leeres Schlagwort, die nächste „dot.com Blase“, ist, sondern eine nachhaltige Veränderung der Wirtschaft und der Gesellschaft. Der Blick geht Richtung IT. Von dort erwartet man schlüssige Antworten auf die modernen Herausforderungen. Man beurteilt die Leistung des CIOs nicht mehr an Einsparungen oder Performance-Kennzahlen alleine. Daher:

  • Blick auf den Kunden – damit ist nicht der interne Anwender oder der sogenannte DAU – „dümmste anzunehmende User“ – gemeint, sondern der reale Endkunde, der mit Apps, Verrechnungssystemen, e-Shops etc. unmittelbar mit der internen IT zu tun hat.
  • Blick auf Innovation – jetzt sind nachhaltige Veränderungen möglich. Selbst der technologiefeindlichste und konservativste Chef ist jetzt mit guten Ideen zu gewinnen.
  • Blick auf die Hausaufgaben – wer mit Kundendaten nicht gewissenhaft umgehen kann, braucht sich gar nicht erst Daten-zentrierte Geschäftsmodelle überlegen. Wer die Performance nicht im Griff hat, wird unzufriedene Kunden ernten.

CIO zu sein ist wohl eine der herausforderndsten Aufgaben im Management Board, aber sicherlich auch die Spannendste. Ich würde sogar sagen: Es war noch nie so aufregend CIO zu sein, wie 2018.

http://confare.at/being-cio-in-the-digital-age-10-tips-for-the-digital-age-cio/

mehr lesen
AllgemeinKünstliche IntelligenzTool, Bot, App, Add-In

Microsoft Bot Framework

Developer Working From Home Office.

Das Microsoft Bot Framework mitsamt dem Bot Builder SDK, das für C# und Node.js verfügbar ist, bietet das Rüstzeug zum Senden und Empfangen von Nachrichten sowie eine Anbindung an verschiedene Chat Kanäle wie Facebook oder Skype. Weiters erleichtert es durch die Bereitstellung bereits vorgefertigter Hilfsklassen die Verwendung der Microsoft Cognitive Services.

Eine Übersicht über das Microsoft Bot Framework und dessen Schnittstellen ist in Abbildung 1 zu sehen.

Abbildung 1: Microsoft Bot Framework und dessen Schnittstellen

Bei den Microsoft Cognitive Services sind vor allem der QnA Maker sowie die Language Understanding Intelligent Services (LUIS) für die Bot-Kommunikation sehr hilfreich.

QnA Maker

Für die Erstellung eines neuen QnA Maker Services gibt es verschiedene Möglichkeiten. Die Knowledge Base kann erzeugt werden durch:

  • Die Angabe einer FAQ Website
  • Das Hochladen von FAQ Dokumenten
  • Die manuelle Eingabe der Frage Antwort Einträge

Mit der Knowledge-Base als Startpunkt können dann bei Bedarf Verbesserungen vorgenommen werden. Gibt ein Benutzer beispielsweise eine Frage ein, die nicht hinterlegt ist, werden die wahrscheinlichsten Alternativen zur Auswahl zurückgegeben. Wird eine dieser Alternativen vom Benutzer ausgewählt, erhält das System ein Feedback, welches zur Verbesserung beitragen kann. Ein Beispiel für diese Vorschläge ist in Abbildung 2 dargestellt.

Abbildung 2: Alternativen bei unbekannter Frage

Eine weitere Möglichkeit zur Verbesserung ist es, den Bot zu trainieren. Hierbei kann man die besten Antworten auswählen und auch alternative Phrasen zu einer bestimmten Frage hinzufügen. Ein Beispiel hierfür ist in Abbildung 3 dargestellt.

Abbildung 3: Training eines Bots

Weiters können alle bestehenden Konversationen abgefragt und die Fragen sortiert nach Häufigkeit trainiert werden.

LUIS

Dieser Service analysiert die Bedeutung (Intent) und die dazugehörigen Objekte (Entities) von verschiedenen Aussagen. Abbildung 4 zeigt ein Beispiel, das die Bedeutung der Fragen (Intent) zu einer gewissen Person (Entity) behandelt.

Abbildung 4: Intents und Entities

Abbildung 5 zeigt, wie mit Hilfe des LUIS Service Portals Intents erzeugt werden können.

Abbildung 5: Intents anlegen

Mit Hilfe dieser Trainingsdaten wird im nächsten Schritt eine bestimmte Wahrscheinlichkeit zugewiesen (siehe Labeled Intent in Abbildung 6).

Abbildung 6: Zugewiesene Wahrscheinlichkeiten

Das dabei erstellte Model kann danach für neue (auch unbekannte) Nachrichten die Wahrscheinlichkeiten berechnen.

Ist das Model fertig kann LUIS nun in der Bot-Implementierung verwendet werden. Als Einstiegspunkt bei jedem Bot dient der Messages Controller. Dieser ist in Abbildung 7 ersichtlich. Der Message Controller bekommt ein Activity Objekt übergeben. Ist das Activity Objekt vom Typ Message dann wird der LuisDialog aufgerufen. Andere Typen sind beispielsweise das Hinzufügen eines Chatteilnehmers oder das Beenden einer Konversation, auf welche wir hier nicht weiter eingehen.

Abbildung 7: Messages Controller

Die Nachricht wird dann über die REST Schnittstelle analysiert und je nachdem, welcher Intent am wahrscheinlichsten ist, wird der dazugehörige Task ausgeführt und eine entsprechende Rückmeldung an den Benutzer gesendet (siehe Abbildung 8).

Abbildung 8: LuisDialog

Auch bei LUIS kann das Model stetig verbessert werden, indem bisherige Zuweisungen bei Bedarf korrigiert werden.

mehr lesen
AzureCloudKünstliche Intelligenz

Machine Learning Studio von Microsoft

beitragsbild-source-code-scripting-coding-terminal

Wer aufmerksam das Microsoft Azure Portal beobachtet und regelmäßig besucht, hat vielleicht schon entdeckt, dass es eine Ressource „Machine Learning Studio workplaces“ gibt. Wie der Name schon andeutet, kann man damit Machine Learning Arbeitsbereiche erstellen und verwenden. Nun wird der Eine oder Andere der Meinung sein, dass das sehr kompliziert klingt und möglicherweise außer Aufwand keinen Nutzen hat. Dem möchte ich hier doch deutlich widersprechen :).

mehr lesen
AllgemeinInterviewKünstliche Intelligenz

Interview – „Reduktion als Voraussetzung“

beitragsbild-einzigartig-hevorstechend-hero-star-loesung

Der Weg zum digitalen Arbeitsplatz kann ein steiniger sein, meint Nahed Hatahet, Geschäftsführer von HATAHET productivity solutions. Die Gründe sind unter anderem die durch die Industrie verursachte Komplexität und der aktuelle Beratermarkt.

Die COMPUTERWELT interviewte Nahed Hatahet zu diesem Thema. Lesen Sie hier das komplette Interview:

COMPUTERWELT: Was verstehen Sie unter dem Schlagwort digitaler Arbeitsplatz?
Nahed Hatahet: Der digitale Arbeitsplatz liefert mir auf Basis meiner Position im Unternehmen genau jene Informationen, die ich brauche, um meinen Arbeitsalltag zu meistern. Egal wo, egal wann. Was nicht benötigt wird, sollte reduziert werden, ein Aspekt, auf den meistens vergessen wird. Der Arbeitsplatz der Zukunft bietet zudem ein selbsterklärendes User Interface, damit ich intuitiv, ohne Schulungen arbeiten kann.

mehr lesen
1 2
Page 1 of 2