Abstraktní Wikipedie/Aktualizace/2022-09-23

This page is a translated version of the page Abstract Wikipedia/Updates/2022-09-23 and the translation is 100% complete.
Aktualizace Abstraktní Wikipedie Translate

Abstraktní Wikipedie prostřednictvím e-mailového seznamu Abstraktní Wikipedie na IRC Wikifunkce na Telegramu Wikifunkce na Facebooku Wikifunkce na Twitteru Wikifunkce na Facebooku Wikifunkce na YouTube Webové stránky Wikifunkcí Translate

Stav generování přirozeného jazyka Abstraktní Wikipedie

Zpravodaj z tohoto týdne, který napsal pracovní tým Generování přirozeného jazyka Abstraktní Wikipedie, najdete na blogu Wikimedia Diff. Kopie je uvedena níže.

Tým Abstraktní Wikipedie podnikl další kroky k reprezentaci abstraktního obsahu v přirozených jazycích!

Když Denny představil návrh na Abstraktní Wikipedii na Diffu, poznamenal, že potřebuje "funkce, které by dokázaly přeložit obsah abstraktní Wikipedie do textu přirozeného jazyka každé Wikipedie". Tyto "funkce" budou nakonec tvořit komunitou řízenou generováním přirozeného jazyka. Výzkum a tvorba prototypů této pipeline NLG začaly. V tomto příspěvku nastíníme, jak architektura šablonovacího systému NLG (součást pipeline NLG) zapadá do ostatních komponent. Upozorníme také na otevřené otázky v naději, že podpoříme diskusi a další příspěvky komunity.

Jak tým AW diskutoval před několika týdny, plánovaný realizátor NLG, nazývaný také Renderer a součást systému NLG, bude používat šablonovací jazyk, který pomůže psát šablony, a poté bude transformovat šablony do textu v přirozeném jazyce. Šablonovací jazyk bude poskytovat vysokoúrovňovou, čitelnou, deklarativní syntaxi pro řízení generování textu z abstraktního obsahu (zachyceného pomocí konstruktorů). Parser šablonovacího jazyka pak vytvoří řadu kompozic funkcí, jejichž podrobnosti jsou blíže popsány v článku specifikace šablonovacího jazyka spolupracovníka Google.org Ariela Gutmana a profesorky Marie Keetové. Je důležité, abychom nyní začali vytvářet určité standardy pro tyto funkce, abychom omezili složitost a zajistili interoperabilitu, aby abstraktní obsah mohly skutečně využívat všechny jazyky a aby komunita mohla relativně snadno psát konstruktory a renderery na Wikifunkcích. Některými složitostmi týkajícími se provádění NLG v aglutinačních afrických jazycích se zabývala Maria Keetová v TechTalk, který přednesla kolegům ze společnosti Google na setkání, které se konalo v srpnu v Curychu.

Názorný diagram s klíčovými vlastnostmi jazyka šablon v notaci ORM
Ilustrační diagram s klíčovými prvky jazyka šablon v ORM notaci: obdélník s plnou čarou = entita; obdélník s přerušovanou čarou = hodnota (zhruba: atribut); obdélník s přepážkami a značkou vedle = vztah; šipka = subsumpce; fialová skvrna = povinné omezení; fialová čára nad obdélníkem = omezení jedinečnosti; fialové kolečko s kapkou = je povinné; fialové kolečko s čarou = vnější jedinečnost.

Abyste měli lepší představu o tom, jak může implementace NLG realizátoru vypadat, začal Ariel Gutman vytvářet prototyp ve Scribuntu, který bude sloužit jako podklad pro implementaci Wikifunkcí. Mahir Moshed také vytvořil knihovny Ninai a Udiron v jazyce Python, které slouží jako prototyp realizátoru. Více informací o prototypu se s vámi podělíme v některém z budoucích příspěvků v blogu Diff. Současně začal Sandy Woodruff, spolupracovník z Google.org, uvažovat o specializovaném uživatelském rozhraní pro systém NLG. S některými jejich nápady se můžete seznámit v brainstormingu, který se konal na výše zmíněném setkání.

Jedna otevřená otázka se týká samotných konstruktorů. Konstruktor představuje část abstraktního obsahu. Převezměme příklad ze specifikace šablonovacího jazyka:

Age(
   entity: Malala Yousafzai (Q32732)
   age_in_years: 25 
)

Jedná se o konstruktor, který reprezentuje skutečnost platnou v době psaní, konkrétně věk Malaly Yousafzai, který by byl v angličtině vyjádřen jako "Malala Yousafzai is 25 years old." Všimněte si, že ve skutečnosti by "age_in_years" bylo pravděpodobně definováno voláním funkce, která počítá věk na základě data narození a současného data, ale tento detail je zde pro přehlednost vynechán.

Mnoho našich otevřených otázek se týká toho, jak reprezentativní je tento příklad konstruktoru. Tento příklad reprezentuje jedinou propozici a může být realizován jako věta ve většině (možná všech?) přirozených jazyků, ale bude to platit pro všechny Konstruktory? Co když některé Konstruktory obsahují více propozic? Je možné, aby Konstruktor odpovídal neúplné propozici?

Další skupina otázek se týká toho, jak obecný by měl být vztah mezi konstruktorem a jeho účastnickými entitami. Můžeme si představit konstruktor pro větu "Bi Sheng vynalezl v roce 1040 n. l. pohyblivé písmo.". Aby bylo možné konstruktory opakovaně používat v různých jazycích a pro více vět, chtěli bychom v nich zakotvit obecnější scény nebo rámce, jako je výše uvedené "Věk" nebo v tomto případě "Vynález". Jakou lingvistickou formalizaci, pokud vůbec nějakou, bychom pro tento účel měli přijmout? FrameNet je jednou z možností, ale mohla by jiná fungovat lépe, nebo si Abstraktní Wikipedie žádá ad hoc řešení? Jak naložíme s informací, která patří do věty, ale není inherentně součástí propozice, např. s "v roce 1040 n. l." z uvedeného příkladu, která není "jádrem" pojmu vynalézání něčeho tak, jako jsou vynálezce a vynález? Kutz Arrieta ze společnosti Google začal o těchto otázkách přemýšlet.

Jakmile konstruktory dokončí svou práci, začíná práce Rendererů. Pracovní návrh NLG předpokládá, že lexikální tvary ve Wikidatech budou označeny gramatickými znaky (např., číslo u podstatných jmen a sloves, rod nebo třída u substantiv, aspekt a čas a nálada u sloves, ...). Mahir Morshed a ostatní přispěvatelé NLG začali pracovat na standardizaci těchto reprezentací v lexikografickém obsahu Wikidat, ale náš systém NLG nemůže předpokládat, že údaje budou vždy přítomny nebo úplné. Proto se naše otázky zde týkají toho, jak řešit chybějící lexikální údaje. Může systém při generování věty poskytnout více možností pro slova, u kterých si není jistý? Měl by uživateli umožnit, aby v té době přidal nové výrazy? Pokud ano, jak by je vedl k tomu, aby do Wikidat přispívali z kontextu jiného projektu?

Jsou to velké otázky, ale doufejme, že výzvy, které představují, jsou spíše vzrušující než děsivé. Jako vždy uvítáme vaše příspěvky. Doufáme, že šíře zkušeností a obrovské množství jazyků přítomných v komunitě nám pomůže najít co nejspravedlivější řešení.