Природни програмски језик

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

Природни програмски језик (ППЈ) је онтологија-помоћ начин програмирања у смислу природног језика реченица, нпр Енглески језик. Структурисан документ са садржајем, секцијама и поглављима за објашњења реченичних форма NLP документа, који је заправо рачунарски програм. Природни језици и природни језик корисничких интерфејса укључују Inform7, природни програмски језик за израду интерактивне фикције; Шекспир, шала природног програмског језика у стилу дела Вилијама Шекспира, и Волфрам Алфа, рачунарска мотор знања, служећи се природним језиком.

Тумачење[уреди]

Најмања јединица изјаве у NLP-у је реченица. Свака реченица је наведена у смислу концепата из основа онтологије, атрибути у тој онтологији и названи објекти великим словима. У тексту NLP-а свака реченица недвосмислено се компајлира у поступку позива у основи програмског језика високог нивоа као што су MATLAB, Octave, SciLab, Python, итд.

Симболички језици као што су математика су у стању да интерпретирају обраду упита казни. Ово може дозволити интерактивне захтеве као што је имплементиран у Волфрам Алфу.[1][2] Разлика између њих и NLP-а је да се последњи гради један програм или библиотека рутина који су програмирани кроз реченице природног језика користећи онтологије које дефинишу доступне структуре података у програмском језику на високом нивоу.

Пример текста из NLP програма на енглеском језику је следећи:

Ако U_ је 'smc01-контрола ", а затим урадити следеће. Дефинисати површинске тежине Алфе као "[0,5, 0,5]". Покренути матрик Phi као "јединица матрице". Дефинисати Ј као "инерција матрице" од Spc01. Израчунати матрицу Ј2 као супротност од Ј. Израчунати грешку брзине положаја Ve и грешку угаоне брзине Ое од динамичког стања X, навођење референце Xнов. Дефинисати заједничку глатку површину G2 из грешке брзине положаја Ve и грешке угаоне брзина Ое користећи површинске тежине Алфе. Израчунати поравњани знак функције SG2 од заједничког клизања површине G2 са знаком прага 0.01. Израчунати посебну динамичку силу F од динамичког стања X и површинске тежине Алфе. Израчунати контроле обртног момента Т и контролу снаге U из матрице Ј2, површинске тежине Алфе, посебна динамичка сила F, поравњан знак функције SG2. Завршите условне акције.

који дефинише повратне контроле шеме користећи клизни мод контролни режим.

Софтвер парадигма[уреди]

Природни програмски језик је top down метод писања софтвера. Његови кораци су следећи: Дефиниција онтологија - таксономија - концепата потребних за описивање задатака у теми адресе. Сваки концепт и сви њихови атрибути су дефинисани у речима природног језика. Ова онтологија ће дефинисати да се податак структуре NLP-а може користити у реченицама.

  • Дефиниција једног или више врхунских нивоа реченица у смислу концепата из онтологије. Ове реченице су писмо користиле да се позову најважније активности у овој теми.
  • Дефинисање сваке од првих реченица нивоа у смислу низа реченица.
  • Дефинисање сваке од реченица нижег нивоа у односу на друге реченице или просте реченице облика извршног кода "...". где ... означава код у смислу пратећег високог нивоа програмског језика.
  • Понављање претходног корака док немате реченице лево недефинисане. Током овог процеса свака реченица може се класификовати да припада делу документа који се производи у HTML или Latex формату да се формира коначан програм NLP.
  • Тестирање значења сваке реченице извршавањем своје шифре помоћу тестирања објеката.
  • Пружање библиотеке поступака позива (у основном језику високог нивоа) који су потребни у дефиницијама кода неких ниских нивоа реченице значења.
  • Обезбеђивање наслова, аутор датума и прикупљање реченица у један HTML или LaTex фајл.
  • Објављивање NLP програма као веб страница на интернету или као PDF фајл састављен од LaTex документа.

Објављивање вредности NLP програма и докумената[уреди]

NLP програм је прецизан формалан опис неког поступка који је њен аутор створио. Он је људски читљив и може се прочитати са одговарајућег софтвер агента. На пример веб страница у NLP формату може да се чита софтверским персоналним асистент агентом на лицу и он или она може питати агента да изврши неке реченице, односно изврши неки задатак или одговарање на питање. Постоји средство доступно за енглеско тумачење HTML-базираних NLP докумената које особа може да ради на свом личном рачунару.

Допринос NLP програма за машинско знање[уреди]

Онтологија класе у природном програмском језику који није концепт у смислу људског коришћења концепта. Концепти у NLP-у су примери (узорци) генеричких људских концепата. Свака реченица у NLP програму је или (1) покретање везе у свету модела или (2) врши неку радњу у окружењу или (3) обавља рачунарске поступке или (4) позива за одговор механизам за одговор на питање.

Скуп NLP реченица, са припадајућом дефинисмо онтологијом, може се користити као псеудо код који не пружа детаље у било ком основном програмском језику високог нивоа. У таквој апликацији реченице коришћења постају апстракције високог нивоа (концептуализација) рачунских поступака где су компјутерски језик и машина независни.

Види још[уреди]

Програмски језици са енглеском налик синтаксом

Библиографија[уреди]

Књиге
  • Natural Language Programming of Agents and Robotic Devices: publishing for agents and humans in sEnglish by S M Veres, ISBN 978-0-9558417-0-5, London, June 2008.
Радови на конференцијама
  • Documents for Intelligent Agents in English. by S M Veres and L Molnar. Proc. AIA2010, 10th IASTED Conference on Artificial Intelligence and Applications, 15-17 Feb 2010, Innsbruck, Austria.
  • Sliding mode control of autonomous spacecraft. (half written in sEnglish) by S M Veres an N K Lincoln, Proc. TAROS’2008, Towards Autonomous Robotic Systems, Edinburgh, 1–3 September 2008.
  • Mission Capable Autonomous Control Systems in the Oceans, in the Air and in Space by S M Veres, Hanazawa et al. (Eds.): Brain-Inspired Info. Technology, SCI 266. стр. 1–10, Springer, 2010.
  • Programming Spatial Algorithms in Natural Language, by Boris Galitsky, Daniel Usikov, in the AAAI Workshop on Spatial and Temporal Reasoning 2008, AAAI Technical report, http://www.aaai.org/Library/Workshops/ws08-11.php

Референце[уреди]

  1. ^ Wolfram Alpha – how it works Computer Weekly, 4 June 2009
  2. ^ Wolfram Alpha computes answers Tech Crunch, 8 March 2009

Спољашње везе[уреди]