あなたのAlexaダッシュボード 設定

カスタムスキルとは

このドキュメントでは、カスタムスキルの概要について説明します。

*これから作成しようとしているスキルがカスタムスキルに当てはまるかどうかを確認するには、スキルの種類についてをご参照ください。

カスタムスキルの構成要素

カスタムスキルは、以下を作成することによって設計および構築します。

  • インテント:スキルの機能を表します。
  • サンプル発話:ユーザーがインテントを呼び出す際に使う単語やフレーズのセット。これらの発話をインテントにマッピングします。マッピングにより、スキルの対話モデルが形成されます。
  • スキルを識別する呼び出し名:ユーザーは、スキルと対話を開始するために、この呼び出し名を言う必要があります。
  • スキルに含めるイメージファイル、オーディオファイル、ビデオファイルのセット(該当時のみ):各アイテムは一意のURLによってアクセスできるように、パブリックにアクセス可能なサイトに格納する必要があります。
  • クラウドべースサービス:インテントを構造化されたリクエストとして受け入れて対応します。このサービスは、インターネットでアクセス可能である必要があります。スキルの開発時に、サービスのエンドポイントを提供します。
  • 上記すべてを取りまとめるコンフィギュレーション。これによって、Alexaからのスキルサービスへのリクエスト送信が可能となります。コンフィギュレーションは開発者ポータルで作成します。

開発者は任意のインテントを定義することができます。たとえば、潮汐情報を取得するスキルの場合、特定の沿岸都市の潮汐情報を調べるユーザーリクエストを表すOneshotTideIntentというインテントを定義したとします。

このインテントは、以下のような複数のサンプル発話にマッピングされます。

OneshotTideIntent満潮を調べて
OneshotTideIntent {City}の満潮を調べて
OneshotTideIntent {City}の潮汐情報
OneshotTideIntent {City}の満潮はいつ
...
(その他多数のサンプル発話)

ユーザーは、以下のようにAlexaを使用することが予想されます。

User: アレクサ、シアトルの満潮を タイドプーラーで調べて
(定義したサンプル発話は斜体で、呼び出し名は太字で示しています)。

Alexa端末にこのように話しかけると、以下の通り処理が実行されます。

  1. ユーザーの発話がクラウドのAlexaサービスに送信されます。
  2. Alexaは、このリクエストが「タイドプーラー」スキルのOneshotTideIntentインテントであると認識します。
  3. Alexaはこの情報からリクエスト(この例ではIntentRequest)を生成し、このリクエストをTide Poolerで定義されたサービスに送信します。リクエストには、「City」として値「シアトル」が含まれています。
  4. タイドプーラーサービスがリクエストを受け取り、適切なアクション(http://tidesandcurrents.noaa.gov/でシアトルの今日の潮汐に関する情報を調べる)を実行します。
  5. タイドプーラーは、ユーザーへの応答メッセージの構造化されたレスポンスをAlexaサービスに送信します。
  6. Alexa端末が、ユーザーに音声で応答します。

タイドプーラー: 今日のシアトルは、午前1時42分頃に最初の満潮を迎え、約10フィートになる予定です…

User Interaction flow
ユーザー対話フロー

ユーザーと対話する

カスタムスキルは、通常、ユーザーから質問やその他の情報を受け取り、それに回答したり、何らかのアクション(例: タクシーを呼ぶ、ピザを注文する)を実行したりします。ユーザーは、呼び出し名をサンプル発話やAlexaで定義されたフレーズと組み合わせて言うことで、スキルを起動できます。

  • Alexa、タイドプーラー シアトルの満潮をチェックして
  • Alexa *レシピ、オムレツをどう作るか*教えて
  • Alexa 十二星座占いで牡牛座 **について調べて
  • Alexa、スコアキーパーを使用して スティーブンに10ポイント追加して

質問やリクエストをせずに、スキルとの対話を始めることもできます。

  • アレクサ、タイドプーラーを開いて
  • アレクサ、レシピに話しかけて
  • アレクサ、トリビアマスターを再生して
  • アレクサ、スコアキーパーを開始して

リクエストの内容が決まっていない場合や、思い出せない場合ユーザーは、スキルをを上記のように起動することができます。この場合一般的なスキルの応答は、ウェルカムメッセージと、簡単なスキルの使い方の説明になります。

(上記の例では、太字はAlexaサービスで定義されたフレーズ、斜体はスキルで定義されたサンプル発話を示しています。)

リクエストを完了するためにもっと情報が必要であれば、ユーザーとスキルが対話できるよう構成することもできます。

User: アレクサ、タイドプーラーで満潮をチェックして
(「満潮をチェックして」はOneShotTideIntentにマップされますが、ユーザーは都市を指定していません。タイドプーラーは続行するためにこの情報を必要とします。)
タイドプーラー: どの都市の満潮情報ですか?
(Alexaはユーザーの応答を待機中です。ライトリングのある端末の場合(Amazon Echoなど)、端末が点灯してビジュアルキューが示されます)。
User: シアトル
タイドプーラー: 今日のシアトルは、最初の満潮の時刻は…
(対話を終了します)

関連するトピック:

スキルに視覚コンポーネントを追加する

Amazon Alexaアプリは、Fire OS、Android、iOS端末、またはパソコンのウェブブラウザで使用できる、無料のコンパニオンアプリです。カスタムスキルは、このアプリと次の2つの点で関連します。

  • アプリでは、リリースされたすべてのスキルの「スキル詳細ページ」が表示されます。ユーザーは、このページで各スキルの機能や使い方を知り、そのスキルを有効にするかどうか決定することができます。したがって、スキル開発者は、リリース時にスキルに関する有益な情報を提供する必要があります。
  • アプリには、ユーザーとAlexaの対話の履歴や、対話の内容を向上させるためのホームカードが表示されます。ユーザーはこれらのカードで、スキルとの対話の内容を確認したり、Alexaによる応答を参照したりできます。

    また、音声による応答に加え、応答の内容をカードに表示することもできます。

たとえば、タイドプーラースキルは、ユーザーが尋ねた潮汐情報が含まれるホームカードを送信します。これにより、ユーザーはスキルからの応答を再度Alexaに尋ねることなく確認することができます。

Home card for the Tide Pooler sample
タイドプーラーのホームカードのサンプル

関連するトピック:

スキルで使用するオーディオファイルを使用する

AudioPlayerによってオーディオファイルをスキルで使用することができます。使用にあたっては、パブリックにアクセス可能なWebサイトに、そのような外部リソースをオーディオファイルを用意しておく必要があります。各アイテムは、オーディオファイルはHTTPSを使用する一意のURLで参照されます。

スキルのクラウドベースサービスをホスティングする

スキルサービスは、AWS Lambdaでホスティングするか、独自のエンドポイントでウェブサービスとしてホスティングできます。

AWS LambdaAmazon Web Services)は、サーバーを管理することなく、クラウドでのコード実行を可能にするサービスです。Lambda関数はAlexaからユーザーのリクエストを受信すると、そのリクエストを検証し、必要なアクション(オンラインでの情報検索など)を実行し、応答を返します。Lambda関数はNode.js, Java, Python, or C#で作成することができます。一般的に、これがスキルのサービスをホスティングする最も容易な方法です。

ウェブサービスを構築して任意のクラウドホスティングプロバイダーでホスティングすることもできます。ウェブサービスは、HTTPSでリクエストを受信します。この方法では、Alexaがウェブサービスにリクエストを送信し、ウェブサービスが必要なアクションを実行し、応答を返します。ウェブサービスはどのような言語でも記述できます。

スキルでLambdaを使用する方法については、以下をご覧ください。

スキルでウェブサービスを使用する方法については、以下をご覧ください。

次のステップ

次へ: スキル構築の手順を参照する。

Alexa Skills Kit SDK for Node.jsを入手する。

Alexaの公式GitHubアカウントでを参照する。

サンプルコードを参照する。

Alexa Skills Kit用語集でAlexa Skills Kitの用語を確認する。