SimilaritySolution - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 8 min. de leitura
  • A API SimilaritySolution é um objeto programável usado em armazenamentos Inteligência preditiva.

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

    O fluxo de configuração da solução para treinamento é o seguinte:
    1. Crie um codificador usando a API Encoder.
    2. Use o construtor para criar um objeto de solução de semelhança.
    3. Adicione o objeto de solução ao armazenamento de soluções de semelhança usando o método SimilaritySolutionStore - add().
    4. Treine a solução usando o método submitTrainingJob(). Isso cria uma versão do objeto que você pode gerenciar usando a API SimilaritySolutionVersion.
    5. Obtenha previsões usando o método SimilaritySolutionVersion – forecast().
    Nota:
    Esta API é executada com privilégios totais. Para restringir o acesso do usuário, inclua um mecanismo de controle de acesso no script.

    Para obter diretrizes de uso, consulte Uso de APIs de ML.

    SimilaritySolution - SimilaritySolution(configuração do objeto)

    Cria uma solução de semelhança.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    config Objeto Objeto JavaScript que contém propriedades de configuração do solução.
    {  
      "domainName": "String",
      "encoder": {Object},
      "label": "String",
      "lookupDataset": {Object},
      "minRowCount": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "testDataset": {Object},
      "trainingFrequency": "String",
      "updateFrequency": "String"
    }
    config.domainName Cadeia de caracteres Opcional. Nome de domínio associado a este conjunto de dados. Consulte Domain Separation e Inteligência preditiva.

    Padrão: domínio atual, por exemplo, "global".

    config.codificador Objeto Objeto de codificador treinado a ser atribuído a esta solução. Consulte Codificador – Codificador (configuração do objeto).
    config.rótulo Cadeia de caracteres Identifica a tarefa de previsão.
    config.lookupDataset Objeto Nome do DatasetDefinition a ser usado como conjunto de pesquisa.
    config.minRowCount Cadeia de caracteres Opcional. Número mínimo de registros necessários no conjunto de dados para treinamento.

    Padrão: 10000

    config.processingLanguage Cadeia de caracteres Opcional. Idioma de processamento no formato de código de idioma ISO 639-1 de duas letras.

    Padrão: "en"

    config.palavras irrelevantes Matriz Opcional. Lista predefinida de cadeias de caracteres que o sistema gera automaticamente com base na configuração da propriedade language. Para obter detalhes, consulte Criar uma lista de palavras irrelevantes personalizadas.

    Padrão: palavras irrelevantes em inglês

    config.testDataset Objeto Nome do DatasetDefinition a ser verificado em busca de semelhanças com lookupDataset resultados.
    config.FrequênciaDetreinamento Cadeia de caracteres Opcional. A frequência para retreinar o modelo.
    Valores possíveis:
    • a cada_30_dias
    • a cada_60_dias
    • a cada_90_dias
    • a cada_120_dias
    • a cada_180_dias
    • run_once
    Padrão: run_once
    config.FrequênciaDeAtualização A frequência com que o modelo para a definição da solução deve ser recriado.
    Valores possíveis:
    • do_not_update
    • a cada_1_dia
    • a cada_1_hora
    • a cada_6_horas
    • a cada_12_horas
    • a cada_1_minuto
    • a cada_15_minutos
    • a cada_30_minutos
    Padrão: do_not_update

    O exemplo a seguir mostra como criar um objeto e adicioná-lo ao Armazenamento de 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()

    Cancela um trabalho para um objeto de solução que foi enviado para treinamento.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 3. Retorna
    Tipo Descrição
    Nenhum

    O exemplo a seguir mostra como cancelar um trabalho de treinamento existente.

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

    SimilaritySolution - getActiveVersion()

    Objeto Obtém o ativo SimilaritySolutionVersion.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 5. Retorna
    Tipo Descrição
    Objeto Objeto SimilaritySolutionVersion ativo.

    O exemplo a seguir mostra como obter uma SoluçãoDesimilaridade versão ativa da loja e retornar seu status de treinamento.

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

    Saída:

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

    SimilaritySolution - getAllVersions()

    Obtém todas as versões de um objeto SimilaritySolution.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 7. Retorna
    Tipo Descrição
    Matriz APIVersões existentes de um objeto de solução. Veja também SimilaritySolutionVersion.

    O exemplo a seguir mostra como obter todos os objetos de versão SimilaritySolution e chamar os métodos de versão da solução getVersionNumber() e getStatus() neles.

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

    Saída:

    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()

    Obtém a versão mais recente de uma solução.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 9. Retorna
    Tipo Descrição
    Objeto SimilaritySolutionVersion objeto correspondente à versão mais recente de e SimilaritySolution.

    O exemplo a seguir mostra como obter a versão mais recente de uma solução e retornar seu status de treinamento.

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

    Saída:

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

    SimilaritySolution - getName()

    Obtém o nome do objeto a ser usado para interação com a loja.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 11. Retorna
    Tipo Descrição
    Cadeia de caracteres Nome do objeto de solução.

    O exemplo a seguir mostra como atualizar SoluçãoDesimilaridade as informações do conjunto de dados e imprimir o nome do objeto.

    // 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());

    Saída:

    Solution Name: ml_x_snc_global_global_my_solution_definition_4

    SimilaritySolution - getProperties()

    Obtém propriedades do objeto de solução.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 13. Retorna
    Tipo Descrição
    Objeto Conteúdo dos detalhes do objeto Dataset e SimilaritySolution() no 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 Nome de domínio associado a este conjunto de dados. Consulte Domain Separation e Inteligência preditiva.

    Tipo de dados: Cadeia de caracteres.

    <Object>codificador Objeto codificador atribuído a esta solução. Consulte Codificador – Codificador (configuração do objeto).

    Tipo de dados: objeto.

    <Object>.rótulo Identifica a tarefa de previsão.
    {
      "label": "my first prediction"
    }

    Tipo de dados: Cadeia de caracteres.

    <Object>.lookupDatasetProperties Detalhes do DatasetDefinition() objeto usado como conjunto de pesquisa.
    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    Tipo de dados: objeto.

    <Object>.lookupDatasetProperties.tableName Nome da tabela para o conjunto de dados. Por exemplo, "tableName" : "Incidente".

    Tipo de dados: Cadeia de caracteres.

    <Object>.lookupDatasetProperties.fieldNames Lista de nomes de campo da tabela especificada como cadeias de caracteres. Por exemplo, "fieldNames" : ["short_description", "priority"].

    Tipo de dados: matriz.

    <Object>.lookupDatasetProperties.fieldNames.fieldDetails Lista de objetos JavaScript que especificam propriedades de campo.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    Tipo de dados: matriz.

    <Object>.lookupDatasetProperties.fieldNames.fieldDetails.<object>.name Nome do campo que define o tipo de informação ao qual restringir este conjunto de dados.

    Tipo de dados: Cadeia de caracteres.

    <Object>.lookupDatasetProperties.fieldDetails.<object>.type Tipo de campo de aprendizado de máquina.

    Tipo de dados: Cadeia de caracteres.

    <Object>.lookupDatasetProperties.fieldDetails.encodedQuery Cadeia de caracteres de consulta codificada no formato Glide padrão. Consulte Cadeias de caracteres de consulta codificadas.

    Tipo de dados: Cadeia de caracteres.

    <Object>.nome Nome atribuído pelo sistema.

    Tipo de dados: Cadeia de caracteres.

    <Object>.processingLanguage Idioma de processamento no formato de código de idioma ISO 639-1 de duas letras.

    Tipo de dados: Cadeia de caracteres.

    <Object>.escopo Escopo do objeto. Atualmente, o único valor válido é global.

    Tipo de dados: cadeia de caracteres

    <Object>palavras irrelevantes Opcional. Lista predefinida de cadeias de caracteres que o sistema gera automaticamente com base na configuração da propriedade language. Para obter detalhes, consulte Criar uma lista de palavras irrelevantes personalizadas.

    Tipo de dados: matriz.

    <Object>.testDatasetProperties Detalhes do DatasetDefinition() objeto usado para recuperar semelhanças entre os resultados pesquisados neste modelo e os resultados encontrados no lookupDataset.
    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    Tipo de dados: objeto.

    <Object>.testDatasetProperties.tableName Nome da tabela para o conjunto de dados. Por exemplo, "tableName" : "Incidente".

    Tipo de dados: Cadeia de caracteres.

    <Object>.testDatasetProperties.fieldNames Lista de nomes de campo da tabela especificada como cadeias de caracteres. Por exemplo, "fieldNames" : ["short_description", "priority"].

    Tipo de dados: matriz.

    <Object>.testDatasetProperties.fieldNames.fieldDetails Lista de objetos JavaScript que especificam propriedades de campo.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    Tipo de dados: matriz.

    <Object>.testDatasetProperties.fieldNames.fieldDetails.<object>.name Nome do campo que define o tipo de informação ao qual restringir este conjunto de dados.

    Tipo de dados: Cadeia de caracteres.

    <Object>.testDatasetProperties.fieldDetails.<object>.type Tipo de campo de aprendizado de máquina.

    Tipo de dados: Cadeia de caracteres.

    <Object>.testDatasetProperties.fieldDetails.encodedQuery Cadeia de caracteres de consulta codificada no formato Glide padrão. Consulte Cadeias de caracteres de consulta codificadas.

    Tipo de dados: Cadeia de caracteres.

    <Object>.trainingFrequency A frequência para retreinar o modelo.
    Valores possíveis:
    • a cada_30_dias
    • a cada_60_dias
    • a cada_90_dias
    • a cada_120_dias
    • a cada_180_dias
    • run_once
    Padrão: run_once

    Tipo de dados: Cadeia de caracteres.

    <Object>.updateFrequency A frequência com que o modelo para a definição da solução deve ser recriado.
    Valores possíveis:
    • do_not_update
    • a cada_1_dia
    • a cada_1_hora
    • a cada_6_horas
    • a cada_12_horas
    • a cada_1_minuto
    • a cada_15_minutos
    • a cada_30_minutos
    Padrão: do_not_update

    Tipo de dados: cadeia de caracteres

    O exemplo a seguir obtém as propriedades de um objeto de solução no repositório.

    var mySolution = sn_ml.SimilaritySolutionStore.get('ml_sn_global_global_similarity_solution');
    
    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
    Saída:
    *** 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(cadeia de caracteres "version")

    Obtém uma solução pelo número de versão fornecido.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    versão Cadeia de caracteres Número da versão existente de uma solução.
    Tabela 15. Retorna
    Tipo Descrição
    Objeto Versão especificada do objeto SimilaritySolution() na qual você pode chamar métodos de API SimilaritySolutionVersion.

    O exemplo a seguir mostra como obter o status de treinamento de uma solução por número de versão.

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

    Saída:

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

    SimilaritySolution - setActiveVersion(cadeia de caracteres version)

    Ativa uma versão especificada de uma solução na loja.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    versão Cadeia de caracteres Nome da versão do objeto SimilaritySolution() a ser ativada.

    Ativar esta versão desativa qualquer outra versão.

    Tabela 17. Retorna
    Tipo Descrição
    Nenhum

    O exemplo a seguir mostra como ativar uma versão de solução na Store.

    sn_ml.SimilaritySolution.setActiveVersion("ml_incident_categorization");

    SimilaritySolution - submitTrainingJob()

    Envia um trabalho de treinamento.

    Nota:
    Antes de executar este método, você deve primeiro adicionar uma solução à loja usando o método SimilaritySolutionStore - add().
    Tabela 18. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 19. Retorna
    Tipo Descrição
    Objeto SimilaritySolutionVersion objeto correspondente ao que SimilaritySolution está sendo treinado.
    // 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();