GeniusResultContext – Scoped

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 6 Minuten Lesedauer
  • Die GeniusResultContext- API stellt Methoden zum Abrufen von Suchabfrageinformationen aus dem Kontext einer Genius-Ergebniskonfiguration bereit.

    Sie können mit dieser API abgerufene Suchabfragedetails verwenden, um Genius-Ergebnisantwortobjekte auszufüllen, die mit der GeniusResultAnswer- API erstellt wurden.

    Verwenden Sie diese API in serverseitigen Genius-Ergebnisskripts mit dem Namespace-Identifier sn_ais. Weitere Informationen zur Skriptlogik für Genius-Ergebnisse finden Sie unter Neue Genius-Ergebniskonfiguration erstellen.

    GeniusResultContext – getMatchingDocuments()

    Ruft Suchergebnisdokumente aus der Suchabfrage ab, die Ihre Genius-Ergebniskonfiguration auslöst.

    Verwenden Sie diese Methode im Antwortprozessorskript einer Genius-Ergebniskonfiguration, um Feldwerte aus Suchergebnisdokumenten abzurufen, die von der Suchabfrage zurückgegeben werden, die Ihr Genius-Ergebnis auslöst. Sie können Genius-Ergebnisantworten mit Feldern aus den Suchergebnisdokumenten mithilfe von GeniusResultAnswer- API-Methoden ausfüllen.
    Hinweis:
    Diese Methode gibt keine Ergebnisse zurück, wenn sie in einem AI Search request processor -Skript aufgerufen wird, da das Skript ausgeführt wird, bevor KI-Suche Ergebnisse für die auslösende Suchabfrage berechnet. Verwenden Sie diese Methode nicht in Ihren Anforderungsprozessorskripts.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    [Array]

    Array von Objekten, in dem jedes Objekt ein Suchergebnisdokument darstellt, das der Suchabfrage entspricht.

    Datentyp: Array

    [
      {
        ".score": Number,
        ".table": "String",
        ".text": "String",
        ".title": "String",
        ".url": "String",
        "class_name": "String",
        "sys_id": "String",
        "<field_name>": <field_value>
      }
    ]
    Hinweis:
    Abhängig von der Suchabfrage können einige der Indexfelder KI-Suche des Suchergebnisdokuments zusätzlich zu den aufgelisteten Name-Wert-Paaren im Objekt angezeigt werden.
    [Array]..score

    Relevanzpunktzahl, die für das Suchergebnisdokument im Kontext der Suchabfrage berechnet wird.

    Datentyp: Zahl

    Hinweis:
    Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen Punktzahlfeld des KI-Suche -Index zu unterscheiden.
    [Array]..table

    Name der Tabelle Now Platform, aus der das Suchergebnisdokument indiziert wurde.

    Datentyp: Zeichenfolge

    Hinweis:
    Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen Feld der IndextabelleKI-Suche zu unterscheiden.
    [Array]..text

    Indizierter Text aus dem Suchergebnisdokument.

    Datentyp: Zeichenfolge

    Hinweis:
    Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen Textfeld des Index KI-Suche zu unterscheiden.
    [Array]..title

    Indexierter Titel für das Suchergebnisdokument.

    Datentyp: Zeichenfolge

    Hinweis:
    Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen Titelfeld des KI-Suche -Index zu unterscheiden.
    [Array]..url

    URL für das Suchergebnisdokument.

    Datentyp: Zeichenfolge

    Hinweis:
    Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen URL -Feld des KI-Suche -Index zu unterscheiden.
    [Array].class_name

    Die untergeordnete Klasse, zu der das Suchergebnisdokument gehört. Weitere Informationen zu untergeordneten Tabellenklassen finden Sie unter Table extension and classes.

    Datentyp: Zeichenfolge

    [Array].sys_id

    Sys_id für das Suchergebnisdokument.

    Datentyp: Zeichenfolge

    [Array].<field_name>

    KI-Suche Indexfeld aus dem Suchergebnisdokument.

    Datentyp: Der Datentyp des Indexfelds KI-Suche.

    Dieses AI Search response processor Skript ruft bis zu drei Suchergebnisdokumente ab, die der Suchabfrage entsprechen, und prüft, ob eines davon aus der Wissenstabelle [kb_knowledge] stammt. Wenn ein Suchergebnisdokument aus der Wissenstabelle gefunden wird, fügt die Funktion die Felder dieses Dokuments dem GeniusResultAnswer- Objekt hinzu, damit die Benutzeroberfläche sie dem Benutzer anzeigen kann.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
      var matchingDocuments = context.getMatchingDocuments();
      if (matchingDocuments.length > 1) {
        for (var i = 0; i < 3; i++) {
          var currentDocument = matchingDocuments[i];
          if (currentDocument['.table'] == 'kb_knowledge') {
            var gr = new GlideRecord("kb_knowledge");
            if (gr.get(currentDocument['sys_id'])) {
              answer.addDataMap({
                "number": currentDocument['number'],
                "url": currentDocument['.url'],
                "title": currentDocument['.title']
              });
            }
          }
          break;
        }
      }
      return answer;
    }

    GeniusResultContext – getOriginalSearchPhrase()

    Ruft die ursprünglichen Suchbegriffe aus der Suchabfrage ab, die Ihre Genius-Ergebniskonfiguration auslöst.

    Sie können abgerufene Suchbegriffe verwenden, um Genius-Ergebnisantworten mithilfe von GeniusResultAnswer- API-Methoden auszufüllen.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge

    Ursprüngliche Begriffe aus der Suchabfrage.

    Datentyp: Zeichenfolge

    Dieses AI Search request processor -Skript ruft die ursprünglichen Begriffe der Suchabfrage ab und verwendet sie als Abfragebegriffe für eine neue Fragmentsuche.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      var searchPhrase = context.getOriginalSearchPhrase();
      answer.setSearchPhrase(searchPhrase);
      answer.snippetSearch(true);
    
      return answer;
    }

    GeniusResultContext – getPredictionResult()

    Ruft NLU Modellvorhersageergebnisse für die Suchabfrage ab, die Ihre Genius-Ergebniskonfiguration auslöst.

    Verwenden Sie diese Methode im Anforderungs- oder Antwortprozessorskript einer Genius-Ergebniskonfiguration, um die für die auslösende Suchabfrage erkannte Absicht abzurufen. Sie können Genius-Ergebnisantworten mit Details aus der erkannten Absicht mithilfe von GeniusResultAnswer- API-Methoden ausfüllen.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    [Array]

    Array von Objekten, in dem jedes Objekt ein NLU Modellabsichtsvorhersageergebnis für die Suchabfrage darstellt.

    Datentyp: Array

    [
      {
        "intentName": "String",
        "result": {Object},
        "solutionName": "String"
      }
    ]
    [Array].intentName

    Name der in der Suchabfrage erkannten Modellabsicht NLU.

    Datentyp: Zeichenfolge

    [Array].result

    Objekt, das das Absichtsvorhersageergebnis des Modells NLU für die Suchabfrage darstellt.

    Datentyp: Objekt

    "result": {
      "application": {Object},
      "result": {Object},
      "solutionLabel": "String",
      "solutionName": "String",
      "solutionType": "String",
      "type": "String",
      "version": Number
    }
    [Array].result.application

    Objekt mit Metadaten für die Suchanwendung, die das Vorhersageergebnis generiert hat.

    Datentyp: Objekt

    "application": {
      "language": "String",
      "type": "String"
    }
    [Array].result.application.language

    Sprachkontext für die Anwendung Now Platform, die das Vorhersageergebnis generiert hat.

    Datentyp: Zeichenfolge

    [Array].result.application.type

    Typ der Anwendung Now Platform, die das Vorhersageergebnis generiert hat.

    Datentyp: Zeichenfolge

    [Array].result.result

    Objekt mit Details für das Ergebnis der Modellabsichtsvorhersage NLU.

    Datentyp: Objekt

    "result": {
      "entities": [Array],
      "intentName": "String",
      "intents": [Array],
      "nluModelName": "String",
      "score": Number
    }
    [Array].result.result.entities

    Array von Objekten, in dem jedes Objekt eine in der Suchabfrage erkannte Modellabsichtsentität NLU darstellt.

    Datentyp: Array

    "entities": [
      {
        "matchingSegments": [Array],
        "name": "String",
        "parts": [Array],
        "score": Number,
        "startingPosition": Number,
        "value": "String"
      }
    ]
    [Array].result.result.entities.matchingSegments

    Array von Objekten, in dem jedes Objekt ein übereinstimmendes Segment der erkannten Entität NLU darstellt.

    Datentyp: Array

    "matchingSegments": [
      {
        "directMatch": Boolean
        "meta": {Object},
        "value": "String"
      }
    ]
    [Array].result.result.entities.matchingSegments.directMatch

    Kennzeichnung, die angibt, ob das übereinstimmende Entitätssegment NLU eine exakte Übereinstimmung mit dem Entitätswert darstellt.

    [Array].result.result.entities.matchingSegments.meta

    Objekt, das Schlüssel-Wert-Paar-Felder enthält, die Metadaten für das übereinstimmende Entitätssegment NLU darstellen.

    Datentyp: Objekt

    "meta": {
      "augmentedBy": "String",
      "colMeta:first_name": "String",
      "colMeta:last_name": "String",
      "compositionStrategy": "String",
      "fieldName": "String",
      "searchPreProcessors": "String",
      "SUB_PHRASE.penalty": "String",
      "tableName": "String"
    }
    [Array].result.result.entities.matchingSegments.value

    Zeichenfolgenwert der Entität NLU, die dem Segment entspricht.

    Datentyp: Zeichenfolge

    [Array].result.result.entities.name

    Name für die erkannte Entität NLU ] im Format „entity:[NLU_model].[intent].[entity_type].

    Datentyp: Zeichenfolge

    [Array].result.result.entities.parts

    Array von Objekten, in dem jedes Objekt einen NLU -Entitätsteil darstellt, der im Vorhersageergebnis gefunden wurde.

    Datentyp: Array

    "parts": [
      {
        "meta": {Object},
        "value": "String"
      }
    ]
    [Array].result.result.entities.parts.meta

    Objekt, das Schlüssel-Wert-Paar-Felder enthält, die Metadaten für den Entitätsteil NLU darstellen.

    Datentyp: Objekt

    "meta": {
      "augmentedBy": "String",
      "colMeta:name": "String",
      "compositionStrategy": "String",
      "fieldName": "String",
      "searchPreProcessors": "String",
      "SUB_PHRASE.penalty": "String",
      "tableName": "String"
    }
    [Array].result.result.entities.parts.value

    Zeichenfolgenwert des Entitätsteils NLU.

    Datentyp: Zeichenfolge

    [Array].result.result.entities.score

    Numerische Punktzahl von 0 bis 1, die die Konfidenz für die erkannte Entität NLU angibt.

    Datentyp: Zahl

    [Array].result.result.entities.startingPosition

    Numerischer Index für die Zeichenposition in der Suchabfrage, an der die erkannte Entität NLU beginnt.

    Datentyp: Zahl

    [Array].result.result.entities.value

    Zeichenfolgenwert von NLU, der in der Suchabfrage erkannt wurde.

    Datentyp: Zeichenfolge

    [Array].result.result.intentName

    Name der in der Suchabfrage erkannten Modellabsicht NLU.

    Datentyp: Zeichenfolge

    [Array].result.result.intents

    Array von Objekten, in dem jedes Objekt eine verschachtelte NLU Modellabsicht darstellt, die in der Suchabfrage erkannt wurde.

    Verschachtelte Absichtsobjekte enthalten dieselben Parameternamen und Datentypen wie das übergeordnete Absichtsobjekt des Modells NLU.

    Datentyp: Array

    "intents": [
      {
        "entities": [Array],
        "intentName": "String",
        "intents": [Array],
        "nluModelName": "String",
        "score": Number
      }
    ]
    [Array].result.result.nluModelName

    Name des Modells NLU, das das Vorhersageergebnis generiert hat.

    Datentyp: Zeichenfolge

    [Array].result.result.score

    Numerische Punktzahl von 0 bis 1, die die Konfidenz für das Vorhersageergebnis des Modells NLU angibt.

    Datentyp: Zahl

    [Array].result.solutionLabel

    Bezeichnung für das Modell NLU, das das Vorhersageergebnis generiert hat.

    Datentyp: Zeichenfolge

    [Array].result.solutionName

    Name für das Modell NLU, das das Vorhersageergebnis generiert hat.

    Datentyp: Zeichenfolge

    [Array].result.solutionType

    Typ für das Modell NLU, das das Vorhersageergebnis generiert hat.

    Datentyp: Zeichenfolge

    [Array].result.type

    Typ des Vorhersageergebnisses.

    Datentyp: Zeichenfolge

    [Array].result.version

    Version des Modells NLU, das das Vorhersageergebnis generiert hat.

    Datentyp: Zahl

    [Array].solutionName

    Name des Modells NLU, das das Vorhersageergebnis generiert hat.

    Datentyp: Zeichenfolge

    Dieses AI Search request processor -Skript überprüft, ob die Suchabfrage ein NLU -Modellvorhersageergebnis enthält. Wenn ein Vorhersageergebnis gefunden wird, werden die übereinstimmenden Segmente aus allen erkannten catalogItem-Entitäten als Suchbegriffe hinzugefügt.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sc_cat_item');
      answer.setSearchLimit(2);
      var predictionResult = context.getPredictionResult();
      if (predictionResult && predictionResult.length == 1) {
        var detail = predictionResult[0];
        if (detail['result'] && detail['result']['entities']) {
          var entities = detail['result']['entities'];
          for (var i = 0; i < entities.length; i++) {
            if (entities[i]['name'].endsWith('catalogItem')) {
              var matchingSegments = entities[i]['matchingSegments'];
              for (var j = 0; j < matchingSegments.length; j++)
                answer.addSearchPhrases([matchingSegments[j]['value']]);
            }
          }
        }
      }
    
      return answer;
    }