stringtranslate.com

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

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

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

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

Символические языки, такие как Wolfram Language, способны интерпретировать обработку запросов предложениями. Это может позволить интерактивные запросы, такие как реализованные в Wolfram Alpha . [4] [5] Разница между ними и 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. Завершите условные действия.

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

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

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

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

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

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

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

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

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

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

Смотрите также

Языки программирования с синтаксисом, похожим на английский

Ссылки

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

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

Книги
Доклады на конференциях
Синтез программ из спецификаций естественного языка

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