GeniusResultContext - com escopo
A API GeniusResultContext fornece métodos para recuperar informações de consulta de pesquisa do contexto de uma configuração de resultado do Genius.
Você pode usar detalhes da consulta de pesquisa recuperados com esta API para preencher objetos de resposta de resultado do Genius criados com a API GeniusResultAnswer.
Use esta API em scripts do lado do servidor de resultado do Genius com o identificador de namespace sn_ais. Para obter mais informações sobre lógica de script para resultados do Genius, consulte Criar uma nova configuração de resultado do Genius.
GeniusResultContext – getMatchingDocuments()
Recupera documentos de resultado de pesquisa da consulta de pesquisa que aciona sua configuração de resultado do Genius.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| [Matriz] | Matriz de objetos em que cada objeto representa um documento de resultado de pesquisa que correspondeu à consulta de pesquisa. Tipo de dados: matriz
Nota: Dependendo da consulta de pesquisa, alguns dos campos de índice Pesquisa com IA do documento de resultado da pesquisa podem aparecer no objeto, além dos pares de nome-valor listados. |
| [Matriz]..pontuação | Pontuação de relevância calculada para o documento de resultado da pesquisa no contexto da consulta de pesquisa. Tipo de dados: número Nota: O nome deste par nome-valor começa com um ponto para diferenciá-lo do campo comum de pontuação do índice Pesquisa com IA. |
| [Matriz]..tabela | Nome da tabela Now Platform a partir da qual o documento de resultado da pesquisa foi indexado. Tipo de dados: cadeia de caracteres Nota: O nome deste par nome-valor começa com um ponto para diferenciá-lo do campo comum da tabela de índice Pesquisa com IA. |
| [Matriz]..texto | Texto indexado do documento de resultado da pesquisa. Tipo de dados: cadeia de caracteres Nota: O nome deste par nome-valor começa com um ponto para diferenciá-lo do campo comum de texto do índice Pesquisa com IA. |
| [Matriz]..título | Título indexado do documento de resultado da pesquisa. Tipo de dados: cadeia de caracteres Nota: O nome deste par nome-valor começa com um ponto para diferenciá-lo do campo comum de título do índice Pesquisa com IA. |
| [Matriz]..url | URL do documento de resultado da pesquisa. Tipo de dados: cadeia de caracteres Nota: O nome deste par nome-valor começa com um ponto para diferenciá-lo do campo comum de URL do índice Pesquisa com IA. |
| [Matriz].class_name | A classe secundária à qual o documento de resultado da pesquisa pertence. Para obter mais informações sobre classes secundárias de tabela, consulte Table extension and classes. Tipo de dados: cadeia de caracteres |
| [Matriz].sys_id | Sys_id do documento de resultado da pesquisa. Tipo de dados: cadeia de caracteres |
| [Matriz].<field_name> | Pesquisa com IA campo de índice do documento de resultado da pesquisa. Tipo de dados: o tipo de dados do campo de índice Pesquisa com IA. |
Este script AI Search response processor recupera até três documentos de resultado de pesquisa correspondentes à consulta de pesquisa e verifica se algum deles é da tabela Conhecimento [kb_knowledge]. Se encontrar um documento de resultado de pesquisa na tabela Conhecimento, a função adicionará os campos desse documento ao objeto GeniusResultAnswer para que a IU possa exibi-los para o usuário.
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()
Recupera os termos de pesquisa originais da consulta de pesquisa que aciona a configuração de resultado do Genius.
Você pode usar termos de pesquisa recuperados para preencher respostas de resultado do Genius usando métodos de API GeniusResultAnswer.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Termos originais da consulta de pesquisa. Tipo de dados: cadeia de caracteres |
Este script AI Search request processor obtém os termos originais da consulta de pesquisa e os usa como termos de consulta para uma nova pesquisa de snippet.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
var searchPhrase = context.getOriginalSearchPhrase();
answer.setSearchPhrase(searchPhrase);
answer.snippetSearch(true);
return answer;
}
GeniusResultContext – getPredictionResult()
Recupera NLU resultados de previsão do modelo para a consulta de pesquisa que aciona a configuração de resultado do Genius.
Use este método em um script de processador de resposta ou solicitação de configuração de resultado do Genius para recuperar a intenção detectada para a consulta de pesquisa de acionamento. Você pode preencher as respostas de resultado do Genius com detalhes da intenção detectada usando métodos de API GeniusResultAnswer.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| [Matriz] | Matriz de objetos em que cada objeto representa um resultado de previsão de intenção de modelo NLU para a consulta de pesquisa. Tipo de dados: matriz |
| [Matriz].IntentName | Nome da intenção do modelo NLU detectada na consulta de pesquisa. Tipo de dados: cadeia de caracteres |
| [Matriz].resultado | Objeto que representa o resultado da previsão de intenção do modelo NLU para a consulta de pesquisa. Tipo de dados: objeto |
| [Matriz].result.application | Objeto que contém metadados da aplicação de pesquisa que produziu o resultado da previsão. Tipo de dados: objeto |
| [Matriz].result.application.language | Contexto de idioma para a aplicação Now Platform que produziu o resultado da previsão. Tipo de dados: cadeia de caracteres |
| [Matriz].result.application.type | Tipo da aplicação Now Platform que produziu o resultado da previsão. Tipo de dados: cadeia de caracteres |
| [Matriz].result.result | Objeto que inclui detalhes do resultado da previsão de intenção do modelo NLU. Tipo de dados: objeto |
| [Matriz].result.result.entities | Matriz de objetos em que cada objeto representa uma entidade de intenção de modelo NLU detectada na consulta de pesquisa. Tipo de dados: matriz |
| [Matriz].result.result.entities.matchingSegments | Matriz de objetos na qual cada objeto representa um segmento correspondente da entidade NLU detectada. Tipo de dados: matriz |
| [Matriz].result.result.entities.matchingSegments.directMatch | Sinalizador que indica se o segmento de correspondência de entidade NLU representa uma correspondência exata para o valor da entidade. |
| [Matriz].result.result.entities.matchingSegments.meta | Objeto que contém campos de par de chave-valor que representam metadados para o segmento de correspondência de entidade NLU. Tipo de dados: objeto |
| [Matriz].result.result.entities.matchingSegments.value | Valor de cadeia de caracteres do segmento correspondente à entidade NLU. Tipo de dados: cadeia de caracteres |
| [Array].result.result.entities.name | Nome da entidade NLU detectada, no formato entity:[NLU_model].[intent].[entity_type]. Tipo de dados: cadeia de caracteres |
| [Array].result.result.entities.parts | Matriz de objetos em que cada objeto representa uma parte da entidade NLU encontrada no resultado da previsão. Tipo de dados: matriz |
| [Matriz].result.result.entities.parts.meta | Objeto que contém campos de par de chave-valor que representam metadados da parte da entidade NLU. Tipo de dados: objeto |
| [Matriz].result.result.entities.parts.value | Valor da cadeia de caracteres da parte da entidade NLU. Tipo de dados: cadeia de caracteres |
| [Matriz].result.result.entities.score | Pontuação numérica de 0 a 1 indicando confiança para a entidade NLU detectada. Tipo de dados: número |
| [Matriz].result.result.entities.startingPosition | Índice numérico para a posição do caractere na consulta de pesquisa em que a entidade NLU detectada começa. Tipo de dados: número |
| [Matriz].result.result.entities.value | Valor de cadeia de caracteres de NLU detectado na consulta de pesquisa. Tipo de dados: cadeia de caracteres |
| [Matriz].result.result.intentName | Nome da intenção do modelo NLU detectada na consulta de pesquisa. Tipo de dados: cadeia de caracteres |
| [Matriz].result.result.intents | Matriz de objetos em que cada objeto representa uma intenção de modelo NLU aninhada detectada na consulta de pesquisa. Os objetos de intenção aninhados incluem os mesmos nomes de parâmetro e tipos de dados que o objeto de intenção do modelo primário NLU. Tipo de dados: matriz |
| [Matriz].result.result.nluModelName | Nome do modelo NLU que produziu o resultado da previsão. Tipo de dados: cadeia de caracteres |
| [Matriz].result.result.score | Pontuação numérica de 0 a 1 indicando confiança para o resultado da previsão do modelo NLU. Tipo de dados: número |
| [Matriz].result.solutionLabel | Rótulo para o modelo NLU que produziu o resultado da previsão. Tipo de dados: cadeia de caracteres |
| [Matriz].result.solutionName | Nome do modelo NLU que produziu o resultado da previsão. Tipo de dados: cadeia de caracteres |
| [Matriz].result.solutionType | Digite para o modelo NLU que produziu o resultado da previsão. Tipo de dados: cadeia de caracteres |
| [Matriz].result.type | Tipo de resultado da previsão. Tipo de dados: cadeia de caracteres |
| [Matriz].result.version | Versão do modelo NLU que produziu o resultado da previsão. Tipo de dados: número |
| [Matriz].solutionName | Nome do modelo NLU que produziu o resultado da previsão. Tipo de dados: cadeia de caracteres |
Este script AI Search request processor verifica se a consulta de pesquisa inclui um resultado de previsão do modelo NLU. Quando encontra um resultado de previsão, ele adiciona os segmentos correspondentes de todas as entidades catalogItem detectadas como termos de pesquisa.
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;
}