Búsqueda de conocimientos
Si utiliza Oracle B2C Service Knowledge Foundation u Oracle Fusion Service Knowledge Management, puede utilizar el componente de flujo de diálogo de búsqueda de conocimientos incorporado para buscar y mostrar artículos de ese servicio.
Para integrar la aptitud con un servicio de Knowledge Foundation, puede:
-
Adición de una integración con la búsqueda de conocimientos. Solo necesita hacerlo una vez por interfaz de servicio.
-
Agregue uno o más componentes de búsqueda de conocimientos al flujo de diálogo de la aptitud, como se describe en Uso del componente de búsqueda de conocimientos.
Adición de un servicio de búsqueda de conocimientos
Para utilizar el componente de búsqueda de conocimientos en una aptitud para buscar y recuperar artículos de Oracle B2C Service Knowledge Foundation u Oracle Fusion Service Knowledge Management, primero debe crear un servicio de búsqueda de conocimientos que se integre con el servicio.
Antes de crear un servicio de búsqueda de conocimientos para Knowledge Foundation, confirme que Oracle B2C Service Account Manager ha activado la API de Connect Knowledge Foundation en el nivel de sitio y que el valor de configuración II_CONNECT_ENABLED está activado. De lo contrario, al llamar al componente Servicio de Conocimientos, devolverá un error global. El código de excepción será ACCESS_DENIED
y el mensaje contendrá la cadena de la base de mensajes para SOAP_SERVER_DISABLED
. Si tiene previsto realizar la integración con varias interfaces, el perfil del usuario que utilice para la integración de servicios debe tener activado el acceso para las interfaces.
Para crear un servicio de búsqueda de conocimientos, realice estos pasos:
-
En Oracle Digital Assistant, haga clic en
para abrir el menú lateral, seleccione Configuración, seleccione Servicios adicionales y, a continuación, haga clic en el separador Búsqueda de conocimiento.
-
Haga clic en + Agregar servicio
Aparece el cuadro de diálogo Nueva integración con la búsqueda de conocimientos.
-
Proporcione la siguiente información:
Campo Obligatoria Descripción Nombre S Nombre único para la integración. Descripción N Descripción de la integración. Tipo de Servicio S Seleccione si se integra con Oracle B2C Service Knowledge Foundation u Oracle Fusion Service Knowledge Management. Host S Dominio totalmente cualificado para el servicio. Por ejemplo: interfacename.custhelp.com
.Versión de Service Cloud S (Solo para Oracle B2C Service) Indique si la versión de Oracle B2C Service es 20A o posterior, o anterior a esta. Tipo de Autenticación S (Solo para Oracle Fusion Service). Por defecto, establézcalo para permitir a los usuarios conectados y anónimos acceder a los artículos. Advertencia: a partir de la versión 24.02, la opción de permitir que solo los usuarios conectados accedan a los artículos no se probaron completamente.
Nombre de usuario S Nombre de usuario de la cuenta del servicio de conocimientos. Para Oracle B2C Service, el usuario debe estar asociado a un perfil de Oracle B2C Service que tenga los permisos de autenticación de cuenta y autenticación de sesión de la API de Public Knowledge Foundation seleccionados en el separador Administración de permisos de perfil. Si esta integración de servicio incluirá varias interfaces, el perfil debe tener activado el acceso para las interfaces.
El usuario también debe tener acceso a los artículos que necesita recuperar la aptitud.
Contraseña S Contraseña del usuario. Ruta de búsqueda o URL personalizada N Si desea que el botón de búsqueda del componente vaya a una URL personalizada en lugar del enlace de búsqueda por defecto, puede especificarlo aquí. Puede utilizar el marcador de posición <SEARCH_TERM>
para especificar dónde colocar el término de búsqueda en la URL.Tenga en cuenta que para los servicios B2C, si utiliza una URL absoluta, la aptitud no agregará los filtros de búsqueda que se describen en Filtrar resultados por producto y categoría a la URL.
Ruta de resultado o URL personalizada N Si desea que el botón Mostrar más del componente vaya a una URL personalizada en lugar del enlace de resultado por defecto, puede especificarlo aquí. Puede utilizar el marcador de posición <ANSWER_ID>
para especificar dónde colocar el ID de artículo en la URL. -
Haga clic en Crear.
Si está realizando la integración con Oracle Fusion Service Knowledge Management, vaya al paso 7.
-
Para Oracle B2C Service, si el sitio del host tiene más de una interfaz, se le pedirá que seleccione la interfaz principal (configuración regional por defecto).
Puede agregar más interfaces en el siguiente paso. También puede cambiar la interfaz por defecto.
-
Si el servicio Oracle B2C Service tiene interfaces diferentes para distintas configuraciones regionales, haga clic en + Agregar configuración regional para incluirlas en la integración del servicio. Deberá seleccionar la interfaz que desea agregar y, a continuación, especificar el host para la interfaz. Solo puede agregar una interfaz por configuración regional.
Tenga en cuenta que el perfil del usuario que utiliza para la integración de servicio debe tener activado el acceso para las interfaces.
Cuando un componente de búsqueda de conocimientos utiliza una integración de servicio de varias interfaces, utilice la propiedad Buscar mediante configuración regional para especificar qué interfaz buscar. (En los flujos de diálogo basados en YAML, es la propiedad
locale
.) La propiedad se define por defecto en el valorprofile.locale
. Si ninguna de las interfaces admite la configuración regional, el componente busca la interfaz predeterminada. -
Haga clic en Verificar configuración para comprobar si Oracle Digital Assistant se puede conectar al servicio correctamente.
Términos de búsqueda de base de conocimientos de prueba
Para probar los términos de búsqueda:
-
En Oracle Digital Assistant, haga clic en
para abrir el menú lateral, seleccione Configuración, seleccione Servicios adicionales y, a continuación, haga clic en el separador Búsqueda de conocimiento.
-
Seleccione el servicio de búsqueda de conocimientos y, a continuación, haga clic en el host de Service Cloud para el que desea probar los términos de búsqueda.
Aparece la página de búsqueda del servicio. Introduzca los términos de búsqueda para ver los resultados.
Uso del componente de búsqueda de conocimiento
El componente de flujo de diálogo Búsqueda de conocimientos se utiliza para buscar y mostrar información de un servicio de conocimientos.
Mediante este componente, se especifica el término de búsqueda, el servicio de búsqueda de conocimientos que se va a buscar, el producto o la categoría que se va a buscar (o ambos) y el número de resultados que se van a mostrar. También puede configurar etiquetas y peticiones de datos. Para Oracle B2C Service Knowledge Foundation, puede especificar si desea mostrar la respuesta o la respuesta especial y, para las interfaces de varias configuraciones regionales, qué interfaz buscar. Las transiciones y los detalles de la propiedad del componente se describen en Búsqueda de conocimientos para el diseñador de flujo visual (y en System.KnowledgeSearch para los cuadros de diálogo desarrollados en modo YAML).
Puede incorporar la búsqueda de conocimientos para proporcionar no solo respuestas para juegos específicos de preguntas, también puede utilizar la búsqueda de conocimientos para manejar intenciones no resueltas. Si la expresión de un usuario no se resuelve en ninguna intención dentro del umbral de confianza de la aptitud, la aptitud puede realizar una búsqueda en la base de conocimientos utilizando la expresión como término de búsqueda. Por ejemplo, la base de conocimientos puede contener artículos sobre su política de devolución, los costes de devolución y si se pueden devolver productos que se puedan llevar puestos. La aptitud de orden de producto podría incluir intenciones específicamente adaptadas para utilizar búsquedas precisas de la base de conocimientos para devolver estas respuestas. Si el usuario hace una pregunta relacionada que la aptitud no gestiona específicamente, como puede ser una pregunta sobre las garantías, la pregunta se resolvería en la intención no resuelta y la aptitud podría realizar una búsqueda en la base de conocimientos con la pregunta del usuario como término de búsqueda.
Para implantar esta técnica, realice los siguientes pasos:
-
Asocie un juego de preguntas relacionadas con un término de búsqueda específico: para cada respuesta de la base de conocimientos que desee utilizar en la aptitud, cree una intención con un juego de expresiones de ejemplo (corpus de entrenamiento). Cuando la expresión del usuario se resuelva en dicha intención, realice la transición del flujo de diálogo a un estado que realice una búsqueda en la base de conocimientos con un término de búsqueda que devuelva la respuesta deseada. El corpus de entrenamiento, junto con el analizador de lenguaje natural (NLP), ayudan a la aptitud a resolver preguntas que son similares al corpus de entrenamiento para esa intención.
-
Emplee la expresión del usuario como término de búsqueda para intenciones no resueltas: si la expresión del usuario no se resuelve en ninguna intención dentro del nivel de confianza de la aptitud, realice la transición del flujo de diálogo a un estado que realice una búsqueda en la base de conocimientos con el término de búsqueda definido en la expresión del usuario. Es decir, realice una búsqueda continua.
Tenga en cuenta que primero debe crear una integración con la búsqueda de conocimientos para poder utilizar este componente.
Asociación de preguntas relacionadas con un término de búsqueda
Aunque es posible simplemente emplear la expresión del usuario como término de búsqueda de una búsqueda en la base de conocimientos, a menudo es preferible utilizar las funciones de análisis de intenciones y del lenguaje natural para garantizar que la aptitud muestre la mejor respuesta posible a una pregunta determinada.
Al crear una intención para cada respuesta de la base de conocimientos que desee incorporar a la aptitud, puede utilizar las expresiones de ejemplo de la intención (corpus de entrenamiento) para asociar varias preguntas a esa respuesta. Utilizando el corpus de entrenamiento, el analizador del lenguaje natural (NLP) resolverá otras preguntas similares a las del corpus de entrenamiento para dicha intención. A medida que la aptitud se pone en uso, puede utilizar las estadísticas y el reentrenamiento para mejorar la resolución de las expresiones en esa intención.
Cuando una expresión se resuelve en una de sus intenciones, que denominaremos intenciones de conocimiento, realice la transición del flujo de diálogo a un estado que realice una búsqueda en la base de conocimientos utilizando un término de búsqueda que recuperará y mostrará la respuesta deseada.
Como ejemplo, supongamos que tiene una respuesta de la base de conocimientos sobre el registro de productos que no solo explique cómo se registra un producto, sino que describa las ventajas de registrarse, así como el modo de actualizar y dar de baja un producto. Comenzaría por crear una intención para ella (le llame knowledge.Product Registration
). A continuación, agregaría varias expresiones de ejemplo a la intención que ilustraran el modo en el que las personas preguntarían sobre el registro de productos (debería empezar con unas pocas docenas de ejemplos). A continuación, se muestra un pequeño juego de expresiones de ejemplo que puede utilizar para knowledge.Product Registration
.
- cómo registrar mi producto
- necesito dar de baja un producto registrado
- quiero actualizar el dispositivo registrado
- es importante el registro de productos
- cuáles son las ventajas de registrar un dispositivo
- por qué se deben registrar los productos
A continuación, debe crear un flujo para realizar una búsqueda en la base de conocimientos utilizando un término de búsqueda que genere la respuesta deseada. Puede crear un estado de búsqueda de conocimientos para cada intención de conocimiento y codificar el término de búsqueda, o puede crear un único flujo y utilizar una variable de asignación para asociar las intenciones de conocimiento a los términos de búsqueda.
A continuación, se muestran los pasos para crear un único flujo en el diseñador de flujos visual para todas las intenciones asignadas a un término de búsqueda específico:
- En el flujo principal, cree una variable global de tipo asignación para asociar las intenciones de conocimiento con los términos de búsqueda. En este ejemplo, lo llamaremos
searchTerms
. A continuación, se muestra un valor de ejemplo que puede asignar a dicha variable si tiene seis intenciones:{ "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?" }
Consejo:
En este ejemplo, se utiliza el resumen de la respuesta para el término de búsqueda. Con Oracle B2C Service Knowledge Foundation, también puede utilizar el ID de respuesta. - Inicie el flujo con un componente Definir variable y cree una variable que contenga el nombre de intención (por ejemplo,
intentName
) e introduzca la siguiente expresión FreeMarker como valor:${skill.system.nlpresult.value.intentMatches.summary[0].intent}
- Después del componente Set Variable que acaba de agregar, agregue otro componente Set Variable para el término de búsqueda (por ejemplo,
searchTerm
) e introduzca la siguiente expresión FreeMarker como valor:${searchTerms.value[intentName.value]}
Esta expresión utiliza la asignación
searchTerms
definida anteriormente para determinar el término de búsqueda basado en la intención resuelta. - Después del segundo componente Definir variable, agregue un componente de búsqueda de conocimientos y defínalo en la propiedad Plazo para buscar en
${searchTerm.value}"
. -
En el estado del componente de búsqueda de conocimientos, defina el Nombre del servicio de búsqueda en el nombre del servicio de búsqueda de conocimientos.
-
Después del componente de búsqueda de conocimientos, agregue los estados para las transiciones
actions
,error
ynext
. -
Haga clic en Validar para asegurarse de que el flujo de diálogo no tenga ningún error.
-
Haga clic en Entrenar para entrenar la aptitud con sus expresiones de ejemplo.
- En la página Intenciones de la aptitud, asigne cada una de las intenciones asociadas a un término de búsqueda a este flujo.
Consejo:
Los valores por defecto de las propiedades Texto para mostrar antes de los resultados, Etiqueta de enlace de artículo web y Etiqueta de enlace de página de búsqueda web se almacenan en el grupo de recursos de la aptitud. Para cambiar un valor por defecto, abra la página Grupo de recursos de la aptitud haciendo clic en
Para ver un ejemplo de flujo de diálogo basado en YAML con esta técnica, consulte Ejemplo: Asociación de Preguntas Relacionadas con un Término de Búsqueda en un Flujo de Diálogo YAML.
Uso de la expresión de usuario como término de búsqueda
Un uso común del componente de flujo de diálogo Búsqueda de conocimientos es intentar resolver una pregunta o una solicitud de usuario que la aptitud no estaba diseñada para gestionar. Si la expresión de un usuario no se resuelve en ninguna intención, puede utilizar el componente para realizar una búsqueda en la base de conocimientos con la propiedad Plazo para buscar definida en la expresión de usuario. Si no se encuentra ningún resultado, o si los resultados no son útiles para el usuario, puede ofrecer otras opciones como la transferencia a un agente en directo o volver a redactar la pregunta.
Para ello, defina la propiedad Plazo para buscar del componente en ${skill.system.nlpresult.value.query}
(que es la expresión para recuperar la expresión del usuario).
En los flujos de diálogo basados en YAML, utilice la propiedad searchTerm
y defínala en ${iResult.value.query}
. Para obtener un código YAML de ejemplo, consulte Ejemplo: uso de expresiones de usuario como término de búsqueda.
Tenga en cuenta que esta técnica maneja intenciones no resueltas dentro de una aptitud. Cuando el flujo navega por la intención no resuelta del asistente digital, la solicitud no pasa por el motor de intenciones de la aptitud y la expresión no estará en
${skill.system.nlpresult.value.query}
. En este caso, considere la posibilidad de crear un estado que utilice ${system.message.messagePayload.text}
para la cadena de búsqueda. A continuación, abra el asistente digital y, en la página Configuración > Configuraciones, vaya a Asignaciones de estado de aptitud y defina la Aptitud UnresolvedIntent personalizada del asistente digital y el Estado UnresolvedIntent personalizado del asistente digital para apuntar a este estado.
Buscar solo los resultados que contienen cada palabra en el término de búsqueda de Knowledge Foundation
Por defecto, Oracle B2C Service Knowledge Foundation busca respuestas que contengan cualquiera de las palabras del término de búsqueda. Si desea que la búsqueda devuelva solo las respuestas que contienen cada palabra del término de búsqueda, agregue el siguiente par clave/valor a la propiedad Propiedades personalizadas en el componente de flujo de diálogo Búsqueda de conocimientos:
word_connector: "AND"
La clave
word_connector
solo está soportada para Knowledge Foundation. Oracle Fusion Service no soporta la propiedad word_connector
.
Si el flujo de diálogo está en modo YAML, el código tendría un aspecto similar al siguiente:
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 producto y categoría
Puede hacer que el componente de flujo de diálogo Búsqueda de conocimientos devuelva solo los resultados de búsqueda de un producto o categoría especificados (o ambos).
Para limitar los resultados a los relacionados con un producto o categoría, utilice la propiedad Filtros de resultados. Agregue los elementos Product
, Category
y Stripe Code
según sea necesario para definir el filtro. Solo puede tener uno de cada tipo de filtro.
Si el flujo de diálogo está en modo YAML, utilice la propiedad
customFilters
. Agregue los elementos product
y category
según sea necesario para especificar el filtro de producto o categoría. customFilters:
- name: "product"
value: "heart rate monitor"
- name: "category"
value: "returns"
Adaptación de la respuesta de Knowledge Foundation a la conversación de chat
Las respuestas de Oracle B2C Service Knowledge Foundation se suelen escribir para páginas web y, por lo tanto, pueden ser demasiado largas para mostrarse enteras en una conversación. En el caso de respuestas largas, la salida se trunca y el usuario debe hacer clic en el botón Mostrar más para ver todo el contenido. Cuando su respuesta es más larga que un párrafo corto, plantéese agregar una respuesta especial que personalice específicamente para las conversaciones de chat.
Para mostrar la respuesta especial en lugar de la respuesta, defina la propiedad Versión preferida de resultados del componente Búsqueda de conocimientos en Special Response
y defina Mostrar solo versión preferida en false
. Con estos valores, el componente muestra la respuesta especial si existe. De lo contrario, muestra la respuesta completa si no se ha cumplido el límite de tamaño de resultado.
Si la aptitud está en modo de cuadro de diálogo YAML, los nombres de propiedad correspondientes son
resultVersion
y resultVersionExclusive
.
Las siguientes capturas de pantalla muestran la diferencia entre una respuesta completa y una respuesta especial. La primera captura de pantalla muestra la respuesta completa. Observe cómo la respuesta a "¿cómo puedo registrar un producto?", que comienza con "¿Sabe que el registro del producto es muy importante?", no es la forma en que un humano respondería a la pregunta, y por lo tanto, no es "conversacional". Además, la respuesta completa se corta a la mitad del tercer párrafo. En la segunda captura de pantalla se muestra la respuesta especial, que es más conversacional y que no se trunca.
Descripción de la ilustración kf-answer-full.png
Descripción de la ilustración kf-special-response.png
Para obtener más información sobre cómo agregar respuestas especiales, consulte Editor de HTML para respuestas en Uso de B2C Service.
Eliminar el botón Ver detalles y mostrar todo el texto
Por defecto, el componente de flujo de diálogo Búsqueda de conocimientos solo muestra las primeras líneas de la respuesta junto con un botón en el que el usuario hace clic para ver la respuesta completa en un separador del explorador.
Si desea que muestre todo el contenido de la respuesta, defina la etiqueta de enlace de artículo web del componente de búsqueda de conocimientos en On
y defina el valor de la clave de grupo de recursos systemComponent_KnowledgeSearch_resultLinkLabel
en la notación literal FreeMarker ${r""}
.
Si la aptitud está en modo de diálogo YAML, para ello, defina la propiedad resultLinkLabel
de System.KnowledgeSearch
en una cadena vacía (""
).
Si decide mostrar la respuesta completa, debe intentar limitar la respuesta a solo unos cuantos rellenos de pantalla de texto. De lo contrario, el usuario podría tener dificultades para leer el texto en un widget de chat de tamaño normal.
Implantar la búsqueda de conocimientos multilingüe
Tanto Oracle Fusion Service Knowledge Management como Oracle B2C Service Knowledge Foundation admiten la devolución de resultados para una configuración regional especificada.
Para Oracle Fusion Service Knowledge Management, la búsqueda devuelve automáticamente los artículos asociados a la configuración regional identificada por profile.locale
. Puede sustituir esto definiendo la propiedad Buscar mediante configuración regional del componente (para las aptitudes del modo de diálogo YAML, esta es la propiedad locale
). Si no existen artículos coincidentes para la configuración regional, devuelve noResult
.
Para Oracle B2C Service Knowledge Foundation, el servicio debe tener interfaces independientes para diferentes configuraciones regionales y debe configurar la integración de búsqueda de conocimientos para conectarse con las interfaces deseadas. Cuando una aptitud llama al componente de flujo de diálogo Búsqueda de conocimientos, realiza la búsqueda en la interfaz para la que la configuración regional coincide con el valor profile.locale
de la aptitud. Puede sustituir esto definiendo la propiedad Buscar mediante configuración regional del componente (para las aptitudes del modo de diálogo YAML, esta es la propiedad locale
). Si no hay ninguna coincidencia, utiliza la interfaz por defecto de la integración de búsqueda de conocimientos.
A continuación se muestran los pasos para crear una aptitud de búsqueda de Oracle B2C Service Knowledge Foundation en varios idiomas:
-
Integración de agregación de un servicio de búsqueda de conocimientos para la interfaz principal. A continuación, agregue a la integración las configuraciones regionales para las otras interfaces que desea que busque la aptitud y especifique la configuración regional por defecto. Tenga en cuenta que el perfil del usuario que especifique para la integración de servicio debe activar el acceso para las interfaces.
-
Cree una aptitud multilingüe mediante una de estas opciones:
-
Crear una aptitud con soporte de idioma nativo y utilizar grupos de recursos para crear el texto conversacional para cada idioma que desee soportar, como se describe en Soporte de idioma nativo para aptitudes
-
Cree una aptitud que designe el inglés como idioma principal y utilice el modo de traducción como se describe en Creación de una aptitud multilingüe sin grupos de recursos para cada idioma.
-
-
Agregue el componente Búsqueda de conocimientos al flujo de diálogo. Si no desea que el componente utilice el valor
profile.locale
para determinar qué interfaz buscar, defina la propiedad Buscar mediante configuración regional en la configuración regional deseada. Si ninguna de las interfaces admite la configuración regional, el componente busca la interfaz predeterminada.
Aptitud de ejemplo de Knowledge Foundation
Para ver un ejemplo del uso del componente System.KnowledgeSearch
, descargue la plantilla de CX Service, que contiene la aptitud CXS.KnowledgeSearch (desarrollada en modo YAML). Consulte las diapositivas de Visión general de Oracle Digital Assistant CXS Power Point para obtener instrucciones.
Cómo se muestra el componente de búsqueda de conocimientos en el chat de Oracle B2C Service
La forma en la que aparecen los resultados del componente de flujo de diálogo Búsqueda de Conocimientos depende de si se muestran en el chat por defecto al que se accede a través del portal de cliente o de la inserción de chat embebida de Oracle Inlay Toolkit.
- Enlaces: los enlaces aparecen como botones en la inserción de chat embebida. En el chat por defecto, la etiqueta se muestra como texto seguida de una URL seleccionable.
- Varios resultados: cuando haya más de un resultado, los resultados aparecen como tarjetas en sentido horizontal o vertical en función del valor de la propiedad
cardLayout
del componente (el valor por defecto es horizontal). En el chat por defecto, los resultados se muestran en sentido vertical.
Tenga en cuenta que las imágenes no aparecen en los resultados.
En esta tabla se ilustra cómo se muestran los resultados individuales y múltiples en la inserción de chat embebida y en el chat por defecto.
Ejemplo de configuración de componente | Inserción de chat embebida | Chat por defecto |
---|---|---|
Ejemplo de un único resultado (modo visual):
Ejemplo de un único resultado (modo YAML):
|
![]() |
![]() |
Ejemplo de varios resultados (modo Visual):
Ejemplo de varios resultados (modo YAML):
|
![]() |
![]() |
El componente de flujo de diálogo Búsqueda de conocimientos soporta la inserción de chat embebida para las versiones 20A y posteriores de Oracle B2C Service. Para obtener más información sobre la inserción de chat embebida, consulte la documentación de Oracle Inlay Toolkit.