public IHttpActionResult Post([FromBody] Activity activity) { if (string.IsNullOrEmpty(activity.Text)) { return(NotFound()); } string reply = ""; if (activity.Type == ActivityTypes.Message) { // calculate something for us to return int length = (activity.Text ?? string.Empty).Length; var keyPhrases = TextAnalytics.GetKeyPhrases(activity.Text, activity.Id); //MessageDB.MessagesList.Add(message); var keys = _keyWords_manager.FindKeyWords(activity.Text, _question_manager.CurrentTopic); if (keys.Count == 0) { var topic = _keyWords_manager.RecognizeTopic(activity.Text); if (topic != Topic.None) { reply = _question_manager.GetQuestion(topic); } } _question_manager.AllowToNextQuestion = keys.Count > 0; if (String.IsNullOrEmpty(reply)) { if (_question_manager.CurrentTopic == Topic.Experience) { if (_question_manager.CurrentTopic == Topic.Experience) { string txt = ""; foreach (var key in keyPhrases.Result.documents) { txt += key + ", "; } txt += " seems cool!"; } } reply = _question_manager.GetQuestion(); } // connector.Conversations.ReplyToActivityAsync(reply); } else { HandleSystemMessage(activity); } //var response = Request.CreateResponse(HttpStatusCode.OK); //response.Content = //return response; return(Ok(reply)); }
public async Task <IActionResult> GetCommentsAnalyse([FromRoute] Guid eventId) { var model = new List <CommentAnalyticsDTO>(); var comments = await _commentRepo.Comments(eventId); if (!comments.IsNullOrEmpty()) { var inputs = new List <Input>(); foreach (var comment in comments) { inputs.Add(new Input() { Id = comment.Id.ToString(), Text = comment.Content }); model.Add(new CommentAnalyticsDTO() { CommentId = comment.Id, Content = comment.Content, CreatedAt = comment.CreatedAt }); } TextAnalytics _textAnalytics = new TextAnalytics(); var multiLanguageInputs = new List <MultiLanguageInput>(); var languageResult = _textAnalytics.DetectLanguage(inputs); if (languageResult != null) { for (int i = 0; i < languageResult.Documents.Count; i++) { foreach (var item in model) { if (item.CommentId.ToString() == languageResult.Documents[i].Id) { item.Language = languageResult.Documents[i].DetectedLanguages[0].Name; item.LanguageCode = languageResult.Documents[i].DetectedLanguages[0].Iso6391Name; } } multiLanguageInputs.Add(new MultiLanguageInput() { Id = model[i].CommentId.ToString(), Language = model[i].LanguageCode, Text = model[i].Content }); } var keyPhrases = _textAnalytics.GetKeyPhrases(multiLanguageInputs); if (keyPhrases != null) { for (int i = 0; i < keyPhrases.Documents.Count; i++) { foreach (var item in model) { if (item.CommentId.ToString() == keyPhrases.Documents[i].Id) { item.KeyPhrases = keyPhrases.Documents[i].KeyPhrases.ToList(); } } } } var sentimentResult = _textAnalytics.GetSentiment(multiLanguageInputs); if (sentimentResult != null) { for (int i = 0; i < sentimentResult.Documents.Count; i++) { foreach (var item in model) { if (item.CommentId.ToString() == sentimentResult.Documents[i].Id) { item.Sentiment = sentimentResult.Documents[i].Score.ToString(); } } } } } } return(Ok(model)); }