Mit APIs für maschinelles Lernen

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 5 Minuten Lesedauer
  • Verwenden ServiceNow APIs für maschinelles Lernen (ML) zum Trainieren von Modellen für maschinelles Lernen und zum Ausführen von Rückschlüssen.

    ML-APIs ermöglichen Schulungslösungen und die Verwaltung von Lösungsversionen. Sie können aktive Versionen abrufen und festlegen, den Trainingsstatus überwachen und vieles mehr. Die ML-API bietet auch Encoder, die die Verwendung von „term Frequency–Inverse Document Frequency“ (TF-IDF) als Wortkorpus ermöglichen. Vorhersagbarkeitsschätzungen ermöglichen die Bewertung des Vorhersagewerts von Tabellenspalten.

    Hinweis:
    Predictive Intelligence APIs werden ausgeführt Mit vollständigen Berechtigungen vor dem Vancouver Patch 7 Hotfix 2b und Washington DC Patch 7-Releases. Gewähren Sie in späteren Releases Zugriff mithilfe von ACLs. Weitere Informationen finden Sie unter Query ACLs.

    ML-API-Klassenübersicht

    In diesem Abschnitt werden kurz Klassen zum Trainieren von ML-Lösungen und zum Ausführen von Rückschlüssen mit trainierten Lösungen beschrieben.

    Datensätze

    Ein Datensatz ist Eine Reihe von Datensätzen, einschließlich Tabellenname, Spalten und Zeilenauswahlkriterien, die als Eingabe für ML-Trainingsalgorithmen verwendet werden sollen. Datensätze enthalten nicht die tatsächlichen Daten.

    Weitere Informationen finden Sie unter Datendefinition .

    ML-Objekte: Lösungen, Encoder und Schätzungen

    ML-Objekte definieren eine bestimmte Schulungskonfiguration, die auf einen Datensatz angewendet werden soll. Einige Vorgänge sind für alle ML-Objekte üblich. Lösungsobjekte umfassen Klassifizierung, Clustering, Regression und Ähnlichkeit.

    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 und der trainierte Encoder in einer Lösung verwendet werden soll.

    VorhersageabilityObjekte schätzen, welche Felder in einem Datensatz vorhersagbar sind und auf welche Funktionen diese Vorhersagbarkeit basiert.

    Speicher

    ML-Objekte werden für jeden Objekttyp in einem bestimmten Speicher verwaltet. Jede Store-Klasse enthält Methoden zum Hinzufügen, Abrufen, Aktualisieren und Löschen von Vorgängen.

    Versionen

    Jedes trainierte Objekt führt zu einer neuen Version, für die Sie Aufgaben ausführen können. Verwenden Sie die Versions-API, um eine beliebige Lösungsversion abzurufen und Aufgaben darauf auszuführen.

    Zusammenfügen: ML-API-Flows

    Sie können den folgenden Flow verwenden, um Lösungen, Encoder und Vorhersagbarkeitsschätzungen zu konfigurieren und zu trainieren:
    Abbildung : 1. ML-API-Flow: Lösungs-, Encoder- und Schätzungstraining
    Diese Abbildung veranschaulicht den API-Flow aus der Definition eines Datensatzes, dem Erstellen eines ML-Objekts, dem Hinzufügen des ML-Objekts zu einem Speicher und dem Training des ML-Objekts.
    Hinweis:
    Die Encoderdefinitionen unterstützen mehrere Datensatzdefinitionen, haben jedoch denselben Trainings-Flow.
    Um eine Lösung mit einem Encoder zu trainieren, erstellen Sie zuerst den Encoder, und fügen Sie den Encoder dann in die Lösungskonfiguration ein.
    Abbildung : 2. ML-API-Flow: Lösungs-API-Training mit Encoder
    Diese Abbildung veranschaulicht den API-Flow aus der Definition des Datensatzes, der Erstellung eines Lösungsobjekts, das einen vorhandenen Encoder angibt, dem Hinzufügen der Lösung zu einem Speicher und dem Trainieren der Lösung.

    ML-Objektcodierer-Anforderungen:

    • Erforderlich in Ähnlichkeits-API-Lösungen.
    • Ist in Clustering-API-Lösungen erforderlich, es sei denn, der Levenshtein-Abstandsalgorithmus wird verwendet. In diesem Fall sind Encoder optional.
    • Optional für Klassifizierungs- und Regressionslösungen.
    • Nicht verfügbar für Vorhersagbarkeitsschätzungen.

    Erste Schritte mit ML API-Lösungsschulung

    Folgen Sie dieser Beispielaufgliederung, um zu erfahren, wie Sie eine Lösung konfigurieren und trainieren.

    Konfigurieren und trainieren Sie eine Lösung
    Diese Abbildung veranschaulicht den API-Flow aus der Definition eines Datensatzes, der Erstellung eines Klassifizierungslösungsobjekts, dem Hinzufügen der Lösung zu einem Speicher und dem Training der Lösung.
    1. Definieren Sie einen Datensatz mit Datendefinition API.
      var myData = new sn_ml.DatasetDefinition({
      
        'tableName' : 'incident',
        'fieldNames' : ['assignment_group', 'short_description', 'description'],
        'encodedQuery' : 'activeANYTHING'
      
      });
    2. Verwenden Sie den Konstruktor, um die Lösung zu definieren, einschließlich des Datensatzes in der Konfiguration.
      var mySolution = new sn_ml.ClassificationSolution({
      
        'label': "my solution definition",
        'dataset' : myData,
        'predictedFieldName' : 'assignment_group',
        'inputFieldNames':['short_description']
      
      });
    3. Fügen Sie dem Store die Lösungsdefinition mit hinzu Hinzufügen () Methode.
      var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution);
    4. Trainieren Sie die Lösung mit SubmitTrainingJob() Methode. Nach Abschluss des Trainings können Sie die trainierte Lösung mit einer Lösungsversions-API verwalten. Eine Lösung kann mehrmals neu trainiert werden. Jedes Training führt zu einer neuen Lösungsversion, für die Sie Abschlüsse ausführen können.
      var myClassifierVersion = mySolution.submitTrainingJob();
    Zeigen Sie alle Klassifizierungslösungen in einem Store an
    Sie können den Store verwenden GetAllNames() Methode zum Anzeigen einer Liste aller Lösungen, die dem Store hinzugefügt wurden.
    gs.print(JSON.stringify(JSON.parse(sn_ml.ClassificationSolutionStore.getAllNames()), null, 2));

    In der Ausgabe hat das System die Lösung benannt Ml_x_snc_global_global_my_Solution_Definition . Verwenden Sie diesen Namen in nachfolgenden Beispielen, um Versionsinformationen abzurufen.

    *** Script: [
      "ml_incident_assignment",
      "ml_x_snc_global_global_my_solution_definition",
      "ml_incident_categorization"
    ]

    Erste Schritte mit Versionen der ML-API-Lösung

    Folgen Sie diesen Beispielaufgliederungen, um zu erfahren, wie Sie trainierte Lösungsversionen verwalten.

    Überprüfen Sie den Schulungsstatus

    Rufen Sie die Klassifizierungslösung aus dem Store ab, wählen Sie eine Version aus, und überprüfen Sie den Schulungsstatus. Die zum Überprüfen des Trainingsstatus verwendeten Methoden gelten für alle ML-Objekttypen.

    Diese Abbildung zeigt den API-Flow, der auf eine Klassifizierungslösung im Store zugreift, eine Lösungsversion auswählt und den Schulungsstatus überprüft.
    1. Rufen Sie die Lösung aus dem Store für Klassifizierungslösungen mit ab Get() Methode.
      // Get the solution created in the previous example from the classification solution store
      var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_my_solution_definition');
    2. Greifen Sie mit auf die neueste Lösungsversion zu GetLatestVersion() Lösungsmethode und ruft den Schulungsstatus mit ab GetStatus() Versionsmethode.
      // Access the latest version of the solution and print its training status
      gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus(), null, 2)));

      Ausgabe, wenn das Training abgeschlossen ist:

    Rufen Sie Vorhersagen mit einer Lösungsversion ab
    Nachdem die Lösung trainiert wurde, rufen Sie die trainierte Version ab, und führen Sie eine Vorhersage dafür aus. Rufen Sie die von Ihnen erstellte Lösung aus dem Store ab. Wählen Sie als Nächstes die trainierte Version aus, und prognostizieren Sie die trainierte Version. Diese Abbildung zeigt den API-Flow vom Zugriff auf die Klassifizierungslösung im Store, der Auswahl einer Lösungsversion und dem Abrufen von Vorhersageeingabedaten.
    Hinweis:
    Vorhersagen können nicht für Encoder und Vorhersagbarkeitsschätzungen getroffen werden.
    1. Rufen Sie die Lösung aus dem Store für Klassifizierungslösungen mit ab Get() Methode.
      // Get the solution created in the first example from the classification solution store
      var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_my_solution_definition');
    2. Verwenden Sie GlideRecord API Get() Methode zum Bereitstellen eines Datensatzes aus der Tabelle „Incident“ [Incident].
      // single GlideRecord input
      var input = new GlideRecord("incident");
      input.get("<sys_id>");
    3. Optional. Konfigurieren Sie ClassificationSolutionVersion – Predict() Methode optionsParameter, um die drei wichtigsten Ergebnisse zurückzugeben und alle Ergebnisse zurückzugeben.
      // configure optional parameters
      var options = {};
      options.top_n = 3;
      options.apply_threshold = false;
    4. Deklarieren Sie eine Variable namens Ergebnisse Und weisen Sie sie dem Vorhersageauftrag zu. Um den Vorhersageauftrag auszuführen, rufen Sie die neueste Lösungsversion mit ab ClassificationSolution – getLatestVersion() Methode und rufen Sie auf ClassificationSolutionVersion – Predict() Methode darauf.
      var results = mlSolution.getLatestVersion().predict(input, options);
    5. Drucken Sie die Ausgabe der vorhergesagten Ergebnisse.
      gs.print(JSON.stringify(JSON.parse(results), null, 2));

      Beispielausgabe für vorhergesagte Ergebnisse:

      *** Script: {
        "<sys_id>": [
          {
            "confidence": 99,
            "threshold": 24.75,
            "predictedValue": "Email",
            "predictedSysId": ""
          },
          {
            "confidence": 5.88210244009169,
            "threshold": 100,
            "predictedValue": "Email (I/f)",
            "predictedSysId": ""
          },
          {
            "confidence": 2.3461203499840932,
            "threshold": 14.81,
            "predictedValue": "Authentication",
            "predictedSysId": ""
          }
        ]
      }