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

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

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

Содержание

  • 1 Интерпретация
  • 2 Программная парадигма
  • 3 Публикационная ценность программ и документов на естественном языке
  • 4 Вклад программ на естественном языке в машинные знания
  • 5 См. Также
  • 6 Ссылки
  • 7 Библиография
  • 8 Внешние ссылки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. Также

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

Ссылки

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

Книги
  • Программирование агентов и роботов на естественном языке: публикация для агентов и людей на английском языке С.М. Верес, ISBN 978-0-9558417- 0-5, Лондон, июнь 2008 г.
  • Dijkstra, Edsger W. (1979). «О глупости« программирования на естественном языке »». Строительство программы. Конспект лекций по информатике. 69 . С. 51–53. doi : 10.1007 / bfb0014656. ISBN 3-540-09251-X.
  • Либерман, Генри; Лю, Хьюго (2006). «Технико-экономическое обоснование программирования на естественном языке». Разработка для конечных пользователей. Серия «Взаимодействие человека и компьютера». 9 . С. 459–473. DOI : 10.1007 / 1-4020-5386-x_20. ISBN 978-1-4020-4220-1.
  • Халперн, Марк (1990). «Естественный язык и избыточность в программировании». Время связывания: шесть исследований в области технологий программирования и среды. Серия Ablex в вычислительной технике. Книги интеллекта. ISBN 9780893916916. CS1 maint: ref = harv (ссылка )
Доклады на конференциях
  • Верес, С.М.; Молнар, Л. (2010). «Документы для интеллектуальных агентов на английском языке». Искусственный интеллект и приложения. doi : 10.2316 / p.2010.674-122. ISBN 978-0- 88986-817-5.
  • Управление автономным космическим кораблем в скользящем режиме. (Половина написана на английском языке) С.М. Верес и Н.К. Линкольн, Proc. TAROS'2008, Towards Autonomous Robotic Systems, Эдинбург, 1–3 сентября 2008 г.
  • Верес, Сандор М. (2010). «Автономные системы управления, способные выполнять задачи в океанах, в воздухе и в космосе». Информационные технологии, вдохновленные мозгом. Исследования в области вычислительного интеллекта. 266 . Стр. 1– 10. doi : 10.1007 / 978-3-642-04025-2_1. ISBN 978-3-642-04024-5.
  • Программирование пространственных алгоритмов на естественном языке, Борис Галицкий, Даниэль Усиков, на семинаре AAAI по пространственному и временному мышлению, 2008 г., технический отчет AAAI, https://www.aaai.org/Library/Wor kshops / ws08-11.php.
  • Пулидо-Прието, Оскар; Хуарес-Мартинес, Улиссес (2017). «Обзор технологий натуралистического программирования». ACM Computing Surveys. 50 (5): 1–35. doi : 10.1145 / 3109481.
Синтез программ из спецификаций естественного языка

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

Последняя правка сделана 2021-05-31 12:32:28
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте