Help us understand the problem. What is going on with this article?

Watson ConversationのTutorialを日本語でやってみた (前編)

More than 3 years have passed since last update.

はじめに

Watson Conversation(以下、Conversation)はIBM Watsonで自動応答を実現する対話アプリケーションプラットフォームであり、サービス提供終了が発表されたWatson Dialogの後継にあたります。豊富なGUIにより初心者でもすばやくかんたんに応答システムを作成することができることが特徴です。

すでにWatson Developer CloudにはConversationのチュートリアルが用意されており、IBM BluemixからConversationを使用する手順を順を追って体験することができます。
ただし、このチュートリアルは英語なので、本記事ではこれを日本のユーザーにもわかりやすく日本語で実施してみました。

チュートリアルの前に

実際にチュートリアルを実施する前に必要最低限の事項を説明します。

自動車チュートリアル

本チュートリアルで作成するのは、自動車に搭載する応答システムをごく単純化したものです。運転手や同乗者をユーザーと想定して、ユーザーとの会話の中からユーザーの目的を認識して、適切な応答を返すという動作をします。

自動車向けということで、たとえば次のような会話をさせることが目標です。

  • 会話例(1)

    ユーザー:こんにちは。
    Watson:こんにちは!ご用件はなんでしょうか?

  • 会話例(2)

    ユーザー:ヘッドライトをつけて。
    Watson:わかりました。ヘッドライトを起動します。

  • 会話例(3)

    ユーザー:音楽を流して。
    Watson:わかりました。どんな音楽が聞きたいですか?
    ユーザー:クラシックにして。
    Watson:わかりました。クラシックを流します。

intent, entity, dialog

Conversationで応答システムを作成する上で理解しておく必要があるのは、次のintent, entity, dialogの3つの要素です。
Conversationではこの3つを定義していくことで応答システムを作成します。チュートリアルでもその流れを追っていきます。

  • intent:
    ユーザーからの呼びかけに含まれる目的です。
    Conversationはユーザーからの呼びかけを分類し、ユーザーが求めている目的を理解します。
    intentを定義するときは、Conversationがそのintentを識別できるようにするための発言例をあわせて追加します。

  • entity:
    ユーザーからの呼びかけに含まれるキーワードです。
    目的(intent)の対象物を指定するなどして目的を補足し、Conversationのユーザー目的の理解を助けます。
    entityを定義するときは、Conversationがそのentityを識別できるようにするためのentity値とその類義語(同じ意味で異なる表現)を追加します。

  • dialog:
    ユーザーからの呼びかけとそれに対するWatsonからの応答の組み合わせです。
    ユーザーからの呼びかけを受け取るとそのintentとentityが識別され、dialogの中でそれらに対応する正しい応答が選択されます。
    一度のやりとりに対応する単一のdialogであることもあれば、何回かのやりとりに対応する木構造のdialogであることもあります。

自動車チュートリアルのintent, entity, dialog

本チュートリアルで自動車チュートリアルを作成するために定義するintent, entityを示します。
dialogに関しては後編(次回)で示しますが、上述の会話例は本チュートリアルで定義するdialogの一部です。

  • intent
intent intentの用途 発言例
#起動 車載機器(ラジオ、ワイパー、ヘッドライトなど)を起動させる 明かりをつけて、音楽を流して、ラジオを流して、エアコンをつけて、ヘッドライトをつけて
#あいさつ Watsonに向かって話しかける やあ、どうも、おはようございます、こんにちは、こんばんは
  • entity
entity entityの用途 値 (※( )は類義語)
@機器 起動可能な車載機器 音楽(ラジオ)、ヘッドライト(ライト)、エアコン(空調)
@ジャンル 選択可能な音楽のジャンル クラシック(交響楽)、リズム・アンド・ブルース(R&B)、ロック(ポップ)
  • dialog

後編(次回)で説明します。

チュートリアル

いよいよ、チュートリアルを実施します。

チュートリアルは下記のような構成となっています。
- Stage 1: サービス作成
- Stage 2: ワークスペース作成
- Stage 3: intent作成
- Stage 5: entity作成
- Stage 6: dialog作成
本シリーズではこのチュートリアルを前後編に分けて実施します。
- 前編(今回):Stage 1~Stage 5
- 後編(次回):Stage 6

(※リンク先のチュートリアルでは、番号付けにミスがあるようでStage4が抜けています。本記事でもそのままこの番号に準拠します)

Stage 1: サービス作成

チュートリアルを開始するには、まずConversationサービスのインスタンスを作成してツールを起動します。

  1. Bluemixにログインします。
  2. カタログをクリックし、WatsonConversationをクリックします。
    WS000006.JPG

  3. サービス名:欄にconversation-tutorialと入力し、作成をクリックします。
    WS000007.JPG

  4. ダッシュボードページにてLaunch Toolをクリックします。
    WS000008.JPG

  5. Log in with IBM IDをクリックします。
    WS000000.JPG
    Create workspaceページが開きます。
    WS000001.JPG

Stage 2: ワークスペース作成

ワークスペースとは、サービスの動作を定義した情報を格納するためのものです。
ワークスペース内のツールを使用してConvesationサービスの設定を行います。サービスインスタンスに対応するタイルをクリックしたとき、ワークスペースがまだ存在しない場合には作成するように要求されます。ワークスペースは複数作ることができ、ワークスペースページにそれぞれタイルとして表示されます。

  1. Create workspaceページにてCreateをクリックします。 WS000001.JPG
  2. Name欄に自動車チュートリアルと入力し、Createをクリックします。 WS000002.JPG 新しいワークスペースが作成されダッシュボードのタイルとして表示されます。 WS000003.JPG

Stage 3: intent作成

Intentsタブにて下記手順により前述の2つのintentを定義します。
以下は、#起動intentを作成する場合の例です。

1.ワークスペースページにて自動車チュートリアルワークスペースタイルをクリックします。Intentsタブにワークスペースが開きます。
WS000004.JPG
2.IntentsタブにてCreate newをクリックします。
WS000005.JPG
3.Intent name欄に起動と入力します。
WS000009.JPG
4. #起動intentの発言例を追加します。たとえば、User Example欄に明かりをつけてと入力してEnterキーを押すと、発言例明かりをつけてがintentに追加されます。
WS000012.JPG
5. 同様の手順を繰り返して残りの発言例も追加し、Createをクリックします。
WS000014.JPG
#起動intentが作成されIntentsタブに表示されます。
WS000015.JPG

同様の手順を繰り返して#あいさつintentも作成します。
WS000016.JPG
WS000017.JPG

Stage 5: entity作成

Entitiesタブにて下記手順により前述の2つのentityを定義します。
以下は、@機器entityを作成する場合の例です。

  1. 自動車チュートリアルワークスペースページにてEntitiesタブをクリックします。 WS000018.JPG
  2. EntitiesタブにてCreateをクリックします。 WS000020.JPG
  3. Entity欄に機器と入力します。 WS000021.JPG
  4. @機器entityの値と類義語を定義します。たとえば、Value欄に音楽と入力して、さらにSynonyms欄にラジオと入力してEnterを押すと、ラジオ音楽を別の表現で言い換えることができることを意味します。 WS000022.JPG
  5. 同様の手順を繰り返して残りの値と類義語も追加し、Createをクリックします。 WS000023.JPG @機器entityが作成されEntitiesタブに表示されます。 WS000024.JPG

同様の手順を繰り返して@ジャンルentityも作成します。
WS000026.JPG
WS000027.JPG

おわりに(後編に向けて)

今回(前編)はStage1~Stage5を通して、サービスとワークスペースを作成した後、intentとentityを作成しました。

この状態ですでに、作成したintentとentityをWatsonとの会話において使用することができるようになっています。下記手順で確かめてみましょう。

1.Dialogタブにて右上のマークをクリックします。
WS000028.JPG
2. Enter some thing to test your bot明かりをつけてと入力しEnterを押します。続けて、音楽と入力してEnterを押します。
WS000029.JPG

以上の結果からわかるように、すでにWatsonは作成されたintentとentityを識別しています。「明かりをつけて」が機器の「起動」を要求している発言であるということ、「音楽」が起動可能な「機器」であることを理解しているのです。
ただし、現段階ではまだユーザーからの呼びかけを識別できるだけで、応答を返すことはできません。応答を返せるようになるには、dialogを作成してあげる必要があります。

次回(後編)はStage6を通して、いよいよdialogを作成します。

お問い合わせ

ご質問がございましたら、こちらにもお問い合わせいただけます。

すくすくワトソン編集室: eb17685@jp.ibm.com

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