Programování v přirozeném jazyce - Natural-language programming
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Programování v přirozeném jazyce (NLP) je ontologie - asistovaný způsob programování ve smyslu přirozený jazyk věty, např. Angličtina.[1] Strukturovaný dokument s obsahem, oddíly a podsekcemi pro vysvětlení vět vytváří dokument NLP, což je ve skutečnosti a počítačový program. Přirozené jazyky a přirozená uživatelská rozhraní zahrnout Informovat 7, přirozený programovací jazyk pro tvorbu interaktivní beletrie, Shakespeare, an esoterický přirozený programovací jazyk ve stylu her William Shakespeare, a Wolfram Alpha, výpočetní znalostní modul využívající vstup v přirozeném jazyce.[Citace je zapotřebí ] Některé metody pro syntéza programu jsou založeny na programování v přirozeném jazyce.[2]
Výklad
Nejmenší jednotkou výpisu v NLP je věta. Každá věta je uvedena v pojmech ze základní ontologie, atributů v této ontologii a pojmenovaných objektů v velká písmena. V textu NLP jednoznačně každá věta sestavuje do volání procedury v podkladu programovací jazyk na vysoké úrovni jako MATLAB, Oktáva, SciLab, Krajta, atd.
Symbolické jazyky jako např Wolfram jazyk jsou schopni interpretován zpracování dotazů větami. To může umožnit interaktivní požadavky, jako jsou ty, které jsou implementovány v Wolfram Alpha.[3][4] Rozdíl mezi nimi a NLP spočívá v tom, že NLP vytváří jediný program nebo knihovnu rutin, které jsou programovány pomocí vět v přirozeném jazyce pomocí ontologie, která definuje dostupné datové struktury v programovacím jazyce na vysoké úrovni.
Příklad textu z anglického jazyka v přirozeném jazyce je následující:
Pokud je U_ 'smc01-control', proveďte následující. Definujte povrchové hmotnosti Alpha jako „[0,5, 0,5]“. Inicializujte matici Phi jako „jednotkovou matici“. Definujte J jako „matici setrvačnosti“ Spc01. Výpočetní matice J2 jako inverzní k J. Výpočet chyby rychlosti polohy Ve a chyby úhlové rychlosti Oe z dynamického stavu X, odkaz navádění 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 z kluzné plochy spoje G2 s prahovou hodnotou znaménka 0,01. Vypočítejte speciální dynamickou sílu F z dynamického stavu X a plošných hmotností Alpha. Vypočítejte řídicí krouticí moment T a řídicí sílu U z matice J2, plošné hmotnosti Alpha, speciální dynamickou sílu F, vyhlazenou znakovou funkci SG2. Dokončete podmíněné akce.
který definuje schéma zpětné vazby pomocí a ovládání posuvného režimu metoda.
Softwarové paradigma
Programování v přirozeném jazyce je metoda psaní softwaru shora dolů. Jeho fáze jsou následující:
- Definice an 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 v přirozeném jazyce. Tato ontologie definuje datové struktury, které NLP může používat ve větách.
- Definice jedné nebo více vět nejvyšší úrovně z hlediska pojmů z ontologie. Tyto věty se později používají 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ě ve smyslu jiných vět nebo jednoduchou větou ve formuláři 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řena ve formátu HTML nebo Latex, aby vytvořil finální 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ů.
- Poskytování 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, údajů o autorovi a sestavení vět do HTML nebo Latex soubor.
- Publikování programu v přirozeném jazyce jako webové stránky na internetu nebo jako PDF soubor 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 nějaké procedury, kterou vytvořil její autor. Je čitelný člověkem a může jej číst také vhodný softwarový agent. Například webovou stránku ve formátu NLP lze číst pomocí softwaru osobní asistent agenta osobě a může požádat agenta, aby vykonal nějaké věty, tj. vykonal nějaký úkol nebo odpověděl na otázku. Tady je agent čtenáře k dispozici pro anglickou interpretaci dokumentů NLP založených na HTML, které na ní může osoba spustit osobní počítač .
Příspěvek programů v přirozeném jazyce ke strojovým znalostem
Třída ontologie v přirozeném jazyce, který není pojem v tom smyslu, že lidé používají pojmy. Koncepty v NLP jsou příklady (ukázky) obecných lidských konceptů. Každá věta v programu v přirozeném jazyce buď (1) vyjadřuje vztah ve světovém modelu, nebo (2) provádí akci v prostředí, nebo (3) provádí výpočetní postup, nebo (4) v reakci používá mechanismus odpovědi. na otázku.
Sada vět NLP s definovanou související ontologií může být také použita jako a pseudo kó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 procedur na vysoké úrovni, které jsou nezávislé na počítačovém jazyce a stroji.
Viz také
- Řízený přirozený jazyk
- Bezkontextový jazyk
- Jazyk specifický pro doménu (nebo DSL)
- Programování koncových uživatelů
- Reprezentace znalostí
- Zpracování v přirozeném jazyce
- Generování zdrojového kódu
- Velmi programovací jazyk na vysoké úrovni
- Programovací jazyky se syntaxí podobnou angličtině
- AppleScript
- Attempto kontrolovaná angličtina
- COBOL
- ClearTalk
- FLOW-MATIC
- HyperTalk
- Informovat 7
- JOSS
- SenseTalk
- Software AG
- Přepis
- strukturovaný dotazovací jazyk (nebo SQL)
- xTalk
- PROTI
Reference
- ^ Miller, L. A. (1981). "Programování v přirozeném jazyce: styly, strategie a kontrasty". IBM Systems Journal. 20 (2): 184–215. doi:10.1147 / sj.202.0184.
- ^ Desai, Aditya a kol. "Syntéza programů pomocí přirozeného jazyka "Sborník 38. mezinárodní konference o softwarovém inženýrství. ACM, 2016.
- ^ Wolfram Alpha - jak to funguje (část 2) Computer Weekly, 4. června 2009
- ^ Wolfram Alpha počítá odpovědi Tech Crunch, 8. března 2009
Bibliografie
- Knihy
- Programování agentů a robotických zařízení v přirozeném jazyce: publikování pro agenty a lidi v angličtině autor: S M Veres, ISBN 978-0-9558417-0-5, Londýn, červen 2008.
- Dijkstra, Edsger W. (1979). „O bláznovství“ programování v přirozeném jazyce"". Konstrukce programu. Přednášky z informatiky. 69. str. 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ého uživatele. Série interakcí člověk-počítač. 9. str.459–473. doi:10.1007 / 1-4020-5386-x_20. ISBN 978-1-4020-4220-1.
- Halpern, Mark (1990). "Přirozený jazyk a redundance v programování". Závazná doba: Šest studií programovacích technologií a prostředí. Ablex série ve výpočetní vědě. Knihy Intellect. ISBN 9780893916916.CS1 maint: ref = harv (odkaz)
- Příspěvky na konferencích
- Veres, S.M .; 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.
- Posuvné řízení autonomních kosmických lodí. (napůl napsáno anglicky) S M Veres an N K Lincoln, Proc. TAROS’2008, Směrem k autonomním robotickým systémům, Edinburgh, 1. – 3. Září 2008.
- Veres, Sandor M. (2010). „Autonomní řídicí systémy schopné provozu v oceánech, ve vzduchu a ve vesmíru“. Mozkem inspirovaná informační technologie. Studie v oblasti výpočetní inteligence. 266. s. 1–10. doi:10.1007/978-3-642-04025-2_1. ISBN 978-3-642-04024-5.
- Programování prostorových algoritmů v přirozeném jazyce, Boris Galitsky, Daniel Usikov, na workshopu AAAI o prostorovém a časovém uvažování 2008, technická zpráva AAAI, https://www.aaai.org/Library/Workshops/ws08-11.php.
- Pulido-Prieto, Oscar; Juárez-Martínez, Ulises (2017). „Průzkum naturalistických programovacích technologií“. ACM Computing Surveys. 50 (5): 1–35. doi:10.1145/3109481.
- 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. "Souhrn systému syntézy programu PSI "IJCAI. Sv. 5. 1977.
externí odkazy
- Anglický skript (spící od roku 2016)
- Jednoduché programování v angličtině Programovací jazyk využívající anglické věty v ASCII.
- SEMPER - sada nástrojů pro výcvik sémantických analyzátorů
- anglický - „Psaní programů v angličtině“
- sysbrain.org - komunita uživatelů sEnglish, MATLAB a Cognitive Agents Toolbox CAT („bylo přepracováno [...] předělat“)
- wy-lang.org - "Programovací jazyk pro starou čínštinu"
- Jak přirozené by mělo být přirozené rozhraní? - myšlenky na to, jak "přirozené" Všudypřítomnost rozhraní (spící od roku 2009)
- Metafor změní angličtinu na kódování (spící od roku 2005)
- Formát, systém, metody a aplikace reprezentace počítačových znalostí - Patent USA: hypertextový odkaz na soubory .who / what / where / when / how XML files that embed NL