多言語に対応するスキルを開発する
Alexa Skills Kitを使用して、多言語のカスタムスキルを作成できます。カスタムスキルは、以下のうち、1つの言語だけをサポートすることも複数の言語をサポートすることもできます。
- アラビア語(SA)
- 英語(AU)
- 英語(CA)
- 英語(IN)
- 英語(UK)
- 英語(US)
- フランス語(CA)
- フランス語(FR)
- ドイツ語(DE)
- ヒンディー語(IN)
- イタリア語(IT)
- 日本語(JP)
- ポルトガル語(BR)
- スペイン語(ES)
- スペイン語(MX)
- スペイン語(US)
特定の言語でAlexaと対話するユーザーは、その言語をサポートしているスキルを使用できます。たとえば、あるユーザーがAlexaデバイスをドイツ語に設定したとします。そのユーザーは自分の国や地域でAlexaスキルストアに公開されたドイツ語をサポートするスキルを有効化し、使用することができます。
- 多言語に対応するスキルを開発する手順の概要
- 開発者コンソールの言語固有の情報とグローバルな情報
- カスタムスキルがサポートする各言語の音声ユーザーインターフェースをデザインする
- カスタムスキルに対するコード変更を実装する
- スキルに複数のエンドポイントを指定する
- 言語固有の詳細でスキルコンフィギュレーションを更新する
- 同じ言語のロケールをカスタムスキルに追加する
- 多言語に対応するスキルを開発する
- 関連トピック
多言語に対応するスキルを開発する手順の概要
以下は、多言語対応のカスタムスキルを開発する際の手順です。それぞれの手順の詳細については、以下のセクションを参照してください。
- サポートしたい言語の音声ユーザーインターフェースをデザインします。音声ユーザーインターフェースには、次の項目が含まれます。
- スキルの呼び出し名
- インテントスキーマ
- サンプル発話
- カスタムスロットタイプの値
詳細については、カスタムスキルがサポートする各言語の音声ユーザーインターフェースをデザインするを参照してください。
-
受け取ったリクエスト(
IntentRequest
、LaunchRequest
、およびSessionEndedRequest
)のユーザー言語を確認して適切な言語で応答するためのロジックをコードに組み込みます。たとえば、ユーザーがドイツ語でスキルを起動した場合は、Alexaがドイツ語で返答するように読み上げテキストをスキルから返す必要があります。詳細については、カスタムスキルに対するコード変更を実装するセクションを参照してください。
- 更新したコードを関連するエンドポイントにデプロイします。
- 北米、ヨーロッパとインド、および極東のうち、 複数のエンドポイントを使用できます。
- コードを複数のエンドポイントにデプロイする場合は、すべてのエンドポイントで同じコードを維持する必要があります。以前の手順で説明したように、コードは、サポートされているすべての言語を処理する必要があります。
ヒント: レイテンシーを低減するには、コードを複数のエンドポイントにデプロイすることをお勧めします。詳細については、スキルに複数のエンドポイントを指定するセクションを参照してください。
-
開発者コンソールで、新しいエンドポイント、新しい音声ユーザーインターフェース、およびその他の言語固有の情報を使用してスキルを設定します。
詳細については、言語固有の詳細でスキルコンフィギュレーションを更新するセクションを参照してください。
-
スキルの新しい言語バージョンをテストします。
詳細については、スキルのテストを参照してください。
-
関連する場所にいるユーザーが使用できるようにスキルの公開を設定します。
詳細については、スキルの公開先を決定するセクションを参照してください。
開発者コンソールの言語固有の情報とグローバルな情報
開発者コンソールでスキルを設定すると、以下のアクションの実行に必要な情報がAlexaサービスに提供されます。
- リクエストとスキルを実装するAWS Lambda関数またはウェブサービスを連携させます。AWS Lambdaは、Amazon Web Servicesによって提供されるサービスです。
- Amazon Alexaアプリにスキルに関する情報を表示します。
1つのスキルに複数の言語を追加した場合、コンフィギュレーション内の情報の中には、すべての言語に適用されるものと単一の言語にしか適用されないものがあります。
- 対話モデルの各要素(インテントや発話など)は、言語に固有のものです。
- Alexaアプリ内でユーザーにデータ(公開名や説明など)を提示するために使用されるフィールドは言語に固有のものです。
- コンフィギュレーション設定(インターフェース、エンドポイント、アカウントリンク設定、アクセス権限など)はすべての言語に適用されます。
カスタムスキルがサポートする各言語の音声ユーザーインターフェースをデザインする
カスタムスキルがサポートしている言語ごとに、音声ユーザーインターフェース(UI)を作成します。この音声UIには、次の項目が含まれます。
- 呼び出し名 – スキルとの対話を始めるためにユーザーが話すフレーズ。
- インテントスキーマ – サービスが受け入れ、処理できるインテント一式。言語が違ってもユーザーが同じ体験ができるように、すべての言語でインテントの一貫性を維持することを検討してください。
- サンプル発話 – インテントとよく使用されるフレーズ間のマッピング。
- カスタムスロットタイプの値 – インテントスキーマのカスタムスロットタイプごとに定義された代表的な値のリスト。
これらの項目の詳細については、以下のトピックを参照してください。
呼び出し名を選択して、サンプル発話を記述したら、その言語のネイティブスピーカーにとって適切な単語やフレーズを使用していることを確認します。
新しい言語のセットアップと言語固有の音声UIの追加の詳細については、後述する言語固有の詳細でスキルコンフィギュレーションを更新するを参照してください。
カスタムスキルに対するコード変更を実装する
クラウドベースのサービスを作成し、サポートするすべての言語のリクエストをスキルが処理できるようにします。たとえば、スキルがドイツ語と英語(UK)の両方をサポートしている場合、同じコードで次のアクションを実行できるようにしてください。
- ドイツ語のリクエストを受け取って、ドイツ語の応答を読み上げてユーザーに応答する。
- 英語(UK)のリクエストを受け取って、英語の応答を読み上げてユーザーに応答する。
スキルの呼び出しに使用する言語は、サービスに送信されるすべてのリクエスト(LaunchRequest
やIntentRequest
)に含まれているlocale
プロパティを確認して判断します。スキルが受け取ることができるリクエストの種類については、リクエストの形式を参照してください。
locale
プロパティが含まれていません。以下の例では、request
オブジェクトにlocale
プロパティ、en-US
が含まれています。
{
"request": {
"type": "LaunchRequest",
"requestId": "EdwRequestId.00000000-0000-0000-0000-000000000000",
"timestamp": "2016-06-14T20:59:24Z",
"locale": "en-US"
}
}
以下の表に、locale
プロパティのロケールコードと言語のオプションを示します。
ロケールコード | 言語 |
---|---|
|
アラビア語(SA) |
|
ドイツ語(DE) |
|
英語(AU) |
|
英語(CA) |
|
英語(UK) |
|
英語(IN) |
|
英語(US) |
|
スペイン語(ES) |
|
スペイン語(MX) |
|
スペイン語(US) |
|
フランス語(CA) |
|
フランス語(FR) |
|
ヒンディー語(IN) |
|
イタリア語(IT) |
|
日本語(JP) |
|
ポルトガル語(BR) |
Amazonではどの言語にも同一の機能を提供することは必須ではありませんが、ユーザーはデバイスの言語を選択したり、言語を切り替えたりすることができます。つまり、ユーザーは複数の言語でスキルと対話する可能性があるため、言語が変わっても一貫した体験ができることが重要です。
スキルに複数のエンドポイントを指定する
現在のところ、Alexaサービスは、ユーザーの場所と開発者が指定したエンドポイントに基づいて、呼び出すエンドポイントを決定します。スキルに対して以下のエンドポイントを任意に組み合わせて指定できます。
地理的リージョン | 対象 |
---|---|
北米 |
北米のユーザー(デバイスが |
ヨーロッパとインド |
|
極東 |
日本およびオーストラリア/ニュージーランドのユーザー(デバイスが |
ユーザーのリージョンに推奨されているエンドポイントが使用できない場合、Alexaはデフォルトエンドポイントを呼び出します。
複数のエンドポイントを使用することにした場合は、各エンドポイントに同じコードをデプロイする必要があります。Alexaサービスは特定の言語のユーザーリクエストをどのエンドポイントにも送信できます。たとえば、スキルが英語(US)とドイツ語の両方をサポートしているとします。amazon.de
を使用しているユーザーからの英語のリクエストは、ヨーロッパのエンドポイントに送信されます(指定されている場合)。そのエンドポイント上のコードは、英語のリクエストを適切に処理して応答を返せる必要があります。前述のカスタムスキルに対するコード変更を実装するで説明したように、リクエスト内で指定されたlocale
プロパティを使用してユーザーの言語を識別します。
AWS Lambdaを使用してスキルサービスをホストする場合は、スキルのコンフィギュレーションに対してどのAWS Lambdaリージョンが最適であるかを判断します。詳細については、AWS Lambda関数に最適なリージョンを選択するを参照してください。
言語固有の詳細でスキルコンフィギュレーションを更新する
追加の言語のサポートを追加するには、スキルコンフィギュレーションに言語を追加して、新しい音声ユーザーインターフェースなどの言語固有の情報を指定する必要があります。
既存のスキルに言語を追加する
- developer.amazon.com/alexaを開きます。
-
Alexa Skills Kit (ASK)>開発者コンソールをクリックします。
開発者コンソールが開き、作成済みのスキルが表示されます。
- リストから言語を追加したいカスタムスキルを探し、編集をクリックします。
-
左上の言語ドロップダウンをクリックし、言語設定を選択します。
言語設定ページには、既にスキルに含まれている言語が一覧表示されます。
- 新しい言語を追加をクリックして追加する言語を選択し、保存をクリックします。
スキルに言語を少なくとも1つ追加したら、言語ドロップダウンで言語を切り替えることができます。
言語固有の詳細でスキルを更新する
- 言語ドロップダウンメニューで編集する言語を選択します。
- ビルドページで、カスタムの各セクションに情報を入力します。
- 対話モデルセクションで言語固有の対話モデルを追加します。
- 必要に応じて、エンドポイントに追加のエンドポイントを追加します。
- 公開ページのスキルのプレビューで言語を選択し、Alexaスキルストアに表示するスキルの情報をフィールドに入力します。
- 公開範囲セクションでスキルの公開先を選択します。
同じ言語のロケールをカスタムスキルに追加する
さらに広い範囲のユーザーにリーチするために、同じ言語のロケールをカスタムスキルに追加することができます。たとえば、アメリカ英語(en_US)に対応している場合、イギリス英語(en_GB)とインド英語(en_IN)のロケールをカスタムスキルに追加することで、異なる地域のユーザーにリーチすることができます。ロケールの追加方法の詳細については、同じ言語のロケールをカスタムスキルに追加するを参照してください。
多言語に対応するスキルを開発する
このスキルを利用できる国を選択してくださいオプションを選択して、ユーザーがカスタムスキルを有効にして使用できる国と地域を決めます。ユーザーは、以下の条件をすべて満たすスキルにアクセスできます。
- ユーザーの国や地域にスキルを配布している。
- スキルがユーザーのAlexa搭載デバイスで選択された言語をサポートしている。
- スキルがユーザーのデバイスを登録している国または地域の主要言語をサポートしている。これにより、スキルがスキルストアで入手可能かどうかが決まります。たとえば次のようになります。
.com
サイトでデバイスを登録したユーザーに公開するには、スキルの英語(US)またはスペイン語(US)バージョンが必要になります。.co.jp
サイトでデバイスを登録したユーザーに公開するには、スキルの日本語バージョンが必要になります。
公開は、個別の言語ではなく、スキルに適用されます。Amazonでは、コンテンツポリシー制限がある場合を除き、指定された国と地域のユーザーがスキルのすべての言語バージョンを使用できるようにします。
.co.jp
アカウントを使うユーザーが自分のAlexa搭載デバイスで英語(UK)など、日本語以外の言語を選択することもできます。ただし、言語を変更しても、.co.jp
アカウントで入手できるスキルストアのスキルカタログには影響しません。つまり、スキルを.co.jp
を使うユーザーにも使えるようにするには、スキルストアに日本語バージョンを追加する必要があります。例: 1つの言語のワールドワイド公開
Amazonがカスタムスキルを配布しているすべての国と地域でスキルを公開することにします。英語(UK)のみでスキルを設定し、他の言語は設定しません。このコンフィギュレーションを選択すると、次のような結果になります。
- 英語(UK)を第一言語とするすべての国と地域のスキルストアでスキルを使用できます。
- 英語(UK)を使用するようにデバイスを設定したこれらの国と地域のユーザーがスキルを使用できます。
- デバイスでドイツ語、英語(US)、その他の言語を選択した世界中のユーザーはスキルを使用できません。
例: 複数言語の限定公開
カスタムスキルをドイツでのみ公開することにします。スキルの機能が地域固有のためです。スキルにドイツ語と英語(UK)の言語を設定します。このコンフィギュレーションを選択すると、次のような結果になります。
- スキルはドイツのスキルストアでのみ利用できます。選択された国での公開であるためです。
- ドイツ語を使用するようにデバイスを設定したドイツ国内のユーザーはスキルを使用できます。
- 英語(UK)を使用するようにデバイスを設定したドイツ国内のユーザーはスキルを使用できます。
- 英語(US)を使用するようにデバイスを設定したドイツ国内のユーザーはスキルを使用できません。
- デバイスに対して選択した言語に関係なく、ほかの国や地域のユーザーはスキルを使用できません。
スキルの提供地域の判断について
ユーザーがカスタムスキルを利用できる地理的な範囲を決定する必要があります。これは、Amazonがスキルを配布するすべての国と地域を選択するかどうかによって決定できます。決定を行う際には、2つのオプションを検討してください。
-
次の要因が重要な場合は、Amazonがスキルを配布するすべての国と地域を選択します。
- スキルがサポートする言語を使用するようデバイスを設定した全世界のユーザーがスキルを使用できるようにしたい場合。
- 可能な限り多くのユーザーを獲得したい場合。
- スキルがほかの国や地域のユーザーにとっても役立つと考える場合。たとえば、トリビアゲームスキルはユーザーが住んでいる場所に関係なく楽しめるものです。言語を追加できるのであれば、なおさら場所は関係ないと言えるでしょう。
-
次の要因が重要な場合は、Amazonがスキルを配布するすべての国と地域を選択しないでください。
- 特定の国や地域のユーザーのみがスキルを使用できるようにしたい場合。
- スキルがサポートする言語を使用するようデバイスを設定した特定の国や地域のユーザーのみがスキルを使用できるようにしたい場合。
- スキルが特定の地域にいるユーザーにとってのみ便利だと考える場合。たとえば、米国の主要都市で食べ物を配達するスキルが、ヨーロッパではこのサービスを提供していないとします。この場合、米国以外の国や地域では有効なスキルとは言えません。
関連トピック
最終更新日: 2024 年 07 月 01 日