を使用していますが、 を使用してアクション、パラメーターを検出し、欠落しているパラメーターをユーザーに求めるLuisDialog
方法を知りたいです。LuisResult
にLuisResult
アクションとパラメーターが既に含まれていることは知っていますが、ユーザーにプロンプトを表示する最適な方法や、contextId
. BotBuilder SDK または一般的な Web で、この件に関する例を見つけることができませんでした。
1 に答える
1
私の大まかなアプローチはこれです。たとえば、LuisResult
. それらが見つからない場合は、ユーザーにプロンプトを表示する必要があります。
最初に、欠落しているエンティティを確認します。何かが不足している場合は、ユーザーにプロンプトを表示し、新しいデータを処理する別のメソッドに応答をリダイレクトします。既に受信した LuisResult を最初に保存する必要がありますConversationData
。
var requiredEntities = new List<string>()
{
"builtin.places.place_name",
"builtin.places.place_type"
};
string askForMore = null;
foreach(var entity in requiredEntities)
{
EntityRecommendation temp;
var found = result.TryFindEntity(entity, temp);
if (!found)
{
//Prompt the user for more information
askForMore = entity;
}
}
if (askForMore != null)
{
//TODO: store values from existing LuisResult for later use
//For example, use ConversationData for storage.
context.PostAsync("Please enter value for entity " + askForMore);
context.Wait(AdditionalUserInputReceived);
}
else
{
//do normal stuff
}
これは完全に手動の方法です。 と組み合わせることでさらに自動化できると思いますFormFlow
がLuisDialog
、柔軟性は低くなります。
于 2016-10-31T14:06:34.437 に答える