Etiquetar oportunidades de inversión con Prompt Engineering

Introducción

En este blog, mostramos un ejemplo de cómo utilizar prompting y LLMs para automatizar la categorización de oportunidades de inversión a partir de una breve descripción, un tema relevante para muchos fondos de Venture Capital. Por ejemplo, a una descripción como “A startup developing artificial intelligence technology to optimize delivery in e-commerce ” le podríamos asignar la categoría ”Logistics”; o a una descripción “A company creating blockchain-based solutions for secure online voting systems.” le podríamos asignar la categoría “Blockchain Technology”. También podemos asignar más de una categoría o etiqueta a una descripción.

¿Por qué es importante el prompting?

El prompting es una técnica de procesamiento de lenguaje natural (NLP) que ayuda a los modelos de lenguaje a entender mejor el contexto y la tarea que les estamos pidiendo. El prompting consiste en enviar un texto al LLM junto con una instrucción específica. Este texto incluye información que ayuda al LLM a entender y ejecutar la instrucción que le damos. Con prompting, podemos guiar a los modelos de lenguaje para que comprendan mejor lo que queremos de ellos. Al diseñar bien los prompts, logramos resultados más coherentes y precisos, lo cual es especialmente útil para tareas específicas como clasificar textos o generar contenido con una estructura determinada.

Métodos tradicionales de categorización

Antes de la aparición de los LLMs, la clasificación de descripciones se podía hacer principalmente de dos maneras:

  1. Definiendo reglas lógicas con regex: Esta técnica implica crear reglas específicas usando expresiones regulares (regex) del tipo: si la descripción incluye la palabra X, se trata de una oportunidad en la categoría Y. Por ejemplo, si una descripción incluye la palabra “blockchain”, se podría categorizar como “Blockchain Technology”. Este método es poco robusto, ya que depende en gran medida de las palabras clave exactas y no tiene en cuenta el contexto general.
  2. Entrenando un modelo de machine learning: Es decir, enseñando a clasificar a un modelo de ML utilizando muchos ejemplos de pares descripción-categoría. Aunque este método puede ser más flexible que las reglas basadas en regex, requiere una gran cantidad de datos de entrenamiento etiquetados, lo cual es tedioso y consume mucho tiempo.

Ambas alternativas tienen sus desventajas: las reglas lógicas son rígidas y pueden fallar en casos no previstos, mientras que entrenar un modelo de ML es laborioso y necesita muchos ejemplos para lograr buenos resultados.

Ventajas de utilizar LLMs para la clasificación

Por contra, si utilizamos LLMs para clasificar texto, podemos tener una solución robusta que funciona bien enseñándole pocos ejemplos. Los LLMs pueden entender el contexto general de las descripciones, lo que les permite categorizar oportunidades de inversión de manera más precisa y eficiente. Esto no solo reduce el tiempo y el esfuerzo necesarios para implementar la clasificación, sino que también mejora la precisión y la flexibilidad de la solución.

Ejemplo de Prompting para Clasificación de Texto

Imaginemos que somos un fondo Venture Capital y queremos clasificar automáticamente las oportunidades de inversión que recibimos por email. Este email suele incluir una breve descripción de la startup. Utilizaremos entonces un LLM para leer esta descripción y asignar una etiqueta de categoría a partir de la descripción.

Definición de un Prompt

Hay varias estrategias de Prompting:

  1. Few-shot learning: Proveer algunos ejemplos para ayudar al modelo a entender la tarea. Esto es útil cuando el modelo necesita aprender a partir de unos pocos ejemplos representativos.
  2. Zero-shot prompting: Formular la tarea para que el modelo la resuelva sin ejemplos previos, ideal para tareas simples y bien definidas.
  3. Incremental prompting: Empezar con un prompt sencillo y agregar complejidad gradualmente para mejorar la precisión del modelo.
  4. Estructuración clara: Mantener el prompt organizado y fácil de seguir, lo que ayuda al modelo a procesar mejor la información.

Implementación y Pruebas con Mistral

Siguiendo las guías de Mistral, a continuación mostramos un ejemplo de few shot learning donde nuestro prompt incluirá varios ejemplos de “descripción de start-up” + “etiqueta categoría”, para que el modelo vea cómo queremos clasificar. Después de definir el prompt haremos varias pruebas con descripciones de start-ups para verificar si el resultado del modelo es correcto.

You are a venture capital analyst bot. Your task is to assess investment opportunities 
described after <<<>>> and categorize them into one of the following predefined 
categories:

dev tool
energy
SaaS
logistics
healthtech
cybersecurity
VR
HR tech
traveltech
edtech
fintech
biotech
agritech
proptech
productivity
automotive
AI
mobile app
blockchain
fitness
IoT

If the text doesn't fit into any of the above categories, classify it as:
other

You will only respond with the category. Do not include the word "Category". Do not provide explanations or notes.

####
Here are some examples:

Inquiry: We are building a tool that autocompletes code in the IDE.
Tags: dev tool, productivity
Inquiry: We are building a new type of battery cell for the high end auto market.
Tags: energy, automotive
Inquiry: A SaaS tool that helps restaurant owners categorize invoices which are scanned using OCR.
Tags: SaaS, AI
Inquiry: Our platform leverages multimodal models to optimize supply chain logistics for e-commerce businesses.
Tags: logistics, AI
Inquiry: Developing a mobile app that offers personalized mental health support using CBT techniques.
Tags: healthtech, mobile app
Inquiry: We are developing an AI-driven tool to enhance cybersecurity for financial institutions.
Tags: cybersecurity, AI, fintech
Inquiry: We are developing a new platform to streamline HR processes for large enterprises.
Tags: HR tech, SaaS
Inquiry: A cloud-based solution for managing and optimizing company workflows and approvals, enhancing productivity and reducing costs.
Tags: SaaS, productivity, HR tech
Inquiry: A token-enabled logistics platform using AI to improve supply chain traceability and efficiency.
Tags: logistics, blockchain, AI
Inquiry: A wearable device for monitoring health metrics, integrated with a mobile app for personalized gym plans.
Tags: healthtech, mobile app, fitness

###

<<<
Inquiry: {insert inquiry text here}
>>>

Resultados de las Pruebas de Clasificación

Para validar el modelo, utilizamos descripciones de start-ups conocidas, como Factorial y TravelPerk, y observamos cómo las etiquetaría. También probamos con descripciones más complejas y específicas.

Resumen de Resultados:

DescripciónEtiqueta LLM
“An AI-enabled tool that analyzes security data to detect vulnerabilities.”cybersecurity, AI
“An online platform to help students prepare for standardized tests using personalized learning algorithms.”edtech, AI
“We are creating a mobile banking app that offers real-time expense tracking and budgeting tools.”fintech, mobile app
“Our company is developing a new gene editing technology for personalized medicine.”biotech, healthtech
“We are building an IoT-based solution to monitor crop health and optimize irrigation in real-time.”agritech, IoT
“Developing a digital marketplace to connect property buyers with real estate agents using VR tours.”proptech, VR
“Collaborative expense management tool.”SaaS, fintech
“We provide an all-in-one software solution for managing employee data, payroll, and benefits.” (Factorial)HR tech, SaaS
“A platform that streamlines business travel booking and expense management.” (TravelPerk)logistics, traveltech, productivity
“An app that offers personalized fitness plans and connects users with personal trainers.”healthtech, mobile app, fitness

Alternativas de Implementación

Para un Venture Capital que quiere clasificar automáticamente descripciones de start-ups, el fine-tuning del modelo puede ser útil si tenemos un gran conjunto de datos bien etiquetados. Este método es ideal cuando se necesita una precisión muy alta en categorías especializadas como “cybersecurity” o “fintech”. El fine-tuning permite personalizar el modelo y reducir errores, pero requiere muchos recursos en términos de tiempo y computación, y puede hacer que el modelo no generalice bien a datos nuevos.

Por ejemplo, si nuestro VC recibe constantemente descripciones muy específicas y técnicas de start-ups en el área de biotecnología. Ajustar el modelo con estos datos podría mejorar significativamente la precisión de las clasificaciones, pero quizás afectaría negativamente a la clasificación de nuevas startups de AI con descripciones muy técnicas.

Otra alternativa sería implementar un feedback loop, que es muy efectivo en un entorno donde las descripciones de start-ups varían y evolucionan constantemente. Este sistema captura y analiza errores de clasificación, ajustando los prompts y mejorando el modelo iterativamente. Para un Venture Capital, un feedback loop permitiría adaptarse continuamente a nuevas descripciones, asegurando una clasificación precisa sin reentrenar el modelo desde cero. Esto es eficiente en términos de tiempo y recursos, aunque requiere una infraestructura robusta para gestionar el feedback. En este caso, si nuestro Venture Capital recibe una amplia gama de descripciones de diferentes industrias, el feedback loop ayudaría a mejorar el modelo continuamente a medida que aprende de los errores y nuevos datos.

Conclusión

El prompting es una herramienta poderosa en NLP que puede automatizar y optimizar procesos como la categorización de texto. En este caso de uso, hemos visto cómo un LLM puede ayudar a un Venture Capital a clasificar automáticamente las oportunidades de inversión, ahorrando tiempo y recursos. Implementar un sistema de retroalimentación continuo puede mejorar significativamente la precisión y eficacia del modelo, asegurando un rendimiento óptimo a largo plazo.

Keep reading