<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA</id>
	<title>Информационный поиск - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA"/>
	<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA&amp;action=history"/>
	<updated>2026-06-06T16:00:44Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.wikicshse.ru/index.php?title=%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA&amp;diff=2261&amp;oldid=prev</id>
		<title>imported&gt;M8hew: Migrated current public revision from wiki.cs.hse.ru</title>
		<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA&amp;diff=2261&amp;oldid=prev"/>
		<updated>2024-11-08T20:15:39Z</updated>

		<summary type="html">&lt;p&gt;Migrated current public revision from wiki.cs.hse.ru&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Основы информационного поиска ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
Занятия проводятся онлайн по вторникам в 18:10 в [https://us06web.zoom.us/j/9624371278?pwd=WEN6a2hvaU9pR0xpalY2T3JHV0QwUT09 zoom]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Лектор&amp;#039;&amp;#039;&amp;#039;: Алексей Неганов aka [https://t.me/bokareis @bokareis].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Записи пар&amp;#039;&amp;#039;&amp;#039;: TBD&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Текущая ведомость&amp;#039;&amp;#039;&amp;#039;: TBD&lt;br /&gt;
&lt;br /&gt;
== Формула оценки == &lt;br /&gt;
&lt;br /&gt;
Оценка за курс состоит из оценки за задачи и зачета.&lt;br /&gt;
&lt;br /&gt;
Чтобы быть допущенным к зачету балл за задачи должен быть минимум 2.0&lt;br /&gt;
&lt;br /&gt;
3.0 за задачи — удовлетворительная отметка(4 балла) автоматом, можно получить &amp;quot;хорошо&amp;quot; на зачёте &amp;lt;br&amp;gt;&lt;br /&gt;
5.0 — хорошо (6 баллов) автоматом, можно получить &amp;quot;отлично&amp;quot; (8 баллов) &amp;lt;br&amp;gt;&lt;br /&gt;
8.0 — отлично (8 баллов) автоматом, можно получить максимум &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Домашние задания можно желательно сдавать на C/C++, Python, Go &amp;lt;br&amp;gt;&lt;br /&gt;
Допустимо на Java, C#&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Реализуйте LSM-дерево со строковыми ключами (levelled / tiered — на выбор). Дисковые компоненты должны поддерживать бинарный или иной логарифмический поиск без полной выгрузки в RAM. Обязательны Блум-фильтры для компонент.  &lt;br /&gt;
Напишите бенчмарки для вставки, чтения по ключу, чтения короткого диапазона.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 18 октября&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Постройте обратный индекс для набора текстовых документов, используя Roaring bitmaps.&lt;br /&gt;
# Построить индекс (хотя бы в памяти), что позволит выдавать документы, для которых верна булева формула о вхождении слов&lt;br /&gt;
# Для слов применить стеммирование / лемматизацию / очистку от стоп-слов&lt;br /&gt;
# Реализовать индекс как LSM-подобное дерево&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 25 октября&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Взяв за основу индекс из задания 2:&lt;br /&gt;
# Реализовать поиск по префиксу&lt;br /&gt;
# Реализовать поиск по wildcard с помощью k-gram&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 10 ноября&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Взяв за основу индекс из задания 2:&lt;br /&gt;
# Для каждого документа задать дополнительно атрибут даты и искать по диапазону дат, а так же по булевым формулам, содержащим условия на диапазоны дат&lt;br /&gt;
# Пусть у документа присутствуют две даты: начала и окончания жизни (последняя может быть не задана). Реализовать поиск документов,&lt;br /&gt;
#* валидных в диапазоне дат&lt;br /&gt;
#* появившихся в диапазоне дат &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 17 ноября&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Построить позиционный индекс, что позволит выполнять фразовый поиск по документам.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 24 ноября&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Реализуйте FM-index для поиска по подстроке и тесты к нему. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 1 декабря&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 7&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Построить индекс, что позволит давать ранжированные результаты&lt;br /&gt;
# по TF-IDF&lt;br /&gt;
# согласно модели векторного пространства&lt;br /&gt;
# реализовать эффективное Inexact top K ранжирование&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 8 декабря&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 8&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Построить индекс для dense vector (similarity) search, используя BERT для получения эмбеддингов&lt;br /&gt;
# используя Faiss для поиска&lt;br /&gt;
# понижая размерность самостоятельно (randomized PCA, LSH, кластеризация, etc)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 15 декабря&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Задание 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Реализуйте k-d tree и бенчмарк для поиска точки в k-мерном пространстве. Покажите, как меняется скорость поиска с ростом параметра k.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Deadline: 22 декабря&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
* Petrov, A. (2019). Database Internals: A deep dive into how distributed data systems work.&lt;br /&gt;
* Luo, C., &amp;amp; Carey, M. J. (2020). LSM-based storage techniques: a survey.&lt;br /&gt;
* Schütze, H., Manning, C. D., &amp;amp; Raghavan, P. (2008). Introduction to information retrieval.&lt;br /&gt;
* Lemire, D., Ssi‐Yan‐Kai, G., &amp;amp; Kaser, O. (2016). Consistently faster and smaller compressed bitmaps with roaring.&lt;br /&gt;
* Grabowski, S., Raniszewski, M., &amp;amp; Deorowicz, S. (2017). FM-index for Dummies.&lt;br /&gt;
* Navarro, G., &amp;amp; Mäkinen, V. (2007). Compressed full-text indexes.&lt;/div&gt;</summary>
		<author><name>imported&gt;M8hew</name></author>
	</entry>
</feed>