1

を使用していますが、 を使用してアクション、パラメーターを検出し、欠落しているパラメーターをユーザーに求めるLuisDialog方法を知りたいです。LuisResultLuisResultアクションとパラメーターが既に含まれていることは知っていますが、ユーザーにプロンプ​​トを表示する最適な方法や、contextId. BotBuilder SDK または一般的な Web で、この件に関する例を見つけることができませんでした。

4

1 に答える 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
        }

これは完全に手動の方法です。 と組み合わせることでさらに自動化できると思いますFormFlowLuisDialog、柔軟性は低くなります。

于 2016-10-31T14:06:34.437 に答える