Tarea 1: creación de un asistente digital de tipo asistente digital como agente
Cree las aptitudes que necesite para el asistente digital de tipo asistente digital como agente, publíquelas de manera opcional y, a continuación, agréguelas al asistente digital que vaya a actuar como agente de asistente digital. Normalmente, solo se necesita una aptitud, pero se pueden tener más.
Puede crear un asistente digital desde cero o clonar la plantilla de CX Service como se describe en las diapositivas de Power Point de Oracle Digital Assistant CXS Overview.
Al crear el asistente digital, tenga en cuenta los siguientes escenarios:
-
El cliente no está seguro de qué puede hacer con un asistente automatizado: cree una aptitud de ayuda o agregue un estado de ayuda a una aptitud existente. A continuación, realice una de estas acciones:
-
Asistente digital de aptitud única: en la aptitud, vaya a Configuración > Asistente digital y defina el Estado de ayuda en el nombre del estado de ayuda de la aptitud. Tenga en cuenta que el ejemplo de conversación de agente automatizado define esta opción en welcome.
-
Asistente digital de varias aptitudes: en el asistente digital, vaya a Configuración > Configuraciones y defina estos parámetros de conversación para que apunten al estado adecuado de la aptitud de ayuda.
-
Aptitud de ayuda personalizada del asistente digital
-
Estado de ayuda personalizado del asistente digital
-
-
-
El cliente efectúa una solicitud cuya gestión no puede asumir el asistente digital: Realice una de estas acciones:
-
Asistente digital de aptitud única: agregue una intención y una acción que se transfiera a un estado de flujo de diálogo de transferencia de agente. Si utiliza una clonación de una aptitud de conversación de agente automatizado, el flujo de diálogo se ocupa de hacerlo.
Nota
Si la aptitud se desarrolla en modo de flujo de diálogo YAML, agregue también una transición de acciónunresolvedIntent
al estadoSystem.Intent
de la aptitud para gestionar solicitudes que están fuera del ámbito de la aptitud. -
Asistente digital de varias aptitudes: en el asistente digital, vaya a Configuración > Configuraciones y defina estos parámetros de conversación para que apunten al estado que inicia el flujo para gestionar las solicitudes que estén fuera de ámbito.
-
Aptitud UnresolvedIntent personalizada del asistente digital
-
Estado UnresolvedIntent personalizado del asistente digital
-
-
Creación de la aptitud
Para crear una aptitud de asistente digital como agente, puede clonar la plantilla de asistente digital como agente o crear una desde cero, como se describe aquí. A continuación, debe configurar la aptitud, agregar intenciones y entidades según corresponda y realizar los cambios necesarios en el flujo de diálogo. Por último, debe entrenar y, opcionalmente, publicar la aptitud.
Creación y configuración de la aptitud
Estos son los pasos para crear una aptitud para su uso en un asistente digital de tipo asistente digital como agente.
Agregación de intenciones y entidades
Agregue las intenciones y las entidades necesarias para la aptitud.
Consejo:
Si desea que el agente de asistente digital pueda gestionar "charlas", extraiga la plantilla del asistente digital del almacén de aptitudes y consulte su aptitud denominada Plantilla de aptitudes comunes. Tiene intenciones y un flujo de diálogo que gestiona preguntas como "¿Es usted un bot?", "¿Puedo preguntarle?", "¿Sabe qué hora es?", "¿Le gusta el fútbol?" y "¿Cuenta chistes?".Si la aptitud del asistente digital como agente es una aptitud básica de pregunta y respuesta, puede utilizar las intenciones de respuestas para gestionar las preguntas y respuestas. Para Oracle B2C Service, también puede utilizar los componentes del flujo de diálogo Búsqueda de conocimientos para abordar preguntas y respuestas. Para ver ejemplos de búsqueda de conocimientos, consulte Uso del componente de búsqueda de conocimientos. Tenga en cuenta que debe crear una integración con la búsqueda de conocimientos para utilizar este componente.
Después de crear las intenciones, haga clic en Entrenar. No se puede probar ni publicar una aptitud si no se ha entrenado.
Para probar las intenciones, haga clic en Probar Expresiones y, a continuación, introduzca las expresiones para verificar que el modelo esté resolviendo las intenciones deseadas en la sección Prueba rápida. Introduzca tanto expresiones propias de las intenciones como expresiones que no aparezcan en ellas. El cuadro de diálogo muestra el nivel de confianza de cada intención coincidente. Si la resolución no es la esperada, puede agregar la expresión a la intención esperada o revisar la intención cuya coincidencia no es correcta. También puede hacer clic en Ir a casos de prueba para crear o importar pruebas por lotes. Para obtener más información, consulte Entrenamiento y prueba de las intenciones.
Acceder a información de página de inicio de chat y contacto
Si los usuarios se conectan al servicio o han proporcionado su nombre, apellidos y dirección de correo electrónico en la página de inicio del chat, las variables profile.firstName
, profile.lastName
y profile.email
incluirán la información del usuario. Para Oracle B2C Service, la variable profile.locale
se define en el código de idioma de la interfaz. Para Oracle Fusion Service, la configuración regional se basa en el idioma que el usuario ha seleccionado en el sitio de inicio del chat o, si no se ha seleccionado ninguno, en la configuración regional del explorador.
Además, la variable profile.contactInfo
contiene algunos datos de solicitud de chat, como la pregunta del cliente (tema), el identificador del producto y el identificador de categoría, si corresponde. Además, si la página de inicio de chat contiene algún campo personalizado, los valores que el cliente introduce en estos campos se transfieren al asistente digital en la matriz profile.contactInfo.customFields
. Para obtener más información sobre la personalización de los campos que se encuentran en la página de inicio de chat de Oracle B2C Service, consulte Visión general del chat en Customer Portal en Uso de Oracle B2C Service.
Esta es la estructura de profile.contactInfo
para Oracle B2C Service:
{
"question": <string>,
"productId": <number>,
"orgId": <number>,
"categoryId": <number>,
"browser": <string>,
"ipAddress": <string>,
"userAgent": <string>,
"sessionId": <string>,
"operatingSystem": <string>,
"customFields": [
{
"name": <string-name-of-custom-field>,
"id": <ID-of-custom-field>,
"value": <field-value>
},
...
]
}
A continuación se muestran algunos datos de ejemplo:
{
"question":"Do you deliver",
"productId":7,
"customFields":[
{
"name":"ODA Text",
"id":44,
"value":"N/A"
},
{
"name":"ODA YN",
"id":45,
"value":"1"
},
{
"name":"ODA Nbr",
"id":46,
"value":"1"
},
{
"name":"ODA Date",
"id":47,
"value":"2020,2,17"
},
{
"name":"ODA Menu",
"id":48,
"value":"12"
},
{
"name":"ODA DateTime",
"id":49,
"value":"2004,11,18,17,18"
}
],
"browser":"FireFox 68.0",
"ipAddress":"123.45.67.89",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0",
"sessionId":"HI6unnBo",
"operatingSystem":"Windows 10",
"orgId":-1,
"categoryId":-1
}
A continuación, se muestra la expresión FreeMarker para acceder al valor de profile.contactInfo
:
${profile.contactInfo.value}
A continuación, se muestran las expresiones FreeMarker para acceder a partes específicas de profile.contactInfo
:
${profile.contactInfo.value.question}
${profile.contactInfo.value.customFields}
A continuación, se muestra la estructura de profile.contactInfo
para Oracle Fusion Service:
{
"question": <string>,
"productId": <number>,
"orgId": <number>,
"categoryId": <number>,
"browser": <string>,
"ipAddress": <string>,
"userAgent": <string>,
"sessionId": <string>,
"operatingSystem": <string>,
"customFields": [
{
"name": "<custom-field-name>",
"type": "<data-type>",
"value": "<field-value>",
"menuItemLabel": "<label-string>"
},
...
]
}
Activación de la transferencia a un agente humano
Si desea que la aptitud transfiera la sesión de chat a un agente humano, como cuando el usuario desea algo que la aptitud no pueda manejar, agregue un estado que utilice el componente de flujo de diálogo Transferencia de agente.
En el componente Transferencia de Agente, puede especificar aspectos como el tiempo de espera máximo y las condiciones en las que la aptitud debe volver a transferirse a un agente humano. Este componente tiene las acciones de transición incorporadas accepted
, rejected
y error
. Debe asignar cada una de estas acciones a un estado o un flujo para manejar esa acción. Por ejemplo:
accepted
se puede asignar a un componente Show Message que genera el mensaje:I'm transferring you to a human agent. Hold tight.
rejected
se puede asignar a un componente Show Message que genera el mensaje:I wasn't able to transfer you to a human agent. Please try again later. Meanwhile, let me know if there's anything else I can help you with.
error
se puede asignar a un componente Show Message que genera el mensaje:We're unable to transfer you to a human agent because there was a system error. You can ask me another question if there's something else that I can help you with.
Tenga cuidado con la forma de transferir al estado de transferencia del agente para que el flujo no termine en un bucle infinito. Por ejemplo, no asigne el evento del sistema Error de cuadro de diálogo o la transición de flujo a un estado Transferencia de agente.
Consulte Transferencia de agente para obtener detalles sobre las propiedades y acciones del componente. Si el flujo de diálogo está en modo YAML, consulte System.AgentTransfer.
Consejo:
Si desea que la aptitud realice un seguimiento del número de veces que se necesita un agente y por qué, consulte Creación de dimensiones que realizan un seguimiento del uso de aptitudes.Transferencia de información al servicio
Al transferir una conversación de un asistente digital a un agente activo, es muy probable que desee transferir información al servicio, como valores para una regla de escalada. Utilice propiedades personalizadas en el componente Transferencia de Agente para transferir esta información.
For Oracle B2C Service, the name
can be FIRST_NAME
, LAST_NAME
, EMAIL
, QUESTION
, PRODUCT_ID
, CATEGORY_ID
, CONTACT_ID
, INCIDENT_ID
, and any custom field of type Incident that has Chat Display enabled in the Visibility settings.
Para campos personalizados, utilice el nombre de columna del campo (minúsculas) precedido por c$
. El tipo puede ser BOOLEAN
, DATE
, DATETIME
, INTEGER
, LONG
, STRING
y DECIMAL
. El valor por defecto es STRING
. Para DATE
y DATETIME
, utilice el formato yyyy-MM-dd'T'HH:mm:ssXXX
. Para BOOLEAN
, utilice 1 para true y 0 para false.
Para Oracle Fusion Service, el valor de name
puede ser FIRST_NAME
, LAST_NAME
, EMAIL
, QUESTION
, PRODUCT_ID
, CATEGORY_ID
, CONTACT_ID
, INCIDENT_ID
y cualquier campo de un objeto de Oracle Fusion Cloud Applications (Fusion). Tenga en cuenta que cuando agrega un campo personalizado a un objeto de Oracle Fusion Service mediante Application Composer, el sufijo _c
se agrega automáticamente al nombre.
Consejo:
Para Oracle Fusion Service, la evaluación de reglas se detiene en la primera regla donde se cumplan todas las condiciones. Al configurar las reglas, asegúrese de que la conversación transferida no se enrute de vuelta al agente del asistente digital. (Para Oracle B2C Service, la configuración Estado de transición y parada determina el enrutamiento).Para obtener más información sobre los campos personalizados de Oracle B2C Service, consulte Visión general de campos personalizados en Uso de Oracle B2C Service. Para obtener información sobre los campos de propiedades personalizadas de Oracle Fusion Service, consulte "Campos" en Configuración de aplicaciones mediante Application Composer.
Configuración de cuándo se debe intentar una transferencia de agente
El componente de flujo de diálogo Transferencia de agente tiene dos propiedades que le permiten configurar cuándo se debe intentar la transferencia a un agente: Máximo de interacciones en cola y Permitir transferencia si.
La propiedad Máximo de interacciones en cola le permite definir el número máximo permitido para las interacciones en espera en la cola de destino. Cuando se envía la solicitud de chat, el servicio responde con el número actual de interacciones en espera en la cola. Si este valor supera el valor Máximo de interacciones en cola, se produce la acción rejected
. Si no incluye esta propiedad, no hay límite de interacción.
Utilice la propiedad Permitir transferencia si para especificar cuándo se debe transferir en función de los agentes disponibles. Las opciones son:
- Los agentes están solicitando nuevas interacciones: (por defecto) para los agentes de Oracle B2C Service que deben extraer chats (solicitar nuevas interacciones), este es el juego de condiciones más restrictivo y el usuario no tiene que esperar demasiado tiempo para hablar con un agente. La aptitud intenta transferir la conversación solo si hay agentes que hayan solicitado nuevas interacciones. En todos los demás casos, esta opción tiene el mismo comportamiento que Las sesiones de agente están disponibles.
- Las sesiones de agente están disponibles: la aptitud intenta transferir la conversación si alguno de los agentes disponibles no ha alcanzado el número máximo de chats que se les permite tener al mismo tiempo. Es posible que el usuario tenga que esperar si los agentes están involucrados en conversaciones de larga duración o están realizando algún seguimiento posterior al chat.
- Los agentes están disponibles: la aptitud intenta transferir la conversación si hay agentes en línea, independientemente de si han alcanzado su número máximo de chats o están solicitando nuevas interacciones. Con esta opción, es posible que el tiempo de espera de los usuarios sea prolongado.
Si no se cumplen las condiciones especificadas, se produce la acción rejected
.
Obtener disponibilidad de agente y tiempo de espera
Puede utilizar el componente de flujo de diálogo Condición de transferencia de agente para averiguar el tiempo de espera estimado, mostrar ese tiempo y dar al usuario la oportunidad de cancelar su solicitud de transferencia.
Este componente aborda la situación en la que todos los agentes disponibles están ocupados cuando un usuario desea hablar con un agente y puede haber una larga espera.
Las propiedades del componente se utilizan para especificar las condiciones de transferencia y el nombre de la variable en la que se colocará la información de estado. El componente devuelve una acción que indica si se han cumplido las condiciones. Las acciones de transición incorporadas son conditionsMet
, conditionsNotMet
y error
. Asigna cada una de estas acciones a un estado o un flujo para manejar esa acción.
Por ejemplo:
- Para
conditionsNotMet
, puede asignarlo a un estado Enviar mensaje que tenga texto como:Unfortunately, none of my colleagues are currently available to assist with this. Still, we’d love to see this through for you. Please feel free to contact us at email@example.com.
- Para
error
, puede asignarlo a un componente Show Message que muestre un mensaje como:We're unable to transfer you to a human agent because there was a system error. You can ask me another question if there's something else that I can help you with.
- Para
conditionsMet
, puede asignarlo a un flujo que pregunta al usuario si está dispuesto a esperar y, si lo hace, pasa a un estado de transferencia de agente para realizar la transferencia real. Ese flujo podría incluir lo siguiente:- Componente de respuesta común que pregunta al usuario si desea esperar. A continuación, se muestra cómo podría ser la propiedad Metadata para ese componente:
responseItems: - type: "text" text: "${rb('promptTextForTransferDecision','minutes,seconds',agentStatus.value.expectedWaitMinutes,agentStatus.value.expectedWaitSeconds)}" separateBubbles: true actions: - label: "Yes, I'll wait" type: "postback" keyword: "yes" payload: action: "yes" name: "Yes" - label: "No, nevermind" keyword: "no" type: "postback" payload: action: "no" name: "No"
-
Una entrada de grupo de recursos para el elemento de respuesta de texto anterior para formar el mensaje de tiempo de espera, de modo que el mensaje tenga sentido si el tiempo es mayor o menor que un minuto y si el número es cero, uno o más. Así es como podría ser:
There are some experts online. But it might take {minutes, plural, =-1 {} =0 {} =1 {1 minute and } other {# minutes and } }{seconds, plural, =-1 {a while} =0 {{minutes, plural, =0 {a very short wait time} other {0 seconds} }} =1 {1 second} other {# seconds} } for one to join. Are you willing to wait?
- Estado de transferencia de agente para realizar la transferencia si el usuario está dispuesto a esperar a un agente.
- Estado con una respuesta cuando el usuario no desea esperar.
- Componente de respuesta común que pregunta al usuario si desea esperar. A continuación, se muestra cómo podría ser la propiedad Metadata para ese componente:
Consulte Condición de transferencia de agente para obtener detalles sobre la información de estado y las acciones.
Si el flujo de diálogo está en modo YAML, consulte System.AgentTransferCondition.
Activar anexos
Los canales de asistente digital como agente admiten la capacidad de los agentes y usuarios de Oracle Fusion Service para asociar imágenes, audio, video y archivos a la conversación.
Para que esto funcione, debe utilizar el chat web para el servicio u otra plataforma de mensajería que soporte anexos.
Crear un informe de incidente
Puede crear un informe de incidente (o una solicitud de servicio) para Oracle B2C Service u Oracle Fusion Service desde cualquier aptitud.
Para crear un informe de incidentes a partir de la aptitud:
-
Vaya a Configuración > Servicios adicionales > Integración de servicio al cliente y cree una integración con el servicio necesario.
Solo necesita hacerlo una vez por instancia.
-
Agregue el componente de creación de incidentes al flujo. Para el diseñador de flujos visuales, consulte Creación de incidentes. Para YAML, consulte System.IncidentCreation.
Si ha creado una integración de Oracle Fusion Service y ha seleccionado Permitir que solo los usuarios conectados creen una solicitud de servicio como tipo de autenticación, también debe hacer lo siguiente:
- Defina el valor Se necesita autenticación del componente de creación de incidentes en
True
. - Agregue un componente OAuth Account Link al flujo de diálogo para manejar la autenticación de usuarios. Para el diseñador de flujos visuales, consulte OAuth Enlace de cuenta. Para YAML, consulte System.OAuthAccountLink.
- Defina el valor Se necesita autenticación del componente de creación de incidentes en
Consejo:
Después de crear y configurar el componente de creación de incidentes, haga clic en Validar en el banner de la página para validar la aptitud. Entre otras cosas, esta validación garantizará que ha introducido un nombre de servicio en el componente de creación de incidentes que coincida con el nombre que ha proporcionado a la integración de servicio al cliente que ha creado.Visualización de los componentes de la interfaz de usuario en el chat de servicio
El chat por defecto al que se accede a través del portal de cliente del servicio se limita a texto e imágenes. Por ejemplo, en lugar de tarjetas y botones, solo muestra texto, y el usuario tiene que escribir la opción o la etiqueta del botón en lugar de simplemente hacer clic en él.
Para mostrar algo más que texto para los componentes de la interfaz de usuario que están en el flujo de diálogo, puede utilizar una de las siguientes opciones:
- Chat web para servicio (WCFS). Esta función permite personalizar el widget de chat mediante las funciones presentes en el SDK para los canales de usuario de Oracle Web. Para configurar WCFS, consulte la sección Web Chat for Service (WCFS) de Administración del motor de Oracle Engagement.
- Incrustaciones de Oracle Inlay Toolkit. Para obtener más información sobre las inserciones, consulte la documentación de Oracle Inlay Toolkit.
Si el cliente de chat es el chat por defecto al que se accede a través del portal de cliente del servicio, asegúrese de definir la opción Activar numeración automática en acciones de devolución en true
en la página Configuración > Configuración del asistente digital para que el usuario pueda responder al componente de interfaz de usuario escribiendo un número en lugar del texto exacto. Si no la define en true
, utilice palabras clave para los elementos de respuesta a fin de minimizar lo que debe introducir el usuario. En este ejemplo, la numeración automática se define en true
cuando el cliente es Twilio o el chat de Oracle B2C Service.
${(system.channelType=='twilio'||system.channelType=='osvc' )?then('true','false')}
Consejo:
Al utilizar la vista previa del asistente digital o la vista previa de la aptitud, si define el canal en SMS de Twilio, la conversación será similar al chat por defecto.A continuación, se muestra una comparación de cómo se muestran los componentes de la interfaz de usuario para los distintos clientes.
Componente/propiedad | Chat web para servicio | Inserción | Chat por defecto |
---|---|---|---|
Etiquetas HTML | Soportada | Soportados | Soportados |
Acciones de devolución | Soportados | Se muestran como botones seleccionables. Se ignora la acción share .
|
Se muestra como texto no seleccionable. Se ignoran las acciones location , call y share .
|
Respuesta común (en cuadros de diálogo de YAML System.CommonResponse )
|
Soportados | Soportada, excepto que los usuarios no pueden cargar anexos. | Soportado, pero los elementos y las etiquetas de acción siempre se muestran en vertical. Las opciones y los botones se muestran como texto no seleccionable.
Para un elemento de respuesta de tipo |
System.List (disponible solo en cuadros de diálogo de YAML, pero en desuso)
|
Soportados | Soportados | Soportado, pero las opciones se muestran como texto no seleccionable y el valor footerText no se muestra.
|
En esta tabla se muestra cómo se visualizan las diferentes configuraciones de los componentes en el chat por defecto y en las inserciones.
Ejemplo de configuración de componente | Inserción | Chat por defecto |
---|---|---|
Nota: en este ejemplo se utiliza un componente |
![]() Descripción de la ilustración rich-text-list-inlay.png |
![]() Descripción de la ilustración rich-text-list-default.png |
|
![]() Descripción de la ilustración rich-text-card-inlay.png |
![]() Descripción de la ilustración rich-text-card-default.png |
|
![]() Descripción de la ilustración rich-text-actions-inlay.png |
![]() Descripción de la ilustración rich-text-actions-default.png Tenga en cuenta que puede encapsular las URL de carga útil en etiquetas HTML. Por ejemplo, |
Configuración del asistente digital de tipo asistente digital como agente
Si no utiliza la plantilla de CX Service, siga estos pasos para crear un asistente digital que actúe como agente automatizado de Oracle B2C Service u Oracle Fusion Service:
-
Haga clic en
para abrir el menú lateral y, a continuación, haga clic en Desarrollo > Asistentes digitales.
-
Haga clic en Nuevo asistente digital.
-
Complete el cuadro de diálogo y haga clic en Crear.
-
Cuando se abre el asistente digital, se muestra la página Atitudes
.
-
Haga clic en + Agregar aptitud, seleccione la aptitud creada para este asistente digital y, a continuación, haga clic en Cerrar.
-
Haga clic en Configuración
y, a continuación, haga clic en General.
-
Defina el conmutador Activar Insights en Activado.
-
Defina el Modelo de entrenamiento del asistente digital en Trainer Tm.
-
(Opcional) Realice estos cambios en el asistente digital en el separador Configuración > Configuraciones.
-
Información de flujo de selección:
${system.routingToIntent}
-
Nada para salir de la petición de datos:
Goodbye. Let me know if there's anything else I can help you with.
-
-
(Opcional) Si el asistente digital tiene más de una aptitud, puede personalizar el comportamiento del asistente digital cuando las expresiones de los usuarios coincidan con las intenciones
help
yunresolvedIntent
del asistente digital. Vaya al separador Configuración de la página Valores y, a continuación, especifique la aptitud y el estado personalizados a los que navegar en caso de intenciones de ayuda o unresolvedIntent (o ambas). Consulte Especificación de estados para las intenciones del sistema de un asistente digital. - Haga clic en Entrenar para formar al asistente digital.
-
(Opcional) Para probar el asistente digital, haga clic en Vista previa
.
Tenga en cuenta que la vista previa dejará de responder si el flujo de diálogo pasa a un estado que efectúa la transferencia de una aptitud a un agente. Haga clic en Restablecer cuando esto suceda.
Después de llevar el asistente digital a producción, deberá ejecutar periódicamente los informes de reentrenamiento para comprobar si necesita mejorar la resolución de intenciones de alguna de las intenciones. Consulte Aplicación del reentrenamiento.