clean-text Le contenu généré par les utilisateurs sur le Web et sur les réseaux sociaux est souvent sale. Prétraitez vos données grattées avec clean-text pour créer une représentation de texte normalisée. Par exemple, tournez cette entrée corrompue:
A bunch of \u2018new\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«dans cette sortie propre:
A bunch of 'new' references, including [moana](<URL>).
"you are right <3!" clean-text utilise FTFY, UNIDECODE et de nombreuses règles fabriquées à la main, c'est-à-dire regex.
Pour installer le package sous licence GPL UNIDECODE à côté:
pip install clean-text[gpl]Vous voudrez peut-être vous abstenir de GPL:
pip install clean-text NB: Ce package est nommé clean-text et non cleantext .
Si UNIDECODE n'est pas disponible, clean-text recourera à Unicodedata.Normalisée de Python pour la translittération. La translittération aux symboles ASCII les plus proches implique des mappages manuellement, c'est-à-dire, ê à e La cartographie d' unidecode est supérieure mais celle des Unicodedata est suffisante. Cependant, vous pouvez désactiver complètement cette fonctionnalité en fonction de vos données et de votre cas d'utilisation.
Pour indiquer clairement: il existe des incohérences entre le traitement du texte avec ou sans 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
)Choisissez soigneusement les arguments qui correspondent à votre tâche. Les paramètres par défaut sont répertoriés ci-dessus.
Vous pouvez également utiliser uniquement des fonctions spécifiques pour le nettoyage. Pour cela, jetez un œil au code source.
Jusqu'à présent, seuls l'anglais et l'allemand sont pleinement soutenus. Cela devrait fonctionner pour la majorité des langues occidentales. Si vous avez besoin d'une manipulation spéciale pour votre langue, n'hésitez pas à contribuer. ?
clean-text avec scikit-learnIl existe également une API compatible Scikit-Learn à utiliser dans vos pipelines. Tous les paramètres ci-dessus fonctionnent également ici.
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' ])Utilisez la poésie.
Si vous avez une question , trouvez un bogue ou si vous souhaitez proposer une nouvelle fonctionnalité , jetez un œil à la page des problèmes.
Les demandes de traction sont particulièrement bien accueillies lorsqu'ils corrigent les bogues ou améliorent la qualité du code.
Si vous n'aimez pas la sortie du clean-text , envisagez d'ajouter un test avec votre entrée spécifique et votre sortie souhaitée.
Construit sur les travaux de Burton Dewilde pour la textique.
Apache