clean-text Benutzergenerierte Inhalte im Web und in sozialen Medien sind oft schmutzig. Verarbeiten Sie Ihre abgekratzten Daten mit clean-text um eine normalisierte Textdarstellung zu erstellen. Drehen Sie beispielsweise diesen beschädigten Eingang:
A bunch of \u2018new\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«in diese saubere Ausgabe:
A bunch of 'new' references, including [moana](<URL>).
"you are right <3!" clean-text verwendet FTFY, Unidecode und zahlreiche handgefertigte Regeln, dh Regex.
So installieren Sie das GPL-lizenzierte Paket Unidecode neben:
pip install clean-text[gpl]Vielleicht möchten Sie sich auf GPL enthalten:
pip install clean-text NB: Dieses Paket heißt clean-text und nicht cleantext .
Wenn Unidecode nicht verfügbar ist, greift clean-text auf Pythons unicodedata.normalisiert für die Transliteration. Transliteration zu engsten ASCII -Symbolen beinhaltet manuelle Zuordnungen, dh ê zu e . Die Zuordnung von unidecode ist Superior, aber die von Unicodedata sind ausreichend. Möglicherweise möchten Sie diese Funktion jedoch je nach Daten und Anwendungsfällen insgesamt deaktivieren.
Um es klar zu machen: Es gibt Inkonsistenzen zwischen dem Verarbeitungstext mit oder ohne unidecode .
from cleantext import clean
clean ( "some input" ,
fix_unicode = True , # fix various unicode errors
to_ascii = True , # transliterate to closest ASCII representation
lower = True , # lowercase text
no_line_breaks = False , # fully strip line breaks as opposed to only normalizing them
no_urls = False , # replace all URLs with a special token
no_emails = False , # replace all email addresses with a special token
no_phone_numbers = False , # replace all phone numbers with a special token
no_numbers = False , # replace all numbers with a special token
no_digits = False , # replace all digits with a special token
no_currency_symbols = False , # replace all currency symbols with a special token
no_punct = False , # remove punctuations
replace_with_punct = "" , # instead of removing punctuations you may replace them
replace_with_url = "<URL>" ,
replace_with_email = "<EMAIL>" ,
replace_with_phone_number = "<PHONE>" ,
replace_with_number = "<NUMBER>" ,
replace_with_digit = "0" ,
replace_with_currency_symbol = "<CUR>" ,
lang = "en" # set to 'de' for German special handling
)Wählen Sie sorgfältig die Argumente aus, die zu Ihrer Aufgabe passen. Die Standardparameter sind oben aufgeführt.
Sie können auch nur bestimmte Funktionen zur Reinigung verwenden. Schauen Sie sich dafür den Quellcode an.
Bisher werden nur Englisch und Deutsch voll unterstützt. Es sollte für die Mehrheit der westlichen Sprachen funktionieren. Wenn Sie eine besondere Behandlung für Ihre Sprache benötigen, können Sie einen Beitrag leisten. ?
clean-text mit scikit-learnEs gibt auch scikit-larn- kompatible API, die Sie in Ihren Pipelines verwenden können. Auch hier funktionieren alle Parameter oben.
pip install clean-text[gpl,sklearn]
pip install clean-text[sklearn] from cleantext . sklearn import CleanTransformer
cleaner = CleanTransformer ( no_punct = False , lower = False )
cleaner . transform ([ 'Happily clean your text!' , 'Another Input' ])Verwenden Sie Poesie.
Wenn Sie eine Frage haben, einen Fehler gefunden haben oder eine neue Funktion vorschlagen möchten, schauen Sie sich die Seite mit Problemen an.
Pull -Anfragen werden besonders begrüßt, wenn sie Fehler beheben oder die Codequalität verbessern.
Wenn Sie die Ausgabe von clean-text nicht mögen, sollten Sie einen Test mit Ihrer spezifischen Eingabe und der gewünschten Ausgabe hinzufügen.
Auf der Arbeit von Burton Dewilde für Textkapital aufgebaut.
Apache