GeniusResultContext : délimité
L’API GeniusResultContext fournit des méthodes pour récupérer les informations de requête de recherche à partir du contexte d’une configuration de résultat Genius.
Vous pouvez utiliser les détails de la requête de recherche récupérés à l’aide de cette API pour renseigner les objets de réponse aux résultats Genius créés avec l’API GeniusResultAnswer .
Utilisez cette API dans les scripts côté serveur Genius Result avec l’identificateur d’espace de noms sn_ais. Pour plus d’informations sur la logique de script pour les résultats Genius, voir Créer une configuration de résultats Genius.
GeniusResultContext : getMatchingDocuments()
Récupère les documents de résultats de recherche à partir de la requête de recherche qui déclenche votre configuration de résultat Genius.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| [Tableau] | Tableau d’objets dans lequel chaque objet représente un document du résultat de la recherche qui correspond à la requête de recherche. Type de données : tableau
Remarque : Selon la requête de recherche, certains champs d’index du document de résultats de recherche peuvent apparaître dans l’objet en plus des paires nom-valeur répertoriées Recherche IA . |
| [Tableau].. Graphique | Score de pertinence calculé pour le document de résultat de recherche dans le contexte de la requête de recherche. Type de données : nombre Remarque : Le nom de cette paire nom-valeur commence par un point pour la distinguer du champ commun de score de l’indexRecherche IA. |
| [Tableau].. de table | Nom de la table à partir de laquelle ServiceNow AI Platform le document du résultat de la recherche a été indexé. Type de données : chaîne Remarque : Le nom de cette paire nom-valeur commence par un point pour la distinguer du champ commun de la table de l’indexRecherche IA. |
| [Tableau].. Text (Texte) | Texte indexé à partir du document du résultat de la recherche. Type de données : chaîne Remarque : Le nom de cette paire nom-valeur commence par un point pour la distinguer du champ commun de texte de l’indexRecherche IA. |
| [Tableau].. title (Titre) | Titre indexé pour le document du résultat de la recherche. Type de données : chaîne Remarque : Le nom de cette paire nom-valeur commence par un point pour la distinguer du champ commun de titre de l’indexRecherche IA. |
| [Tableau].. URL (URL de l' | URL du document du résultat de la recherche. Type de données : chaîne Remarque : Le nom de cette paire nom-valeur commence par un point pour la distinguer du champ commun d’URL de l’indexRecherche IA. |
| [tableau] .class_name | Classe enfant à laquelle appartient le document des résultats de recherche. Pour plus d’informations sur les classes enfants de table, reportez-vous à .Table extension and classes Type de données : chaîne |
| [tableau].sys_id | Sys_id pour le document du résultat de la recherche. Type de données : chaîne |
| [tableau].<field_name> | Recherche IA Champ d’index du document du résultat de la recherche. Type de données : type de données du champ d’index Recherche IA . |
Ce AI Search response processor script récupère jusqu’à trois documents de résultat de recherche qui correspondent à la requête de recherche et vérifie si l’un d’entre eux appartient à la table de la base de connaissances [kb_knowledge]. Si elle trouve un document de résultats de recherche dans la table de connaissances, la fonction ajoute les champs de ce document à l’objet GeniusResultAnswer afin que l’interface utilisateur puisse les afficher à l’utilisateur.
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()
Récupère les termes de recherche d’origine à partir de la requête de recherche qui déclenche la configuration de résultat Genius.
Vous pouvez utiliser des termes de recherche récupérés pour renseigner les réponses aux résultats Genius à l’aide des méthodes d’API GeniusResultAnswer .
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Chaîne | Termes d’origine de la requête de recherche. Type de données : chaîne |
Ce AI Search request processor script récupère les termes d’origine de la requête de recherche et les utilise comme termes de requête pour une nouvelle recherche d’extraits.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
var searchPhrase = context.getOriginalSearchPhrase();
answer.setSearchPhrase(searchPhrase);
answer.snippetSearch(true);
return answer;
}
GeniusResultContext : getPredictionResult()
Récupère les résultats de prédiction du NLU modèle pour la requête de recherche qui déclenche votre configuration de résultat Genius.
Utilisez cette méthode dans le script de processeur de demande ou de réponse d’une configuration de résultat Genius pour récupérer l’intention détectée pour la requête de recherche déclencheur. Vous pouvez renseigner les réponses de résultat Genius avec les détails de l’intention détectée à l’aide des méthodes d’API GeniusResultAnswer .
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| [Tableau] | Tableau d’objets dans lequel chaque objet représente un résultat de prédiction d’intention de NLU modèle pour la requête de recherche. Type de données : tableau |
| [Tableau].intentName | Nom de l’intention NLU du modèle détectée dans la requête de recherche. Type de données : chaîne |
| [tableau].résultat | Objet représentant le résultat de prédiction d’intention du NLU modèle pour la requête de recherche. Type de données : objet |
| [Tableau].résultat.application | Objet contenant les métadonnées de l’application de recherche qui a produit le résultat de prédiction. Type de données : objet |
| [Tableau].résultat.application.langage | Contexte linguistique de l’application ServiceNow AI Platform qui a produit le résultat de prédiction. Type de données : chaîne |
| [Tableau].résultat.application.type | Type de l’application ServiceNow AI Platform qui a produit le résultat de prédiction. Type de données : chaîne |
| [Tableau].résultat.résultat | Objet incluant les détails du résultat de prédiction d’intention du NLU modèle. Type de données : objet |
| [Tableau].résultat.résultat.entités | Tableau d’objets dans lequel chaque objet représente une entité d’intention NLU de modèle détectée dans la requête de recherche. Type de données : tableau |
| [Tableau].résultat.résultat.entités.matchingSegments | Tableau d’objets dans lequel chaque objet représente un segment correspondant de l’entité détectée NLU . Type de données : tableau |
| [Tableau].résultat.résultat.entités.matchingSegments.directMatch | Marqueur indiquant si le segment correspondant à l’entité NLU représente une correspondance exacte avec la valeur de l’entité. |
| [Tableau].résultat.résultat.entités.matchingSegments.meta | Objet contenant des champs de paire clé-valeur représentant les métadonnées pour le segment correspondant à l’entité NLU . Type de données : objet |
| [Tableau].résultat.résultat.entités.matchingSegments.valeur | Valeur de chaîne du segment correspondant à l’entité NLU . Type de données : chaîne |
| [Array].result.result.entities.name | Nom de l’entité détectée NLU , dans l’entité :[NLU_model].[ intention]. [entity_type] format. Type de données : chaîne |
| [Array].result.result.entities.parts | Tableau d’objets dans lequel chaque objet représente une partie d’entité NLU trouvée dans le résultat de prédiction. Type de données : tableau |
| [Tableau].résultat.résultat.entités.parties.meta | Objet contenant des champs de paire clé-valeur représentant les métadonnées de la partie de l’entité NLU . Type de données : objet |
| [Tableau].résultat.résultat.entités.parties.valeur | Valeur de chaîne de la partie de l’entité NLU . Type de données : chaîne |
| [Tableau].résultat.résultat.entités.score | Score numérique compris entre 0 et 1 indiquant la confiance envers l’entité détectée NLU . Type de données : nombre |
| [Tableau].résultat.résultat.entités.startingPosition | Index numérique de la position du caractère dans la requête de recherche à laquelle l’entité détectée NLU commence. Type de données : nombre |
| [Tableau].résultat.résultat.entités.valeur | Valeur de chaîne détectée NLU dans la requête de recherche. Type de données : chaîne |
| [Tableau].résultat.résultat.nom_intention | Nom de l’intention NLU du modèle détectée dans la requête de recherche. Type de données : chaîne |
| [Tableau].résultat.résultat.intentions | Tableau d’objets dans lequel chaque objet représente une intention de modèle imbriquée détectée NLU dans la requête de recherche. Les objets d’intention imbriqués incluent les mêmes noms de paramètres et types de données que l’objet d’intention du modèle parent NLU . Type de données : tableau |
| [Tableau].result.result.nluModelName | Nom du NLU modèle qui a produit le résultat de prédiction. Type de données : chaîne |
| [Tableau].résultat.résultat.score | Score numérique de 0 à 1 indiquant le score de confiance pour le résultat de prédiction NLU du modèle. Type de données : nombre |
| [Tableau].résultat.solutionÉtiquette | Étiquette du NLU modèle qui a produit le résultat de prédiction. Type de données : chaîne |
| [Tableau].result.solutionName | Nom du NLU modèle qui a produit le résultat de prédiction. Type de données : chaîne |
| [Tableau].résultat.solutionType | Type pour le NLU modèle qui a produit le résultat de prédiction. Type de données : chaîne |
| [Tableau].résultat.type | Type du résultat de prédiction. Type de données : chaîne |
| [tableau].résultat.version | Version du modèle ayant produit le résultat de NLU prédiction. Type de données : nombre |
| [Tableau].solutionName | Nom du NLU modèle qui a produit le résultat de prédiction. Type de données : chaîne |
Ce AI Search request processor script vérifie si la requête de recherche inclut un résultat de NLU prédiction de modèle. Lorsqu’il trouve un résultat de prédiction, il ajoute les segments correspondants de toutes les entités catalogItem détectées comme termes de recherche.
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;
}