Programování v přirozeném jazyce - Natural-language programming

Programování v přirozeném jazyce ( NLP ) je způsob programování podporovaný ontologií, pokud jde o věty v přirozeném jazyce , např. Angličtinu . Strukturovaný dokument s obsahem, oddíly a podsekcemi pro vysvětlení vět tvoří dokument NLP, což je vlastně počítačový program . Mezi přirozené jazyky a uživatelská rozhraní v přirozeném jazyce patří Inform 7 , přirozený programovací jazyk pro tvorbu interaktivní beletrie, Shakespeare , esoterický přirozený programovací jazyk ve stylu her Williama Shakespeara a Wolfram Alpha , výpočetní znalostní engine využívající přirozený jazykový vstup. Některé metody pro syntézu programu jsou založeny na programování v přirozeném jazyce.

Výklad

Nejmenší výpovědní jednotkou v NLP je věta. Každá věta je uvedena z hlediska pojmů ze základní ontologie, atributů v této ontologii a pojmenovaných objektů velkými písmeny . V textu NLP se každá věta jednoznačně kompiluje do volání procedury v základním programovacím jazyce na vysoké úrovni, jako je MATLAB , Octave , SciLab , Python atd.

Symbolické jazyky, jako je Wolfram Language, jsou schopné interpretovat zpracování dotazů větami. To může umožnit interaktivní požadavky, jako jsou požadavky implementované ve Wolfram Alpha . Rozdíl mezi těmito a NLP spočívá v tom, že tyto programy vytvářejí jeden program nebo knihovnu rutin, které jsou programovány pomocí vět přirozeného jazyka pomocí ontologie, která definuje dostupné datové struktury v programovacím jazyce na vysoké úrovni.

Příklad textu z programu v přirozeném jazyce v angličtině je následující:

Pokud U_ je 'smc01-control', proveďte následující. Definujte povrchové hmotnosti Alfa jako „[0,5, 0,5]“. Inicializujte matici Phi jako „jednotkovou matici“. Definujte J jako 'matici setrvačnosti' Spc01. Vypočítejte matici J2 jako převrácenou hodnotu J. Vypočtěte chybu rychlosti polohy Ve a chybu úhlové rychlosti Oe z dynamického stavu X, naváděcí reference Xnow. Definujte kluznou plochu kloubu G2 z chyby rychlosti polohy Ve a chyby úhlové rychlosti Oe pomocí povrchových závaží Alpha. Vypočítejte funkci vyhlazeného znaménka SG2 ze společné kluzné plochy G2 s prahovou hodnotou znaménka 0,01. Vypočítejte speciální dynamickou sílu F z dynamického stavu X a povrchových hmotností Alpha. Vypočítejte řídicí točivý moment T a řídicí sílu U z matice J2, povrchové hmotnosti Alpha, speciální dynamickou sílu F, funkci vyhlazeného znaménka SG2. Dokončete podmíněné akce.

který definuje schéma řízení zpětné vazby pomocí metody řízení v posuvném režimu .

Softwarové paradigma

Programování v přirozeném jazyce je metoda psaní softwaru shora dolů. Jeho fáze jsou následující:

  • Definice ontologie  - taxonomie - pojmů potřebných k popisu úkolů v řešeném tématu. Každý koncept a všechny jeho atributy jsou definovány slovy přirozeného jazyka. Tato ontologie definuje datové struktury, které může NLP použít ve větách.
  • Definice jedné nebo více vět nejvyšší úrovně z hlediska konceptů z ontologie. Tyto věty jsou později použity k vyvolání nejdůležitějších činností v tématu.
  • Definování každé z vět nejvyšší úrovně z hlediska posloupnosti vět.
  • Definování každé z vět nižší úrovně z hlediska jiných vět nebo jednoduchou větou ve tvaru Spustit kód „...“. kde ... znamená kód z hlediska přidruženého programovacího jazyka na vysoké úrovni.
  • Opakujte předchozí krok, dokud nezůstanou nedefinovány žádné věty. Během tohoto procesu lze každou větu klasifikovat tak, aby patřila k části dokumentu, který má být vytvořen ve formátu HTML nebo Latex, aby se vytvořil konečný program v přirozeném jazyce.
  • Testování významu každé věty spuštěním jejího kódu pomocí testovacích objektů.
  • Poskytnutí knihovny volání procedur (v základním jazyce vysoké úrovně), která jsou potřebná v definicích kódu některých významů vět na nízké úrovni.
  • Poskytnutí názvu, autorských dat a kompilace vět do souboru HTML nebo LaTex .
  • Publikování programu v přirozeném jazyce jako webové stránky na internetu nebo jako soubor PDF zkompilovaný z dokumentu LaTex.

Publikační hodnota programů a dokumentů v přirozeném jazyce

Program v přirozeném jazyce je přesný formální popis postupu, který jeho autor vytvořil. Je čitelný pro člověka a může být také čten vhodným softwarovým agentem. Například webovou stránku ve formátu NLP může osoba osobního asistenta softwaru přečíst osobě, která může požádat agenta o provedení některých vět, tj. Provedení nějakého úkolu nebo zodpovězení otázky. K dispozici je čtecí agent pro anglickou interpretaci dokumentů NLP založených na HTML, které může osoba spustit na svém osobním počítači .

Příspěvek programů v přirozeném jazyce ke znalostem strojů

Třída ontologie je program v přirozeném jazyce, který není pojmem v tom smyslu, jak lidé používají pojmy. Koncepty v NLP jsou příklady (ukázky) obecných lidských konceptů. Každá věta v programu přirozeného jazyka buď (1) uvádí vztah ve světovém modelu, nebo (2) provádí akci v prostředí nebo (3) provádí výpočetní postup nebo (4) vyvolává v odpovědi mechanismus odpovědi na otázku.

Soubor vět NLP s definovanou související ontologií lze také použít jako pseudokód , který neposkytuje podrobnosti v žádném základním programovacím jazyce na vysoké úrovni. V takové aplikaci se použité věty stávají abstrakcemi (konceptualizacemi) výpočetních postupů na vysoké úrovni, které jsou nezávislé na počítačovém jazyce a stroji.

Viz také

Programovací jazyky se syntaxí podobnou angličtině

Reference

Bibliografie

Knihy
Příspěvky na konferencích
  • Veres, SM; Molnar, L. (2010). „Dokumenty pro inteligentní agenty v angličtině“. Umělá inteligence a aplikace . doi : 10,2316/p.2010.674-122 . ISBN 978-0-88986-817-5.
  • Ovládání autonomních kosmických lodí v posuvném režimu. (napůl napsáno v sEnglish) od SM Veres a NK Lincoln, Proc. TAROS'2008, Towards Autonomous Robotic Systems , Edinburgh, 1. až 3. září 2008.
  • Veres, Sandor M. (2010). „Mise schopné autonomní řídicí systémy v oceánech, ve vzduchu a ve vesmíru“. Informační technologie inspirované mozkem . Studie výpočetní inteligence. 266 . s. 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). „Průzkum technologií naturalistického programování“. Výpočetní průzkumy ACM . 50 (5): 1–35. doi : 10,1145/3109481 . S2CID  2078759 .
Syntéza programu ze specifikací přirozeného jazyka

externí odkazy