Chatbot NER adalah kerangka kerja sumber terbuka yang dibuat khusus untuk mendukung pengenalan entitas dalam pesan teks. Setelah melakukan penelitian menyeluruh terhadap sistem NER yang ada, tim di Haptik merasakan kebutuhan yang kuat untuk membangun kerangka kerja yang disesuaikan untuk AI Percakapan dan juga mendukung bahasa India. Saat ini Chatbot-ner mendukung bahasa Inggris, Hindi, Gujarati, Marathi, Bengali, dan Tamil serta bentuk campuran kodenya. Saat ini kerangka kerja ini menggunakan pola umum dan beberapa teknik NLP untuk mengekstrak entitas yang diperlukan dari bahasa dengan data yang jarang. Struktur API Chatbot ner dirancang dengan mempertimbangkan kegunaan untuk aplikasi AI Percakapan. Tim di Haptik terus berupaya menerapkan kerangka kerja ini untuk semua bahasa India dan dialek lokalnya masing-masing .
Dokumentasi terperinci tentang cara menyiapkan Chatbot NER di sistem Anda menggunakan buruh pelabuhan tersedia di sini.
Tipe entitas | Referensi kode | Keterangan | contoh | Bahasa yang didukung - kode ISO 639-1 |
---|---|---|---|---|
Waktu | Detektor Waktu | Deteksi waktu dari teks yang diberikan. | besok pagi jam 5, कल सुबह ५ बजे, kal subah 5 baje | 'en', 'hai', 'gu', 'bn', 'mr', 'ta' |
Tanggal | TanggalDetektor Tingkat Lanjut | Deteksi tanggal dari teks yang diberikan | Senin depan, agle somvar, अगले सोमवार | 'en', 'hai', 'gu', 'bn', 'mr', 'ta' |
Nomor | Pendeteksi Nomor | Deteksi nomor dan unit masing-masing dalam teks yang diberikan | 50 rs per orang, ५ किलो चावल, मुझे एक लीटर ऑइल चाहिए | 'en', 'hai', 'gu', 'bn', 'mr', 'ta' |
Nomor telepon | Detektor Telepon | Deteksi nomor telepon dalam teks yang diberikan | 9833530536, +91 9833530536, ९८३३४३०५३५ | 'en', 'hai', 'gu', 'bn', 'mr', 'ta' |
Detektor Email | Deteksi email dalam teks | [email protected] | 'en' | |
Teks | Detektor Teks | Deteksi entitas khusus dalam string teks menggunakan penelusuran teks lengkap di Datastore atau berdasarkan model kontekstual | Pesankan aku pizza , मुंबई में मौसम कैसा है | Pencarian didukung untuk 'en', 'hi', 'gu', 'bn', 'mr', 'ta', Model kontekstual hanya didukung untuk 'en' |
PNR | Detektor PNR | Deteksi kode PNR (serial) dalam teks tertentu. | PNR penerbangan saya adalah 4SGX3E | 'en' |
ekspresi reguler | Detektor Regex | Deteksi entitas menggunakan pola regex khusus | PNR penerbangan saya adalah 4SGX3E | TIDAK |
Ada pendeteksi khusus lainnya seperti kota, ukuran belanja anggaran yang berasal dari pendeteksi utama yang disebutkan di atas tetapi saat ini pendeteksi tersebut hanya didukung dalam bahasa Inggris dan terbatas untuk pengguna di India saja. Saat ini kami sedang dalam proses merestrukturisasinya agar dapat diperluas ke berbagai bahasa dan geografi, dan versi saat ini mungkin tidak akan digunakan lagi di masa mendatang. Jadi untuk aplikasi yang sudah dalam tahap produksi , kami sarankan Anda hanya menggunakan detektor primer yang disebutkan dalam tabel di atas.
Dokumentasi mendetail tentang API untuk semua jenis entitas tersedia di sini. Struktur API saat ini dibangun untuk kemudahan mengaksesnya dari aplikasi AI percakapan. Namun bisa juga digunakan untuk aplikasi lain.
Dalam aplikasi AI percakapan apa pun, ada beberapa entitas yang harus diidentifikasi dan logika pendeteksian pada satu entitas mungkin berbeda dari entitas lainnya. Kami telah mengatur repositori ini seperti yang ditunjukkan di bawah ini
Kami telah mengklasifikasikan entitas menjadi empat tipe utama yaitu angka , pola , temporal dan tekstual .
numeral: Tipe ini akan berisi semua entitas yang berhubungan dengan angka atau angka. Misalnya deteksi angka, deteksi anggaran, deteksi ukuran, dll.
pola: Ini akan berisi semua logika deteksi di mana identifikasi dapat dilakukan menggunakan pola atau ekspresi reguler. Misalnya email, nomor_telepon, pnr, dll.
temporal: Ini akan berisi logika deteksi untuk mendeteksi waktu dan tanggal.
tekstual: Ini mengidentifikasi entitas dengan melihat kamus. Deteksi ini terutama berisi deteksi teks (seperti masakan, hidangan, restoran, dll.), nama kota, lokasi pengguna, dll.
Angka, temporal, dan pola telah dipindahkan ke ner_v2 untuk portabilitas bahasa dengan logika deteksi yang lebih fleksibel. Di ner_v1, saat ini hanya entitas teks yang memiliki dukungan bahasa. Kami akan memindahkannya ke ner_v2 tanpa perubahan API besar apa pun.
Saat ini, Anda dapat berkontribusi pada ner_v2 di Chatbot NER dengan menambahkan Data Pelatihan atau dengan menyumbangkan Pola Deteksi dalam bentuk regex. Kami akan berupaya menghilangkan beberapa batasan arsitektur yang akan memudahkan proses penambahan model ML dan Entitas Baru di masa mendatang.
Silakan lihat langkah-langkah umum kontribusi, persetujuan, dan pedoman pengkodean yang disebutkan di sini.