More than 5 years have passed since last update.
Watson ConversationのTutorialを日本語でやってみた (前編)
はじめに
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サービスのインスタンスを作成してツールを起動します。
- Bluemixにログインします。
カタログをクリックし、WatsonのConversationをクリックします。
👁 WS000006.JPG
サービス名:欄にconversation-tutorialと入力し、作成をクリックします。
👁 WS000007.JPG
- ダッシュボードページにて
Launch Toolをクリックします。
👁 WS000008.JPG
Log in with IBM IDをクリックします。
👁 WS000000.JPG
Create workspaceページが開きます。
👁 WS000001.JPG
Stage 2: ワークスペース作成
ワークスペースとは、サービスの動作を定義した情報を格納するためのものです。
ワークスペース内のツールを使用してConvesationサービスの設定を行います。サービスインスタンスに対応するタイルをクリックしたとき、ワークスペースがまだ存在しない場合には作成するように要求されます。ワークスペースは複数作ることができ、ワークスペースページにそれぞれタイルとして表示されます。
Create workspaceページにてCreateをクリックします。
👁 WS000001.JPG
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を作成する場合の例です。
自動車チュートリアルワークスペースページにてEntitiesタブをクリックします。
👁 WS000018.JPG
EntitiesタブにてCreateをクリックします。
👁 WS000020.JPG
Entity欄に機器と入力します。
👁 WS000021.JPG
@機器entityの値と類義語を定義します。たとえば、Value欄に音楽と入力して、さらにSynonyms欄にラジオと入力してEnterを押すと、ラジオは音楽を別の表現で言い換えることができることを意味します。
👁 WS000022.JPG
- 同様の手順を繰り返して残りの値と類義語も追加し、
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
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
