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