자연어 프로그래밍

Natural-language programming

NLP(Natural Language Programming)[1]영어와 같은 자연어 문장의 측면에서 온톨로지 지원 프로그래밍 방식이다.문장의 설명을 위한 내용, 섹션, 하위 섹션이 있는 구조화된 문서가 NLP 문서를 형성하는데, 이것은 실제로 컴퓨터 프로그램이다.자연어 프로그래밍은 프로그램을 처음 작성한 후 추가된 인터페이스를 사용하여 자연어를 통해 통신하는 자연어 인터페이스나 음성 제어와 혼용되지 않아야 한다.NLP에서 프로그램의 기능은 문장의 의미 정의만을 위해 조직된다.예를 들어, NLP는 자율 로봇의 모든 지식을 나타내기 위해 사용될 수 있다.이렇게 하면 로봇 사용자가 결정한 동작 규칙을 지키면서 로봇이 자동으로 실행할 수 있도록 사용자가 작업을 스크립팅할 수 있다.이런 로봇은 사용자들에게 추리가 투명하고 로봇에 대한 신뢰가 높아지기 때문에 투명 로봇이라고 불린다.자연언어 사용과 자연언어 사용자 인터페이스로는 쌍방향 소설 제작을 위한 자연 프로그래밍 언어인 Inform 7윌리엄 셰익스피어의 희곡 양식의 난해한 자연 프로그래밍 언어인 셰익스피어, 자연언어 입력을 이용한 계산 지식 엔진인 울프람 알파 등이 있다.[citation needed]프로그램 합성을 위한 몇몇 방법들은 자연언어 프로그래밍에 기초한다.[3]

해석

NLP에서 가장 작은 진술 단위는 문장이다.각 문장은 기초적인 온톨로지 개념, 그 온톨로지 속성과 대문자로 명명된 오브젝트 개념으로 명시된다.NLP 텍스트에서 모든 문장은 MATLAB, 옥타브, SciLab, Python 등과 같은 기본 고급 프로그래밍 언어프로시저 호출로 명확하지 않게 요약된다.

울프람 언어와 같은 상징적인 언어는 문장으로 질의 처리를 해석할 수 있다.이것은 울프램 알파에서 구현된 것과 같은 상호 작용적인 요청을 허용할 수 있다.[4][5]이것들과 NLP의 차이점은 후자가 높은 수준의 프로그래밍 언어로 이용 가능한 데이터 구조를 정의하는 온톨로지를 이용하여 자연어 문장을 통해 프로그램되는 단일 프로그램이나 루틴 라이브러리를 구축한다는 것이다.

영어 자연어 프로그램의 예시 텍스트는 다음과 같다.

U_가 'smc01-control'인 경우 다음을 수행하십시오.표면 가중치 Alpha를 "[0.5, 0.5]"로 정의하십시오.매트릭스 Phi를 '단위 매트릭스'로 초기화한다.J를 Spc01의 'inertia matrix'로 정의하십시오.행렬 J2를 J. 계산 위치 속도 오류 Ve와 동적 상태 X로부터의 각도 속도 오류 Oe의 역행으로 계산한다, 지침 참조 Xnow.표면 중량 Alpha를 사용하여 위치 속도 오류 Ve 및 각도 속도 오류 Oe에서 조인트 슬라이딩 표면 G2를 정의한다.부호 임계값이 0.01인 접합부 슬라이딩 표면 G2에서 평활 부호 함수 SG2를 계산한다.동적 상태 X와 표면 무게 알파에서 특수 동적 힘 F를 계산한다.매트릭스 J2의 제어 토크 T와 제어력 U, 표면 가중치 Alpha, 특수 동적 힘 F, 평활 부호 함수 SG2를 계산한다.조건부 작업을 완료하십시오.

슬라이딩 모드 제어 방법을 사용하여 피드백 제어 방식을 정의한다.

소프트웨어 패러다임

자연어 프로그래밍은 소프트웨어를 쓰는 톱다운 방식이다.그 단계는 다음과 같다.

  • 온톨로지 정의 - 분류학 - 주제에서 과제를 설명하는 데 필요한 개념.각각의 개념과 그들의 모든 속성은 자연언어로 정의된다.이 온톨로지에서는 NLP가 문장으로 사용할 수 있는 데이터 구조를 정의할 것이다.
  • 온톨로지 개념의 관점에서 하나 이상의 최상위 문장의 정의.이러한 문장은 나중에 주제에서 가장 중요한 활동을 유발하는 데 사용된다.
  • 각 최상위 문장을 문장 순서에 따라 정의한다.
  • 다른 문장이나 간단한 형식의 문장으로 각각의 하위 문장을 정의하는 것은 관련 고급 프로그래밍 언어의 측면에서 코드를 의미한다. 여기서 ...은 코드 실행(Execute code)을 의미한다.
  • 정의되지 않은 문장이 남지 않을 때까지 이전 단계를 반복하십시오.이 과정에서 각 문장은 HTML 또는 라텍스 형식으로 제작되는 문서의 섹션에 속하는 것으로 분류되어 최종 자연어 프로그램을 구성할 수 있다.
  • 테스트 객체를 사용하여 코드를 실행함으로써 각 문장의 의미를 테스트한다.
  • 절차 라이브러리를 제공하는 것은 일부 낮은 수준의 전달 의미에 대한 코드 정의에 필요한 (기본적인 높은 수준의 언어로)를 호출한다.
  • 제목, 작성자 데이터 제공 및 HTML 또는 LaTeX 파일로 문장 컴파일.
  • 인터넷 웹 페이지 또는 LaTeX 문서에서 컴파일된 PDF 파일로 자연어 프로그램 게시.

자연어 프로그램 및 문서의 출판 가치

자연어 프로그램은 저자가 만든 몇 가지 절차에 대한 정확한 형식적 서술이다.그것은 사람이 읽을 수 있고 적합한 소프트웨어 에이전트에 의해 읽힐 수도 있다.예를 들어, NLP 형식의 웹 페이지는 소프트웨어 개인 보조원이 사람에게 읽어줄 수 있으며, 그 또는 그녀는 에이전트에게 몇 가지 문장을 실행하도록 요청할 수 있다. 즉, 어떤 작업을 수행하거나 질문에 대답할 수 있다.사람이 그녀의 개인 컴퓨터에서 실행할 수 있는 HTML 기반 NLP 문서의 영어 해석에 이용할 수 있는 리더 에이전트가 있다.

기계지식에 대한 자연어 프로그램의 기여

온톨로지 수업은 인간이 개념을 사용하는 만큼 의미상 개념이 아닌 자연어 프로그램이다.NLP의 개념은 일반적인 인간 개념의 예(샘플)이다.자연어 프로그램의 각 문장은 (1) 세계 모델에서 관계를 명시하거나 (2) 환경에서 작업을 수행하거나 (3) 계산 절차를 수행하거나, (4) 질문에 대한 응답 메커니즘을 발동한다.

관련 온톨로지가 정의된 일련의 NLP 문장은 어떠한 기초적인 상위 수준의 프로그래밍 언어에서도 세부사항을 제공하지 않는 유사 코드로 사용될 수 있다.그러한 응용 프로그램에서 사용된 문장은 컴퓨터 언어와 기계에 독립적인 높은 수준의 추상화(개념화)가 된다.

참고 항목

영어 구문을 사용하여 언어 프로그래밍

참조

  1. ^ Miller, L. A. (1981). "Natural language programming: Styles, strategies, and contrasts". IBM Systems Journal. 20 (2): 184–215. doi:10.1147/sj.202.0184.
  2. ^ 신뢰할 수 있고 신뢰할 수 있는 로봇의 개발."인공 로봇" }
  3. ^ 데사이, 아 디트, 기타."자연어를 이용한 프로그램 합성을."제38회 소프트웨어 엔지니어링 국제 회의의 진행.ACM, 2016.
  4. ^ Wolfram Alpha 작동 방식 (파트 2) Computer Weekly, 2009년 6월 4일
  5. ^ Wolfram Alpha는 2009년 3월 8일, Tech Crunch에 대한 답을 계산한다.

참고 문헌 목록

책들
회의의 논문
  • Veres, S.M.; Molnar, L. (2010). "Documents for Intelligent Agents in English". Artificial Intelligence and Applications. doi:10.2316/p.2010.674-122. ISBN 978-0-88986-817-5.
  • 자율 우주선의 슬라이딩 모드 제어.(반쪽은 영어로 쓰임) S M Veres a N K Lincoln, Proc. TAROS'2008, 2008년 9월 1~3일 에든버러 자율로봇시스템 지향
  • Veres, Sandor M. (2010). "Mission Capable Autonomous Control Systems in the Oceans, in the Air and in Space". Brain-Inspired Information Technology. Studies in Computational Intelligence. Vol. 266. pp. 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). "A Survey of Naturalistic Programming Technologies". ACM Computing Surveys. 50 (5): 1–35. doi:10.1145/3109481. S2CID 2078759.
자연어 규격에서 프로그램 합성

외부 링크