Німецькі вчені: програмування без мов програмування



Комп'ютери говорять про власну мову. І вони можуть бути запрограмовані тими, хто знає мову коду. Фахівці комп'ютерних систем в Інституті технології Карлсруе в даний час працюють над програмним забезпеченням, яке може безпосередньо перевести природну мову (як засіб людського спілкування) в машинно-читабельний код джерела.

Якщо дослідники можуть вирішити всі проблеми, які вони стикаються, користувачі можуть створювати власні комп'ютерні програми за допомогою набору фраз. Головною проблемою є те, що люди не завжди описують процеси в строгому хронологічному порядку. Новий аналітичний інструмент, розроблений дослідниками KIT, використовується для автоматичного організації команд, після чого вони можуть бути виконані комп'ютером.

«Ми хочемо відійти від складних правил для користувачів – які мови програмування, суть – до смарт-систем, які мають діалог з нами», – коментує Матіас Landhäußer, фахівець Інституту програмних структур і організації даних Карлсruhe Institute of Technology. На сьогоднішній день програми можуть бути використані тільки натуральною мовою, якщо вона була призначена розробником. Приклад надсилає короткі повідомлення від смартфона.

Фахівці компанії KIT працюють на програмному забезпеченні, які можуть служити інтерфейсом мови для будь-якого типу програми. Користувачі можуть не тільки запустити додатки, але і керувати ними за допомогою голосових команд. Дослідники вже успішно реалізували такий інтерфейс в додатку, який керує опаленням, освітленням і вікнами в розумних будинках.

«Це займе час для комп’ютерів не тільки для контролю, але й для програми через природну мову людини», - сказав Landhuiser. Але вже вирішена головна проблема зв'язку між людиною і машиною, проблема хронологічного порядку. Українська мова була використана в якості основи дослідження. «Починаємо машину, відкриваються гаражні двері.» «Перемістити машину, відкриваючи гаражні двері,» У повсякденному спілкуванні цей опис досить стандартний. Якщо мова йде про віртуальний світ комп'ютерів, виникає проблема: комп'ютер виконує команди послідовно, як команди прибувають. У наведеному вище прикладі комп’ютер вперше отримує інформацію «автомобілів». Відкриті гаражні двері (відкриті гаражні двері). В результаті збій автомобіля в ворота ... Якщо така послідовність дій не передбачена програмою, то краще нічого не буває. У гірших комп'ютерах замерзає. й

Програмне забезпечення, розроблене на KIT, аналізує часові сигнальні слова, які вказують на те, що спказаний текст описує процес у нелінійному режимі. Такі сигнальні слова вказують на те, що має статися «дощ» або «після», «перший» або «фінально», незалежно від місця розташування інформації в розмовній фразі. Експерти зв’язали логічні алгоритми до цих слів, щоб створити правильний хронологічний порядок дії. Якщо ви приймаєте цей підхід, наприклад, описаний вище, алгоритм сигналу “before” (before) автоматично переходить до основного вироку до початку. В результаті «Двера гаража відкривається до старту автомобіля. й

Спеціальні вимоги до голосового зв'язку з комп'ютерами не є надійним альтернативою, згідно з дослідниками. Уже перші тести показали, що суб'єкти, як і ті, які мають навички програмування, так і ті, хто їх не має, не могли спостерігати сувору хронологію, навіть якщо вони були спеціально збуджені. замість того, щоб вони незрівняно продовжували використовувати сигнальні слова. «Наша мета – адаптуватися до мови користувача. І ніхто інший спосіб, говорить Landhuiser.

На додаток до хронологічної проблеми дослідники виявили ряд інших перешкод для природної мови програмування. Предмети заміщали деякі слова з синонімами або проноунами. Комп’ютер не може автоматично розуміти, що слово “кар” означає те саме, що “вехкул” або “і” у наступних фразах. «Люди розуміють ці стосунки, тому що вони бачать ситуацію як фільм, який проходить через голову. Ми працюємо над тим самим розумінням, пояснюємо Landhuiser.

Р Використовуються наступні матеріали: Стаття 1, Стаття 2

Пам'ятайте, що майбутнє в руках!

Джерело: geektimes.ru/company/gttf/blog/240512/