Textanalys

Prompt Engineering med OpenAI API

Fouad Trad

Machine Learning Engineer

Textanalys

  • Undersöker text för att utvinna information
    • Textklassificering
    • Entitetsextraktion
  • Företag bör söka juridisk rådgivning vid användning av kunddata

Bild som visar hur textanalys utvinner information såsom sentiment, känslor, ton, entiteter m.m. från en given text.

Prompt Engineering med OpenAI API

Textklassificering

  • Tilldela kategorier till text
  • Exempel: sentimentanalys

Bild som visar sentimentanalysens klasser: positiv, negativ eller neutral.

Prompt Engineering med OpenAI API

Specificerade kategorier

  • Ange klassificeringskategorier när de är kända
  • Specificera krav på utdata
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
Prompt Engineering med OpenAI API

Ospecificerade kategorier

  • Modellen använder sin kunskap när kategorier inte anges
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.
  • För vissa öppna problem fungerar detta inte alltid bra
Prompt Engineering med OpenAI API

Flera klasser

  • Text kan passa in i flera klasser
  • Ange ett maxantal klasser om de inte är kända
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
Prompt Engineering med OpenAI API

Entitetsextraktion

  • Extrahera specifika entiteter från text
  • Exempel: namn, platser, organisationer, datum

Ikon som visar hur entitetsextraktion handlar om att hämta ut specifika entiteter från en given text

Prompt Engineering med OpenAI API

Entitetsextraktion: ange entiteter

  • Ange entiteter att extrahera
  • Specificera utdataformat
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))
Prompt Engineering med OpenAI API

Entitetsextraktion: ange entiteter

  • Ange entiteter att extrahera
  • Specificera utdataformat
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))
Prompt Engineering med OpenAI API

Entitetsextraktion: ange entiteter

  • Ange entiteter att extrahera
  • Specificera utdataformat
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))
Prompt Engineering med OpenAI API

Entitetsextraktion: ange entiteter

  • Ange entiteter att extrahera
  • Specificera utdataformat
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))
Prompt Engineering med OpenAI API

Entitetsextraktion: ange entiteter

Product Name: XYZ Mobile X200
Display Size: 6.5-inch
Camera Resolution: 48MP triple-camera
Prompt Engineering med OpenAI API

Entitetsextraktion med few-shot-promptar

  • För komplexa strukturer
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"""
Prompt Engineering med OpenAI API

Entitetsextraktion med few-shot-promptar

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
Prompt Engineering med OpenAI API

Nu kör vi en övning!

Prompt Engineering med OpenAI API

Preparing Video For Download...