Ini adalah implementasi Keras untuk tugas klasifikasi kalimat menggunakan CNN.
Kumpulan data untuk tugas di atas diperoleh dari proyek benchmark Pemahaman Bahasa Alami
Teks yang digunakan untuk pelatihan terbagi dalam enam kategori yaitu, AddToPlaylist, BookRestaurant, GetWeather, RateBook, SearchCreativeWork, SearchScreeningEvent yang masing-masing memiliki hampir 2000 kalimat.
Untuk menyiapkan kumpulan data, dari direktori proyek utama, buka terminal dan ketik:
$ python prepare_data.py
Periksa Intent_Classification_Keras_Glove.ipynb untuk bagian pembuatan model dan pelatihan. Di bawah ini adalah ikhtisar modelnya.
Meskipun RNN seperti LSTM dan GRU banyak digunakan untuk tugas pemodelan bahasa tetapi CNN juga terbukti lebih cepat untuk dilatih karena paralelisasi data saat pelatihan dan memberikan hasil yang lebih baik daripada LSTM. Berikut adalah perbandingan singkat antara berbagai metode untuk menyelesaikan klasifikasi kalimat, seperti yang terlihat TextCNN memberikan hasil terbaik dan juga berlatih lebih cepat. Saya dapat mencapai akurasi 99% pada kumpulan data pelatihan dan validasi dalam satu menit setelah 3 periode saat dilatih pada CPU i7 biasa.
Klasifikasi maksud dan pengenalan entitas bernama adalah dua bagian terpenting dalam pembuatan chatbot yang berorientasi pada tujuan.
Ada banyak paket python open source untuk membuat chatbot, Rasa salah satunya. Hal yang keren tentang Rasa adalah setiap bagian tumpukan dapat disesuaikan sepenuhnya dan mudah dipertukarkan. Meskipun Rasa memiliki dukungan bawaan yang sangat baik untuk tugas klasifikasi maksud, namun kami juga dapat menentukan model kami sendiri untuk tugas tersebut, lihat Processing Pipeline untuk informasi lebih lanjut tentangnya.
Menggunakan penyematan kata yang telah dilatih sebelumnya dalam model Keras
Jaringan Syaraf Konvolusional untuk Klasifikasi Kalimat
Analisis Sensitivitas (dan Panduan Praktisi) Jaringan Syaraf Konvolusional untuk Klasifikasi Kalimat
Evaluasi Empiris Jaringan Konvolusional dan Berulang Generik untuk Pemodelan Urutan