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

в 6:05, , рубрики: data mining, вопросно-ответные системы, машинное обучение, нейронные сети, обработка естественного языка, понимание естественного языка, Программирование, хакатон, метки:

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

С 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.

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

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

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

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

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

Автор: e777

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js