Tutorial kali ini kita akan membuat model Question Answer (QA), dengan menggunakan library transformer untuk NLP yakni Hugging Face. QA yang kita buat dapat menerima pertanyaan dalam format layaknya pertanyaan yang diajukan manusia, dan memberikan jawaban yang sesuai dengan konteks yang kita harapkan. QA adalah task yang menarik dan berbeda dengan retrieval, karena kita bukan searching keyword jawaban di database, meskipun perkembangan search engine bisa dikombinasi dengan task ini (bisa dibaca artikel menarik di sini https://blog.google/search-language-understanding-bert).
Ada 4 tahapan yang akan dieksplor di tutorial ini:
- Membuat Question Answer dengan DistillBERT
- Pre-trained Model Transformer Khusus
- Membuat Chatbot Telegram
- Integrasi Model Transformer QA ke Chatbot Telegram
1. Membuat Question Answer dengan DistillBERT
DistillBERT adalah varian BERT dengan kecepatan inferensi yang baik sehingga cocok digunakan untuk Question Answer system. Perbedaan DistillBERT, BERT, dan varian lain bisa juga dibaca di sini: https://towardsdatascience.com/bert-roberta-distilbert
Workflow
- Buat file Colab
- Install library transformers Hugging Face.
- Import class pipeline dari library transformer. Class ini memuat pre-trained model untuk berbagai task NLP dalam bahasa Inggris. Ada beberapa pilihan task NLP yang bisa kita gunakan misalnya sentiment analysis, translation, question-answering dll. Task yang akan kita gunakan adalah question-answering.
- Inisiasi pembuatan obect dengan class pipeline, isikan parameter pertama dengan
"question-answering"
. Step ini akan mendownload model untuk task question-answering sehingga hanya perlu di-run sekali. Inisiasi ini akan otomatis menggunakan model transformer DistillBERT, yang kecepatan inferensinya baik. - Object bisa digunakan dengan mengisikan pertanyaan pada parameter
question
dan konteks pertanyaan pada parametercontext
.
Sebagai contoh akan diberikan pertanyaan “Where was Pink Floyd established?” dengan konteks “Pink Floyd was an English rock band formed in London in 1965.“. Implementasinya dituliskan pada code di bawah ini.
# Install library transformer dan Import class pipeline !pip install transformers from transformers import pipeline # Inisiasi object dan Penggunaan pre-trained model QA qa_model = pipeline('question-answering') qa_model(question='Where is Pink Floyd established?', context='Pink Floyd was an English rock band formed in London in 1965.')Continue reading