Example #1
0
        /// <summary>
        /// Return the top scoring intent and its score.
        /// </summary>
        /// <param name="result">Recognizer result.</param>
        /// <returns>Intent and score.</returns>
        public static (string intent, double score) GetTopScoringIntent(this RecognizerResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            if (result.Intents == null)
            {
                throw new ArgumentNullException(nameof(result.Intents));
            }

            var topIntent = (string.Empty, 0.0d);
            foreach (var intent in result.Intents)
            {
                var score = (double)intent.Value["score"];
                if (score > topIntent.Item2)
                {
                    topIntent = (intent.Key, score);
                }
            }

            return topIntent;
        }
Example #2
0
        private async Task <DialogTurnResult> ManageIntentions(WaterfallStepContext stepContext, Microsoft.Bot.Builder.RecognizerResult luisResult, CancellationToken cancellationToken)
        {
            var TopIntent = luisResult.GetTopScoringIntent();

            switch (TopIntent.intent)
            {
            case "Saludar":
                await IntentSaludar(stepContext, luisResult, cancellationToken);

                break;

            case "Agradecer":
                await IntentAgradecer(stepContext, luisResult, cancellationToken);

                break;

            case "Despedir":
                await IntentDespedir(stepContext, luisResult, cancellationToken);

                break;

            case "VerOpciones":
                await IntentVerOpciones(stepContext, luisResult, cancellationToken);

                break;

            case "Calificar":
                return(await IntentCalificar(stepContext, luisResult, cancellationToken));

            case "None":
                await IntentNone(stepContext, luisResult, cancellationToken);

                break;

            default:
                break;
            }
            return(await stepContext.NextAsync(cancellationToken : cancellationToken));
        }
Example #3
0
        private async Task <DialogTurnResult> ManageIntentions(WaterfallStepContext stepContext, Microsoft.Bot.Builder.RecognizerResult luisResult, CancellationToken cancellationToken)
        {
            var TopIntent = luisResult.GetTopScoringIntent();

            switch (TopIntent.intent)
            {
            case "Saludar":
                await IntentSaludar(stepContext, luisResult, cancellationToken);

                break;

            /*case "Agradecer":
             *  await IntentAgradecer(stepContext, luisResult, cancellationToken);
             *  break;
             * case "Despedir":
             *  await IntentDespedir(stepContext, luisResult, cancellationToken);
             *  break;*/
            case "MatrĂ­culas":
                await IntentMatriculas(stepContext, luisResult, cancellationToken);

                break;

            case "Video":
                await IntentVideo(stepContext, luisResult, cancellationToken);

                break;

            case "Perfil":
                await IntentPerfil(stepContext, luisResult, cancellationToken);

                break;

            case "Calificacciones":
                await IntentCalificaciones(stepContext, luisResult, cancellationToken);

                break;

            case "BuscarCurso":
                await IntentBuscarCurso(stepContext, luisResult, cancellationToken);

                break;

            case "Confirmacion":
                await Confirmacion(stepContext, luisResult, cancellationToken);

                break;

            case "VerOpciones":
                await IntentVerOpciones(stepContext, luisResult, cancellationToken);

                break;

            case "VerCentroContacto":
                await IntentVerCentroContacto(stepContext, luisResult, cancellationToken);

                break;

            case "Calificar":
                return(await IntentCalificar(stepContext, luisResult, cancellationToken));

            case "None":
                await IntentNone(stepContext, luisResult, cancellationToken);

                break;

            default:
                break;
            }
            return(await stepContext.NextAsync(cancellationToken : cancellationToken));
        }