public void IgnoreSentencesWithSingleWord([Values("x. ax. y. z")] string text) { var parsedText = ParseText(text); var expected = new Dictionary <string, string>(); var actual = FrequencyAnalysis.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnCorrectResult_OnTextWithTwoSentencesWithOneWord() { var text = "x.y"; var parsedText = ParseText(text); var expected = new Dictionary <string, string>(); var actual = FrequencyAnalysis.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnEmptyDictionary_OnEmptyText() { var text = ""; var parsedText = ParseText(text); var expected = new Dictionary <string, string>(); var actual = FrequencyAnalysis.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnResult_WithMostFrequentBigrams([Values("x y. x z. x y.", "x z. x y. x y", "x y. x y.", "x y")] string text) { var parsedText = ParseText(text); var expected = new Dictionary <string, string> { { "x", "y" } }; var actual = FrequencyAnalysis.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnPairForEveryBigram([Values("x y. y z.", "y z. x y.")] string text) { var parsedText = ParseText(text); var expected = new Dictionary <string, string> { { "x", "y" }, { "y", "z" } }; var actual = FrequencyAnalysis.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public void ReturnCorrectResult_OnTextWithOneSentenceWithMultipleWords() { var text = "x y z"; var parsedText = ParseText(text); var expected = new Dictionary <string, string> { { "x", "y" }, { "y", "z" }, { "x y", "z" } }; var actual = FrequencyAnalysis.GetMostFrequentNextWords(parsedText); AssertResult(expected, actual, text); }
public static void Main(string[] args) { var text = File.ReadAllText("HarryPotterText.txt"); var sentences = SentencesParser.ParseSentences(text); var frequency = FrequencyAnalysis.GetMostFrequentNextWords(sentences); while (true) { var rnd = new Random(); var count = rnd.Next(0, 40); Console.Write("Введите первое слово (например, harry): "); var beginning = Console.ReadLine(); if (string.IsNullOrEmpty(beginning)) { return; } var phrase = TextGenerator.ContinuePhrase(frequency, beginning.ToLower(), count); Console.WriteLine(phrase); } }
public static void Main() { var text = File.ReadAllText("HarryPotterText.txt"); var sentences = text .Split('.') .Select(sentence => sentence.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) .Select(word => word.ToLower()).ToList()) .ToList(); var frequency = FrequencyAnalysis.GetMostFrequentNextWords(sentences); while (true) { Console.Write("Введите первое слово (например, harry): "); var beginning = Console.ReadLine(); if (string.IsNullOrEmpty(beginning)) { return; } var phrase = TextGenerator.ContinuePhrase(frequency, beginning.ToLower(), 11); Console.WriteLine(phrase); } }