Data Science, Python, Economie ...

Accueil

Détecter la langue d'un texte

Il peut être utile de trouver la langue d'un texte, afin de pouvoir le comparer à d'autres textes de langue similaire ou de savoir quel modèle linguistique utiliser pour l'analyser.

De nombreuses bilbiothèques python existent à ce sujet, avec des résultats variables. Une réponse de StackOverflow tente de lister les options disponibles, toutefois, toutes ne sont pas aussi efficaces / facilement installables / rapides.

langid est facile d'utilisation et semble assez efficace : voilà comment l'exploiter :

#!pip install langid
import langid

# On écrit d'abord une petite fonction afin de vérifier que la valeur analysée est bien textuelle et comprend plus de quelques caractères :

def lang_detect(text, str_limit=10) :
    if isinstance(text, str) and len(text) > str_limit :
	
	# la méthode à utiliser est langid.classify(text)
	# Elle retourne un tuple (langue estimée, probabilité non-normalisée associée)
	# On doit donc spécifier la première valeur
	
        return langid.classify(text)[0]
		
    else:
        return np.nan
    
data['lang'] = data.text.apply(lang_detect)