Personal Insights
SAP Conversational AI を学んでみた
悩んでいること
SAPの購買発注画面の入力が複雑で、ユーザが正しい選択をするのが難しい、とよく言われてしまいます。
いえいえ、慣れれば大丈夫ですよ、と気軽に言いたいところですが、そもそもユーザにとっては「どの項目を選択すべきか?」の運用ルールが理解しづらい、という話もあります。ここで選択すべき項目を間違えて、後続の仕訳の勘定コードや費用賦課部門に影響が出ると、経理部門での月次処理がますます大変になってしまいます。かといって、承認フローのすべてに経理部門を通す、というのも発注のリードタイムを考えると、業務上厳しい。しかも、経理部門の負担になってしまう…。
どうにかユーザさんの入力をサポートできるような、難しくなさそうなUIはないかなあ、と思い、チャットボットに目を付けました。
この記事は SAPアドベントカレンダーの12月7日分の記事として投稿しています。
SAP CoPilot or SAP Conversational AI?
S/4HANA Cloud の環境にCoPilotがくっついているので、最初はここに実装するのかな?と思っていました。しかし、
- SAP CoPilot Skill Builder は S/4HANA Cloud では使用できない
- 英語にしか対応してない
のでそもそも不可でした。
まずは、SAP Conversational AI の openSAP を受講した後、チュートリアルをやってみました。
今回はそこでの学びのメモをシェアします。
チュートリアルやってみた①
Create Chatbots with SAP Conversational AI
作ったもの
宅配サービスをやっている会社の顧客向けBot
できること
- 荷物番号から荷物の宛先をGoogleマップで表示する
- 送りたい荷物の大きさから料金を教えてくれる
学んだこと
- 処理に必要な情報が会話の中にない場合、情報を引き出すためのリプライの設定がRequirementsからできる。
- メモリに情報をセットして、メッセージ出力につかう。
- Entity の値に、Enrichments タブからJSON情報を付加できる。今回ここに価格を設定。
- Webhookで既存の外部サービスにつないで、場所をGoogleマップのサムネイルで表示させたりできる。
- メジャーな Intent (@yesとか)は公開Botを検索してfork できる。(おそらくほぼ英語)
- 色々な形でリアクションを返せる。(チュートリアルの中で色々使いました)
チュートリアルやってみた②
Use Scripting to Design a Chatbot Message from an API Response
作ったもの
顧客がカテゴリから商品を選んで注文できるBot
(私の成果物イメージにちょっとだけ近い)
できること
- 挨拶すると初期メニューにあたるカードが表示される
- カテゴリのリストを選ぶとそこに含まれる商品が価格付きでリストされる
- 商品リストから商品をボタンで選ぶと、チェックアウトしますか?ときかれて、名前と住所とメールアドレスを確認される
学んだこと
- APIの使い方。情報取得のときはPOSTからGETにする(はまった)
- APIから取得した値を、JSONのスクリプトを通じて良い感じに出力している
- スキルのアクションとして別のスキルを呼べる
チュートリアルやってみた③
Consume API Services and Call Webhooks from Your Chatbot
作ったもの
APIとWebhookの違いをデモするためのシンプルBot
できること
- 動物の名前を入れると豆知識を教えてくれる
- 場所の名前を入れるとGoogleマップのサムネイルが表示される(①と同じWebhook)
学んだこと
- WebhookのベースのURLが設定できること
- Webhookの場合は、CAIが受け取れる形のJSONで返す必要がある(APIのときはスクリプトで成形)
日本語チャレンジ
日本語でのBot作成もチャレンジしてみました。
- Bot新規作成時の事前定義インテント(あいさつとか)が日本語にはない
- チュートリアル②で見た目は日本語にしたけど動かなかった(おそらく渡す値が日本語になってしまってAPIにうまく渡せていない)
↑ この先が上手く処理できなかった
今後の課題
- S/4HANA Cloud のAPIにつなげてみる
- APIから取得したデータを利用するためのスクリプトの書き方を知る
- create-po というスキルをもつBotをforkできたので研究する
- 会話型ボット構築のベスプラを理解して設計する(このブログも)
- S/4HANA Cloud の CoPilotにつなげるのは無理そうなので、Teamsなどに公開することを検討する
- iRPAにはどうつなげるのか?(これもAPI?)
まとめ
にわかではプロトタイプと呼べるところまでたどり着けませんでしたが、openSAPとチュートリアルだけで、かなり理解が深まるのはありがたいなと思います。
引き続き、悩みごとの解決のために研究を続けます!(続く)
追記:
今回は公式チュートリアルの話ばかりしてしまいましたが、日本語の参照ブログもたくさんあります。
SAP Conversational AI (CAI) を利用したチャットボットの作成と事例紹介 – Part1
Dear Mino Kato,
That's a great overview of possibilities and challenges! We are developing our internal product for SAP Conversational AI since July, 2018 and we've passed through many challenges already, like, language support (with working sentiment analysis in all languages), integration with MS Teams that allows to connect to SAP backend via SSO mechanism, skills for different line of businesses development, context driven conversations handling, transferring media data (images, for example) and many other useful parts of the process that most of the companies like to have.
We are willing to assist you to complete your prototype providing our expertise and middleware on co-innovation basis. In case your company like the result, it might be an opportunity for us to work together.
Kind Regards,
Siarhei
(Skybuffer AS)
Dear Siarhei
Thank you!
Recently I read your blog about Skybuffer. I can't understand everything now. But I was so impressed by the blog. I will challenge these steps soon.
I think SAP Conversational AI has a lot of possibilities. I hope we can make our customers happier by using CAI.
Regards,
Mino Kato