


Erste Schritte mit natürlicher Sprachverarbeitung in Python
Feb 10, 2025 am 10:51 AM
In der heutigen Welt wird eine gro?e Menge an Daten unstrukturiert, z. B. Textdaten wie Social -Media -Kommentare, Browserhistorie und Kundenfeedback. Angesichts massiver Textdaten wei? ich nicht, wo ich mit der Analyse beginnen soll? Die NLP -Technologie (natürliche Sprachverarbeitung) von Python kann Ihnen helfen!
Dieses Tutorial ist so konzipiert, dass Sie die Kernkonzepte von NLP verwenden und Textdaten in Python analysieren. Wir werden lernen, wie man Text in kleinere Einheiten (Word -Metamorphose) aufschlie?t, W?rter in eine Stammform (Stammextraktion und morphologische Wiederherstellung) normalisiert und wie Dokumente zur Vorbereitung auf weitere Analyse bereinigt werden.
Beginnen wir!
Kernpunkte
- Pythons natürliche Sprachverarbeitung (NLP) beinhaltet das Aufbrechen von Text in Wortelemente, die Normalisierung von W?rtern in STEM -Formen und die Reinigung von Dokumenten zur weiteren Analyse. Wir werden die NLTK -Bibliothek von Python verwenden, um diese Operationen auszuführen.
- Die beiden Techniken zum Umwandeln von W?rtern in Stammform sind die Stammextraktion und die restaurierte Form. Die STEM -Extraktion ist ein einfacher Algorithmus, der Wort -Affixe entfernt.
- Datenreinigung in NLP beinhaltet das Entfernen von Interpunktion und Stoppw?rter (wie gemeinsame W?rter wie ?I“, ?A“ und ?The“), da diese W?rter bei der Analyse von Text wenig Bedeutung haben.
- Nach dem Reinigen des Textes k?nnen Sie die
FreqDist
-Klasse von NLTK verwenden, um eine Wortfrequenz zu finden. Dies ist sehr nützlich, um gemeinsame Begriffe im Text zu finden.
Vorsichtsma?nahmen
Dieses Tutorial verwendet die NLTK -Bibliothek von Python, um alle NLP -Operationen im Text auszuführen. Beim Schreiben dieses Tutorials verwendeten wir NLTK Version 3.4. Sie k?nnen die Bibliothek mit dem PIP -Befehl am Terminal installieren:
pip install nltk==3.4
Um die im System installierte NLTK -Version zu überprüfen, k?nnen Sie die Bibliothek in den Python -Interpreter importieren und die Version überprüfen:
import nltk print(nltk.__version__)
In diesem Tutorial müssen Sie m?glicherweise bestimmte Ressourcen herunterladen, um bestimmte Operationen in NLTK auszuführen. Wir werden jede Ressource bei Bedarf beschreiben.
Wenn Sie jedoch vermeiden m?chten, Ressourcen einzeln in der sp?teren Phase des Tutorials herunterzuladen, k?nnen Sie jetzt alle Ressourcen gleichzeitig herunterladen:
python -m nltk.downloader all
Schritt 1: Wortmetamorphose
Computersysteme k?nnen die natürliche Sprache nicht selbst verstehen. Der erste Schritt im Umgang mit natürlicher Sprache besteht darin, den Originaltext in Wortelemente umzuwandeln. Ein Wortelement ist eine Kombination von kontinuierlichen Zeichen mit einer Bedeutung. Es liegt an Ihnen, S?tze in lexikalische Elemente zu zerlegen. Zum Beispiel besteht ein einfacher Weg darin, den Satz durch Spazierg?nge zu teilen, um ihn in ein einzelnes Wort zu zerlegen.
In der NLTK -Bibliothek k?nnen Sie die Funktion word_tokenize()
verwenden, um Zeichenfolgen in lexikalische Elemente umzuwandeln. Sie müssen jedoch zuerst die Punkt -Ressource herunterladen. Führen Sie den folgenden Befehl im Terminal aus:
nltk.download('punkt')
Als n?chstes müssen Sie nltk.tokenize
aus word_tokenize
importieren, um es zu verwenden:
from nltk.tokenize import word_tokenize print(word_tokenize("Hi, this is a nice hotel."))Die Ausgabe des
Code ist wie folgt:
pip install nltk==3.4
Sie werden feststellen, dass word_tokenize
nicht nur Strings basierend auf R?umen aufteilt, sondern auch die Interpunktionsmarkierungen in Wortelemente unterteilt. Die Durchführung oder Entfernen von Interpunktionsmarken h?ngt von Ihren analytischen Bedürfnissen ab.
Schritt 2: Konvertieren Sie das Wort in STEM -Form
Beim Umgang mit natürlicher Sprache stellen Sie h?ufig fest, dass es verschiedene grammatikalische Formen desselben Wortes gibt. Zum Beispiel sind "Go", "Going" und "Gone" alle unterschiedliche Formen desselben Verbs "Go".
W?hrend Ihr Projekt m?glicherweise verschiedene grammatikalische Formen von W?rtern bewahren muss, lassen Sie uns einen Weg diskutieren, verschiedene grammatikalische Formen desselben Wortes in seine Stammform umzuwandeln. Es gibt zwei Techniken, mit denen Sie ein Wort in seine STEM -Form umwandeln k?nnen.
Die erste Technik ist die Extraktion. Die Stammextraktion ist ein einfacher Algorithmus, der Wort -Affixe entfernt. In NLTK gibt es eine Vielzahl von Stammextraktionsalgorithmen. In diesem Tutorial verwenden wir den Porter -Algorithmus.
importieren wir zuerst nltk.stem.porter
aus PorterStemmer
. Als n?chstes initialisieren wir den Stammextraktor in die stemmer
-Variable und verwenden dann die .stem()
-Methode, um die Stammform des Wortes zu finden:
import nltk print(nltk.__version__)
Die Ausgabe des obigen Codes ist Go. Wenn Sie den oben beschriebenen Stammextraktor für andere Formen von "Go" durchführen, werden Sie feststellen, dass der Stammextraktor die gleiche Stammform "Go" zurückgibt. Da die Stammextraktion jedoch nur ein einfacher Algorithmus ist, der auf dem Entfernen von Wortantr?gen basiert, schl?gt sie fehl, wenn W?rter in der Sprache weniger h?ufig verwendet werden.
Wenn Sie beispielsweise versuchen, einen Stammextraktor für das Wort "konstituten" zu verwenden, gibt es unintuitive Ergebnisse:
python -m nltk.downloader all
Sie werden feststellen, dass die Ausgabe "Constitut" ist.
Dieses Problem kann gel?st werden, indem ein komplexerer Ansatz verfolgt wird, der die STEM -Form eines Wortes in einem bestimmten Kontext nachgibt. Dieser Prozess wird als Reduzierung der Wortform bezeichnet. Die Wiederherstellung der Wortform normalisiert die W?rter basierend auf dem Kontext und dem Wortschatz des Textes. In NLTK k?nnen Sie die WordNetLemmatizer
-Klasse verwenden, um die morphologische Wiederherstellung von S?tzen durchzuführen.
Erstens müssen Sie WordNet -Ressourcen aus dem NLTK -Downloader im Python -Terminal herunterladen:
nltk.download('punkt')
Nach Abschluss des Downloads müssen Sie die WordNetLemmatizer
-Klasse importieren und initialisieren:
from nltk.tokenize import word_tokenize print(word_tokenize("Hi, this is a nice hotel."))
Um den Morphologie -Restaurator zu verwenden, verwenden Sie die Methode .lemmatize()
. Es akzeptiert zwei Parameter: Wort und Kontext. In unserem Beispiel werden wir "V" als Kontext verwenden. Nachdem wir die Ausgabe der .lemmatize()
-Methode anzeigen, werden wir den Kontext weiter untersuchen:
<code>['Hi', ',', 'this', 'is', 'a', 'nice', 'hotel', '.']</code>
Sie werden feststellen, dass die .lemmatize()
-Methode das Wort "Konstitute" in seine STEM -Form "Konstitut" korrekt umwandelt. Sie werden auch feststellen, dass die Wiederherstellung der Wortform l?nger dauert als die Stammextraktion, da der Algorithmus komplexer ist.
überprüfen Sie, wie Sie den zweiten Parameter der .lemmatize()
-Methode programmatisch bestimmen. NLTK hat eine pos_tag()
-Funktion, die den Kontext von W?rtern in einem Satz ermittelt. Sie müssen jedoch zun?chst averaged_perceptron_tagger
Ressource herunterladen:
pip install nltk==3.4
Importieren Sie als n?chstes die Funktion pos_tag()
und führen Sie sie im Satz aus:
import nltk print(nltk.__version__)
Sie werden feststellen, dass die Ausgabe eine Paarliste ist. Jedes Paar enth?lt ein Wortelement und sein Tag, das den Kontext des Wortelements im gesamten Text darstellt. Bitte beachten Sie, dass das Etikett der Zeichensetzung selbst selbst:
istpython -m nltk.downloader all
Wie dekodieren Sie den Kontext jedes Wortes? Unten finden Sie eine vollst?ndige Liste aller Tags im Web und deren entsprechende Bedeutungen. Bitte beachten Sie, dass alle Substantive Etiketten haben, die mit "N" beginnen und alle Verben mit "V" Etiketten haben. Wir k?nnen diese Informationen im zweiten Parameter der .lemmatize()
-Methode verwenden:
nltk.download('punkt')
Die Ausgabe des obigen Codes lautet wie folgt:
from nltk.tokenize import word_tokenize print(word_tokenize("Hi, this is a nice hotel."))
Diese Ausgabe ist erwartungsgem?? und "Konstitute" und "Magistrates" werden in "Konstitut" bzw. "Magistrat" ??umgewandelt.
Schritt 3: Datenreinigung
Der n?chste Schritt bei der Vorbereitung der Daten besteht darin, die Daten zu bereinigen und alles zu entfernen, was Ihrer Analyse keine Bedeutung hinzufügt. Insgesamt werden wir uns untersuchen, wie Interpunktion und Stoppw?rter aus der Analyse entfernt werden k?nnen.
Interpunktionsmarken entfernen ist eine ziemlich einfache Aufgabe. string
Das Objekt der Bibliothek enth?lt alle Interpunktionsmarken in Englisch: punctuation
<code>['Hi', ',', 'this', 'is', 'a', 'nice', 'hotel', '.']</code>Die Ausgabe dieses Code -Snippets lautet wie folgt:
from nltk.stem.porter import PorterStemmer stemmer = PorterStemmer() print(stemmer.stem("going"))Um Interpunktionsmarken aus Word -Elementen zu entfernen, k?nnen Sie einfach den folgenden Code ausführen:
print(stemmer.stem("constitutes"))Als n?chstes werden wir uns darauf konzentrieren, wie Sie Stoppw?rter entfernen k?nnen. Stoppw?rter werden üblicherweise verwendete W?rter in der Sprache, wie z. B. "I", "A" und "The", und bei der Analyse von Text bieten diese W?rter wenig Bedeutung. Daher werden wir die Stoppw?rter aus der Analyse entfernen. Download Stopwords -Ressourcen vom NLTK -Downloader:
nltk.download('wordnet')nach dem Download ist abgeschlossen, importieren Sie
aus nltk.corpus
und verwenden Sie die stopwords
-Methode mit "Englisch" als Parameter. Hier ist eine Liste von 179 Stoppw?rtern in Englisch: words()
from nltk.stem.wordnet import WordNetLemmatizer lem = WordNetLemmatizer()Wir k?nnen das Beispiel für Wortform -Wiederherstellen mit den in diesem Abschnitt diskutierten Konzepten kombinieren, um die folgende Funktion
zu erstellen. Darüber hinaus werden wir das Wort in Kleinbuchstaben konvertieren, bevor wir vergleichen, ob es Teil der Stop -Word -Liste ist. Auf diese Weise k?nnen wir es immer noch erfassen, wenn das Stoppwort zu Beginn des Satzes erscheint und Kapitalisierung erbringt: clean_data()
print(lem.lemmatize('constitutes', 'v'))Die Ausgabe dieses Beispiels ist wie folgt:
nltk.download('averaged_perceptron_tagger')Wie Sie sehen k?nnen, wurden Interpunktion und Stoppw?rter entfernt.
Wortfrequenzverteilung
Nachdem Sie mit den grundlegenden Reinigungstechniken in NLP vertraut sind, versuchen wir, die H?ufigkeit von W?rtern im Text zu finden. In dieser übung werden wir den Text des M?rchens "Ratte, Vogel und Wurst" verwenden, die für das Gutenberg -Projekt kostenlos verfügbar ist. Wir werden den Text dieses M?rchens in einer String text
speichern.
Zuerst multiplizieren wir die text
und reinigen es dann mit der oben definierten Funktion clean_data
:
pip install nltk==3.4
Um die Frequenzverteilung von W?rtern im Text zu finden, k?nnen Sie die FreqDist
-Klasse von NLTK verwenden. Initialisieren Sie die Klasse mit Wortelementen als Parameter. Verwenden Sie dann die Methode .most_common()
, um gemeinsame Begriffe zu finden. In diesem Fall versuchen wir, die zehn besten Begriffe zu finden:
import nltk print(nltk.__version__)
Folgendes sind die zehn am h?ufigsten gesehenen Begriffe in diesem M?rchen:
python -m nltk.downloader all
Nach den Erwartungen sind die drei h?ufigsten Begriffe die drei Hauptfiguren in M?rchen.
Bei der Analyse von Text ist die H?ufigkeit von W?rtern m?glicherweise nicht wichtig. Im Allgemeinen besteht der n?chste Schritt in NLP darin, Statistiken zu generieren-TF-IDF (Word-Frequenz-Inverse-Dokumentfrequenz)-, die die Bedeutung von W?rtern in einer Reihe von Dokumenten angibt.
Schlussfolgerung
In diesem Tutorial haben wir ein vorl?ufiges Verst?ndnis der Verarbeitung natürlicher Sprache in Python. Wir konvertieren Text in lexikalische Elemente, konvertieren W?rter in ihre STEM -Form und reinigen den Text schlie?lich, um einen Teil zu entfernen, der der Analyse keine Bedeutung hinzufügt.
W?hrend wir uns einfache NLP -Aufgaben in diesem Tutorial angesehen haben, gibt es viele andere Techniken zu erforschen. Zum Beispiel m?chten wir m?glicherweise Themenmodellierung für Textdaten durchführen, um gemeinsame Themen zu finden, über die Text diskutiert wird. Eine komplexere Aufgabe in NLP ist die Implementierung von Stimmungsanalysemodellen, um die Emotionen hinter jedem Text zu bestimmen.
Gibt es Kommentare oder Fragen? Fühlen Sie sich frei, mich auf Twitter zu kontaktieren.
H?ufig gestellte Fragen zur Verarbeitung natürlicher Sprache mit Python (FAQ)
Was ist der Hauptunterschied zwischen natürlicher Sprachverarbeitung (NLP) und natürliches Sprachverst?ndnis (NLU)?
natürliche Sprachverarbeitung (NLP) und natürliches Sprachverst?ndnis (NLU) sind zwei Unterfelder künstlicher Intelligenz, die oft verwirrt sind. NLP ist ein breiteres Konzept, das alle Methoden zur Interaktion mit Computern mit natürlicher Sprache enth?lt. Dies beinhaltet das Verst?ndnis und die Erzeugung menschlicher Sprache. NLU hingegen ist eine Untergruppe von NLP, die sich auf das Verst?ndnis von Aspekten spezialisiert hat. Es beinhaltet die Verwendung von Algorithmen, um die menschliche Sprache auf wertvolle Weise zu verstehen und zu interpretieren.
Wie verbessert man die Genauigkeit von NLP -Modellen in Python?
Verbesserung der Genauigkeit von NLP -Modellen beinhaltet eine Vielzahl von Strategien. Erstens k?nnen Sie mehr Trainingsdaten verwenden. Je mehr Lerndaten Ihr Modell hat, desto besser seine Leistung. Zweitens sollten Sie verschiedene NLP -Techniken verwenden. Wenn Sie beispielsweise eine W?rterbeutel (Bogen) verwenden, m?chten Sie m?glicherweise die WordFrequency-Inverse-Dokumentfrequenz (TF-IDF) oder Word2VEC ausprobieren. Schlie?lich kann die Feinabstimmung der Parameter des Modells auch zu signifikanten Verbesserungen führen.
Was sind die gemeinsamen Anwendungen von NLP in der realen Welt?
nlp hat weite Anwendungen in der realen Welt. Dazu geh?ren Sprachübersetzung, Sentimentanalyse, Chatbots, Sprachassistenten wie Siri und Alexa, Textübersicht und E -Mail -Spam -Erkennung.
Wie funktioniert die Lexikalisierung in NLP?
Wortmetamorphose ist der Prozess des Zersetzung von Text in einzelne W?rter oder Wortelemente. Dies ist ein wichtiger Schritt in NLP, da das Modell den Text verstehen und analysieren kann. In Python k?nnen Sie die word_tokenize
-Funktion der NLTK -Bibliothek verwenden, um Lexikalisierung durchzuführen.
Welche Rolle spielt die STOP -W?rter in NLP?
STOP -W?rter sind allgemeine W?rter, die w?hrend der Vorverarbeitungsphase von NLP h?ufig herausgefiltert werden, da sie nicht viele aussagekr?ftige Informationen enthalten. Beispiele sind "", ",", "," und "usw. Das Entfernen dieser W?rter kann dazu beitragen, die Leistung des NLP -Modells zu verbessern.
Wie gehe ich mit mehreren Sprachen in NLP um?
Die Entsorgung mehrerer Sprachen in NLP kann aufgrund von Unterschieden in Grammatik, Syntax und Wortschatz eine Herausforderung sein. Die NLTK -Bibliothek von Python unterstützt jedoch mehrere Sprachen. Sie k?nnen auch eine Spracherkennungsbibliothek wie langdetect
verwenden, um die Sprache des Textes zu identifizieren und dann zu verarbeiten.
Was sind Stammextraktion und lexikalische Restaurierung in NLP?
Stammextraktion und morphologische Wiederherstellung sind Techniken, mit denen W?rter in ihren Stamm oder ihre Wurzelform vereinfacht werden. Der Hauptunterschied zwischen ihnen besteht darin, dass die Stammextraktion h?ufig nicht existierende W?rter erzeugt, w?hrend das Prinzip der Wortformrestaurierung das Wort auf seine sprachlich korrekte Wurzelform reduziert.
Wie kann ich NLP für die Stimmungsanalyse verwenden?
emotionale Analyse besteht darin, die im Text ausgedrückten Emotionen zu bestimmen. Dies kann mit verschiedenen NLP -Techniken erfolgen. Sie k?nnen beispielsweise die Sentiment -Analyse mit der TextBlob -Bibliothek in Python problemlos durchführen.
Was ist die N-Meta-Syntax in NLP?
n Metagram ist eine kontinuierliche Abfolge von n aufeinanderfolgenden Elementen in einem bestimmten Text oder einer Sprachprobe. Sie werden für NLP verwendet, um das n?chste Element in der Sequenz vorherzusagen. Beispielsweise betrachten Sie in bin?ren Grammatik (n = 2) Wortpaare für Analyse oder Vorhersage.
Wie verwendet ich NLP für die Textklassifizierung?
Textklassifizierung umfasst die Klassifizierung von Text in vordefinierte Kategorien. Dies kann mit einer Vielzahl von NLP -Techniken und maschinellem Lernalgorithmen erfolgen. Beispielsweise k?nnen Sie eine Tasche mit W?rtern oder TF-IDF zur Feature-Extraktion verwenden und diese Funktionen dann in ein maschinelles Lernmodell zur Klassifizierung eingeben.
Das obige ist der detaillierte Inhalt vonErste Schritte mit natürlicher Sprachverarbeitung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Bei der Entwicklung von Lernplattformen, die Udemy ?hneln, liegt der Fokus nicht nur auf der Qualit?t der Inhalte. Ebenso wichtig ist, wie dieser Inhalt geliefert wird. Dies liegt daran, dass moderne Bildungsplattformen auf Medien beruhen, die zug?nglich, schnell und leicht zu verdauen sind.

In einer Welt, in der Online-Vertrauen nicht verhandelbar ist, sind SSL-Zertifikate für jede Website von wesentlicher Bedeutung geworden. Die Marktgr??e der SSL-Zertifizierung wurde im Jahr 2024 mit 5,6 Milliarden USD bewertet und w?chst immer noch stark.

Ein Zahlungsgateway ist ein entscheidender Bestandteil des Zahlungsprozesses, mit dem Unternehmen Zahlungen online akzeptieren k?nnen. Es fungiert als Brücke zwischen dem Kunden und dem H?ndler, über die Zahlung von Zahlungsinformationen und Erleichterung von Transaktionen. Für

Ein neues Modell für künstliche Intelligenz (KI) hat gezeigt, dass die F?higkeit, wichtige Wetterereignisse schneller und mit gr??erer Pr?zision vorherzusagen als einige der am h?ufigsten verwendeten globalen Vorhersagesysteme

In einem weiteren Rückschlag für eine Dom?ne, in der wir glaubten, dass Menschen immer Maschinen übertreffen würden, schlagen Forscher jetzt vor, dass KI Emotionen besser versteht als wir. Die Forscher haben entdeckt, dass künstliche Intelligenz eine demonstriert

Ob es ihm gef?llt oder nicht, künstliche Intelligenz ist Teil des t?glichen Lebens geworden. Viele Ger?te-einschlie?lich elektrischer Rasierer und Zahnbürsten-sind KI-betrieben.

Künstliche Intelligenz (KI) begann als Streben, das menschliche Gehirn zu simulieren. Inzwischen ist es in der Lage, die Rolle des menschlichen Gehirns im t?glichen Leben zu ver?ndern? Die industrielle Revolution hat die Abh?ngigkeit von manueller Arbeit verringert. Als jemand, der den Applikat untersucht

Je pr?zise wir versuchen, KI -Modelle zu funktionieren, desto gr??er werden ihre Kohlenstoffemissionen - mit bestimmten Aufforderungen, die bis zu 50 -mal mehr Kohlendioxid erzeugen als andere, laut einer kürzlich durchgeführten Studie.
