Les lettres N-grammes sont utilisées à la place des mots pour plusieurs raisons:
1) La liste des mots nécessaires pour une langue donnée est assez grande, peut-être 100 000 si vous considérez rapide, plus rapide, plus rapide, à jeun, rapide, jeûne, ... comme tous les mots différents. Pour 80 langues, vous avez besoin d'environ 80 fois plus de mots, ce qui prend beaucoup de place - plus de 50 mégaoctets.
2) Le nombre de trigrammes de lettres pour un alphabet à 26 lettres est de 26 ** 3 soit environ 17 000 et pour les quadgrammes (N = 4) environ 450 000 couvrant TOUTES les langues utilisant cet alphabet. Des nombres similaires mais un peu plus grands pour les N-grammes dans des alphabets plus grands de 30 à 100 caractères. Pour les langues CJK avec plus de 4000 lettres dans le script Han, les unigrammes (N = 1) sont suffisants. Pour certains scripts Unicode, il n'y a qu'une seule langue par script (grec, arménien), donc aucune combinaison de lettres n'est nécessaire (soi-disant nil-grammes N = 0)
3) Avec les mots, vous n'avez aucune information quand on vous donne un mot qui n'est pas dans le dictionnaire, alors qu'avec la lettre N-grammes vous avez souvent au moins quelques combinaisons de lettres utiles dans ce mot.
CLD2 utilise des quadgrammes pour la plupart des scripts Unicode (alphabets), y compris le latin, le cyrillique et l'arabe, des unigrammes pour les scripts CJK, des nilgrammes pour d'autres scripts, et comprend également un nombre limité de mots complets et de paires de mots assez distinctifs et assez courants pour distinguer dans des groupes difficiles de langues statistiquement similaires, comme l’indonésien et le malais. Les bigrammes et trigrammes de lettres sont peut-être utiles pour distinguer un petit nombre de langues (environ huit, voir https://docs.google.com/document/d/1NtErs467Ub4yklEfK0C9AYef06G_1_9NHL5dPuKIH7k/edit), mais sont inutiles pour distinguer des dizaines de langues. Ainsi, CLD2 utilise des quadgrammes, associant à chaque combinaison de lettres les trois langues les plus susceptibles d'utiliser cette combinaison. Cela permet de couvrir 80 langues avec environ 1,5 Mo de tables et 160 langues plus en détail avec environ 5 Mo de tables.