Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Adaptación de voz automática

La función de adaptación de voz automática mejora la precisión del reconocimiento de voz de tu agente mediante el uso automático del estado de la conversación para pasar entidades relevantes y frases de entrenamiento como sugerencias de contexto de voz en todas las solicitudes de detección de intent. Esta función está inhabilitada de forma predeterminada.

Habilita o inhabilita la adaptación automática de voz

Para habilitar o inhabilitar la adaptación automática de voz, haz lo siguiente:

Console

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de GCP.
  3. Selecciona el agente.
  4. Haz clic en Configuración del agente.
  5. Haz clic en la pestaña Voz y RV.
  6. Activa o desactiva la opción Habilitar la adaptación de voz.
  7. Haz clic en Guardar.

API

Consulta los métodos get y patch/update para el tipo Agent.

Selecciona un protocolo y una versión para la Referencia del agente:

Protocolo V3 V3beta1
REST Recurso del agente Recurso del agente
RPC Interfaz del agente Interfaz del agente
C# No disponible No disponible
Go No disponible No disponible
Java AgentsClient AgentsClient
Node.js AgentsClient AgentsClient
PHP No disponible No disponible
Python AgentsClient AgentsClient
Ruby No disponible No disponible

Ejemplos de mejoras en el reconocimiento de voz

Si habilitas la adaptación automática de voz, puedes compilar tu agente para aprovecharla. En las siguientes secciones, se explica cómo se puede mejorar el reconocimiento de voz con ciertos cambios en las frases de entrenamiento y las entidades de tu agente.

Frases de entrenamiento

  • Si defines frases de entrenamiento con una frase como “es 3 de diciembre”, un enunciado del usuario que suene similar se reconoce de manera correcta como “es 3 de diciembre” y no “estrés de diciembre”.
  • Cuando tienes un parámetro obligatorio que obligue a Dialogflow a las solicitudes de llena de formulario, la adaptación de voz automática afectará en gran medida a la entidad que se llena.

En todos los casos, la adaptación de voz automática solo restringe el reconocimiento de voz, no la limita. Por ejemplo, aunque Dialogflow le solicite a un usuario un parámetro obligatorio, los usuarios aún podrán activar otros intents, como un intent “hablar con un agente”.

Entidades del sistema

Si defines una frase de entrenamiento que usa la entidad del sistema @sys.number y el usuario final dice "Quiero dos", es posible que se reconozca como "para", "demasiado" o "2". o "dos".

Cuando la adaptación de voz automática está habilitada, Dialogflow usa la entidad @sys.number como pista durante el reconocimiento de voz, y es más probable que el parámetro se extraiga como "100".

Entidades personalizadas

  • Si defines entidades para los nombres de productos o servicios que ofrece tu empresa, y el usuario final menciona estos términos en un enunciado, es más probable que se reconozcan. Una frase de entrenamiento “Me encanta Dialogflow”, en la que “Dialogflow” se anota como la entidad @product, le indicará una adaptación de voz automática a la biografía para “Me encanta Dialogflow”, “Me encanta Cloud Speech” y otras entradas en la entidad @product.

  • Es muy importante definir sinónimos de entidad limpia cuando se usa Dialogflow para detectar la voz. Imagina que tienes dos entradas de entidad @product: “Dialogflow” y “Dataflow”. Tus sinónimos de “Dialogflow” pueden ser “Dialogflow”, “flujo de diálogo”, “compilador de diálogo”, “Speakoit”, “hablar con él”, “API.ai”, “IA de punto de API”. Estos son sinónimos adecuados, ya que abarcan las variaciones más comunes. No es necesario que agregues “el compilador de flujo de diálogo” porque el “flujo de diálogo” ya lo cubre.

  • Las declaraciones de usuario con entidades numéricas consecutivas, pero distintas pueden ser ambiguas. Por ejemplo, “Quiero dos dieciséis paquetes” podría significar 2 cantidades de 16 paquetes o 216 cantidades de paquetes. La Adaptación de voz puede ayudar a evitar la ambigüedad de estos casos si configuras las entidades con valores deletreados:
    • Define una entidad quantity con entradas:
      zero
      one
      ...
      twenty
    • Define una entidad product o size con entradas:
      sixteen pack
      two ounce
      ...
      five liter
    • Solo se usan los sinónimos de entidad en la adaptación de voz, por lo que puedes definir una entidad con valor de referencia 1 y sinónimo único one para simplificar tu lógica de entrega.

Entidades de expresión regular

Las entidades de expresión regular pueden activar la adaptación de voz automática para secuencias alfanuméricas y de dígito, como “ABC123” o “12345” cuando se configuran de forma correcta. Si bien se puede usar cualquier expresión regular para extraer entidades en la PNL , solo ciertas expresiones le indicarán la adaptación de voz automática a sesgos para secuencias alfanuméricas o dígitos deletreados cuando reconoce la voz.

Asegúrate de seguir todos los requisitos siguientes si deseas reconocer estas secuencias por voz:

  1. Al menos una de las entradas de tu entidad de expresión regular sigue todas estas reglas:

    • Puede usar grupos de caracteres []
    • Puede usar cuantificadores de repetición como *, ?, +, {3,5}
    • No contiene espacios en blanco ni \s, aunque se permiten \s* y \s?
    • No contiene grupos de captura ().
    • No coincide con ningún carácter especial ni puntuación como la siguiente: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
  2. En el intent, marca la entidad de expresión regular como parámetro obligatorio para que pueda recopilarse durante el llenado de ranuras. Esto permite que la adaptación de voz automática establezca un sesgo sólido para el reconocimiento de secuencias en lugar de intentar reconocer una intención y una secuencia al mismo tiempo. De lo contrario, “Where is my package for ABC123” podría no reconocerse como “Where is my package 4ABC123”?

Por ejemplo, una entidad de expresión regular con una sola entrada ([a-zA-Z0-9]\s?){5,9} no activará el reconocedor de la secuencia de voz porque contiene un grupo de captura. Para solucionar este problema, agrega otra entrada para [a-zA-Z0-9]{5,9}. Ahora tendrás que usar el reconocedor de secuencias cuando se llene el formato con la voz para "ABC123", a la regla original que permite espacios.

Los siguientes ejemplos de expresiones regulares se adaptan a secuencias alfanuméricas:

^[A-Za-z0-9]{1,10}$
WAC\d+
215[2-8]{3}[A-Z]+
[a-zA-Z]\s?[a-zA-Z]\s?[0-9]\s?[0-9]\s?[0-9]\s?[a-zA-Z]\s?[a-zA-Z]

Los siguientes ejemplos de expresiones regulares se adaptan a las secuencias de dígitos:

\d{2,8}
^[0-9]+$
2[0-9]{7}
[2-9]\d{2}[0-8]{3}\d{4}

También considera usar @sys.number-sequence a fin de aceptar cualquier secuencia de dígitos y @sys.phone-number para un reconocedor de número de teléfono localizado. Las entidades del sistema y las entidades personalizadas que no son de expresión regular funcionan bien con la adaptación de voz automática, incluso fuera de las solicitudes de llenado de formularios obligatorias.

Limitaciones

Se aplica la siguiente limitación:

  1. Es un desafío reconocer secuencias de personajes largos. Por ejemplo, en canales de teléfono con audio de 8 kHz, no podrás reconocer con facilidad las secuencias de más de 16 dígitos o 10 caracteres alfanuméricos. Considera otras alternativas de conversación, como las siguientes:

    • Cuando valides la secuencia en una base de datos, considera hacer una referencia cruzada de otros parámetros recopilados, como las fechas, los nombres o los números de teléfono, a fin de permitir coincidencias incompletas. Por ejemplo, en lugar de pedir a un usuario a su número de pedido, también pídele su número de teléfono. Ahora, cuando tu webhook consulta a tu base de datos por el estado del pedido, primero puede aparecer en el número de teléfono y, luego, mostrar el orden coincidente más cercano para esa cuenta. Esto podría permitir que Dialogflow escuche incorrectamente “ABC” como “AVC” y aún muestra el estado correcto del pedido para el usuario.
    • Para secuencias largas adicionales, considera diseñar un flujo que motive a los usuarios finales a pausar en el medio para que el bot pueda confirmar a medida que avanzas.
  2. La compatibilidad integrada de la adaptación de voz automática para entidades del sistema y la expresión regular varía según el idioma. VerificaciónTokens de clase Speech para los idiomas admitidos $OOV_CLASS_ALPHANUMERIC_SEQUENCE y $OOV_CLASS_DIGIT_SEQUENCE. Si tu idioma no aparece en la lista, puedes solucionar esta limitación. Por ejemplo, si deseas que se reconozca con precisión un ID de empleado que tenga tres letras seguidas de tres dígitos, podrías compilar el agente con estos parámetros y entidades:

    • Define una entidad digit que contenga 10 entradas de entidad (con sinónimos):
      0, 0
      1, 1
      ...
      9, 9
    • Define una entidad letter que contenga 26 entradas de entidad (con sinónimos):
      A, A
      B, B
      ...
      Z, Z
    • Define una entidad employee-id que contenga una sola entrada de entidad (sin sinónimos):
      @letter @letter @letter @digit @digit @digit
    • Usa @employee-id como parámetro en una frase de entrenamiento.