MLSolution - Global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 6 minutes de lecture
  • L’API MLSolution fournit des méthodes de gestion Intelligence prédictive des prédictions et de récupération d’objets de solution pour toutes les fonctionnalités : similarité, classification et clustering).

    Cette API fournit des méthodes couramment utilisées parmi toutes les options de solution et les méthodes propres aux solutions de classification et de clustering.
    • Méthodes communes utilisées pour tous les objets de solution :
      • getCapability()
      • getVersion()
      • isActive()
      • predict()
    • Méthodes utilisées uniquement pour les solutions de classification et de régression :
      • applyPrediction()
    • Méthodes utilisées uniquement pour les solutions de mise en grappe :
      • getClusterAssignments()
      • getClusterForRecord()
      • getClusterInfo()

    La MLSolution 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 .

    Les méthodes de cet objet sont instanciées à l’aide de MLSolutionFactory.

    MLSolution : applyPrediction(GlideRecord now_GR)

    Obtient le résultat de prédiction pour une solution de classification et l’applique au GlideRecord d’entrée si la valeur de confiance est supérieure au seuil.

    Tableau 1. Paramètres
    Nom Type Description
    now_GR GlideRecord Objet GlideRecord contenant des valeurs sur lesquelles exécuter une prédiction et appliquer les résultats.
    Tableau 2. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la prédiction a été appliquée :

    • true : prédiction appliquée
    • false : prédiction rejetée
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    var inputGR = new GlideRecord("incident");
    inputGR.get("0ef47232db801300864adfea5e961912");
    
    mlSolution.applyPrediction(inputGR);

    MLSolution : getCapability()

    Obtient les informations d’aptitude d’une solution formée.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Chaîne Type de solution formée.
    Valeurs possibles :
    • Similarité
    • Classification
    • Mise en grappe
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;
    options.top_n_per_cluster = 3;
    
    if (mlSolution.getCapability() == 'clustering') {
    	var results = mlSolution.getClusterAssignments(options);
    	// pretty print JSON results
    	gs.print(JSON.stringify(JSON.parse(results), null, 2));
    }

    MLSolution : getClusterAssignments(options de l’objet)

    Obtient des affectations pour une solution de mise en grappe.

    Tableau 5. Paramètres
    Nom Type Description
    options Objet Facultatif. Valeurs à utiliser pour affiner les résultats renvoyés par groupe et par niveau dans une solution de clustering.

    Par défaut : renvoyer les appartenances à toutes les grappes.

    options.group_by Chaîne Facultatif. Identifie le champ de segmentation pour lequel récupérer les appartenances à la grappe, par exemple assignment_group.

    Ce champ fournit le même regroupement que les options fournies dans la case à cocher Utiliser le groupe par du formulaire Définition de mise en grappe . Les informations fournies varient en fonction de la table sélectionnée dans le champ Table . Pour plus d’informations, consultez Créer et former une solution de mise en grappe .

    options.cluster_id Chaîne Facultatif. ID de grappe d’une solution formée dans la table Récapitulatif de la grappe [ml_cluster_summary].
    options.top_n_per_cluster Numéro Nombre des meilleurs résultats à recevoir pour chaque grappe.
    Tableau 6. Renvoie
    Type Description
    Objet Tableau JSON contenant des informations de grappe par ordre croissant de cluster_id :
    • cluster_id : Chaîne. Numéro de grappe unique au sein d’une solution de grappes.
    • rec_display_id : chaîne de caractères. Type et numéro d’enregistrement.
    • rec_sys_id : chaîne de caractères. sys_id d’enregistrement.
    • group_by : s’il s’agit du champ de segmentation associé à cette grappe.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = '1';
    // returns top 3 results per cluster
    options.top_n_per_cluster = 3;
    
    var results = mlSolution.getClusterAssignments(options);
    
    

    Sortie :

    [{"cluster_id":"1","rec_display_id":"Incident: INC0014483","rec_sys_id":"04e33e7adb401300864adfea5e961900","group_by":"network"},
     {"cluster_id":"1","rec_display_id":"Incident: INC0011133","rec_sys_id":"5bd23af2db401300864adfea5e96194d","group_by":"network"}]

    MLSolution : getClusterForRecord(GlideRecord now_GR)

    Obtient les informations de grappe pour une solution de mise en grappe.

    Tableau 7. Paramètres
    Nom Type Description
    now_GR GlideRecord Nom de l’entrée GlideRecord.
    Tableau 8. Renvoie
    Type Description
    Chaîne Le cluster_id de la table Récapitulatif de la grappe [ml_cluster_summary] si l’enregistrement appartient à une grappe. La chaîne vide est renvoyée si l’enregistrement n’appartient pas à une grappe.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    var now_GR = new GlideRecord('incident');
    if (mlSolution.getCapability() == 'clustering') {
    var clusterId = mlSolution.getClusterForRecord(now_GR);
    }

    MLSolution : getClusterInfo(options de l’objet)

    Obtient des informations pour une solution de mise en grappe spécifiée.

    Tableau 9. Paramètres
    Nom Type Description
    options Objet Facultatif. Réduit les résultats renvoyés par groupe et par niveau au sein d’une solution de mise en grappe.

    Par défaut : renvoyer les appartenances à toutes les grappes.

    options.group_by Chaîne Facultatif. Identifie le champ de segmentation pour lequel récupérer les appartenances à la grappe, par exemple assignment_group.

    Ce champ fournit le même regroupement que les options fournies dans la case à cocher Utiliser le groupe par du formulaire Définition de mise en grappe . Les informations fournies varient en fonction de la table sélectionnée dans le champ Table . Pour plus d’informations, consultez Créer et former une solution de mise en grappe .

    options.cluster_id Chaîne Facultatif. ID de grappe d’une solution formée dans la table Récapitulatif de la grappe [ml_cluster_summary].
    Tableau 10. Renvoie
    Type Description
    Objet Tableau JSON contenant des informations de grappe par ordre croissant de cluster_id :
    • cluster_id : Chaîne. Numéro de grappe unique au sein d’une solution de grappes.
    • cluster_quality : chaîne de caractères. Nombre compris entre 0 et 100. Des nombres plus élevés indiquent une densité de grappes plus élevée.
    • cluster_size : Chaîne. Nombre d’enregistrements dans une grappe.
    • group_by : s’il s’agit du champ de segmentation associé à cette grappe.
    • cluster_concept : chaîne de caractères. Ensemble de mots décrivant la grappe par ordre décroissant de fréquence.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;
    
    var results = mlSolution.getClusterInfo(options);

    Sortie :

    [ {"cluster_id":"1","cluster_quality":"56.6","cluster_size":"46","group_by":"SLA","cluster_concept":"issue occur capacity ..."},
      {"cluster_id":"2","cluster_quality":"55.47","cluster_size":"75","group_by":"SLA","cluster_concept":"clone instance request ..."},
    ... ]

    MLSolution : getVersion()

    Obtient la version de la solution active.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne Version de la solution active.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var solutionVersion = mlSolution.getVersion();

    MLSolution : isActive()

    Détermine si une solution est active.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    Booléen Marqueur indiquant si la solution est active.
    • true : solution active
    • faux : solution inactive
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var isActive = mlSolution.isActive();

    MLSolution : predict(entrée de l’objet, options de l’objet)

    Obtient les résultats de prédiction à partir du serveur de prédiction en fonction d’un GlideRecord ou d’un tableau de paires clé-valeur.

    Vous pouvez utiliser cette méthode pour appeler la prédiction avec plusieurs enregistrements d’entrée, car GlideRecord est un itérateur.

    Tableau 15. Paramètres
    Nom Type Description
    entrée Objet GlideRecord (en anglais seulement) ou tableau d’objets JSON contenant des noms de champs et des valeurs sous forme de paires clé-valeur.
    options Objet Facultatif. Paire clé-valeur JSON avec les propriétés suivantes :
    • top_n : Nombre. Si elle est fournie, renvoie les meilleurs résultats, jusqu’au nombre spécifié de prédictions.
    • apply_threshold : booléen. Vérifie la valeur de seuil de la solution et l’applique à l’ensemble de résultats. La valeur de seuil est le seuil de la solution pour la similarité ou le seuil de niveau classe pour la classification. La valeur par défaut est vrai.
    • custom_results_filter : chaîne de caractères. Solutions de similarité uniquement. Spécifie l’ensemble autorisé à partir duquel les résultats sont renvoyés à l’aide d’une requête codée.
    Tableau 16. Renvoie
    Type Description
    Objet Objet JSON contenant les résultats de prédiction triés par sys_id ou par record_number.
    • predictedValue : chaîne. Valeur représentant le résultat de prédiction.
    • predictedSysId : chaîne. sys_id de la valeur prévue. Les résultats peuvent provenir de n’importe quelle table sur laquelle des informations sont prévues.
    • confiance : Nombre. Valeur de confiance associée à la prédiction. Par exemple, 53.84.
    • seuil : Nombre. Valeur du seuil configuré associé à la prédiction.
    • detailedResults : objet. Solutions de similarité uniquement. Paire clé-valeur JSON contenant des détails sur les index de texte correspondants.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // single GlideRecord input
    var input = new GlideRecord("incident");
    input.get("0ef47232db801300864adfea5e961912");
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // multiple GlideRecord input
    var input = new GlideRecord("incident");
    input.addQuery("sys_created_onONLast week@javascript:gs.beginningOfLastWeek()@javascript:gs.endOfLastWeek()");
    input.query();
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));

    Sortie :

    {
        input_gr_sys_id1: [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]
    
                    }, 
                    {
                        predictedValue : yyy,
                        predictedSysId : xx1,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]
                    }
            ],
        input_gr_sys_id2 : [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]
    
                    }, 
                ...
            ]
    }
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // key-value pairs input
    var input = [{"short_description":"my email is not working"}, 
    			{short_description:"need help with password"}];
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));