Soporte de idioma nativo para las aptitudes
A partir de la versión 20.12 de la plataforma, hay soporte nativo en Oracle Digital Assistant para algunos idiomas. Al desarrollar una aptitud con este soporte de idioma nativo, no es necesario utilizar un servicio de traducción de terceros para gestionar los datos introducidos por el usuario y las respuestas del usuario en esos idiomas.
Si está desarrollando estas aptitudes para su inclusión en un asistente digital, dicho asistente digital también debe utilizar el soporte de idioma nativo. Consulte Soporte de idioma nativo en asistentes digitales.
Funcionamiento del soporte de idioma nativo
-
Los datos de entrenamiento se pueden proporcionar en cada uno de los idiomas (con soporte nativo) para los que está diseñando la aptitud.
Cuando se utiliza soporte de idioma nativo, la aptitud se entrena de acuerdo con un modelo unificado que incorpora todos los idiomas soportados originalmente. Puede proporcionar expresiones de entrenamiento en uno o más de los idiomas de destino de la aptitud. Las expresiones de entrenamiento que proporcione en un idioma ayudan a crear el modelo para todos los idiomas de la aptitud. Para las aptitudes que se dirigen a varios idiomas, por lo general comenzará creando su corpus de entrenamiento en el idioma principal de la aptitud. En ese caso, puede (y debe) agregar expresiones de entrenamiento en los otros idiomas, aunque probablemente no necesite tantos en esos otros idiomas.
Esto difiere de las aptitudes que utilizan un servicio de traducción. En esas aptitudes, el modelo de entrenamiento subyacente siempre está en inglés, incluso si el corpus de entrenamiento se proporciona en otro idioma.
- Los valores de entidad de los tipos de entidad incorporados (como NUMBER, EMAIL y DATE) se extraen en el idioma de la conversación. (Esto difiere del caso con las aptitudes en el modo de servicio de traducción, donde los valores se extraen después de que el servicio de traducción haya traducido los datos introducidos.
- Los valores de entidad de las entidades personalizadas coinciden con los valores proporcionados para el idioma de la conversación actual.
- Las habilidades que admiten idiomas no ingleses deben ser entrenadas con Trainer TM.
Idiomas con soporte nativo
Estos son los idiomas (y los códigos de idiomas correspondientes) que están soportados actualmente de forma nativa en Oracle Digital Assistant.
- Árabe (ar)
- Holandés (nl)
- Inglés (en)
- Francés (fr)
- Alemán (de)
- Italiano (it)
- Portugués (pt)
- Español (es)
Esto significa que puede crear aptitudes y asistentes digitales para estos idiomas sin utilizar un servicio de traducción, como Google Translate.
A continuación, se muestra una visión general del nivel de soporte de cada idioma.
Lenguaje | Descripción del idioma | Voz | Estadísticas | Fabricación de datos | Diseñador conversacional |
---|---|---|---|---|---|
Árabe (ar) | Sí | No | Sí | Sí | No |
Holandés (nl) | Sí | No | Sí | Sí | No |
Inglés (en) | Sí | Sí, incluidas las configuraciones regionales en-US, en-GB y en-AU) | Sí | Sí | Sí |
Francés (fr) | Sí | Sí | Sí | Sí | No |
Alemán (de) | Sí | Sí | Sí | Sí | No |
Italiano (it) | Sí | Sí | Sí | Sí | No |
Portugués (pt) | Sí | Sí | Sí | Sí | No |
Español (es) | Sí | Sí | Sí | Sí | No |
Para obtener una comparación más detallada del soporte para cada idioma, consulte Soporte de funciones por idioma.
Creación de una aptitud con idiomas con soporte nativo
A continuación, se muestran los pasos generales para crear una aptitud que utilice el soporte de idioma nativo de Oracle Digital Assistant.
- Al crear la aptitud, seleccione la versión de plataforma 20.12 o posterior y seleccione el idioma principal que desea soportar en el menú desplegable Idioma principal.
El idioma que seleccione debe estar en la sección Con soporte nativo de la lista desplegable.
- Para cada intención que cree, agregue expresiones para la aptitud en el idioma principal:
- Haga clic en
para abrir el menú lateral, seleccione Desarrollo > Aptitudes y abra la aptitud.
- En la navegación izquierda de la aptitud, haga clic en
- Seleccione una intención.
- En el campo de texto Ejemplos, escriba la expresión y pulse Intro.
- Repita los dos pasos anteriores para cada intención.
- Haga clic en
-
Para cualquier entidad personalizada de la aptitud, asegúrese de que los valores estén en el idioma principal de la aptitud.
Puede agregar y editar entidades personalizadas haciendo clic en
, en la navegación izquierda de la aptitud.
- Para todos los componentes del flujo de diálogo que tengan propiedades que muestren peticiones de datos o etiquetas, asegúrese de definir explícitamente dichas propiedades. Si no define estas propiedades, los clientes pueden encontrar texto por defecto a partir de esas propiedades, que están en inglés.
- En la configuración de la aptitud, actualice todos los mensajes de configuración y las peticiones de datos para utilizar el idioma principal:
Para acceder a estos mensajes y peticiones de datos:
- En la navegación izquierda de la aptitud, haga clic en
.
Los mensajes y peticiones de datos se encuentran en los separadores Configuración y Asistente digital.
- En la navegación izquierda de la aptitud, haga clic en
Si tiene previsto soportar varios idiomas en la aptitud, deberá definir claves de grupos de recursos para las propiedades, las peticiones de datos y los mensajes que se pueden mostrar a los usuarios. Además, aunque no tenga previsto soportar varios idiomas, puede que desee hacerlo de todas formas, ya que el grupo de recursos proporciona un único lugar donde puede editar los valores de todas las cadenas. Consulte Grupos de recursos para las aptitudes.
Adición de idiomas con soporte nativo a una aptitud
Para las aptitudes (o versiones de aptitudes) en las que haya seleccionado un idioma principal con soporte nativo, puede agregar idiomas adicionales con soporte nativo.
- Asegúrese de que sus aptitudes se ejecutan en la versión 20.12 o posterior de la plataforma.
Si no es así, debe crear una clonación o una nueva versión de la aptitud y definirla para que utilice la versión 20.12 o posterior de la plataforma.
- En la barra de navegación izquierda de la aptitud, haga clic en el icono Configuración (
) y seleccione el separador General.
- Desplácese a la sección Idiomas, haga clic en Agregar idioma y seleccione el idioma en la lista desplegable.
- Para cada una de las intenciones de la aptitud, agregue un nombre de conversación y otras expresiones en el idioma agregado:
- Haga clic en Intenciones (
) en la barra de navegación izquierda.
- Seleccione la intención que se va a editar.
- Seleccione el separador del idioma que acaba de agregar.
- Haga clic en
para introducir un nombre descriptivo o una frase para la intención en el campo Nombre de conversación.
- Haga clic en Intenciones (
- Para las entidades basadas en pares clave-valor (entidades de lista de valores y entidades dinámicas), introduzca valores para ese idioma.
- Active la aptitud para que muestre valores de entidad en el idioma de la conversación:
- En los componentes que utilice para resolver entidades (Resolver entidad y Respuesta común), asegúrese de que la propiedad
useFullEntityMatches
está definida entrue
.Al hacerlo, se asegura de que los valores de entidad personalizados se almacenen como objetos JSON en lugar de como cadenas simples.
- En todas las expresiones de FreeMarker que hacen referencia a valores de entidad personalizados (ya sea en el flujo de diálogo o en distintas propiedades de aptitud), inserte el atributo correspondiente al valor que desea leer. Puede usar cualquiera de los siguientes atributos:
value
: devuelve el valor de la entidad en la conversación del idioma.primaryLanguageValue
: devuelve el valor de la entidad en el idioma principal de la aptitud. Esta opción se usa para expresiones que se utilizan para la lógica de negocio (por ejemplo, para determinar si se debe mostrar o no una petición de datos basada en el valor de la entidad).originalString
: devuelve el valor introducido por el usuario para que coincida con la entidad. Este valor puede ser un sinónimo del valor de entidad.
Por ejemplo, si tiene la expresión
${PizzaSize}
para hacer referencia al valor de la entidad PizzaSize, la cambiará a${PizzaSize.value}
para mostrar el valor en el idioma de la conversación.
- En los componentes que utilice para resolver entidades (Resolver entidad y Respuesta común), asegúrese de que la propiedad
- Si aún no lo ha hecho, cree claves de grupo de recursos para toda la salida que verán los usuarios, introduzca valores para el idioma principal e inserte referencias a esas claves en los lugares adecuados. Esto incluye:
- Texto de salida en el flujo de diálogo.
- Peticiones de datos para entidades incluidas en las definiciones de entidad.
- Peticiones de datos y mensajes definidos en la configuración de la aptitud. Para accederlos:
- En la navegación izquierda de la aptitud, haga clic en
.
Los mensajes y peticiones de datos se encuentran en los separadores Configuración y Asistente digital.
- En la navegación izquierda de la aptitud, haga clic en
- Para todos los componentes del flujo de diálogo que tengan propiedades que muestren peticiones de datos o etiquetas, asegúrese de haber definido explícitamente dichas propiedades (para que no tengan valores por defecto en inglés) y cree entradas del grupo de recursos para ellas.
- Agregue valores en el idioma adicional para todas las claves del grupo de recursos.
- Aumente el corpus de entrenamiento según sea necesario en el idioma adicional.
Dado que las aptitudes con idiomas con soporte nativo se basan en un modelo de entrenamiento unificado en el que todo el entrenamiento ayuda a resolver las intenciones en todos los idiomas de destino de la aptitud, el modelo de entrenamiento ya debe funcionar para su idioma adicional, incluso sin agregar expresiones en ese idioma. Pero su precisión probablemente será menor que para el idioma principal. Para mejorar la precisión, haga lo siguiente:
- Cree pruebas por lotes en el idioma adicional y ejecútelas para determinar el rendimiento del modelo sin expresiones en el idioma adicional. Consulte Creación de ejecuciones de prueba.
- Agregue de forma iterativa expresiones de entrenamiento en ese idioma y pruebe hasta que alcance un nivel satisfactorio de resolución de intenciones.
- Haga clic en Intenciones (
) en la barra de navegación izquierda.
- Seleccione la intención que se va a editar.
- Seleccione el separador del idioma que acaba de agregar.
- En la sección Ejemplos, introduzca expresiones de ejemplo en el idioma adicional.
Probablemente no necesite agregar tantas expresiones en esos idiomas de destino adicionales como lo haya hecho en el idioma principal.
- Haga clic en Intenciones (
Consulte el video del curso de diseño sobre la NLU multilingüe para obtener información sobre las mejores prácticas a la hora de hacer que sus aptitudes sean multilingües.
Cambio de un servicio de traducción al soporte de lenguaje nativo
Si desea usar el soporte de idioma nativo de Oracle Digital Assistant en una aptitud configurada para utilizar un servicio de traducción, puede crear una nueva versión o una clonación de esa aptitud y activar ese soporte.
Requisitos:
- La aptitud que está convirtiendo solo debe utilizar idiomas con soporte nativo en la versión de la plataforma a la que está convirtiendo. Para ver esa lista, consulte Idiomas con soporte nativo.
Si no se cumple ese requisito, tendrá que seguir utilizando un servicio de traducción para todos los idiomas que no sean inglés de la aptitud.
Para convertir una aptitud para utilizar el soporte de idioma nativo de Digital Assistant:
- Cree la nueva versión o la clonación y especifique el idioma principal de la aptitud.
-
Haga clic en
para abrir el menú lateral y seleccione Desarrollo > Aptitudes.
-
En el mosaico de la aptitud que desea versionar o clonar, haga clic en
y seleccione Versión o Clonar.
- En el campo Versión de plataforma, seleccione la versión 20.12 o posterior.
Si no estaba presente antes, aparecerá un campo Idioma principal.
- En la lista desplegable Idioma principal, seleccione el idioma de la sección Con soporte nativo de la lista desplegable que mejor se corresponde con el idioma predominante de la versión anterior de la aptitud.
Nota
La versión de la plataforma y el idioma principal no se pueden cambiar después de hacer clic en Crear. - Haga clic en Crear.
-
- Agregue otros idiomas que desee soportar.
- Ajuste el flujo de diálogo para dejar de usar los siguientes mecanismos relacionados con el envío de texto a un servicio de traducción:
- Cualquier componente de traducción (detectar idioma, traducir entrada y traducir salida).
- (Para flujos basados en YAML) la variable de contexto
autotranslate
. - (Para flujos basados en YAML) la propiedad
translate
de nivel de componente.
Corpus de entrenamiento para un idioma adicional
Al agregar un idioma, aquí se detalla cómo se gestionan las distintas partes de la aptitud:
-
Intenciones: los nombres de las intenciones, independientemente de su idioma, siguen siendo los mismos para cada idioma. Para cada intención, puede agregar expresiones de ejemplo en cada idioma. Puesto que el modelo de aptitudes con soporte nativo está unificado, cualquier expresión que agregue para un idioma determinado también puede ayudar al modelo para otros idiomas. No obstante, puede reforzar su modelo agregando expresiones para cada idioma.
En particular, debe concentrarse en agregar frases que expresen una intención en idiomas que no sean traducciones directas de la frase en el idioma principal.
-
Entidades: para las entidades basadas en pares clave-valor (entidades de lista de valores y entidades dinámicas), se definen los valores en el idioma principal y, a continuación, para cada idioma adicional, se agregan valores que corresponden con los valores del idioma principal.
Para las peticiones de datos y los mensajes definidos en las entidades (incluidas las peticiones de datos definidas en entidades de bolsa compuesta), se hace referencia a las claves del grupo de recursos, donde se proporciona el texto adecuado en cada idioma de destino.
Para otras propiedades, como Tamaño de rango de enumeraciones, los valores se aplican a todos los idiomas.
Nota
La propiedad Coincidencia parcial está desactivada para las aptitudes en las que no esté soportada para todos los idiomas.
Detección de idioma en aptitudes con idiomas con soporte nativo
En las aptitudes que utilizan varios idiomas con soporte nativo, el asistente digital (o aptitud independiente) puede detectar automáticamente el idioma del usuario al principio de la sesión. Así es como funciona:
- El idioma se detecta automáticamente en asistentes digitales y aptitudes que se hayan configurado con varios idiomas soportados originalmente.
- Si solo hay un idioma (con soporte nativo) en la aptitud o el asistente digital, la detección de idioma se desactiva.
- Si el asistente digital o la aptitud utiliza un servicio de traducción, el servicio de traducción maneja la detección de idioma, no la aptitud ni el asistente digital.
- El idioma no se detecta automáticamente si se accede a la aptitud o al asistente digital a través de un canal en el que se haya definido la variable profile.languageTag o profile.locale.
- El idioma se detecta en la primera expresión de la conversación y no se actualiza en la sesión, incluso si el usuario cambia de idioma.
- Por defecto, la sesión de canal dura 7 días antes de que caduque.