Encodeur - Global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 8 minutes de lecture
  • Objet pouvant contenir des scripts utilisé dans les Intelligence prédictive magasins. Cet objet convertit les données d’entrée en vecteurs de nombres, en fonction d’objectifs et de configurations spécifiques à l’encodeur. Les encodeurs peuvent être utilisés indépendamment pour exécuter des codages ou peuvent être configurés dans le cadre de solutions de codage de colonnes de texte.

    L’encodeur L’API requiert le module d’extension Intelligence prédictive (com.glide.platform_ml) et est fournie dans l’espace de noms sn_ml .

    Les encodeurs sont des objets de traitement de texte pré-entraînés ou entraînés en fonction des jeux de données de langues que vous fournissez. Vous pouvez former des encodeurs qui déterminent comment le système interprète et traite les champs de texte. Pour les solutions d’apprentissage machine qui incluent du texte, vous pouvez former un encodeur pour spécifier comment traiter le texte et utiliser l’encodeur formé dans une solution.

    Les encodeurs disposent d’une configuration et de versions, et peuvent être entraînés indépendamment avec leur propre fréquence de reformation. Les codeurs définis par API sont différents des encodeurs définis par l’interface utilisateur, car la réformation des codeurs définis par l’interface utilisateur est contrôlée par les solutions qui les utilisent.

    Le flux de configuration et de formation de l’encodeur est le suivant :
    1. Créez un ou plusieurs jeux de données à l’aide de l’API DatasetDefinition .
    2. Utilisez le constructeur pour créer un objet codeur.
    3. Ajoutez l’objet encoder au magasin d’encodeurs à l’aide de la méthode EncoderStore - add().
    4. Entraînez l’encodeur à l’aide de la méthode submitTrainingJob(). Cela crée une version de l’objet que vous pouvez gérer à l’aide de l’API EncoderVersion .
    Une fois que vous avez formé un encodeur, vous pouvez l’utiliser dans un objet solution :
    Remarque :
    Cette API s’exécute avec tous les privilèges. Pour restreindre l’accès des utilisateurs, incluez un mécanisme de contrôle d’accès dans le script.

    Pour obtenir des instructions d’utilisation, reportez-vous à la section Utilisation des API ML.

    Encodeur - Encodeur (configuration d’objet)

    Crée un encodeur.

    Pour obtenir un encodeur pour un ou plusieurs jeux de données, utilisez ce constructeur pour créer un objet encodeur avec un nom unique.

    Tableau 1. Paramètres
    Nom Type Description
    configuration Objet Objet JavaScript contenant les propriétés de configuration de l’attribut Encodeur.
    {
      "algorithmConfig": {Object},
      "datasets": [Array],
      "domainName": "String",
      "label": "String",
      "minRowCount": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    config.algorithmConfig Objet Facultatif. Objet JavaScript contenant les propriétés de configuration de l’algorithme.
    'algorithmConfig' : {
      "algorithm": "String"
    }
    config.algorithmConfig.algorithm Chaîne Nom de l’algorithme pour l’entraînement de cet encodeur.
    Valeurs possibles :
    • paravec: Intégration de mots de vecteur de paragraphe.
    • tf-idf: texte basé sur la fréquence de terme et la fréquence de document inverse (TF-IDF).
    config.datasets Tableau Liste des noms d’objets DatasetDefinition .
    config.domainName Chaîne Facultatif. Nom de domaine associé à cet ensemble de données. Reportez-vous aux sections Domain separation et Intelligence prédictive.

    Par défaut : domaine actuel, par exemple, « global ».

    config.label Chaîne Identifie la tâche de prédiction.
    config.minRowCount Chaîne Facultatif. Nombre minimum d’enregistrements requis dans le jeu de données pour la formation.

    Par défaut : 10 000

    config.processingLanguage Chaîne Facultatif. Langue de traitement au format de code de langue ISO 639-1 à deux lettres.

    Valeur par défaut : « en »

    config.mots vides Tableau Facultatif. Liste prédéfinie de chaînes que le système génère automatiquement en fonction du language paramètre de propriété. Pour plus d’informations, consultez Créer une liste de mots vides personnalisés.

    Valeur par défaut : mots vides en anglais

    config.trainingFrequency Chaîne Fréquence de reformation du modèle.
    Valeurs possibles :
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    Valeur par défaut : run_once

    L’exemple suivant montre comment créer une tâche d’encodeur et l’ajouter au magasin d’encodeurs.

    var myPrbData = new sn_ml.DatasetDefinition({
        'tableName' : 'problem',
        'fieldNames' : ['short_description'],
        'encodedQuery' : 'activeANYTHING'
    });
    
    var myIncidentData = new sn_ml.DatasetDefinition({
        'tableName' : 'incident',
        'fieldNames' : ['short_description', 'description'],
        'encodedQuery' : 'activeANYTHING'
    });
    
    var myEncoder = new sn_ml.Encoder({
        'label': "encoder",
        'datasets' : [myPrbData, myIncidentData],
        'algorithmConfig' : {
            'algorithm' : 'tf-idf'
        }
    });
    var myEncoderName = sn_ml.EncoderStore.add(myEncoder);

    Encodeur : cancelTrainingJob()

    Annule une tâche pour un objet d’encodeur qui a été soumis pour une formation.

    Tableau 2. Paramètres
    Nom Type Description
    Aucun
    Tableau 3. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment annuler une tâche de formation existante.

    var myEncoder = sn_ml.EncoderStore.get('ml_sn_global_global_encoder');
    
    myEncoder.cancelTrainingJob();

    Encodeur : getActiveVersion()

    Obtient l’élément actif EncoderVersion.

    Tableau 4. Paramètres
    Nom Type Description
    Aucun
    Tableau 5. Renvoie
    Type Description
    Objet Objet Active EncoderVersion .

    L’exemple suivant montre comment obtenir une version active Encodeur à partir du Store et renvoyer son état de formation.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getStatus()), null, 2));

    Sortie :

    {
      "state": "encoder_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

    Encodeur : getAllVersions()

    Obtient toutes les versions de un encodeur.

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    Tableau Versions existantes d’un objet codeur. Voir aussi API EncoderVersion .

    L’exemple suivant montre comment obtenir tous les objets de version de l’encodeur et y appeler les méthodes de version de l’encodeur getVersionNumber() et getStatus().

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    var mlEncoderVersions = mlEncoder.getAllVersions();
    
    for (i = 0; i < mlEncoderVersions.length; i++) {
    gs.print("Version " + mlEncoderVersions[i].getVersionNumber() + " Status: " + mlEncoderVersions[i].getStatus() +"\n");
    };

    Sortie :

    Version 3 Status: {"state":"encoder_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 2 Status: {"state":"encoder_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 1 Status: {"state":"encoder_cancelled","percentComplete":"0","hasJobEnded":"true"}

    Encodeur : getLatestVersion()

    Obtient la dernière version de un encodeur.

    Tableau 8. Paramètres
    Nom Type Description
    Aucun
    Tableau 9. Renvoie
    Type Description
    Objet EncoderVersion Objet correspondant à la dernière version de d’un Encoder().

    L’exemple suivant montre comment obtenir la dernière version d’une un encodeur et renvoyer son état de formation.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getLatestVersion().getStatus()), null, 2));

    Sortie :

    {
      "state": "encoder_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

    Encodeur : getName()

    Obtient le nom de l’objet à utiliser pour interagir avec le magasin.

    Tableau 10. Paramètres
    Nom Type Description
    Aucun
    Tableau 11. Renvoie
    Type Description
    Chaîne Nom de l’objet de l’encodeur.

    L’exemple suivant montre comment mettre à jour Encodeur les informations d’un jeu de données et imprimer le nom de l’objet.

    // Update encoder
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields(encoder));
    
    var myEncoder = new sn_ml.Encoder({
       'label': "my encoder",
       'datasets' : [myIncidentData],
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update encoder
    sn_ml.EncoderStore.update('ml_x_snc_global_global_my_definition_4', myEncoder);
    
    // print encoder name
    gs.print('Encoder Name: '+myEncoder.getName());

    Sortie :

    Encoder Name: ml_x_snc_global_global_my_definition_4

    Encodeur : getProperties()

    Obtient les propriétés de l’objet de solution.

    Tableau 12. Paramètres
    Nom Type Description
    Aucun
    Tableau 13. Renvoie
    Type Description
    Objet Contenu du jeu de données et détails de l’objet Encoder() dans EncoderStore.
    {
      "algorithmConfig" : {Object},
      "datasetsProperties": [Array],
      "domainName": "String",
      "label": "String",
      "name": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    <Object>.algorithmConfig.algorithm Nom de l’algorithme pour l’entraînement de cet encodeur.
    Valeurs possibles :
    • paravec: Intégration de mots de vecteur de paragraphe.
    • tf-idf: texte basé sur la fréquence de terme et la fréquence de document inverse (TF-IDF).

    Type de données : chaîne.

    <Object>.algorithmConfig Facultatif. Objet JavaScript contenant les propriétés de configuration de l’algorithme.
    'algorithmConfig' : {
      "algorithm": "String"
    }

    Type de données : objet.

    <Object>.datasetsPropriétés

    Liste des propriétés DatasetDefinition() associées à l’encodeur.

    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    Type de données : tableau.

    <Object>.datasetsProperties.tableName Nom de la table pour le jeu de données. Par exemple, « tableName » : « Incident ».

    Type de données : chaîne.

    <Object>.datasetsProperties.fieldNames Liste de noms de champs de la table spécifiée en tant que chaînes. Par exemple, « fieldNames » : [&quot;short_description », « priority&quot;].

    Type de données : tableau.

    <Object>.datasetsProperties.fieldNames.fieldDetails Liste des objets JavaScript qui spécifient les propriétés des champs.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    Type de données : tableau.

    <Object>.datasetsProperties.fieldNames.fieldDetails.<object>. Nom Nom du champ définissant le type d’informations auquel restreindre cet ensemble de données.

    Type de données : chaîne.

    <Object>.datasetsProperties.fieldDetails.<object>. Type Type de champ d’apprentissage machine.

    Type de données : chaîne.

    <Object>.datasetsProperties.fieldDetails.encodedQuery Chaîne de requête codée au format Glide standard. Reportez-vous à la section Chaînes de requêtes codées.

    Type de données : chaîne.

    <Object>.Domainname Nom de domaine associé à cet ensemble de données. Reportez-vous aux sections Domain separation et Intelligence prédictive.

    Type de données : chaîne.

    <Object>.Étiquette Identifie la tâche de prédiction.
    {
      "label": "my first prediction"
    }

    Type de données : chaîne.

    <Object>.Nom Nom affecté par le système.

    Type de données : chaîne.

    <Object>.predictedFieldName Identifie un champ à former pour la prévisibilité.

    Type de données : chaîne.

    <Object>.processingLanguage Langue de traitement au format de code de langue ISO 639-1 à deux lettres.

    Type de données : chaîne.

    <Object>.Portée Périmètre de l’objet. Actuellement, la seule valeur valide est globale.

    Type de données : chaîne

    <Object>.mots vides Facultatif. Liste prédéfinie de chaînes que le système génère automatiquement en fonction du language paramètre de propriété. Pour plus d’informations, consultez Créer une liste de mots vides personnalisés.

    Type de données : tableau.

    <Object>.trainingFrequency Fréquence de reformation du modèle.
    Valeurs possibles :
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    Valeur par défaut : run_once

    Type de données : chaîne.

    L’exemple suivant obtient les propriétés d’un objet solution un objet d’encodeur dans le magasin.

    var myEncoder = sn_ml.EncoderStore.get('ml_sn_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(myEncoder.getProperties()), null, 2));
    Sortie :
    *** Script: {
      "datasetsProperties": [
        {
          "tableName": "incident",
          "fieldNames": [
            "assignment_group",
            "short_description",
            "description"
          ],
          "encodedQuery": "activeANYTHING"
        }
      ],
      "domainName": "global",
      "label": "my encoder definition",
      "name": "ml_x_snc_global_global_my_encoder_definition",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "run_once"
    }

    Encodeur : getVersion(String version)

    Obtient un encodeur par le numéro de version fourni.

    Tableau 14. Paramètres
    Nom Type Description
    version Chaîne Numéro de version existant d’une un encodeur.
    Tableau 15. Renvoie
    Type Description
    Objet Version spécifiée de l’objet Encoder() sur lequel vous pouvez appeler les méthodes de l’API EncoderVersion .

    L’exemple suivant montre comment obtenir l’état de formation d’une Un encodeur par numéro de version.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getVersion('1').getStatus()), null, 2));

    Sortie :

    {
      "state": "encoder_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

    Encodeur : setActiveVersion(String version)

    Active une version spécifiée d’un encodeur dans le magasin.

    Tableau 16. Paramètres
    Nom Type Description
    version Chaîne Nom de la version de l’objet Encoder() à activer.

    L’activation de cette version désactive toute autre version.

    Tableau 17. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment activer un encodeur version de solution dans le magasin.

    sn_ml.Encoder.setActiveVersion("ml_incident_categorization");

    Encodeur : submitTrainingJob()

    Soumet une tâche de formation.

    Remarque :
    Avant d’exécuter cette méthode, vous devez d’abord ajouter un encodeur au magasin à l’aide de la méthode EncoderStore - add().
    Tableau 18. Paramètres
    Nom Type Description
    Aucun
    Tableau 19. Renvoie
    Type Description
    Objet EncodeurEncodeur de version Objet correspondant à l’objet de formation.

    L’exemple suivant montre comment créer un jeu de données, l’appliquer à un encodeur, ajoutez-le à un magasin et soumettre la tâche de formation.

    // Create a dataset 
    var myData = new sn_ml.DatasetDefinition({
    
      'tableName' : 'incident',
      'fieldNames' : ['assignment_group', 'short_description', 'description'],
      'encodedQuery' : 'activeANYTHING'
    
    });
    
    // Create an encoder 
    var myEncoder = new sn_ml.Encoder({
    
      'label': "my encoder definition",
      'datasets' : [myData],
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames':['short_description']
    
    });
    
    // Add the encoder to the store to later be able to retrieve it.
    var my_unique_name = sn_ml.EncoderStore.add(myEncoder);
    
    // Train the encoder - this is a long running job 
    var myEncoderVersion = myEncoder.submitTrainingJob();