SimilaritySolution - Global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 8 minutes de lecture
  • L’API SimilaritySolution est un objet pouvant contenir des scripts et pouvant être utilisé dans les Intelligence prédictive magasins.

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

    Le flux de configuration à la formation de la solution est le suivant :
    1. Créez un encodeur à l’aide de l’API Encoder .
    2. Utilisez le constructeur pour créer un objet de solution de similarité.
    3. Ajoutez l’objet de solution au magasin de solutions de similarité à l’aide de la méthode SimilaritySolutionStore - add().
    4. Formez la solution à 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 SimilaritySolutionVersion .
    5. Obtenir des prédictions à l’aide de la méthode SimilaritySolutionVersion – predict().
    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, consultez Utilisation des API ML.

    SimilaritySolution : SimilaritySolution(configuration de l’objet)

    Crée une solution de similarité.

    Tableau 1. Paramètres
    Nom Type Description
    configuration Objet Objet JavaScript contenant les propriétés de configuration de la solution.
    {  
      "domainName": "String",
      "encoder": {Object},
      "label": "String",
      "lookupDataset": {Object},
      "minRowCount": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "testDataset": {Object},
      "trainingFrequency": "String",
      "updateFrequency": "String"
    }
    config.domainName Chaîne Facultatif. Nom du domaine associé à cet ensemble de données. Voir Séparation de domaine et Intelligence prédictive.

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

    config.encoder Objet Objet d’encodeur formé à affecter à cette solution. Reportez-vous à Encodeur - Encodeur (configuration d’objet).
    config.label Chaîne Identifie la tâche de prédiction.
    config.lookupDataset Objet Nom de DatasetDefinition à utiliser comme jeu de recherche.
    config.minRowCount Chaîne Facultatif. Nombre minimum d’enregistrements requis dans l’ensemble de données pour la formation.

    Par défaut : 10 000

    config.processingLanguage Chaîne Facultatif. Traitement du langage au format de code de langue ISO 639-1 à deux lettres.

    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, reportez-vous à la section Créer une liste de mots vides personnalisés.

    Par défaut : mots vides en anglais

    config.testDataset Objet Nom de la DatasetDefinition à analyser pour rechercher des similitudes avec lookupDataset les résultats.
    config.trainingFrequency Chaîne Facultatif. 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
    Par défaut : run_once
    config.updateFrequency Fréquence à laquelle le modèle de la définition de la solution doit être reconstruit.
    Valeurs possibles :
    • do_not_update
    • every_1_day
    • every_1_hour
    • every_6_hours
    • every_12_hours
    • every_1_minute
    • every_15_minutes
    • every_30_minutes
    Par défaut : do_not_update

    L’exemple suivant montre comment créer un objet et l’ajouter à la Magasin SimilaritySolution.

    var incidentData = new sn_ml.DatasetDefinition({
            'tableName' : 'incident',
            'fieldNames' : ['category', 'short_description']        
        });
        var kbData = new sn_ml.DatasetDefinition({
            'tableName' : 'kb_knowledge',
            'fieldNames' : ['short_description'],
            'encodedQuery' : 'active=true'
        });
        var encoder = sn_ml.EncoderStore.get('GloVe');
        var mySolution = new sn_ml.SimilaritySolution({
            'label': "similarity solution",
            'lookupDataset' : kbData,
            'testDataset' : incidentData,        
            'encoder' : encoder        
        });
        
        // add solution
        var solutionName = sn_ml.SimilaritySolutionStore.add(mySolution);

    SimilaritySolution : cancelTrainingJob()

    Annule une tâche pour Un objet de solution qui a été soumis pour une formation.

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

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

    var mySolution = sn_ml.SimilaritySolutionStore.get('ml_sn_global_global_similarity');
    
    mySolution.cancelTrainingJob();

    SimilaritySolution : getActiveVersion()

    Obtient l’actif Objet SimilaritySolutionVersion.

    Tableau 4. Paramètres
    Nom Type Description
    Aucun
    Tableau 5. Renvoie
    Type Description
    Objet Objet SimilaritySolutionVersion actif.

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

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_similarity');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));

    Sortie :

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

    SimilaritySolution : getAllVersions()

    Obtient toutes les versions de un objet SimilaritySolution .

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    Tableau Versions existantes d’un objet de solution. Voir également Version de la solution de similarité API.

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

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_Similarity');
    
    var mlSolutionVersions = mlSolution.getAllVersions();
    
    for (i = 0; i < mlSolutionVersions.length; i++) {
    gs.print("Version " + mlSolutionVersions[i].getVersionNumber() + " Status: " + mlSolutionVersions[i].getStatus() +"\n");
    

    Sortie :

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

    SimilaritySolution : getLatestVersion()

    Obtient la dernière version de une solution.

    Tableau 8. Paramètres
    Nom Type Description
    Aucun
    Tableau 9. Renvoie
    Type Description
    Objet SimilaritySolutionVersion Objet correspondant à la dernière version de une SimilaritySolution.

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

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_Similarity');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));

    Sortie :

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

    SimilaritySolution : getName()

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

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

    L’exemple suivant montre comment mettre à jour Solution de similarité les informations du jeu de données et imprimer le nom de l’objet.

    // Update solution
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('Similarity'));
    
    var mySimilarity = new sn_ml.SimilaritySolution({
       'label': "my Similarity solution",
       'dataset' : myIncidentData,
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update solution
    sn_ml.SimilaritySolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', mySimilarity);
    
    // print solution name
    gs.print('Solution Name: '+mySimilarity.getName());

    Sortie :

    Solution Name: ml_x_snc_global_global_my_solution_definition_4

    SimilaritySolution : 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 Le contenu de l’ensemble de données et les détails de l’objet SimilaritySolution() dans le SimilaritySolutionStore.
    {
      "domainName": "String",
      "encoder": {Object},
      "label": "String",
      "lookupDatasetProperties": {Object},
      "name": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "testDatasetProperties": {Object},
      "trainingFrequency": "String",
      "updateFrequency": "String"
    }
    <Object>.domainName Nom du domaine associé à cet ensemble de données. Voir Séparation de domaine et Intelligence prédictive.

    Type de données : chaîne.

    <Object>.codeur Objet encodeur affecté à cette solution. Reportez-vous à Encodeur - Encodeur (configuration d’objet).

    Type de données : Objet.

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

    Type de données : chaîne.

    <Object>.lookupDatasetProperties Détails de DatasetDefinition() Objet utilisé comme jeu de recherche.
    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    Type de données : Objet.

    <Object>.lookupDatasetProperties.tableName Nom de la table pour l’ensemble de données. Par exemple, « tableName » : « Incident ».

    Type de données : chaîne.

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

    Type de données : tableau.

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

    Type de données : tableau.

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

    Type de données : chaîne.

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

    Type de données : chaîne.

    <Object>.lookupDatasetProperties.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>.nom Nom affecté par le système.

    Type de données : chaîne.

    <Object>.processingLanguage Traitement du langage 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 global.

    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, reportez-vous à la section Créer une liste de mots vides personnalisés.

    Type de données : tableau.

    <Object>.testDatasetProperties Détails de DatasetDefinition() Objet utilisé pour récupérer les similitudes entre les résultats recherchés dans ce modèle et les résultats trouvés dans le lookupDatasetfichier .
    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    Type de données : Objet.

    <Object>.testDatasetProperties.tableName Nom de la table pour l’ensemble de données. Par exemple, « tableName » : « Incident ».

    Type de données : chaîne.

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

    Type de données : tableau.

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

    Type de données : tableau.

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

    Type de données : chaîne.

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

    Type de données : chaîne.

    <Object>.testDatasetProperties.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>.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
    Par défaut : run_once

    Type de données : chaîne.

    <Object>.updateFrequency (en anglais seulement) Fréquence à laquelle le modèle de la définition de la solution doit être reconstruit.
    Valeurs possibles :
    • do_not_update
    • every_1_day
    • every_1_hour
    • every_6_hours
    • every_12_hours
    • every_1_minute
    • every_15_minutes
    • every_30_minutes
    Par défaut : do_not_update

    Type de données : chaîne

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

    var mySolution = sn_ml.SimilaritySolutionStore.get('ml_sn_global_global_similarity_solution');
    
    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
    Sortie :
    *** Script: {
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [],
        "name": "wordCorpusA"
      },
      "label": "similarity",
      "lookupDatasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "short_description"
        ]
      },
      "name": "ml_x_snc_global_global_similarity",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "testDatasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "short_description"
        ]
      },
      "trainingFrequency": "every_30_days",
      "updateFrequency": "do_not_update"
    }

    SimilaritySolution : getVersion(version de chaîne)

    Obtient une solution par numéro de version fourni.

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

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

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_similarity');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));

    Sortie :

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

    SimilaritySolution : setActiveVersion(version de chaîne)

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

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

    L’activation de cette version désactive toutes les autres versions.

    Tableau 17. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment activer une version de solution dans le Store.

    sn_ml.SimilaritySolution.setActiveVersion("ml_incident_categorization");

    SimilaritySolution : submitTrainingJob()

    Soumet une tâche de formation.

    Remarque :
    Avant d’exécuter cette méthode, vous devez d’abord ajouter une solution au magasin à l’aide de la méthode SimilaritySolutionStore - add().
    Tableau 18. Paramètres
    Nom Type Description
    Aucun
    Tableau 19. Renvoie
    Type Description
    Objet SimilaritySolutionVersion Objet correspondant à l’objet d’entraînement SimilaritySolution .
    // Create a dataset 
    var incidentData = new sn_ml.DatasetDefinition({
        'tableName' : 'incident',
        'fieldNames' : ['category', 'short_description']
    });
    
    var kbData = new sn_ml.DatasetDefinition({
        'tableName' : 'kb_knowledge',
        'fieldNames' : ['short_description'],
        'encodedQuery' : 'active=true'
    });
    
    // Create a solution 
    var encoder = sn_ml.EncoderStore.get('GloVe');
    var mySolution = new sn_ml.SimilaritySolution({
        'label': "similarity solution",
        'lookupDataset' : kbData,
        'testDataset' : incidentData,
        'encoder' : encoder,
    });
    
    // Add solution
    var solutionName = sn_ml.SimilaritySolutionStore.add(mySolution);
    
    
    // Train the solution - this is a long running job 
    var mySimilarityVersion = mySolution.submitTrainingJob();