В «Сириусе» команда молодых программистов проекта «Анализ текстов» создает алгоритм, способный «переваривать» большие массивы текстовых данных и находить связи между объектами, описанными в них. Например, общественными деятелями, политиками, учеными, компаниями или абстрактными понятиями. На основе алгоритма ребята планируют сделать чат-бота Telegram, который сможет проверять различные факты на истинность.
Ежедневно в интернете мы встречаем десятки новостей, важных и не очень, в истинности которых могут быть сомнения. Поисковики не всегда позволяют разобраться в вопросе, а фейковые факты распространяются вирусно и вводят в заблуждение все большее число людей. Иногда недостоверная информация способна повлиять на ход политических выборов или заставить человека отказаться от традиционного лечения в пользу предложенного злоумышленниками, купить неэффективный препарат.
В рамках проекта «Анализ текстов» школьники разрабатывают удобный инструмент, который смог бы разобраться в больших текстовых данных и ответить пользователю, правдив какой-либо факт или нет. Для этого ребята создают алгоритм, способный находить связи между объектами в документах или статьях в интернете.
«Наша система может пригодится банковским, юридическим, займовым организациям для автоматической проверки фактов, а также прочим компаниям, у которых есть call-центры и виртуальные ассистенты, которые должны оперативно отвечать на вопросы клиентов», — говорит разработчик проекта Александр Мамаев из Челябинска.
Для начала ребята решили потренироваться на Википедии. Так можно в короткие сроки написать алгоритм и протестировать его. Программисты уже выкачали сырые данные из электронной энциклопедии и обработали их. Они выглядят, как структурированные таблицы, где информация об объекте расформирована по определенным ячейкам.
«Например, если посмотреть на данные об олимпиаде в Сочи, там указано, где и когда она проходила, кто ее открывал. Сопоставив эти данные со статьей о Владимире Путине, алгоритм сможет сказать, что Олимпиаду в Сочи открывал именно он», — разъясняет Александр Мамаев.
На основе данных Википедии исследователи построили граф — сеть, состоящую из вершин, или объектов, связанных ребрами. Для удобства визуализации этот граф построен на тысяче объектов. Но вообще, новый алгоритм способен обработать гораздо больше информации: до 13 000 000 объектов.
Этот граф знаний показывает, что, скажем, Аристотель связан с зоологией. Причем для этого философа зоология — сфера основного интереса (main interest). Об этом гласит надпись, привязанная к ребру между Аристотелем и зоологией: она показывает характер связи.
Сейчас алгоритм обучен собирать неупорядоченные понятия в граф, а вот находить нужные пути в этом графе пока не умеет. Молодые исследователи работают над тем, чтобы программа анализировала связи между объектами и могла отвечать на вопросы пользователей.
«С недавнего времени очень активно развиваются методы факт-чекинга, или проверки фактов. Компании Google, Yandex, Yahoo реализуют различные алгоритмы, позволяющие пользователям находить не только релевантную информацию, но и правдивую. Чат-системы банков учат проверять подлинность информации, предоставленной клиентом. Социальные сети также озаботились этим в свете последних политических выборов в США, когда во время предвыборной кампании множество людей постили у себя в профилях фейковые новости, и это создавало неразбериху. Facebook даже проводил соревнования по определению фейковых новостей», — рассказывает руководитель проекта Александр Никитин, разработчик, «Яндекс» и ООО «Сбертех».
По его словам, не только проверка фактов является самоцелью проекта, ребята разрабатывают такой алгоритм, который можно адаптировать к системам «вопрос-ответ». Происходит это так. Человек задает вопрос — голосом или набирает текстом — программа обращается к графу знаний, ищет соответствия и выдает ответ. Например, если спросить, кто открыл олимпиаду в Сочи, алгоритм сообщит, что Владимир Путин.
«Такая система будет полезна не только в виде чат-бота, но и в голосовых помощниках вроде Amazon Echo или «Алиса» в «Яндекс», — отмечает Александр Никитин. — «Google внедрил свой факт-чекинг, но пока они нигде не выложили, не сказали, как это сделали, неясно, какую базу знаний они используют».
На снимках графа знаний, присланных исследователями, можно заметить интересные зависимости, например, как связан дизайнер Эд Лог с компанией Apple и ее компьютерами, является ли Audi публичной компанией, где родился Сократ и так далее.
После того, как программа сможет самостоятельно выделять связи из графа знаний, ребята хотят научить ее понимать вопросы пользователя. Здесь тоже стоит важная задача — предсказать все возможные предикаты, слова, которыми пользователи формулируют вопросы.
В принципе, подход ребят применим не только для Вики, но и для любых текстовых источников. Можно сопоставлять таким образом юридические и банковские документы: искать в них связи, ошибки, прецеденты. Сейчас в документах разбираются люди, но они могут что-то пропустить, да и просто просматривать огромное количество однотипных текстов — занятие монотонное. Поэтому ребята хотят сделать алгоритм, который поможет автоматизировать этот процесс.
В Европе, по словам исследователей, банковская и иная документация хорошо упорядочена, а в России — пока нет, поэтому найти информацию порой непросто. “У нас нет единой банковской системы, поэтому юристам приходится отдельно проверять каждый банк. В этом тоже может помочь машина, она может проверять за человеком то, что тот пропустил”, — поясняет Александр Мамаев.
В рамках проекта школьники ставят себе довольно амбициозные задачи, и если за 25 дней удастся сделать хотя бы половину, это будет достижением. Но судя по тому прогрессу, который достигнут сейчас, вполне возможно, что в конце июля мы все сможем спросить у нового чат-бота про Олимпиаду и не только.
Материал подготовила Тамара Беседина (Университет ИТМО)