示例#1
0
        public static Activity GetAboutCards(Activity activity)
        {
            var cards = CardUtilities.CreateCards();

            var image = new List <string>();

            image.Add(@"https://botmood.azurewebsites.net/images/iconNeutro.png");

            var card = CardUtilities.CreateHeroCard("BotMood", "Como você está se sentindo?", "", image);

            cards.Add(card.ToAttachment());

            var msg1 = activity.CreateReply();

            msg1.Attachments = cards;
            return(msg1);
        }
示例#2
0
        public async Task ProcessText(IDialogContext context, string query)
        {
            switch (query)
            {
            case "olá":
            case "ola":
            case "ajuda":
            case "oi":
            case "socorro":
            case "cancelar":
            case "começar":
            case "comecar":
            case "recomeçar":
            case "recomecar":
                await Wellcome(context);

                context.Wait(ReadText);
                return;
            }


            var medidores = new Medidores();

            var    textAnalysis = new TextAnalysisService();
            double sentiment    = await textAnalysis.Sentiment(language : "pt", text : query);

            var medidor = medidores.CalculaMedidor(sentiment);
            var image   = @"https://botmood.azurewebsites.net/images/" + medidor.Image;

            await context.PostAsync("O grau de emoção  é um valor entre 0 e 1, sendo que 0 significa totalmente negativo e 1 totalmente positivo.");

            await context.PostAsync("Naturalmente meu grau de precisão é menor quanto menor for a frase. A brincadeira fica mais legal " +
                                    "se você escrever uma opinião, tal qual faria em um site de opiniões como o TripAdvisor.");

            var img = new List <string>()
            {
                image
            };
            var card1  = CardUtilities.CreateHeroCard("", "Grau de emoção", sentiment.ToString("0.00"), img, null);
            var reply1 = context.MakeMessage();

            reply1.Attachments = CardUtilities.CreateCards();
            reply1.Attachments.Add(card1.ToAttachment());
            await context.PostAsync(reply1);

            var keyPhrases = await textAnalysis.KeyPhrases(language : "pt", text : query);

            if ((keyPhrases != null) && (keyPhrases.Count > 0))
            {
                var key = "";
                foreach (var s in keyPhrases)
                {
                    if (!string.IsNullOrEmpty(s))
                    {
                        if (key.Length > 0)
                        {
                            key = key + ", ";
                        }
                        key = key + s;
                    }
                }
                var card2  = CardUtilities.CreateHeroCard("", "Palavras chave", key, null, null);
                var reply2 = context.MakeMessage();
                reply2.Attachments = CardUtilities.CreateCards();
                reply2.Attachments.Add(card2.ToAttachment());
                await context.PostAsync(reply2);
            }

            //var detectLanguage = await textAnalysis.DetectLanguage(result.Query);

            context.Wait(ReadText);
        }