Abstraktní Wikipedie/Aktualizace/2022-02-04
◀ | Aktualizace Abstraktní Wikipedie | ▶ |
Původně byl návrh na Wikifunkce podán pod názvem "Wikilambda". Poté, co se komunita rozhodla používat pro projekt název Wikifunkce, jsme přijali název WikiLambda jako název pro rozšíření MediaWiki, které umožní vytvářet a udržovat knihovnu funkcí v systému MediaWiki.
Ale jak je to s lambdou? Lambda je jedenácté písmeno řecké abecedy a předcházelo písmenu L v latince. Lambda se píše velkými písmeny jako Λ a malými písmeny jako λ.
Ale co to má společného s Abstraktní Wikipedií a Wikifunkcemi?
První prototypy, které měly realizovat myšlenku Abstraktní Wikipedie (z let 2013-2017), usilovaly o mnohem jednodušší systém: systém, ve kterém bychom mohli přímo vytvářet a upravovat "významy" a systém by se pak postaral o jejich překlad do textů v přirozeném jazyce. V brzkém návrhu je popsána implementace systému se šablonami založenými na jazyce.
Žádný z těchto jednoduchých systémů však nefungoval, protože by neodpovídal potřebám generování i jednoduchých plynulých textů v přirozeném jazyce v mnoha různých jazycích. Výsledné šablony nebo moduly by se rychle staly příliš složitými, a tak by jejich editace a údržba byla omezena na příliš malou komunitu, než aby byly životaschopné v jazycích, které to nejvíce potřebují. S tím, jak systém implementující přirozený jazyk nabýval na očekávané složitosti, bylo jasné, že bude zapotřebí jiný přístup: místo toho, abychom budovali systém, který se snaží skrýt složitost generování přirozeného jazyka před komunitou, která na něm pracuje, a aby komunita uvízla v omezeních tohoto systému, navrhněme platformu, která by nám umožnila pracovat na těchto složitých úkolech společně, a místo toho umožněme komunitě vytvářet vrstvy skryté složitosti a abstrakce.
Namísto toho, aby vývojový tým rozhodoval o tom, jaká sada funkcí bude potřebná pro úkoly komunity, vytváříme platformu, kde si komunita může tyto funkce vytvářet a udržovat sama.
Velmi rychle se z něj stala obecná platforma pro vytváření nejrůznějších funkcí. Další otázkou bylo: jak tyto funkce implementovat? Abychom umožnili vícejazyčný přístup k implementaci funkcí, přijali jsme myšlenku skládání (kompozice) existujících funkcí.
Kompozice funkcí je stará myšlenka. Ve skutečnosti je to jedna z nejzákladnějších myšlenek celé informatiky: pojmenovávání a používání funkcí, tj. abstrakce a aplikace funkcí. Přesně to dělá lambda kalkul. Lambda kalkul vyvinul Alonzo Church ve 30. letech 20. století.
Třicátá léta 20. století byla v mnoha ohledech bouřlivým obdobím, a to i v matematice: v tomto desetiletí se rozpadl sen o matematice a logice a jeho základy byly zcela obnoveny. Komiks Logicomix vypráví dramatický příběh těchto událostí.
Byly to dva hlavní výsledky: za prvé, že ne na každou matematickou otázku lze odpovědět; a za druhé, že na každou matematickou otázku, na kterou lze vůbec odpovědět, lze odpovědět pomocí kombinace překvapivě jednoduchého a malého základu. A nejen to: takových fundamentálních systémů je mnoho! Lambda kalkul je jedním z nich, ale stejně tak Turingovy stroje, buněčné automaty (jako například Conwayova hra života), neomezené gramatiky, dokonce i jednoduché hry s kuličkami a pákami, jako například Turing Tumble, bez jakýchkoli elektrických komponent, jsou schopny provádět všechny možné výpočty, které kdy mohou existovat.
Hlavní inspirací pro fungování kompozice ve Wikifunkcích byl tedy lambda kalkul. Ale to není všechno!
V 60. letech 20. století byl Richard Montague průkopníkem lingvistické teorie, která byla později nazvána Montagueova gramatika, přístupu k formální reprezentaci významu výrazů přirozeného jazyka. Montague se inspiroval lambda kalkulem a od té doby se lambda kalkul stal oporou i v lingvistice. V tomto přístupu se význam slov jako "nějaký" nebo "každý" zachycuje pomocí jednoduchých výrazů v lambda kalkulu. Více informací o použití lambda kalkulu v lingvistice si můžete přečíst v tomto úvodu zaměřeném na "absolutní začátečníky". Nebo v tomto komiksu zaměřeném na lingvisty.
Dovolte mi citovat slova lingvistky Gretchen McCulloch o použití lambda kalkulu v lingvistice:
"Lambda kalkul se často používá v sémantice jako způsob reprezentace významu způsobem, který je nezávislejší na konkrétních slovech použitých v daném jazyce."
Přesně o to nám jde v Abstraktní Wikipedii!
Abstraktní obsah, který bude tvořit Abstraktní Wikipedii, je v podstatě "jen" uživatelsky přívětivou a komunitou editovatelnou vrstvou nad lambda notací, která slouží k vyjádření významu článků Wikipedie. V druhém kroku pak pomocí kompozic založených na lambda kalkulu transformujeme tato významová vyjádření do textu v přirozeném jazyce, který je pak prezentován čtenářům Wikipedie.
To nás přivádí k další konotaci, kterou lambda má: Λ nebo λ se velmi podobají čínskému znaku 人, který může znamenat "člověk" nebo "osoba" nebo "každý". A to skutečně představuje, pro koho tuto práci děláme.
Lambda ve WikiLambda vědomě odkazuje na oba tyto výzkumy. Novinkou ve WikiLambdě není "lambda" - je to "Wiki". Je to myšlenka spojit skupinu pozoruhodných lidí, aby zjistili, zda mohou vytvořit něco nového, něco, co nás může posunout o krok blíže ke světu, kde se každý může podílet na souhrnu všech znalostí.