ャットボットワトソンさん、育成開始。

はい、そういうわけでございまして。
今日も元気にAIイジりをやっていこうと思います。

そうそう!

既にみなさまもサイトの違和感にお気付きかと思いますが、
画面の片隅に、チャットボットワトソンさん(v0.8)を導入してみましたよ!

「出会いのあいさつ」「別れのあいさつ」の設定を入れていますので、是非遊んでみてくださいね。
(逆にそれしか入っていないので、それ以上のことを聞くと寝たフリをします)

ではでは、今回はそんなワトソンさんの設定の裏側を見ていきましょう。
ワトソンさん、よろしくお願いしまーす。

アシスタントの設定

前回は「Watson Assistantツール」を立ち上げたところまででしたね。
なにやら「Assistants」「Skills」というふたつのタブがあったのでした。

では、今回はこのひとつずつのタブについて「新規作成&設定」を行ってみることにします。

まずは、「Assistants」から。

画面上にざっくりとした説明が英語で書かれていますので、とりあえずGoogle先生に翻訳してもらいましょうか。


アシスタントとは
アシスタントは、顧客がタスクを完了して情報をより早く取得できるように支援します。要求を明確にし、知識ベースから回答を検索し、必要に応じて顧客を人間に誘導することもできます。


ほほーう、サッパリですな。

こうやって書かれると逆にわかりにくいのですが、
アシスタントというのは「ワトソンさん自身」のことを指しています。
WatsonによるAssistant機能、ですので、「アシスタント」と言えばこの機能の「主役」なわけです。

この後様々な設定を行うのですが、最終的にはそれらをひとつの「アシスタント」に紐付けることになります。
さらに、Watson Assistantでは、そんな「アシスタント」を『複数』構築することができるのです。

例えば、ウチのサイトで言うと、

・お客さまからの質問全般に答える「総合案内ワトソンさん」
・AIについての質問に特化して答える「AI案内ワトソンさん」
・ワタシの個人的な質問に特化して答える「管理人紹介ワトソンさん」

こん感じに、
「ワトソンさんを複数用意して、各々を特定のページに登場させる」ようなことができるわけですね。

少しだけ技術的なお話をすると、
各アシスタントに個別の「ID」「URL」が用意されているので、
外部からアクセスする際はそれらを使って各々識別ができる、という感じです。

ではでは、予め用意されている「My first assistant」というアシスタントは置いておいて、
「Create assistant」ボタンから、新しいアシスタント「ワトソンさん」を作ってみましょう。

よろしくねっ、と。

スキルの設定

次は、「Skills」に移動します。

まだアシスタントの中身が空っぽなのですが……実は事前にこちらをやらないと設定が進められないのです。

ということで、まずはGoogle先生の翻訳から。


スキルとは
スキルはあなたの顧客の質問に答えるためのトレーニングを含みます。アシスタントにスキルを追加してから、自分のチャネルに展開します。


スキル、日本語では「技術」となりますね。
会話用のチャットボットであるワトソンさんにとっては、「会話技術」と読み替えるのが良さそうです。

「トレーニング」なんて書かれると、なんだかワタシ達人間のためのものに感じますが、
この場合は「ワトソンさんがお客さまからの質問に答えるためのトレーニング」と考えるとシックリ来ます。

前回お話ししたように、
チャットボットは人間が質問に対する答え方を教えていくことで育つ「人工無能」ですので、
Watson Assistant上では、この「AIに答え方を教えていくこと」を「トレーニング」と呼んでいるようです。

予めいくつかのトレーニングが用意されていますので、それらを使ってワトソンさんを育てることも可能ですよ。

こちらのスキル、もといワトソンさんの会話技術は、いくつかの要素に分けて組み立てていきます。
その要素が、タブになっている「Intents(インテント)」「Entitie(エンティティ)」「Dialog」です。

それではGoogle先生ー、よろしくお願いしまーす。


インテントとは
インテントを作成することによって、あなたはあなたのアシスタントが顧客の質問や目標を認識するように訓練します。そして、あなたは彼らが探しているものを人々が言うさまざまな方法を追加することによってそれらを強化することができます。

エンティティとは
エンティティは名詞やキーワードのようなものです。それらは顧客の要求の特定の性質を識別するために働きます。事業体でビジネス用語を作成することによって、アシスタントはより幅広い種類のクエリに対して的を絞った回答を提供できます。


3つ目の「Dialog」は、「ダイアログ」つまり「対話」のことですね。
最終的には、このダイアログの機能で会話のやり取りを組み立てていきます。

……が、その前の「インテント」「エンティティ」をなんとかしておきましょうか。
このままじゃサッパリですし。

アレコレ調べて、ワタシなりにまるっとまとめてみたところ、

・インテントは「質問」「目標」の言葉通り、「人間の質問の意図(何をしたいか)」を認識する要素
・エンティティは「名詞」「キーワード」の言葉通り、「したいことの中の具体的な対象」を認識する要素

という感じでした。ぷっはー!ムズカシイ!

例えば、天気の質問をワトソンさんにするとして。

「天気を教えて」というのはインテント。(何をしたいかをワトソンさんに認識させる)
「今日の」「那覇市の」というのはエンティティ。(具体的な対象をワトソンさんに認識させる)

だそうです。
この辺りの違いは、生まれたてのワトソンさん(&手探り中のワタシ)には相当荷が重いので、
今後設定をしながら見ていくことにして、今回は「インテント」だけ設定をしておきますね。

インテントの設定は、まず「名前」を付けて。
その中に、「ユーザー例」を入れていきます。「Add example」ボタンをポチポチと。

こんな感じ。

この設定をすることで、「ユーザー例」と同じ言葉を言われたら「あいさつ」だと認識する。
そんな感じにワトソンさんがトレーニングされます。

Watson Assistantツールでは、画面右上に「Try it」ボタンが用意されていて、
いつでもワトソンさんのリアクションを確かめることができます。やってみましょうか。

試しに「やあ」と入れてみると……。

「あいさつインテント(#あいさつ)」と認識しましたね。
ちなみに、「やあ!」でも同じく「あいさつインテント」と認識します。賢い!

こんな感じで、まずはインテントを増やしていくことが、ワトソンさんトレーニングの第一歩です。

ダイアログの設定

では、特定のインテントが認識されたら、次にどう「返信」するか。
それを設定するのが、この「ダイアログ」タブです。

タブを開くと、最初から「ようこそ」「その他」が設定されています。

これは、
「ワトソンさんが起動した時に発するメッセージ」と、
「ワトソンさんが質問を認識できない時に発するメッセージ」ノード(会話のポイント)です。
必ずと言ってもいいほど使うものなので、予め用意がされている、というわけですね。

では、上にある「Add node(会話のポイントの追加)」ボタンを押して、ノードを追加してみましょう。

「ようこそ」ノードの下に新しいノードが追加されました。

まずは、「名前」を入力しましょうか。
今回は「あいさつ」と設定してみました。

次に、「If assistant recognizes(もしワトソンさんが〇〇と認識したら)」プルダウンを開きます。
先程設定した「あいさつインテント(#あいさつ)」を探して選択します。

最後に、「Then respond with(〇〇と返信します)」欄「Text」にして、
「Enter response text」欄にメッセージを入力すれば、OKです。

はい!これで超簡単な会話の流れ(ダイアログ)が出来上がりましたよ。

ではでは、一旦「Assistants」タブまで戻って、
先程作った「ワトソンさん」アシスタントを選択、
「Add dialog skill」から、今作ったダイアログを選択します。

これで、チャットボットワトソンさんができました!

ふー!専門用語と画面機能を覚えるのが大変ー!

今回はここまで!

こんな感じで設定したワトソンさんを、現在こちらのサイトに設置しています。
まだまだ「出会いのあいさつインテント」「別れのあいさつインテント」の設定のみ、という状態ですが。

まずは、スキルをしっかり作り込むことが最初のステップですね。
というか、「スキル向上がチャットボットの性能を左右する」ような気がしてきました。なるほどー。

では次回は、インテントに加えて、エンティティも設定してみることにしましょう。
上で書いたように「サンプルスキル(トレーニング)」も用意されていますので、そちらもチェックしてみます。

よーし、ワトソンさん。

これから会話トレーニング、頑張っていきましょうね!