私たちが開発した、 Transformer アーキテクチャに基づいた Discord 用のロシア語チャット ボットをご紹介できることを嬉しく思います。
ニューラル ネットワークは、1 エポック( GTX 1080で 5 日間)中に、最も人気のあるロシア語のDiscordサーバーからの3,600 万件以上の公開メッセージに基づいてトレーニングされました。トレーニングは、文字トリグラム埋め込みレベルで前の 10 メッセージの後にどのメッセージが送信される可能性が最も高いかという原則に基づいていました。
このボットは、既成のメッセージ データベースを使用しませんが、 Transformer アーキテクチャに seq2seq コンセプトを実装して、新しい固有のメッセージを生成します。ネットワークの基礎は、このTensorFlow 2チュートリアルから引用されています。
このモデルは 2019 年に関連性がありましたが、すぐに時代遅れになってしまいました。ここをフォローすると、より優れた、より現代的なものを見つけることができます。
さあ行こう!
2 x 2.6 GHz CPU + 4 GB RAMでテスト。
Install launcher for all users (recommended)
とAdd Python 3.8 to PATH
にチェックを入れる必要があります。scipy
に必要Git Bash Here
を選択して、 Git Bash を開きます。git clone https://github.com/sergree/DolboNet
cd DolboNet
pip install -r requirements.txt
実行します。config.py
構成ファイルを編集して、ボット トークンをtoken = "..."
に挿入します。python bot.py
ボットは64 ビットWindowsおよびPythonでのみ動作します。
2 x 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
を編集し、ボット トークンを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 | キーボードの上で眠ってしまった |
実験を容易にするために、 Discordに送信してこの値をその場で編集できる!temp значение
コマンドがあります。このコマンドは、管理者権限を持つユーザーに対してのみ機能します。
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のボットのステータス残りのパラメータは編集しないことをお勧めします。
☕ プロジェクトの開発に興味があれば、コーヒーを買ってきてください。 ☕
ありがとう!
こんなバカなサーバーが半分あるのに、なぜ別のサーバーが必要なのでしょうか?
しかし、真剣に考えてみると、理由は 1 つだけです。
このボットをホストしていますか?公開版でも大丈夫でしょうか?リンクを教えてください!
リンク。ボットは常に利用できるわけではなく、場合によっては応答が遅い場合があります。当社はボットの公開バージョンをホストしていません。 Discordサーバーに表示するには、インストールする必要があります。
このボットがすでに存在しているサーバーはどれですか?
ボットがすでにここでホストされていることがわかります。
このリストに掲載されるようご連絡ください。
彼は基本的に支離滅裂なナンセンスを発信しています。 ?
はい、そういうことはあります。しかし、時々それは面白いことがわかります。
これは役に立たないでたらめです、わかりますか?
確かに。私たちの現代世界の他の多くのものと同様に。
ボットが私に侮辱または脅迫を送信しました。騒乱! ?
ボットのニューラル ネットワークは、トレーニングが行われた公開データのみを反映します。おそらくこれは、私たちの社会がどうなっているのかについての警鐘です。とにかく私たちはそうしたくありませんでした。
英語はどうですか?
この段階で、ラテン語のトリグラムでネットワーク容量を無駄にしないことにしました。ラテン語は、 opendatakosovo/cyrillic-transliteration を使用して自動的にキリル文字に音訳されます。私たちは多くの同様のライブラリをテストしましたが、これが最も高速です。
なぜトリグラムなのか?
なぜなら彼は偉大で強力だからです。もちろん、このアイデアは私たちのものではなく、この本から引用したものです。
おそらくステミングを使用した方が良いでしょうか?
この場合は違います。チャットの人々は間違いを含みながら、時には無茶苦茶に話し合っているからです。時々トランスリトム、ile fse vmesti。 ?
ウィキペディアやニュースフィードを整理するのは別のことです。
彼も絵文字を送信できますか?
はい。とりあえずランダムで。すべてのカスタム絵文字には、辞書内の単一のトークンが割り当てられます。将来的には、 CNN を分類器とリンクする計画があります。
TensorFlow 2のガイドをコピーしたばかりですが、自分では何をしましたか?
LSTMについてはどうですか?
ここに残しておきます。
次は何でしょうか?
?