Pesquisa de Conhecimento
Se você estiver usando o Oracle B2C Service Knowledge Foundation ou o Oracle Fusion Service Knowledge Management, poderá usar o componente de fluxo de diálogo de Pesquisa de Conhecimento incorporado para procurar e exibir artigos desse serviço.
Para integrar sua habilidade com um serviço do Knowledge Foundation:
-
Adicione uma integração de pesquisa de conhecimento. Você só precisa fazer isso uma vez por interface de serviço.
-
Adicione um ou mais componentes da Pesquisa de Conhecimento ao fluxo de caixas de diálogo da habilidade, conforme descrito em Usar o Componente de Pesquisa de Conhecimento.
Adicionar um Serviço de Pesquisa de Conhecimento
Para usar o componente Pesquisa de Conhecimento em uma habilidade para procurar e recuperar artigos do Oracle B2C Service Knowledge Foundation ou do Oracle Fusion Service Knowledge Management, crie um serviço de pesquisa de conhecimento que se integre ao serviço.
Antes de criar um serviço de pesquisa de conhecimento para o Knowledge Foundation, verifique se o Gerente de Conta do Oracle B2C Service ativou a API Connect Knowledge Foundation no nível do site e se a definição de configuração II_CONNECT_ENABLED está ativada. Caso contrário, quando você chamar o componente do Knowledge Service, ele retornará um erro global. O código de exceção será ACCESS_DENIED
e a mensagem conterá a string base para SOAP_SERVER_DISABLED
. Se você planeja integrar com várias interfaces, o perfil do usuário que você usa para a integração de serviço deve ter acesso ativado para as interfaces.
Para criar um serviço de pesquisa de conhecimento, conclua estas etapas:
-
No Oracle Digital Assistant, clique em
para abrir o menu lateral, selecione Definições, selecione Serviços Adicionais e clique na guia Pesquisa de Conhecimento.
-
Clique em + Adicionar Serviço
A caixa de diálogo Novo Serviço de Pesquisa de Conhecimento é exibida.
-
Forneça as seguintes informações:
Campo Obrigatório Descrição Nome S Um nome exclusivo para a integração. Descrição N Descrição da integração. Tipo de serviço S Selecione se isso se integra ao Oracle B2C Service Knowledge Foundation ou ao Oracle Fusion Service Knowledge Management. Host S O domínio totalmente qualificado para o serviço. Por exemplo: interfacename.custhelp.com
.Versão do Service Cloud S (Somente para o Oracle B2C Service) Indique se a versão do Oracle B2C Service é 20A, mais recente ou anterior a essa. Tipo de Autenticação S (Somente para o Oracle Fusion Service). Por padrão, defina para permitir que usuários conectados e anônimos acessem artigos. Aviso: A partir da versão 24.02, a opção de permitir que apenas usuários conectados acessem os artigos não foi totalmente testada.
Nome do Usuário S O nome de usuário da conta do serviço de conhecimento. Para o Oracle B2C Service, o usuário deve estar associado a um perfil do Oracle B2C Service que tenha permissões de autenticação de sessão e autenticação de conta da API Pública do Knowledge Foundation selecionadas na guia Administração de Permissões de Perfil. Se essa integração de serviço incluir várias interfaces, o perfil deverá ter acesso ativado para as interfaces.
O usuário também deve ter acesso aos artigos que a habilidade precisa recuperar.
Senha S A senha do usuário. Caminho de Pesquisa ou URL Personalizado N Se quiser que o botão de pesquisa do componente vá para uma URL personalizada, em vez do link de pesquisa padrão, você poderá especificá-lo aqui. Você pode usar o placeholder <SEARCH_TERM>
para especificar onde colocar o termo de pesquisa no URL.Observe que, para serviços B2C, se você usar um URL absoluto, a habilidade não adicionará os filtros de pesquisa descritos em Filtrar Resultados por Produto e Categoria ao URL.
Caminho do Resultado ou URL Personalizado N Se quiser que o botão mostrar mais do componente vá para uma URL personalizada em vez do link de resultado padrão, você poderá especificá-lo aqui. Você pode usar o placeholder <ANSWER_ID>
para especificar onde colocar o ID do artigo no URL. -
Clique em Criar.
Se você estiver integrando com o Oracle Fusion Service Knowledge Management, vá para a Etapa 7.
-
Para o Oracle B2C Service, se o site do host tiver mais de uma interface, você será solicitado a selecionar a interface principal (local padrão).
Você pode adicionar mais interfaces na próxima etapa. Você também pode alterar qual interface é o padrão.
-
Se o seu serviço do Oracle B2C Service tiver interfaces diferentes para configurações regionais diferentes, clique em + Adicionar Configuração Regional para incluí-las na integração do serviço. Você precisará selecionar a interface a ser adicionada e, em seguida, especificar o host da interface. Você só pode adicionar uma interface por localidade.
Observe que o perfil do usuário que você usa para a integração de serviço deve ter acesso ativado para as interfaces.
Quando um componente Pesquisa de Conhecimento usa uma integração de serviço de várias interfaces, você usa a propriedade Pesquisar Usando Localidade para especificar qual interface pesquisar. (Nos fluxos de caixas de diálogo baseados em YAML, é a propriedade
locale
.) A propriedade assume como padrão o valorprofile.locale
. Se nenhuma das interfaces suportar a localidade, o componente pesquisará a interface padrão. -
Clique em Verificar Definições para verificar se o Oracle Digital Assistant pode estabelecer conexão com o serviço com sucesso.
Testar Termos de Pesquisa do Knowledge Foundation
Para testar termos de pesquisa:
-
No Oracle Digital Assistant, clique em
para abrir o menu lateral, selecione Definições, selecione Serviços Adicionais e clique na guia Pesquisa de Conhecimento.
-
Selecione o serviço de pesquisa de conhecimento e clique no host do Service Cloud cujos termos de pesquisa você deseja testar.
A página de pesquisa do serviço é exibida. Informe os termos da pesquisa para ver os resultados.
Usar o Componente da Pesquisa de Conhecimento
Use o componente de fluxo de diálogo Pesquisa de Conhecimento para pesquisar e exibir informações de um serviço de conhecimento.
Usando esse componente, você especifica o termo de pesquisa, o serviço de pesquisa de conhecimento a ser pesquisado, qual produto ou categoria pesquisar (ou ambos) e quantos resultados exibir. Também é possível configurar labels e prompts. Para o Oracle B2C Service Knowledge Foundation, você pode especificar se deseja exibir a resposta ou a resposta especial e, para interfaces de várias configurações, qual interface pesquisar. Os detalhes e as transições da propriedade do componente são descritos em Pesquisa de Conhecimento para o Designer de Fluxo Visual (e em System.KnowledgeSearch para caixas de diálogo desenvolvidas no modo YAML).
Você pode incorporar a pesquisa de conhecimento para não só fornecer respostas para conjuntos específicos de perguntas, como também usar a pesquisa de conhecimento para identificar intenções não resolvidas. Se a declaração de um usuário não for resolvida como qualquer intenção dentro do limite de confiança da habilidade, a habilidade pesquisará a base de conhecimento usando a declaração como termo de pesquisa. Por exemplo, sua base de conhecimento pode conter artigos sobre sua política de devolução, custos de devolução de remessa e se é possível devolver produtos wearable. Sua habilidade de solicitação de produto pode incluir intenções especificamente adaptadas para usar pesquisas precisas da base de conhecimento para retornar essas respostas. Se o usuário fizer uma pergunta relacionada que sua habilidade não identifique especificamente, como uma pergunta sobre garantias, a pergunta será resolvida como intenção não resolvida e sua habilidade poderá realizar uma pesquisa na base de conhecimento usando a pergunta do usuário como termo de pesquisa.
Para implementar essa técnica, execute as seguintes etapas:
-
Associe um conjunto de perguntas relacionadas a um termo de pesquisa específico: Para cada resposta da base de conhecimento que você deseja usar na habilidade, crie uma intenção com um conjunto de declarações de exemplo (corpus de treinamento). Quando a declaração do usuário for resolvida para essa intenção, faça a transição do fluxo de caixas de diálogo para um estado que pesquise a base de conhecimento com um termo de pesquisa que retorne a resposta desejada. O corpus de treinamento, com o parser de linguagem natural (NLP), ajuda a habilidade a resolver perguntas semelhantes ao corpus de treinamento para essa intenção.
-
Usar a declaração do usuário como termo de pesquisa para intenções não resolvidas: Se a declaração do usuário não for resolvida como qualquer intenção dentro do nível de confiança da habilidade, você poderá fazer a transição do fluxo de caixas de diálogo para um estado que pesquisa a base de conhecimento com o termo de pesquisa definido como declaração do usuário. Ou seja, execute uma pesquisa roll-over.
Observe que você deve primeiro criar uma integração de pesquisa de conhecimento para poder usar este componente.
Associar Perguntas Relacionadas a um Termo de Pesquisa
Embora seja possível simplesmente empregar a declaração do usuário como o termo de pesquisa para uma pesquisa da base de conhecimento, muitas vezes é preferível aproveitar os recursos de parsing de intenção e linguagem natural para garantir que a habilidade exiba a melhor resposta possível para uma determinada pergunta.
Ao criar uma intenção para cada resposta da base de conhecimento que você deseja incorporar à sua habilidade, você pode usar as declarações de exemplo da intenção (corpus de treinamento) para associar várias perguntas a essa resposta. Usando o corpus de treinamento, o parser de linguagem natural (NLP) resolverá outras perguntas semelhantes às do corpus de treinamento para essa intenção. À medida que sua habilidade é usada, você pode se beneficiar de insights e de novo treinamento para melhorar a resolução de declarações para essa intenção.
Quando uma expressão for resolvida para uma de suas intenções, que chamaremos de intenções de conhecimento, faça a transição do fluxo de caixas de diálogo para um estado que pesquise a base de conhecimento usando um termo de pesquisa que recuperará e exibirá a resposta desejada.
Como exemplo, digamos que você tenha uma resposta da base de conhecimento sobre registro de produtos que não só explica como registrar um produto, mas também descreve as vantagens de registrar, além de como atualizar e desativar um produto. Você começaria criando uma intenção para ela (chame-a de knowledge.Product Registration
). Em seguida, você adicionaria vários exemplos de declarações à intenção que ilustram as formas como as pessoas perguntariam sobre o registro do produto (você deve começar com algumas dúzias de exemplos). Veja um pequeno conjunto de declarações de exemplo que você pode usar para knowledge.Product Registration
.
- como registrar meu produto
- preciso desativar um produto registrado
- quero atualizar o dispositivo registrado
- o registro do produto é importante
- quais são as vantagens de registrar um dispositivo
- por que devemos registrar produtos?
Em seguida, você precisará criar um fluxo para pesquisar a base de conhecimento usando um termo de pesquisa que produzirá a resposta desejada. Você pode criar um estado de pesquisa de conhecimento para cada intenção de conhecimento e codificar o termo de pesquisa ou pode criar um único fluxo e usar uma variável de mapa para associar suas intenções de conhecimento aos termos de pesquisa.
Veja a seguir as etapas para criar um único fluxo no Designer de Fluxo Visual para todas as intenções mapeadas para um termo de pesquisa específico:
- No Fluxo Principal, crie uma variável global do tipo mapa para associar as intenções de conhecimento aos termos de pesquisa. Neste exemplo, o chamaremos de
searchTerms
. Veja a seguir um exemplo de valor que você poderia atribuir a essa variável se tivesse seis intenções:{ "knowledge.Shipping Return Costs" : "Shipping Return Costs", "knowledge.Locate Service Tag or Serial" : "Locating Your Service Tag or Asset Serial Number", "knowledge.Support Account" : "My Support Account", "knowledge.Product Registration" : "How do I register my product?", "knowledge.Noncontiguous Delivery Time" : "What is the delivery time to Alaska, Hawaii and the U.S. Territories?", "knowledge.Return Policy" : "What is your return policy?" }
Dica:
Este exemplo usa o resumo da resposta para o termo de pesquisa. Com o Oracle B2C Service Knowledge Foundation, você também pode usar o ID da resposta. - Inicie o fluxo com um componente Definir Variável e crie uma variável para conter o nome da intenção (por exemplo,
intentName
) e informe a seguinte expressão FreeMarker como seu valor:${skill.system.nlpresult.value.intentMatches.summary[0].intent}
- Após o componente Definir Variável que você acabou de adicionar, adicione outro componente Definir Variável para o termo de pesquisa (por exemplo,
searchTerm
) e digite a seguinte expressão FreeMarker como seu valor:${searchTerms.value[intentName.value]}
Essa expressão usa o mapa
searchTerms
definido anteriormente para determinar o termo de pesquisa com base na intenção resolvida. - Após o segundo componente Definir Variável, adicione um componente Pesquisa de Conhecimento e defina sua propriedade como Período Letivo a Ser Pesquisado como
${searchTerm.value}"
. -
No estado do componente Pesquisa de Conhecimento, defina o Nome do Serviço de Pesquisa como o nome do serviço de pesquisa de conhecimento.
-
Após o componente Pesquisa de Conhecimento, adicione os estados das transições
actions
,error
enext
. -
Clique em Validar para garantir que o fluxo de caixas de diálogo não tenha erros.
-
Clique em Treinar para treinar a habilidade com suas declarações de exemplo.
- Na página Intenções da habilidade, mapeie cada uma das intenções associadas a um termo de pesquisa para esse fluxo.
Dica:
Os valores padrão para as propriedades Texto a Ser Exibido Antes dos Resultados, Rótulo do Link do Artigo da Web e Rótulo do Link da Página de Pesquisa da Web são armazenados no pacote de recursos da habilidade. Para alterar um padrão, abra a página Pacote de Recursos da habilidade clicando em
Para obter um exemplo de fluxo de caixas de diálogo baseado em YAML usando essa técnica, consulte Exemplo: Associar Perguntas Relacionadas a um Termo de Pesquisa em um Fluxo de Caixas de Diálogo YAML.
Empregar Declaração do Usuário como Termo de Pesquisa
Um uso comum para o componente de fluxo de caixas de diálogo Pesquisa de Conhecimento é tentar resolver a pergunta ou solicitação de um usuário de que sua habilidade não foi projetada para tratar. Se a declaração de um usuário não for resolvida com nenhuma intenção, você poderá usar o componente para pesquisar a base de conhecimento com a propriedade Termo para Pesquisar definida como a declaração do usuário. Se não encontrar resultados, ou se o usuário não encontrar os resultados úteis, você poderá oferecer outras opções, como transferir para um agente ao vivo ou reformular a pergunta.
Você faz isso definindo a propriedade Termo para Pesquisar do componente como ${skill.system.nlpresult.value.query}
(que é a expressão para recuperar a declaração do usuário).
Nos fluxos de caixas de diálogo baseados em YAML, use a propriedade searchTerm
e defina-a como ${iResult.value.query}
. Para obter um exemplo de código YAML, consulte Exemplo: Declaração do Usuário do Empregador como Termo de Pesquisa.
Observe que essa técnica trata intenções não resolvidas em uma habilidade. Quando o fluxo navega pela intenção não resolvida do assistente digital, a solicitação não passa pelo Mecanismo de Intenções da habilidade e a declaração não estará em
${skill.system.nlpresult.value.query}
. Nesse caso, considere a criação de um estado que use ${system.message.messagePayload.text}
para a string de pesquisa. Em seguida, abra o assistente digital e, na página Definições > Configurações, vá para Mapeamentos de Estado de Habilidade e defina a Habilidade UnresolvedIntent Personalizada do Assistente Digital e o Estado UnresolvedIntent Personalizado do Assistente Digital para apontar para esse estado.
Encontre apenas os resultados que contêm todas as palavras no termo de pesquisa da Knowledge Foundation
Por padrão, o Oracle B2C Service Knowledge Foundation procura respostas que contenham qualquer uma das palavras no termo de pesquisa. Se quiser que a pesquisa retorne apenas as respostas que contêm cada palavra no termo da pesquisa, adicione o seguinte par de chave/valor à propriedade Propriedades Personalizadas no componente de fluxo de caixas de diálogo Pesquisa de Conhecimento:
word_connector: "AND"
A chave
word_connector
é suportada somente para o Knowledge Foundation. O Oracle Fusion Service não suporta a propriedade word_connector
.
Se seu fluxo de caixas de diálogo estiver no modo YAML, o código terá esta aparência:
startSearch:
component: "System.KnowledgeSearch"
properties:
searchServiceName: "KnowledgeSearch"
searchTerm: "${searchTerm.value}"
customProperties:
word_connector: "AND"
transitions:
actions:
resultSent: "offerMoreHelp"
noResult: "reset"
serverError: "handleSearchServerProblem"
error: "handleSearchError"
next: "reset"
Filtrar Resultados por Produto e Categoria
Você pode fazer com que o componente de fluxo da caixa de diálogo Pesquisa de Conhecimento retorne apenas os resultados da pesquisa para um produto ou categoria especificado (ou ambos).
Para limitar os resultados àqueles relacionados a um produto ou categoria, use a propriedade Filtros de Resultado. Adicione itens Product
, Category
e Stripe Code
conforme necessário para definir o filtro. Você pode ter apenas um de cada tipo de filtro.
Se seu fluxo de caixas de diálogo estiver no modo YAML, use a propriedade
customFilters
. Adicione itens product
e category
conforme necessário para especificar o filtro de produto ou categoria. customFilters:
- name: "product"
value: "heart rate monitor"
- name: "category"
value: "returns"
Personalizar Resposta do Knowledge Foundation para Conversa de Chat
As respostas do Oracle B2C Service Knowledge Foundation geralmente são escritas para páginas web e, portanto, podem ser muito grandes para serem exibidas totalmente em uma conversa. Para respostas grandes, a saída é truncada e o usuário deve clicar no botão Mostrar Mais para ver o conteúdo completo. Quando sua resposta for maior que um parágrafo curto, considere adicionar uma resposta especial que você personalize especificamente para conversas de chat.
Para exibir a resposta especial em vez da resposta, defina a propriedade Versão Preferencial dos Resultados do componente de Pesquisa de Conhecimento como Special Response
e defina Mostrar Somente Versão Preferencial como false
. Com essas definições, o componente vai gerar a resposta especial, se ela existir. Caso contrário, ele vai gerar a resposta completa se o limite de tamanho do resultado não tiver sido atingido.
Se sua habilidade estiver no modo de caixa de diálogo YAML, os nomes de propriedades correspondentes serão
resultVersion
e resultVersionExclusive
.
As capturas de tela a seguir mostram a diferença entre uma resposta completa e uma resposta especial. A primeira captura de tela mostra a resposta completa. Observe como a resposta a "como faço para registrar um produto", que começa com "Você sabia que o registro do produto é muito importante", não é como um ser humano responderia à pergunta; portanto, não é "conversa". Além disso, a resposta completa é cortada no meio do terceiro parágrafo. A segunda captura de tela mostra a resposta especial, que é mais parecida com uma conversa e não truncada.
Descrição da ilustração kf-answer-full.png
Descrição da ilustração kf-special-response.png
Para saber como adicionar respostas especiais, consulte Editor de HTML para Respostas em Usando o B2C Service.
Remover o botão Visualizar detalhes e exibir todo o texto
Por padrão, o componente de fluxo de diálogo Pesquisa de Conhecimento exibe apenas as primeiras linhas da resposta, juntamente com um botão no qual o usuário clica para ver a resposta completa em uma guia do navegador.
Se quiser que ele mostre todo o conteúdo da resposta, defina o Rótulo de Link do Artigo da Web do componente de Pesquisa de Conhecimento como On
e defina o valor da chave do pacote de recursos systemComponent_KnowledgeSearch_resultLinkLabel
como a notação literal FreeMarker ${r""}
.
Se sua habilidade estiver no modo de diálogo YAML, você conseguirá isso definindo a propriedade resultLinkLabel
de System.KnowledgeSearch
como uma string vazia (""
).
Se você optar por exibir a resposta completa, tente limitar a resposta a apenas algumas telas cheias de texto. Caso contrário, o usuário poderá ter dificuldade em ler o texto em um widget de chat de tamanho regular.
Implementar Pesquisa de Conhecimento Multilíngue
Tanto o Oracle Fusion Service Knowledge Management quanto o Oracle B2C Service Knowledge Foundation oferecem suporte à devolução de resultados para uma localidade especificada.
Para o Oracle Fusion Service Knowledge Management, a pesquisa retorna automaticamente os artigos associados à localidade identificada por profile.locale
. Você pode substituir isso definindo a propriedade Pesquisar Usando Localidade do componente (para habilidades no modo de caixa de diálogo YAML, essa é a propriedade locale
). Se não houver artigos correspondentes para a localidade, ele retornará noResult
.
Para o Oracle B2C Service Knowledge Foundation, o serviço deve ter interfaces separadas para diferentes localidades e você deve configurar a integração da Pesquisa de Conhecimento para estabelecer conexão com as interfaces desejadas. Quando o componente de fluxo de caixas de diálogo Pesquisa de Conhecimento é chamado por uma habilidade, ele executa a pesquisa na interface para a qual a localidade corresponde ao valor profile.locale
da habilidade. Você pode substituir isso definindo a propriedade Pesquisar Usando Localidade do componente (para habilidades no modo de caixa de diálogo YAML, essa é a propriedade locale
). Se não houver uma correspondência, ele usará a interface padrão da integração da Pesquisa de Conhecimento.
Estas são as etapas para criar uma habilidade de pesquisa do Oracle B2C Service Knowledge Foundation em vários idiomas:
-
Adicionar um Serviço de Pesquisa de Conhecimento para a interface principal. Em seguida, adicione à integração as configurações regionais das outras interfaces que você deseja que a habilidade pesquise e especifique a configuração regional padrão. Observe que o perfil do usuário especificado para a integração de serviço deve ativar o acesso para as interfaces.
-
Crie uma habilidade de vários idiomas usando uma destas opções:
-
Crie uma habilidade com suporte ao idioma nativo e use pacotes de recursos para criar o texto de conversação para cada idioma que você deseja suportar, conforme descrito em Suporte ao Idioma Nativo para Habilidades
-
Crie uma habilidade que designe o inglês como o idioma principal e use o modo de tradução, conforme descrito em Criar uma Habilidade de Vários Idiomas sem Pacotes de Recursos para cada Idioma.
-
-
Adicione o componente Pesquisa de Conhecimento ao fluxo de caixas de diálogo. Se você não quiser que o componente use o valor
profile.locale
para determinar qual interface pesquisar, defina a propriedade Pesquisar Usando Localidade para a localidade desejada. Se nenhuma das interfaces suportar a localidade, o componente pesquisará a interface padrão.
Habilidade de Amostra do Knowledge Foundation
Para obter um exemplo de uso do componente System.KnowledgeSearch
, faça download do Modelo do CX Service, que contém a habilidade CXS.KnowledgeSearch (desenvolvida no modo YAML). Consulte os slides do Power Point Visão Geral do Oracle Digital Assistant CXS para obter instruções.
Como o Componente de Pesquisa de Conhecimento é Exibido no Oracle B2C Service Chat
A maneira como os resultados do componente de fluxo de caixas de diálogo Pesquisa de Conhecimento aparecem depende se eles são exibidos no chat padrão que é acessado por meio do portal do cliente ou no inlay de chat incorporado do Oracle Inlay Toolkit.
- Links: Os links aparecem como botões no inlay de chat incorporado. No chat padrão, o label é exibido como texto seguido por um URL clicável.
- Vários Resultados: Quando há mais de um resultado, eles aparecem como cartões na horizontal ou na vertical, dependendo do valor da propriedade
cardLayout
do componente (o padrão é horizontal). No chat padrão, os resultados aparecem na vertical.
Observe que as imagens não aparecem nos resultados.
Esta tabela ilustra como os resultados únicos e múltiplos são exibidos no inlay de chat incorporado e no chat padrão.
Exemplo de Configuração de Componente | Inlay de Chat Incorporado | Chat Padrão |
---|---|---|
Exemplo de um único resultado (modo Visual):
Exemplo de um único resultado (modo YAML):
|
![]() |
![]() |
Exemplo de vários resultados (Modo visual):
Exemplo de vários resultados (modo YAML):
|
![]() |
![]() |
O componente de fluxo de caixas de diálogo Pesquisa de Conhecimento suporta inlay de chat incorporado para o Oracle B2C Service versões 20A e mais recente. Para saber mais sobre o inlay de chat incorporado, consulte a documentação do Oracle Inlay Toolkit.