Ce package prend en charge une architecture généralisée pour l'identification du langage ( LID ) et l'identification du dialecte ( DID ) à l'aide d'un perceptron multicouche construit à l'aide de keras. DID prend également en charge un classificateur SVM linéaire à l'aide de Scikit-Learn.
Pour charger un modèle:
from idNet import idNet_Enrich
lid = idNet_Enrich("Path to model file", s3_bucket)
did = idNet_Enrich("Path to model file", s3_bucket)
S3_Bucket prend un STR contenant un seau S3 en option pour charger le modèle. Le nom de fichier du modèle doit contenir les préfixes nécessaires.
Une fois qu'un modèle de couvercle est chargé, il a les propriétés suivantes:
| Méthode | Description |
|---|---|
| lid.n_features | Nombre de fonctionnalités dans le modèle (c'est-à-dire, les bacs de hachage) |
| lid.n_classes | Nombre de langues dans le modèle |
| lid.lang_mappings | Dictionnaire de {"ISO_CODE": "Language_Name"} Mappings pour tous les codes ISO 639-3 |
| lid.langs | Liste des codes ISO 639-3 pour les langues présentes dans le modèle actuel |
Une fois qu'un modèle DID est chargé, il a les propriétés suivantes:
| Méthode | Description |
|---|---|
| DID.N_FEURURES | Nombre de fonctionnalités dans la grammaire utilisée pour apprendre le modèle |
| DID.N_CLASSES | Nombre de pays du modèle |
| fait.country_mappings | Dictionnaire de {"iso_code": "country_name"} mappages pour tous les codes de pays utilisés |
| fait. | Liste des codes de pays pour les dialectes régionaux (niveau de pays) présents dans le modèle actuel |
Les modèles chargés effectuent les tâches suivantes:
| Méthode | Description |
|---|---|
| lid.predict (données) | Prend un éventail de chaînes ou de cordes individuelles; Renvoie une table de codes linguistiques prévus |
| DID.predict (données) | Prend un éventail de chaînes ou de cordes individuelles; Renvoie une table de codes de pays prévus |
Remarque: les noms de fichiers du modèle doivent inclure ".Did" / ". LID" et ".mlp" / ". SVM" car ces informations sont utilisées pour déterminer le type de modèle!
Pour former de nouveaux modèles, les données de formation doivent être préparées. Ce processus est automatisé; Voir les répertoires DATA_DID et DATA_LID pour les directions et les scripts.
from idNet import idNet_Train
id = idNet_train()
| Argument | Taper | Description |
|---|---|---|
| taper | (str) | Que ce soit pour travailler avec l'identification du langage ou du dialecte |
| saisir | (str) | Path vers le dossier d'entrée |
| sortir | (str) | Chemin vers le dossier de sortie |
| S3 = faux | (booléen) | Si vrai, utilisez Boto3 pour interagir avec le seau S3 |
| s3_bucket = "" | (str) | Nom du seau S3 comme chaîne |
| surnom = "Langue" | (str) | Le surnom des modèles de sauvegarde / chargement |
| divide_data = true | (booléen) | Si vrai, ramper pour l'ensemble de données; Si faux, chargez-le |
| test_sample = 20 | (int) | Le nombre de fichiers pour chaque classe à utiliser pour tester |
| Seuil = 100 | (int) | Le nombre de fichiers requis avant que la langue / le pays ne soit inclus dans le modèle |
| échantillons_per_epoch = 5 | (int) | Nombre d'échantillons à utiliser par époque de formation |
| langue = "" | (str) | Pour DID, spécifie la langue du modèle actuel |
| lid_sample_size = 200 | (int) | Pour le couvercle, le nombre de caractères à autoriser par échantillon |
| did_sample_size = 1 | (int) | Pour DID, le nombre de 100 échantillons de mots à combiner |
| préannotate_cxg = false | (booléen) | Pour DID, si vrai enrichissez et enregistrez tous les vecteurs CXG |
| préanneated_cxg = false | (booléen) | Pour DID, si vrai chargez simplement les vecteurs CXG pré-enrichés |
| cxg_workers = 1 | (int) | Pour DID, si un ensemble de données pré-enrichissant, le nombre de travailleurs à utiliser |
| class_constraints = [] | (Liste des STR) | Option pour contraindre le nombre de classes |
| Merge_Dict = {} | (Dict) | Original: Nouvelles touches de nom |
id.train()
| Argument | Taper | Description |
|---|---|---|
| Model_Type = "MLP" | (str) | MLP ou SVM |
| lid_features = 524288 | (int) | Nombre de caractéristiques de caractéristiques N-gram à autoriser, hachage uniquement |
| lid_ngrams = (1,3) | (Tuple d'INTS) | Gamme de n-grammes au hachage |
| did_grammar = ".grammar.p" | (str) | Nom de la grammaire C2XG à utiliser pour l'annotation |
| c2xg_workers = 1 | (int) | Pour DID, Nombre de travailleurs pour les enrichissements C2XG |
| MLP_Sizes = (300, 300, 300) | (Tuple d'INTS) | Taille et nombre de couches; par exemple, 3 couches à 300 neurones chacun |
| cross_val = false | (booléen) | S'il faut utiliser la validation croisée plutôt qu'un ensemble de tests tenu |
| abandon = 0,25 | (flotter) | La quantité de décrochage à appliquer à chaque couche |
| activation = "relu" | (str) | Le type d'activation; passe juste le nom à Keras |
| Optimizer = "SGD" | (str) | Le type d'algorithme d'optimisation; passe juste le nom à Keras |