Jump to content

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

Программирование на естественном языке ( НЛП ) — это с использованием онтологий способ программирования с использованием предложений естественного языка , например английского . [ 1 ] Структурированный документ с Содержимым, разделами и подразделами для пояснений предложений образует документ НЛП, который фактически представляет собой компьютерную программу . Программирование на естественном языке не следует путать с интерфейсом на естественном языке или голосовым управлением, когда программа сначала пишется, а затем передается на естественном языке с использованием добавленного интерфейса. В НЛП функционал программы организован только для определения смысла предложений. Например, НЛП можно использовать для представления всех знаний автономного робота. После этого пользователи могут записывать его задачи, чтобы робот мог выполнять их автономно, соблюдая при этом предписанные правила поведения, определенные пользователем робота. Такие роботы называются прозрачными роботами. [ 2 ] поскольку их рассуждения прозрачны для пользователей, и это вызывает доверие к роботам. Использование естественного языка и пользовательские интерфейсы на естественном языке включают Inform 7 , естественный язык программирования для создания интерактивной художественной литературы, Shakespeare , эзотерический естественный язык программирования в стиле пьес Уильяма Шекспира , и Wolfram Alpha , машину вычислительных знаний, использующую естественные языки. - языковой ввод. [ нужна ссылка ] Некоторые методы синтеза программ основаны на программировании на естественном языке. [ 3 ]

Интерпретация

[ редактировать ]

Самая маленькая единица высказывания в НЛП — это предложение. Каждое предложение сформулировано в терминах концепций базовой онтологии, атрибутов этой онтологии и названных объектов заглавными буквами . В тексте НЛП каждое предложение однозначно компилируется в вызов процедуры на базовом языке программирования высокого уровня , таком как MATLAB , Octave , SciLab , Python и т. д.

Символические языки, такие как Wolfram Language, способны интерпретировать обработку запросов с помощью предложений. Это может позволить выполнять интерактивные запросы, подобные реализованным в Wolfram Alpha . [ 4 ] [ 5 ] Разница между ними и НЛП заключается в том, что последнее создает единую программу или библиотеку подпрограмм, которые программируются с помощью предложений естественного языка с использованием онтологии, которая определяет доступные структуры данных на языке программирования высокого уровня.

Пример текста из программы естественного языка на английском языке выглядит следующим образом:

Если U_ имеет значение «smc01-control», выполните следующие действия. Определите поверхностные веса Alpha как «[0,5, 0,5]». Инициализируйте матрицу Phi как «единичную матрицу». Определите J как «матрицу инерции» Spc01. Вычислить матрица J2 как инверсия J. Вычислить ошибку скорости положения Ve и ошибку угловой скорости. Oe из динамического состояния X, ссылка на руководство Xnow. Определите суставную поверхность скольжения G2 из ошибки позиционной скорости Ve и ошибки угловой скорости Oe с использованием поверхностных весов Альфа. Вычислите сглаженную знаковую функцию SG2 по суставной поверхности скольжения G2 со знаком порог 0,01. Вычислите специальную динамическую силу F на основе динамического состояния X и поверхности. весы Альфа. Вычислите управляющий момент T и управляющую силу U из матрицы J2, поверхностных весов. Альфа, специальная динамическая сила F, сглаженная знаковая функция SG2. Завершить условные действия.

который определяет схему управления с обратной связью с использованием метода управления скользящим режимом .

Парадигма программного обеспечения

[ редактировать ]

Программирование на естественном языке — это нисходящий метод написания программного обеспечения. Ее этапы следующие:

  • Определение онтологии – таксономии – понятий, необходимых для описания задач по рассматриваемой теме. Каждое понятие и все его атрибуты определяются словами естественного языка. Эта онтология будет определять структуры данных, которые НЛП может использовать в предложениях.
  • Определение одного или нескольких предложений верхнего уровня с точки зрения понятий из онтологии. Эти предложения позже используются для вызова наиболее важных действий по теме.
  • Определение каждого предложения верхнего уровня в виде последовательности предложений.
  • Определение каждого из предложений более низкого уровня через другие предложения или простым предложением формы Выполнить код «...». где... обозначает код соответствующего языка программирования высокого уровня.
  • Повторяйте предыдущий шаг до тех пор, пока у вас не останется неопределенных предложений. В ходе этого процесса каждое предложение может быть классифицировано как принадлежащее к разделу документа, который будет создан в формате HTML или Latex для формирования окончательной программы на естественном языке.
  • Проверка значения каждого предложения путем выполнения его кода с использованием объектов тестирования.
  • Предоставление библиотеки вызовов процедур (на базовом языке высокого уровня), которые необходимы в определениях кода некоторых значений предложений низкого уровня.
  • Предоставление названия, данных об авторе и компиляция предложений в файл HTML или LaTeX .
  • Публикация программы на естественном языке в виде веб-страницы в Интернете или в виде PDF- файла, составленного из документа LaTeX.

Публикационная ценность программ и документов на естественном языке

[ редактировать ]

Программа на естественном языке — это точное формальное описание некоторой процедуры, созданной ее автором. Он удобен для чтения человеком, а также может быть прочитан подходящим программным агентом. Например, веб-страница в формате НЛП может быть прочитана программным персональным помощником -агентом человека, и она или он может попросить агента выполнить некоторые предложения, т.е. выполнить некоторую задачу или ответить на вопрос. Существует читательский агент для английской интерпретации документов НЛП на основе HTML, который человек может запустить на своем персональном компьютере .

Вклад программ на естественном языке в машинные знания

[ редактировать ]

Класс онтологии — это программа на естественном языке, которая не является концепцией в том смысле, в котором люди используют концепции. Концепции в НЛП — это примеры (образцы) общих человеческих концепций. Каждое предложение в программе на естественном языке либо (1) устанавливает отношения в модели мира, либо (2) выполняет действие в окружающей среде, либо (3) выполняет вычислительную процедуру, либо (4) вызывает в ответ механизм ответа. на вопрос.

Набор предложений НЛП с определенной онтологией также может использоваться в качестве псевдокода , который не предоставляет деталей ни на каком базовом языке программирования высокого уровня. В таком приложении используемые предложения становятся абстракциями (концептуализациями) высокого уровня вычислительных процедур, которые независимы от компьютерного языка и машины.

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

[ редактировать ]

Исследователи начали экспериментировать со средами программирования на естественном языке, которые используют подсказки на простом языке, а затем используют ИИ (в частности, большие языковые модели), чтобы превратить естественный язык в формальный код. Например, компания Spatial Pixel создала среду программирования на естественном языке , чтобы превратить естественный язык в код P5.js через API OpenAI. В 2021 году OpenAI разработала среду программирования на естественном языке для своей модели большого языка программирования под названием Codex .

См. также

[ редактировать ]
Языки программирования с английским синтаксисом.
  1. ^ Миллер, Луизиана (1981). «Программирование на естественном языке: стили, стратегии и контрасты». IBM Systems Journal . 20 (2): 184–215. дои : 10.1147/sj.202.0184 .
  2. ^ Разработка надежных и заслуживающих доверия роботов. " прозрачные роботы " }
  3. ^ Десаи, Адитья и др. « Синтез программы с использованием естественного языка ». Материалы 38-й Международной конференции по программной инженерии. АКМ, 2016.
  4. ^ Wolfram Alpha - как это работает (часть 2) Computer Weekly, 4 июня 2009 г.
  5. ^ Wolfram Alpha вычисляет ответы Tech Crunch, 8 марта 2009 г.

Библиография

[ редактировать ]
Книги
Доклады на конференциях
  • Верес, С.М.; Мольнар, Л. (2010). «Документы для интеллектуальных агентов на английском языке». Искусственный интеллект и его приложения . дои : 10.2316/стр.2010.674-122 . ISBN  978-0-88986-817-5 .
  • Скользящий режим управления автономными космическими аппаратами. (наполовину написано на английском языке) С.М. Верес и Н.К. Линкольн, Proc. TAROS'2008, Навстречу автономным роботизированным системам , Эдинбург, 1–3 сентября 2008 г.
  • Верес, Шандор М. (2010). «Автономные системы управления, способные выполнять миссии в океанах, в воздухе и в космосе». Информационные технологии, основанные на мозге . Исследования в области вычислительного интеллекта. Том. 266. стр. 1–10. дои : 10.1007/978-3-642-04025-2_1 . ISBN  978-3-642-04024-5 .
  • Пулидо-Прието, Оскар; Хуарес-Мартинес, Улисес (2017). «Обзор технологий натуралистического программирования». Обзоры вычислительной техники ACM . 50 (5): 1–35. дои : 10.1145/3109481 . S2CID   2078759 .
Синтез программы на основе спецификаций естественного языка
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7505dbb038735d81a7abaeb7329fbbf1__1717855620
URL1:https://arc.ask3.ru/arc/aa/75/f1/7505dbb038735d81a7abaeb7329fbbf1.html
Заголовок, (Title) документа по адресу, URL1:
Natural-language programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)