WQ42: konverzujte s Wikidaty
Wikidata, svobodná databáze znalostí, jsou někdy chápána jako nějaké tajemné místo za Wikipedií, pro jejichž používání a úpravy je potřeba mít nějaké zvláštní znalosti. A to i mezi wikimediány. Ale představte si, že byste se mohli na obsah Wikidat dotazovat přímo v přirozeném jazyce a ve stejně srozumitelné formě dostat i odpověď. A přesně to umožňuje projekt WQ42.
Co jsou Wikidata
Zjednodušeně si Wikidata můžete představit jako obrovskou, svobodnou a společně vytvářenou databázi faktů, kterou mohou využívat lidé i počítače. Místo souvislých článků, jaké známe z Wikipedie, ukládají informace v přehledné a strojově čitelné podobě: například že Brno je město, leží v ČR a má určitý počet obyvatel. Jednotlivé údaje jsou přitom vzájemně propojené, takže z Wikidat vzniká jakási síť znalostí o lidech, místech, událostech, dílech a mnoha dalších tématech. Stejně jako Wikipedii je může kdokoliv používat a také pomáhat vylepšovat. Popisují všechny možné významné entity, které existují – každou vydanou knihu, každý existující jazyk, zvolené politiky, města nebo ovoce.
Nejjednodušeji to lze vidět na mezijazykových odkazech na Wikipedii. Každý článek na Wikipedii je propojený s určitou položkou na Wikidatech – například článek „Brno“ je spojený s položkou s číslem Q14960. Díky tomuto spojení je jasné, že německý článek o stejném tématu je „Brünn“, protože i on je propojený se stejnou položkou na Wikidatech.
Navíc k tomu je každá položka na Wikidatech popsaná pomocí jiných položek. To se provádí pomocí takzvaných tvrzení. Každé tvrzení si lze představit jako jednoduchou větu, která vždycky nějak popisuje danou položku. Například „Brno – [je] instance (čeho) – město v Česku“. Nebo „Brno – nachází se v administrativní jednotce – okres Brno-město“. Takto je možné popsat jakékoli vztahy ohledně vlastností, které daná položka má, například ovládané jazyky, rodičovství, různé činnosti a mnoho dalšího. Tato tvrzení jsou navíc nezávislá na jazyce, existují prakticky ve všech jazycích současně a není třeba je překládat jednotlivě.
Co je WQ42
WQ42 je projekt dostupný na wq42.toolforge.org, který vytvořil vývojář Nadace Wikimedia Santhosh Thottingal. Funguje jako rozhraní pro přístup k informacím uloženým ve Wikidatech a jeho prostřednictvím je možné Wikidatům klást otázky nebo jim dát instrukce v přirozeném jazyce – a stejným způsobem dostat i odpověď. Je třeba poznamenat, že toto rozhraní je určené jen pro čtení dat z Wikidat a samo nedokáže obsah Wikidat jakkoliv měnit.
Aby WQ42 dokázalo reagovat na dotazy v přirozeném jazyce, používá na pozadí velký jazykový model, jehož cílem je pochopit otázku nebo příkaz, rozhodnout, které položky potřebuje navštívit, a zformulovat odpověď. Ve svém původním nastavení používá jazykový model Gemini 2.5 Flash, ale protože je program svobodný, může ho každý sám provozovat i s jinými jazykovými modely s otevřenými vahami nebo s jazykovými modely zcela otevřenými.
Jazykový model dostává přísné instrukce, podle kterých smí odpovídat jen na základě informací nalezených na Wikidatech, a tak by neměl halucinovat nebo odpovídat podle informací, na kterých byl vytrénovaný. Také vždycky zmiňuje položky, ze kterých své informace čerpá, což uživatelům připomíná, že informace pocházejí z Wikidat. Halucinace a neuvádění původu poskytnutých informací jsou často zmiňované problémy chatbotů obecně.
Omezení použití
Z tak přísného omezení, aby chatbot odpovídal vždy jen na základě informací z Wikidat, samozřejmě plynou i určitá omezení. Pokud nějaká informace na Wikidatech opravdu chybí – protože ji nikdo do Wikidat ještě nepřidal – chatbot nedokáže na otázku odpovědět, i když jde o fakt pro lidi zcela evidentní.

V odpovědi na otázku „Jakou barvu má obloha?“ jazykový model předpokládal, že jako stroj nedokáže vidět oblohu a rovnou odpověděl tím, že není schopný vidět oblohu a ani se na Wikidata nepodíval. Ale i když jsem mu přímo zadal, aby se podíval na příslušnou položku na Wikidatech, nedokázal na otázku odpovědět, protože v položce o obloze se její barva skutečně nenachází. Nicméně je dobré, že chatbot nemá problém odpovědět, že neví, místo aby se neřídil instrukcemi a odpověděl na základě svých trénovacích dat nebo si odpověď přímo vyhalucinoval.
Je třeba poznamenat, že chatbot uživateli zobrazuje každý krok, který provede prostřednictvím nástrojů, které má k dispozici. V tomto případě tedy vidíme, že chatbot vyhledal položku „obloha“ a následně ji navštívil. Zároveň neprovedl žádnou akci, která by nesouvisela se zadaným úkolem.
Další omezení vyplývá z toho, že chatbot vždy přistupuje k aktuální databázi Wikidat. Pokud by tedy jiný uživatel či uživatelka právě prováděli experimentální úpravy nebo vandalizovali položku, na kterou se v danou chvíli dotazujete, mohou být získané výsledky nepředvídatelné.
Chatbot má také k dispozici modul pro programovací jazyk Lua, pomocí něhož může provádět matematické výpočty nebo porovnání. Nicméně úroveň jeho schopností závisí na použitém jazykovém modelu. Z nějakého důvodu si např. nedokáže uvědomit aktuální rok a správně odpovědět na otázku, před kolika lety se narodil Karel Hynek Mácha.

Zároveň však dokáže spolehlivě provádět jednoduché matematické výpočty pouze pomocí modulu pro jazyk Lua, aniž by se přitom dotazoval na Wikidata.

I když dostal příklad v přirozeném jazyce, správně použil modul jazyka Lua pro výpočet výsledku, který je 67 😉
A nakonec – WQ42 ve svém současném stavu nemá přístup k rozhraní pro SPARQL, takže nedokáže odpovídat na otázky jako „Vypiš všechna města v Jižní Koreji s méně než 50 000 obyvateli.“
Na taková omezení je třeba myslet při používání WQ42 a současně se tyto příklady dají použít pro testování schopností jiných jazykových modelů.
Odpovídání čistými fakty
První zřejmou možností využití WQ42 je dotazování na jednoduchá fakta, například na hlavní města států.

Jak je vidět na obrázku, chatbot správně odpověděl a poskytl odkaz na příslušnou položku na Wikidatech.
Je rovněž možné se zeptat i na jiná fakta, například na hymnu České republiky.

Chatbot správně odpověděl, že hymna ČR je píseň Kde domov můj a kromě odkazu poskytl také zvukový soubor s nahrávkou hymny, neboť ta se nachází na Wikimedia Commons. Stejné to je i u jiných multimédií – obrázků a videí.

Nacházení a popis vztahů
WQ42 samozřejmě může nejen zodpovědět otázky o faktech o jednotlivých položkách, ale také popsat vztahy mezi dvěma nebo více položkami, pokud je vztah mezi nimi přímý.

A v případě potřeby dokáže také navštívit vícero položek bez přímé vazby a popsat jejich společné rysy, pokud to na základě dostupných dat lze.

Shrnutí
WQ42 je zajímavým příkladem nástroje, který umožňuje přístup ke znalostem uloženým ve Wikidatech prostřednictvím přirozeného jazyka bez potřeby znát detaily o tom, jak Wikidata na pozadí fungují. Tato závislost na Wikidatech alespoň částečně také řeší problém uvádění zdrojů jazykovými modely a také problém aktuálnosti dat v poskytnutých odpovědích, protože WQ42 nutí jazykový model odkazovat na zdrojové položky na Wikidatech a vždy používá živou a tedy i aktuální databázi Wikidat. Cenou za to je, že jazykový model nemůže používat své vnitřní znalosti, a proto nedokáže odpovídat na otázky, které jsou pro lidi mnohdy triviální.
Přesto však může WQ42 přiblížit data z Wikidat i lidem, pro které je forma otázka–odpověď v přirozeném jazyce přístupnější než obvyklé technické rozhraní Wikidat. Zároveň ukazuje, jak lze jazykové modely přímo propojit s lidmi spravovaným zdrojem znalostí. Každou chybějící či nesprávnou informaci mohou lidé na Wikidatech doplnit nebo opravit a tato změna se následně ihned projeví v odpovědích nástroje WQ42.
Teď je řada na vás zkusit si s tímto nástrojem „hrát“ a vyzkoušet jeho možnosti a omezení ve vašem vlastním kontextu.
