Loading...

Freepik

Российские ученые разработали нейронную сеть для генерации названий органических соединений в соответствии с системой наименований химических соединений ИЮПАК. Так они показали, что современным нейросетям по силам решать точные алгоритмические задачи. Статья опубликована в журнале Scientific Reports.

В химии существует общепринятый язык для записи названий органических соединений — номенклатура ИЮПАК, Международного союза теоретической и прикладной химии. Например, сахароза в соотвествии с ней называется (2R,3R,4S,5S,6R)-2-[(2S,3S,4S,5R)-3,4-дигидрокси-2,5-бис(гидроксиметил)оксолан-2-ил]окси-6-(гидроксиметил)оксан-3,4,5-триол. Подобное название полностью отражает химическую структуру вещества, а ошибка даже в одном символе может оказаться критичной. На рынке есть коммерческие программные продукты для компьютерной генерации названий по ИЮПАК, однако нет программ под свободной лицензией. Ученые из Сколтеха, МГУ имени М.В. Ломоносова и компании Syntelly решили эту проблему.

За основу алгоритма исследователи взяли Трансформер — одну из самых мощных современных нейросетей компании Google для перевода с одного языка на другой. Команда обучила Трансформер «переводить» молекулу из структурного представления в наименование по ИЮПАК и наоборот. Для обучения и тестирования сети авторы использовали крупнейшую открытую базу PubChem, содержащую около 100 млн соединений. Нейросеть оказалась способна «переводить» почти с той же точностью (около 99%), что и алгоритмические решения на базе химических правил.

«И человек, и нейронная сеть хорошо справятся, к примеру, с задачей различения фотографий кошек и собак, для которой невозможно эффективное алгоритмическое решение без машинного обучения. В то же время человек плохо перемножает многозначные числа, а простейший калькулятор делает это мгновенно и с абсолютной точностью — это пример чисто алгоритмической задачи, как и генерация названий по номенклатуре ИЮПАК, — говорит руководитель исследования Сергей Соснин. — Ранее господствовала парадигма, что нейросети не следует применять для решения таких “точных” задач, мы же показали, что это может быть разумной альтернативой сложным алгоритмическим решениям. В машинном переводе, например, допустимы замены слов на синонимы, но в нашей задаче ошибка даже в одной букве приводит к полностью неправильной молекуле. И тем не менее Трансформер успешно справляется с этой задачей».

Нейросеть доступна онлайн. Исследователи надеются, что их метод можно будет применять не только для перевода между химическими нотациями, но и для других технических нотаций, например для генерации математических формул или трансляции компьютерных программ.


Подписывайтесь на InScience.News в социальных сетях: ВКонтакте, Telegram, Одноклассники.