Une méthode statistique simple que je l'ai utilisé avant:
Obtenir une bonne quantité de texte de formation de l'échantillon dans la langue que vous voulez détecter. Divisez-le en trigrammes, par ex. «Hello foobar» dans les trigrammes est: «Hel», «ell», «lo», «lo», «o f», «fo», «foo», «oob», «oba», 'bar'
Pour toutes les données sources, comptez la fréquence d'occurrence de chaque trigramme, vraisemblablement dans un dict où key = trigram et value = frequency. Vous pouvez limiter ceci aux 300 combinaisons les plus fréquentes de 3 lettres ou quelque chose si vous voulez. Pickle le dict quelque part.
Pour savoir si un nouvel échantillon de texte est écrit dans la même langue, répétez les étapes ci-dessus pour l'exemple de texte. Maintenant, tout ce que vous avez à faire est de calculer une corrélation entre les fréquences de trigramme de l'échantillon et les fréquences de trigrammes d'entraînement. Vous aurez besoin de jouer avec un peu pour choisir une corrélation de seuil au-dessus de laquelle vous êtes prêt à considérer que l'entrée est turque ou non.
Cette méthode a été montré très précis, battant des méthodes plus sophistiquées, voir
Cavnar & Trenkle (1994): "N-Gram-Based Text Categorization"
En utilisant trigrammes résout le problème de l'utilisation des listes de mots, car il y a un grand nombre de mots dans une langue donnée, surtout compte tenu des différentes permutations grammaticales. J'ai essayé de chercher des mots communs, le problème est qu'ils donnent souvent un faux positif pour une autre langue, ou eux-mêmes ont beaucoup de permutations. La méthode statistique ne nécessite pas beaucoup d'espace de stockage et ne nécessite pas d'analyse complexe. En passant, cette méthode ne fonctionne que pour les langues avec un système d'écriture phonétique, elle fonctionne mal, voire pas du tout, avec des langages utilisant un langage idéographique (c'est-à-dire chinois, japonais, coréen).
Sinon wikipedia a une section sur la Turquie dans its handy language recognition chart.
Dupliquer: http://stackoverflow.com/questions/257125/human-language-of-a-document –
@ S.Lott: J'ai ajouté un lien vers la question. – jfs