Was ist NLP in Python?

Die künstliche Intelligenz hat sich im letzten Jahrzehnt enorm weiterentwickelt, und dies gilt auch für eines ihrer Teilgebiete - die Verarbeitung natürlicher Sprache. Der Fortschritt in der KI ist das Ergebnis der enormen Rechenkapazität moderner Systeme und der großen Menge unstrukturierter Daten, die aus einer Vielzahl von Quellen generiert werden. Natural Language Processing oder NLP ist die Untersuchung der KI, die es Computern ermöglicht, unstrukturierte Textdaten zu verarbeiten und daraus verborgene Erkenntnisse zu gewinnen.

Definition

Im Gegensatz zum Menschen sind Computer nicht intelligent genug, um unstrukturierte Daten zu verarbeiten. Menschen könnten aus solchen Daten Bedeutungen ableiten, während Computer dies nur mit den strukturierten Daten tun könnten, die in den Datenbanken gespeichert sind. Um Muster zu finden und aus natürlichen Daten eine Bedeutung abzuleiten, verwenden Computer die in NLP enthaltenen Tools und Techniken, um solche Daten zu verarbeiten.

Wie funktioniert NLP in Python?

Es ist sehr komplex, Englisch zu lesen und zu verstehen. Der folgende Satz ist ein solches Beispiel, bei dem es für den Computer wirklich schwierig ist, den eigentlichen Gedanken hinter dem Satz zu verstehen.

Beim maschinellen Lernen wird für jedes Problem eine Pipeline erstellt, bei der jedes Problem einzeln mit ML gelöst wird. Das Endergebnis wäre die Kombination mehrerer miteinander verketteter Modelle des maschinellen Lernens. Die Verarbeitung natürlicher Sprache funktioniert ähnlich wie bei der Aufteilung des englischen Satzes in Blöcke.

Dieser Absatz enthält mehrere Fakten. Es wäre einfach gewesen, wenn Computer selbst verstehen könnten, was London ist, aber dazu müssen die Computer mit Grundkonzepten für geschriebene Sprachen geschult werden.

1. Satzsegmentierung - Der Korpus ist wie folgt in mehrere Sätze unterteilt.

Dies würde unser Leben leichter machen, da es besser ist, einen einzelnen Satz als einen ganzen Absatz zu verarbeiten. Die Aufteilung könnte auf der Grundlage von Interpunktionen oder mehreren anderen komplizierten Techniken erfolgen, die auch auf ungereinigten Daten arbeiten.

2. Wort-Tokenisierung - Ein Satz kann wie unten gezeigt in weitere Wort- Token unterteilt werden.

Nach der Tokenisierung wird der obige Satz aufgeteilt in -

3. Teile der Sprachvorhersage - In diesem Prozess werden die Teile der Sprache für jedes Token generiert. Dies würde es uns ermöglichen, die Bedeutung des Satzes und das Thema, über das im Satz gesprochen wird, zu verstehen.

4. Lemmatisierung - Ein Wort in einem Satz kann unterschiedliche Formen haben. Durch die Lemmatisierung wird ein Wort bis zu seiner Wurzel zurückverfolgt, dh bis zum Lemma jedes Wortes.

5. Stoppen der Wortidentifikation - In einem Satz gibt es viele Füllwörter wie 'the', 'a'. Diese Wörter wirken wie Rauschen in einem Text, dessen Bedeutung wir zu extrahieren versuchen. Daher müssen diese Stoppwörter herausgefiltert werden, um ein besseres Modell zu erstellen.

Je nach Anwendung können die Stoppwörter variieren. Es gibt jedoch eine vordefinierte Liste von Stop-Works, auf die verwiesen werden könnte.

6. Erkennung benannter Entitäten - NER ist der Prozess, bei dem Entitäten wie Name, Ort, Person, Organisation usw. aus einem Satz gesucht werden.

Hier wird der Kontext des Auftretens eines Wortes in einem Satz verwendet. Um strukturierte Daten aus einem Text zu extrahieren, haben NER-Systeme viele Verwendungsmöglichkeiten.

Beispiel für NLP in Python

Die meisten Unternehmen sind jetzt bereit, unstrukturierte Daten für das Wachstum ihres Geschäfts zu verarbeiten. NLP hat ein breites Anwendungsspektrum, und die häufigste Anwendung ist die Textklassifizierung.

Die automatische Klassifizierung von Text in verschiedene Kategorien wird als Textklassifizierung bezeichnet. Die Erkennung von Spam oder Ham in einer E-Mail, die Kategorisierung von Nachrichtenartikeln sind einige der häufigsten Beispiele für die Klassifizierung von Texten. Die dafür verwendeten Daten sind zu kennzeichnen.

Die wenigen Schritte in einer Textklassifizierungspipeline, die befolgt werden müssen, sind:

  • Das Laden und die Vorverarbeitung der Daten ist der erste Schritt, und dann wird sie in Zug und Validierungssatz aufgeteilt.
  • Der Feature-Engineering-Schritt umfasst das Extrahieren der nützlichen Features oder das Erstellen zusätzlicher aussagekräftiger Features, die bei der Entwicklung eines besseren Vorhersagemodells hilfreich sind.
  • Um das Modell zu erstellen, wird der beschriftete Datensatz zum Trainieren des Modells verwendet.

Pandas, Scikit-Learn, XGBoost, TextBlog und Keras sind nur einige der Bibliotheken, die wir installieren müssen. Dann würden wir die Bibliotheken für die Datensatzvorbereitung, das Feature-Engineering usw. importieren.

Die Daten sind riesig und fast 3, 6 Millionen Bewertungen können von hier heruntergeladen werden. Ein Bruchteil der Daten wird verwendet. Es wird heruntergeladen und in einen Pandas-Datenrahmen eingelesen.

Die Zielvariable wird codiert und die Daten werden in Zug- und Testsätze aufgeteilt.

Das Feature-Engineering wird mit den folgenden verschiedenen Methoden durchgeführt.

1. Zählvektoren - Die Darstellung eines Dokuments, eines Terms und seiner Häufigkeit aus einem Korpus wird durch die Zählvektoren erreicht.

2. TF-IDF-Vektoren - In einem Dokument wird die relative Bedeutung eines Terms durch die Termhäufigkeit (TF) und die Inverse Document Frequency (IDF) dargestellt. Der TF-IDF könnte berechnet werden durch:

Die TF-IDF-Vektoren könnten durch die Wortebene erzeugt werden, die die Bewertung jedes Terms darstellt, und die N-Gramm-Ebene, die die Kombination von n-Terms ist.

3. Worteinbettung - Die Darstellung von Dokumenten und Wörtern in Form eines dichten Vektors wird als Worteinbettung bezeichnet. Es gibt vorgefertigte Einbettungsmethoden wie Glove, Word2Vec, die verwendet oder auch trainiert werden können.

4. Themenmodelle - Es ist die Wortgruppe aus einem Dokument, die die meisten Informationen enthält. Die latente Dirichlet-Zuordnung wird hier für die Themenmodellierung verwendet.

Der Modus wird erstellt, nachdem das Feature-Engineering abgeschlossen und die relevanten Features extrahiert wurden.

5. Naive Bayes - Es basiert auf dem Bayes-Theorem, und der Algorithmus geht davon aus, dass zwischen den Merkmalen in einem Datensatz keine Beziehung besteht.


6. Logistische Regression - Misst die lineare Beziehung zwischen den Merkmalen und die Zielvariable wird basierend auf einer Sigmoidfunktion gemessen, die die Wahrscheinlichkeiten schätzt.


7. Support Vector Machine - Eine Hyperebene trennt zwei Klassen in einer SVM.


8. Random Forest-Modell - Ein Ensemble-Modell, bei dem die Varianz verringert wird und mehrere Entscheidungsbäume zusammengefasst werden.


9. XG Boost - Die Neigung wird verringert und schwache Lernende werden zu starken Lernenden.

Wie würde NLP Ihnen in Ihrer Karriere helfen?

Die Verarbeitung natürlicher Sprache ist ein boomendes Feld auf dem Markt und fast jedes Unternehmen benötigt einen NLP-Ingenieur, der sie bei der Verarbeitung der Rohdaten unterstützt. Daher ist es unerlässlich, die erforderlichen Fähigkeiten zu beherrschen, da es auf dem Markt keinen Mangel an Arbeitsplätzen gibt.

Fazit: NLP in Python

In diesem Artikel haben wir mit einer Einführung in NLP in Python begonnen und dann einen Anwendungsfall in Python implementiert, um zu zeigen, wie mit NLP in Python gearbeitet wird.

Empfohlene Artikel

Dies war eine Anleitung zum NLP in Python. Hier haben wir das Beispiel, Anwendungsfälle und die Arbeit mit NLP in Python besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Gebrauch von Python
  2. Was ist WBS?
  3. Python gegen Scala
  4. Was ist Tableau?

Kategorie: