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é
- Řízený přirozený jazyk
- Jazyk bez kontextu
- Jazyk specifický pro doménu (nebo DSL)
- Programování pro koncové uživatele
- Reprezentace znalostí
- Zpracování v přirozeném jazyce
- Generování zdrojového kódu
- Programovací jazyk na velmi vysoké úrovni
- Programovací jazyky se syntaxí podobnou angličtině
- AppleScript
- Attempto Controlled English
- COBOL
- ClearTalk
- FLOW-MATIC
- HyperTalk
- Informovat 7
- JOSS
- SenseTalk
- Software AG
- Přepis
- Structured Query Language (nebo SQL)
- xTalk
Reference
Bibliografie
- Knihy
- Programování agentů a robotických zařízení v přirozeném jazyce: publikování pro agenty a lidi v sEnglish od SM Veres, ISBN 978-0-9558417-0-5 , Londýn, červen 2008.
- Dijkstra, Edsger W. (1979). „O pošetilosti„ programování v přirozeném jazyce “ “. Programová konstrukce . Přednášky z informatiky. 69 . s. 51–53. doi : 10,1007/bfb0014656 . ISBN 3-540-09251-X.
- Lieberman, Henry; Liu, Hugo (2006). „Studie proveditelnosti pro programování v přirozeném jazyce“ . Vývoj koncových uživatelů . Série interakce člověk-počítač. 9 . s. 459–473 . doi : 10,1007/1-4020-5386-x_20 . ISBN 978-1-4020-4220-1.
- Halpern, Mark (1990). „Přirozený jazyk a nadbytečnost v programování“. Binding Time: Six Studies in Programming Technology & Milieu . Série Ablex ve výpočetní vědě. Intelektové knihy. ISBN 9780893916916.
- 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
- Raza, Mohammad, Sumit Gulwani a Natasa Milic-Frayling. „ Syntéza kompozičního programu z přirozeného jazyka a příklady .“ IJCAI. 2015.
- Zelený, Cordell. " Shrnutí systému syntézy programu PSI ." IJCAI. Sv. 5. 1977.
externí odkazy
- Anglický skript (spící od roku 2016)
- Prosté anglické programování Programovací jazyk využívající anglické věty v ASCII.
- SEMPER - sada nástrojů pro školení sémantických analyzátorů
- sEnglish - "Psaní programů v angličtině"
- sysbrain.org - sEnglish, MATLAB a Cognitive Agents Toolbox Uživatelská komunita CAT („bylo přepracováno [...] kvůli přepracování“)
- wy - lang.org- „Programovací jazyk pro staré Číňany“
- Jak přirozené by mělo být přirozené rozhraní? - myšlenky na to, jak „přirozené“ rozhraní Ubiquity (spící od roku 2009)
- Metafor mění angličtinu na kód (spící od roku 2005)
- Formát reprezentace počítačových znalostí, systém, metody a aplikace - US patent re: hypertextový odkaz na .who/co/kde/kdy/jak soubory XML, které obsahují NL