スキルの言語ユースケース
スキルの言語要件を処理するための方法は、いくつかの要因によって異なります。一般的なユースケースとそれらに取り組むための方法を次に示します。
複数言語でのトレーニング機能
Oracle Digital Assistantでネイティブにサポートされている言語をターゲットにするスキルの場合、すべてのターゲット言語のトレーニング・データを追加できます。これには、インテントおよびカスタム・エンティティ値の発話の例が含まれます。
前提条件
- ターゲットにするすべての言語が、ネイティブ・サポート言語のリストにあります。
- スキルのプラットフォーム・バージョンが20.12以降です。
一般的なステップ:
- スキルのバージョン(またはクローン)を作成するときに、ネイティブ・サポート言語のいずれかをプライマリ言語として指定します。この言語は、スキルのデフォルト言語として機能します。一度設定すると、変更することはできません。
- スキルの「設定」、「インテント」または「エンティティ」ページで、ターゲットにする追加のネイティブ・サポート言語を追加します。
- プライマリ言語でトレーニング・コーパスを作成します。
- 追加言語ごとに、必要に応じてトレーニング・コーパスを補強します。
- プライマリ言語で作成したすべての値リスト・エンティティに対して、プライマリ言語のそれぞれの値に対応する追加言語の値を追加します。
- スキルの出力文字列ごとにリソース・バンドルを作成し、各言語のエントリを指定し、ダイアログ・フローの適切な場所およびスキルの設定からリソース・バンドル・キーを参照します。
その他の注意事項および考慮事項:
- ユーザー・エクスペリエンスに関しては、このアプローチによって、複数言語でユーザーの期待に最大限に応える機会が得られます。
- このアプローチの潜在能力を実現するには、複数言語でのインテントのトレーニングとすべてのターゲット言語での効果的な出力メッセージの作成に十分なリソースを割り当ててください。
サード・パーティ翻訳サービスの使用の回避
英語以外の1つ以上言語のスキルを作成するときに、サード・パーティ翻訳サービスを使用しない場合は、Digital Assistantのネイティブ言語サポートを使用できます。前述の複数言語でのトレーニング機能のトピックを参照してください。
ネイティブでサポートされない言語でのスキルの作成
通常、スキルでターゲットにする言語がOracle Digital Assistantでネイティブにサポートされている場合は、そのネイティブ言語サポートをスキルで使用します。ただし、その言語がネイティブでサポートされていない場合は、翻訳サービスを使用できます。
前提条件:
- 翻訳サービス(OCI Language、Microsoft Translator、Google Translation APIなど)が構成されています。
一般的なステップ:
- スキルの作成時に、英語をプライマリ言語として(および翻訳モードで)指定します。
- サポートしている言語でインテントの発話およびエンティティ値を作成します。
- ユーザー入力の言語を検出してバックグラウンドで翻訳するコードをダイアログ・フローに追加します。(翻訳サービスを利用する英語以外のスキルの場合、スキルの基礎となるトレーニング・モデルは英語です。)
- スキル・レスポンスのリソース・バンドルを作成します。
その他の注意事項および考慮事項:
- スキルのターゲット言語がネイティブ・サポート言語の場合は、ネイティブ言語アプローチの使用を検討してください。その後、ネイティブにサポートされている他の言語を追加する必要が生じても、各言語のインテント解決を最適化できます(また、出力メッセージをより細かく制御できます)。
- 後で他の言語をスキルに追加する必要があり、必要な言語の1つ以上がネイティブでサポートされていない場合は、新しいスキルを最初から作成し、新しいスキルでプライマリ言語として英語を設定する必要があります。
- 組込みエンティティ型(NUMBER、EMAIL、DATEなど)のエンティティ値は、ユーザー入力がバックグラウンドで英語に変換された後で抽出されます。
ネイティブでサポートされていない言語を対象とする複数言語スキルの作成
複数の言語をターゲットとするスキルを設計していて、それらの言語の1つ以上がネイティブでサポートされていない場合は、そのスキルで翻訳サービスを使用できます。
現在、1つのスキルでネイティブ言語サポートと翻訳サービスを混在させることはできません。いずれかの言語がネイティブでサポートされていない場合は、すべての言語に対して翻訳サービスを使用する必要があります。
前提条件:
- 翻訳サービス(Microsoft TranslatorまたはGoogle Translation API)が構成されています。
一般的なステップ:
- スキルの作成時に、英語をプライマリ言語として(および翻訳モードで)指定します。
- インテントの発話およびエンティティ値を英語で作成します。
- ユーザー入力の言語を検出してバックグラウンドで翻訳するコードをダイアログ・フローに追加します。
- スキル・レスポンスを処理するには、次のいずれかを行います:
- スキル・レスポンスを英語からユーザーの言語に翻訳するようにダイアログ・フローを設定します。
- 各ターゲット言語のエントリを含むリソース・バンドルを作成し、それらをレスポンスで使用するようにスキルを構成します。
その他の注意事項および考慮事項:
- 組込みエンティティ型(NUMBER、EMAIL、DATEなど)のエンティティ値は、ユーザー入力がバックグラウンドで英語に変換された後で抽出されます。
各言語のリソース・バンドルを使用しない複数言語スキルの作成
複数言語スキルを作成しようとしているが、様々な言語のリソース・バンドル・エントリを作成しない場合は、翻訳サービスを使用してスキルのレスポンスを処理できます。(この方法は、デジタル・アシスタントのネイティブ言語サポートでは機能しません。)
前提条件:
- 翻訳サービス(Microsoft TranslatorまたはGoogle Translation API)が構成されています。
一般的なステップ:
- スキルの作成時に、英語をプライマリ言語として(および翻訳モードで)指定します。
- ユーザー入力の言語を検出してバックグラウンドで翻訳するコードをダイアログ・フローに追加します。
- スキル・レスポンスをユーザーの言語に翻訳するようにダイアログ・フローを設定します。
その他の注意事項および考慮事項:
- スキルのすべてのターゲット言語がネイティブ・サポート言語である場合は、かわりにネイティブ言語アプローチの使用を検討してください。そうすることで、各言語のインテント解決を最適化できるためです(また、出力メッセージをさらに細かく制御できます)。
- ネイティブにサポートされていない言語をターゲットにする必要がある場合でも、出力メッセージをより細かく制御できるという利点によってコストが正当化されると認識される可能性があります。