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