clean-text O conteúdo gerado pelo usuário na Web e nas mídias sociais geralmente é sujo. Pré-processo seus dados raspados com clean-text para criar uma representação de texto normalizada. Por exemplo, gire esta entrada corrompida:
A bunch of \u2018new\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«Nesta saída limpa:
A bunch of 'new' references, including [moana](<URL>).
"you are right <3!" clean-text usa ftfy, unidecode e inúmeras regras artesanais, ou seja, regex.
Para instalar o pacote licenciado por GPL UNIDECODE ao lado:
pip install clean-text[gpl]Você pode querer se abster da GPL:
pip install clean-text NB: Este pacote é chamado de clean-text e não cleantext .
Se o UNIDECODE não estiver disponível, clean-text recorrerá ao Unicodedata do Python.Normalize para a transliteração. A transliteração para os símbolos ASCII mais próximos envolve mapeamentos manualmente, ou seja, ê para e . O mapeamento da unidecode é superioure, mas o Unicodedata é suficiente. No entanto, convém desativar esse recurso, dependendo dos seus dados e do caso de uso.
Para deixar claro: existem inconsistências entre o processamento de texto com ou sem 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
)Escolha cuidadosamente os argumentos que se encaixam em sua tarefa. Os parâmetros padrão estão listados acima.
Você também pode usar apenas funções específicas para limpeza. Para isso, dê uma olhada no código -fonte.
Até agora, apenas o inglês e o alemão são totalmente apoiados. Deve funcionar para a maioria dos idiomas ocidentais. Se você precisar de algum manuseio especial para o seu idioma, fique à vontade para contribuir. ?
clean-text com scikit-learnHá também a API compatível com Scikit-Learn para usar em seus pipelines. Todos os parâmetros acima também funcionam aqui.
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' ])Use poesia.
Se você tiver uma pergunta , encontrou um bug ou deseja propor um novo recurso , dê uma olhada na página de problemas.
As solicitações de tração são bem -vindas especialmente quando corrigem bugs ou melhoram a qualidade do código.
Se você não gosta da saída de clean-text , considere adicionar um teste com sua entrada específica e saída desejada.
Construído sobre o trabalho de Burton Dewilde para textos.
Apache