Como aspecto clave de la inteligencia artificial (IA), la comprensión del lenguaje natural (NLU) salva la distancia entre cómo hablan las personas y lo que entienden los ordenadores.

Los bots que entienden el lenguaje natural han entrado con fuerza en las estrategias de experiencia del cliente de las empresas. Lo primero que debe entender un bot es la intención del cliente. Si el capta bien la intención, sigue su alegre camino para ayudar al cliente a resolver el problema por sí mismo. Sin embargo, a veces, el sistema NLU no está muy seguro de la intención que detecta. Es entonces cuando se pide al usuario que confirme lo que el bot ha detectado como intención, o que reformule su intención.

Veamos el uso de los umbrales de confianza y las trampas de utilizarlos sin una comprensión adecuada de sus efectos sobre la eficacia del bot.

Cuando un modelo NLU devuelve una hipótesis sobre la intención de un enunciado, viene con una puntuación de confianza. Veamos a fondo qué significa esta puntuación.

1. Qué es una puntuación de confianza

Cuando un sistema de IA conversacional asigna un valor de “confianza” a su respuesta, el término se utiliza en su sentido cotidiano. Es simplemente una medida de la confianza que tiene el sistema en esa hipótesis. El valor puede parecer un valor de probabilidad, pero la suma de los valores de confianza de un conjunto de hipótesis probablemente no sea 1.

2. Qué no es una puntuación de confianza

No confundas el término “puntuación de confianza” con “confianza”, ya que se utiliza en estadística cuando se describen los resultados observados de una serie de pruebas. En estadística, un intervalo de confianza del 95% es el rango en el que cae el 95% de los valores de salida. Pero nuestro significado de confianza es diferente.

Una puntuación de confianza también puede confundirse con la “probabilidad” de que una hipótesis sea correcta, porque la mayoría de los motores NLU dan valores de confianza entre 0,0 y 1,0. Pero tampoco es probabilidad.

3. Qué pueden revelar las puntuaciones de confianza

Una buena forma de caracterizar el rendimiento de un sistema de IA es ver cómo funciona con distintos umbrales de confianza. Establecer un umbral de confianza en 0 significa que permitiría todas las hipótesis, correctas o incorrectas, independientemente de su puntuación de confianza. Establecerlo en 1 significa que rechazaría todas las hipótesis (a menos que el motor devuelva a veces una puntuación de confianza de 1). Un umbral de confianza ideal eliminaría el mayor número posible de hipótesis incorrectas, sin eliminar muchas hipótesis correctas. Un método para hallar ese punto es dibujar una curva ROC (curva de características operativas del receptor) que represente gráficamente los verdaderos positivos frente a los falsos positivos con distintos umbrales de confianza, como se muestra en esta figura.

Bot confidence graph 1

En la esquina inferior izquierda de este gráfico, con 0 verdaderos y 0 falsos positivos, se muestra el umbral de confianza más alto. La parte superior derecha muestra el umbral más bajo. Entre ambos se encuentra el punto óptimo en el que se maximizan los verdaderos positivos y se minimizan los falsos positivos.

Las curvas ROC, como la anterior, son útiles para los sistemas clasificadores binarios. Pero un motor NLU que predice la intención de un enunciado es un sistema multiclase. Y, para complicar aún más las cosas, el sistema debe evaluarse por lo bien que maneja las entradas fuera del dominio, o “verdaderos negativos”. Para obtener esa información, tenemos que ver los resultados de forma diferente para que se adapten al tipo específico de umbral de confianza que queramos utilizar.

4. Tipos de umbrales de confianza

Un motor NLU puede utilizar dos tipos de umbrales de confianza al informar sobre hipótesis:

Umbral de confirmación: Si la puntuación de confianza de la hipótesis de mayor intención está por debajo de este nivel, el bot pedirá al usuario que confirme que la hipótesis es correcta.

Umbral de rechazo: Si la puntuación de confianza está por debajo de este nivel, el bot pedirá al usuario que reformule la entrada.

Un tercer uso de las puntuaciones de confianza sería detectar cuándo la hipótesis superior es apenas superior a la que ocupa el 2º lugar, en cuyo caso el bot podría pedir al usuario que seleccionara entre ellas.

5. Selección de un umbral eficaz

La mejor forma de encontrar un buen umbral para un bot es alimentarlo con un conjunto de datos de prueba que hayan sido anotados con valores de realidad de campo. Luego, debes inspeccionar la salida con el umbral de confianza establecido en diferentes niveles. Como los umbrales de confirmación y los umbrales de rechazo tienen finalidades distintas, tendrás que evaluarlos por separado.

Umbrales de confirmación

Estas cuatro categorías de hipótesis son relevantes para un umbral de confirmación:

  1. Hipótesis en el dominio, correcta y aceptada sin preguntar (ID-CA)
  2. Hipótesis en el dominio, correcta y confirmada por el usuario cuando se le pregunta (ID-CC)
  3. Hipótesis en el dominio, falsa y aceptada sin preguntar (ID-FA)
  4. Hipótesis en el dominio, falsa y rechazada por el usuario cuando se le pregunta (ID-FR)

Nota: De estos grupos de hipótesis, el 1 es el mejor caso; el 3 es el peor; el 2 y el 4 están entre ambos. Esto se debe a que puede resultar molesto para el usuario tener que responder constantemente a los avisos de confirmación, pero sigue siendo preferible a aceptar una respuesta incorrecta.

El siguiente gráfico muestra esos cuatro valores para un conjunto de datos de muestra en cada incremento de 0,1 entre 0 y 1,0 de confianza.

Engine a confirmation

El gráfico muestra que, si el umbral de confirmación se establece en 0, se maximizarán tanto las aceptaciones correctas (mejores) como las falsas (peores). Si el umbral de confirmación se eleva a 0,8, casi no habrá errores (aceptaciones falsas), pero el usuario tendrá que responder a los avisos de confirmación más de la mitad de las veces.

El ajuste ideal para este umbral podría estar en torno a 0,25, donde la ID-FA ha disminuido significativamente pero la ID-CA aún no ha descendido demasiado. En última instancia, la decisión podría ser específica de la aplicación: sopesar lo malo que son las falsas aceptaciones frente a lo malo que es hacer que el usuario responda a una pregunta adicional.

Umbrales de rechazo

Estas son las categorías de hipótesis que son relevantes para decidir un umbral si se rechaza toda hipótesis por debajo del umbral:

  1. Hipótesis en el dominio, correcta y aceptada (ID-CA)
  2. Hipótesis en el dominio, falsa y aceptada (ID-FA)
  3. Hipótesis fuera del dominio, correcta y rechazada (OOD-CR)
  4. Hipótesis fuera del dominio, falsa y rechazada, es decir, se debería haber planteado la hipótesis de una intención (OOD-FR)

De estos grupos de hipótesis, 1 y 3 son correctas; 2 y 4 son incorrectas. El gráfico siguiente muestra esos cuatro valores para el mismo conjunto de datos.

Engine a rejection

Si el umbral de rechazo se establece en 0, se maximizarán tanto las aceptaciones correctas como las falsas, mientras que se minimizarán los rechazos correctos y los falsos. Aumentar el umbral de rechazo a 0,1 o 0,2 reduciría las aceptaciones falsas antes de que las aceptaciones correctas disminuyan de forma más pronunciada.

6. Los umbrales de confianza óptimos difieren de un motor a otro

Los motores de IA conversacional varían en la forma de calcular las puntuaciones de confianza. Algunos, como el motor A, tienden a producir hipótesis con valores de confianza distribuidos de forma bastante uniforme entre 0 y 1. Para otros, las puntuaciones de confianza se agrupan mayoritariamente dentro de un determinado rango, y eso cambia la forma de sus gráficos de umbral. El siguiente gráfico muestra el umbral de rechazo de un motor diferente.

Engine b rejection

Utilizar el umbral de rechazo del motor A (0,2) claramente no funcionaría para el motor B, ya que el motor B tiene falsos positivos (ID-FA) que todavía son bastante altos en ese punto. En este caso, 0,6 sería un umbral de rechazo razonable, que permitiría reducir la ID-FA sin sacrificar demasiado la ID-CA. A continuación se muestran los mismos gráficos superpuestos para facilitar la comparación.

7. Los umbrales de confianza óptimos podrían cambiar con el tiempo

Los cambios en un motor de IA conversacional pueden afectar a la forma en que se distribuyen sus puntuaciones de confianza entre los casos de prueba. Ten en cuenta esa posibilidad y vuelve a ejecutar este tipo de prueba de umbral para determinar si necesitas ajustar los umbrales de confianza.

8. Un tamaño de umbral no sirve para todo

Algunos entornos de bots están diseñados para trabajar con varios motores NLU, lo que puede hacer que parezca engañosamente fácil cambiar de motor. Antes de cambiar de motor, prueba tus umbrales de confianza.

Para obtener el mejor rendimiento posible, te recomendamos que pruebes los umbrales de confianza después de crear un nuevo bot, aunque no cambies de motor NLU. Distintos bots que utilicen el mismo motor pueden tener distintos umbrales óptimos.

Lee la guía práctica para dominar los bots para conocer más prácticas recomendadas para crear bots y asegurarte de que tus golpes de bot no llevan a los clientes a callejones sin salida.