stringtranslate.com

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

Программирование на естественном языке ( НЛП ) — это способ программирования с использованием онтологий с использованием предложений естественного языка , например английского . [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, используя веса поверхности Alpha. Вычислите сглаженную знаковую функцию SG2 на основе совместной поверхности скольжения G2 с порогом знака 0,01. Вычислите специальную динамическую силу F на основе динамического состояния X и поверхностных весов Alpha. Вычислите управляющий момент T и управляющую силу U из матрицы J2, поверхностных весов Alpha, специальной динамической силы F, сглаженной знаковой функции SG2. Завершить условные действия.

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

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

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

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

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

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

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

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