Encoder : Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 7 Minuten Lesedauer
  • Skriptfähiges Objekt, das in Predictive Intelligence -Speichern verwendet wird. Dieses Objekt konvertiert Eingabedaten basierend auf Encoder-spezifischen Zielen und Konfigurationen in Zahlenvektoren. Codierer können unabhängig zum Ausführen von Codierungen verwendet oder als Teil von Lösungen zum Codieren von Textspalten konfiguriert werden.

    Der Encoder Die API erfordert das Plugin Predictive Intelligence (com.glide.platform_ml) und wird im sn_ml- Namespace bereitgestellt.

    Codierer sind Textverarbeitungsobjekte, die entweder vortrainiert oder basierend auf den von Ihnen bereitgestellten Sprachdatensätzen trainiert werden. Sie können Encoder trainieren, die bestimmen, wie das System Textfelder interpretiert und verarbeitet. Für ML-Lösungen, die Text enthalten, können Sie einen Encoder trainieren, um anzugeben, wie Text verarbeitet werden soll, und den trainierten Encoder in einer Lösung zu verwenden.

    Encoder haben Konfiguration und Versionen und können unabhängig mit ihrer eigenen Häufigkeit für erneutes Trainieren trainiert werden. API-definierte Encoder unterscheiden sich von UI-definierten Encodern, da das erneute Trainieren von UI-definierten Encodern von den Lösungen gesteuert wird, die sie verwenden.

    Der Flow vom Setup bis zum Training des Encoders lautet wie folgt:
    1. Erstellen Sie einen oder mehrere Datensätze mit der DatasetDefinition- API.
    2. Verwenden Sie den Konstruktor, um ein Encoder-Objekt zu erstellen.
    3. Fügen Sie das Encoder-Objekt dem Encoder-Speicher mit der Methode EncoderStore – add() hinzu.
    4. Trainieren Sie den Encoder mit der Methode „submitTrainingJob() “. Dadurch wird eine Version des Objekts erstellt, die Sie mit der EncoderVersion- API verwalten können.
    Sobald Sie einen Encoder trainiert haben, können Sie ihn in einem Lösungsobjekt verwenden:
    Hinweis:
    Diese API führt mit vollständigen Berechtigungen aus. Um den Benutzerzugriff einzuschränken, fügen Sie einen Zugriffskontrollmechanismus in das Skript ein.

    Richtlinien zur Verwendung finden Sie unter ML-APIsverwenden.

    Encoder: Encoder(Object config)

    Erstellt einen Encoder.

    Um einen Encoder für einen oder mehrere Datensätze abzurufen, verwenden Sie diesen Konstruktor, um ein neues Encoder-Objekt mit einem eindeutigen Namen zu erstellen.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Konfiguration Objekt JavaScript-Objekt, das Konfigurationseigenschaften des enthält -Encoder.
    {
      "algorithmConfig": {Object},
      "datasets": [Array],
      "domainName": "String",
      "label": "String",
      "minRowCount": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    config.algorithmConfig Objekt Optional. JavaScript-Objekt, das Eigenschaften der Algorithmuskonfiguration enthält.
    'algorithmConfig' : {
      "algorithm": "String"
    }
    config.algorithmConfig.algorithm Zeichenfolge Name des Algorithmus zum Trainieren dieses Encoders.
    Mögliche Werte:
    • paravec: Einbettung von Absatzvektorwörtern.
    • tf-idf: Bedingungshäufigkeit – Inverser Dokumenthäufigkeit (TF-IDF)-basierter Text.
    config.datasets Array Liste der DatasetDefinition- Objektnamen.
    config.domainName Zeichenfolge Optional. Domänenname, der diesem Datensatz zugeordnet ist. Siehe Domänentrennung und Predictive Intelligence.

    Standard: Aktuelle Domäne, z. B. „global“.

    config.label Zeichenfolge Identifiziert die Vorhersageaufgabe.
    config.minRowCount Zeichenfolge Optional. Mindestanzahl von Datensätzen, die im Datensatz für das Training erforderlich sind.

    Standard: 10.000

    config.processingLanguage Zeichenfolge Optional. Verarbeitungssprache im aus zwei Buchstaben bestehenden ISO 639-1-Sprachcodeformat.

    Standard: „en“

    config.stoppwords Array Optional. Voreingestellte Liste von Zeichenfolgen, die das System basierend auf der Eigenschaftseinstellung language automatisch generiert. Weitere Informationen finden Sie unter Benutzerdefinierte Stoppwortlisten erstellen.

    Standard: Englische Stoppwörter

    config.trainingHäufigkeit Zeichenfolge Die Häufigkeit, mit der das Modell neu trainiert werden soll.
    Mögliche Werte:
    • jeden_30_Tage
    • alle_60_Tage
    • all_90_days
    • all_120_days
    • all_180_days
    • run_once
    Standard: run_once

    Das folgende Beispiel zeigt, wie Sie einen Encoderauftrag erstellen und dem Encoderspeicher hinzufügen.

    var myPrbData = new sn_ml.DatasetDefinition({
        'tableName' : 'problem',
        'fieldNames' : ['short_description'],
        'encodedQuery' : 'activeANYTHING'
    });
    
    var myIncidentData = new sn_ml.DatasetDefinition({
        'tableName' : 'incident',
        'fieldNames' : ['short_description', 'description'],
        'encodedQuery' : 'activeANYTHING'
    });
    
    var myEncoder = new sn_ml.Encoder({
        'label': "encoder",
        'datasets' : [myPrbData, myIncidentData],
        'algorithmConfig' : {
            'algorithm' : 'tf-idf'
        }
    });
    var myEncoderName = sn_ml.EncoderStore.add(myEncoder);

    Encoder – cancelTrainingJob()

    Bricht einen Auftrag für ein Encoder-Objekt , das zum Trainieren übermittelt wurde.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie ein vorhandener Trainingsauftrag abgebrochen wird.

    var myEncoder = sn_ml.EncoderStore.get('ml_sn_global_global_encoder');
    
    myEncoder.cancelTrainingJob();

    Encoder – getActiveVersion()

    Ruft den aktiven ab EncoderVersion-Objekt.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Objekt Aktives EncoderVersion- Objekt.

    Das folgende Beispiel zeigt, wie Sie eine aktive Encoder Version aus dem Store abrufen und ihren Trainingsstatus zurückgeben.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getActiveVersion().getStatus()), null, 2));

    Ausgabe:

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

    Encoder – getAllVersions()

    Ruft alle Versionen von ab einen Encoder.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    Array Vorhandene Versionen eines Encoderobjekts. Siehe auch EncoderVersion- API.

    Das folgende Beispiel zeigt, wie alle Encoder -Versionsobjekte abgerufen und die Encoder-Versionsmethoden getVersionNumber() und getStatus() für sie aufgerufen werden.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    var mlEncoderVersions = mlEncoder.getAllVersions();
    
    for (i = 0; i < mlEncoderVersions.length; i++) {
    gs.print("Version " + mlEncoderVersions[i].getVersionNumber() + " Status: " + mlEncoderVersions[i].getStatus() +"\n");
    };

    Ausgabe:

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

    Encoder – getLatestVersion()

    Ruft die neueste Version von ab einen Encoder.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Objekt EncoderVersion und Objekt, das der neuesten Version von entsprichtEncoder().

    Das folgende Beispiel zeigt, wie Sie die neueste Version einen Encoder und geben seinen Trainingsstatus zurück.

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

    Ausgabe:

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

    Encoder – getName()

    Ruft den Namen des Objekts ab, das für die Interaktion mit dem Speicher verwendet werden soll.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Name des Encoder-Objekts.

    Das folgende Beispiel zeigt, wie Encoder Datensatzinformationen aktualisiert und der Name des Objekts gedruckt wird.

    // Update encoder
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields(encoder));
    
    var myEncoder = new sn_ml.Encoder({
       'label': "my encoder",
       'datasets' : [myIncidentData],
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update encoder
    sn_ml.EncoderStore.update('ml_x_snc_global_global_my_definition_4', myEncoder);
    
    // print encoder name
    gs.print('Encoder Name: '+myEncoder.getName());

    Ausgabe:

    Encoder Name: ml_x_snc_global_global_my_definition_4

    Encoder – getProperties()

    Ruft Eigenschaften des Lösungsobjekts aban.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Objekt Inhalt der Datensatz- und Encoder()- Objektdetails im EncoderStore.
    {
      "algorithmConfig" : {Object},
      "datasetsProperties": [Array],
      "domainName": "String",
      "label": "String",
      "name": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    <Object>.algorithmConfig.algorithm Name des Algorithmus zum Trainieren dieses Encoders.
    Mögliche Werte:
    • paravec: Einbettung von Absatzvektorwörtern.
    • tf-idf: Bedingungshäufigkeit – Inverser Dokumenthäufigkeit (TF-IDF)-basierter Text.

    Datentyp: Zeichenfolge.

    <Object>.algorithmConfig Optional. JavaScript-Objekt, das Eigenschaften der Algorithmuskonfiguration enthält.
    'algorithmConfig' : {
      "algorithm": "String"
    }

    Datentyp: Objekt.

    <Object>.datasetsEigenschaften

    Liste der DatasetDefinition()- Eigenschaften, die dem Encoder zugeordnet sind.

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

    Datentyp: Array.

    <Object>.datasetsEigenschaften.tabelleName Name der Tabelle für den Datensatz. Beispiel: "tableName" : "Incident".

    Datentyp: Zeichenfolge.

    <Object>.datasetsProperties.fieldNames Liste der Feldnamen aus der angegebenen Tabelle als Zeichenfolgen. Beispiel: „fieldNames“ : ["short_description", "priority"].

    Datentyp: Array.

    <Object>.datasetsEigenschaften.fieldNames.fieldDetails Liste der JavaScript-Objekte, die Feldeigenschaften angeben.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    Datentyp: Array.

    <Object>.datasetsProperties.fieldNames.fieldDetails.<object>.name Name des Felds, das den Typ der Informationen definiert, auf die dieser Datensatz beschränkt werden soll.

    Datentyp: Zeichenfolge.

    <Object>.datasetsProperties.fieldDetails.<object>.type ML-Feldtyp (maschinelles Lernen).

    Datentyp: Zeichenfolge.

    <Object>.datasetsProperties.fieldDetails.encodedQuery Codierte Abfragezeichenfolge im Standard-Glide-Format. Weitere Informationen finden Sie unter Codierte Abfragezeichenfolgen.

    Datentyp: Zeichenfolge.

    <Object>.domainName Domänenname, der diesem Datensatz zugeordnet ist. Siehe Domänentrennung und Predictive Intelligence.

    Datentyp: Zeichenfolge.

    <Object>.Bezeichnung Identifiziert die Vorhersageaufgabe.
    {
      "label": "my first prediction"
    }

    Datentyp: Zeichenfolge.

    <Object>.name Vom System zugewiesener Name.

    Datentyp: Zeichenfolge.

    <Object>.predictedFieldName Identifiziert ein Feld, das für die Vorhersagbarkeit trainiert werden soll.

    Datentyp: Zeichenfolge.

    <Object>.processingLanguage Verarbeitungssprache im aus zwei Buchstaben bestehenden ISO 639-1-Sprachcodeformat.

    Datentyp: Zeichenfolge.

    <Object>.Bereich Objektumfang. Derzeit ist der einzige gültige Wert global.

    Datentyp: Zeichenfolge

    <Object>.Stoppwörter Optional. Voreingestellte Liste von Zeichenfolgen, die das System basierend auf der Eigenschaftseinstellung language automatisch generiert. Weitere Informationen finden Sie unter Benutzerdefinierte Stoppwortlisten erstellen.

    Datentyp: Array.

    <Object>.trainingHäufigkeit Die Häufigkeit, mit der das Modell neu trainiert werden soll.
    Mögliche Werte:
    • jeden_30_Tage
    • alle_60_Tage
    • all_90_days
    • all_120_days
    • all_180_days
    • run_once
    Standard: run_once

    Datentyp: Zeichenfolge.

    Im folgenden Beispiel werden Eigenschaften ein Encoder-Objekt im Store abgerufen.

    var myEncoder = sn_ml.EncoderStore.get('ml_sn_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(myEncoder.getProperties()), null, 2));
    Ausgabe:
    *** Script: {
      "datasetsProperties": [
        {
          "tableName": "incident",
          "fieldNames": [
            "assignment_group",
            "short_description",
            "description"
          ],
          "encodedQuery": "activeANYTHING"
        }
      ],
      "domainName": "global",
      "label": "my encoder definition",
      "name": "ml_x_snc_global_global_my_encoder_definition",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "run_once"
    }

    Encoder – getVersion(String version)

    Ruft einen Encoder ab nach angegebener Versionsnummer.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Version Zeichenfolge Vorhandene Versionsnummer einen Encoder.
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    Objekt Angegebene Version des Encoder()- Objekts, für das Sie EncoderVersion- API-Methoden aufrufen können.

    Das folgende Beispiel zeigt, wie der Trainingsstatus ein Encoder nach Versionsnummer.

    var mlEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    gs.print(JSON.stringify(JSON.parse(mlEncoder.getVersion('1').getStatus()), null, 2));

    Ausgabe:

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

    Encoder – setActiveVersion(String version)

    Aktiviert eine angegebene Version eines Encoders im Store.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Version Zeichenfolge Name der zu aktivierenden Encoder()- Objektversion.

    Durch die Aktivierung dieser Version werden alle anderen Versionen deaktiviert.

    Tabelle : 17. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie einen Encoder im Store aktiviert wird.

    sn_ml.Encoder.setActiveVersion("ml_incident_categorization");

    Encoder – submitTrainingJob()

    Sendet einen Trainingsauftrag.

    Hinweis:
    Bevor Sie diese Methode ausführen, müssen Sie dem Speicher zuerst einen Encoder mit der Methode EncoderStore – add() hinzufügen.
    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Objekt EncoderVersion- Objekt, das Encoder dem trainierten entspricht.

    Das folgende Beispiel zeigt, wie Sie einen Datensatz erstellen, auf eine Lösung anwenden einen Encoder, fügen Sie ihn hinzu einem Speicher hinzufügen und den Trainingsauftrag übermitteln.

    // Create a dataset 
    var myData = new sn_ml.DatasetDefinition({
    
      'tableName' : 'incident',
      'fieldNames' : ['assignment_group', 'short_description', 'description'],
      'encodedQuery' : 'activeANYTHING'
    
    });
    
    // Create an encoder 
    var myEncoder = new sn_ml.Encoder({
    
      'label': "my encoder definition",
      'datasets' : [myData],
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames':['short_description']
    
    });
    
    // Add the encoder to the store to later be able to retrieve it.
    var my_unique_name = sn_ml.EncoderStore.add(myEncoder);
    
    // Train the encoder - this is a long running job 
    var myEncoderVersion = myEncoder.submitTrainingJob();