`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Леонид Бараш

Программирование компьютеров на повседневном языке

+22
голоса

Компьютеры говорят на своих собственных языках – языках программирования. Они могут быть запрограммированы только теми, кто их знает. Ученые из Технологического института Карлсруэ (KIT) в настоящее время работают над программным обеспечением, которое непосредственно переводит естественный язык в машиночитаемые исходные коды. Таким способом пользователи смогут создавать собственные компьютерные приложения с помощью нескольких предложений. Проблема, которую нужно решить, в том, что люди не всегда описывают процессы в строго хронологическом порядке. Новый инструмент анализа, разработанный исследователями из KIT, служит для автоматического упорядочения команд в той последовательности, в какой они должны быть выполнены компьютером.

«Мы хотим уйти от сложных правил для пользователей, которые предписываются языками программирования, к умным компьютерам, которые вступают в диалог с нами», - сказал Матиас Ландхаузер (Mathias Landhäußer) из Института структур программ и организации данных (ITP). До сих пор программами можно было управлять только с помощью языка, если они разработаны соответствующим образом изготовителем. Примером является отправка коротких сообщений с помощью смартфона. Ученые из KIT в настоящее время работают над программным обеспечением, которое устанавливает языковый интерфейс для различных типов программ. Пользователям  предоставится возможность не только открыть, но и оперировать своими приложениями с помощью голосовых команд. Ученые уже успешно включили такой интерфейс в приложение, управляющее системой отопления, освещения и окнами умных домов.

«Пройдет не так уж много времени, когда комплекс программного обеспечения будет не только работать, но и программироваться на естественном языке», - полагает Ландхаузер. Основная проблема взаимодействия между человеком и машиной - проблема порядка - уже была решена учеными с использованием английского языка в качестве первого примера. «Давайте посмотрим на предложение "Before the car starts, the garage door opens". В нашем повседневном языке, это описание вполне обычно, - говорит Ландхаузер. – Однако, если процесс будет проходить в виртуальном мире компьютера, то возникает проблема: компьютер выполняет команды последовательно в порядке их поступления. В данном примере компьютер сначала получает информацию "the car starts". Затем будет получена информация "the garage door opens". Таким образом, автомобиль столкнется с дверью гаража. Если такая цепочка действий не предусмотрена программой, то, в лучшем случае, ничего не происходит. В худшем случае, компьютер зависает».

Новое ПО, разработанное учеными из KIT, анализирует связанные со временем сигнальные слова, которые указывают, что произносимый текст не описывает порядок процесса строго линейно. Такие сигнальные слова указывают, имеет ли место что-то "прежде" или "после", "первым" или "последним", независимо от порядка слов в предложении. Компьютерные ученые размещают в определенном месте логические формулы к этим словам, чтобы произвести их в хронологический порядок в исходном тексте. В отношении примера, приведенного выше, формула для сигнального слова "before" автоматически перемещает главное выражение вперед. В результате получается: The garage door opens before the car starts.

По словам исследователей, требования, предъявляемые к построению фраз, понимаемых компьютером, не являются надежной альтернативой. Первые тесты показали, что испытуемые с и без знания программирования не говорят в строго хронологическом порядке, даже если их об этом попросят. Вместо этого, они продолжают бессознательно использовать сигнальные слова. «Наша цель – научить компьютер адаптироваться к манере пользователя говорить, а не наоборот», - отметил Ландхаузер.

Помимо проблемы порядка, ученые определили и другие проблемы в программировании на естественном языке. Испытуемые заменяли некоторые слова синонимами или местоимениями. Компьютеры автоматически не понимают, что термин "автомобиль" означает то же самое, что и "машина" или "она" в следующем предложении. «Люди понимают эти отношения, потому что ситуация начинает прокручиваться, как фильм, перед их внутренним взором. «Мы работаем над тем, чтобы дать компьютерам такое понимание в долгосрочной перспективе», - объяснил Ландхаузер.

+22
голоса

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT