9
votes

Détecter la langue

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?

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.


0 commentaires

3 Réponses :


3
votes

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.

La réponse à la question suivante pourrait également être pertinente: NLTK et détection de langue


0 commentaires

0
votes

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.


1 commentaires

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 comme code de langue pour l'hébreu qui a été officiellement obsolète depuis 1989.



2
votes

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']


0 commentaires