言語の生成
適用対象: SDK v4
言語生成 (LG) を使用すると、開発者は、コードやリソース ファイルから埋め込み文字列を抽出し、それらを LG のランタイムとファイル形式を通して管理することができます。 開発者は LG を使用すると、フレーズに対して複数のバリエーションを定義し、コンテキストに基づいて単純な式を実行して会話メモリを参照することにより、より自然な会話エクスペリエンスを作成できます。
Note
LG はBot Framework Composerでサポートされており、SDK 優先ボットでの使用を目的としていません。
開発者は、以下のために LG を使用できます。
- ボットの一貫性のある個性と音声のトーンを実現する
- ビジネス ロジックをプレゼンテーションから分離する
- ボットの任意の返信に、バリエーションや、高度な合成に基づく解決策を含める
- 音声と表示の適応を追加する
- カード、推奨されるアクション、添付ファイルを作成する
LG の中核となっているのは、テンプレートの展開とエンティティの置換です。 展開については、one-of バリエーションを提供するだけでなく、条件付きでのテンプレートの展開も可能です。 LG からの出力は、単純なテキスト文字列にすることも、複数行の応答や複雑なオブジェクト ペイロードにすることもできます。後者は、アクティビティを作成するために LG の上の階層で使用されます。
次に、簡単な案内の LG テンプレートを示します。 あいさつのすべてで、変数 ${user.name}
を使用してメモリ内のユーザー名を参照していることに注目してください。
# greetingTemplate
- Hello ${user.name}, how are you?
- Good morning ${user.name}.It's nice to see you again.
- Good day ${user.name}. What can I do for you today?
動作中の LG
ボットを開発するときにさまざまな方法で LG を使用できます。 開始するには、ユーザーに対するボットの応答と共に言語生成サブシステムを使用する、考えられるすべてのシナリオを網羅した .lg ファイルを 1 つ以上作成します。
多言語生成と言語フォールバック ポリシー
ボットは、複数の音声言語または表示言語をターゲットにしている可能性があります。 TemplateEngine の別個のインスタンスを、ターゲット言語ごとに 1 つ管理できます。
その他のリソース
- .lg ファイルの詳細については、「.lg ファイル形式」を参照してください。
- 複雑なテンプレートの詳細については、構造化された応答テンプレートに関するページを参照してください。
- C# API リファレンス
- JavaScript API リファレンス