Steckbrief: Machine Learning Tools

Machine Learning mit cortical.io: Semantische Inhalte erfassen

Francisco Webber

© 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.

Verwandte Themen:

Geschrieben von
Francisco Webber
Francisco Webber
Francisco Webber ist Erfinder der Semantic-Folding-Theorie und hat das österreichische Startup Cortical.io mitgegründet. Seit jeher ist er leidenschaftlicher Innovator im Bereich Informationstechnologien. Ende der 80er Jahre hat er an Projekten wie die Erstellung der österreichischen Dialysedatenbank und eines Patientendokumentationsystems für die Universitätsklinik Wien gearbeitet. In den 90er Jahre hat er mit Konrad Becker das Wiener Institut für New Culture Technologies und Public Netbase initiiert. Später gründete er Matrixware Information Services, ein Unternehmen das die erste standardisierte Patentdatenbank entwickelte. Er ist auf der Suche nach der ultimativen Search Engine.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: