Как стать автором
Обновить

Генерация программы из описания на естественном языке

Время на прочтение2 мин
Количество просмотров13K

Китайские ученые опубликовали исследование, которое является небольшим шажком к тому, чтобы ушла в небытие еще одна человеческая специальность — разработчик программного обеспечения. Ссылки: оригинал статьи (русский перевод).

Авторы исследования тренировали RNN-сеть, используя базу с короткими программами, которые писались студентами и были определены как валидные (путем запуска системой проверки заданий). Описания заданий были сокращены до такого: «найти максимальное и следующее за ним по величине число».

В результате был сгенерирован следующий код (стиль отступов и пунктуация «автора» сохранены без изменений):


Он содержит 4 ошибки, после исправления которых программа стала решать поставленную задачу.

Важно, что сгенерированный код не содержал в чистом виде ни одного из исходных примеров. В противном случае, пришлось бы признать, что таким извращенным способом удалось написать обычную систему поиска по базе кода. С помощью ccfinder были найдены наиболее близкие примеры из обучающей выборки (более 500 образцов исходного кода):



Из первого примера взята структура, из второго — наименования идентификаторов.

Интересно, что сеть сама определила синонимичность конструкций “i<n” и “i<=n-1”.

Также, следует учесть, что никто не обучал специально RNN синтаксису языка C — все правила она вывела самостоятельно на основе примеров начинающих программистов.

Конечно, данный пример очень прост, но он показывает способность RNN-сетей к обобщению кода и переводу не только между естественными языками. Исследователи называют срок «ближайшие десятилетия» как время, когда компьютер будет писать программу на основании описания на естественном языке. Да, срок очень расплывчатый с учетом того, что это время того же порядка, что и все время жизни отрасли.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Как вы думаете, через сколько лет можно будет просто поговорить с компьютером о том, какое приложение вы хотите получить и дальше он его напишет?
0.58% 23
5.24% 527
12.23% 1063
19.61% 20101
23.88% 50123
38.45% Компьютеры еще до этого заведут аккаунты на фейсбуке и будут прокрастинировать198
Проголосовали 515 пользователей. Воздержались 111 пользователей.
Теги:
Хабы:
Всего голосов 13: ↑11 и ↓2+9
Комментарии57

Публикации

Ближайшие события