EncoderVersion - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 6 min. de leitura
  • A API EncoderVersion fornece 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.

    Esta API é usada para trabalhar com versões de codificador com base em objetos de API do codificador no armazenamentodo codificador.

    O sistema ativa a versão mais recente da codificador ao concluir o treinamento e permite que apenas uma versão esteja ativa por vez. No entanto, você pode ativar qualquer versão treinada anteriormente que deseja usar para fazer previsões.

    Os métodos nesta API podem ser acessados usando os seguintes métodos do codificador :

    EncoderVersion – getProperties()

    Obtém as propriedades do objeto do codificador e número da versão.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Objeto Conteúdo dos detalhes do conjunto de dados e do codificador. Os resultados variam de acordo com a configuração da propriedade do objeto.
    {
      "algorithmConfig" : {Object},
      "datasetsProperties": [Array],
      "domainName": "String",
      "isActive": "String",
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String",
      "versionNumber": "Number"
    }
    <Object>.algorithmConfig Opcional. Objeto JavaScript que contém propriedades de configuração do algoritmo.
    'algorithmConfig' : {
      "algorithm": "String"
    }

    Tipo de dados: objeto.

    <Object>.algoritmoConfig.algoritmo Nome do algoritmo para treinar este codificador.
    Valores possíveis:
    • paravec: incorporação de palavra vetorial de parágrafo.
    • tf-idf: Texto baseado em Frequência Termo–Frequência Inversa do Documento (TF-IDF).

    Tipo de dados: cadeia de caracteres.

    <Object>.datasetsProperties

    Lista de propriedades DatasetDefinition() associadas ao codificador.

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

    Tipo de dados: matriz.

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

    Tipo de dados: cadeia de caracteres.

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

    Tipo de dados: matriz.

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

    Tipo de dados: matriz.

    <Object>.datasetsProperties.fieldNames.fieldDetails.<object>.nome Nome do campo que define o tipo de informação ao qual este conjunto de dados será restrito.

    Tipo de dados: cadeia de caracteres.

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

    Tipo de dados: cadeia de caracteres.

    <Object>.datasetsProperties.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>.domainName Nome do domínio associado a este conjunto de dados. Consulte Separação de domínios e Inteligência preditiva.

    Tipo de dados: cadeia de caracteres.

    <Object>.isActive Sinalizador que indica se esta versão está ativa.
    Valores válidos:
    • verdadeiro: a versão está ativa.
    • falso: a versão não está ativa.

    Tipo de dados: cadeia de caracteres

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

    Tipo de dados: cadeia de caracteres.

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

    Tipo de dados: cadeia de caracteres.

    <Object>.predictedFieldName Identifica um campo a ser treinado para previsibilidade.

    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 Criação de uma lista de palavras irrelevantes personalizada.

    Tipo de dados: matriz.

    <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>.versionNumber Objeto Número da versão do do codificador.

    Tipo de dados: cadeia de caracteres.

    O exemplo a seguir obtém propriedades da versão do objeto ativo no armazenamento.

    // Get properties
    var mlEncoder = sn_ml.EncoderStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getProperties()), null, 2));

    Saída:

    *** Script: {
      "datasetsProperties": [
        {
          "tableName": "incident",
          "fieldNames": [
            "assignment_group",
            "short_description",
            "description"
          ],
          "encodedQuery": "activeANYTHING"
        }
      ],
      "domainName": "global",
      "isActive": "true",
      "label": "my encoder definition",
      "name": "ml_x_snc_global_global_my_encoder_definition",
      "processingLanguage": "en",
      "stopwords": [
        "Default English Stopwords"
      ],
      "versionNumber": "1"
    }

    EncoderVersion - getSentenceVectors (entrada de matriz)

    Retorna vetores para cada frase de entrada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    entrada Matriz Matriz de cadeias de caracteres como frases das quais serão recebidos vetores.
    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres Matriz de vetores de frases.

    O exemplo a seguir mostra como retornar um vetor para uma única frase.

    var myEncoderName = 'GloVe';
    
    var myEncoder = sn_ml.EncoderStore.get(myEncoderName);
    
    var input = ["I like to code."];
    
    var vectors = myEncoder.getActiveVersion().getSentenceVectors(input);
    
    gs.print(vectors);
    

    Saída:

    *** Script: [-0.16243751347064972,0.30614474415779114,0.08489049971103668,
    -0.48100000619888306,-0.170997753739357,0.08779674768447876,-0.07848624140024185,-0.15123701095581055,
    -0.07843250036239624,-1.9505999088287354,0.3007825016975403,-0.07804800570011139,-0.04779449850320816,
    0.04803549498319626,0.09848674386739731,0.2427891194820404,-0.41138750314712524,0.10880374908447266,
     … ,
    0.21227750182151794,0.18478751182556152,-0.3113832473754883,-0.16560424864292145,0.09052124619483948]

    EncoderVersion - getSimilarWords (entrada de matriz, opções de objeto)

    Retorna palavras semelhantes a cada palavra de entrada na ordem de classificação decrescente de semelhança.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    entrada Matriz Matriz de palavras para as quais palavras semelhantes são encontradas.
    opções Objeto Mapeie para refinar os resultados.
    { "topN":"String" }
    opções.topN Cadeia de caracteres Se fornecido, retorna os principais resultados até o número especificado de palavras. Por exemplo, use "10" para retornar as 10 palavras mais semelhantes.
    Tabela 6. Retorna
    Tipo Descrição
    Matriz Lista de elementos que contêm as palavras semelhantes para a palavra de entrada na posição correspondente. Essas palavras semelhantes são representadas por uma matriz de pares no formato [palavra, pontuação de semelhança].

    O exemplo a seguir mostra como obter palavras semelhantes usando o codificador GloVe.

    var myEncoderName = 'GloVe';
    var myEncoder = sn_ml.EncoderStore.get(myEncoderName);
    var input =  ["apple"];
    var options = {"topN":"5"};
    gs.print(myEncoder.getActiveVersion().getSimilarWords(input, options));	

    Saída:

    *** Script: [[["iphone",0.5987],["macintosh",0.5836],["ipod",0.5761],["microsoft",0.5664],["ipad",0.5628]]]

    EncoderVersion - getStatus(Boolean includeDetails)

    Obtém o status de conclusão do treinamento.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    includeDetails Booliano Sinalizador que indica se o status deve ser retornado details.
    Valores válidos:
    • verdadeiro: retorna detalhes adicionais.
    • falso: não retorna detalhes adicionais.

    Padrão: falso

    Tabela 8. Retorna
    Tipo Descrição
    Objeto Objeto JavaScript que contém informações de status de treinamento para um objeto Encoder.
    {
      "state": "String",
      "percentComplete": "Number as a String",
      "hasJobEnded": "Boolean value as a String",
      "details": {Object}
    }
    <Object>.estado Estado de conclusão do treinamento. Se o trabalho de treinamento atingir um estado terminal, o trabalho não sairá desse estado. Se o estado for terminal, a propriedade hasJobEnded será definida como verdadeira.
    Valores possíveis:
    • buscando_arquivos_para_treinamento
    • preparação_dados
    • tentar novamente
    • solution_cancelled (terminal)
    • solution_complete (terminal)
    • solution_error (terminal)
    • solução_incompleta
    • treinamento_request_recebido
    • treinamento_request_timed_out (terminal)
    • solução_treinamento
    • carregando_solução
    • aguardando_treinamento

    Tipo de dados: cadeia de caracteres

    <Object>.hasJobEnded Sinalizador que indica se o treinamento foi concluído.
    Valores válidos:
    • verdadeiro: o treinamento está concluído.
    • falso: o treinamento está incompleto.

    Tipo de dados: valor booliano como cadeia de caracteres

    <Object>.percentConcluído Percentual de treinamento concluído. Se a porcentagem de conclusão for inferior a 100, o trabalho poderá estar em um estado terminal. Por exemplo, se o treinamento expirar.

    Tipo de dados: número como cadeia de caracteres

    Intervalo: 0 a 100

    <Object>.detalhes Objeto que contém uma lista de detalhes de treinamento adicionais.

    Tipo de dados: objeto

    O exemplo a seguir mostra um resultado bem-sucedido com o treinamento concluído.

    // Get status
    var mlEncoder = sn_ml.EncoderStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getStatus(true), null, 2)));

    Saída:

    {
     "state":"solution_complete",
     "percentComplete":"100",
     "hasJobEnded":"true",
     "details":{"stepLabel":"Encoder Complete"} // This information is only returned if getStatus(true);
    }

    O exemplo a seguir mostra um resultado malsucedido com o treinamento concluído.

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

    Saída:

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

    EncoderVersion – getVersionNumber()

    Obtém o número da versão de um objeto de solução.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Cadeia de caracteres Número da versão.

    O exemplo a seguir mostra como obter um número de versão.

    // Get version number
    var mlEncoder = sn_ml.EncoderStore.get('ml_incident_categorization');
    
    gs.print("Version number: "+JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getVersionNumber()), null, 2));

    Saída:

    Version number: 1

    EncoderVersion - getWordVectors (entrada de matriz)

    Retorna vetores para cada palavra de entrada.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    entrada Matriz Lista de cadeias de caracteres como palavras das quais serão recebidos vetores.
    Tabela 12. Retorna
    Tipo Descrição
    Matriz Lista de vetores para cada palavra fornecida.

    O exemplo a seguir mostra como obter um vetor da palavra olá.

    var myEncoderName = 'GloVe';
    var myEncoder = sn_ml.EncoderStore.get(myEncoderName);
    var input =  ["hello"];
    
    gs.print(myEncoder.getActiveVersion().getWordVectors(input));

    Saída:

    *** Script: [[-0.337119996547699,-0.2169100046157837,-0.006636499892920256,
    -0.41624999046325684,-1.2554999589920044,-0.0284659992903471,-0.7219499945640564,
    -0.5288699865341187,0.0072085000574588776,0.3199700117111206,0.02942500077188015,
    -0.013236000202596188,0.4351100027561188,0.2571600079536438,0.3899500072002411,
     … ,
    0.3384299874305725,0.4055800139904022,0.18073000013828278,0.6424999833106995]]