2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SAP Conversational AIでチャットbotを作成してみよう

Posted at

SAP Tutorialsを参考に、SAP Conversational AIでチャットbotを作成してみようと思います。

今回はこちらのTutorialを参考にしています。

SAP Conversational AI アカウントの作成

まずはこちらの SAP Conversational AI のサイトからアカウントを作成します。

SAP IDをお持ちであれば、Sign in でアカウントを作成することができます。
スクリーンショット 2024-02-24 1.33.32.png

免責事項の画面が表示されますので、諸条件にチェックを入れて同意ボタンを押します。これで完了です。
スクリーンショット 2024-02-24 1.34.17.png

botプロジェクトの作成

アカウントの作成が完了しログインができると、ホーム画面が表示されます。
早速botプロジェクトを作成しましょう。Start With Templateボタンを押します。
スクリーンショット 2024-02-24 1.34.59.png

① "What do you want your chatbot to do?"の画面が表示されますので、Perform Actionsを選択します。
スクリーンショット 2024-02-24 13.45.08.png

② "Select predefined skills for your bot"にはTutorial に従って、Greetingを選択します。
スクリーンショット 2024-02-24 13.47.12.png

③ "Create your bot"には、¥Tutorial に従って、bot名にはmy-first-bot、DescriptionにはA bot that likes to tell jokes and have a little funを入力します。
スクリーンショット 2024-02-24 13.50.55.png

④ "Data Policy"にはTutorial に従って、Type of dataにNon-personal、Store conversation dataにはStore (recommended)を選択します。
スクリーンショット 2024-02-24 13.53.47.png

⑤ "Bot visibility"にはTutorial に従って、Publicを選択します。
最後にCreateボタンを押します。
スクリーンショット 2024-02-24 13.56.30.png

作成が完了すると、こちらの画面が表示されます。
スクリーンショット 2024-02-24 13.58.40.png

botのステージの解説

botのステージの解説がありましたので、日本語訳を記載します。
スクリーンショット 2024-02-24 14.02.56.png

Train:botが理解する必要があることを教えます。ここでは、botがユーザーからの表現を認識すべきであるというアイデア、つまりintentsを作成します。

Build:私たちのBot Builderツールで会話の流れを作成します。ここで、botが実行できるスキルを与えます。ここでは、botができること(スキル)を作成し、それらがトリガーされるタイミングを定義します。スキルはトリガー、要件(ボットが収集する必要がある情報)、およびアクションによって定義されます。

Connect:botを一つまたは複数のメッセージングプラットフォームに展開します。

Monitor:ユーザーがbotと、どのようにコミュニケーションを取っているかを確認し、botがユーザーを正しく理解しているかをチェックし、botのintentsやentitiesを更新します。モニタリングはまた、ユーザーが何を求めているかを見ることができ、ボットに追加できる新しい機能のアイデアを提供します。

IntentとEntityについては、ChatGPTの回答をご参考ください。

Intentは、ユーザーの発言または質問の目的を表します。つまり、ユーザーが何をしたいか、何を求めているかということです。例えば、ユーザーが「今日の天気は?」と尋ねた場合、そのIntentは「天気を知りたい」という意図を示しています。チャットボットはこのIntentを識別し、適切な天気情報を提供することで応答します。

Entityは、Intentに関連する具体的な情報やキーワードを指します。これは、ユーザーの質問や発言から抽出される具体的な詳細や条件です。先の例で言えば、「今日」という言葉は「天気」というIntentに関連するエンティティです。エンティティによって、チャットボットはユーザーが求めている情報をより正確に理解し、より具体的な応答を行うことができます。

IntentのFork

最初にForkの概念をChatGPTに聞いてみました。ソフトウェアやプロセスの分岐の意味でも使われますが、ここではGithubにおけるForkの概念が正しいと思われます。

Forkとは、他人のリポジトリを自分のGitHubアカウント下にコピーすることを指します。このプロセスにより、オリジナルのリポジトリに影響を与えることなく、コピーされたリポジトリで自由に変更や実験を行うことができます。Forkされたリポジトリは独立しており、オリジナルのリポジトリには自動的には反映されません。

Serchボックスにjokeと入力して、Serchボタンを押します。
スクリーンショット 2024-02-24 16.28.31.png

いくつかIntentのリストが表示されますので、@ask-jokeが付いているものの中から1つを選んでForkを押します。(Tutorialと同じものは私は表示されませんでした。)
スクリーンショット 2024-02-24 16.32.37.png

Intentが追加されました。
スクリーンショット 2024-02-24 16.50.10.png

登録されたIntentをクリックすると、登録されているExpressionを確認できます。
スクリーンショット 2024-02-24 16.51.16.png

Intentの新規作成

Intentを新規作成するには、New Intent ボタンを押します。
スクリーンショット 2024-02-24 16.54.53.png

Let's create your intentの画面が表示されますので、Tutorialに従いIntent名にlaughs、Your intent description (optional)の欄にA natural reaction to our awesome jokes.を入力し、Create Intentボタンを押します。
スクリーンショット 2024-02-24 16.56.44.png

同様に、Intent名にlame、Your intent description (optional)の欄にYou can’t succeed every time.を入力し、Create Intentボタンを押します。
スクリーンショット 2024-02-24 17.01.03.png

作成したIntentがリストに追加されました。
スクリーンショット 2024-02-24 17.03.24.png

Expressionの追加

作成したIntent(意図)にExpression(表現)を追加していきます。
作成したIntent@laughsをクリックし、Tutorialに従い以下の文章を一行ずつ入力してEnterを押します。
右側のImport Expressionsボタンは、csvファイルにした一覧を一括で取り込む場合に利用します。

Hahaha that's hilarious
ROFL you're good!
That, my friend, was an amazing joke.
I haven't laughed that much in a long time!

スクリーンショット 2024-02-24 17.05.29.png

追加したExpression はリストに追加されていきます。
スクリーンショット 2024-02-24 17.10.16.png

同様にIntent@lameをクリックし、Tutorialに従い以下の文章を一行ずつ入力してEnterを押します。

You have no sense of humor whatsoever.
That's both terrible and offensive.
What the heck was that?
Try harder, that was a very bad joke.

スクリーンショット 2024-02-24 17.12.59.png

botのテスト

画面右上のTrainボタンを見るとステータスが黄色になっています。最新のIntentとExpressionを学習できていない状態ですので、Trainボタンを押して最新の情報にアップデートします。
スクリーンショット 2024-02-24 17.14.50.png

数秒まつとステータスがグリーンとなり学習が完了した状態になります。
スクリーンショット 2024-02-24 17.18.31.png

トレーニングモードはSetting -> Versions -> ドロップダウンぼたん -> Training Modeから、AUtomaticとManualを切り替えることができます。
スクリーンショット 2024-02-24 17.20.54.png
スクリーンショット 2024-02-24 17.21.37.png

画面右下のExpression Analysisタブを開きます。
スクリーンショット 2024-02-24 17.24.27.png

Tutorialに従い、Botty bot, can you tell me a joke please?を入力しEnterを押します。もしIntentがうまく学習されていれば、テストはbotがそのIntentを認識したことを示すでしょう。
スクリーンショット 2024-02-24 17.26.03.png

スキルを使った会話の流れの管理

Buildタブをクリックすると、以下の画面が表示されます。
スクリーンショット 2024-02-24 17.31.07.png

スキルとは?
各スキルは、botが実行できる1つのことを表します。スキルは複雑なもの(例:クレジットカードによる支払いの管理)から、非常にシンプルなもの(例:基本的な質問に答える)まで様々です。意図(Intents)と同様に、スキルはゼロから作成することも、作成した他のbotや他の人のbotからスキルを継承することもできます。

ここで事前定義されたスキル「Greetings(挨拶)」を選択して確認してみましょう。
Greetingsスキルは、すべてのスキルと同様に、4つのタブを持っています:

README.md: スキルの目的の説明
スクリーンショット 2024-02-24 17.37.32.png

Triggers(トリガー): スキルが実行されるために発生しなければならない条件 - 一般的にはユーザーが表現しなければならない意図
スクリーンショット 2024-02-24 17.37.39.png

Requirements(要件): スキルが実行されるために収集されなければならない情報
スクリーンショット 2024-02-24 17.37.46.png

Actions(アクション): 実行するアクション(基本的にこれがスキルです)
スクリーンショット 2024-02-24 17.38.00.png

スキルの新規作成

スキルの作成を行います。BuildタブのAdd skillを押します。
スクリーンショット 2024-02-24 17.41.35.png

Tutorialに従い、Nameにtell-me-a-jokeを入力、TypeにBusinessを選択し、Addボタンを押します。
各Typeの説明の翻訳は以下になります。
Businessは、ボットの核心的な目的を反映しています。
Floatingは、ボットの核心的なビジネススキルを補完します(例えば、雑談など)。
Initialize(チャットボットには1つだけ存在できます)は、ユーザーとの会話が開始されたときにトリガーされます。
スクリーンショット 2024-02-24 17.44.17.png

作成されたスキルtell-me-a-jokeをクリックします。
スクリーンショット 2024-02-24 17.50.04.png

Triggersタブをクリックします。
スクリーンショット 2024-02-24 17.53.16.png

Ifの右側の空白を押すと、空白の下にリストが表示されます。そこから@ask-joke -> Saveボタンの順にクリックします。
スクリーンショット 2024-02-24 17.55.43.png

@ask-jokeが追加されました。ボタンを押して、同様に@laughslameも追加します。
スクリーンショット 2024-02-24 17.58.23.png

ANDボタンをどれか一つ押します。
スクリーンショット 2024-02-24 17.59.27.png

すると一括でANDが全てORに変更されます。
スクリーンショット 2024-02-24 18.00.18.png

Actionsタブに移動し、New Action Groupボタンを押します。
スクリーンショット 2024-02-24 18.03.26.png

ADD CONDITION to trigger actionsを押します。
スクリーンショット 2024-02-24 18.07.31.png

Ifの右側の空白を押すと、空白の下にリストが表示されます。そこから@ask-joke -> Saveボタンの順にクリックします。
スクリーンショット 2024-02-24 18.07.57.png

Choose Message Typeを押します。
スクリーンショット 2024-02-24 18.08.11.png

Textを選択します。
スクリーンショット 2024-02-24 18.09.39.png

Tutorialに従い、I just flew into town, and boy are my arms tired.を入力し、Saveボタンを押します。
スクリーンショット 2024-02-24 18.10.32.png

Saveボタンを押すと以下の画面になります。
スクリーンショット 2024-02-24 18.11.15.png

チャットbotのテスト

チャットbotをテストをするには、画面右下のCHat Previewタブを開きます。
スクリーンショット 2024-02-24 18.19.13.png

Tutorialに従い、Tell me a jokeと入力してEnterを押します。意図した結果が返されました。
スクリーンショット 2024-02-24 18.20.14.png

あとがき

これで今回の記事は終了です。お疲れ様でした。
ITの技術スキルは殆ど必要としませんでしたが、面白いので色々試してみたいと思います。もちろん日本語も。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?