Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

ルールベースのチャットボット

More than 3 years have passed since last update.

挨拶を返してくれるチャットボットを作ります。
ダウンロード.gif

会話の流れ ー挨拶を返す

人間「おはよう」
bot「おはようございます!」

ここまで!



【Intent】から【挨拶】の会話を開きます。
【User says】には人が入力する言葉
【Response】にはbotが返す言葉

が入るので、以下を入力して、右上の【SAVE】を押してください。

【User says】 おはよう
【Text Response】 おはようございます!(1行目のこんにちはを書き換える)

スクリーンショット 2017-12-15 10.17.37.png

【SAVE】を押してください。
右下に
スクリーンショット 2017-12-15 10.27.43.pngがでたらOKです!
(時間がかかるので注意!)

セーブできたら、右枠の【Try it now】で確認してみましょう。
以下入力。

おはよう

入力してreturnキーを押してください。
スクリーンショット 2017-12-15 10.44.44.png
おはようございます!とレスポンスがあれば成功です。





同義語定義

どんな人が入力しても「挨拶は挨拶だ」とbotがわかるようにしましょう。
より人間ぽくなります。

左メニューの【Entities】から【hello】を開きます。

スクリーンショット 2017-12-15 10.54.23.png

外国人がきてもわかるように、英語バージョンもいれてみましょう。
以下を入力します。

【Enter reference value】 Hello
【Enter synonym】 Hello  ハロー  へろー
スクリーンショット 2017-12-15 11.02.25.png

【SAVE】します。
これで「ハロー」も挨拶だとわかってくれたようなので、【Try it now】で確認してみましょう。

スクリーンショット 2017-12-15 11.07.53.png
うまく「Hello」だと認識しているようです!
ですが、レスポンスがおはようのままなので、次の項目で調整します。





返事のバリエーションを増やす

人間の会話に応じて、ボットも会話を変えてくれたら嬉しいですね。

【Intent】→【挨拶】で先ほどの会話を作る画面に戻ります。
【Response】が「おはようございます!」のままだったので、以下のように調整しましょう。

【Text response】
1 $hello!

スクリーンショット 2017-12-15 11.22.37.png

この$は、すぐ上にある【Action】の中にあるVALUEと同じです。
先ほど定義した【Entities/hello】とも同じです。

よくわからなくても大丈夫なので、【SAVE】をして【Try it now】で「ハロー」や「こんにちは」「こんばんは」と試してみましょう。

スクリーンショット 2017-12-15 11.36.38.png

入力に応じて変わっていれば大成功!
時間があれば、スペイン語の「Hola(オラ)」も認識させてみましょう。




まとめ

【Intent】では会話の構造や、流れが、細かく設定できます。
 ex.人間「おはよう」→bot「おはようございます!」 の設定
【Entitis】では、言い回しや表記揺れなど、違う言葉だけど同じ意味の単語を設定できます。
 ex.おはよう(と同じ意味):おはようございます、オハヨ、おっはー、おはよー の設定

基本的に、【Intent】のUser saysがたくさん入っていると、認識の精度が上がります。

Next

前のページに戻って、
会話のフローから FAQbotやラーメン注文botを作ってみましょう。

ume1126
文系出身がなんやかんや頑張ってみる物語 連絡先:sno909uckj@じーめーる
https://qiita.com/ume1126/items/6436a901013a4cb7a02e
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away