Cognitive Services - einfach AI integrieren

Sie möchten ihre App oder Service mit Artificial Intelligence (AI) ausstatten: Ob Sprachverständnis bei einem Chatbot, automatische Bilderkennung oder Textverständnis; all diese Technologien basieren auf Machine Learning. Bei Machine Learning ergibt sich das Resultat aus einer Menge von Daten und ihren Korrelationen. Ein Bilderkennungsprogramm erkennt ein Objekt, weil es «gelernt» hat, diese Objekte zu erkennen. Es wurde mit sehr vielen Daten trainiert. Ein ausgeklügelter Algorithmus dahinter führt schlussendlich zu dem gewünschten Effekt: Objekt korrekt erkannt!

 

Was aber, wenn Sie keine so grosse Menge an Daten für ein solches Training haben? Oder es fehlt an Wissen und Zeit, den Algorithmus zu entwickeln und zu trainieren? Viele Cloud-Provider bieten «AI as a Service» an. Wir stellen Ihnen einen davon vor: Microsoft und ihre Cognitive Services.

 

Die Cognitive Services von Microsoft sind Teil der Azure AI Plattform und sind für jene Entwickler gedacht, die Machine Learning Technologien in ihre Applikationen einbinden möchten, ohne selbst Modelle erstellen und trainieren zu müssen. Somit können Bilderkennung, Textverständnis, Chatbots, usw. vortrainiert und ohne technische Kenntnisse von Machine Learning verwendet werden. Die Cognitive Services werden als ein Katalog von APIs via Azure zur Verfügung gestellt. Als klassische Rest API sind sie technologie-neutral und können somit in jegliche Form von Applikationen implementiert werden. Wir schauen uns im Nachfolgenden drei Bereiche an.

Bilderkennung

Erkennen Sie den Otter? Natürlich. Aber kann ein Programm dieses willkürliche Wikipedia-Bild ebenfalls korrekt interpretieren? 

image recotnition

Mit einer Wahrscheinlichkeit von 75% erkennt der Service von Microsoft, dass das Objekt ein Otter ist. Dass es sich um ein Tier handelt, da ist sich die Maschine sogar mit über 85% sicher. Objektiv betrachtet sind das recht hohe Werte. Wie «gut» es tatsächlich ist, hängt natürlich immer davon ab, was mit der Information gemacht werden soll. Soll die Funktion als «Katalogisierung» dienen, um eine Ordnung in ein Fotochaos zu bringen? Dann reichen 75% Sicherheit wahrscheinlich aus. Wenn aufgrund einer maschinellen Interpretation jedoch kritische Aktionen ausgelöst werden, die jemandem Schaden können, dann ist eine Wahrscheinlichkeit von 75% wahrscheinlich zu wenig. Dass eine solche Automatisierung bei einem Otterbild stattfindet, kann jedoch bezweifelt werden. Apropos Otter: Besuchen Sie doch mal unser Patentier im Zoo Zürich.

 

Die Bilderkennung ist Teil der «Vision» Cognitive Services und beinhalten des weiteren Erkennung von Handschrift oder Formularen, Erkennung von Audio und Video-Material, sowie Gesichtserkennung (wobei letzteres aus aktuellem Anlass umstritten ist).

Sprache verstehen

Chatbots begegnen uns immer häufiger. Viele dieser Chatbots reagieren auf natürliche Spracheingabe. Es wird also nicht einfach eine Auswahl mit Antworten zur Verfügung gestellt, sondern der Bot interpretiert den Text, den wir eingeben. Der Language Understanding Service (LUIS) von Microsoft macht genau diesen Job: Das Erkennen von Absichten. Wenn jemand bei einem Support Desk den Text «Mein Drucker funktioniert nicht» eingibt, dann ist es die Aufgabe des Service zu erkennen, dass der Kunde ein Problem mit dem Drucker hat und Hilfe benötigt. Es muss dann auch möglich sein, die Anfrage anders zu stellen:

  • Mein Drucker geht nicht
  • Können Sie mir helfen, mein Drucker ist kaputt?
  • Problem mit dem HP1234

Die korrekte Interpretation der Anfrage erlaubt es dem Bot, weiterführende Aktionen einzuleiten oder nach mehr Details zu fragen. LUIS ist also nur ein Teil des Chatbots, aber das Kernstück, wenn es um Machine Learning geht. Auch hier ist es entscheidend, wie die Maschine trainiert wird: Je genauer modelliert und je mehr Trainingsdaten vorhanden sind, desto besser das Resultat. Im Gegensatz zu anderen Cognitive Services muss LUIS mit eigenen Daten trainiert werden, da die Anwendung genau auf den Kontext des Benutzers zugeschnitten ist. Dafür wird aber kein Machine Learning Wissen vorausgesetzt. Das Training findet auf einer Website statt, welche durch das Training führt.

 

LUIS muss nicht zwingend in ein Chatbot integriert werden. Auch die Anbindung an IoT-Komponenten oder Apps können von den Sprachinterpretationen von LUIS profitieren.

Text analysieren

Ein Text automatisch zu analysieren kann in mancher Hinsicht hilfreich sein. Bei dem Service der Text Analyse geht es darum, den Inhalt so zu verstehen, dass daraus folgende Informationen entnommen werden können:

  • Sprache des Texts
  • Keywords
  • Stimmung: Positiv, Neutral, Negativ
text analyze

Dieser Service kann, wie auch schon der Bilderkennungs-Service, ohne eigenes Training verwendet werden und funktioniert in mehreren Sprachen. Die wichtigsten Wörter oder Wortpaare werden als Schlüsselbegriffe (Keywords) herausgelesen. Eine Sentiment Analyse zeigt zudem auf, welche Stimmung tendenziell zuzuordnen ist: Negativ oder positiv behaftete Wörter und Wortfolgen werden entsprechen bewertet. So kann z.B. eine Analyse von Kundenrückmeldungen so automatisiert werden, dass diese in positives und negatives Feedback eingeordnet werden, um so die Grundstimmung bei Kunden abzuholen.

 

Weitere Beispiele, was mittels Text Analyse gemacht werden kann, finden Sie hier: Blog - 5 Anwendungsfälle für Text Analytics.

 

Die Beispiele oben sind nur drei von vielen weiteren Services. Es lohnt sich also die Cognitive Services genauer zu betrachten, wenn man künstliche Intelligenz in eigenen Applikationen und Services einbauen möchte. Weitere Informationen dazu von Microsoft: Cognitive Services - APIs für KI-Entwickler