Сегодня машины без труда “связывают два слова” (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.

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

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

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

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

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

Проголосовало 87 человек. Воздержалось 16 человек.

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

Комментарии (5)


  1. kraidiky
    29.12.2015 12:10
    -4

    А зачем на американском материале проводить хакатон в России?
    Сложность языка пугает или есть заказчик хакатона который выдвигает требование, что AI нужно строго на английском языке заниматься?


  1. e777
    29.12.2015 14:36
    +1

    Для нейросетевых алгоритмов обработки естественного языка сам язык роли практически не играет (хотя различия в работе алгоритмов есть). А, например, на том же Диалоге-2015 среди победивших алгоритмов подавляющее большинство — нейросетевых. На базе конкурса Kaggle технически организовать соревнование намного проще (это по опыту с летнего хакатона). Плюс, хакатон ведь международный.


    1. ternaus
      30.12.2015 07:30
      +3

      Очень приятно видеть, что В Москве такой серьёзный подход к подготовке специалистов по машинному обучению. Жаль в других городах это не так.

      Планируется онлайн трансляция с лекций?
      .
      А в каком смысле хакатон международный?


      1. e777
        30.12.2015 09:37

        Так записывайтесь и приезжайте. Там компенсируют проезд прошедшим квалификационный отбор. Онлайн трансляция лекций планируется. Международный в том смысле, что участвовать может любой. В частности, записался один человек из Тайваня и один из Индии. И они оба на данный момент в списке прошедших. Пока еще достаточно просто засабмитить базовое решение, чтобы пройти отбор.


        1. ternaus
          30.12.2015 09:46

          Я бы с удовольствием, но боюсь что с работы не отпустят, так что с этой задачей буду пытаться справиться самостоятельно, а отрыве от коллектива.