MinatoNote

技術とか運営とか

【第一回】Discord上で動作する学習するチャットボットを作りたい。

GoogleDialogFlowを勉強する

さて、dialog flowというチャットボットがあるらしい。
そんで今回はそれをいじっていく。

なお、最終的にGoogle DialogFlowは使わない。

これはなに

受け答えとかができるチャットボット。詳しくは検索して欲しい。

環境

discordbot上で動かしてみたい。

ちなみに

dialog flowの予備知識は一切ない。
また、なんでこんなのをやろうかと思ったのかについては、メルカリの開発ブログ「mercan」に感化されたからです。

感化された記事

メルカリに「AI社員」が入社! 翻訳から日々の業務サポートまで大活躍中 #メルカリな日々 | mercan (メルカン)

概要

dialog flowの概要について話そうと思ったんですが、わたしが話すよりも圧倒的にこの記事がわかりやすかったので参照して欲しい

yutakami.work

呼び出しタイミング

Discord上で/talk [本文]という投稿があったときにdialog flowで反応するようにしよう

作っていく

dialog flowに登録

Googleアカと紐付けるだけなので超簡単。たぶん猿でもできる。

agentを登録

まぁアプリのことだと思っていい。 トップページから簡単にできる。

Entitiesを登録

反応したい言葉の別名を登録する感じ。

  • Entity name
    エンティティの名前。わかりやすい感じで。
  • reference value
    関連付ける言葉の親
  • synonym
    親に関連付ける言葉

親と子の関係について、簡単に書くと 親がモバイルバッテリーだとして、その子供は、モバイルバッテリーの別名(みんなが呼んでるやつ)だとして「モバブ」「バッテリー」「電池」
要するにこんな感じ。
わからなかったらdialog flowは向いてないかもしれない。

Intentsを登録

「Create Intent」でインテントを追加
Intent nameに適当な名前を追加
Training phrasesのadd user expressionに、さっき登録したreference valueを書く そしたらEntitiesと紐づくので、Responsesのところに、botの返答を書きます。

こんな簡単に、基本のbotができちゃった。

飽きる

そんなこんなでdialog flowを勉強していたわけですが、なんか飽きちゃった。
あとdiscordで実装するときはいろいろ面倒くさそうだなっておもいました。

なんで路線変更。自作チャットボットを作ります。

次回に続く