Skip to content

Xo3-ToBapbl/Task_2-Concordance-

Repository files navigation

Task_2-Concordance-Description

Обычной проблемой анализа текстов является определение частоты и расположения слов в документе. Эта информация запоминается в конкордансе, где различные слова перечислены в алфавитном порядке и каждое слово снабжено ссылками на строки текста, в которых это слово встречается. Рассмотрим следующую цитату.

Peter Piper picked a peck of pickled peppers. A peck of pickled

peppers Peter Piper picked. If Peter Piper picked a peck of

pickled peppers, where is the peck that Peter Piper picked?

Слово ""piper"" встречается здесь 4 раза в строках 1, 2 и 3. Слово ""pickled"" встречается 3 раза в строках 1 и 3. Результат обработки этого текста представляется списком слов в алфавитном порядке, для каждого слова указывается частота его появления в тексте (количество вхождений) и список номеров строк, в которых встречается это слово. Если слово встречается в строке более одного раза, то номер этой строки указывается в списке только один раз:

a.................................3: 1 2

if.................................1: 2

is................................1: 3

of................................3: 1 2

peck............................4: 1 2 3

peppers.......................3: 1 2 3

peter............................4: 1 2 3

picked..........................4: 1 2 3

pickled.........................3: 1 3

piper............................4: 1 2 3

that..............................1: 3

the...............................1: 3

where...........................1: 3

Требуется: осуществить обработку текстового файла, содержащего некоторый многостраничный текст. Будем считать, что одна страница текста состоит из N строк. Результ обработки – текстовый файл, содержащий предметный указатель встречающихся в тексте слов. В предметном указателе перечисляются слова в алфавитном порядке. Для каждого слова указывается количество его вхождений в текст и номера страниц, на которых встречатся это слово. При формировании предметного указателя, слова, начинающиеся с разных букв алфавита разделяются на группы:

А

a...............................120: 1 2 3 4 5 6 7 8 9 10 11 12

and............................89: 1 2 3 6 8 9 12

apple...........................3: 7 9

B

bag.............................2: 11 12

big..............................7: 5 7 10

C

cake..........................1: 3

circle..........................3: 8 9

. . .

и т.д."

Требования

"Объектная модель; Использование первичные данных задачи при обосновании членов классов;

Использование интерфейсов и низкая связанность между классами;

Предпочтительное использование LINQ запросов при выполнении операций;

Разумный exception handling;

Примеры использование Regex при парсинге исходного текста;

Использование конфигурации для хранения путей к файлам;

Возможность сохранения объектной модели в виде текстового файла;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages