Machine Learning mit cortical.io: Semantische Inhalte erfassen

© Shutterstock / Daboost (modifiziert)
Im Rahmen unseres Themen-Dossiers zum Maschinellen Lernen stellen wir interessante Projekte und Beispiele für Machine Learning vor. Heute: Machine Learning mit cortical.io.
Was ist Projekt cortical.io?
Cortical.io wurde Ende 2011 in Wien gegründet, mit dem Ziel, Computern zu ermöglichen, die Bedeutung von Texten, also die Semantik, zu erfassen. Unsere theoretische Grundlage, Semantic Folding, fußt auf neuesten Erkenntnissen aus den Neurowissenschaften. Wir verwenden eine neue Repräsentation zum Darstellen der Daten, den semantischen Fingerprint, in dem beliebiger Text mit all seinen Bedeutungen und Kontexten kodiert ist. Das System versteht den Zusammenhang von zwei Textelementen, indem es direkt die Überlappung der beiden semantischen Fingerprints misst. Im Gegensatz zu anderen Modellen kommt Semantic Folding fast gänzlich ohne die Verwendung von Statistik aus und benötigt nur Bruchteile der Trainingsdaten von herkömmlichen Systemen, um völlig selbständig – unsupervised – zu lernen.
2013 wurde das erste Produkt-Release, die Retina Engine, als REST API eingeführt: Mit einfachen API Calls wird der semantische Inhalt von Texten verarbeitet, Textdateien werden sinngemäß durchsucht, gefiltert und klassifiziert. 2016 haben wir eine Spark-Version auf den Markt gebracht, die problemlos Terabytes an unstrukturierten Textdateien mit relativ geringer Computing Power verarbeiten kann.
Wie ist cortical.io aufgebaut?
Die Retina API bietet einen einfachen Zugang zu unserer Technologie und ist kostenlos bei angemessenem Verbrauch. Es gibt Client-Libraries für Java, JavaScript und Python. Mit dem Retina API kann jeder Entwickler, auch wenn er oder sie über keine Vorkenntnisse in NLP (Natural Language Processing) verfügt, intelligente Operationen mit Text in seiner Anwendung einbauen. Intelligent heißt, dass Ergebnisse nicht von Stichwörtern abhängig sind, sondern auf dem semantischen Inhalt beruhen. Mit dem Retina API ist es zum Beispiel sehr einfach, wichtige Stichwörter aus einem Textdokument zu extrahieren, oder ein Dokument in seine natürlichen (Bedeutungs-) Abschnitte zu zerlegen. Weiter ist es möglich, einen semantischen Textklassifizierer mit nur einer Handvoll (5-10) positiven und/oder negativen Beispielen zu definieren. Und natürlich kann man die semantische Ähnlichkeit von beliebigen Wörtern oder Texten miteinander vergleichen.
Die konkreten Business-Anwendungen der Retina Engine sind sehr breit gefächert, überall wo es gilt, aus unstrukturierten Textdateien einen Sinn zu erkennen: Sie kann für Social Media Monitoring, Compliance Monitoring, Information Discovery oder Enterprise Search eingesetzt werden und übertrifft herkömmliche Ansätze in Praktikabilität und vor allem Effizienz.
Ein kurzes Beispiel
// laden der Retinas, die den Semantic Space beschreiben, von Amazon S3 Bucket val loader = new S3RetinaLoader(AwsAccessKey, AwsSecretKey, S3Endpoint, RetinasS3BucketName) // wir verwenden eine deutsche und eine englische Retina die topologisch kompatibel sind implicit val en = getCorticalEngine(loader, "eu_market_english") val de = getCorticalEngine(loader, "eu_market_german") // Berechnung der Semantic Fingerprints von scheinbar ähnlichen // englischen und deutschen Worten val shares = getFingerprint("shares")(en) val aktien = getFingerprint("Aktien")(de) // Messung der semantischen Ähnlichkeit der beiden Worte val simil = compare(shares, aktien) // 0.44 im Intervall [0,1] // Hinweis: "shares" hat auch andere Bedeutungen als "Aktien" // Ermittlung der semantisch verwandten Begriffe (nicht nur Synonyme) val related = getSimilarTerms(shares, 10) // output: convertible, securities, own, capital instruments, ... // Extraktion der semantisch signifikanten Worte eines Texts val kws = extractKeywords( """ |Where appropriate, rules applicable to financial counterparties, |should also apply to non-financial counterparties.""".stripMargin, 2) // output: rules, applicable
Ausblick: Wie soll es weiter gehen mit cortical.io?
Wir sind letztes Jahr eine Kooperation mit dem US Unternehmen Numenta eingegangen, ein auf künstlicher Intelligenz fokussiertes Forschungsunternehmen von Palm-Pilot-Erfinder Jeff Hawkins. Numenta vertritt eine biologisch-inspirierte Sicht von AI (Artificial Intelligence). Ihre Hierarchical-Temporal-Memory (HTM)-Theorie ermöglicht Systemen aus einem kontinuierlichen Fluss von Daten in Echtzeit zu lernen und entsprechende Voraussagen über künftige Daten zu machen. Unser nächster Schritt wird darin bestehen, die prädiktive Stärke von HTMs mit der Textanalysefähigkeit unserer Retina Engine zu kombinieren, um intelligente Lösungen im Bereich Sentiment Analysis und Konversations-/Dialog-Systeme zu entwickeln.
Steckbrief
Name | Cortical.io |
Art | Datenverarbeitung |
Sprachen | Java, JavaScript und Python |
Home | http://www.cortical.io/ |
Kontakt | http://www.cortical.io/contact.html |
Faszination Machine Learning – das Interview
Was fasziniert Sie am Bereich KI/Machine Learning/Deep Learning?
Faszinierend ist für mich jeden Tag aufs neue festzustellen, wie elaboriert die Maschine Gehirn ist. Trotz aller intellektuellen und finanziellen Anstrengungen sind wir noch weit davon entfernt, die Intelligenz eines Gehirns reproduzieren zu können.
Sollten wir uns fürchten, dass Maschinen bald die Macht übernehmen werden?
Macht ist ein Begriff, der im Kontext von Maschinen keinen Sinn hat. Macht hat nur für Menschen Bedeutung. Ich denke, dass hinter jeder AI, sei sie auch noch so weit entwickelt, ein Mensch stehen wird oder zumindest seine Interessen. Und, Menschen können bekanntlich sehr gefährlich sein.
Welche 3 Blogs/Bücher/Artikel/Filme empfehlen Sie jedem, der sich mit Machine Learning beschäftigen möchte?
Das Buch On Intelligence von Jeff Hawkins ist eine Pflichtlektüre für jeden, der verstehen will, wie unser Gehirn funktioniert. Es hat mich zur Semantic-Folding-Theorie inspiriert. Die MIT Technologie Review ist eine Quelle für gut recherchierte Artikel über maschinelles Lernen und Künstliche Intelligenz. Und: Andrew Ng’s Self-Taught Learning and Unsupervised Feature lecture
JAXenter: Beende die folgenden Sätze
In 50 Jahren wird Maschinelles Lernen … zum Alltag gehören
Wenn Maschinen intelligenter werden als Menschen, dann … werden sie die biologischen Gehirne massiv erweitern.
Im Vergleich zu einem Menschen wird eine Maschine sich niemals … unvorhersehbar verhalten
Ohne das Maschinelle Lernen wird die Menschheit niemals in der Lage sein … sich technologisch weiterzuentwickeln.
Hinterlasse einen Kommentar