Tabla de contenidos
Introducción
Al margen de las aproximaciones generales, ha habido dos puntos de vista dentro del mundo de los chatbots. El primero es la desaprobación de las intenciones, que está en el punto de mira cuando examinamos GPT-3. Hay cuatro enfoques emergentes para la desaprobación de las intenciones.
El segundo es la desaprobación de la state machine. Esto es necesario para introducir un flujo de conversación más flexible.
Una de las vías para introducir más flexibilidad en un entorno de gestión de diálogo impulsado por machine states; donde todas las rutas de conversación y las respuestas están predefinidas es…
Introduciendo una función en la que, si no se detecta una intención con un alto nivel de confianza, el cuadro de diálogo puede buscar por defecto una base de conocimientos y responder con el resultado. Ojalá de una manera conversacional. Esto no es algo exclusivo de un marco de chatbot específico. NVIDIA Jarvis, que se lanzó recientemente, tiene ejemplos de integración en Wikipedia para servir como una base de conocimientos en la que se pueden realizar búsquedas. Otras plataformas como MindMeld, Rasa, Microsoft, IBM y más prevén dicha funcionalidad.
Obviamente, estos sistemas varían en complejidad y dificultad de implementación. En esta historia, echamos un vistazo a la facilidad con la que GPT-3 puede realizar esta tarea.
Búsqueda general con GPT-3
GPT-3 tiene una interfaz muy potente y sencilla para conversaciones de preguntas y respuestas generales. Más que eso, el contexto de la conversación se maneja excepcionalmente bien. Según el ejemplo de la imagen, se hace la pregunta: «¿Quién ganó el título de F1 en 2000?».
Posteriormente, el usuario puede preguntar: «¿A qué escudería representaba?«.Y «¿quién era el miembro de su equipo?«.
El contexto de la conversación se mantiene, lo que hace que la interfaz de preguntas y respuestas sea mucho más conversacional que otros sistemas de preguntas y respuestas. En general, la mayoría de las soluciones de preguntas y respuestas se centran en una única conversación de turno de diálogo, recuperando un único diálogo con información relevante.
Este no es el caso de GPT-3.
A continuación, GPT-3 Search chatbot escrito en Python usando 14 líneas de código. La línea 8 contiene una cadena asignada a la variable llamada indicador, actúa como datos de entrenamiento.
A continuación se muestra la pregunta planteada a GPT-3:
Who won the F1 title in 2011?
Esta es la cadena de datos de entrenamiento que se utiliza para el chatbot. Con «Q» denota las preguntas y «A» la respuesta.
prompt="I am a highly intelligent question answering bot. If you ask me a question that is rooted in truth, I will give you the answer. If you ask me a question that is nonsense, trickery, or has no clear answer, I will respond with \"Unknown\".\n\nQ: What is human life expectancy in the United States? \nA: Human life expectancy in the United States is 78 years. \n\nQ: Who was president of the United States in 1955?\nA: Dwight D. Eisenhower was president of the United States in 1955.\n\nQ: Which party did he belong to? \nA: He belonged to the Republican Party. \n\nQ: What is the square root of banana? \nA: Unknown \n\nQ: How does a telescope work? \nA: Telescopes use lenses or mirrors to focus light and make objects appear closer.\n\nQ: Where were the 1992 Olympics held? \nA: The 1992 Olympics were held in Barcelona, Spain. \n\nQ: How many squigs are in a bonk? \nA: Unknown \n\nQ: Who won the F1 title in 2011?\nA:"
Lo bueno
- El Natural Language General (NLG) es brillante; A menudo, NLG tiene una sensación desconocida. No con GPT-3. No es de extrañar que la API se destaque en la redacción de textos, resúmenes y otras tareas de procesamiento de texto.
- No hay proliferación de respaldo, la interfaz del chatbot se mantiene en pie y responde con diversas respuestas para hacer avanzar el diálogo.
- No hay impedimentos para la digresión.
- Aparentemente, el contexto se mantiene bastante bien.
- La entrada ambigua también se maneja bien.
- Los datos de formación o la orientación son mínimos.
- La gestión de los diálogos se realiza de forma automática.
- El contexto conversacional y el contexto específico de entidades indefinidas en la conversación son notables.
Lo no tan bueno
- Puede haber preocupación con respecto al daño de la marca con las empresas con respecto a NLG. Es posible que se requiera alguna forma de curación del diálogo.
- El ajuste fino aún no es lo suficientemente granular para las implementaciones empresariales.
- La API está alojada en la nube
- Costo
- Conjuntos más grandes de datos de entrenamiento
- Extracción de intenciones y entidades
Búsqueda personalizada con los documentos proporcionados
En el siguiente ejemplo, vamos a seguir un proceso de dos pasos en el que vamos a cargar un archivo de datos y luego obtendremos resultados de búsqueda basados en este archivo. Nuestro archivo de búsqueda o documento solo tiene dos líneas, donde tenemos una entrada de texto, con metadatos.
{"text": "puppy A is happy", "metadata": "emotional state of puppy A"} {"text": "puppy B is sad", "metadata": "emotional state of puppy B"}
A continuación, cargamos este archivo usando la API de archivos. Después de ejecutar pip install para instalar openai, verás la forma más sencilla de cargar documentos de búsqueda. Quizás aparte de cURL.
Si hay algún problema con tu código Python, se devolverá un error 400 o 401. A continuación, se muestra un mensaje de respuesta satisfactorio.
Lo más importante es que se proporciona el ID del archivo, que se puede utilizar para hacer referencia a los datos de búsqueda.
A continuación, el código Python para consultar la palabra única de «feliz» mientras se hace referencia a nuestro ID de archivo.
Verás el resultado, específico del documento cargado.
Conclusión
Este ejemplo ilustra cómo un chatbot convencional puede aumentarse con un conjunto de datos de búsqueda. Esto puede reducir la dependencia de la intención de reserva, que invariablemente da como resultado una proliferación de reserva.
Especialmente en los casos en los que una interfaz conversacional no tiene un enfoque de dominio estrecho y necesita adaptarse a un dominio más amplio o incluso abierto en términos de preguntas de los usuarios.