Análisis de texto

Ingeniería rápida con la API de OpenAI

Fouad Trad

Machine Learning Engineer

Análisis de texto

  • Analizar texto para extraer información
    • Clasificación de texto
    • Extracción de entidades
  • Las empresas deben buscar asesoría legal al usar datos de clientes

Imagen que muestra cómo el análisis de texto extrae información como sentimiento, emoción, tono, entidades, etc. de un texto.

Ingeniería rápida con la API de OpenAI

Clasificación de texto

  • Asignar categorías a un texto
  • Ejemplo: análisis de sentimiento

Imagen que muestra las clases del análisis de sentimiento: positivo, negativo o neutral.

Ingeniería rápida con la API de OpenAI

Categorías especificadas

  • Especifica categorías de clasificación si se conocen
  • Indica los requisitos de salida
text = "I bought your XYZ Smart Watch and wanted to share my positive experience. 
Impressed with its sleek design, comfort, and touchscreen usability."

prompt = f"""Classify the sentiment of the text delimited by triple backticks as positive, negative, or neutral. Give your answer as a single word: ```{text}```""" print(get_response(prompt))
positive
Ingeniería rápida con la API de OpenAI

Categorías no especificadas

  • El modelo usa su conocimiento cuando no se especifican categorías
text = "I bought your XYZ Smart Watch and wanted to share my positive experience. 
Impressed with its sleek design, comfort, and touchscreen usability."

prompt = f"""Classify the sentiment of the text delimited by triple backticks. 
             Give your answer as a single word.
           ```{text}```"""
print(get_response(response))
positive.
  • Para algunos problemas abiertos esto puede no funcionar bien
Ingeniería rápida con la API de OpenAI

Varias clases

  • Un texto puede pertenecer a varias clases
  • Define un máximo de clases si no se conocen
text = "I bought your XYZ Smart Watch and wanted to share my positive experience. 
Impressed with its sleek design, comfort, and touchscreen usability."

prompt = f"""Identify emotions used in this text. Don't use more than 3 emotions. Format your answer as a list of words separated by commas: ```{text}```""" print(get_response(prompt))
impressed, positive, comfortable
Ingeniería rápida con la API de OpenAI

Extracción de entidades

  • Extraer entidades específicas de un texto
  • Ejemplos: nombres, lugares, organizaciones, fechas

Icono que muestra cómo la extracción de entidades consiste en extraer entidades específicas de un texto

Ingeniería rápida con la API de OpenAI

Extracción de entidades: especifica entidades

  • Especifica las entidades a extraer
  • Indica el formato de salida
text = "The XYZ Mobile X200: a sleek 6.5-inch Super AMOLED smartphone with a 48MP 
triple-camera, octa-core processor, 5000mAh battery, 5G connectivity, and Android 
11 OS. Secure with fingerprint and facial recognition. 128GB storage, expandable up 
to 512GB."

prompt = f"""Identify the following entities from the text delimited by triple backticks: - Product Name ```{text}```""" print(get_response(prompt))
Ingeniería rápida con la API de OpenAI

Extracción de entidades: especifica entidades

  • Especifica las entidades a extraer
  • Indica el formato de salida
text = "The XYZ Mobile X200: a sleek 6.5-inch Super AMOLED smartphone with a 48MP 
triple-camera, octa-core processor, 5000mAh battery, 5G connectivity, and Android 
11 OS. Secure with fingerprint and facial recognition. 128GB storage, expandable up 
to 512GB."

prompt = f"""Identify the following entities from the text delimited by triple backticks: - Product Name - Display Size ```{text}```""" print(get_response(prompt))
Ingeniería rápida con la API de OpenAI

Extracción de entidades: especifica entidades

  • Especifica las entidades a extraer
  • Indica el formato de salida
text = "The XYZ Mobile X200: a sleek 6.5-inch Super AMOLED smartphone with a 48MP 
triple-camera, octa-core processor, 5000mAh battery, 5G connectivity, and Android 
11 OS. Secure with fingerprint and facial recognition. 128GB storage, expandable up 
to 512GB."

prompt = f"""Identify the following entities from the text delimited by triple backticks: - Product Name - Display Size - Camera Resolution ```{text}```""" print(get_response(prompt))
Ingeniería rápida con la API de OpenAI

Extracción de entidades: especifica entidades

  • Especifica las entidades a extraer
  • Indica el formato de salida
text = "The XYZ Mobile X200: a sleek 6.5-inch Super AMOLED smartphone with a 48MP 
triple-camera, octa-core processor, 5000mAh battery, 5G connectivity, and Android 
11 OS. Secure with fingerprint and facial recognition. 128GB storage, expandable up 
to 512GB."

prompt = f"""Identify the following entities from the text delimited by triple backticks: - Product Name - Display Size - Camera Resolution Format the answer as an unordered list. ```{text}```""" print(get_response(prompt))
Ingeniería rápida con la API de OpenAI

Extracción de entidades: especifica entidades

Product Name: XYZ Mobile X200
Display Size: 6.5-inch
Camera Resolution: 48MP triple-camera
Ingeniería rápida con la API de OpenAI

Extracción de entidades con few-shot prompts

  • Para estructuras complejas
ticket_1 = "Hello, I'm Emma Adams. I'd 
like to ask about my reservation with 
the code CAR123. 
You can reach me at +123456 if needed."

ticket_2 = "This is Sarah Williams. 
I would like to request some information
regarding my upcoming flight with 
reservation code FLIGHT987. Thank you."
entities_1 = """
* Customer Details:
  - Name: Emma Adams
  - Phone: +123456
* Reservation Details:
  - Reservation Code: CAR123"""
entities_2 = """
* Customer Details:
  - Name: Sarah Williams
* Reservation Details:
  - Reservation Code: FLIGHT987"""
Ingeniería rápida con la API de OpenAI

Extracción de entidades con few-shot prompts

ticket_3 = "Hello, I'm David Brown (CUST123). I need assistance with my reservation under 
the code HOTEL456. There are some questions and issues related to my upcoming stay that 
require your attention."

prompt = f"""Text: {ticket_1} -> Entities: {entities_1} Text: {ticket_2} -> Entities: {entities_2} Text: {ticket_3} -> Entities: """ print(get_response(prompt))
* Customer Details:
  - Name: David Brown
  - Customer ID: CUST123
* Reservation Details:
  - Reservation Code: HOTEL456
Ingeniería rápida con la API de OpenAI

¡Vamos a practicar!

Ingeniería rápida con la API de OpenAI

Preparing Video For Download...