Tabla de contenidos
Introducción
Cuando se trata de inteligencia artificial y aprendizaje automático, un área clave de implementación es la IA conversacional.
Habilitar y automatizar canales de conversación en una organización mediante IA es mucho más fácil de lo que la gente cree.
Aparición y desarrollo de UI conversacionales
Entonces, ¿cuál es la razón de estos impedimentos percibidos para implementar la IA conversacional en una organización?
Creo que hay algunos mitos que obstaculizan su correcta implatación y que todavía muchas mentes creen. y tienen en cuenta.
En algunos casos, estos mitos han sido establecidos por proyectos populares de análisis de video, imágenes y texto. Sin embargo, este tipo de proyectos exigen acceso a la GPU, grandes conjuntos de datos, deben ejecutarse en entornos de nube, etc.
A continuación, enumero cinco creencias comunes en lo que respecta a la IA conversacional. Y cómo, usando la plataforma Rasa, estos mitos pueden ser desacreditados.
Mito uno: necesita enormes conjuntos de datos
Existe la creencia de que este tipo de tecnología exige conjuntos de datos grandes y muy específicos para comenzar. O que se requiera un estudio de viabilidad que dure meses. ¿Y realmente existen estos datos?
¿Y cómo formatear y procesar estas rápidas cantidades de datos? Empecemos por lo básico. Las tres palabras que se utilizan con mayor frecuencia en relación con los datos del chatbot son:
- Declaraciones
- Intenciones
- Entidades
Una declaración o input es realmente cualquier cosa que diga el usuario. La intención puede ser una oración, algunos casos raros, unas pocas oraciones, o simplemente una palabra o una frase. Durante la fase de diseño, intentas anticipar lo que tus usuarios podrían decirle a tu bot.
Ejemplo de intención y entidades
Una intención es la intención del usuario con su expresión o interacción con tu bot. Piensa en las intenciones como verbos o palabras prácticas. Una expresión o diálogo único de un usuario debe destilarse en una intención identificable.
Las entidades pueden verse como sustantivos, a menudo se las conoce como slots. Suelen ser datos como la fecha, la hora, las ciudades, los nombres, las marcas, etc. La captura de estas entidades es fundamental para tomar medidas según la intención del usuario.
Piensa en un chatbot de viajes, capturar las ciudades de salida, destino, modo de viaje, precio, fechas y horas es la base de la interfaz. Sin embargo, esta es la parte más difícil del chatbot. Ten en cuenta que el usuario introduce los datos al azar y sin ningún orden en particular.
Lo ideal es capturar todas las entidades presentadas por el usuario de una sola vez. No es deseable solicitar información que el usuario ya haya proporcionado.
Datos de entrenamiento
La mejor fuente de datos de formación son las conversaciones existentes con los clientes. Estas conversaciones se pueden extraer de las conversaciones de chat actuales con agentes en vivo. O conversaciones del centro de llamadas; estos a menudo se transcriben automáticamente. Cualquier otra comunicación electrónica también puede proporcionar datos valiosos.
Alternativamente, se pueden realizar grupos focales con agentes para recopilar antecedentes sobre las conversaciones con los clientes.
Ejemplo de intenciones, entidades y entidades compuestas
Estas conversaciones se pueden segmentar en diferentes intenciones. Y dentro de estas intenciones se pueden identificar las diferentes entidades. Es evidente que la recopilación y preparación son muy simples y aparentes.
## intent:bank_transfer - I want to transfer [R100](amount) from my [savings](from_account) to my [credit card](to_account)- Can I transfer [R 2000](amount) from the [bond account](from_account) to the [credit card](to_account)- Can we move [R 50,000](amount) to my [credit card](to_account) from my [savings account](from_account)- Let's move [R100](amount) from [savings](from_account) to [investment account](to_account)- Let's transfer [R1000](amount) from my [savings](from_account) to my [investment](to_account)- Take money from [savings](from_account) and place it in my [credit card](to_account), for the amount of [R 100](amount)- Transfer [R100](amount) from my [savings](from_account) to my [credit card](to_account)- Move [R100](amount) from my [savings](from_account) to my [credit card](to_account)- move money from [savings](from_account) and place it in my [credit card](to_account), for the amount of [R 100](amount)- Allocate [R100](amount) from my [savings](from_account) to my [credit card](to_account) - I want to transfer [R100](amount) from my [savings](from_account) to my [credit card](to_account)
Por lo general, puede tener un mínimo de 15 a 20 expresiones de ejemplo por intención y se pueden mantener pequeñas iteraciones de entrenamiento. Para que pueda agregar datos de entrenamiento, probar, modificar y volver a probar.
Los chatbots generalmente se dirigen a un dominio muy limitado… también puedes segmentar el desarrollo de tu chatbot. Entonces, comenzaría sel proceso solo con el componente NLU con datos de entrenamiento. Desde aquí puedes entrenar, probar, modificar y volver a probar.
Desglose de intenciones y entidades a partir de declaraciones del usuario
Después de entrenar tu modelo NLU, puedes probar esta parte de forma aislada. Desde el texto introducido puedes ver la intención y las entidades extraídas del enunciado.
Verás el nombre de la intención identificada y la puntuación de confianza. Las entidades detectadas también se enumeran con las posiciones inicial y final. Se enumeran el nombre de la entidad, el valor y el extractor.
Esta vista te ayuda a perfeccionar realmente tus datos de entrenamiento y tu canalización a través de un proceso de pruebas iterativas. A partir de esto, es evidente que la recopilación de datos de capacitación es más una tarea administrativa.
Mito dos: el entrenamiento lleva mucho tiempo
El entrenamiento es realmente rápido y eficiente. Y con todas las configuraciones y componentes en su lugar, es un proceso de un solo comando. Entre otras cosas, el tiempo de entrenamiento de un modelo NLU depende de:
- Componentes definidos en la pipeline
- Número de intenciones y ejemplos
- Número de entidades
- Número de épocas definidas
En general, el entrenamiento de un modelo toma minutos. Aquí hay un ejemplo práctico, a continuación se muestran las especificaciones de mi proyecto:
Especificaciones de mi computadora portátil
Y la pipeline utilizó:
# Configuration for Rasa NLU. # https://rasa.com/docs/rasa/nlu/components/ language: en pipeline: — name: WhitespaceTokenizer — name: RegexFeaturizer — name: LexicalSyntacticFeaturizer — name: CountVectorsFeaturizer — name: CountVectorsFeaturizer analyzer: “char_wb” min_ngram: 1 max_ngram: 4 — name: DIETClassifier epochs: 300 #100 — name: EntitySynonymMapper — name: ResponseSelector epochs: 300 #100
Aquí está el comienzo del proceso de entrenamiento… para darle una indicación del tamaño de los datos de entrenamiento…
Training NLU model… rasa.nlu.training_data.training_data — Training data stats: rasa.nlu.training_data.training_data — Number of intent examples: 405 (20 distinct intents)
Esto conlleva menos de 10 minutos para entrenar; No optimicé ninguna configuración del entorno.
Mito tres: se necesitan personas altamente especializadas
Rasa ha reducido el proceso de instalación, desarrollo y capacitación a una secuencia de eventos muy bien definida. Las partes de instalación de producción, contenedorización e integración (acciones) se pueden realizar mediante recursos internos existentes.
Rasa-X se puede describir como la interfaz de usuario de Rasa. Es una GUI basada en web que permite la mejora continua de la interfaz conversacional.
Rasa X
Tienes la capacidad de hablar con tu bot y hacer uso del aprendizaje interactivo mientras estás en una conversación. Esto cierra la brecha entre la experiencia práctica y los datos de capacitación.
Cuando los usuarios hablan con tu asistente, a través de un canal de mensajería, la función Share your bot o mediante la pantalla Talk to your bot, tus mensajes se canalizan a la bandeja de entrada de NLU. Cuando tengas mensajes sin procesar en la Bandeja de entrada, verás un indicador en la barra lateral que te advierte que los mensajes están listos para ser revisados.
El modelo NLU se puede entrenar desde la consola, con una lista de todos los modelos disponibles y un indicador de cuál está actualmente en producción. Cambiar de modelo es sencillo. Esto es muy conveniente si deseas volver al último modelo; o incluso algunos modelos atrás.
Tu archivo de configuración de Pipeline está disponible a través de la consola, con historias y respuestas.
Rasa X
Después de cada iteración de entrenamiento, se genera un modelo con marca de tiempo. Estos modelos se enumeran y se pueden eliminar o activar. Si después del entrenamiento no obtienes un resultado deseable, retrocedes a un modelo anterior. Los modelos redundantes se pueden eliminar y es posible que tengas modelos específicos que ejecutes en determinados momentos o instancias.
Mito cuatro: basado en la nube es imprescindible
Rasa se puede instalar en cualquier lugar, en la nube, en las instalaciones o en cualquier centro de datos. La migración a la nube se puede realizar en cualquier etapa.
Migra el chatbot en la nube a una instalación Rasa en cualquier lugar
También existen herramientas para migrar desde los entornos de nube actuales a Rasa. Tiene la libertad de ejecutar su software cuando cumplas los objetivos de:
- Costo
- Seguridad
- Legislación
- DRP
- BCP
- etc.
Mito cinco: el ROI es difícil de calcular
Con la llegada de los centros de llamadas; el costo, la conveniencia y el autoservicio se convirtieron en preocupaciones reales. Por lo tanto, se introdujo IVR para abordar todos estos problemas.
Casi lo mismo ocurre con el chat de agentes en vivo. Es caro tener una gran cantidad de agentes atendiendo conversaciones de chat en vivo y esperando en una cola frustrar a los usuarios.
Pero la diferencia es que los chatbots, a diferencia de IVR, tienen la capacidad de actuar como un agente o asistente virtual. Y solo en esto se encuentra una gran fuente de ROI.
Tener una ruta de desarrollo clara y bien definida y herramientas ayudan a cuantificar los costos.
Rasa con el enfoque de desarrollo basado en conversaciones (CDD), una comunidad sólida, excelentes recursos y ayuda le permite abordar un proyecto de chatbot como lo haría con cualquier otro proyecto de software.
Conclusión
La clave para la mayoría de las cosas en la vida es simplemente comenzar y superar los impedimentos percibidos e imaginados. Esperamos que este artículo pueda ayudarte a avanzar con la IA conversacional…