私のボットがドイツ語の言語をサポートします。ですから、英語モデルと同じ意図とエンティティで、ドイツ語用の別個のモデルを作成しました。ユーザー言語に基づいて実行時に特定のモデルを選択する方法どうやら、ユーザーに言語設定を選択させ、Bot Databagに保存してから、それに基づいて "en"または "de"と設定することができます。しかし、どのようにランタイムにドイツ語/英語モデルを選択できますか?私はドイツ語と英語の両方のモデルキーを持つLuisモデルを属性として使用しています。 P.P.私は他の関連記事を読んでおり、彼らは異なる意図と実体を持つ約2つのモデルです。私はロケールの異なる2つのモデルを持っています。複数のLuis langugeモデルをBot Framework(C#SDK)の単一のLuis Dialogに統合する方法
[LuisModel("LuisID", "English Model-Key")]
[LuisModel("LuisID", "German Model-Key")]
[Serializable]
public class LUISDialogClass : LuisDialog<object>
{
public LUISDialogClass(params ILuisService[] services) : base(services)
{
}
[LuisIntent("A")]
public async Task A(IDialogContext context, LuisResult result)
{
}
[LuisIntent("B")]
public async Task B(IDialogContext context, LuisResult result)
{
}
}
をが、各ルイス・アプリの発話が異なる言語の右にある次のよう
D)あなたのコードでそれを使用しますか?だから、それは自動的に処理されるべきですか、それはあなたが見ているものではありませんか? LUISモデルは特定の意図を返します。そしてそれはスコアリングの問題になります。英語での発話はドイツ語よりもスコアが高くなります –
@EzequielJadib、はいutterencesは異なる言語です。だから、Luisのダイアログは両方のアプリにリクエストを送信して応答を得て、そのうちの1つは無関係に課金されますか?私は、ロケールに基づいて1つのアプリケーションだけにリクエストを送信したいと思います。また、私は自分のコードで各言語の複数のルイスダイアログを追加したくありません。 –
@EhsanUlHaqあなたはすべてのロジックが存在する抽象スーパークラスを作成し、各サブクラスはそれを拡張し、Luis Annotationに目的のLuis credを追加します。今忙しい。しかし、私は後で答えを完成させます。 – rinormaloku