Installieren von NLTK unter Linux
Führen Sie den folgenden Befehl aus, um NLTK in Ubuntu zu installieren:
$ sudo apt installieren python3-nltk
NLTK -Pakete sind in allen wichtigen Linux -Verteilungen erhältlich. Suchen Sie nach dem Schlüsselwort "NLTK" im Paketmanager, um die Pakete zu installieren. Wenn NLTK aus irgendeinem Grund in den Repositorys Ihrer Verteilung nicht verfügbar ist, können Sie ihn aus dem PIP -Paket -Manager installieren, indem Sie den folgenden Befehl ausführen:
$ pip install --user -u nltk
Beachten Sie, dass Sie zuerst PIP von Ihrem Paketmanager aus dem obigen Befehl installieren müssen, um zu arbeiten. Bei einigen Verteilungen kann es als PIP3 bezeichnet werden. Sie können auch detaillierte Installationsanweisungen auf der offiziellen Website von NLTK befolgen.
Sätze aus einem Absatz mit NLTK extrahieren
Für Absätze ohne komplexe Ausfälle und Abstand können Sie den integrierten NLTK-Satz-Tokenizer mit dem Namen „Punkt Tokenizer“ verwenden, der mit einem vorgebildeten Modell geliefert wird. Sie können auch Ihre eigenen geschulten Datenmodelle verwenden, um Text in Sätze zu tokenisieren. Benutzerdefinierte Datenmodelle sind nicht in diesem Artikel hinaus. Der folgende Code wird also den integrierten Punkt English Tokenizer verwenden. Um die Punkt -Ressourcendatei herunterzuladen, führen Sie die folgenden drei Befehle nacheinander aus und warten Sie, bis der Download fertiggestellt wird:
$ python3
$ import nltk
$ nltk.download ('punkt')
Ein Absatz aus „Alice's Adventures in Wonderland“ wird in der folgenden Code -Probe verwendet:
NLTK importierenWenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:
Der integrierte Punkt-Satz-Tokenizer funktioniert gut, wenn Sie einfache Absätze tokenisieren möchten. Nach dem Importieren des NLTK -Modul. Der Punkt -Satz -Tokenizer erfasst jedoch möglicherweise nicht korrekt Sätze, wenn ein komplexer Absatz vorhanden ist, der viele Interpunktionsmarken, Ausrufezeichen, Abkürzungen oder sich wiederholende Symbole enthält. Es ist nicht möglich, eine Standardmethode zu definieren, um diese Probleme zu überwinden. Sie müssen benutzerdefinierten Code schreiben, um diese Probleme mithilfe von Regex, String-Manipulation oder Ihrem eigenen Datenmodell zu trainieren, anstatt das integrierte PunkT-Datenmodell zu verwenden.
Sie können auch versuchen, das vorhandene PunkT -Modell zu optimieren, um die falsche Tokenisierung mit einigen zusätzlichen Parametern zu beheben. Befolgen Sie dazu die offizielle Punkt -Tokenization -Dokumentation, die hier verfügbar ist. Um Ihre eigenen benutzerdefinierten Verbesserungen zu verwenden, ist eine leichte Änderung des Code erforderlich:
Von NLTK.Tokenize.Punkt Import Punktsentencetokenizer, PunktparameterDer obige Code erledigt den gleichen Job wie die Methode "sent_tokenize ()". Sie können jedoch jetzt Ihre eigenen Regeln mit integrierten Methoden definieren und als Argumente bestehen, wie in der Dokumentation beschrieben. Zum Beispiel wurden dem obigen Code einige Abkürzungen hinzugefügt. Wenn auf diese Abkürzungen eine Interpunktion folgen, werden sie nicht in einen neuen Satz unterteilt. Das normale Verhalten besteht darin, einen Punkt oder eine Periode als Hinweis auf das Ende eines Satzes zu verwenden.
Abschluss
NLTK und seine Tokenisierungsmethoden sind bei der Tokenisierung und Verarbeitung von Textdaten recht effizient. Die vorgeborenen Modelle funktionieren jedoch möglicherweise nicht 100% mit verschiedenen Arten von Texten. Möglicherweise müssen Sie die vorhandenen Modelle verbessern, Ihre eigenen ausbilden und liefern oder Ihren eigenen Code schreiben, um Anomalien zu beheben.