Encoder : Global

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 7 Minuten Lesedauer
  • Die Encoder- API stellt ein skriptfähiges Objekt bereit, das in den Speichern Predictive Intelligence verwendet wird. Dieses Objekt konvertiert Eingabedaten basierend auf Encoder-spezifischen Zielen und Konfigurationen in Zahlenvektoren. Encoder können unabhängig zum Ausführen von Codierungen verwendet oder als Teil von Lösungen zum Codieren von Textspalten konfiguriert werden.

    Diese(s) Die API erfordert das Plugin Predictive Intelligence (com.glide.platform_ml) und wird im Namespace sn_ml bereitgestellt.

    Encoder 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 wird, und um den trainierten Encoder in einer Lösung zu verwenden.

    Encoder haben eine Konfiguration und Versionen und können unabhängig mit ihrer eigenen Neutrainingshäufigkeit trainiert werden. API-definierte Encoder unterscheiden sich von UI-definierten Encodern darin, dass das erneute Trainieren von UI-definierten Encodern von den Lösungen gesteuert wird, die sie verwenden.

    Der Flow vom Setup des Setups 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 wird vor Release Washington DCPatch 7 mit vollständigen Rechten ausgeführt. Nach diesem Release gewähren Sie Zugriff über ACLs. Weitere Informationen finden Sie unter Query ACLs.

    Richtlinien zur Verwendung finden Sie unter ML-APIs verwenden.

    Encoder: Encoder (Objektkonfiguration)

    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 mit Konfigurationseigenschaften für Encoder.
    {
      "algorithmConfig": {Object},
      "datasets": [Array],
      "domainName": "String",
      "label": "String",
      "minRowCount": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    config.algorithmConfig Objekt Optional. JavaScript-Objekt, das Algorithmuskonfigurationseigenschaften enthält.
    'algorithmConfig' : {
      "algorithm": "String"
    }
    config.algorithmConfig.algorithm Zeichenfolge Name des Algorithmus zum Trainieren dieses Encoders.
    Mögliche Werte:
    • paravec: Texteinbettung für Absatzvektoren.
    • tf-idf: Begriffshäufigkeit – Text auf Basis der inversen Dokumenthäufigkeit (TF-IDF).
    config.datasets Array Liste der Datensatzdefinitions -Objektnamen.
    config.domainName Zeichenfolge Optional. Domänenname, der diesem Datensatz zugeordnet ist. Siehe Domain Separation und Predictive Intelligence.

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

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

    Standard: 10000

    config.processingLanguage Zeichenfolge Optional. Verarbeitungssprache im zweibuchstabigen ISO 639-1-Sprachcodeformat.

    Standard: „en“

    config.stoppwords Array Optional. Voreingestellte Liste von Zeichenfolgen, die das System basierend auf der Einstellung der Eigenschaft language automatisch generiert. Einzelheiten hierzu finden Sie unter Anwenderdefinierte Stoppwortliste erstellen.

    Standard: Englische Stoppwörter

    config.trainingFrequency Zeichenfolge Die Häufigkeit, mit der das Modell neu trainiert werden soll.
    Mögliche Werte:
    • jeden_30_Tage
    • jeden_60_Tage
    • jeden_90_Tage
    • jeden_120_Tage
    • jeden_180_Tage
    • 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()

    Storniert 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 Sie einen vorhandenen Trainingsauftrag abbrechen.

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

    Encoder - getActiveVersion()

    Ruft das aktive 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 Schulungsstatus 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 Sie alle Encoder- Versionsobjekte abrufen und die Encoder-Versionsmethoden getVersionNumber () und getStatus () dafür aufrufen.

    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 aktuelle Version von ab einen Encoder.

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

    Das folgende Beispiel zeigt, wie Sie die aktuelle Version einer Lösung abrufen einen Encoder und geben dessen 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 Store verwendet werden soll.

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

    aktualisiert Encoder Datensatzinformationen

    // 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 Lösungsobjekteigenschaften ab.

    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>.algorithmKonfiguration.algorithm Name des Algorithmus zum Trainieren dieses Encoders.
    Mögliche Werte:
    • paravec: Texteinbettung für Absatzvektoren.
    • tf-idf: Begriffshäufigkeit – Text auf Basis der inversen Dokumenthäufigkeit (TF-IDF).

    Datentyp: Zeichenfolge.

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

    Datentyp: Objekt.

    <Object>.datasetsProperties

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

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

    Datentyp: Array.

    <Object>.datasetsEigenschaften.tabellenname 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>.datasetsProperties.fieldNames.fieldDetails Liste von JavaScript-Objekten, die Feldeigenschaften angeben.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    Datentyp: Array.

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

    Datentyp: Zeichenfolge.

    <Object>.datasetsProperties.fieldDetails.<object>.type Feldtyp für maschinelles Lernen.

    Datentyp: Zeichenfolge.

    <Object>.datasetsProperties.fieldDetails.encodedQuery Codierte Abfragezeichenfolge im Standard-Glide-Format. Siehe Codierte Abfragezeichenfolgen.

    Datentyp: Zeichenfolge.

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

    Datentyp: Zeichenfolge.

    <Object>.label Gibt die Vorhersageaufgabe an.
    {
      "label": "my first prediction"
    }

    Datentyp: Zeichenfolge.

    <Object>.name Vom System zugewiesener Name

    Datentyp: Zeichenfolge.

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

    Datentyp: Zeichenfolge.

    <Object>.processingLanguage Verarbeitungssprache im zweibuchstabigen ISO 639-1-Sprachcodeformat.

    Datentyp: Zeichenfolge.

    <Object>.scope Objektbereich. Derzeit ist globalder einzige gültige Wert.

    Datentyp: Zeichenfolge

    <Object>.Stoppwörter Optional. Voreingestellte Liste von Zeichenfolgen, die das System basierend auf der Einstellung der Eigenschaft language automatisch generiert. Einzelheiten hierzu finden Sie unter Anwenderdefinierte Stoppwortliste erstellen.

    Datentyp: Array.

    <Object>.trainingFrequency Die Häufigkeit, mit der das Modell neu trainiert werden soll.
    Mögliche Werte:
    • jeden_30_Tage
    • jeden_60_Tage
    • jeden_90_Tage
    • jeden_120_Tage
    • jeden_180_Tage
    • run_once
    Standard: run_once

    Datentyp: Zeichenfolge.

    Im folgenden Beispiel werden Eigenschaften eines 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 anhand der angegebenen Versionsnummer.

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

    Das folgende Beispiel zeigt, wie Sie den Trainingsstatus einer Lösung anhand der Versionsnummer abrufen 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. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einen Encoder Lösungsversion im Store aktivieren.

    sn_ml.Encoder.setActiveVersion("ml_incident_categorization");

    Encoder -submitTrainingJob()

    Übermittelt einen Trainingsauftrag.

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

    Das folgende Beispiel zeigt, wie Sie einen Datensatz erstellen, auf eine Lösung anwenden einen Encoder, fügen Sie ihn hinzu einem Store 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();