Pull to refresh

Хакатон и зимняя научная школа по глубокому обучению и вопросно-ответным системам

Reading time 3 min
Views 9.6K
Сегодня машины без труда “связывают два слова” (1, 2), но пока не умеют гарантированно вести диалог на общие темы. Однако, уже завтра вы будете просить их правильно составить резюме и выбрать для ваших детей лучшую секцию по шахматам недалеко от дома. Хотите разобраться подробней, как в этом направлении работают ученые из Facebook, Google и др? Приходите их послушать.


С 31 января по 5 февраля в Московском физико-техническом институте при научной поддержке Лаборатории нейронных систем и глубокого обучения пройдет второй международный хакатон по глубокому обучению и машинному интеллекту DeepHack.Q&A. В рамках научной школы хакатона ведущие мировые специалисты из Google Brain, Facebook AI Research, OpenAI, Skoltech, University of Oxford, Courant Institute of Mathematical Sciences в NYU, прочтут серию лекций по глубокому обучению и его применению к задачам обработки естественного языка. Большинство из них — удаленно, однако ожидается личное присутствие Роба Фергуса (Rob Fergus) и Фила Блансома (Phil Blunsom).

Про тему. Хакатон будет посвящен задаче The Allen AI Science Challenge. От участников требуется разработать программу, способную самостоятельно обучиться отвечать на вопросы уровня 8 класса американской школы. Для этого участникам даны тренировочный (2 500 вопросов) и валидационный (8 132 вопроса) наборы вопросов в формате csv-файла с 4-мя вариантами ответа. Для тестового набора известны правильные ответы. Валидационный набор необходим для того, чтобы определить уровень точности ответов вашей системы и, соответственно, ранжировать заявленные решения по этому критерию. В наборах присутствуют вопросы по основным предметам школьной программы: физика, биология, география и др.

Постановка задачи выглядит настолько общей, что создается впечатление, что подступиться к ее решению, не обладая глубокой экспертизой в области обработки естественного языка, невозможно. Однако это не совсем так. Можно в несколько строк кода применить уже наработанные нейросетевые методы и получить результат в 32% точности.

Именно это сделали ребята из команды 5vision (кстати, победители летнего хакатона) и опубликовали свое решение на форуме Kaggle и Github. Инструкцию по установке вы найдете здесь. Если вдруг есть непреодолимое желание использовать Linux, но под рукой его у вас нет, то можете бесплатно зарегистрироваться на koding.com (или много еще где) и запустить все там. Теперь хотелось бы подробней остановится на том, что это решение делает.

Оно основано на одной из реализаций представления слов в многомерном векторном пространстве — GloVe (Global Vector for Word Representation), где близким по смыслу словам ставятся в соответствие близкие в евклидовой метрике вектора. Более известная реализация word2vec уже освещалась на Хабре (1,2,3 и др) (а один из авторов этой реализации Томас Миколов (Tomas Mikolov), будет читать лекции на хакатоне).

Применение GloVe (glove_predict.py) к вопросу выглядит следующим образом:
  1. Предобработка вопроса:
    • выкидываем все, кроме заглавных и строчных букв английского алфавита и пробела.
    • выкидываем так называемые “стоп”-слова (слова, которые практически не влияют на смысл предложения).
  2. Задаем нулевое векторное представление вопроса q = 0.
  3. Проходим циклом по всем оставшимся словам вопроса и прибавляем к q векторное представление каждого слова.
  4. Проводим аналогичные вычисления векторного представления всех четырех ответов.
  5. Выбираем тот ответ, расстояние до которого от вектора q наименьшее.

Данная реализация дает 32% точности на валидационном наборе.

У 5vision есть и другая более “классическая” реализация (ck12_wiki_predict.py), основанная на применении меры TF-IDF. Работает она так:
  1. Парсим ключевые слова по основным темам с сайта www.ck12.org (для примера тема “Физика”: http://www.ck12.org/physics/).
  2. Скачиваем документы из википедии по собранным ключевым словам.
  3. Вычисляем меры TF и IDF для данной коллекции документов и слов.
  4. Для каждого вопроса выбираем наиболее релевантную статью из коллекции.
  5. Для каждого ответа считаем его релевантность по отношению к данной статьи и выбираем тот, что дает максимальное значение.

Эта реализация дает 36% точности. Для представления масштаба результатов стоит отметить, что на текущий момент первое место в рейтинге отвечает правильно на 56% вопросов.

Конкурс имеет ряд особенностей (здесь можно найти обзор-выжимку с форума конкурса) — например, итоговое решение должно работать без доступа к интернету. И вообще, чтение форума конкурса может дать очень много полезного.

Расписание мероприятие такое же как и на прошлом DeepHack’e.

Воскресенье: сбор участников, организационное собрание, формирование команд, настройка окружения, вводная лекция и первый ночной запуск расчёта.

Понедельник-Пятница: обсуждение промежуточных результатов, программирование новых решений, выработанных в команде, лекции, запуск расчетов.

Суббота: подведение итогов, награждение победителей.

Всем участникам также будет предоставлено проживание и вычислительные ресурсы. Но свой ноутбук надо принести с собой.

В скором времени мы планируем опубликовать обзор нейросетевых архитектур в области обработки естественного языка, из которого можно будет почерпнуть идеи для улучшения текущих решений.
Only registered users can participate in poll. Log in, please.
Насколько Вам интересна тема обработки естественного языка?
14.43% Я занимаюсь обработкой естественного языка профессионально. 14
14.43% Я занимаюсь обработкой естественного языка в качестве хобби. 14
59.79% Я хотел бы заниматься обработкой естественного языка. 58
11.34% Я не планирую заниматься обработкой естественного языка. 11
97 users voted. 17 users abstained.
Tags:
Hubs:
+12
Comments 7
Comments Comments 7

Articles