Kursinhalt
Einführung in NLP
Einführung in NLP
Stoppwörter Entfernen
Verständnis von Stoppwörtern
Im NLP ist das Entfernen von Stoppwörtern ein entscheidender Schritt in der Textvorverarbeitung.
Stoppwörter werden typischerweise nach der Tokenisierung für NLP-Aufgaben wie Sentimentanalyse, Themenmodellierung oder Schlüsselwortextraktion herausgefiltert. Der Grund für das Entfernen von Stoppwörtern ist, die Datensatzgröße zu verringern, um dadurch die Rechenleistung zu verbessern, und die Relevanz der Analyse zu erhöhen, indem man sich auf die Wörter konzentriert, die eine bedeutende Bedeutung tragen.
Entfernen von Stoppwörtern mit NLTK
Um die Dinge zu erleichtern, bietet nltk
eine umfassende Liste von Stoppwörtern in mehreren Sprachen, die leicht zugänglich ist und verwendet werden kann, um Stoppwörter aus Textdaten zu filtern.
Hier erfahren Sie, wie Sie die Liste der englischen Stoppwörter in NLTK erhalten und in ein Set umwandeln können:
import nltk from nltk.corpus import stopwords # Download the stop words list nltk.download('stopwords') # Load English stop words stop_words = set(stopwords.words('english')) print(stop_words)
Mit diesem Wissen wollen wir uns ein vollständiges Beispiel ansehen, wie man Stoppwörter aus einem gegebenen Text herausfiltert:
import nltk from nltk.tokenize import word_tokenize from nltk.corpus import stopwords nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) text = "This is an example sentence demonstrating the removal of stop words." text = text.lower() # Tokenize the text tokens = word_tokenize(text) # Remove stop words filtered_tokens = [word for word in tokens if word.lower() not in stop_words] print("Original Tokens:", tokens) print("Filtered Tokens:", filtered_tokens)
Wie Sie sehen können, sollten wir zuerst die Stoppwörter herunterladen und die Tokenisierung durchführen. Der nächste Schritt ist die Verwendung einer List Comprehension, um eine Liste zu erstellen, die nur Tokens enthält, die keine Stoppwörter sind. Das word.lower()
im if
-Abschnitt ist entscheidend, um jedes Wort (Token) in Kleinbuchstaben umzuwandeln, da nltk
Stoppwörter ausschließlich in Kleinbuchstaben enthält.
Swipe to start coding
Ihre Aufgabe ist es, den text
in Kleinbuchstaben umzuwandeln, die englische Stopwortliste aus nltk
zu laden und in ein Set zu konvertieren, dann den text
-String mit der Funktion word_tokenize()
zu tokenisieren und die Stopwörter aus tokens
mit List Comprehension herauszufiltern.
Lösung
Danke für Ihr Feedback!
Stoppwörter Entfernen
Verständnis von Stoppwörtern
Im NLP ist das Entfernen von Stoppwörtern ein entscheidender Schritt in der Textvorverarbeitung.
Stoppwörter werden typischerweise nach der Tokenisierung für NLP-Aufgaben wie Sentimentanalyse, Themenmodellierung oder Schlüsselwortextraktion herausgefiltert. Der Grund für das Entfernen von Stoppwörtern ist, die Datensatzgröße zu verringern, um dadurch die Rechenleistung zu verbessern, und die Relevanz der Analyse zu erhöhen, indem man sich auf die Wörter konzentriert, die eine bedeutende Bedeutung tragen.
Entfernen von Stoppwörtern mit NLTK
Um die Dinge zu erleichtern, bietet nltk
eine umfassende Liste von Stoppwörtern in mehreren Sprachen, die leicht zugänglich ist und verwendet werden kann, um Stoppwörter aus Textdaten zu filtern.
Hier erfahren Sie, wie Sie die Liste der englischen Stoppwörter in NLTK erhalten und in ein Set umwandeln können:
import nltk from nltk.corpus import stopwords # Download the stop words list nltk.download('stopwords') # Load English stop words stop_words = set(stopwords.words('english')) print(stop_words)
Mit diesem Wissen wollen wir uns ein vollständiges Beispiel ansehen, wie man Stoppwörter aus einem gegebenen Text herausfiltert:
import nltk from nltk.tokenize import word_tokenize from nltk.corpus import stopwords nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) text = "This is an example sentence demonstrating the removal of stop words." text = text.lower() # Tokenize the text tokens = word_tokenize(text) # Remove stop words filtered_tokens = [word for word in tokens if word.lower() not in stop_words] print("Original Tokens:", tokens) print("Filtered Tokens:", filtered_tokens)
Wie Sie sehen können, sollten wir zuerst die Stoppwörter herunterladen und die Tokenisierung durchführen. Der nächste Schritt ist die Verwendung einer List Comprehension, um eine Liste zu erstellen, die nur Tokens enthält, die keine Stoppwörter sind. Das word.lower()
im if
-Abschnitt ist entscheidend, um jedes Wort (Token) in Kleinbuchstaben umzuwandeln, da nltk
Stoppwörter ausschließlich in Kleinbuchstaben enthält.
Swipe to start coding
Ihre Aufgabe ist es, den text
in Kleinbuchstaben umzuwandeln, die englische Stopwortliste aus nltk
zu laden und in ein Set zu konvertieren, dann den text
-String mit der Funktion word_tokenize()
zu tokenisieren und die Stopwörter aus tokens
mit List Comprehension herauszufiltern.
Lösung
Danke für Ihr Feedback!