public IActionResult SaveTextAnalysisForUser([FromHeader] string userId, [FromHeader] string timestamp, [FromHeader] string date, [FromHeader] string lastKnownLocation, [FromBody] string text) { TextAnalysis userTextAnalysis = null; var result = helperMethods.processedText(text); var textAnalysisResult = textAnalysis(result); using (var database = new LiteDatabase(@"TextAnalysis1.db")) { var usersTextAnalysis = database.GetCollection <TextAnalysis>("UserTextAnalysis"); var allUsers = database.GetCollection <User>("User"); var user = allUsers.FindOne(x => x.userId == userId); if (user == null) { return(NotFound("The user with id " + userId + " could not be found! Create the user first.")); } else { var newUserTextAnalysis = new TextAnalysis { Id = Guid.NewGuid().ToString(), userId = userId, text = text, textAnalysisResult = textAnalysisResult, timestamp = timestamp, date = date, lastKnownLocation = lastKnownLocation }; userTextAnalysis = newUserTextAnalysis; usersTextAnalysis.Insert(newUserTextAnalysis); } return(Ok("Text analysis information for user with id " + userId + " has been successfully saved in the database.")); } }
public ActionResult Index(TextAnalysis model = null) { if (model != null) { model = new TextAnalysis(); model.Text = "А й правда, крилатим ґрунту не треба.\n" + "Землі немає, то буде небо.\n\r" + "Немає поля, то буде воля.\n" + "Немає пари, то будуть хмари. \n\r" + "В цьому, напевно, правда пташина...\n" + "А як же людина? А що ж людина? \n\r" + "Живе на землі. Сама не літає.\n" + "А крила має. А крила має! \n\r" + "Вони, ті крила, не з пуху-пір*я,\n" + "А з правди, чесноти і довір*я. \n\r" + "У кого - з вірності у коханні.\n" + "У кого - з вічного поривання. \n\r" + "У кого - з щирості до роботи.\n" + "У кого - з щедрості на турботи. \n\r" + "У кого - з пісні, або з надії,\n" + "Або з поезії, або з мрії. \n\r" + "Людина нібито не літає...\n" + "А крила має. А крила має!"; } return View(model); }
static void Main(string[] args) { string json = @"{'text':'The quick brown fox jumps over the lazy dog!','word_count':9,'mean_word_length':3.888888888888889,'unique_letters':['t','h','e','q','u','i','c','k','b','r','o','w','n','f','x','j','m','p','s','v','l','a','z','y','d','g'],'word_frequencies':{'the':2,'quick':1,'brown':1,'fox':1,'jumps':1,'over':1,'lazy':1,'dog':1}}"; TextAnalysis analysis = JsonConvert.DeserializeObject <TextAnalysis>(json); Console.WriteLine("Executed successfully"); // TODO: check that analysis contains correct data }
private void MergeClick(object sender, RoutedEventArgs e) { var selected = ConnectionList.SelectedItems; var unions = new List <ConnectionUnion>(); var tempnames = new List <string>(); foreach (ConnectionUnion item in selected) { unions.Add(item); tempnames.Add(item.Name); } if (unions.Count != 1) { var predictedname = TextAnalysis.GetCommonInListOfStrings(tempnames); var tempunion = new ConnectionUnion("new"); var dialog = new Popups.PopupDialog("Введите имя для нового массива.", predictedname); if (dialog.ShowDialog() == true) { tempunion.Name = dialog.ResponseText; } var tempchanellist = new List <Chanel>(); foreach (var union in unions) { foreach (var chanel in union.Chanels) { tempchanellist.Add(chanel); } Connections.Remove(union); } tempunion.Chanels = tempchanellist.OrderBy(x => x.ConnectionName, new AlphanumComparatorFast()).ToList(); Connections.Add(tempunion); ConnectionList.ItemsSource = null; ConnectionList.ItemsSource = Connections; var selectedindex = ConnectionList.SelectedIndex; SelectedUnion.ItemsSource = null; if (selectedindex != -1) { SelectedUnion.ItemsSource = Connections.ElementAt(selectedindex).Chanels; ConnectionList.SelectedIndex = selectedindex; } else { var lastindex = Connections.Count - 1; SelectedUnion.ItemsSource = Connections.ElementAt(lastindex).Chanels; ConnectionList.SelectedIndex = lastindex; } } }
public void RunTasks() { //TaskOne(1000); TextAnalysis tasktwo = new TextAnalysis("hello, world!"); tasktwo.NumberOfDiffCharacters(); tasktwo.TotalNumberOfCharacters(); tasktwo.PercentNonCharacters(); tasktwo.NumberOfSpecificCharacter('l'); }
public List <TextAnalisysFormField> AnalyzeSpeechAsync([FromBody] IEnumerable <SpeechAnalisys> speech) { var text = string.Join(" ", speech.Select(x => { var text = x.Sentence.Replace("St.", "Street"); if (!text.EndsWith(".") && !text.EndsWith("!") && !text.EndsWith("?")) { text += "!"; } return(text); })); var result = AnalyzeSyntaxHelper.AnalyzeSyntax(text); var reverseTokens = TextAnalysisUtils.ReverseRelations(result.Tokens.ToList()); var sentences = new List <List <ReversedToken> >(); var nextSentenceStart = 0; while (nextSentenceStart < text.Length) { var sentence = TextAnalysisUtils.FindNextSentence(reverseTokens, text, nextSentenceStart); var lastToken = sentence.Last(); nextSentenceStart = lastToken.OriginalToken.Text.BeginOffset + 1; sentences.Add(sentence); } var summaries = new List <SentenceSummary>(); foreach (var item in sentences.Select((sentence, index) => new { sentence, index })) { summaries.AddIfNotNull(TextAnalysisLogic.SummarizeFacts(item.sentence, item.index, summaries)); } var extraInfo = new List <SentenceSummary>(); foreach (var question in summaries.Where(x => x.GeneralQuestion != null || x.SpecialQuestion != null)) { TextAnalysisLogic.AssignAnswer(question, summaries, extraInfo); } var analysis = new TextAnalysis() { Summaries = summaries, Extras = extraInfo }; return(TextAnalysisLogic.PlaceAnswers(analysis)); // Map from result }
public async Task CanSerializeBodyRequestCorrectly() { var stream = new MemoryStream(); using (var streamPipeWriter = new StreamPipeWriter(stream)) { TextAnalysis.WriteRequest(streamPipeWriter, "This is a body of text\n with a new line"); await streamPipeWriter.FlushAsync(); } stream.Flush(); stream.Seek(0, SeekOrigin.Begin); var text = new StreamReader(stream, Encoding.UTF8).ReadToEnd(); text.ShouldBe(@"{""documents"":[{""language"":""en"",""id"":""doc"",""text"":""This is a body of text\n with a new line""}]}"); }
public ActionResult Analysis(TextAnalysis model) { var txt = model.Text; txt = Regex.Replace(txt, @"[^\w\s]", string.Empty); txt = txt.Replace("\r\n", string.Empty); var words = txt.Split(); var dictionary = new Dictionary<string, int>(); foreach (var word in words) { if (dictionary.ContainsKey(word)) { dictionary[word] = dictionary[word] + 1; } else { dictionary.Add(word, 1); } } model.Counts = dictionary; return View("Index", model); }
static void Main(string[] args) { var line = "================================"; var read = new TextReader("input.txt"); var parser = new TextParser(read.Read()); var text = parser.Parse(); Console.WriteLine(text); //1 Вывести все предложения заданного текста в порядке возрастания количества слов в каждом из них. Console.WriteLine(line); foreach (var x in text.SortSentences()) { Console.WriteLine(x); } //2 Во всех вопросительных предложениях текста найти и напечатать без повторений слова заданной длины. Console.WriteLine(line); foreach (var x in text.FindWordsOfPredeterminedLength(7)) { Console.WriteLine(x); } //3 Из текста удалить все слова заданной длины, начинающиеся на согласную букву. Console.WriteLine(line); var copyOfText = (Text)text.Clone(); copyOfText.RemoveWordsWithFirstConsonant(7); Console.WriteLine(copyOfText); //4 В некотором предложении текста слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова. Console.WriteLine(line); text.ReplaceWords(0, 5, "Stas"); Console.WriteLine(text); TextAnalysis hello = new TextAnalysis(text); Console.WriteLine(hello.PrintTable()); Console.ReadKey(); }
public static List <TextAnalisysFormField> PlaceAnswers(TextAnalysis analysis) { var conversion = new List <TextAnalisysFormField>(); foreach (var question in analysis.Summaries.Where(x => x.Answer == null)) { if (Constants.NameKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-fullname", Value = question.CombinedAnswerText }); } else if (Constants.AddressKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-address", Value = question.CombinedAnswerText }); } else if (Constants.CityKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-city", Value = question.CombinedAnswerText }); } else if (Constants.StateKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-state", Value = question.CombinedAnswerText }); } else if (Constants.PhoneKeywords.CaseInsensitiveContains(question.KeyWords) && (Constants.RelationshipTypes.CaseInsensitiveContains(question.KeyWords) || question.Names.Any())) { conversion.Add(new TextAnalisysFormField() { Key = "emergency-phone", Value = question.CombinedAnswerText }); } else if (Constants.PhoneKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-phone", Value = question.CombinedAnswerText }); } else if (Constants.DateKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-dob", Value = question.CombinedAnswerText }); } else if (Constants.ContactKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "emergency-name", Value = question.CombinedAnswerText }); } else if (Constants.RelationshipKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "emergency-relationship", Value = question.CombinedAnswerText }); } else if (Constants.MedicineQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "medical-medications", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.HeadacheQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-headaches", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.CancerQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-cancer", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.HeartQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-heart", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.NumbnessQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-numbness", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.DiabetesQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-diabetes", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.PressureQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-pressure", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.AllergyQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-allergy", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.SpineInjuriesQuestionKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "health-neckback", Value = GetGeneralQuestionAnswer(question.CombinedAnswerText) }); } else if (Constants.AppointmentKeywords.CaseInsensitiveContains(question.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "reason-appointment", Value = question.CombinedAnswerText }); } } var medicalDetails = new TextAnalisysFormField() { Key = "medical-details" }; var medicalDetailsText = new StringBuilder(); foreach (var extra in analysis.Extras) { if (Constants.CityKeywords.CaseInsensitiveContains(extra.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-city", Value = extra.CombinedAnswerText }); } else if (Constants.StateKeywords.CaseInsensitiveContains(extra.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "bio-state", Value = extra.CombinedAnswerText }); } else if (Constants.RelationshipKeywords.CaseInsensitiveContains(extra.KeyWords)) { conversion.Add(new TextAnalisysFormField() { Key = "emergency-relationship", Value = extra.CombinedAnswerText }); } else if (Constants.MedicineQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Medicine: " + extra.CombinedAnswerText); } else if (Constants.HeadacheQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Headache: " + extra.CombinedAnswerText); } else if (Constants.CancerQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Cancer: " + extra.CombinedAnswerText); } else if (Constants.HeartQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Heart/Circulation: " + extra.CombinedAnswerText); } else if (Constants.NumbnessQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Numbness: " + extra.CombinedAnswerText); } else if (Constants.DiabetesQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Diabetes: " + extra.CombinedAnswerText); } else if (Constants.PressureQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Blood Pressure: " + extra.CombinedAnswerText); } else if (Constants.AllergyQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Allergies: " + extra.CombinedAnswerText); } else if (Constants.SpineInjuriesQuestionKeywords.CaseInsensitiveContains(extra.KeyWords)) { medicalDetailsText.AppendWithSpace("Neck/Back: " + extra.CombinedAnswerText); } } medicalDetails.Value = medicalDetailsText.ToString(); conversion.Add(medicalDetails); return(conversion); }
public JObject Post(TextAnalysis text) { return(new JObject { ["message"] = text.Calculate() }); }