Estrattore di n-grammi

Un n-gramma è una sequenza di n parole consecutive all’interno di un testo. Questo estrattore converte il testo in minuscolo, lo divide in parole a ogni spazio e a ogni segno di punteggiatura, poi conta tutti gli n-grammi della lunghezza che scegli (da 1 a 8). Il risultato è una tabella di frequenze in formato CSV, ordinata dal più frequente al più raro: esattamente la tabella su cui si basano i controlli di densità delle parole chiave in ottica SEO, il livellamento dei modelli linguistici e il rilevamento del plagio.

Come estrarre gli n-grammi

  1. 1

    Incolla il tuo testo

    Inserisci un articolo, una trascrizione o la scheda di un prodotto. Nessun limite di lunghezza per input ragionevoli.

  2. 2

    Scegli n

    Unigrammi (1), bigrammi (2), trigrammi (3), fino a 8. Una lunghezza per ogni esecuzione.

  3. 3

    Estrai

    Il testo viene convertito in minuscolo e diviso in parole; la punteggiatura fa da separatore e viene scartata.

  4. 4

    Leggi la tabella delle frequenze

    Ogni n-gramma compare con il numero di occorrenze, ordinato dal più frequente.

  5. 5

    Copia il CSV

    L'output è separato da virgole (N-gram,Count), pronto da incollare in un foglio di calcolo.

Cosa ti dice ogni lunghezza di n-gramma

N Nome Caso d’uso
1 Unigramma Densità delle parole chiave, mappatura dei temi
2 Bigramma Espressioni (“search intent”, “page speed”), collocazioni
3 Trigramma Espressioni a coda lunga, rilevamento di caratteristiche
4+ Quadrigramma e oltre Rilevamento di contenuti duplicati, segnali di plagio

Come lo strumento divide il tuo testo

  • Tutto viene convertito in minuscolo, quindi “The” e “the” finiscono sulla stessa riga.
  • Una parola è qualsiasi sequenza ininterrotta di lettere, cifre o apostrofi. Ogni altro carattere (punteggiatura, simboli, ritorni a capo) è un separatore e viene scartato.
  • I confini di frase non vengono rispettati. L’ultima parola di una frase e la prima della successiva possono comunque formare un n-gramma: valuta con prudenza le coppie a cavallo di due frasi. Se la cosa è rilevante, analizza una frase o un paragrafo alla volta.
  • Le stopword restano. Non viene filtrato nulla al posto tuo: se vuoi solo espressioni con valore semantico, elimina quelle righe dal CSV dopo l’esportazione.
  • Le parole si riconoscono da spazi e punteggiatura. L’italiano separa le parole con gli spazi, quindi lo strumento funziona subito. Tieni però presente che l’apostrofo resta attaccato: “l’articolo” viene contato come una parola sola, distinta da “articolo”. Cinese, giapponese e thai, invece, non mettono spazi tra le parole: un’intera frase arriva come una sola parola e va segmentata prima (jieba, MeCab, un segmentatore per il thai).

Quando rimuovere le stopword

Le stopword sono parole funzionali ad altissima frequenza: in inglese “the”, “a”, “of”, “and”; in italiano “il”, “di”, “che”, “e”. Lasciarle riempie l’elenco dei bigrammi di scarti come “of the” e “di che”. Questo estrattore le conserva, quindi elimina quelle righe dall’esportazione quando cerchi espressioni con valore semantico, e tienile quando studi lo stile, l’attribuzione d’autore o modelli linguistici in cui sono proprio le parole funzionali a portare il segnale.

Caso d’uso SEO

Per un articolo che punta a “nginx config generator”, controlla:

  • Che il bigramma e il trigramma target compaiano nei primi 20. Se “nginx config” è al 40esimo posto, probabilmente stai usando troppo poco il termine.
  • Che tu non stia facendo keyword stuffing. Se è al primo posto con un margine enorme, il testo si legge come spam.
  • Che esistano vicini semantici. Bigrammi correlati come “server block”, “proxy pass” e “ssl certificate” rassicurano i motori di ricerca sul fatto che l’argomento sia davvero coperto.

Uso in NLP e in ambito accademico

  • I modelli linguistici usano le frequenze degli n-grammi per il livellamento e il backoff (Kneser-Ney, Good-Turing).
  • Gli studi di attribuzione d’autore confrontano le distribuzioni dei trigrammi tra i possibili autori.
  • La valutazione della traduzione automatica (BLEU) assegna un punteggio in base alla sovrapposizione di n-grammi tra la traduzione prodotta e quella di riferimento.

Domande frequenti

Da un tweet (dove gli n-grammi non dicono quasi nulla) a un capitolo di libro. Per avere affidabilità statistica sui bigrammi servono oltre 1.000 parole; per i trigrammi, oltre 10.000. Al di sotto, le classifiche sono solo rumore.

Qui no. Il testo viene sempre convertito in minuscolo prima del conteggio, così “The” e “the” (come “Apple” e “apple”) condividono un’unica riga invece di dividersi in due. Non esiste una modalità sensibile alle maiuscole: se devi tenere distinti nomi propri o codice, segnalali nel testo prima di incollarlo.

Funzionano da separatori di parola e non finiscono mai dentro un n-gramma. Non interrompono però la finestra di conteggio: l’ultima parola di una frase e la prima della successiva vengono comunque contate insieme come bigramma. Se ti servono confini di frase rigorosi, elabora le frasi o i paragrafi separatamente.

Solo se segmenti il testo prima. Le parole vengono individuate come sequenze di lettere e cifre tra separatori, e quelle lingue si scrivono senza spazi tra le parole: un’intera frase arriva quindi come una parola sola. Passala prima attraverso un segmentatore (jieba, MeCab, un segmentatore per il thai) in modo che le parole risultino separate da spazi, poi incolla qui il risultato. L’italiano e le altre lingue con gli spazi funzionano senza preparazione.

Lo strumento non ne applica nessuna, quindi filtri tu dopo l’esportazione. La lista inglese più diffusa è il set di 179 parole di NLTK, usato da quasi tutti gli strumenti SEO. Snowball, SpaCy e scikit-learn propongono liste leggermente diverse. Per l’italiano, usa la lista di stopword italiane di NLTK o di spaCy.

Strumenti correlati

Strumento disponibile in altre lingue