Doctran y LLMs Un poderoso dúo para analizar las quejas de los consumidores

Doctran y LLMs Un dúo poderoso para analizar las quejas de los consumidores

Introducción

En el mercado altamente competitivo de hoy en día, las empresas se esfuerzan por comprender y resolver eficazmente las quejas de los consumidores. Las quejas de los consumidores pueden arrojar luz sobre una amplia gama de problemas, desde defectos en el producto y un mal servicio al cliente hasta errores en la facturación y preocupaciones de seguridad. Juegan un papel crucial en el ciclo de retroalimentación (con respecto a productos, servicios o experiencias) entre las empresas y sus clientes. Analizar y comprender estas quejas puede proporcionar información valiosa sobre mejoras en productos o servicios, satisfacción del cliente y crecimiento general del negocio. En este artículo, exploraremos cómo aprovechar la biblioteca de Python Doctran para analizar las quejas de los consumidores, extraer información y tomar decisiones basadas en datos.

Objetivos de aprendizaje

En este artículo, aprenderás:

  • Acerca de la biblioteca de Python Doctran y sus características clave
  • Acerca del papel de Doctran y LLMs en la transformación y análisis de documentos
  • Explorar seis tipos de transformaciones de documentos admitidas por Doctran, que incluyen extracción, redacción, interrogación, refinamiento, resumen y traducción
  • Obtener una comprensión general de cómo convertir datos de texto sin formato de quejas de los consumidores en ideas accionables
  • Comprender la estructura de datos del documento Doctran, la clase ExtractProperty para definir un esquema para extraer propiedades

Este artículo se publicó como parte del Data Science Blogathon.

Doctran

Doctran es una biblioteca de Python de última generación diseñada para la transformación y análisis de documentos. Proporciona un conjunto de funciones para preprocesar datos de texto, extraer información clave, categorizar/clasificar, interrogar, resumir la información y traducir texto a otros idiomas. Doctran utiliza modelos basados en LLM (Large Language Models), como los modelos basados en OpenAI GPT y bibliotecas de procesamiento de lenguaje natural (NLP) de código abierto para analizar datos textuales.

Admite los siguientes seis tipos de transformaciones de documentos:

  1. Extracción: Extraer características/propiedades útiles de un documento.
  2. Redacción: Eliminar información personal identificable (PII) como nombre, correo electrónico, número de teléfono, etc. de un documento antes de enviar los datos a OpenAI. Internamente, utiliza la biblioteca spaCy para eliminar la información sensible.
  3. Interrogación: Convertir el documento en formato de preguntas y respuestas.
  4. Refinamiento: Eliminar cualquier contenido de un documento que no se refiera a un conjunto predefinido de temas.
  5. Resumen: Representar el documento como un resumen conciso, completo y significativo.
  6. Traducción: Traducir el documento a otros idiomas.

La integración también está disponible dentro del marco LangChain en el módulo document_transformers. LangChain es un marco de vanguardia para construir aplicaciones impulsadas por LLM.

LangChain brinda la flexibilidad para explorar y utilizar una amplia gama de modelos LLM de código abierto y cerrado. Permite conectarse sin problemas a diversas fuentes de datos externas, como PDF, archivos de texto, hojas de cálculo de Excel, presentaciones de PowerPoint, etc. También permite experimentar con diferentes indicaciones, realizar ingeniería de indicaciones, aprovechar cadenas y agentes integrados y más.

Dentro del módulo document_transformers de LangChain, hay tres implementaciones: DoctranPropertyExtractor, DoctranQATransformer y DoctranTextTranslator. Se utilizan para las transformaciones de documentos de extracción, interrogación y traducción, respectivamente.

Instalación

Doctran se puede instalar fácilmente utilizando el comando pip.

pip install doctran

Una vez que conozcas la biblioteca Doctran, ahora vamos a explorar los diferentes tipos de transformaciones de documentos disponibles en Doctran utilizando la siguiente queja de consumidor que se encuentra entre tres acentos inversos (“`).

“`

26 de noviembre de 2021

El Gerente

Departamento de Servicio al Cliente

Taurus Shop

Nueva Delhi – 110023

Asunto: Queja sobre la lavadora “VIP” defectuosa

Estimado señor,

Compré una lavadora automática el 15 de julio de 2022, modelo no. G 24 y el número de factura es 1598.

La semana pasada, la máquina dejó de funcionar de repente y no ha estado funcionando desde entonces a pesar de todos nuestros esfuerzos. La máquina se detiene después de que se completa el proceso de enjuague, causando muchos problemas. Además, desde hace un día más o menos, la máquina también ha comenzado a hacer ruidos fuertes, lo cual nos ha causado inconvenientes.

Por favor, envíe a su técnico para repararla y, si es necesario, reemplazarla durante la próxima semana.

Esperando una pronta respuesta.

Sinceramente,

“`

Cargando la queja como un documento Doctran

Para realizar la transformación de documentos utilizando Doctran, primero necesitamos convertir el texto sin formato en un documento Doctran. Un documento Doctran es un tipo de dato fundamental que está optimizado para la búsqueda vectorial. Representa una pieza de datos no estructurados. Consiste en un contenido sin formato y metadatos asociados.

Instancie un objeto Doctran especificando la clave API de OPENAI en el parámetro open_ai_key. A continuación, analice el contenido sin formato como un documento Doctran llamando al método parse() sobre el objeto Doctran.

sample_complain  = """26 de noviembre de 2021El GerenteDepartamento de Servicio al ClienteTaurus ShopNueva Delhi - 110023Asunto: Queja sobre la lavadora "VIP" defectuosaEstimado señor,Compré una lavadora automática el 15 de julio de 2022, modelo no. G 24 y el número de factura es 1598.La semana pasada, la máquina dejó de funcionar de repente y no ha estado funcionando desde entonces a pesar de todos nuestros esfuerzos. La máquina se detiene después de que se completa el proceso de enjuague, causando muchos problemas. Además, desde hace un día más o menos, la máquina también ha comenzado a hacer ruidos fuertes, lo cual nos ha causado inconvenientes.Por favor, envíe a su técnico para repararla y, si es necesario, reemplazarla durante la próxima semana.Esperando una pronta respuesta.Atentamente"""doctran = Doctran(openai_api_key=OPENAI_API_KEY)document = doctran.parse(content=sample_complain)print(document.raw_content)

Salida:

DocTransformers

1. Extracción

Una de las funciones principales de Doctran es extraer propiedades clave de un documento. Internamente, utiliza la función de OpenAI para extraer propiedades (puntos de datos) de un documento. Utiliza el modelo GPT-4 de OpenAI con un límite de tokens de 8000.

GPT-4, que significa Generative Pre-trained Transformer 4, es un modelo de lenguaje multimodal grande desarrollado por OpenAI. En comparación con sus predecesores, GPT-4 demuestra una mayor capacidad para abordar tareas complejas. Además, puede utilizar entradas visuales (como imágenes, gráficos, memes, etc.) junto con texto. El modelo ha logrado un rendimiento similar al humano en una variedad de puntos de referencia profesionales y académicos, incluido el Examen Uniforme de Abogados.

Necesitamos definir un esquema instanciando la clase ExtractProperty para cada propiedad que queremos extraer. El esquema consta de varios elementos clave: un nombre de propiedad, una descripción, un tipo de datos, una lista de valores seleccionables y un indicador requerido que es un valor booleano.

Aquí, hemos especificado cuatro propiedades: Categoría, Sentimiento, Agresividad e Idioma.

from doctran import ExtractPropertyproperties = [    ExtractProperty(        name="Categoría",         description="Qué tipo de queja del consumidor es esta",        type="cadena",        enum=["Producto o Servicio", "Tiempo de Espera", "Entrega", "Brecha de Comunicación", "Personal"],        required=True        ),    ExtractProperty(        name="Sentimiento",         description="Evaluar la polaridad/sentimiento",        type="cadena",        enum=["Positivo", "Negativo", "Neutral"],        required=True        ),     ExtractProperty(        name="Agresividad",         description="""describe qué tan agresiva es la queja,         cuanto mayor sea el número, más agresiva es""",        type="número",        enum=[1, 2, 3, 4, 5],        required=True        ),       ExtractProperty(        name="Idioma",         type="cadena",        description="Idioma de origen",        enum=["Inglés", "Hindi", "Español", "Italiano", "Alemán"],        required=True        )         ]

Para recuperar las propiedades, podemos llamar a la función extract() en el documento. Esta función toma las propiedades como parámetro.

extracted_doc = await document.extract(properties=properties).execute()

La operación de extracción devuelve un nuevo documento con las propiedades proporcionadas en la clave extracted_properties.

print(extracted_doc.extracted_properties)

Salida:

2. Interrogación

Doctran nos permite convertir el contenido de un documento en un formato de preguntas y respuestas. Las consultas de los usuarios se formulan típicamente como preguntas. Por lo tanto, para mejorar los resultados de búsqueda al utilizar una base de datos vectorial, puede ser útil transformar la información en preguntas. La creación de índices a partir de estas preguntas permite una mejor recuperación de contexto en comparación con la indexación del texto original.

Para interrogar el documento, utiliza la función interrogate() incorporada. Devuelve un nuevo documento y el conjunto de preguntas y respuestas generadas está disponible dentro del atributo extracted_properties.

interrogated_doc = await document.interrogate().execute()print(interrogated_doc.extracted_properties['questions_and_answers'])

Salida:

3. Resumen

Utilizando doctran, también podemos generar un resumen conciso y significativo del texto original. Invoca la función summarize() para resumir el documento. Además, especifica el token_limit para configurar el tamaño del resumen.

summarized_doc = await document.summarize(token_limit=30).execute()print(summarized_doc.transformed_content)

Salida:

4. Traducción

La traducción de documentos a otros idiomas puede ser útil especialmente cuando se espera que los usuarios consulten la base de conocimientos en diferentes idiomas, o cuando no están disponibles modelos de incrustación de vanguardia para un determinado idioma.

La traducción de idiomas para nuestro caso de uso de quejas de consumidores puede ser útil para empresas globales con bases de clientes multilingües. Utilizando la función de traducción incorporada, podemos traducir la información a otros idiomas como hindi, español, italiano, alemán, etc.

translated_doc = await document.translate(language="hindi").execute()print(translated_doc.transformed_content)

Salida:

Conclusión

En la era de la toma de decisiones basada en datos, el análisis de quejas de consumidores es un proceso vital que puede llevar a productos y servicios mejorados y, en última instancia, a una mayor satisfacción del cliente. Utilizando LLMs y herramientas avanzadas de procesamiento del lenguaje natural, podemos convertir los datos textuales en información accionable que impulsa el crecimiento y la mejora empresarial. En este artículo, se habló de doctran, de los diferentes tipos de transformaciones de documentos admitidos por esta biblioteca con la ayuda de las quejas de los consumidores.

Puntos clave

  • Las quejas de los consumidores no son solo quejas, sino también fuentes valiosas de retroalimentación que pueden proporcionar ideas cruciales para las empresas.
  • La biblioteca de Python doctran, junto con los Modelos de Lenguaje Grande (LLMs) como GPT-4, ofrece un conjunto de herramientas potente para transformar y analizar documentos. Admite diversas transformaciones como extracción, redacción, interrogación, resumen y traducción.
  • La capacidad de extracción de doctran utilizando el modelo GPT-4 de OpenAI puede ayudar a las empresas a extraer propiedades clave de los documentos.
  • La conversión del contenido del documento en un formato de preguntas y respuestas mediante la función de interrogación de doctran mejora la recuperación de contexto. Este enfoque es valioso para construir índices de búsqueda efectivos y facilitar mejores resultados de búsqueda.
  • Las empresas con una base de clientes global pueden beneficiarse de las capacidades de traducción de idiomas de doctran, lo que permite acceder a la información en varios idiomas. Además, proporciona la capacidad de generar resúmenes concisos y significativos del contenido textual.

Preguntas frecuentes

Los medios mostrados en este artículo no son propiedad de Analytics Vidhya y se utilizan con el criterio del autor.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Conoce a cinco innovadores en IA generativa en África y Oriente Medio

Los emprendedores están cultivando IA generativa desde la costa oeste de África hasta el borde oriental del desierto ...

Inteligencia Artificial

Optimizando los costos computacionales con AutoMix Un enfoque estratégico de IA para aprovechar modelos de lenguaje grandes desde la nube

AutoMix es un enfoque innovador que optimiza la asignación de consultas a modelos de lenguaje de mayor tamaño (LLM) e...

Aprendizaje Automático

Ajusta de forma interactiva Falcon-40B y otros LLMs en los cuadernos de Amazon SageMaker Studio utilizando QLoRA.

Ajustar modelos de lenguaje grandes (LLMs) permite adaptar modelos fundamentales de código abierto para lograr un mej...

Inteligencia Artificial

Investigadores de UC San Diego presentan TD-MPC2 Revolucionando el aprendizaje de refuerzo basado en modelos en diversos dominios

Los Modelos de Lenguaje Grandes (LLMs) están constantemente mejorando, gracias a los avances en Inteligencia Artifici...

Inteligencia Artificial

Conoce a Baichuan-13B el modelo de lenguaje de código abierto de China para competir con OpenAI

Wang Xiaochuan, el fundador del motor de búsqueda chino Sogou, ha lanzado un nuevo modelo de lenguaje enorme llamado ...