Skip to content Skip to sidebar Skip to footer

BERT untuk Dummies — Tutorial Langkah demi Langkah

BERT for dummies - Step by Step Tutorial
BERT for dummies - Step by Step Tutorial


Panduan praktis DIY tentang Transformer. Kode PyTorch yang terbukti langsung untuk Klasifikasi Maksud di NLU dengan BERT disetel dengan baik.

Artikel ini memperkenalkan semua yang Anda butuhkan untuk lepas landas dengan BERT. Kami menyediakan panduan langkah demi langkah tentang cara menyempurnakan Representasi Encoder Dua Arah dari Transformers (BERT) untuk Pemahaman Bahasa Alami dan membandingkannya dengan LSTM.

Motivasi
Chatbot, asisten virtual, dan agen dialog biasanya akan mengklasifikasikan kueri ke dalam maksud tertentu untuk menghasilkan respons yang paling koheren. Klasifikasi intent adalah masalah klasifikasi yang memprediksi label intent untuk kueri pengguna tertentu. Biasanya masalah klasifikasi multi-kelas, di mana kueri diberi satu label unik. Misalnya, kueri "berapa biaya layanan limusin di pittsburgh" diberi label sebagai "groundfare" sedangkan kueri "jenis transportasi darat apa yang tersedia di denver" diberi label sebagai "ground_service". Pertanyaan "Saya ingin terbang dari boston pada jam 838 pagi dan tiba di Denver pada jam 1110 pagi" adalah niat "penerbangan", sementara " tunjukkan kepada saya biaya dan waktu untuk penerbangan dari san francisco ke atlanta" adalah niat "tiket pesawat + flight_time".

Contoh-contoh di atas menunjukkan betapa ambigunya pelabelan maksud. Pengguna mungkin menambahkan kata-kata yang menyesatkan, menyebabkan beberapa maksud hadir dalam kueri yang sama. Metode pembelajaran berbasis perhatian diusulkan untuk klasifikasi niat (Liu dan Lane, 2016; Goo dkk., 2018). Salah satu jenis jaringan yang dibangun dengan perhatian disebut Transformer. Ini menerapkan mekanisme perhatian untuk mengumpulkan informasi tentang konteks yang relevan dari kata yang diberikan, dan kemudian menyandikan konteks itu dalam vektor kaya yang dengan cerdas mewakili kata tersebut.


Pada artikel ini, kami akan menunjukkan Transformer, terutama bagaimana mekanisme perhatiannya membantu dalam menyelesaikan tugas klasifikasi maksud dengan mempelajari hubungan kontekstual. Setelah mendemonstrasikan keterbatasan pengklasifikasi berbasis LSTM, kami memperkenalkan BERT: Pra-pelatihan Deep Bidirectional Transformers, pendekatan Transformer baru, pra-pelatihan pada korpora besar dan bersumber terbuka. Bagian terakhir dari artikel ini menyajikan kode Python yang diperlukan untuk menyempurnakan BERT untuk tugas Klasifikasi Intent dan mencapai akurasi canggih pada kueri intent yang tidak terlihat. Kami menggunakan himpunan data ATIS (Airline Travel Information System), himpunan data tolok ukur standar yang banyak digunakan untuk mengenali maksud di balik kueri pelanggan.

Klasifikasi niat dengan LSTM
Data
Di salah satu artikel kami sebelumnya, Anda akan menemukan kode Python untuk memuat himpunan data ATIS. Dalam himpunan data pelatihan ATIS, kami memiliki 26 maksud berbeda, yang distribusinya ditunjukkan di bawah ini. Himpunan data sangat tidak seimbang, dengan sebagian besar kueri diberi label sebagai "penerbangan" (kode 14).

Pengklasifikasi multi-kelas

Sebelum melihat Transformer, kami menerapkan jaringan berulang LSTM sederhana untuk menyelesaikan tugas klasifikasi. Setelah prapemrosesan, tokenisasi, dan vektorisasi yang biasa, 4978 sampel dimasukkan ke dalam lapisan Keras Embedding, yang memproyeksikan setiap kata sebagai penyematan Word2vec dari dimensi 256. Hasilnya dilewatkan melalui lapisan LSTM dengan 1024 sel. Ini menghasilkan 1024 output yang diberikan ke lapisan Padat dengan 26 node dan aktivasi softmax. Probabilitas yang dibuat pada akhir alur ini dibandingkan dengan label asli menggunakan crossentropi kategoris.

Augmentasi data

Berurusan dengan himpunan data yang tidak seimbang adalah tantangan umum ketika menyelesaikan tugas klasifikasi. Augmentasi data adalah satu hal yang terlintas dalam pikiran sebagai solusi yang baik. Di sini, tidak jarang menemukan algoritma SMOTE, sebagai pilihan populer untuk menambah dataset tanpa prediksi yang bias. SMOTE menggunakan pengklasifikasi k-Nearest Neighbors untuk membuat titik data sintetis sebagai interpolasi multi-dimensi dari kelompok titik data sejati yang terkait erat. Sayangnya, kami memiliki 25 kelas minoritas dalam himpunan data pelatihan ATIS, meninggalkan kami dengan satu kelas yang terlalu representatif. SMOTE gagal bekerja karena tidak dapat menemukan cukup tetangga (minimal 2). Oversampling dengan penggantian adalah alternatif untuk SMOTE, yang juga tidak meningkatkan kinerja prediktif model.

Himpunan data SNIPS, yang dikumpulkan dari asisten suara pribadi Snips, himpunan data yang lebih baru untuk pemahaman bahasa alami, adalah himpunan data yang dapat digunakan untuk menambah himpunan data ATIS dalam upaya di masa mendatang.


Pengklasifikasi biner

Karena kami tidak cukup berhasil dalam menambah himpunan data, sekarang, kami lebih suka mengurangi ruang lingkup masalah. Kami mendefinisikan tugas klasifikasi biner di mana kueri "penerbangan" dievaluasi terhadap kelas yang tersisa, dengan menciutkannya menjadi satu kelas yang disebut "lainnya". Distribusi label dalam himpunan data baru ini diberikan di bawah ini.

Kesimpulan

Dalam artikel ini, saya mendemonstrasikan cara memuat model BERT yang telah dilatih sebelumnya dalam notebook PyTorch dan menyempurnakannya pada himpunan data Anda sendiri untuk menyelesaikan tugas tertentu. Perhatian penting ketika berhadapan dengan tugas-tugas pemahaman bahasa alami. Ketika dikombinasikan dengan penyematan kata-kata yang kuat dari Transformer, pengklasifikasi niat dapat secara signifikan meningkatkan kinerjanya, karena kami berhasil mengeksposnya.

Artikel baru saya menyediakan kode PyTorch yang telah terbukti langsung untuk menjawab pertanyaan dengan BERT yang disetel dengan baik pada himpunan data SQuAD.

Area ini membuka pintu lebar untuk pekerjaan di masa depan, terutama karena pemahaman bahasa alami adalah inti dari beberapa teknologi termasuk AI percakapan (chatbot, asisten pribadi) dan analitik tertambah yang akan datang yang diberi peringkat oleh Gartner sebagai tantangan disruptif teratas yang akan segera dihadapi organisasi. Memahami bahasa alami berdampak pada kecerdasan analitis dan bisnis tradisional karena para eksekutif dengan cepat mengadopsi pengambilan informasi cerdas dengan kueri teks dan narasi data alih-alih dasbor dengan bagan yang kompleks.

Post a Comment for "BERT untuk Dummies — Tutorial Langkah demi Langkah"