9 Tools und Bibliotheken für den Einstieg in die Verarbeitung natürlicher Sprache

Veröffentlicht: 2019-11-20

In früheren Beiträgen haben wir besprochen, was NLP ist, welche Schritte zum Ausführen von NLP erforderlich sind und wie NLP zusammenarbeitet.

Jetzt, da Sie ein grundlegendes Verständnis von NLP haben und wissen, wie es Ihnen bei der Skalierung Ihres Content-Marketings helfen kann, können Sie damit beginnen, die Tools und Bibliotheken zu recherchieren, die Sie für den Einstieg benötigen.

Es gibt alle Arten von Tools für alle Arten von NLP-Aufgaben. Einige von ihnen sind Open-Source-Tools, die für die Öffentlichkeit kostenlos sind und durch die Beiträge von Freiwilligen erstellt wurden. Andere sind Premiumprodukte, die von großen Namen in der Computer- und Datenverarbeitung angeboten werden.

Sogar Google ist in das KI-Spiel involviert.

Aber bevor wir in eine Liste der Tools und Bibliotheken eintauchen, gibt es einige Begriffe, die Sie kennen sollten. In diesem Beitrag werde ich auf Python, Java und Node verweisen. Wenn Sie kein Entwickler von Beruf sind, ist es hilfreich zu wissen, was diese sind und womit Ihr Entwicklungsteam im Allgemeinen arbeitet.

Lassen Sie uns sie kurz definieren und dann über die Arten von Tools sprechen, die Ihnen helfen, Ihre NLP-Strategie zum Laufen zu bringen.

Was sind Python, Java und Node?

Python und Java sind beide Open-Source-Programmiersprachen und werden beide zum Erstellen von KI- und NLP-Anwendungen verwendet. Python und Java sind laut GitHub, einem Host für Softwareentwicklung für Open-Source-Projekte, die Programmiersprachen Nummer drei bzw. Nummer zwei.

Node (oder NodeJS) ist ein Framework, mit dem KI- und NLP-Tools in einer anderen Sprache namens JavaScript ausgeführt werden können. Beachten Sie, dass Java und JavaScript nicht dieselbe Sprache sind.

Node ist zum Synonym für JavaScript geworden. Wenn Sie also über NLP-Tools und -Bibliotheken sprechen, die in Node ausgeführt werden, sagen Sie eigentlich, dass sie in JavaScript ausgeführt werden.

Open Source bezieht sich auf Programmiersprachen und Frameworks, die frei zu verwenden und relativ einfach zu manipulieren sind. Ihre Entwickler können Open-Source-NLP-Tools und -Bibliotheken an die Anforderungen Ihrer Marke anpassen.

Seien Sie jedoch gewarnt, dass Open Source nicht immer mit sofort einsatzbereiten Lösungen geliefert wird, was eine Menge Entwicklung und Tests bedeuten kann, bevor etwas funktioniert.

Premium bezieht sich auf das Gegenteil. Dies sind abonnementbasierte Tools und Bibliotheken. Sie bieten im Allgemeinen mehr sofort einsatzbereite Optionen, die Sie in die vorhandene Infrastruktur einbinden können, was hilfreich sein kann, wenn Sie gerade mit der KI-Entwicklung beginnen oder schnell etwas bereitstellen möchten.

Python-Tools und -Bibliotheken für NLP

geräumig

SpaCy bezeichnet sich selbst als „industrielle Verarbeitung natürlicher Sprache“. Es ist eine Textanalysebibliothek, mit der Entwickler eine Vielzahl von NLP-Projekten angehen können. SpaCy unterstützt über 52 Sprachen und ist stolz auf seine Geschwindigkeit und Genauigkeit der Verarbeitung, einschließlich vieler Funktionen, wie z. B. mit vielen Funktionen, einschließlich Named Entity Recognition und PoS-Tagging.

Natural Language Toolkit (NLTK)

NLTK ist eine bekannte Open-Source-NLP-Python-Bibliothek. Es bietet alle Arten von Bibliotheken, die bei der Textverarbeitung und dem Verständnis natürlicher Sprache helfen, einschließlich semantischer Analyse.

Aber das Schöne ist sein Engagement für Barrierefreiheit. Die Köpfe hinter NLTK bieten ausführliche Anleitungen, die die Grundlagen des Programmierens vermitteln, sodass auch Anfänger anfangen können, mit NLP zu spielen.

Laut ihrer Website macht ihre Herangehensweise an die NLP-Programmierung sie zu einem nützlichen Werkzeug für Forscher, Studenten und Lehrer.

Wenn Ihr Team mit der Programmierung im Allgemeinen nicht ganz auf dem Laufenden ist, ist dies möglicherweise ein guter Ausgangspunkt.

TensorFlow

TensorFlow ist eine End-to-End-Plattform für Unternehmen, die sich für maschinelles Lernen und NLP interessieren. Es wurde in Python/C++ geschrieben, ist vollständig Open Source und wird mit einer Vielzahl von Bibliotheken und Tools geliefert, mit denen Entwickler ihre eigenen Apps erstellen können.

Es lässt sich in Frameworks wie Keras und andere High-Level-Modelle integrieren, um neuronale Netze einfach und schnell zu erstellen.

Node Tools und Bibliotheken für NLP

NLP.js

NLP.js kann die Sprache des analysierten Textes erraten – es wurde sogar darauf trainiert, Klingonisch zu erkennen! Dieses Tool eignet sich hervorragend für Anwendungen mit unstrukturierten Daten wie Übersetzungen und Chatbots. Es identifiziert 34 verschiedene Sprachen und enthält einen Natural Language Processing Classifier und einen Natural Language Generation Manager.

Dieses Tool ist vollständig Open Source und stützt sich auf die Beiträge von Programmierern auf der ganzen Welt.

Java-Tools und -Bibliotheken für NLP

Apache OpenNLP

Laut ihrer Website ist Apache OpenNLP ein von Freiwilligen geschriebenes Open-Source-Tool für NLP. Es „unterstützt die gängigsten NLP-Aufgaben wie Tokenisierung, Satzsegmentierung, Tagging von Wortarten, Extraktion benannter Entitäten, Chunking, Parsing, Spracherkennung und Auflösung von Koreferenzen.“

Diese Prozesse ermöglichen es Entwicklern, Apps zu erstellen, die gesprochene oder geschriebene Sprachbestandteile zerlegen und verstehen können.

Die Stanford Natural Language Processing Group

Stanford hat einige seiner Sprachverarbeitungstools, einschließlich ihrer statistischen, regelbasierten und Deep-Learning-NLP-Tools, der Öffentlichkeit zugänglich gemacht. Es gibt eine ganze Liste von Kernbibliotheken und Tools auf ihrer Website, einschließlich Bibliotheken zum Taggen und Analysieren und Tools zum Übersetzen.

Es ist jedoch wichtig zu beachten, dass ihre Produkte zwar Open Source sind, Sie sich jedoch wegen einer kommerziellen Lizenzierung an Stanford wenden müssen, bevor Sie sie in proprietären Tools verwenden.

Andere NLP-Tools

AWS

Amazon Deep Learning AMIs ist ein Premium-Service, der Ihnen die Tools zum Ausführen von NLP zur Verfügung stellt, unabhängig davon, welche Programmiersprache Sie verwenden. Es funktioniert auch mit mehreren bestehenden Deep-Learning-Frameworks, die wir erwähnt haben, darunter Keras und TensorFlow.

IBM Watson

Sie haben an dieser Stelle wahrscheinlich schon von Watson gehört. Das ist die KI-Maschine, die Jeopardy! gewonnen hat. Aber Watson bietet auch Tools und Bibliotheken für NLP an. Sie können Pakete für Python, Node oder Java herunterladen, um unter anderem Chatbots zu erstellen, Stimmungsanalysen in sozialen Medien durchzuführen oder Online-Bewertungen zu analysieren.

Natürliche Google Cloud-Sprache

Google Cloud bietet zwei Optionen für die Verarbeitung natürlicher Sprache. Das erste ist AutoML Natural Language, bei dem Entwickler vorhandene Dokumente hochladen, um das Tool zu trainieren, und es dann bereitstellen, um mehrere NLP-Aufgaben auszuführen. Es ist für Entwickler gedacht, die nicht viel Erfahrung mit KI, Deep Learning oder NLP haben.

Google bietet auch seine Natural Language API an, die es erfahreneren Entwicklern ermöglicht, selbst Textanalyse-, Sentimentanalyse- und Übersetzungstools zu erstellen und zu verwenden.

Beide existieren in Googles Cloud.

Zusammenfassung

Für jede Art von NLP-Anforderungen gibt es Tools und Bibliotheken, die Ihnen helfen. Ihre Wahl hängt stark von Ihrem Entwicklerteam ab, also binden Sie sie ein. Sie müssen ihre Vertrautheit mit KI sowie mit den drei Programmiersprachen kennen, über die ich gesprochen habe. Sie müssen auch Ihren Tech-Stack verstehen und wissen, was er unterstützen kann.

Stellen Sie Ihrem Entwicklerteam die richtigen Fragen und machen Sie die Bedürfnisse Ihrer Organisation deutlich. Anschließend können Sie die richtigen Tools und Bibliotheken zur Verarbeitung natürlicher Sprache für das Unternehmen als Ganzes auswählen.