- PVSM.RU - https://www.pvsm.ru -
Сегодня машины без труда “связывают два слова” (1 [1], 2 [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 [3]. От участников требуется разработать программу, способную самостоятельно обучиться отвечать на вопросы уровня 8 класса американской школы. Для этого участникам даны [4] тренировочный (2 500 вопросов) и валидационный (8 132 вопроса) наборы вопросов в формате csv-файла с 4-мя вариантами ответа. Для тестового набора известны правильные ответы. Валидационный набор необходим для того, чтобы определить уровень точности ответов вашей системы и, соответственно, ранжировать заявленные решения по этому критерию. В наборах присутствуют вопросы по основным предметам школьной программы: физика, биология, география и др.
Постановка задачи выглядит настолько общей, что создается впечатление, что подступиться к ее решению, не обладая глубокой экспертизой в области обработки естественного языка, невозможно. Однако это не совсем так. Можно в несколько строк кода применить уже наработанные нейросетевые методы и получить результат в 32% точности.
Именно это сделали ребята из команды 5vision (кстати, победители летнего хакатона) и опубликовали свое решение на форуме [5] Kaggle и Github [6]. Инструкцию по установке вы найдете здесь [7]. Если вдруг есть непреодолимое желание использовать Linux, но под рукой его у вас нет, то можете бесплатно зарегистрироваться на koding.com [8] (или много еще где) и запустить все там. Теперь хотелось бы подробней остановится на том, что это решение делает.
Оно основано на одной из реализаций представления слов [9] в многомерном векторном пространстве — GloVe [10] (Global Vector for Word Representation), где близким по смыслу словам ставятся в соответствие близкие в евклидовой метрике вектора. Более известная реализация word2vec [11] уже освещалась на Хабре (1 [12],2 [13],3 [14] и др) (а один из авторов этой реализации Томас Миколов (Tomas Mikolov), будет читать лекции на хакатоне).
Применение GloVe (glove_predict.py [15]) к вопросу выглядит следующим образом:
Данная реализация дает 32% точности на валидационном наборе.
У 5vision есть и другая более “классическая” реализация (ck12_wiki_predict.py [16]), основанная на применении меры TF-IDF [17]. Работает она так:
Эта реализация дает 36% точности. Для представления масштаба результатов стоит отметить, что на текущий момент первое место в рейтинге [20] отвечает правильно на 56% вопросов.
Конкурс имеет ряд особенностей (здесь [21] можно найти обзор-выжимку с форума конкурса) — например, итоговое решение должно работать без доступа к интернету. И вообще, чтение форума [22] конкурса может дать очень много полезного.
Расписание мероприятие такое же как и на прошлом DeepHack’e.
Воскресенье: сбор участников, организационное собрание, формирование команд, настройка окружения, вводная лекция и первый ночной запуск расчёта.
Понедельник-Пятница: обсуждение промежуточных результатов, программирование новых решений, выработанных в команде, лекции, запуск расчетов.
Суббота: подведение итогов, награждение победителей.
Всем участникам также будет предоставлено проживание и вычислительные ресурсы. Но свой ноутбук надо принести с собой.
В скором времени мы планируем опубликовать обзор нейросетевых архитектур в области обработки естественного языка, из которого можно будет почерпнуть идеи для улучшения текущих решений.
Автор: e777
Источник [23]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/107625
Ссылки в тексте:
[1] 1: http://arxiv.org/abs/1506.05869
[2] 2: http://neurobot.deephack.me/chatbot/dialog2.php
[3] The Allen AI Science Challenge: https://www.kaggle.com/c/the-allen-ai-science-challenge
[4] даны: https://www.kaggle.com/c/the-allen-ai-science-challenge/data
[5] форуме: https://www.kaggle.com/c/the-allen-ai-science-challenge/forums/t/17932/baseline-solutions-glove-and-ir
[6] Github: https://github.com/5vision/kaggle_allen
[7] здесь: http://deepqa.tilda.ws/page80326.html
[8] koding.com: http://koding.com/
[9] представления слов: https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B2
[10] GloVe: http://nlp.stanford.edu/projects/glove/
[11] word2vec: https://code.google.com/p/word2vec/
[12] 1: http://habrahabr.ru/post/249215/
[13] 2: http://habrahabr.ru/post/258983/
[14] 3: http://habrahabr.ru/post/263171/
[15] glove_predict.py: https://github.com/5vision/kaggle_allen/blob/master/glove_predict.py
[16] ck12_wiki_predict.py: https://github.com/5vision/kaggle_allen/blob/master/ck12_wiki_predict.py
[17] TF-IDF: https://ru.wikipedia.org/wiki/TF-IDF
[18] www.ck12.org: http://www.ck12.org/
[19] http://www.ck12.org/physics/: http://www.ck12.org/physics/
[20] рейтинге: https://www.kaggle.com/c/the-allen-ai-science-challenge/leaderboard
[21] здесь: https://docs.google.com/document/d/1L96Y2JnQ_iGNgnA8duH0kE0RxXuyohO_jS4RURY2b7U/edit?usp=sharing
[22] форума: https://www.kaggle.com/c/the-allen-ai-science-challenge/forums
[23] Источник: http://habrahabr.ru/post/274233/
Нажмите здесь для печати.