En lisant cet article, vous apprendrez à utiliser les liaisons Python du CLD3 de Google pour détecter et identifier les langues utilisées dans un texte. Pour votre information, Compact Language Detector v3 (CLD3) est un package d'identification de langue publié par Google. Au moment d'écrire ces lignes, il a un support énorme pour la plupart des langues courantes. Vous pouvez trouver la liste complète au lien suivant .
Il contient un modèle formé et un code d'inférence basé sur C++. Sur la base de la documentation officielle, le
"... le code d'inférence extrait les ngrammes de caractères du texte d'entrée et calcule la fraction de fois où chacun d'eux apparaît.
Le modèle calcule la moyenne des inclusions correspondant à chaque type de ngramme en fonction des fractions, et les inclusions moyennes sont concaténées pour produire la couche d'intégration. Les composants restants du réseau sont une couche cachée (linéaire rectifiée) et une couche softmax.
L'architecture de base pour CLD3 est la suivante qui utilise bananacomme texte d'entrée :
Depuis fin août 2020, ils ont publié un package Python officiel qui est livré avec du code d'inférence en Python. Consultez le code suivant du référentiel officiel pour l'implémentation réelle basée sur pybindpackage.
Passons à la section suivante et commençons à installer les modules nécessaires.
Pour installer CLD3 à partir de PyPI, vous devez installer les packages supplémentaires suivants sur votre ordinateur local :
protocexécutablelibprotocles en-têtes de développement et la bibliothèque Protobufg++Si vous utilisez le système d'exploitation Debian/Ubuntu, exécutez la commande suivante :
sudo apt-get install -y --no-install-recommends g++ protobuf-compiler libprotobuf-dev
Il est fortement recommandé de créer un environnement virtuel avant de poursuivre l'installation. Activez-le et exécutez la commande suivante dans votre terminal pour installer les liaisons Python officielles pour CLD3 :
pip install gcld3
Une fois que vous avez installé tous les packages requis, vous pouvez l'utiliser directement dans votre script Python. Créez un nouveau script Python appelé test.py.
Ajoutez l'instruction d'importation suivante en haut du fichier.
import gcld3
Ensuite, initialisez un nouvel NNetLanguageIdentifierobjet.
detector = gcld3.NNetLanguageIdentifier(min_num_bytes=0, max_num_bytes=1000)
min_num_bytes: nombre minimum d'octets à prendre en compte lors de l'inférence. Définir ceci sur une valeur supérieure à 0 renverra undune chaîne vide.max_num_bytes: nombre maximum d'octets à prendre en compte lors de l'inférence. Il tronquera les octets en excès si le texte d'entrée dépasse la valeur définie.detector = gcld3.NNetLanguageIdentifier(min_num_bytes=10, max_num_bytes=1000)
CDL3 est livré avec deux fonctions d'inférence. La première est la FindLanguagefonction destinée à l'inférence en un seul langage. Il accepte un seul textargument qui représente l'exemple de texte.
sample = "Welcome to Medium."
result = detector.FindLanguage(text=sample)
language: code de langue représenté dans le style BCP-47.is_reliable: un booléen qui reflète la fiabilité de la détection.proportion: un flottant qui représente la proportion et les poids de la langue prédite dans l'exemple de texte. Plage de 0 à 1. Ce champ est utile lors de la détection multilingue.probability: le niveau de confiance de la prédiction. Plage de 0 à 1.result.language
result.is_reliable
result.proportion
result.probability
Vous devez utiliser FindTopNMostFreqLangspour détecter plusieurs langues. En plus de l' textargument, il accepte un autre argument entier appelé num_langs.
sample = ("Welcome to Medium. Bienvenido a Medium.")
results = detector.FindTopNMostFreqLangs(text=sample, num_langs=2)
for i in results:
print(i.language)
Vous pouvez trouver le code complet dans l' essentiel suivant .
Récapitulons ce que vous avez appris aujourd'hui.
Cet article a commencé par une brève introduction sur l'architecture et le concept de base du détecteur de langage compact v3 de Google.
Ensuite, il a couvert le processus d'installation en fonction du système d'exploitation dont vous disposez. Le package Python pour CLD3 est installé via pip install.
Dans la section de mise en œuvre, il a expliqué sur la base de FindLanguageet FindTopNMostFreqLangsles fonctions. Les deux fonctions renvoient soit a singlesoit une liste d' Resultobjets contenant quelques paramètres utiles tels que languageet probability.
Merci d'avoir lu cet article. J'espère que vous reviendrez lire mes autres articles !
Lorsque vous faites une demande à facebook.com, votre ordinateur recherche le nom de domaine pour traduire ce nom de domaine en une adresse IP afin que votre ordinateur puisse établir cette connexion.
Le dernier jour, en raison de conditions inquiétantes au Pakistan, le gouvernement a annoncé la fermeture de tous les établissements d'enseignement. Les étudiants ont été invités à quitter les auberges. J'ai essayé de contacter les membres de ma famille pour les informer, mais je n'ai pas pu les contacter car personne ne pouvait accéder au Internet ce jour-là, selon la situation j'ai quitté l'auberge sans penser aux conséquences car je n'avais pas d'autre choix. Comment j'ai ressenti la diversité autour de moi.
Dans le monde interconnecté d'aujourd'hui, la menace des cyberattaques est plus répandue que jamais. Les cybercriminels et les acteurs des États-nations cherchent constamment à exploiter les vulnérabilités et à voler des données précieuses, ce qui représente un risque important pour les organisations de toutes tailles.
C'est un matin brillamment doré dans les collines de l'ouest, alors que les premiers rayons du soleil illuminent l'herbe givrée des plaines. Un troupeau de bovins Angus placides, d'un noir de jais et massif, se découpe sur le lever du soleil alors qu'ils descendent un sentier battu vers un lieu qu'ils connaissent tous bien; le bar du petit-déjeuner.
Ça me frappe tout à coup, comme c'est si souvent le cas C'est à nouveau le milieu du chemin <Non, pas celui du Pacifique, toi marron, celui du carnaval> Chaque gros titre fort… ..
« Il me protégera quand je serai en danger. Il me cachera dans sa tente.