Приветствую вас друзья.
Изучаю C# по книге Эндрю Троелсена. В данный момент вышел на уровень полного понимания того, о чём пишет автор. Так что чувствую в себе силы приступить к написанию своей первой программы на C#.
Придумал себе такую задачу-исследование:
Исследовать 100 английских книг, сгруппированных в 10 различных тематик.Задача
Определить самые часто-используемые слова:
- Во всех 100 книгах.
- В каждой из 10 тематик.
Программу планирую написать универсальную, удобную, и так далее.
К реализации общих моментов (проектирование, отображение данных, хранение данных и т. д.) у меня особых вопросов нет. Интуитивно я понимаю, как нужно действовать. Троелсен подобные моменты хорошо разобрал.
А вот в плане реализации самого алгоритма у меня огромный ступор. Чтобы понять с чего начать, как действовать и в каком направлении двигаться, я решил поступить следующим образом:
- Упростить задачу.
- Задать вопросы знатокам, чтобы получить хотя бы примерный план действий.
Упрощённая задачаПодсчитать частоту вхождения каждого слова (и его вариаций) в большом текстовом документе.
Исходные данные:
Текстовый документ (книга). Количество слов в документе может доходить до нескольких сотен тысяч. Например, в книге "Pro C# 5.0 and the .NET 4.5 Framework (Andrew Troelsen)" примерно 433 000 слов.
Что нужно сделать:
Подсчитать количество вхождений в документ:
- Каждого слова.
- Каждой группы однокоренных слов.
Пример группы однокоренных слов:
follow
followed
follower
followers
following
followership
Вопросы знатокам:
С чего начать? Как подступиться к решению этой задачи? В каких направлениях копать?
Кто-то сможет описать хотя бы примерный алгоритм?