キーポイント
Alexaは、買い物リストにアイテムを追加したり、曲をリクエストしたりするなど、多くの組み込みスキルをネイティブにサポートしています。ただし、開発者はAlexaスキルキット(ASK)を使用して、新しいカスタムスキルを構築できます。
Askは、音声認識、テキストへのエンコード、自然言語処理など、音声インターフェイスに関連するほとんどの作業を処理するAPIとツールのコレクションです。開発者がスキルを迅速かつ簡単に構築するのに役立ちます。
要するに、Alexaがユーザーの音声コマンドを理解できる唯一の理由は、スキルを定義することです。各Alexaスキルは、音声コマンドを理解するように設計されたソフトウェアです。さらに、各Alexaスキルには、音声コマンドの適切な応答を作成する独自の定義されたロジックがあります。既存のAlexaスキルを提供するために、次のものが含まれます。ドミノのピザでピザを注文
マスターアレクサスキル用語
まず、ユーザーがカスタムスキルとどのように対話するかを学びましょう。これは、スキルに関連するさまざまな概念を理解するために非常に重要です。
特定のスキルをアクティブにするには、ユーザーはAlexaに電話してスキルをオンにするように依頼する必要があります。たとえば、「アレクサ、猫の事実を開く」。これを行うことで、スキルの呼び出し名を呼び出しています。基本的に、呼び出し名はアプリケーションの名前と見なすことができます。
正しいスキルをアクティブにしたので、スキルが理解している音声意図/コマンドにアクセスできます。私たちはそれをシンプルに保ちたいので、「猫の事実を得る」意図を定義します。ただし、意図をトリガーするには、例の文を提供する必要があります。意図は、談話とも呼ばれる多くの例の文によってトリガーされる可能性があります。たとえば、ユーザーは「事実を与えられた」と言うかもしれません。したがって、次の例の文を定義します:
次のように、コール名と意図を組み合わせることもできます。「アレクサ、猫に事実を与えるように頼んでください」。
コール名と意図の違いがわかったので、先に進んで最初のAlexaスキルを作成しましょう。
Amazon Developerアカウントを作成します
まず、Amazon開発者アカウントが必要です。すでに持っている場合は、このセクションをスキップできます。
Amazon Developerアカウントの登録は3段階のプロセスです。 Amazonは、個人情報を必要とし、利用規約を受け入れ、支払い方法を提供します。 Amazon Developerアカウントにサインアップすることの利点は、他の多くのAmazonサービスにアクセスできることです。登録が正常に完了した後、Amazon開発者のコントロールパネルが表示されます。
コントロールパネルにログインし、右上隅の[開発者コンソール]ボタンをクリックします。
次に、Alexaスキルキットを開きたいと思います。
Alexaスキルキットを開けられない場合は、このリンクを使用してください。
次のセクションでは、実際のスキルを作成します。
最初のカスタムALEXAスキルを作成します
わかりました、最初のカスタムAlexaスキルを作成する準備ができました。青いボタン「スキルの作成」をクリックして、新しいスキルを作成するためのメニューを開きます。
最初に、スキルの名前を入力するように促します。すでにご存知のように、ランダムな猫の事実が必要なので、スキルを「カスタムキャットファクト」と呼びます(これはAlexaデバイスの組み込みスキルであるため、「猫の事実」を使用することはできません)。次に、スキルのモデルを選択するように促します。事前定義されたモデルを選択するか、カスタムモデルを選択することができます。これにより、完全な柔軟性が得られます。不要なコードを処理したくないので、「カスタム」オプションを選択します。
*注:事前定義されたスキルを選択すると、インタラクションモデルと例の文(談話)のリストが表示されます。ただし、カスタムスキルでさえ、キャンセル、支援、ホームページへのナビゲート、停止など、最も基本的な意図が装備されています。
次に、スキルをホストする方法を選択する必要があります。繰り返しますが、物事を過度に複雑にして、「Alexa Hosting(node.js)」オプションを選択したくありません。これは、バックエンドを自分で実行する必要がないことを意味します。これは、デバイスがこれを理解できるように、Amazon Alexaの基準に従って応答をフォーマットする必要があることを意味します。 Alexaホスティングオプションは次のとおりです
AWSフリーティアが制限され、node.jsテンプレートの使用を開始するまで、アカウントでのホスティングスキル。 AWS Lambdaエンドポイント、5 GBのメディアストレージ(1か月あたり15 GBのデータ転送)、およびセッションの持続性の表にアクセスできます。
OK、すべての設定が整っているので、画面の右上隅にある[スキル]ボタンをクリックできます。このボタンは、Amazon開発者アカウントで実際のスキルを生成します。
さて、Alexa開発者コンソールに移動すると、スキルがリストされていることがわかります。 [編集]ボタンをクリックして、スキルの変更を開始します。
次に、Amazonは「猫の事実」スキルのビルドタブを表示します。左側には、スキルのために定義された意図のリストがあります。前述のように、デフォルトでは、Alexaスキルキットは、キャンセル、停止、ヘルプ、およびホームページの意図へのナビゲートを生成します。最初の3つは、スキルを辞めたい、またはそれらの使用方法がわからないユーザーに役立ちます。最後の「ホームへのナビゲーション」は、複数のステップのみを含む複雑なスキルを対象としています。
ステップ1:呼び出し名
名前を変更する場合は、ページの上部にある[モデルの保存]ボタンをクリックしてください。
ステップ2:「helloworldintent」を変更します
意図をクリックすると、意図名を変更したり、サンプルの談話を追加できるようにする素敵なグラフィカルインターフェイスが取得されます。
個人的には、左側のメニューで見つけることができるJSONエディターを使用することを好みます。 JSONエディターを開くと、次のJSONオブジェクトが表示されます。
JSONエディターの利点は、すべての意図を一度に変更できることです。まず、「GetFactintent」と呼ばれる新しい意図を追加しましょう。
次に、下の写真に示すように、いくつかの例の談話を追加したいと思います。
変更後、JSONオブジェクトは次のようになります。現在、他の意図のためにサンプルの談話を定義したくありません。 Alexa Skills Kitは、デフォルトでヘルプ文を「helpintent」にリンクします。
注:[モデルの保存]ボタンをクリックして、[モデルのビルド]ボタンをクリックすることを忘れないでください。 Alexaは基本的にモデルを構築し、談話の例で定義するモデルに基づいて自らをトレーニングします。
[水平]メニューのテストタブに移動しましょう。次に、「スキルテスト既に」ドロップダウンメニューを「開発」に切り替えます。これにより、スキルをテストできます。
現在、スキルをアクティブにして、すべてが正しいかどうかを確認しましょう。下の図に示すように、コール名を呼び出すことでスキルをアクティブにすることができます。
次に、[コード]タブに飛び込みます。 [コード]タブをクリックすると、デフォルトのコードを使用してオンラインエディターが取得されます。
最初に、Helloworldintententhandlerのコードをコピーし、getactintententhandlerに変更します。
の後、このハンドラーがどのタイプの意図を処理できるかを指定する必要があります。 21行目は、getactintentという名前の意図を探します。
意図が見つかったので、静的な応答を定義しましょう。「事実を言います!」、SpeakOutput変数に割り当てます。
最後に、GetFactIntentEnthandlerを他のリクエストハンドラーに追加する必要があります。 AddRequestHandlers関数に追加するだけです。 意図を保存して構築することを忘れないでください!
スキルが保存され、構築されたので、応答を簡単に確認しましょう。スキルに事実を伝えるように頼むなら、「事実を伝えます!」
すべてが正しい場合は、次のステップに進むことができます。
最後のステップとして、猫の事実を返す簡単なAPIを照会したいと思います。これを行うには、次のAPIエンドポイントを使用します。https://www.php.cn/link/2c5baeed3fd870447056fc00bf792427を使用します。
このAPIエンドポイントは、事実と事実の長さを返します。
<code>{ "fact": "Smuggling a cat out of ancient Egypt was punishable by death. Phoenician traders eventually succeeded in smuggling felines, which they sold to rich people in Athens and other important cities.", "length": 192 }</code>
httpsパッケージはnode.js用に組み込まれているため、コードで使用してAPIからデータを取得できます。これが私たちがそれを行う方法です:
実際のコードはこちらにあります:
const https = require('https'); const httpGet = () => { return new Promise(((resolve, reject) => { var options = { host: 'catfact.ninja', port: 443, path: '/fact', method: 'GET', }; const request = https.request(options, (response) => { response.setEncoding('utf8'); let returnData = ''; response.on('data', (chunk) => { returnData += chunk; }); response.on('end', () => { resolve(JSON.parse(returnData)); }); response.on('error', (error) => { reject(error); }); }); request.end(); })); }
ヘルパーメソッドの準備ができたので、getFactIntententhandlerに追加できます。リクエストに待ち望んでいるので、ハンドル関数を非同期関数にする必要があることに注意してください。さらに、httpget関数を呼び出して、cat fact Responseを取得し、speakoutput変数にresponse.factを割り当てます。次に、SpeakOutput変数はAlexaが使用するSpeakコマンドに渡されます。
const GetFactIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'GetFactIntent'; }, async handle(handlerInput) { // const speakOutput = 'I will tell a fact!'; const response = await httpGet(); const speakOutput = response.fact; return handlerInput.responseBuilder .speak(speakOutput) //.reprompt('add a reprompt if you want to keep the session open for the user to respond') .getResponse(); } };
もう一度コードを保存し、[展開]ボタンをクリックします。
ステップ6:最終的なスキルテスト「Open Cat Facts」と呼んでスキルをアクティブにします。次に、「真実を伝える」を求めることができます。すべてがうまくいけば、それに応じて事実を受け取る必要があります。
ステップ7(オプション):実際のAlexaデバイスでテスト
詳細については、Alexaのドキュメントをご覧ください:
Amazon EchoなどのAlexa対応デバイスでテストするには、Amazon Developer Portalに開発者アカウントを登録するために使用したのと同じメールアドレスでデバイスを登録します。その後、ウェイクワードとコール名を使用してスキルを呼び出すことができます。
デバイスが開発者アカウント以外のアカウントを使用してセットアップに使用している場合、デバイスをリセットし、開発者アカウントで再登録します。
基本を理解する
これは、Alexaのスキルを構築することのほんの始まりに過ぎません。意図を使用してパラメーター(オプション)を渡すなど、より高度な例が可能です。スマートホームデバイスを制御するスキルなど、他の多くのタイプのスキルも開発できます。
FAQ 私のウェブサイトのAlexaスキルを作成する方法は?
Alexaスキルの重要なコンポーネントは何ですか?
私のAlexaスキルをテストする方法は?
私のアレクサのスキルを投稿する方法は?
Alexaプレゼンテーション言語(APL)とは何ですか?
ALEXAスキルでAPLを使用するには、スキルの応答にAPL命令を含める必要があります。これらの命令は、応答の視覚コンポーネントとオーディオコンポーネントを定義します。 ALEXA Skills Kit Developer ConsoleのAPLオーサリングツールを使用してAPLドキュメントを設計できます。これは、デザインを作成およびプレビューするための視覚的なインターフェイスを提供します。
ゲーム用のAlexa Web APIは、画面を使用してAlexaデバイス用に視覚的にリッチでインタラクティブなゲームエクスペリエンスを開発できるWebテクノロジーのセットです。ゲームにAlexa Web APIを使用して、HTML、CSS、JavaScriptなどの標準的なWebテクノロジーを使用して、ゲームエクスペリエンスを構築できます。
Alexa Web APIをAlexaスキルのゲームに使用するには、スキルリストにゲーム用のAlexa Web APIインターフェイスを含める必要があります。その後、alexa.presentation.html.startディレクティブを使用してWebアプリケーションセッションを開始し、alexa.presentation.html.handlemessageディレクティブを使用して、Webアプリケーションからメッセージを処理できます。
Alexa Skills Kit(ask)は、Alexaのスキルを簡単に作成できるようにするセルフサービスAPI、ツール、ドキュメント、コードの例のコレクションです。 ASKを使用すると、Amazonの知識と画期的な作業を利用することができます。
さまざまな機能とツールを活用することで、Alexaスキルキット(ASK)を使用してAlexaスキルを構築できます。 Askは、Ask SDK、Ask CLI、Ask Developer Console、Askドキュメントなど、さまざまなリソースを提供します。これらのリソースは、Alexaスキルを構築、テスト、公開するための包括的なツールセットを提供します。
以上が最初のAmazonAlexaスキルを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。