7. A system for assessing the pronunciation difficulties of a non-native speaker comprising: a processor; and a processor-readable storage medium in communication with the processor, wherein the processor-readable storage medium contains one or more programming instructions for causing the processor to perform a method of assessing the pronunciation difficulties of a non-native speaker, the method comprising: determining one or more sources of pronunciation difficulties between a language of a non-native speaker and a second language, assigning a weight to each source, calculating a phonetic difficulty score based on the one or more sources and the weight assigned to each source, calculating a language model score based on a sound comparison between the language of the non-native speaker and the second language, by calculating a language model for the language of the non-native speaker and the second language and calculating a cross-entropy of an utterance with respect to the language model of the language of the non-native speaker inversely weighted by the cross-entropy of the utterance with respect to the language model of the second language, wherein calculating the cross-entropy of an utterance with respect to the language model of the language of the non-native speaker comprises assigning a lower score to utterances of the second language that are similar to sounds of the language of the non-native speaker, and assigning a higher score to utterances of the second language that are not similar to sounds of the language of the non-native speaker, normalizing the phonetic difficulty score and the language model score, and calculating a metric from the normalized phonetic difficulty score and the normalized language model score.
7. A system for assessing the pronunciation difficulties of a non-native speaker comprising: a processor; and a processor-readable storage medium in communication with the processor, wherein the processor-readable storage medium contains one or more programming instructions for causing the processor to perform a method of assessing the pronunciation difficulties of a non-native speaker, the method comprising: determining one or more sources of pronunciation difficulties between a language of a non-native speaker and a second language, assigning a weight to each source, calculating a phonetic difficulty score based on the one or more sources and the weight assigned to each source, calculating a language model score based on a sound comparison between the language of the non-native speaker and the second language, by calculating a language model for the language of the non-native speaker and the second language and calculating a cross-entropy of an utterance with respect to the language model of the language of the non-native speaker inversely weighted by the cross-entropy of the utterance with respect to the language model of the second language, wherein calculating the cross-entropy of an utterance with respect to the language model of the language of the non-native speaker comprises assigning a lower score to utterances of the second language that are similar to sounds of the language of the non-native speaker, and assigning a higher score to utterances of the second language that are not similar to sounds of the language of the non-native speaker, normalizing the phonetic difficulty score and the language model score, and calculating a metric from the normalized phonetic difficulty score and the normalized language model score. 9. The system of claim 7 , wherein calculating the metric comprises calculating the sum of the normalized phonetic difficulty score and the normalized language model score.