1) подготовить набор текстовых файлов в которых вы будете осуществлять поиск
2) написать программу, которая эти файлы будет индексировать, т.е. считывать эти файлы и разбив на слова (последовательности букв, разделённых пробелами или знаками препинания). Можно использовать любые вспомогательные библиотеки для того, чтобы считывать текст из файла пословно.
а) кодировать каждое новое слово. Причём кодирование должно быть единым для всех текстов, т.е. – если слово в предыдущем тесте уже встречалось и получило свой код – новый код добавлять не нужно.
б) заполнять “прямой индекс”, добавляя туда последовательно код каждого полученного из файла слова
в) формировать “обратный” индекс – каждому уникальному коду/слову соответствует список, в который добавляются номера позиций в которых это слово в тексте встретилось
г) после того, как все тексты проиндексированы, подсчитать: TF для каждого слова в каждом тексте (как часто встречается слово в конкретном тексте); IDF для каждого слова из общей кодовой таблицы (как редко встречается это слово во всех проиндексированных текстах)
3) написать программу, которая после того, как все тексты проиндексированы позволяет:
а) ввести с клавиатуры поисковый запрос (строку), разбивает его на отдельные слова, находит коды этих слов в общей кодовой таблице проиндексированных текстов,
б) проверяет обратные индексы и по ним находит все тексты, в которых встречаются все кодовые слова, а если таких текстов не оказывается, то тексты, в которых есть неполная комбинация этих слов с максимальным общим IDF
в) сортирует найденные тексты в соответствии с одним из двух указанных в задании критериев
г) выводит полученный список файлов (названий), формируя и выдавая для каждого из них СНИППЕТ
Примечания во вложенном файле.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |