Watson Möchtegern: 4 Open Source-Projekte für Machine Intelligence

Im letzten Jahr hat sich Watson im Rahmen der neuen Enterprise-Services, die IBM im Rahmen seiner Neuerfindung vorangetrieben hat, weniger zu einem "Jeopardy" -gewinnenden Gimmick als vielmehr zu einem Tool entwickelt. Es bleibt auch die proprietäre Kreation von IBM.

Wie stehen die Chancen, ein maschinelles Lernsystem in natürlicher Sprache in der Größenordnung von Watson zu schaffen, wenn auch mit Open-Source-Komponenten? Bis zu einem gewissen Grad ist dies bereits geschehen - zum Teil, weil Watson selbst auf bestehenden Open-Source-Arbeiten aufbaut und andere parallel zu Watson ähnliche Systeme entwickelt haben. Hier sehen Sie vier solcher Projekte.

DARPA DeepDive

Das DeepDive-Projekt von DARPA ist die größte Marke der Gruppe und nicht dazu gedacht, Watsons Abfragesystem im Klartext zu emulieren, sondern Watsons Fähigkeit, seine Entscheidungsfindung im Laufe der Zeit unter menschlicher Anleitung zu verbessern.

Das Projekt wurde hauptsächlich von Christopher Re, Professor an der University of Wisconsin, entwickelt und ist Open Source (Apache 2.0). Laut EE Times besteht das Hauptziel von DeepDive darin, ein automatisiertes System zur Klassifizierung unstrukturierter Daten zu erstellen - in einem Beispiel die Kategorisierung von Artikeln in Fachzeitschriften. Diejenigen, die DeepDive verwenden möchten, sollten mit SQL und Python vertraut sein. Das System ist jedoch bereits in der Lage, Daten aus einer Vielzahl herkömmlicher Quellen wie Webseiten oder PDF-Dokumenten zu extrahieren.

Apache UIMA

Unstrukturiertes Informationsmanagement (UIMA) ist ein Standard für die Analyse von Textinhalten. Watson hat eine Implementierung von UIMA verwendet, aber Sie müssen Watson nicht durchlaufen, um UIMA zu verwenden. Tatsächlich war die UIMA-Architektur von IBM Open-Source und wird von der Apache Foundation verwaltet. Es bietet Unterstützung für mehrere Programmiersprachen, wobei Updates regelmäßig hinzugefügt werden (zuletzt im Oktober 2014).

Apache UIMA ist in seiner jetzigen Form noch lange keine vollständige Lösung für maschinelles Lernen. Es ist nur ein - wenn auch wichtiger - Teil des Ganzen, das IBM geschaffen hat. Wenn Sie die Bare Bones nicht verwenden möchten, können Sie eines der abgeleiteten Projekte wie YodaQA abrufen, das UIMA für seine Verarbeitung nutzt und Wikipedia als primäre Datenquelle verwendet.

OpenCog

OpenCog "soll Wissenschaftlern und Softwareentwicklern eine gemeinsame Plattform zum Erstellen und Teilen von Programmen für künstliche Intelligenz bieten." Das Projekt, das unter der GNU Affero-Lizenz als Open-Source-Lösung angeboten wird, hat zum Ziel, nichts weniger als das zu fördern, was seine Entwickler als "allgemein intelligente" Systeme bezeichnen, künstliche Intelligenz, die ein breites, menschliches Verständnis der Welt hat, anstatt domänenzentrierte Spezialitäten (wie z. B. sehr) gut im Schach, aber sonst nichts).

Die Entwickler von OpenCog behaupten, dass ihr Framework bereits in "Anwendungen in natürlicher Sprache, sowohl für Forschungszwecke als auch für kommerzielle Unternehmen" verwendet wird. Damit ist es ein wenig weiter von den KI-Konzepten entfernt und näher an der praktischen Frage- und Antwortdomäne, in der Watson lebt.

OAQA (Open Advancement of Question Answering Systems)

Wie der Name vielleicht andeutet, besteht die Mission von OAQA darin, "die Entwicklung von Fragenbeantwortungssystemen offen voranzutreiben - Sprachsoftwaresysteme, die direkte Antworten auf Fragen in natürlicher Sprache liefern". Klingt nach einem von Watsons Zielen? Ja, zumal die OAQA gemeinsam von IBM und der Carnegie Mellon University initiiert wurde. Wie Apache UIMA implementiert OAQA das UIMA-Framework, betrachtet es jedoch nicht als gebrauchsfertige Lösung. Es ist ein Toolkit.

Der einzige große Nachteil jedes Projekts ist, wie Sie sich vorstellen können, dass sie nicht in einem annähernd so raffinierten oder polierten Paket wie Watson angeboten werden. Während Watson für den sofortigen Einsatz im Geschäftsumfeld konzipiert ist, handelt es sich hierbei um Roh-Toolkits, die schweres Heben erfordern.

Darüber hinaus wurden die Dienste von Watson bereits mit einer kuratierten Sammlung realer Daten vorab geschult. Bei diesen Systemen müssen Sie die Datenquellen bereitstellen, was sich als weitaus größeres Projekt als die Programmierung selbst herausstellen kann.