Question answering

Natural Language Processing (NLP) in Python

Fouad Trad

Machine Learning Engineer

QA estrattiva

  • Risposta copiata direttamente dal testo

  Immagine con il contesto "La biblioteca chiude alle 18 nei giorni feriali"

Immagine con una risposta estrattiva: "18"

QA astrattiva

  • Il modello genera una risposta naturale

  Immagine con una domanda: "Quando chiude la biblioteca nei giorni feriali?"

Immagine con una risposta astrattiva: "La chiusura è alle 18"

Natural Language Processing (NLP) in Python

QA estrattiva

  • Utile per:
    • Motori di ricerca
    • Sistemi di recupero documenti
    • App di comprensione del testo
  • Più accurata, meno soggetta a errori

extractive_photo.png

QA astrattiva

  • Utile per:
    • Agenti conversazionali
    • Assistenti virtuali
    • Bot di supporto clienti
  • Può introdurre errori

abstractive_image.png

Natural Language Processing (NLP) in Python

QA estrattiva

from transformers import pipeline

qa_pipeline = pipeline(task="question-answering", model="distilbert/distilbert-base-cased-distilled-squad")
context = """The Amazon rainforest is the largest tropical rainforest in the world, covering parts of Brazil, Peru, and Colombia."""
question = "Which countries does the Amazon rainforest cover?"
qa_answer = qa_pipeline(question=question, context=context) print(qa_answer)
{'score': 0.9242347478866577,

'start': 90, 'end': 116,
'answer': 'Brazil, Peru, and Colombia'}
Natural Language Processing (NLP) in Python

QA astrattiva

from transformers import pipeline
qa_pipeline = pipeline(task="text2text-generation",
                       model="fangyuan/hotpotqa_abstractive")

context = """The Amazon rainforest is the largest tropical rainforest in the world, covering parts of Brazil, Peru, and Colombia.""" question = "Which countries does the Amazon rainforest cover?"
input_text = f"question: {question} context: {context}"
result = qa_pipeline(input_text)
print(result)
[{'generated_text': 'The Amazon rainforest covers parts of Brazil, Peru, and Colombia.'}]
Natural Language Processing (NLP) in Python

Passons à la pratique !

Natural Language Processing (NLP) in Python

Preparing Video For Download...