Est-ce que quelqu'un a une expérience comment déterminer la langue d'un texte à l'aide de Python? Y a-t-il un module disponible pour cela à Python? P>
J'ai déjà essayé l'application Google (http://ajax.googleapis.com/ajax/services/language/detect), et cela a fonctionné correctement mais je ne peux pas l'utiliser pendant un long terme pour des charges de fichiers texte. p>
3 Réponses :
Je n'ai jamais essayé cela, mais il semble que vous puissiez faire cela avec NLTK (langue naturelle ayant pris ). Voir ce Publication du blog pour un exemple. P>
La réponse à la question suivante pourrait également être pertinente: NLTK et détection de langue p>
Il y a API de détection de langue que vous pouvez utiliser à partir de Python en tant que service Web. Il accepte le texte via Get ou Post et fournit une sortie JSON avec des scores. P>
Cela coûte de l'argent et je suis quelque chose que 33% sûr qu'il ne s'agisse que de ré-vendre Google Translate, à en juger du fait qu'il utilise également iw code> comme code de langue pour l'hébreu qui a été officiellement obsolète depuis 1989.
Il y a des liaisons python officielles pour le Modèle de réseau de neurones CLD3 , ce qui utilise chrome pour la langue hors ligne Détection.
>>> import gcld3 >>> lang_identifier = gcld3.NNetLanguageIdentifier(0, 1000) >>> lang_identifier.Find lang_identifier.FindLanguage( lang_identifier.FindTopNMostFreqLangs( >>> a = lang_identifier.FindLanguage("This is a test") >>> a <gcld3.pybind_ext.Result object at 0x7f606e0ec3b0> >>> a. a.is_reliable a.language a.probability a.proportion >>> a.language 'en' >>> a = lang_identifier.FindTopNMostFreqLangs("This piece of text is in English. Този ÑекÑÑ Ðµ на ÐÑлгаÑÑки.", 5) >>> a [<gcld3.pybind_ext.Result object at 0x7f606e0ec4b0>, <gcld3.pybind_ext.Result object at 0x7f606e0ec570>, <gcld3.pybind_ext.Result object at 0x7f606e0ec470>, <gcld3.pybind_ext.Result object at 0x7f606e0ec5b0>, <gcld3.pybind_ext.Result object at 0x7f606e0ec530>] >>> [r.language for r in a] ['bg', 'en', 'und', 'und', 'und']