それ、面白いアイテムですね!

パソコンやIT、ガジェットなどについて綴るよ!

それおも

【第3回:表記の揺れ編】チャットボットの作り方。DialogFlowで簡単作成!



チャットボットの作り方シリーズの記事を読む

はじめに

チャットボットの作り方。DialogFlowで簡単作成!シリーズの第3回目となります。

第2回目は👇こちら。 soreomo.com

前回は「おはよう」と聞くと「おはよう!元気ですか?」
と、「一つの質問に一つの回答」を学習させました。

第3回目からはさらに一歩踏み込んで、下記のようなやりとりができるように学習させます。

ユーザーからのフレーズによってチャットボットの回答を変える

今回実装するやりとりを

  • 「ユーザー役」をりおれちゃん

  • 「うぇいくぼっと」はうぇいく

でやってみるよ。

おはよう!

おはよう!
いきなりだけど「かっこいい犬」と「可愛い犬」ならどっちが好き?

わたしはキュートな犬かな

可愛い犬が好きなあなたにおすすめの犬種は「シェットランドシープドッグ」です

ここまで学習させると一気にチャットボットらしさが出てきますよね。

マスターできたら、楽しくチャットボットを作成できると思います♪

表記の揺れを学習させる 「Entities」

先程のりおれちゃんとうぇいくボットのやりとりの中に、一点だけちょっと嫌がらせなフレーズがありましたが、わかりますか?

わたしは「キュート」な犬かな

この「キュート」という部分ですね。

BOTが「かっこいい」or「可愛い」と二択で聞いているのに、ユーザーからは「キュート」と答えています。

前回「おはよう」に対する類語をいくつかトレーニングフレーズに入力しておけば対応可能でしたが、 「Intents」を作成するたび、毎回トレーニングフレーズを設定するのが面倒だと思います。

そこでEntitiesを利用します。

「Entities」の設定

Entitiesとは

Entitiesとは「似通ったフレーズをすべて同じひとつの単語として取り扱う」ものと定義して、「表記の揺れ」「ブレ」を修正できます。

例えば、「おっはー」「おはよ」「グッドモーニング」は全て同じ意味ですよね。どの単語でBOTに投げかけても「おはよう」として取り扱ってくれます。

その他の例:「大きい」→「おおきな」「ビッグ」「でかい」「でっかい」「巨大」


このように表記の揺れを設定することで、回答者が「可愛い犬」のことを「キュートな犬」と言い回しを変えたとしても、BOTは「可愛い犬」と認識して回答をすることができるようになります。

Entitiesの実装

実際に設定をしていきます。
今回は「cool」という名前のEntitiesを作成して、「格好いい」「スタイリッシュ 」「格好良い」などの言葉はすべて「かっこいい」と置き換えるように設定します。

左メニューより「Entities」を選択します。



次にEntities名をつけて、下記の部分をクリックします。

名前は「cool」として、「Click Here to edit entry」をClickします

定義する言葉には「かっこいい」、設定したい言葉には「格好いい」「カッコいい」「スタイリッシュ」など類語を思いつく限り入力します。
👇こんな感じになります。順番はどのようにしてもOKです。

漢字とひらがなは両方セットしておくといいよ!



ここまで出来たら、右上の「SAVE」を押して、完了となります。

次は「可愛い犬」を定義します。
先程の「cool」Entitiesと同じ手順で「cute」を設定します。


回答者の気持ちを考えると上手に作れるよ♪


ついでに、「おはよう」も設定しておいて下さい。



次回の記事では「おはよう」とか「おっはー」と言われると、質問を投げかけるChatbotをつくります。

おわりに

今回はEntitiesの設定を行いました。
単語によってはたくさんの言い回しを設定しておかないと、「よく分かりません」とBOTが答える頻度が高くなります。
色んな類語を入力して、賢いBOTにしましょう♪

次回は「分岐設定」となり、相手の回答によって答える内容が変化する学習をします。

いよいよチャットボットらしくなりますね


チャットボットの作り方シリーズの記事を読む


Amazonギフト券でお得にお買い物♪