Natural Language Toolkit - Einführung
Was ist Natural Language Processing (NLP)?
Die Kommunikationsmethode, mit deren Hilfe Menschen sprechen, lesen und schreiben können, ist die Sprache. Mit anderen Worten, wir Menschen können in unserer natürlichen Sprache denken, Pläne machen und Entscheidungen treffen. Hier ist die große Frage, ob Menschen im Zeitalter der künstlichen Intelligenz, des maschinellen Lernens und des tiefen Lernens in natürlicher Sprache mit Computern / Maschinen kommunizieren können. Die Entwicklung von NLP-Anwendungen ist für uns eine große Herausforderung, da Computer strukturierte Daten benötigen. Andererseits ist die menschliche Sprache unstrukturiert und häufig mehrdeutig.
Natürliche Sprache ist das Teilgebiet der Informatik, insbesondere der KI, das es Computern / Maschinen ermöglicht, die menschliche Sprache zu verstehen, zu verarbeiten und zu manipulieren. Mit einfachen Worten, NLP ist eine Möglichkeit von Maschinen, menschliche natürliche Sprachen wie Hindi, Englisch, Französisch, Niederländisch usw. zu analysieren, zu verstehen und Bedeutung daraus abzuleiten.
Wie funktioniert es?
Bevor wir uns eingehend mit der Arbeit von NLP befassen, müssen wir verstehen, wie Menschen Sprache verwenden. Jeden Tag verwenden wir Menschen Hunderte oder Tausende von Wörtern und andere Menschen interpretieren sie und antworten entsprechend. Es ist eine einfache Kommunikation für Menschen, nicht wahr? Aber wir wissen, dass Wörter viel tiefer gehen und wir leiten immer einen Kontext aus dem ab, was wir sagen und wie wir sagen. Aus diesem Grund können wir sagen, dass NLP sich nicht auf die Sprachmodulation konzentriert, sondern auf kontextbezogene Muster.
Lassen Sie es uns anhand eines Beispiels verstehen -
Man is to woman as king is to what?
We can interpret it easily and answer as follows:
Man relates to king, so woman can relate to queen.
Hence the answer is Queen.
Woher wissen Menschen, welches Wort was bedeutet? Die Antwort auf diese Frage ist, dass wir durch unsere Erfahrung lernen. Aber wie lernen Maschinen / Computer dasselbe?
Lassen Sie es uns mit den folgenden einfachen Schritten verstehen -
Zunächst müssen wir die Maschinen mit genügend Daten versorgen, damit die Maschinen aus den Erfahrungen lernen können.
Dann erstellt die Maschine Wortvektoren unter Verwendung von Deep-Learning-Algorithmen aus den zuvor eingegebenen Daten sowie aus den umgebenden Daten.
Durch einfache algebraische Operationen an diesen Wortvektoren könnte die Maschine dann die Antworten als Menschen liefern.
Komponenten von NLP
Das folgende Diagramm zeigt die Komponenten der Verarbeitung natürlicher Sprache (NLP) -
Morphologische Verarbeitung
Die morphologische Verarbeitung ist die erste Komponente von NLP. Es umfasst das Aufteilen von Teilen der Spracheingabe in Token-Sätze, die Absätzen, Sätzen und Wörtern entsprechen. Zum Beispiel ein Wort wie“everyday” kann in zwei Unterwort-Token unterteilt werden als “every-day”.
Syntaxanalyse
Die Syntaxanalyse, die zweite Komponente, ist eine der wichtigsten Komponenten von NLP. Die Zwecke dieser Komponente sind wie folgt:
Um zu überprüfen, ob ein Satz gut geformt ist oder nicht.
Um es in eine Struktur aufzuteilen, die die syntaktischen Beziehungen zwischen den verschiedenen Wörtern zeigt.
ZB mögen die Sätze “The school goes to the student” würde vom Syntaxanalysator abgelehnt.
Semantische Analyse
Die semantische Analyse ist die dritte Komponente von NLP, mit der die Aussagekraft des Textes überprüft wird. Es beinhaltet das Zeichnen der genauen Bedeutung, oder wir können die Wörterbuchbedeutung aus dem Text sagen. ZB die Sätze wie "Es ist ein heißes Eis." würde vom semantischen Analysator verworfen werden.
Pragmatische Analyse
Die pragmatische Analyse ist die vierte Komponente von NLP. Es umfasst das Anpassen der tatsächlichen Objekte oder Ereignisse, die in jedem Kontext vorhanden sind, an Objektreferenzen, die durch vorherige Komponenten erhalten wurden, dh durch semantische Analyse. ZB mögen die Sätze“Put the fruits in the basket on the table” kann zwei semantische Interpretationen haben, daher wählt der pragmatische Analysator zwischen diesen beiden Möglichkeiten.
Beispiele für NLP-Anwendungen
NLP, eine aufstrebende Technologie, leitet verschiedene Formen der KI ab, die wir heutzutage gesehen haben. Für die zunehmend kognitiven Anwendungen von heute und morgen wird die Verwendung von NLP zur Schaffung einer nahtlosen und interaktiven Schnittstelle zwischen Mensch und Maschine weiterhin oberste Priorität haben. Im Folgenden sind einige der sehr nützlichen Anwendungen von NLP aufgeführt.
Maschinenübersetzung
Die maschinelle Übersetzung (MT) ist eine der wichtigsten Anwendungen der Verarbeitung natürlicher Sprache. MT ist im Grunde ein Prozess zum Übersetzen einer Ausgangssprache oder eines Textes in eine andere Sprache. Das maschinelle Übersetzungssystem kann entweder zweisprachig oder mehrsprachig sein.
Kampf gegen Spam
Aufgrund der enormen Zunahme unerwünschter E-Mails sind Spamfilter wichtig geworden, da sie die erste Verteidigungslinie gegen dieses Problem darstellen. Durch die Berücksichtigung der falsch-positiven und falsch-negativen Probleme als Hauptprobleme kann die Funktionalität von NLP zur Entwicklung eines Spam-Filtersystems verwendet werden.
N-Gramm-Modellierung, Word Stemming und Bayes'sche Klassifizierung sind einige der vorhandenen NLP-Modelle, die für die Spam-Filterung verwendet werden können.
Informationsabruf & Websuche
Die meisten Suchmaschinen wie Google, Yahoo, Bing, WolframAlpha usw. basieren ihre MT-Technologie (Machine Translation) auf NLP-Deep-Learning-Modellen. Solche Deep-Learning-Modelle ermöglichen es Algorithmen, Text auf einer Webseite zu lesen, seine Bedeutung zu interpretieren und ihn in eine andere Sprache zu übersetzen.
Automatische Textzusammenfassung
Die automatische Textzusammenfassung ist eine Technik, mit der eine kurze, genaue Zusammenfassung längerer Textdokumente erstellt wird. Daher hilft es uns, relevante Informationen in kürzerer Zeit zu erhalten. In diesem digitalen Zeitalter brauchen wir dringend eine automatische Zusammenfassung von Texten, da wir über das Internet eine Informationsflut haben, die nicht aufhören wird. NLP und seine Funktionen spielen eine wichtige Rolle bei der Entwicklung einer automatischen Textzusammenfassung.
Grammatikkorrektur
Rechtschreibkorrektur und Grammatikkorrektur sind eine sehr nützliche Funktion von Textverarbeitungssoftware wie Microsoft Word. Zu diesem Zweck wird häufig die Verarbeitung natürlicher Sprache (NLP) verwendet.
Beantwortung von Fragen
Die Beantwortung von Fragen, eine weitere Hauptanwendung der Verarbeitung natürlicher Sprache (NLP), konzentriert sich auf das Erstellen von Systemen, die die vom Benutzer gestellten Fragen automatisch in ihrer natürlichen Sprache beantworten.
Stimmungsanalyse
Die Stimmungsanalyse ist eine weitere wichtige Anwendung der Verarbeitung natürlicher Sprache (NLP). Wie der Name schon sagt, wird die Stimmungsanalyse verwendet, um -
Identifizieren Sie die Gefühle zwischen mehreren Posts und
Identifizieren Sie das Gefühl, in dem die Emotionen nicht explizit ausgedrückt werden.
Online-E-Commerce-Unternehmen wie Amazon, ebay usw. verwenden Stimmungsanalysen, um die Meinung und Stimmung ihrer Kunden online zu ermitteln. Es wird ihnen helfen zu verstehen, was ihre Kunden über ihre Produkte und Dienstleistungen denken.
Sprachmaschinen
Sprachmaschinen wie Siri, Google Voice und Alexa basieren auf NLP, damit wir in unserer natürlichen Sprache mit ihnen kommunizieren können.
NLP implementieren
Um die oben genannten Anwendungen zu erstellen, benötigen wir spezielle Fähigkeiten mit einem guten Verständnis der Sprache und der Werkzeuge, um die Sprache effizient zu verarbeiten. Um dies zu erreichen, stehen verschiedene Open-Source-Tools zur Verfügung. Einige von ihnen sind Open-Source-Anwendungen, während andere von Organisationen entwickelt werden, um ihre eigenen NLP-Anwendungen zu erstellen. Im Folgenden finden Sie eine Liste einiger NLP-Tools:
Toolkit für natürliche Sprache (NLTK)
Mallet
GATE
Öffnen Sie NLP
UIMA
Genism
Stanford Toolkit
Die meisten dieser Tools sind in Java geschrieben.
Toolkit für natürliche Sprache (NLTK)
Unter den oben genannten NLP-Tools punktet NLTK sehr gut, wenn es um die Benutzerfreundlichkeit und Erklärung des Konzepts geht. Die Lernkurve von Python ist sehr schnell und NLTK ist in Python geschrieben, sodass NLTK auch über ein sehr gutes Lernkit verfügt. NLTK hat die meisten Aufgaben wie Tokenisierung, Stemming, Lemmatisierung, Interpunktion, Zeichenanzahl und Wortanzahl übernommen. Es ist sehr elegant und einfach zu verarbeiten.