GeniusResultContext: Bereichsbezogen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 6 Minuten Lesedauer
  • Die GeniusResultContext- API bietet Methoden zum Abrufen von Suchabfrageinformationen aus dem Kontext einer Genius-Ergebniskonfiguration.

    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-Bezeichner 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 ausfüllen, indem Sie GeniusResultAnswer- API-Methoden verwenden.
    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 die 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:
    Je nach Suchabfrage können einige der Indexfelder KI-Suche des Suchergebnisdokuments zusätzlich zu den aufgeführten 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 es vom allgemeinen Feld der Tabelle des KI-Suche -Index 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

    Indizierter 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 Index KI-Suche 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 Skript AI Search response processor ruft bis zu drei Suchergebnisdokumente ab, die mit der Suchabfrage übereinstimmen, 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 Anwenderoberfläche sie dem Anwender 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 Absicht abzurufen, die für die auslösende Suchabfrage erkannt wurde. Sie können Genius-Ergebnisantworten mit Details aus der erkannten Absicht ausfüllen, indem Sie GeniusResultAnswer- API-Methoden verwenden.

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

    Array von Objekten, in dem jedes Objekt ein NLU -Modell der Absichtsvorhersageergebnis für die Suchabfrage darstellt.

    Datentyp: Array

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

    Name der NLU -Modellabsicht, die in der Suchabfrage erkannt wurde.

    Datentyp: Zeichenfolge

    [Array].result

    Objekt, das das Ergebnis der Absichtsvorhersage 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 erzeugt hat.

    Datentyp: Objekt

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

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

    Datentyp: Zeichenfolge

    [Array].result.application.type

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

    Datentyp: Zeichenfolge

    [Array].Ergebnis.Ergebnis

    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 NLU -Modellabsichtsentität darstellt, die in der Suchabfrage erkannt wurde.

    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 NLU -Entität 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 genaue Übereinstimmung mit dem Entitätswert darstellt.

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

    Objekt mit Feldern als Schlüssel-Wert-Paar, die Metadaten für das Entitätsübereinstimmungssegment 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 des Entitätsübereinstimmungssegments NLU.

    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 mit Feldern als Schlüssel-Wert-Paar, 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 NLU -Entität 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 NLU -Modellabsicht, die in der Suchabfrage erkannt wurde.

    Datentyp: Zeichenfolge

    [Array].Ergebnis.Ergebnis.Absichten

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

    Geschachtelte Absichtsobjekte enthalten dieselben Parameternamen und Datentypen wie das übergeordnete Modellabsichtsobjekt 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 erzeugt 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 erzeugt hat.

    Datentyp: Zeichenfolge

    [Array].result.solutionName

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

    Datentyp: Zeichenfolge

    [Array].result.solutionType

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

    Datentyp: Zeichenfolge

    [Array].result.type

    Typ des Vorhersageergebnisses.

    Datentyp: Zeichenfolge

    [Array].result.version

    Version des Modells NLU, das das Vorhersageergebnis erzeugt hat.

    Datentyp: Zahl

    [Array].solutionName

    Name des Modells NLU, das das Vorhersageergebnis erzeugt 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;
    }