先月発表されていたLINEのClova Extensions Kitですが、ついに公開されました。
予告通りの公開日でしたね。少しずつ、試していきたいと思います。
実際に試してみた
実際に開発して見たのはこちらです。
knowledge.moshimore.jp
まずは用語集
利用者側と開発者側で呼び方が違う部分もあるので混乱しないように注意が必要です。
重要なところをとりあえず抜粋してみます。
何だか良く分からないと思いますが、デザインガイドラインを読むとピンとくると思います。
CEK
Clova Extensions Kitの略語。
Clova Extensionを開発および配布する際に必要なツールとインターフェースを提供するプラットフォームのこと。
CIC
Clova Interface Connectの略語
Clova Extension = スキル
第三者が提供するサービスや家庭のIoTデバイスの制御など、Clovaの機能を拡張するWebアプリケーションのこと。
利用者には、「スキル」という表現が使われる。
Clovaアプリ
LINEが開発した、iOSおよびAndroidプラットフォームで配布したClovaアプリです。
Custom Extension
音楽、ショッピング、金融など、外部サービスの機能を提供できる。
現時点ではClova WAVEでは動作確認することができないとのこと。
Custom Extensionメッセージ
Clova Extensions KitとCustom Extensionが情報のやり取りをする際に使用するメッセージのこと。
インテント(Intent)
Clova Extensionが処理するユーザーの意図を区分したカテゴリです。カスタムインテントとビルトインインテントの2種類がある。
Custom Extensionを実装する前に、まずインテントの集合である対話モデルを定義する必要がある。
IntentRequest
ユーザーのリクエストを解析した結果(インテント)をCustom Extensionに送る際に使用されるリクエストメッセージタイプです。
対話モデル
Custom Extensionが音声から認識されたユーザーのリクエストをExtensionに送るために、標準化したフォーマット(JSON)に変換するルールを指定したもの。
LaunchRequest
ユーザーが特定のモードまたは特定のCustom Extensionを使用すると宣言したことを知らせるために送るリクエストメッセージです。
SessionEndedRequest
ユーザーが特定のモードまたは特定のCustom Extensionの使用を中止すると宣言した際に送られるリクエストメッセージです。
ビルトインスキル
Clovaデバイスに標準で搭載されている、ミュージック、LINE送受信、天気などの機能のこと。
スロット
インテント(Intent)に宣言されたリクエストを処理する際に必要な情報のこと。
アカウント連携
Extensionがユーザーのアカウント認証を必要とする外部サービスを提供する際に使用される。
ユーザーのサンプル発話
ユーザーのリクエスト発話がどのように入力されるかを例で表現したリストのこと。インテント(Intent)ごとに複数の例を定義できる。
また、例にはスロット(Slot)が表示される。
セッションID
Extensionがユーザーを区分するための識別子です。通常は、リクエストごとにセッションIDが変わる。
特定のモードや連続的なリクエストの場合は、同じセッションIDを持つ。
このセッションIDは、Clova Extensions KitがExtensionにユーザーのリクエストを渡すとき生成され、セッションIDが維持されるのは、LaunchRequestのようなリクエストを受け取ったか、またはExtensionが必要に応じてresponse.shouldEndSessionフィールドをfalseに設定した場合になる。
詳しい公式ドキュメントは以下より参照できます。
clova-developers.line.me
以上、Clovaのスキルを作成できるClova Extensions Kitが公開されました!でした。