Kami dengan senang hati mempersembahkan kepada Anda pengembangan kami - bot obrolan berbahasa Rusia untuk Discord berdasarkan arsitektur Transformer .
Jaringan saraf dilatih pada 36 juta+ pesan yang tersedia untuk umum dari server Discord berbahasa Rusia paling populer selama satu periode (5 hari pada GTX 1080 ) . Pelatihan ini didasarkan pada prinsip: pesan mana yang kemungkinan besar akan dikirim setelah 10 pesan sebelumnya pada tingkat penyematan trigram karakter .
Bot ini tidak menggunakan database pesan yang sudah jadi, tetapi menghasilkan pesan unik baru, menerapkan konsep seq2seq pada arsitektur Transformer . Basis jaringan diambil dari tutorial TensorFlow 2 ini.
Model ini relevan pada tahun 2019, tetapi dengan cepat menjadi ketinggalan jaman. Anda dapat menemukan sesuatu yang lebih baik dan lebih modern dengan mengikuti di sini.
Ayo pergi!
Diuji pada CPU 2 x 2,6 GHz + RAM 4 GB .
Install launcher for all users (recommended)
dan Add Python 3.8 to PATH
harus dicentangscipy
Git Bash Here
git clone https://github.com/sergree/DolboNet
cd DolboNet
pip install -r requirements.txt
di jendela yang munculconfig.py
, masukkan token bot ke dalam token = "..."
python bot.py
Bot hanya akan bekerja pada Windows 64-bit dan Python .
Diuji pada CPU 2 x 2,6 GHz + RAM 2 GB .
git clone https://github.com/sergree/DolboNet
cd DolboNet
pip3
belum terinstal, instal: sudo apt install python3-pip
pip3 install -r requirements.txt
nano config.py
, masukkan token bot ke dalam token = "..."
python3 bot.py
Jika mesin memiliki kartu video NVIDIA , Anda dapat menjalankan bot menggunakan CUDA , yang akan meningkatkan kecepatannya.
tensorflow
jika Anda telah menginstal dependensi: pip uninstall tensorflow
pip install tensorflow-gpu>=2.3.1
atau pip install -r requirements_gpu.txt
Di file config.py
, Anda dapat mengedit beberapa parameter untuk mengubah sifat dan perilaku bot:
temperature
- suhu pengambilan sampel - mengatur sifat dan variasi teks yang dihasilkanArti | Keterangan |
---|---|
0,01 | Saya hanya tahu kata Halo |
0,3 | Ulangi burung beo |
0,65 | Bawaan |
1.3 | Penyair mabuk |
3 | Tertidur di keyboard |
Untuk kemudahan eksperimen, ada perintah !temp значение
yang dapat dikirim ke Discord untuk mengedit nilai ini dengan cepat . Perintah ini hanya berfungsi untuk pengguna dengan hak istimewa Administrator .
mention_prob
- kemungkinan bot akan merespons pesan yang menyebutkannya. Dapat mengambil nilai dari 0
hingga 1
. Default: 1
, yaitu 100%no_mention_prob
- kemungkinan bot akan merespons pesan yang tidak disebutkan. Dapat mengambil nilai dari 0
hingga 1
. Default: 0.2
, mis. 20%command_temperature_change
- perintah untuk mengubah suhu jika Anda tidak menyukai !temp значение
?use_delay
- emulasi kecepatan mengetik manusia di keyboard, False
secara default, karena Pada CPU proses pembangkitannya kurang cepatdiscord_game_name
- status bot di DiscordLebih baik tidak mengedit parameter lainnya.
☕ Jika Anda tertarik dengan pengembangan proyek ini, Anda dapat membelikan saya kopi. ☕
Terima kasih!
Saya memiliki setengah server yang bodoh, mengapa saya memerlukan yang lain?
Tapi serius, hanya ada satu alasan.
Apakah Anda menghosting bot ini? Bisakah saya bertahan dengan versi publik? Beri saya tautan!
Link. Bot tidak selalu tersedia dan terkadang merespons dengan lambat. Kami tidak menghosting bot versi publik. Agar dapat muncul di server Discord Anda, itu harus diinstal.
Di server mana bot ini sudah ada?
Kami tahu bahwa bot sudah dihosting di sini:
Kirimkan surat kepada kami untuk masuk dalam daftar ini.
Dia pada dasarnya mengirimkan omong kosong yang tidak jelas. ?
Ya, ada hal seperti itu. Namun terkadang ternyata lucu.
Ini omong kosong tak berguna, paham?
Tentu. Seperti banyak hal lain di dunia modern kita.
Bot mengirimi saya hinaan atau ancaman! Aniaya! ?
Jaringan saraf bot hanya mencerminkan data publik tempat pelatihan berlangsung. Mungkin ini adalah sebuah peringatan tentang apa yang telah terjadi pada masyarakat kita. Lagipula kami tidak menginginkannya.
Bagaimana dengan bahasa Inggris?
Pada tahap ini, kami memutuskan untuk tidak menyia-nyiakan kapasitas jaringan untuk trigram Latin. Bahasa Latin secara otomatis ditransliterasi ke dalam Sirilik menggunakan opendatakosovo/cyrillic-transliteration . Kami telah menguji banyak perpustakaan serupa, ini yang tercepat.
Mengapa trigram?
Karena dia hebat dan berkuasa. Idenya tentu saja bukan milik kami, melainkan diambil dari buku ini.
Mungkin lebih baik menggunakan stemming?
Tidak dalam kasus ini. Karena orang-orang dalam obrolan berbicara dengan kesalahan, dan terkadang dengan kesalahan. Terkadang translitom, ile fse vmesti. ?
Menyortir Wikipedia atau feed berita adalah hal lain.
Bisakah dia mengirim emoji juga?
Ya. Hanya acak untuk saat ini. Semua emoji khusus diberi satu token dalam kamus. Kedepannya, ada rencana untuk menghubungkan CNN dengan classifier.
Anda baru saja menyalin panduan untuk TensorFlow 2 , apa yang Anda lakukan sendiri?
Bagaimana dengan LSTM ?
Kami tinggalkan saja di sini.
Apa selanjutnya?
?