MLSolution - Global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 6 min. de leitura
  • A API MLSolution fornece métodos para lidar com Inteligência preditiva previsões e recuperar objetos de solução para todas as capacidades: semelhança, classificação e clustering).

    Esta API fornece métodos comumente usados entre todos os recursos de solução e métodos exclusivos para soluções de classificação e clustering.
    • Métodos comuns usados para todos os objetos de solução:
      • getCapability()
      • getVersion()
      • estáAtivo()
      • prever ()
    • Métodos usados somente para soluções de classificação e regressão:
      • applyPrediction()
    • Métodos usados somente para soluções de cluster:
      • getClusterAssignments ()
      • getClusterForRecord()
      • getClusterInfo()

    O MLSolution A API requer o plug-in Inteligência preditiva (com.glide.platform_ml) e é fornecida no namespace sn_ml.

    Os métodos neste objeto são instanciados usando MLSolutionFactory.

    MLSolution – applyPrediction(GlideRecord now_GR)

    Obtém o resultado de previsão para uma solução de classificação e o aplica ao GlideRecord de entrada se o valor de confiança for maior que o limite.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    now_GR GlideRecord Objeto GlideRecord que contém valores nos quais uma previsão é executada e os resultados são aplicados.
    Tabela 2. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a previsão foi aplicada:

    • verdadeiro: previsão aplicada
    • falso: previsão rejeitada
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    var inputGR = new GlideRecord("incident");
    inputGR.get("0ef47232db801300864adfea5e961912");
    
    mlSolution.applyPrediction(inputGR);

    MLSolution – getCapability()

    Obtém as informações de capacidade de uma solução treinada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres Tipo de solução treinada.
    Valores possíveis:
    • Semelhança
    • Classificação
    • Clustering
    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(Opções de objeto)

    Obtém atribuições para uma solução de clustering.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    opções Objeto Opcional. Valores a serem usados para restringir os resultados retornados por grupo e nível em uma solução de cluster.

    Padrão: retorne associações de cluster para todos os clusters.

    opções.agrupar_por Cadeia de caracteres Opcional. Identifica o campo de segmentação para o qual serão recuperadas associações de cluster, por exemplo, assign_group.

    Este campo fornece o mesmo agrupamento que as opções fornecidas na caixa de seleção Usar agrupar por no formulário Definição de cluster. As informações fornecidas variam de acordo com a tabela selecionada no campo Tabela. Para obter mais informações, consulte Criação e treinamento de uma solução de cluster .

    opções.cluster_id Cadeia de caracteres Opcional. ID do cluster de uma solução treinada na tabela Resumo do cluster [ml_cluster_summary].
    opções.top_n_per_cluster Número Número de resultados principais a serem recebidos para cada cluster.
    Tabela 6. Retornos
    Tipo Descrição
    Objeto Matriz JSON que contém informações do cluster em ordem crescente por cluster_id:
    • cluster_id: cadeia de caracteres. Número de cluster exclusivo em uma solução de clusters.
    • rec_display_id: cadeia de caracteres. Tipo e número de registro.
    • rec_sys_id: cadeia de caracteres. sys_id do registro.
    • group_by: se agrupado, nome do campo de segmentação associado a este cluster.
    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);
    
    

    Saída:

    [{"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)

    Obtém as informações do cluster para uma solução de cluster.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    now_GR GlideRecord Nome do GlideRecord de entrada.
    Tabela 8. Retornos
    Tipo Descrição
    Cadeia de caracteres O cluster_id da tabela Resumo do cluster [ml_cluster_summary] se o registro pertencer a um cluster. A cadeia de caracteres vazia será retornada se o registro não pertencer a um cluster.
    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(Opções de objeto)

    Obtém informações para uma solução de cluster especificada.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    opções Objeto Opcional. Limita os resultados retornados por grupo e nível em uma solução de clustering.

    Padrão: retorne associações de cluster para todos os clusters.

    opções.agrupar_por Cadeia de caracteres Opcional. Identifica o campo de segmentação para o qual serão recuperadas associações de cluster, por exemplo, assign_group.

    Este campo fornece o mesmo agrupamento que as opções fornecidas na caixa de seleção Usar agrupar por no formulário Definição de cluster. As informações fornecidas variam de acordo com a tabela selecionada no campo Tabela. Para obter mais informações, consulte Criação e treinamento de uma solução de cluster .

    opções.cluster_id Cadeia de caracteres Opcional. ID do cluster de uma solução treinada na tabela Resumo do cluster [ml_cluster_summary].
    Tabela 10. Retornos
    Tipo Descrição
    Objeto Matriz JSON que contém informações do cluster em ordem crescente por cluster_id:
    • cluster_id: cadeia de caracteres. Número de cluster exclusivo em uma solução de clusters.
    • cluster_quality: cadeia de caracteres. Número de 0 a 100. Números mais altos indicam maior densidade de cluster.
    • cluster_size: cadeia de caracteres. Número de registros em um cluster.
    • group_by: se agrupado, nome do campo de segmentação associado a este cluster.
    • cluster_concept: cadeia de caracteres. Conjunto de palavras que descreve o cluster em ordem decrescente de frequência.
    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);

    Saída:

    [ {"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()

    Obtém a versão da solução ativa.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Cadeia de caracteres Versão da solução ativa.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var solutionVersion = mlSolution.getVersion();

    MLSolution – isActive()

    Determina se uma solução está ativa.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se a solução está ativa.
    • verdadeiro: solução ativa
    • falso: solução inativa
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var isActive = mlSolution.isActive();

    MLSolution - prever (entrada de objeto, opções de objeto)

    Obtém os resultados de previsão do servidor de previsão de acordo com um GlideRecord ou uma matriz de pares de chave-valor.

    Você pode usar este método para chamar a previsão com vários registros de entrada porque o GlideRecord é um iterador.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    entrada Objeto GlideRecord ou matriz de objetos JSON que contém nomes e valores de campo como pares de chave-valor.
    opções Objeto Opcional. Par de chave-valor JSON com as seguintes propriedades:
    • top_n: número. Se fornecido, retorna os principais resultados, até o número especificado de previsões.
    • apply_threshold: booliano. Verifica o valor do limite da solução e o aplica ao conjunto de resultados. O valor do limite é o limite de solução para semelhança ou o limite de nível de classe para classificação. O valor padrão é verdadeiro.
    • custom_results_filter: cadeia de caracteres. Somente soluções de semelhança. Especifica o conjunto permitido do qual os resultados são retornados usando uma consulta codificada.
    Tabela 16. Retornos
    Tipo Descrição
    Objeto Objeto JSON que contém os resultados da previsão classificados por sys_id ou record_number.
    • PreviewValue: cadeia de caracteres. Valor que representa o resultado da previsão.
    • previstoSysId: cadeia de caracteres. O sys_id do valor previsto. Os resultados podem ser de qualquer tabela na qual as informações estão sendo previstas.
    • Confiança: número. Valor da confiança associada à previsão. Por exemplo, 53,84.
    • limite: Número. Valor do limite configurado associado à previsão.
    • detailsResults: objeto. Somente soluções de semelhança. Par de chave-valor JSON que contém detalhes sobre os índices de texto correspondentes.
    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));

    Saída:

    {
        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));