Создать базу документов для поиска (можно разбить на куски один длинный текст).
Для полученной базы документов создать прямые и обратные поисковые индексы (в прямой индекс включить количество слов в документе – для дальнейшего вычисления TF).Для всех слов обратного индекса посчитать IDF.
Реализовать два алгоритма поиска в базе текстов по запросу (набору ключевых слов):
а) документы, для которых сумма произведений TF*IDF всех слов входящих в запрос (индекс TF вычисляется динамически – исходя из количества вхождений слова в данный документ, эта информация есть в обратном индексе и количества слов в данном документе из прямого индекса) максимальна.
б) документы, в которых расстояние между всеми словами входящими в запрос (сумма расстояний) минимально (если в документе слова из запроса встречаются по нескольку раз – выбирается такая их комбинация, что расстояние минимально).
Отобрать до 5 документов (в порядке убывания суммы TF*IDF / возрастания суммы расстояний).
Для отобранных документов по прямым индексам этих документов построить сниппеты (фрагменты текста, максимально соответствующего запросу).
Оформить всё в виде отчёта (описанием базовых алгоритмов, датасетов, методики реализации и скриншотами работы программы).
По работе должен быть представлен полноценный отчет, а весь код должен быть подробно прокомментирован. Поскольку код получится более объёмным, нежели в предыдущих лабораторных работах - приводить его в отчете полностью не следует - только ключевые части кода с реализацией самых важных алгоритмов. Полный код выложить в виде отдельных файлов.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |