Contare le parole sembra la cosa più semplice che un computer possa fare, e non lo è. Dove finisca una parola è una domanda sulla lingua, non sugli spazi, e ogni contatore che non concorda con un altro sta discutendo di quello. Ecco cosa conta questo, e dove è onesto nel dichiarare che si arrende.
Spezzare sugli spazi è sbagliato per gran parte del mondo
L'implementazione ovvia — taglia il testo dove c'è uno spazio — funziona per italiano, inglese, tedesco e ogni altra lingua che mette dei buchi tra le parole. Fallisce completamente per quelle che non lo fanno. Cinese, giapponese e thai si scrivono senza spazi, quindi l'approccio ingenuo riporta un intero paragrafo come una parola sola.
Questo strumento usa Intl.Segmenter, la segmentazione del testo integrata nel browser, che conosce le regole di ogni lingua invece di cercare i buchi. 我喜欢吃苹果和香蕉 conta 6 parole invece di 1, e 私は日本語を話します ne conta 7. Per l'italiano la risposta è identica a quella ingenua, quindi per la maggior parte dei visitatori non cambia niente: semplicemente smette di essere sbagliata per tutti gli altri.
La segmentazione è genuinamente difficile e anche un buon segmentatore sta esprimendo giudizi. Se "New York" sia una parola o due, se un composto con trattino conti una volta o due, se un apostrofo spezzi un token: non hanno una risposta universale, ed è il motivo vero per cui due contatori non concordano.
Un carattere non è quello che JavaScript crede
Le stringhe JavaScript sono sequenze di unità di codice UTF-16, e un'unità di codice non è un carattere. Chiedi a JavaScript la lunghezza di un'emoji pollice in su e ti dice 2. Chiedila per un'emoji famiglia — quelle costruite unendo più persone — e ti dice 8. Nessuno dei due numeri è ciò che un umano chiamerebbe un conteggio di caratteri.
Questo strumento conta invece i cluster di grafemi: le unità che un lettore indicherebbe chiamandole "un carattere". L'emoji famiglia è una. Una lettera accentata è una, sia che sia stata digitata come singolo punto di codice sia che sia composta da lettera più segno diacritico. Se stai confrontando questo conteggio con un limite imposto da qualche altro sistema, sappi che l'altro sistema molto probabilmente conta ancora unità di codice, e non sarà d'accordo con te nel momento in cui compare un'emoji.
Il conteggio delle frasi è un'euristica e a volte sbaglia
È la parte su cui vale la pena essere schietti. Lo strumento conta le frasi cercando punti, punti interrogativi ed esclamativi. È un'euristica, e le euristiche falliscono in modi prevedibili.
"Il Dr. Rossi è arrivato." conta due frasi, perché l'abbreviazione porta un punto. "Pi greco vale circa 3.14 esatto." ne conta due, per lo stesso motivo. I puntini di sospensione si comportano correttamente — "Aspetta... davvero?" fa due, perché le sequenze di punteggiatura collassano in un solo match — ma è fortuna, non progetto.
Fare meglio significa riconoscere abbreviazioni, decimali, iniziali, URL e citazioni, che è un problema specifico per lingua senza una soluzione piccola. Il numero qui è un'approssimazione utile per la prosa, e non dovresti fidartene su niente di tecnico. Conoscere il limite è più utile di un numero che finge di non averne.
Il tempo di lettura è una media e tu non sei la media
La cifra viene dal dividere il conteggio parole per 200, una convenzione diffusa per la velocità di lettura di un adulto. Le velocità reali di lettura silenziosa vanno da circa 200 a 300 parole al minuto per adulti che leggono prosa, e la dispersione tra individui è molto più ampia di così.
Il numero presuppone anche che il testo sia prosa. Documentazione tecnica, codice, materiale di riferimento denso e qualsiasi cosa tu rilegga sono tutti molto più lenti. Trattalo come un segnale grossolano — "questa è una lettura da cinque minuti, non da trenta secondi" — e non come una misura. È diventato uno standard sui blog perché imposta le aspettative, non perché sia accurato.
Domande frequenti
Il mio testo viene inviato a un server?
No. Questo strumento è marcato "client": tutto viene contato nella scheda del tuo browser mentre digiti. Non viene trasmesso né salvato niente, il che conta qui perché nei contatori di parole si incollano bozze, saggi e manoscritti che nessuno vorrebbe consegnare a uno sconosciuto.
Perché il mio conteggio parole è diverso da quello di Microsoft Word?
Perché hai fatto a due programmi la stessa domanda ambigua. Word ha le sue regole su trattini, numeri, URL e su cosa conti come parola, e quelle regole non sono le stesse del browser. Nessuno dei due sbaglia. Se hai un limite rigido da rispettare, conta con lo strumento che userà chi impone il limite: è l'unico conteggio che conta.
Il conteggio dei caratteri include gli spazi?
Vengono mostrati entrambi. La distinzione conta più di quanto sembri: editori e tipografi di solito intendono "con gli spazi", mentre i limiti di caratteri nei form e nei database di solito intendono ogni carattere, spazi inclusi. Quando qualcuno ti dà un limite senza specificare, quasi sempre intende con gli spazi.
Perché un'emoji conta un carattere qui e due altrove?
Perché la maggior parte dei sistemi conta unità di codice UTF-16 e la maggior parte delle emoji ne occupa due. Questo strumento conta quello che vedresti. Il disaccordo è reale e conta per qualsiasi cosa abbia un limite rigido: una colonna di database definita come 100 caratteri può rifiutare un testo che questo strumento dice essere 95, perché sta contando diversamente. Se un limite viene imposto da qualche parte, scopri cosa conta quella parte.
Posso fidarmi del conteggio frasi per un lavoro accademico?
Non senza controllarlo. Qualsiasi testo con abbreviazioni, iniziali, decimali o citazioni verrà sovrastimato, e la scrittura accademica è piena di tutte e quattro. Per un senso approssimativo della lunghezza delle frasi in una bozza va bene. Per qualcosa che riporterai come dato, contale a mano.