Como calcular a similaridade de freqüência de letras?

Dados esses dados (frequência relativa de letras de ambos os idiomas):

spanish => 'e' => 13.72, 'a' => 11.72, 'o' => 8.44, 's' => 7.20, 'n' => 6.83,
english => 'e' => 12.60, 't' => 9.37, 'a' => 8.34, 'o' => 7.70, 'n' => 6.80,

E, em seguida, calcular a freqüência de letras para a string "isso é um teste" me dá:

"t"=>21.43, "s"=>14.29, "i"=>7.14, "r"=>7.14, "y"=>7.14, "'"=>7.14, "h"=>7.14, "e"=>7.14, "l"=>7.14

Então, qual seria uma boa abordagem para combinar a frequência da letra de string dada com um idioma (e tentar detectar o idioma)? Eu vi (e testei) alguns exemplos usando a distância levenshtein, e parece funcionar bem até você adicionar mais idiomas.

"this is a test" gives (shortest distance:) [:english, 13] ...
"esto es una prueba" gives (shortest distance:) [:spanish, 13] ...

questionAnswers(3)

yourAnswerToTheQuestion