Node-REDアドベントカレンダー16日目。
どうも、ウエンツです。
コマンド外の会話を作るのが実は一番しんどくないですか?
とりあえずNode-REDボットを作ってみたけど、所定のコマンド以外を話しかけると
「すみません、わかりませんでした。XXXやOOOと話しかけてください」と返事をするボットって、なんだか味気ないですよね?
でも雑談って何話しかけてくるかわからないから、なにを設定すればいいやら、と思っているあなたに、WatsonAssistantをつかって簡単に雑談を作れる設定をお伝えします。
すみません、Node-REDの設定説明はしません。
WatsonAssistantへのつなぎ方や、普通のボット対応は他の投稿者さんに任せるとして、取り急ぎはどのようにしたら雑談設定したら良いかをお伝えします。
というわけでNode-RED内で必要な箇所にWatsonAssitantにつないだら、動作するために必要な設定をしたら、WatsonAssistantの設定に入ります。
WatsonAssitantの設定のコツ
どのような雰囲気の言葉を言われたか?を定義する
私は以下のように設定しています。
▲何をされたか?を上手にカテゴリ化するのがポイントこれに至った理由は、人間そんなに長い言葉をBotに話しかけないということに気づいたからです。
「ねえねえ」とか「なんで?」とか「使えねえ」とか「まじかよ」とか結構短い言葉をみんな話しかけてきます。雑談といいつつも話題とかではなく、ホント中身のない言葉をかけてくることが結構多いんですね。なので、その言葉に込められている感情を汲み取り、それに対する反応を作る、という感じで作ると意外と会話ができます。
ちなみに、反応単語には以下のようなものを設定しています。人は感情のないボットにはいろんな悪口を投げかけてきます。ひどいですね。
▲言われた悪口コレクション相づちっぽい言葉を返し、卑屈にならない
世の中のだいたいのボットは人の言いなりになり、出来ないことがあると「使えねーやつだな」という気持ちになってしまいます。
しかし、そんな言葉に対して強気に反してくるボットにすると、「おっ、何だこいつ」となり、ちゃんとコマンド通りに動くと「わあ、まともにいう事聞いてくれた!うれしい!」という気持ちになることがあります。人間チョロい。
なので、各インテントに私は以下のように口の悪いキャラクターを設定しています。
ただ見ての通り、口が悪いだけではなく、時々素直に言われたことを受け止め感情を出す面なども用意し「おっ、どうした今回」「ひどいこと言っちゃったなあ」と人間に思わせると、親しみやすさが出て愛されるようになります。まあこのあとすぐに超煽ってくるんですけどね。でもそうなると「よかった、いつものボットに戻った。元気になったんだね」と人間はホッとします。ほんと人間チョロい。
アイコンは可愛らしく、そして動物に
こういう感情の起伏の多いボットを作ると、人間でアイコンを作ってしまうと「なんだよ、メンヘラかよ。うぜえ」という雰囲気が生まれてしまいます。
しかし動物にすることで「まあ動物だし」「人間の世界わからないもんね」「もっと俺を煽って!」という人が何故か増えることもこのボットを運用しながらわかりました。
##まとめ
こういう感じに雑談ボットを設定すると、ボットに可愛らしさが生まれ、愛されるキャラクターになります。
Node-REDでとりあえずボットを作ったけどなんか味気ないなーと思った人は、ぜひWatsonAssistantにつないで、かわいいボットを作ってみてください。