CoPilotで独自スキルを作ってみましたので、詳細な手順をご紹介したいと思います。CoPilotとは、SAPによるエンタープライズ向けのデジタルアシスタントです。もたらすものとして、大いに期待しています。CoPilotの製品情報については、https://www.sap.com/products/digital-assistant.htmlをご参照ください。CoPilotのハンズオンセッションを受講してきました。この記事は、そのセッション内容がベースとなっています。Platformのサブスクリプションが必要となります。Lexのようなものです)。今回は、2018年10月時点で最新のものを使用しています。CoPilotスキルを作り始める前に、言葉の整理をしておきましょう。スキルを作る上で、『Skill』『Intent』『Utterance』という3要素がとても重要になります。Intentをバンドルしたもの。ユーザーのやりたいこと。Intentをトリガーするための合言葉。表だけだと分かりにくいと思いますので、具体例を挙げてみましょう。「製品管理」というSkill、製品を「登録したい/読込したい/変更したい/照会したい」というIntent、そして一例として照会(Query)したい場合のUtteranceです。Intentの動詞を眺めると分かるように、ODataオペレーション(Create/Read/Update/Query)と一致しています。CoPilotの特徴のひとつです。CoPilotで独自スキルを作ってみたさて、前置きが長くなりましたが、いよいよ独自スキルを作ってみましょう。ところで、「独自」と明記していることにも意味があります。CoPilotは、SAP標準のデジタルアシスタントなので、わざわざ独自スキルを作成しなくても、膨大な標準スキルを提供してくれるようになります。今回は、ハンズオンそのものが目的だったため、独自スキルを作成しています。Skill」をクリックします。スキル名を入力して、Intentを追加します。ODataサービスのエンドポイントを直接指定するか、「Browse」をクリックします。Service」をクリックします。選択したODataサービスのオブジェクト(エンティティ)を選択します。オブジェクト(エンティティ)を選択したら、それに対するオペレーションを有効化します。今回は、一覧を取得するQueryオペレーションを選択します。選択したオペレーションに必要なパラメータを選択します。ここまでで、Intentの基本設定は完了です。「Save」をクリックして保存します(保存後、スキル一覧画面に戻ります)。設定に残項目があると、『!』マークがつきます。Intentを選択して、内容を確認してみましょう。Display(UI表示設定)が未完了なようです。Utteranceには黄色い『!』マークがついていますが、これは警告です。UI表示設定のTitleとSubtitleとImageを設定します。これにて設定完了です。続いて、警告が出ていたUtteranceを確認します。ヒントが未設定のため、警告となっているようです。いった「このように聞いて欲しい」というUtteranceをヒントとして追加します。このヒントがあるおかげで、始めてこのスキルを利用する人も、迷わずに利用できるようになります。警告は出ていませんが、Utteranceの下のEntitiesも見てみましょう。ここでは、パラメータ(=ODataサービスのFilter項目)を確認することができます。各項目が必須項目かどうか、値ヘルプを使うかどうかなどを設定可能です。ビジネスドメインの事前定義値ヘルプが充実しているのは、SAPならではの強みですね。独自の別名(シノニム)を追加することも可能です。必要な設定がすべて完了したら、「Build」をクリックします。ビルドが完了するまで、しばらく待ちます。CoPilotスキルが作成できました。スキル実行編さて、いよいよ実際に作ったスキルを実行してみます。CoPilotのスタンドアロン版で動作確認しました。会話の流れは以下の通りです。USD.最初に「サプライヤーAVANTELの製品を見せて」とお願いすると、「見つかりました」と言って写真付きの製品リストを返してくれました。SAPの単価は149ドルです」と答えてくれました。”二番目”という指示に回答できるということは、前後の文脈を理解している、ということですね。言えばCreateオペレーションを実行することができます。components.”(在庫がある150ドル以上のコンピュータ部品を見せて)のような長文も理解できます。Builderを使って独自スキルを作ってみて感じたことを簡単にまとめます。Lexにも、Intent(やってほしいこと)とUtterance(Intentをトリガーするための合言葉)がありますが、多くのサンプルUtterancesを登録して、漏れなくIntentがトリガーされるようにするのが、非常に大変でした。意図は同じで言い回しが違うものをいかに網羅するかが勝負でした。Intentがなかなかトリガーされないと、すぐにポンコツBot認定されてしまいますからね。聞いてください、というヒントUtteranceをひとつ定義しただけです。CoPilotは、IntentがODataオペレーションという『決め』を作ったことで、人間が入力したUtteranceを人工知能が推察しやすくなっています。ユーザがやりたいことはQueryオペレーションということです。AVANTELの製品はこちらです」と、やんわりと訂正してくれたり、ちょっとしたスペルミス、冠詞抜け、接続詞揺れなどは、いい感じに吸収してくれます。CoPilotをご紹介しました。一日も早くメジャーな存在になることを願ってやみません。CoPilotは日本語に対応していません。Lexも日本語に対応していないことを考えると、日本語の自然言語処理の難しさがうかがえますね。Hub(ボット統合ハブ)という画期的な顔も持っているのですが、それはまた別の機会に書きたいと思っています。am素晴らしい内容と考察、ありがとうございます。ブログ投稿お願いします。item.Cancel。