REMOVE_EMOJIS - Remoção de Emojis
O que é esta operação?
A operação REMOVE_EMOJIS do Content Cleaner é responsável por identificar e remover todos os emojis e símbolos Unicode de um texto, incluindo emoticons modernos, símbolos e ícones especiais.
Por que esta operação existe?
Emojis podem dificultar análise textual ou causar problemas de compatibilidade. A operação REMOVE_EMOJIS existe para:
- Análise de Texto Puro: Preparar conteúdo para NLP removendo símbolos não textuais
- Compatibilidade de Sistemas: Remover caracteres Unicode que podem causar erros em sistemas legados
- Profissionalização de Conteúdo: Limpar textos informais removendo emojis para contextos formais
- Normalização de Dados: Padronizar textos para análise estatística ou machine learning
Como funciona internamente?
Quando a operação REMOVE_EMOJIS é executada, o sistema:
- Recebe o texto: Obtém o conteúdo da variável especificada
- Aplica regex Unicode: Utiliza ranges Unicode completos para detectar todos os emojis
- Conta ocorrências: Registra quantos emojis foram encontrados
- Remove os emojis: Substitui todos os símbolos encontrados por string vazia
- Atualiza estatísticas: Incrementa o contador
emojisRemoved - Retorna resultado: Armazena o texto limpo
Código interno (content-cleaner-executor.service.ts:239-245):
// Remove emojis
if (config.removeEmojis === true) {
const emojiRegex = /[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}\u{2B50}\u{2B55}\u{231A}\u{231B}\u{2328}\u{23CF}\u{23E9}-\u{23F3}\u{23F8}-\u{23FA}\u{24C2}\u{25AA}\u{25AB}\u{25B6}\u{25C0}\u{25FB}-\u{25FE}\u{2934}\u{2935}\u{2B05}-\u{2B07}\u{2B1B}\u{2B1C}\u{3030}\u{303D}\u{3297}\u{3299}]/gu;
const matches = cleaned.match(emojiRegex);
stats.emojisRemoved = matches ? matches.length : 0;
cleaned = cleaned.replace(emojiRegex, '');
}
Quando você DEVE usar esta operação?
Use REMOVE_EMOJIS sempre que precisar texto sem símbolos para processamento:
Casos de uso
- Preparação para NLP: "Limpar textos antes de análise linguística ou classificação"
- Sistemas Legados: "Remover Unicode especial antes de integrar com bancos de dados antigos"
- Relatórios Formais: "Profissionalizar textos removendo emojis informais"
- Treinamento de ML: "Normalizar datasets removendo ruído visual"
Quando NÃO usar REMOVE_EMOJIS
- Análise de Sentimento: Emojis contêm informação emocional valiosa
- Redes Sociais: Em contextos informais, emojis são parte da comunicação
- Marketing: Campanhas modernas usam emojis estrategicamente
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| inputVariable | string | Sim | Variável contendo o texto a limpar |
| removeEmojis | boolean | Não | Remove emojis do texto (padrão: false) |
| outputVariable | string | Não | Variável para resultado (padrão: "cleaned_content") |
| returnStats | boolean | Não | Retornar estatísticas (padrão: false) |
Exemplo 1: Preparação para Análise NLP
Objetivo: Limpar review removendo emojis antes de classificação de sentimento
JSON para Importar
{
"name": "Limpar Review para NLP",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "variable_1",
"type": "variable",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Review com Emojis",
"parameters": {
"variableName": "raw_review",
"variableValue": "Produto incrível! 😍🎉 Super recomendo! ⭐⭐⭐⭐⭐ Entrega rápida 🚀"
}
}
},
{
"id": "cleaner_1",
"type": "content_cleaner",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Remover Emojis",
"parameters": {
"inputVariable": "raw_review",
"removeEmojis": true,
"removeExtraSpaces": true,
"outputVariable": "clean_review",
"returnStats": true,
"statsVariable": "stats"
}
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Texto Limpo",
"parameters": {
"message": "📄 Texto para NLP:\n{{clean_review}}\n\n🧹 Emojis removidos: {{stats.emojisRemoved}}\n✅ Pronto para análise"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 900, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "variable_1" },
{ "source": "variable_1", "target": "cleaner_1" },
{ "source": "cleaner_1", "target": "message_1" },
{ "source": "message_1", "target": "end_1" }
]
}
Saída esperada:
Sistema: 📄 Texto para NLP:
Produto incrível! Super recomendo! Entrega rápida
🧹 Emojis removidos: 8
✅ Pronto para análise
Exemplo 2: Profissionalização de Mensagem
Objetivo: Converter mensagem informal em formato profissional
JSON para Importar
{
"name": "Profissionalizar Mensagem",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "input_1",
"type": "input",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Mensagem Informal",
"parameters": {
"message": "Digite a mensagem informal:",
"variableName": "informal_msg"
}
}
},
{
"id": "cleaner_1",
"type": "content_cleaner",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Profissionalizar",
"parameters": {
"inputVariable": "informal_msg",
"removeEmojis": true,
"removeExtraSpaces": true,
"trimWhitespace": true,
"outputVariable": "formal_msg"
}
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Versão Formal",
"parameters": {
"message": "📧 VERSÃO PROFISSIONAL:\n\n{{formal_msg}}\n\n✅ Pronta para envio corporativo"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 900, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "input_1" },
{ "source": "input_1", "target": "cleaner_1" },
{ "source": "cleaner_1", "target": "message_1" },
{ "source": "message_1", "target": "end_1" }
]
}
Saída esperada:
Sistema: Digite a mensagem informal:
Usuário: Olá! 👋 Podemos marcar reunião? 📅 Estou livre amanhã! 😊
Sistema: 📧 VERSÃO PROFISSIONAL:
Olá! Podemos marcar reunião? Estou livre amanhã!
✅ Pronta para envio corporativo
Boas Práticas
✅ SIM: - Remover emojis antes de análise NLP ou classificação de texto - Usar para compatibilidade com sistemas legados - Aplicar em relatórios formais e documentos corporativos - Combinar com outras limpezas para normalização completa
❌ NÃO: - Remover de análises de sentimento (emojis são dados emocionais) - Aplicar em conteúdo de redes sociais onde são esperados - Usar em campanhas de marketing que dependem de emojis
Dicas
💡 Dica 1: O regex cobre todos os ranges Unicode de emojis modernos (2023+)
💡 Dica 2: Combine com removeExtraSpaces para evitar espaços duplos onde emojis foram removidos
💡 Dica 3: Por padrão está DESATIVADO (false), diferente de URLs e emails que são padrão true
💡 Dica 4: Para análise de sentimento, considere EXTRAIR emojis ao invés de remover
Próximo Node
→ REMOVE_SPECIAL_CHARS - Remove caracteres especiais → REMOVE_PUNCTUATION - Remove pontuação → NORMALIZE_UNICODE - Normaliza acentos e caracteres especiais