Abstraktní Wikipedie/Aktualizace/2022-12-19
◀ | Aktualizace Abstraktní Wikipedie | ▶ |
Hodnocení projektu stipendisty Google.org
Během stáže získali stipendisté Google.org podrobný vhled do projektu Wikifunkcí a Abstraktní Wikipedie. S cílem poukázat na možné problémy a diskutovat o možných alternativách některých přístupů projektu sepsali podrobné hodnocení projektů Wikifunkcí a Abstrakní Wikipedie.
Tým si přečetl hodnocení a napsal podrobnou odpověď. Mnoho návrhů kolegů si vezmeme k srdci a určitě je budeme realizovat. Hodnocení a odpověď také pomohly týmu získat lepší společné porozumění projektu.
Vyzýváme vás, abyste si oba dokumenty přečetli:
- Wikifunkce a Abstraktní Wikipedie: hodnocení
- Odpověď týmu na Wikifunkce a Abstraktní Wikipedie: hodnocení
Arielův dopis na rozloučenou
Na konci měsíce odejde Ariel Gutman, který se připojil k projektu Abstraktní Wikipedie jako jeden ze stipendistů Google.org. Přispíval do pracovního týmu generování přirozeného jazyka (Natural Language Generation, NLG). Chceme mu dát příležitost rozloučit se s ním jeho vlastními slovy. Děkujeme ti, Arieli!
Posledních šest měsíců jsem byl součástí týmu Abstraktní Wikipedie jako Google.Org fellow. Mým cílem v nadaci bylo využít své odborné znalosti v oblasti generování přirozeného jazyka, které jsem získal při více než šestileté práci na NLG ve společnosti Google, k rozvoji projektu Abstraktní Wikipedie.
První polovina stáže byla věnována převážně psaní designových dokumentů: Architektura systému NLG a Specifikace šablonovacího jazyka (druhou jsem napsal společně s Marií Keet, které jsem za to vděčný). Současně jsem se zapojil do dalších diskusí, ať už šlo o kvalitu lexikálních dat na Wikidatech, nebo o to, jakou podobu by měl mít abstraktní obsah (za vedení posledně jmenované diskuse patří velký dík Kutzovi Arrietovi).
V polovině stipendia jsem pocítil nutkání vytvořit něco konkrétnějšího. Bohužel platforma Wikifunkcí nebyla připravena sloužit jako solidní vývojová platforma, a tak jsem se na radu technického vedoucího Google.Org Ori Livneh rozhodl vytvořit prototyp systému NLG na platformě Wikipedie Scribunto, skriptovacím prostředí založeném na jazyce Lua, které je součástí Wikipedie.
K mému velkému potěšení mi platforma Scribunto se svým Wikidata API umožnila rychle vytvořit funkční NLG systém schopný transformovat abstraktní obsah na text (viz nahraná ukázka nebo ukázkový výstup). Systém zatím není komplexní, obsahuje však potřebné komponenty, které jsou nastíněny v návrhu architektury:
- Úložiště abstraktního obsah, které umožňuje specifikovat osnovu článku pro jednotlivé položky Wikidat.
- Úložiště konstruktorů obsahující logiku pro automatické vytváření abstraktního obsahu pro položky Wikidat v závislosti na jejich typu (lidé, místa atd.).
- Renderery šablon, což jsou šablony určující, jak mají být jednotlivé konstruktory verbalizovány v různých realizačních jazycích.
- Funkce šablon napsané v jazyce Lua nebo v jazyce šablon, které se používají v rámci slotů šablon. Ty umožňují zejména import lexémů Wikidat a jejich reprezentaci v interním formátu pomocí specializovaných pomocných modulů.
- Morfosyntaktické závislostní vztahy zapsané v jazyce Lua pomocí omezené sady sjednocovacích operátorů umožňují specifikovat tok gramatických rysů mezi prvky šablony.
- Fonotaktické funkce napsané v jazyce Lua umožňují specifikovat fonotaktická pravidla specifická pro daný jazyk (například střídání a/an v angličtině).
- Textový assembler, který se stará o konstrukci vykreslovaného textu a zároveň upravuje interpunkci, mezery a velká písmena.
Kromě toho existují moduly s nezbytnou logikou potřebnou k parsování a vyhodnocování šablon, reprezentování lexémů a jednotlivých funkcí a interakci s Wikidaty. Hlavní modul řídí celkový tok NLG pipeline.
Mým hlavním cílem při vývoji tohoto prototypu bylo zdůvodnit návrhy, které jsem navrhl, a poskytnout příklad kódu pro podobnou implementaci na Wikifunkcích. Ve skutečnosti, pokud budou Wikifunkce podporovat jazyk Lua, bude pravděpodobně možné tento kód použít znovu tak, jak je. Moduly ve výše uvedeném seznamu s odrážkami by se staly uživatelsky editovatelnými funkcemi, zatímco ty, které jsou zmíněny dále, by mohly být integrovány do backendového systému Wikifunkcí, protože se očekává, že budou relativně stabilní.
Existuje však i druhý, subtilnější cíl. V průběhu svého stipendia jsem se stal skeptickým k předpokladu, že Wikifunkce jsou nezbytné k dosažení vize Abstraktní Wikipedie. I když jsou pro její úspěch nezbytné příspěvky uživatelů (např. funkce, rendereru nebo konstruktory), měly by být orientovány na NLG a nepotřebují obecnou funkční platformu, jako jsou Wikifunkce. Zaměřením se na budování systému orientovaného na NLG lze rychleji dosáhnout vize Abstraktní Wikipedie. (Vzhledem k tomu, že jsem členem komunity, možná by nemělo být překvapením, že jsem na straně "Jednoho prstenu"...). Společně s kolegy Ori Livnehem, Ali Assafem a Mary Yangovou jsem svůj pohled vložil do podrobného dopisu. Domnívám se, že návrh šablonovacího jazyka, implementovaný v tomto prototypu, je dobrým základem, na kterém lze stavět.
Prototyp ve Scribuntu ukazuje, že ke generování článků z abstraktního obsahu na skutečných Wikipediích lze použít i platformu, která je omezenější než Wikifunkce. Stačí překopírovat potřebné moduly na cílovou Wiki a definovat vykreslovací nástroje, funkce a vztahy specifické pro daný jazyk. Ať už se mnou souhlasíte, nebo ne, vyzývám vás, abyste si se systémem pohráli a upravili příslušné moduly a přidali funkce pro svůj oblíbený jazyk.
Vzhledem k tomu, že mé studijní stipendium končí, chtěl bych poděkovat všem kolegům z pracovního týmu Generování přirozeného jazyka Abstraktní Wikipedie za vášnivé diskuse a nápady. Zejména jsem vděčný Corymu Massarovi, technickému vedoucímu týmu, za jeho vedení a důvěru a Eunice Moonové, mé kolegyni z Google.Org a produktové manažerce pracovního týmu, za její vynikající organizační schopnosti.
Konec roku
Přejeme všem krásné svátky a šťastný nový rok 2023! Od psaní aktualizací si dáme pauzu až do týdne od 13. ledna 2023.
Aktualizace z vývoje (k 16. prosinci 2022)
Od 5. do 9. prosince byl pro tým Abstraktní Wikipedie týden 'Fix-it. Během tohoto týdne tým pozastavil vývoj nových funkcí a zaměřil se na úkoly související s technickým dluhem.
Tým také značně pokročil v práci na descopingu, která byla naplánována před startem. Z rozsahu MVP bylo odstraněno mnoho položek.
V týdnu od 11. do 16. prosince se tým Abstraktní Wikipedie zúčastnil malého interního hackathonu/kooperace, aby se seznámil s dalšími oblastmi repozitáře kódu a našimi kolegy a pracoval na některých položkách z komunitního seznamu přání. Tým pracoval na projektech zahrnujících zprovoznění seznamů WhatLinksHere v abecedním pořadí, výzkum uživatelů Wikizdrojů s cílem informovat o větším návrhu platformy, která potřebuje podporu, zprovoznění negace pro filtry značek, automatické navrhování propojení položky Wikidat po vytvoření článku a chybějící možnosti LaTeXu pro vykreslování matematiky.