Мы анонсируем конкурс для получения грантов в рамках направления по анализу данных и машинному обучению летних школ GoTo. К участию приглашаем школьников и младшекурсников. В качестве задания предлагается kaggle-соревнование от Quora, в котором необходимо построить модель для определения вопросов-дубликатов.
Под катом описание условий задачи, ссылки на полезные материалы и пример простого решения.
Модель по определению одинаковых по сути вопросов можно использовать в форумах, техподдержке, онлайн-консультациях и т.д., например, чтобы не плодить одинаковые темы или автоматически отвечать на популярные вопросы. Собственно говоря, довольно полезная история.
В первом приближении эту задачу можно решать в постановке бинарной классификации – по паре вопросов учиться предсказывать, являются ли они дубликатами или нет. Тогда начинает работать стандартный сеттинг машинного обучения – обучение с учителем. Размеченные пары для обучения предоставлены организаторами соревнования, и нам достаточно выполнить два шага: сгенерировать по парам вопросов признаки, а затем выбрать их и обучить классификатор.
Одно из самых простых решений — поверить, что вопросы являются дубликатами, если они состоят из почти одних и тех же слов (модель bag of words). Тогда признаковое описание для одного вопроса – вектор из частот вхождений слов.
Пример решения с такими признаками и логистической регрессией можно найти по здесь.
Дальнейшее развитие решения ограничено только вашей фантазией:
- можно по-разному предобрабатывать текст (выбрасывать частотные слова, использовать стемминг);
- использовать не частоты, а tfidf, брать представления слов из предобученного word2vec;
- обучать на этом всем деревья, нейросети, строить ансамбли моделей.
Больше примеров можно найти ниже:
- Форум данного соревнования на Kaggle,
- Описание возможностей библиотеки NLTK,
- Вводные материалы по машинному обучению от нашей школы, возможно, тоже помогут тем, кто только начинает разбираться в этих темах.
Чтобы подать заявку на грант нужно выполнить следующие шаги:
- Подать заявку на участие до 20 мая на сайте школы с пометкой "Хочу грант" и получить детали проведения конкурса.
- Принять участие в kaggle-соревновании, в нике для рейтинговой таблицы добавить суффикс [GoTo].
- Постараться оказаться как можно выше в итоговой таблице.
- До 4 июня отправить свой ник в таблице и исходный код в формате jupyter тетрадки с комментариями о том, что и почему вы сделали, какие идеи улучшили качество модели, а какие нет, и как вы это проверяете. Если претендуете на денежный приз от Quora, код можете выслать по окончанию конкурса.
По итогам несколько участников получат полные гранты (бесплатное участие), показавшие достойные результаты – частичные гранты. Подробнее в письме, которое будет выслано после регистрации.
О школах:
13 – 26 июня, 1 – 14 июля, 16 – 29 августа в 100 км от Москвы пройдут летние проектные школы GoTo для старшеклассников и младшекурсников, интересующихся прикладным программированием, анализом данных, биоинформатикой, информационной безопасностью, интернетом вещей с робототехникой. Участник каждой школы получает возможность реализовать проект или провести исследование, работу над проектами курируют преподаватели лучших университетов и эксперты ведущих компаний.
В рамках отбора проводятся конкурсы на бесплатное участие по каждому направлению: прикладное программирование, hardware, анализ данных, информационная безопасность, биоинформатика. Анонсы остальных конкурсов выкатим в ближайшее время.
Все вопросы или предложения можно присылать на school@goto.msk.ru.
Автор: bibilov