我們很高興向您展示我們的開發成果 -基於 Transformer 架構的 Discord 俄語聊天機器人。
該神經網路在一個 epoch ( GTX 1080上 5 天)內接受了來自最受歡迎的俄語Discord伺服器的3600 萬條以上公開訊息的訓練。訓練基於這樣的原則:在字元三元組嵌入層級上,哪一則訊息最有可能在前 10 則訊息之後發送。
該機器人不使用現成的訊息資料庫,而是產生新的獨特訊息,在 Transformer 架構上實作 seq2seq 概念。網路的基礎取自TensorFlow 2教學。
這種模式在 2019 年很有意義,但很快就過時了。您可以透過關注這裡找到更好、更現代的東西。
我們走吧!
在2 個 2.6 GHz CPU + 4 GB RAM上測試。
Install launcher for all users (recommended)
和Add Python 3.8 to PATH
scipy
所需Git Bash Here
開啟Git Bashgit clone https://github.com/sergree/DolboNet
cd DolboNet
pip install -r requirements.txt
config.py
設定文件,將機器人令牌插入token = "..."
python bot.py
該機器人只能在64 位元Windows和Python上運作。
在2 個 2.6 GHz CPU + 2 GB RAM上測試。
git clone https://github.com/sergree/DolboNet
cd DolboNet
pip3
,請安裝它: sudo apt install python3-pip
pip3 install -r requirements.txt
nano config.py
,將bot token插入token = "..."
python3 bot.py
如果機器有NVIDIA顯示卡,那麼您可以使用CUDA運行機器人,這將提高其速度。
tensorflow
: pip uninstall tensorflow
pip install tensorflow-gpu>=2.3.1
或pip install -r requirements_gpu.txt
在config.py
檔案中,您可以編輯一些參數來更改機器人的性質和行為:
temperature
- 採樣溫度 - 調節生成文本的性質和多樣性意義 | 描述 |
---|---|
0.01 | 我只知道你好這個詞 |
0.3 | 重複鸚鵡 |
0.65 | 預設 |
1.3 | 醉詩人 |
3 | 趴在鍵盤上睡著了 |
為了方便實驗,可以將!temp значение
指令傳送到Discord以動態編輯該值。此命令僅適用於具有管理員權限的使用者。
mention_prob
- 機器人回應提及它的訊息的機率。可以取0
到1
之間的值。預設值: 1
,即100%no_mention_prob
- 機器人回應未提及的訊息的機率。可以取0
到1
之間的值。預設值: 0.2
,即20%command_temperature_change
- 如果您不喜歡!temp значение
則可以更改溫度的命令?use_delay
- 模擬人類在鍵盤上打字的速度,預設為False
,因為在CPU上產生過程不夠快discord_game_name
- Discord中的機器人狀態最好不要編輯其餘參數。
☕ 如果你對專案的開發有興趣,可以請我喝杯咖啡。 ☕
謝謝你!
我有半個伺服器都是這樣的白痴,為什麼我還需要另一個呢?
但說實話,只有一個原因。
您託管這個機器人嗎?我可以使用公共版本嗎?給我一個連結!
關聯。該機器人並不總是可用,有時響應緩慢。我們不託管該機器人的公共版本。為了讓它出現在您的Discord伺服器上,必須安裝它。
哪些伺服器已經安裝了這個機器人?
我們知道機器人已經託管在這裡:
請寫信給我們以加入此名單。
他基本上是在發出語無倫次的廢話。 ?
是的,有這樣的事情。但有時結果很有趣。
這是無用的廢話,懂嗎?
當然。就像我們現代世界中的許多其他事物一樣。
該機器人向我發送了侮辱或威脅!混亂! ?
機器人的神經網路僅反映進行訓練的公共資料。也許這對我們的社會敲響了警鐘。反正我們也不想。
英語呢?
在這個階段,我們決定不在拉丁三字上浪費網路容量。使用opendatakosovo/cyrillic-transliteration將拉丁文自動音譯為西里爾語。我們測試了許多類似的函式庫,這個是最快的。
為什麼是卦象?
因為他偉大而強大。當然,這個想法不是我們的,而是取自本書。
也許使用詞幹分析會更好?
不是在這種情況下。因為聊天中的人們總是在談論錯誤,有時甚至是胡言亂語。有時是translitom,ile fse vmesti。 ?
整理維基百科或新聞提要是另一回事。
他也可以發表情符號嗎?
是的。暫時只是隨機的。所有自訂表情符號都會在字典中指派一個標記。未來,有計劃將CNN與分類器連結起來。
您剛剛複製了TensorFlow 2的指南,您自己做了什麼?
LSTM呢?
我們就把它留在這裡。
接下來怎麼辦?
?