FAQ ObrolanBot
Mendapatkan jawaban secara otomatis itu ajaib!! itu AI aslinya (ingat, Tes Turing?)
Proyek ini adalah kerangka chatbot berbasis Tanya-Jawab Sederhana (kueri atom). Menggunakan kesamaan berdasarkan vektorizer yang berbeda, untuk menemukan pertanyaan yang cocok lalu menjawabnya dengan jawaban yang sesuai.
Lingkup Aplikasi:
- Permintaan besar untuk menangani pertanyaan duniawi
- Timbangan (leverage, otomatisasi, pasif)
- Tidak banyak pekerjaan di chatbot bahasa sehari-hari (melayani kemanusiaan)
Catatan:
- Chatbot ini didasarkan pada klasifikasi kategori terlebih dahulu dan kemudian kesamaan dalam kategori yang dipilih.
- Berbeda dengan framework chatbot open source yang populer, Rasa, di mana NLU didasarkan pada niat dan entitas, sedangkan manajemen dialog didasarkan pada prediksi urutan/LSTM.
- Secara konseptual ini mirip dengan QnA Maker milik Microsoft. Namun perbedaan besarnya adalah, jika Anda mendapatkan seluruh basis kode github ini, model Anda akan bersifat lokal. Tidak ada apa pun di Server. Jadi keamanan yang lebih baik terutama untuk chatbot data sensitif seperti HR atau Keuangan.
Hak Cipta (C) 2019 Yogesh H Kulkarni
Yang Harus Dilakukan
- Terapkan penyematan kalimat melalui HuggingFace atau Spacy
- Bangun platform chatbot FAQ lengkap menggunakan penyematan yang dapat dialihkan
- [Baru] LangChain + Vector Db seperti GPT-Index atau Pinecone (cloud) dapat digunakan untuk melakukan FAQ
Cara kerjanya:
- Anda memberikan FAQ dalam bentuk csv (file yang dipisahkan koma) yang memiliki Kelas Tanya-Jawab di setiap baris (misalnya "Berapa tarif GST untuk Pasta Gigi?,12,rate")
- Pertanyaan divektorkan dan selalu siap untuk dicocokkan, bersama dengan model pengklasifikasi [X=vektor(pertanyaan), y=kelas]
- Setelah kueri pengguna datang, 'kelasnya' diprediksi menggunakan model pengklasifikasi dan di dalam kelas, kueri yang divektorkan dicocokkan dengan pertanyaan yang divektorkan yang ada.
- Mana pun yang paling mirip, jawabannya akan disajikan kepada pengguna.
Skrip:
- app.py: UI Chatbot dibuat menggunakan Flask, menggunakan templates/*.html
- bankfaqs.py: Logika inti Chatbot serta basis pengetahuan.
Data Lainnya:
- faqs: file csv yang berisi pertanyaan dan jawaban
- statis dan templat: File terkait Flask UI
Untuk menjalankan:
- Jalankan app.py
- Buka http://127.0.0.1:8080/ di peramban
- Mulai mengobrol
Ketergantungan:
- Membutuhkan Python 3.6, numpy, scipy, sklearn
Referensi
- Kode bot acara Bhavani Ravi, Video Youtube
- Kode Bot FAQ Perbankan
Penafian:
- Penulis ([email protected]) tidak memberikan jaminan atas hasil program ini. Itu hanya naskah yang menyenangkan. Masih banyak perbaikan yang harus dilakukan. Jadi, jangan bergantung padanya sama sekali.