Die Technologie entscheidet. Was steckt hinter majaAI
Ich werde oft gefragt, welches Framework hinter majaAI steckt. „Wird majaAI mit TensorFlow oder Pyton programmiert, verwendet Ihr Microsoft Luis“ usw. Die Antwort darauf dürfte viele verwundern.
Wir verwenden nichts dergleichen und das auch aus gutem Grund: All diese Frameworks sind nicht flexibel genug, um unseren Ansprüchen zu genügen. Des Weiteren handelt es sich um Black Boxes, das bedeutet, wir können das Verhalten dieser Frameworks nur beschränkt beeinflussen.
Mal ganz von Datenschutzfragen usw. abgesehen, die schwer einzuschätzen sind, da die meisten Frameworks auf amerikanischen Server laufen, und man nicht ausschließen kann, dass die Daten dann doch in den USA landen.
Um eine bestmögliche Integration in unser openbi-Framework zu realisieren, haben wir uns entschlossen, ein eigenes Künstliches Intelligenz-Framework zu entwickeln. Und das ist die Technologie hinter majaAI: openbi und Maja.
Maja besteht aus einer eigenen NLP- und NLU-Engine. Kern der NLP- und NLU-Engine sind diverse neuronale Netze, die sprachabhängig und selbstlernend sind. Technisch nennt man diese Art der Netze Convolutional Neural Networks (CNN). Trainiert werden die Netze über die Inhalte der Talente und auch aus den Abfragen der Nutzer.
Damit eine NLU Engine auch mächtig und fähig ist, benötigt es recht viele Informationen über die Grammatik. Zu diesem Zweck hat Maja sehr viele Informationen im Bauch (1,3 Mio. Einträge zu Wortmorphologien und Wortformen, 400.000 Synonyme, 300.000 Antonyme, 400.000 Einträge zu Wortzuordnungen (Zuordnungen von Wörtern zu Kategorien), 400.000 Einträge zu Sentimenten (die Bewertung, ob das Wort positiv oder negativ belegt ist). All diese Einträge gibt es pro Sprache.
Zu diesen Grundinformationen kommen diverse generelle Entitäten, die im Framework zur Verfügung stehen. Dazu zählen Orte, Aktien, Währungen, tagesaktuelle Währungskurse, weltweite Geo-Informationen und Systemaktionen wie Wetter oder Aktienkurse.
Aus all diesen Informationen haben wir ein zentrales majaAI-Objekt erschaffen: das Wort. An einem Wort kommen alle zentralen Informationen zusammen. Jetzt schauen wir uns einmal ganz konkret am Beispiel des Wortes „wollen“ an, welche Informationen da zusammenkommen. Wenn Maja in Kontakt mit Wörtern kommt, beginnt sie den Wortstamm abzuleiten. „wollen“ ist bereits der Infinitiv, deshalb beginnt majaAI mit den Ableitungen der Morphologie (Ich will, Du willst usw., und auch die Zeiten, Ich wollte usw.). Danach ermittelt Maja die Synonyme: (mögen, begehren, verlangen usw.), die Antonyme (meiden, umgehen, ablehnen). „wollen“ hat ein eher neutrales bis leicht positives Sentiment (Sentiment bedeutet die Bewertung des Wortes als positiv oder negativ). Über die Laufzeit und das Verknüpfen von Informationen enthält das Wort auch verwandte Entitäten. Im Modell sieht das dann ungefähr so aus:
Dieses Metawort gibt es nur einmal und es wird überall verknüpft. Eine Phrase, eine uninterpretierte Sammlung von Wörtern, verwenden wir zum Abfragen von Maja-Wissen oder zum Trainieren des Netzes. Wenn man Maja z.B. mit dem Satz trainiert: „ich wollte gestern in Heidelberg schwimmen gehen.“, leitet Maja daraus folgendes ab: „1. Person, Vergangenheit, Verb schwimmen, Ort Heidelberg (MajaCity Entität)“. An dieser Stelle spielt das Neuronale Netz noch gar keine große Rolle.
Durch Training bilden wir dann unser Neuronal Network aus, in dem die Wörter aus den Trainingssätzen miteinander verknüpft werden. Mit dem ersten Satz beginnt der Aufbau. Der blaue Kreis ist die Antwort auf die Frage, wie kann ich meine Karte sperren.
Die Frage „wie kann ich meine Karte sperren?“ wird in ihre Einzelteile zerlegt, also in die Einzelwörter, diese werden miteinander verknüpft im Netz.
Schaut man sich die Grafik etwas detaillierter an, z.B. unter Einbeziehung der kompletten Wortinformationen, sieht das schon etwas komplexer aus.
Das ist nur ein kurzer Überblick über die Technologie majaAI, in den nächsten Wochen werden wir noch mehr Informationen über die Technologie veröffentlichen.
Wie alle Produkte von uns, ist majaAI auf allen Ebenen erweiterbar. Man kann eigene Aktionen programmieren, eigene Dialoge, eigene Entitäten modellieren. majaAI kann in eigene Webseiten integriert werden. Aber trotzdem steht majaAI erst am Anfang ihrer Evolution. Aktuell zünden wir Stufe 2: Maja lernt selbständiges Lesen und Wissensextraktion aus Dokumenten. Und wird auch Fragen zu diesen Dokumenten beantworten können.
Ihr könnt also gespannt sein, was da noch kommt.
Sprecht mich ruhig persönlich an, wenn Ihr mehr über die Technologie erfahren wollt.
majaAI ist komplett unser eigenes IP, keine Software Dritter. Und auf all das bin ich unwahrscheinlich stolz. majaAI ist deutsche Ingenieurskunst, stabil, schnell und flexibel.