REMOVE_NUMBERS - Remoção de Números
O que é esta operação?
A operação REMOVE_NUMBERS remove todos os dígitos numéricos (0-9) do texto, útil para análise de texto puro sem valores quantitativos.
Por que esta operação existe?
Números podem ser ruído em análise linguística. Esta operação existe para:
- Análise Textual Pura: Focar apenas em palavras removendo quantidades
- Anonimização: Remover valores que possam identificar pessoas (idades, documentos)
- Normalização para NLP: Preparar texto removendo variações numéricas
- Classificação de Texto: Remover números que não agregam ao sentido semântico
Como funciona internamente?
Código interno (content-cleaner-executor.service.ts:267-273):
// Remove numbers
if (config.removeNumbers === true) {
const numberRegex = /\d+/g;
const matches = cleaned.match(numberRegex);
stats.numbersRemoved = matches ? matches.length : 0;
cleaned = cleaned.replace(numberRegex, '');
}
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| inputVariable | string | Sim | Variável contendo o texto |
| removeNumbers | boolean | Não | Remove números (padrão: false) |
| outputVariable | string | Não | Variável para resultado |
| returnStats | boolean | Não | Retornar estatísticas |
Exemplo: Preparação para Análise de Sentimento
{
"name": "Remover Números para Análise",
"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 Números",
"parameters": {
"variableName": "review",
"variableValue": "Comprei 3 produtos, recebi em 5 dias. Nota 10! Preço de R$ 150."
}
}
},
{
"id": "cleaner_1",
"type": "content_cleaner",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Remover Números",
"parameters": {
"inputVariable": "review",
"removeNumbers": true,
"removeExtraSpaces": true,
"outputVariable": "text_only",
"returnStats": true,
"statsVariable": "stats"
}
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Texto Puro",
"parameters": {
"message": "📝 Texto sem números:\n{{text_only}}\n\n🔢 Removidos: {{stats.numbersRemoved}} números"
}
}
},
{
"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:
📝 Texto sem números:
Comprei produtos, recebi em dias. Nota ! Preço de R$ .
🔢 Removidos: 4 números
Boas Práticas
✅ SIM: Análise de sentimento puro, classificação de texto, remoção de dados quantitativos ❌ NÃO: Textos onde números são essenciais (relatórios financeiros, estatísticas)
Dicas
💡 Dica 1: Números decimais são tratados como sequências separadas (12.50 = dois números)
💡 Dica 2: Combine com removeExtraSpaces para evitar espaços duplos
💡 Dica 3: Use antes de tokenização em NLP para focar em palavras
Próximo Node
→ REMOVE_SPECIAL_CHARS - Remove caracteres especiais → TO_LOWERCASE - Converte para minúsculas