Metodo di pulizia: regole, valori predefiniti e limiti
Cosa fa il pulitore locale
Il pulitore locale HumanFlow trasforma il testo applicando regole deterministiche su caratteri e modelli. A parità di input, insieme di regole abilitate e opzioni per i trattini, il motore produce lo stesso output e lo stesso elenco ordinato di modifiche; non chiede a un modello linguistico di dedurre il significato. Ogni modifica registra ID e categoria della regola, intervalli di origine e output, valore rimosso, valore sostitutivo, dettagli Unicode pertinenti e se la regola è considerata distruttiva.
I valori predefiniti sicuri mirano ad artefatti di formattazione che di solito non esprimono parole: controlli nascosti supportati, spazi non separabili, tabulazioni, spazi orizzontali ripetuti, spazi finali e righe vuote in eccesso. Le regole facoltative possono modificare Markdown o punteggiatura e per questo sono disattivate per impostazione predefinita nel pulitore generale di testo AI.
Registro delle regole
I valori predefiniti nella tabella provengono dal registro delle regole del motore. I preset delle pagine possono sostituirli; i valori effettivi della pagina iniziale e degli strumenti specializzati per ogni lingua sono riportati nella tabella inserita qui sotto.
| ID regola | Valore predefinito del motore | Rischio | Comportamento implementato |
|---|---|---|---|
hidden-unicode | Attivata | Più sicura, da verificare | Rimuove i controlli C0/C1 supportati, i caratteri a larghezza zero, i segni direzionali, il separatore di parole e BOM; conserva le normali interruzioni di riga e le tabulazioni. |
normalize-nbsp | Attivata | Più sicura, da verificare | Sostituisce U+00A0 NO-BREAK SPACE con U+0020 SPACE. |
normalize-tabs | Attivata | Più sicura, da verificare | Sostituisce i caratteri di tabulazione con spazi normali. |
collapse-spaces | Attivata | Più sicura, da verificare | Riduce sequenze di spazi orizzontali ripetuti o NBSP a un solo spazio normale. |
trim-trailing-whitespace | Attivata | Più sicura, da verificare | Rimuove spazi e tabulazioni alla fine delle righe. |
collapse-blank-lines | Attivata | Più sicura, da verificare | Riduce sequenze con più di una riga vuota a una sola riga vuota. |
remove-markdown-headings | Disattivata | Distruttiva | Rimuove i simboli # iniziali dei titoli Markdown conservandone il testo. |
remove-markdown-emphasis | Disattivata | Distruttiva | Rimuove i marcatori di enfasi con asterischi. |
remove-markdown-code-fences | Disattivata | Distruttiva | Rimuove le righe di delimitazione con tre backtick e conserva il contenuto racchiuso. |
remove-markdown-links | Disattivata | Distruttiva | Sostituisce un collegamento Markdown in linea con il testo di ancoraggio visibile e scarta la destinazione. |
normalize-smart-quotes | Disattivata | Distruttiva | Sostituisce le virgolette tipografiche singole e doppie con virgolette ASCII. |
replace-em-dash | Disattivata | Distruttiva | Sostituisce U+2014 con il trattino, lo spazio, il punto o l’output vuoto selezionato. |
replace-en-dash | Disattivata | Distruttiva | Sostituisce U+2013 in modo indipendente con l’output selezionato. |
“Più sicura” non significa adatta a ogni documento. Tabulazioni e spazi ripetuti possono indicare rientri del codice o allineamento di tabelle; i caratteri di collegamento a larghezza zero e i segni direzionali possono avere significato nei testi multilingue. Ogni regola è selezionabile singolarmente e Annulla ripristina l’input originale conservato nello stato del browser.
Sovrapposizioni e ordine delle modifiche
Il motore raccoglie prima le modifiche proposte sul testo originale, le ordina in base alla posizione di origine e alla priorità della regola, quindi rifiuta le modifiche sovrapposte con priorità inferiore. Poi costruisce l’output da sinistra a destra e registra gli intervalli risultanti dopo ogni sostituzione accettata. In questo modo più regole attive non modificano due volte lo stesso tratto sorgente e gli intervalli di origine restano stabili per la revisione.
Per esempio, una sequenza di spazi non separabili può corrispondere sia alla regola degli spazi ripetuti sia a quella per un singolo NBSP. Il motore accetta la sostituzione della sequenza, con priorità maggiore, e ignora le sostituzioni sovrapposte dei singoli caratteri. Per quel tratto viene quindi segnalata una sola trasformazione anziché modifiche contraddittorie.
Esempi riproducibili
Il corpus di test nel repository include input vuoto, prosa pulita, Unicode misto, Markdown, punteggiatura, testo multilingue, codice, JSON e un documento deterministico di grandi dimensioni. Altri casi verificano gli intervalli esatti di origine e output, il riconoscimento nominato di U+200B, la normalizzazione delle tabulazioni, la conservazione del contenuto dei blocchi di codice, la conservazione del testo di ancoraggio dei link Markdown e ogni preset degli strumenti specializzati.
Un esempio minimo è A[U+200B]B[U+00A0]C. Con i valori predefiniti sicuri, l’output atteso è AB C. Una frase pulita con virgolette tipografiche e un trattino em resta identica byte per byte perché le regole di punteggiatura sono disattivate. Anche un titolo Markdown rimane invariato con i valori sicuri; il rimuovi formattazione dedicato attiva deliberatamente il preset Markdown.
Criteri degli strumenti specializzati
I quattro strumenti specifici condividono lo stesso motore invece di reimplementare le trasformazioni:
- Rimuovi la formattazione ChatGPT abilita regole Markdown e spaziatura e include la gestione di blocchi di codice e link.
- Rimuovi caratteri invisibili espone solo le regole per Unicode nascosto e NBSP, con evidenze sui code point.
- Rimuovi trattini em espone controlli indipendenti per trattini em/en e seleziona inizialmente la sostituzione del trattino em con un trattino semplice.
- Correggi la spaziatura AI espone regole per NBSP, tabulazioni, spazi ripetuti, spazi finali e righe vuote.
I test automatici delle policy richiedono quattro firme distinte delle regole predefinite, contenuti esclusivi sufficienti, un esempio specifico per pagina e una modifica dell’output quando ciascun preset elabora il proprio esempio. Questo evita di pubblicare quattro strumenti che cambiano solo il testo.
Limite di privacy
La pulizia locale avviene nel browser; un test del codice vieta al componente client di effettuare richieste fetch contenenti testo o azioni server. La lista consentita degli eventi di analisi contiene solo regole e conteggi aggregati. Il riscrittore AI è una funzione separata e può inviare il testo fornito al server e poi a un fornitore di modelli configurato. Anche il controllo dei modelli di scrittura funziona localmente, ma fornisce segnali euristici, non conclusioni sull’autore. Consulta l’informativa sulla privacy del prodotto.
Limiti
Il pulitore non può stabilire se un testo sia stato scritto da una persona o da un modello. Non può garantire la rimozione di watermark statistici, il miglioramento del posizionamento nei motori di ricerca, l’elusione dei rilevatori AI o la conservazione del significato dopo ogni modifica facoltativa alla punteggiatura o al Markdown. Riconosce soltanto i modelli documentati qui. Markdown annidato, sintassi di link complessa, markup personalizzato, stili rich text e metadati degli appunti specifici di un’applicazione possono non rientrare in tali modelli.
Controlla codice, JSON, tabelle, testo bidirezionale e resa tipografica specifica della lingua nell’applicazione di destinazione. Le differenze visibili e l’output deterministico rendono possibile la revisione, ma non la sostituiscono.
Versione e politica delle modifiche
La versione attuale dello schema del motore di formattazione locale è 1. Gli ID delle regole sono valori API stabili usati dai preset delle pagine, dalle liste consentite dell’analisi, dai test e dai contenuti di governance. Una modifica del comportamento deve aggiornare le aspettative dei test e questa metodologia nella stessa versione. Le nuove regole distruttive devono essere disattivate per impostazione predefinita. Rimuovere o rinominare una regola richiede una migrazione esplicita, perché policy salvate e osservazioni SEO centralizzate possono fare riferimento a quell’ID.
Questa metodologia è stata verificata l’ultima volta rispetto all’implementazione del repository il 2026-09-05. Le date di revisione successive devono riflettere un audit reale del codice e della configurazione, non una data generata automaticamente.
Regole predefinite effettive per pagina
La tabella riflette la configurazione salvata delle pagine localizzate. Il registro del motore attiva sei regole di formattazione e disattiva sette regole Markdown e di punteggiatura; le impostazioni della pagina possono sovrascriverle.
| Preset della pagina | ID delle regole attive per impostazione predefinita |
|---|---|
| Home | trim-trailing-whitespace, collapse-blank-lines |
| Rimuovi formattazione IA | normalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines, remove-markdown-headings, remove-markdown-emphasis, remove-markdown-code-fences, remove-markdown-links |
| Rimuovi caratteri invisibili | Nessuna |
| Rimuovi il trattino lungo | replace-em-dash |
| Correggi spazi IA | normalize-nbsp, normalize-tabs, collapse-spaces, trim-trailing-whitespace, collapse-blank-lines |