Подсчет встречаемости слова и его синонимов из файла - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д