Натуральное программирование

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

. Некоторые методы синтеза программ основаны на программировании на естественном языке.[2]

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

Символические языки, такие как

язык Вольфрама, способны интерпретировать обработку запросов предложениями. Это может позволить интерактивные запросы. Такие как реализованные в Wolfram Alpha. Разница между ними и НЛП заключается в том. Что последняя создает единую программу или библиотеку подпрограмм. Которые программируются с помощью предложений естественного языка. Используя онтологию. Которая определяет доступные структуры данных на языке программирования высокого уровня.

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

Если U_-это Определите поверхностные веса Альфа как Инициализируйте матрицу Phi как Определите J как Вычислите матрицу J2 как обратную J. Вычислите ошибку скорости положения Ve и ошибку угловой скорости Oe из динамического состояния X. Ориентир наведения Xnow. Определите совместную поверхность скольжения G2 из ошибки скорости положения Ve и ошибки угловой скорости Oe. Используя поверхностные веса Alpha. Вычислите сглаженную знаковую функцию SG2 из совместной поверхности скольжения G2 со знаком порог 0,01. Вычислите специальную динамическую силу F из динамического состояния X и поверхностных весов Alpha.

Вычислите управляющий момент T и управляющую силу U из матрицы J2, поверхностных весов Alpha. Специальной динамической силы F. Сглаженной знаковой функции SG2. Завершите условные действия.

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

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

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

  • Определение онтологии – таксономии – понятий. Необходимых для описания задач в рассматриваемой теме. Каждое понятие и все его атрибуты определяются словами естественного языка.

    Эта онтология будет определять структуры данных. Которые НЛП может использовать в предложениях.

  • Определение одного или нескольких предложений верхнего уровня в терминах понятий из онтологии. Эти предложения позже используются для вызова наиболее важных действий в теме.
  • Определение каждого из предложений верхнего уровня в терминах последовательности предложений.
  • Определение каждого из предложений нижнего уровня в терминах других предложений или простым предложением вида Execute code где … обозначает код в терминах соответствующего языка программирования высокого уровня.

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

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

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

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

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

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

См. также

Языки программирования с англоязычным синтаксисом

Книги
Доклады на конференциях
  • Верес, С. М.; Molnar, L. (2010). Искусственный интеллект и его приложения. doi:10.2316/p.2010.674-122. ISBN 978-0-88986-817-5.
  • Скользящий режим управления автономным космическим аппаратом. (наполовину написанный на сенглише) S M Veres an N K Lincoln, Proc. TAROS’2008, Towards Autonomous Robotic Systems, Edinburgh, 1-3 сентября 2008.
  • Верес, Шандор М. (2010). Информационные Технологии. Вдохновленные Мозгом. Исследования в области вычислительного интеллекта. 266. стр. 1-10. doi:10.1007/978-3-642-04025-2_1. ISBN 978-3-642-04024-5.
  • Pulido-Prieto, Oscar; Juárez-Martínez. Ulises (2017). ACM Computing Surveys. 50 (5): 1–35. doi:10.1145/3109481. S2CID 2078759.
Синтез программ из спецификаций естественного языка

Внешние ссылки