Neural Databases
https://arxiv.org/pdf/2010.06973v1.pdf
Когда - 14 октября 2020
🍭️️️ В чем понт
Залог и фундамент любой успешной работы с данными - уметь их хранить и извлекать. Традиционные базы данных имеют заранее заданную структуру, и для работы с ними нужно знать языки по типу SQL. Таким образом и хранение и извлечение данных требует экпертизы, часто недешевой. Авторы из FacebookAI предлагают базу данных, которую можно наполнять обычным текстом и обращаться к ней предложениями на естественном языке.
📄 Постановка задачи
Для задачи авторы сгенерировали базу предложений из обьекта, субьекта и отношения между ними. Например: “Джон женат на Мэри”. Джон это субьект, женат - отношение, Мэри - объект. Такими предложениями можно заполнять предложенную базу. Допустимые операции - это select (извлечение строки) project (извлечени столбца) и join (слияние). Например вопрос “Кто женат на Мери?” будет соответствовать операции select. А если добавить к предложению “Джон женат на Мэри” предложение “Мэри работает программистом”, то вопрос “Кто женат на программисте?” уже потребует операции join. Таким образом наша задача по набору фактов-предложений и вопроса сгенерировать ответ.
🔥 Подробности
Первый подход - сконкатенировать все факты и вопрос и научить transformer предсказывать ответ. Авторы пробовали смотреть, как сеть учится предсказывать ответ, если давать ей минимальный необходимый набор фактов и более широкий набор фактов. И в первом и во втором случае сеть может выучить представление. Однако агрегировать все факты до того, как отдать их в Transformer - вычислительно дорого. А если производить агрегацию уже после выхода из энкодера, то качество сети получается крайне низким.
Поэтому авторы предложили следующий вариант: сначала сеть подбирает различные варианты кандидатов предложений, которые могут оказаться полезными при ответе на вопрос, а затем по признакам этих кандидатов предсказывает ответ на вопрос. Плюс такого подхода также в том, что он параллелится.
🔎 Что в итоге
В результате авторы получили алгоритм, который может работать с базами данных на естественных языках и не требует специализированных аналитических навыков. При этом он может работать с большим текстом, в отличие от суммаризации текста. Интересно распространить этот алгоритм например на изображения, или даже на смешанные данные “изображения + тексты”. Например, у вас есть набор фотографий с конференции и описание спикеров, к такой базе можно будет задать вопрос “Что было на слайдах у спикера из МФТИ?”
Ждем когда статьи начнут превращаться в аналитические инструменты будущего!
https://arxiv.org/pdf/2010.06973v1.pdf
Когда - 14 октября 2020
🍭️️️ В чем понт
Залог и фундамент любой успешной работы с данными - уметь их хранить и извлекать. Традиционные базы данных имеют заранее заданную структуру, и для работы с ними нужно знать языки по типу SQL. Таким образом и хранение и извлечение данных требует экпертизы, часто недешевой. Авторы из FacebookAI предлагают базу данных, которую можно наполнять обычным текстом и обращаться к ней предложениями на естественном языке.
📄 Постановка задачи
Для задачи авторы сгенерировали базу предложений из обьекта, субьекта и отношения между ними. Например: “Джон женат на Мэри”. Джон это субьект, женат - отношение, Мэри - объект. Такими предложениями можно заполнять предложенную базу. Допустимые операции - это select (извлечение строки) project (извлечени столбца) и join (слияние). Например вопрос “Кто женат на Мери?” будет соответствовать операции select. А если добавить к предложению “Джон женат на Мэри” предложение “Мэри работает программистом”, то вопрос “Кто женат на программисте?” уже потребует операции join. Таким образом наша задача по набору фактов-предложений и вопроса сгенерировать ответ.
🔥 Подробности
Первый подход - сконкатенировать все факты и вопрос и научить transformer предсказывать ответ. Авторы пробовали смотреть, как сеть учится предсказывать ответ, если давать ей минимальный необходимый набор фактов и более широкий набор фактов. И в первом и во втором случае сеть может выучить представление. Однако агрегировать все факты до того, как отдать их в Transformer - вычислительно дорого. А если производить агрегацию уже после выхода из энкодера, то качество сети получается крайне низким.
Поэтому авторы предложили следующий вариант: сначала сеть подбирает различные варианты кандидатов предложений, которые могут оказаться полезными при ответе на вопрос, а затем по признакам этих кандидатов предсказывает ответ на вопрос. Плюс такого подхода также в том, что он параллелится.
🔎 Что в итоге
В результате авторы получили алгоритм, который может работать с базами данных на естественных языках и не требует специализированных аналитических навыков. При этом он может работать с большим текстом, в отличие от суммаризации текста. Интересно распространить этот алгоритм например на изображения, или даже на смешанные данные “изображения + тексты”. Например, у вас есть набор фотографий с конференции и описание спикеров, к такой базе можно будет задать вопрос “Что было на слайдах у спикера из МФТИ?”
Ждем когда статьи начнут превращаться в аналитические инструменты будущего!