Satu langkah biasa apabila membina bot mentakrifkan "niat".
Niat mungkin "tetapkan semula kata laluan saya", "tempah penerbangan" atau "hubungi sokongan". Pembangun bot perlu memasukkan pelbagai frasa ke dalam perisian yang semuanya mempunyai makna yang sama dengan niat. Sebagai contoh, "Saya mahu terbang ke Paris" akan menjadi salah satu frasa sedemikian untuk niat "menempah penerbangan".
Secara amnya, platform pembangunan bot meminta pengguna memasukkan banyak frasa untuk tujuan tertentu. Frasa ini adalah data latihan untuk algoritma Pemprosesan Bahasa Asli (NLP).
Algoritma NLP adalah algoritma pembelajaran mesin yang melatih dirinya pada data untuk dapat mengenali frasa dengan makna yang sama tetapi perkataan yang berbeza (berbanding data latihan).
Algoritma NLP menggunakan data niat yang disediakan oleh pemaju bot ditambah dengan korpus data yang besar mengenai bahasa (bahawa ia telah dilatih sebelum ini) untuk menentukur model dalamannya untuk dapat mengenali frasa baru.
Lebih banyak contoh yang diberikan kepada algoritma NLP oleh pemaju chatbot, semakin tepat ia akan dapat mengenali makna yang sama dalam frasa lain yang mempunyai kata-kata yang berbeza. Sekurang-kurangnya itulah mesej yang diberikan kepada pemaju bot.
Masalahnya ialah semua data latihan tidak dicipta sama. Kualiti data penting seperti kuantiti.
Sebagai contoh, bayangkan saya ingin mencipta niat yang dipanggil "tetapkan semula kata laluan saya".
Pengarang bot mungkin mula mencipta frasa berikut:
Mengeset semula kata laluan saya
Saya terlupa kata laluan saya
Kata laluan saya tidak berfungsi
Kata laluan baru sila
Isu kata laluan
Dll.
Masalah dengan perkara di atas adalah bahawa semua frasa menggunakan perkataan "kata laluan" yang sama. Ini bermakna apabila algoritma melatih dirinya pada data ini, ia membezakan peraturan bahawa jika perkataan "kata laluan" berada dalam frasa, maka niatnya adalah "tetapkan semula kata laluan saya". Ini, tentu saja, salah. Orang boleh mengatakan banyak frasa lain tanpa perkataan "kata laluan" di dalamnya yang mempunyai makna yang sama seperti "tetapkan semula kata laluan saya". Terdapat juga banyak frasa dengan perkataan "kata laluan" di dalamnya yang tidak bermaksud "tetapkan semula kata laluan saya".
Dalam dunia algoritma, masalah ini dipanggil overfitting kepada data latihan. Algoritma ini telah terlalu sesuai dengan perkataan "kata laluan" dan oleh itu "percaya" bahawa setiap frasa dengan perkataan "kata laluan" di dalamnya bermaksud "tetapkan semula kata laluan saya".
Terdapat contoh lain untuk tujuan yang sama. Sebagai contoh, pembangun bot boleh memasukkan frasa berikut:
Kelayakan saya tidak berfungsi
Log masuk saya tidak berfungsi
Kata laluan saya tidak berfungsi
Nama pengguna saya tidak berfungsi.
Dll.
Ini, tentu saja, adalah contoh masalah yang lebih melampau, tetapi coraknya adalah perkara biasa apabila membuat data latihan. Ini sekali lagi akan menyebabkan algoritma terlalu sesuai dengan data, tetapi kali ini frasa "tidak berfungsi".
Penyelesaiannya mudah-mudahan jelas sekarang. Setiap frasa dalam data latihan perlu berbeza dengan frasa lain dalam set data. Sebagai contoh:
Kelayakan saya tidak berfungsi.
Saya memerlukan penetapan semula kata laluan.
Bagaimanakah saya boleh menyelesaikan masalah log masuk saya?
Siapa yang boleh membantu saya mendaftar masuk ke dalam sistem.
Dll.
Sudah tentu, mencipta set data seperti di atas memerlukan lebih banyak usaha. Ia juga boleh membantu untuk mempunyai tesaurus terbuka untuk mencari sinonim untuk tujuan merangsang idea untuk frasa.
Cara lain pembangun bot mengatasi masalah ini adalah dengan mempunyai akses kepada data sembang perkhidmatan pelanggan yang memberikan banyak contoh semua cara pelanggan sebenar akan bertanya soalan yang sama. Data ini boleh menjadi sangat berharga.
Terdapat persoalan tentang bila algoritma NLP akan dapat berfungsi dengan baik hanya pada set data latihan kecil. Ia pasti lebih baik untuk mempunyai bot berfungsi dengan sempurna menggunakan hanya set data kecil. Ini pasti sesuatu yang sedang diusahakan oleh penyelidik kerana ia bukan sahaja akan mengurangkan masa dan usaha yang diperlukan untuk membuat chatbots, ia akan meningkatkan kualiti mereka.
Algoritma NLP ialah kotak hitam kepada kebanyakan pembangun bot. Walau bagaimanapun, adalah penting bahawa mereka memahami asas-asas bagaimana algoritma berfungsi supaya mereka tahu jenis data latihan (data niat) yang mereka perlukan untuk memberikan algoritma untuk menghasilkan hasil yang terbaik.
Senarai Kandungan
Kekal terkini dengan chatbots AI terkini
Kongsi ini pada: