Подсчет встречаемости слова и его синонимов из файла - C#
Формулировка задачи:
Имеется файл такой структуры:
Структура строки:
[управление][управление, управлению, управления, управлением, управлении]
[менеджмент][менеджмента, менеджмент, менеджменте, менеджменту]
[организация][организации, организация, организациях, организациями, организаций, организацией, организацию]
[управленческий][управленческую, управленческий, управленческой, управленческих, управленческого, управленческая, управленческим, управленческие, управленческом]
[бизнес][бизнес, бизнесе, бизнесом, бизнеса, бизнесу]
[человек][человека, человек, человеку, людей, людьми, люди, человеке, людям]
[который][которое, который, которая, которые, которого, которых, которую, которым]
[наш][наше, наш, нашем, нашему, наши, наших, нашей, наша, нашего]
[система][системы, система, систему, системе, систем, системах, системой, системами]
[слово_id][синонимы и однокоренные слова в тексте через запятую]
Имеется файл с обычным текстом, как реализовать подсчет [слово_id] в тексте, что бы в него так же подсчитывалась сумма каждого слова встречаемого в строке? [управление] 400 раз встречается [менеджмент] 320 раз встречается ....Решение задачи: «Подсчет встречаемости слова и его синонимов из файла»
textual
Листинг программы
- public static void Main(string[] args)
- {
- string vocabularText = File.ReadAllText("synonyms.txt");
- string text = File.ReadAllText("text.txt");
- var wordCounts = new Dictionary<string, int>();
- var wordMap = new Dictionary<string, string>();
- foreach (Match line in Regex.Matches(vocabularText, @"\[(.+)\]\[(.+)\]"))
- {
- wordCounts.Add(line.Groups[1].Value, 0);
- foreach (Match synonym in Regex.Matches(line.Groups[2].Value, @"\w+"))
- wordMap.Add(synonym.Value, line.Groups[1].Value);
- }
- foreach (Match word in Regex.Matches(text, @"\w+"))
- {
- string original;
- if (wordMap.TryGetValue(word.Value, out original))
- wordCounts[original]++;
- }
- foreach (var e in wordCounts.OrderByDescending(pair => pair.Value))
- Console.WriteLine("[{0}] {1} раз встречается", e.Key, e.Value);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д