Odpovídání na otázky

Zpracování přirozeného jazyka (NLP) v Pythonu

Fouad Trad

Machine Learning Engineer

Extraktivní QA

  • Odpověď je přímo zkopírována z textu

  Obrázek zobrazující kontext „Knihovna zavírá v 18:00 ve všední dny"

Obrázek zobrazující extraktivní odpověď: „18:00"

Abstraktivní QA

  • Model generuje přirozeně znějící odpověď

  Obrázek zobrazující otázku: „Kdy zavírá knihovna ve všední dny?"

Obrázek zobrazující abstraktivní odpověď: „Zavírá v 18:00"

Zpracování přirozeného jazyka (NLP) v Pythonu

Extraktivní QA

  • Využití:
    • Vyhledávače
    • Systémy pro vyhledávání dokumentů
    • Aplikace pro porozumění textu
  • Přesnější, méně náchylné k chybám

extractive_photo.png

Abstraktivní QA

  • Využití:
    • Konverzační agenti
    • Virtuální asistenti
    • Boty zákaznické podpory
  • Může zavádět chyby

abstractive_image.png

Zpracování přirozeného jazyka (NLP) v Pythonu

Extraktivní QA

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'}
Zpracování přirozeného jazyka (NLP) v Pythonu

Abstraktivní QA

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.'}]
Zpracování přirozeného jazyka (NLP) v Pythonu

Pojďme si procvičit!

Zpracování přirozeného jazyka (NLP) v Pythonu

Preparing Video For Download...