Saya ingin mulai bereksperimen dengan jaringan saraf dan sebagai masalah mainan saya ingin melatih satu untuk mengobrol, yaitu menerapkan bot mengobrol seperti cleverbot. Lagipula tidak sepintar itu.
Saya mencari-cari beberapa dokumentasi dan saya menemukan banyak tutorial tentang tugas-tugas umum, tetapi sedikit tentang topik khusus ini. Yang saya temukan baru saja mengekspos hasilnya tanpa memberikan wawasan tentang implementasi. Orang-orang yang melakukannya, apakah itu cukup dangkal (halaman dokumentasi tensorflow pada seq2seq kurang imho).
Sekarang, saya merasa saya mungkin telah memahami prinsip ini kurang lebih tetapi saya tidak yakin dan saya bahkan tidak yakin bagaimana memulainya. Jadi saya akan menjelaskan bagaimana saya akan mengatasi masalah dan saya ingin umpan balik pada solusi ini, memberi tahu saya di mana saya salah dan mungkin memiliki tautan ke penjelasan rinci dan pengetahuan praktis tentang proses tersebut.
Dataset yang akan saya gunakan untuk tugas ini adalah dump semua riwayat obrolan facebook dan whatsapp saya. Saya tidak tahu seberapa besar itu tetapi mungkin masih belum cukup besar. Bahasa target bukan bahasa Inggris, oleh karena itu saya tidak tahu di mana harus cepat mengumpulkan sampel percakapan yang bermakna.
Saya akan menghasilkan vektor pemikiran dari setiap kalimat. Masih tidak tahu bagaimana sebenarnya; Saya menemukan contoh yang bagus untuk word2vec di situs deeplearning4j, tetapi tidak ada untuk kalimat. Saya mengerti bagaimana vektor kata dibangun dan mengapa, tetapi saya tidak dapat menemukan penjelasan lengkap untuk vektor kalimat.
Dengan menggunakan vektor pemikiran sebagai input dan output, saya akan melatih jaringan saraf. Saya tidak tahu berapa banyak layer yang seharusnya, dan yang mana yang harus layer lstm.
Maka harus ada jaringan saraf lain yang mampu mengubah vektor pemikiran menjadi urutan karakter yang menyusun kalimat. Saya membaca bahwa saya harus menggunakan padding untuk menebus panjang kalimat yang berbeda, tetapi saya kehilangan cara menyandikan karakter (apakah cukup codepoint?).
Menurut konsep proyek Anda, sebagai permulaan, saya akan meminta Anda untuk menerapkan beberapa teknik pengembangan yang digerakkan oleh tes. Pertama, cobalah untuk membuat database berukuran lebih kecil yang dapat Anda gunakan untuk menangani sejumlah kecil dataset, yang dapat memberikan peningkatan yang diinginkan.
Yang mengatakan, gunakan database itu untuk membuat pohon terorganisir sejalan dengan data Anda, sebagai node. Jadi jika bot mulai menghasilkan beberapa umpan balik, dari database, ditandai dengan titik data dari dataset yang ditentukan Anda. ke simpul berikutnya di pohon.
catatan : Sebagai permulaan, jangan gunakan riwayat obrolan besar Anda secara keseluruhan, karena ini adalah tugas yang sederhana..ie.t terlalu banyak input == Overfitting.
sumber