Vývoj jazyka v českých médiách pred a po februárovej invázii Ruska na Ukrajinu

TÍM 5 - Czechitas
13 min readMay 30, 2022

Mentees: Michaela Szilvásová a Lucia Otiepková
Mentor: Vít Baisa

SLOVO

“Slovo je atómom reči. Zdalo by sa, že je príliš jednoduché na to, aby bolo možné napísať o ňom čokoľvek zaujímavé. V skutočnosti však je často práve výber slov tým, čo odlišuje populistu od zodpovedného politika, hulváta od džentlmena, egoistu od pokorného človeka. Slová dokážu signalizovať blížiace sa násilie…. Nenávisť k človeku alebo skupine ľudí (sa) dokáže usídliť v reči a pripravovať tak pôdu pre budúce násilné činy. Sú slová, ktoré takmer naisto rozvíria vo verejnom priestore emócie. Iné slová sú znakmi príslušnosti k určitej subkultúre…. Vhodným výberom slov (je) možné ovplyvňovať úsudok čitateľa takmer bez toho, aby si to všimol… Slová sú ako ľudia. Rodia sa, starnú a umierajú. Mávajú dokonca deti: staršie slová sa stávajú základom pre tie mladšie. Strácajú významy alebo, naopak, získavajú nové.” (Markoš, 2019)

Práve týmito slovami sa začína kniha Jána Markoša — Sila rozumu v bláznivej dobe, ktorá mala výrazný vplyv na výber témy projektu. Táto kniha je skvelým manuálom kritického uvažovania nad dezinformáciami, ktoré nám sprostredkúvajú média a sociálne siete.

Výzvy pri definovaní témy na projekt

Od začiatku sme vedeli, že sa v rámci projektu chceme zamerať na textovú analýzu. V čase keď sme si mali vybrať tému na projekt eskalovala vojna na Ukrajine. Prvotnou ideou bola detekcia fake news či propagandy prostredníctvom Machine learning, čo nebolo úplne zrealizovateľné, keďže algoritmus bez olabelovaných datasetov v českom jazyku nevytvoríme.

Výzvou je tiež samotné labelovanie datasetu. Dáta môžu byť olabelované niekým, kto môže mať svoje vlastné názory a predsudky. Výsledok celého datasetu by potom mohol byť zaujatý. Údaje môžu byť skreslené a tým pádom aj celý navrhnutý algoritmus. Taktiež ľudia si v mnohých prípadoch nemôžu byť na 100% istí, čo je fake a čo nie, prípadne ako identifikovať propagandu.

Ďalším návrhom bolo preskúmať, čo sa píše na českých dezinformačných portáloch o Rusku a Ukrajine. Bohužiaľ, nehralo nám do kariet vypnutie siedmych dezinformačných serverov internetovým sdružením CZ.NIC.
(V čase písania tohto blogu zisťujeme, že dezinformačné weby v Čechách opäť fungujú).

Nakoniec sme sa rozhodli zamerať na zmapovanie jazyka vo vybraných českých médiách v čase pred a po februárovej invázii Ruska na Ukrajinu. České médiá sme si vybrali z toho dôvodu, že sa neanalyzujú až v takej miere. Oveľa jednoduchšie je nájsť postupy a nástroje na anlýzu anglických textov. Čeština nás teda trošku potrápila, no bola zároveň aj výzvou.

Cieľom projektu je zmapovat jazyk médií k vojne na Ukrajine. Zameriavame sa tiež na slovné spojenia týkajúce sa politických mien Putin vs. Zelenskyj, Rusko vs. Ukrajina. Tiež sledujeme kvantitatívne porovnanie medzi jednotlivými médiami a analyzujeme metadáta k článkom (počet článkov v čase, vydavateľa článkov).

V analýzach sme sa zamerali na 6 českých mediálnych portálov:

  1. aktualne.cz
  2. novinky.cz
  3. i-dnes.cz
  4. i-rozhlas.cz
  5. lidovky.cz
  6. parlamentnilisty.cz

Mali sme niekoľko otázok, ktoré sme chceli skúmať:

  1. Bude záujem médií o vojnu na Ukrajine po invázii klesať?
  2. Zaujímajú sa médiá viac o osobu Putina ako Zelenského?
  3. S akými slovnými spojeniami sa najviac spája Rusko a Ukrajina?
  4. Aký je trend a výskyt slov vzťahujúcich sa ku konfliktu Rusko-Ukrajina?

KORPUS

Dáta sme získavali scrapingom cez Apify. Scraping sme si rozvrhli do 2 krokov:

Krok 1: identifikovať články (urls) venujúce sa konfliktu Rusko-Ukrajina.

Krok 2: oscrapovať obsah člankov.

Na identifikáciu článkov sme použili Smart Article Extractor a nastavili vstupné url podla ktorého scraper identifikoval články. Články sme scrapovali od dátumu 01.01.2022. Výsledný počet článkov je uvedený v tabuľke nižšie. Po podrobnom preskúmaní dat sme zistili, že scraper nám vygeneroval aj výsledky, ktoré sú pre náš projekt nepoužitelné: odkazy na fotogalérie, rozhovory, online reportáže. U týchto odkazov nám chýbali texty, takže sme sa rozhodli tieto URL z datasetu odstrániť. Tým sa nám počet článkov výrazne zredukoval.

Uvedená tabuľka ukazuje zoznam urls použitých na identifikáciu článkov a počet oscrapovaných článkov pre konkrétne spravodajstvo. Počet článkov sme následne ešte redukovali.

Keďže Smart Article Exctractor nebol schopný extraktovať obsah a slúži len na identifikaciu článkov, potrebovali sme si nastaviť druhý extractor: Web Scraper.

Každý portál má rozdielnu HTML štruktúru zobrazovania obsahu na webovej stránke. Potrebovali sme si teda nastaviť Web Scraper pre každé médium zvlášť. Využili sme Javascriptovú knihovnu jQuery a napísali kód v nastavení scrapera tzv. Page Function.

Príklad vstupnej konfigurácie Web Scrapera pre novinky.cz

ČISTENIE DÁT

Dáta sme čistili v Pythone. Každé zoscrapeované médium má svoje špecifiká, ale princíp bol rovnaký.

Bolo potrebné zbaviť sa nepotrebných stĺpcov:

Ďalej sme si definovali kľúčové slová, ktoré nám čo najlepšie vyfiltrujú relevantné URL a použili sme ich v základnom tvare tak, aby zachytili všetky variácie daných slov. Nie každé kľúčové slovo je ideálne. Napríklad slovo boj nám vyfiltrovalo veľa nerelevantných URL, týkajúcich sa vojen aj na iných miestach sveta.

Vyfiltrované URL sme vyexportovali a na základe nich scrapeovali obsah cez Web Scraper. Taktiež sme vyexportovali do csv vyčistený dataset, ktorý obsahoval relevantné dáta pre ďalšiu analýzu (clean dataset).

V ďalšom Jupyter notebooku sme spojili vyextrahovaný text z Web Scraperu s vyčisteným datasetom z prvého scrapingu na základe rovnakého URL. Tentokrát nám vznikol dataset, ktorý sa týkal vyslovene vojny na Ukrajine.

Dátumy sme prekonvertovali na datetime a články usporiadali chronologicky:

Dropli sme nepotrebné stĺpce a ostatné sme premenovali:

Každé médium bolo opäť špecifické, čo sa týka názvov stĺpcov alebo formátov dátumu. Princíp bol ale všade rovnaký: Spojiť, vyčistiť, premenovať, usporiadať podľa dátumu a vyexportovať finálny dataset pre každé medium.

Celý postup nájdete v notebookoch na Google Collab:

https://drive.google.com/drive/folders/1Obg8Kk-vMrY95_B7CMKT86gOx3mTWoUQ?usp=sharing

FINÁLNY DATASET

Vo finálnom notebooku sme spojili všetky vyčistené datasety:

Finálny dataset sme dočistili, vyexportovali a pustili sa do vizualizácií. Pri čistení sme narazili na pár komplikácií. Prvý problém boli dátumy. Každé médium používa iný formát dátumu. Potrebovali sme dátumy prekonvertovať a zjednotiť. Nejednotný formát mien autorov, nejednoznačné použitie skratiek autorov, výmena autora za vydavateľa pri niektorých médiách, či neuvedenie autora (parlamentni listy a idnes.cz).

Náš dataset nie je enormne veľký — práca s viacerými dátami a ich získanie by si vyžadovali viac času. Všetky dáta sme získali scrapeovaním, kde bolo potrebné vyladiť sa na špecifiká každého médiá. Výsledkom je menší, ale poctivo oscrapeovaný a vyčistený dataset.

V rámci exploratívnej dátovej analýzy sme sa pozreli na vizualizácie aj v Jupyter Labe. Použili sme knižnice seaborn aj matplotlib. Tu sme zistili, že google collab, kde sme notebook nahrávali, nepodporujú vizualizácie v matplotlib, preto sú viditeľné len v jupyter labe. Za účelom vizualizácie sme dátumy rozdelili do binov:

Jupyter notebook s finálnym datasetom a vizualizáciami

SPRACOVANIE DATASETU A VIZUALIZÁCIE V GENEEA

Očistený dataset s viac ako 7000 článkami sme nechali spracovat v NLP platforme Frida od Geneea. Frida nam lemmatizovala naše data a vytvorila zoznam tagov, entít (osobnosti, produkty, lokality, organizácie) a vzťahov medzi entitami a ich atribútmi.

Časť základného dashboardu Frida (Platforma od Geneea pre vizualizáciu a textovú analýzu)

Náš prvý predpoklad nám potvrdila Frida na nasledovnom grafe, ktorý ukazuje počet článkov v časovom rozpätí medzi 1. januárom a koncom apríla roku 2022. Z grafu je jednoznačný prudký nárast záujmu a publikovanie článkov po vypuknutí invázie, následne si môžeme všimnúť, že už po mesiaci od invázie mediálne pokrytie klesá na polovicu. Rovnaký trend nám potvrdili aj vizualizácie v Jupyter labe.

Prehľad publikovaných článkov od začiatku roku 2022 do 28.04 2022

Druhú otázku nám pomohla taktiež zodpovedať Frida. Jej interaktívny dashboard umožňuje filtrovanie osobnosti podľa časového horizontu. Ukrajinský prezident Zelenskyj je zmienený pred inváziou (01–01–2000 až 23–02–2022) len v 235 článkoch oproti Putinovi, ktorý figuruje v 767 článkoch. Po invázii mediálne zmienky o Zelenskom rapídne stúpli. Jeho osoba sa vyskytuje v článkoch skoro šesťnásobne viac ako pred inváziou, avšak o Putina majú médiá väčší záujem. V článkoch sa vyskytuje dvojnásobne viac ako Zelenskyj.

Obrázok zobrazuje 4 grafy: vľavo hore je mediálny výskyt Zelenského pred inváziou, vpravo hore Putina pred inváziou. Vľavo dole je výskyt Zelenského po invázii (24.2.2022) a vpravo dole Putin po invázii.

ZAUJÍMAVÉ ZISTENIA Z DÁT A GRAFOV

Frida (Geneea) umožnuje jednoduché filtrovanie slovných spojení a ich výskyt v čase. Napr. slovné spojenie ukrajinský prezident je pred inváziou len v 175 článkoch. Po invázii je spojenie v 1071 článkoch. Toto podporuje aj našu domienku, že sa o ukrajinskom prezidentovi Zelenskom pred vojnou veľmi intenzívne nepísalo.

Pri skúmaní počtu článkov publikovaných v čase sme narazili na zaujimavé zistenie: Krivka u jednotlivých skúmaných internetových médií ukazuje podobný trend. Výrazné poklesy v krivke sú víkendy, kedy sa publikuje menej článkov. Značná čast mediálnych portálov preberá články od ČTK — Českej tiskovej kanceláře. Napr. idnes.cz a lidovky.cz patria do rovnakej mediálnej skupiny MAFRA a publikujú rovnaké články. Koncept Parlamentných listov je postavený na tom, že verejnosti poskytujú čo najviac správ a tiež preberajú klasické zpravodajské články napr. od idnes.cz alebo aktualne.cz. Ak by sme pokračovali v projekte do budúcna, zamerali by sme sa na detailnejšie skúmanie vzťahov medzi autormi článkov a mediálnymi portálmi a taktiež na charakter jednotlivých médií.

Vizualizácia v JL počtu článkov v čase pre jednotlivé médiá (január -apríl)

SPRACOVANIE DATASETU A VIZUALIZÁCIE V SKETCH ENGINE

Sketch Engine je nástroj na analýzu textu a skúmanie fungovania jazyka. Jeho algoritmy analyzujú autentické texty s miliardami slov (tzv. textové korpusy), aby identifikovali, čo je v jazyku typické a čo zriedkavé. Sketch Engine používajú najma lingvisti, lexikografi a prekladatelia. Nám ho odporučil na využitie náš mentor. Sketch Engine obsahuje okolo 600 pripravených korpusov vo viac ako 90 jazykoch.

My sme si do Sketch Engine nahrali vlastný korpus — jeden dataset s oscrapovanými článkami s celkovým počtom 3 178 137 slov.

Sketch Engine TREND SLOV: válka, uprchlík, prezident, napětí

Jednou z možností sledovania vývoja jazyka v Sketch Engine sú tzv. TRENDS. Trendy slúžia na detekciu slov ktoré podliehajú zmene v čase. Identifikujú slová ktorých používanie sa časom zvyšuje alebo znižuje. Trendy berú do úvahy Frequency (výskyt slova) a zároveň Relative Density (porovnanie frekvencie slova v konkretnom type článku s frekvenciou v celom korpuse). Pekný príklad je napr. slovo napětí, ktoré stráca na význame a vidíme u neho po invázii vysoký pokles. Naopak, častejšie skloňovaným slovom v mediách začína byť uprchlík.

Sketch Engine nám poskytol náhľad na tzv. kolokácie. Kolokácie sú slovné spojenia, ktoré spolu súvisia gramaticky i sémanticky a vytvárajú viacslovné pomenovanie. V našom projekte sme sa pozreli na slová Ukrajina a Rusko a ich najčastejšie spojenia s inými slovami v českých médiách. Na vizualizáciách je vidieť, aký obraz nám médiá vytvárajú o oboch krajinách. Ukrajina v médiách vystupuje ako brániaca sa slobodná krajina, ktorá bola napadnutá sovietskou agresívnou veľmocou. Zaujímavým je častý výskyt prívlastku Putinovo / putinovské Rusko. Rusko je v českých médiách reprezentované negatívne, a to ako útočiaca veľmoc a agresor.

Na obrázkoch nižšie je možné vidieť inú formu vizualizácie kolokácií pre slová Putin a Zelenskyj. Na vizualizáciách je možné vidieť, že s Putinom sa spájajú prívlastky samotný, starý a jasný. Prídavné meno jasný sa spája aj so Zelenskym popri slovách jistý, uvěřitelný a citovaný, či podstatné meno frajer, čo naznačuje aj menej formálny štýl písania niektorých médií.

Sketch Engine tiež umožňuje zobraziť najčastejšie sa vyskytujúce slová a slovné spojenia v médiách na základe skóre. Skóre je jednoduchý matematický výpočet na identifikáciu kľúčových slov a spojení. Na obrázku nižšie je možné vidieť 20 najfrekventovanejších slov a slovných spojení na základe skóre.

Slovné spojenia:

Slová:

AKO FUNGUJE SPRACOVANIE PRIRODZENÉHO JAZYKA

NLP je podkategóriou Machine Learning, ktorá v posledných rokoch exponenciálne napreduje vďaka zhromažďovaniu veľkého množstva textových dát. Existujú dva hlavné typy NLP: porozumenie prirodzenému jazyku (NLU) a generovanie prirodzeného jazyka (NLG). Practical Explanation of NLP for Fake News Detection (universaltimes.org)

V projekte sme sa venovali NLU. Vstupné dáta musia prejsť množstvom procesov: tokenization, odstránenie stopwords, stemming a lemmatization, part of speech tagging. Je potrebné optimalizovať a vyčistiť dáta na feature extraction a prípadné trénovanie modelu (napr. pri detekcii fake news).

Tokenizácia je proces rozdelenia nespracovaného textu na menšie časti, nazývané tokeny. Tokenizácia sa zvyčajne používa na oddelenie viet do slov. Po tomto kroku nový tokenizovaný text prejde špecifickou funkciou na odstránenie stopwordsstopslov, ktoré sa v jazyku vyskytujú často, no samy o sebe nenesú žiadnu významovú informáciu. Spravidla majú len syntaktický význam.

Stemming a lematizácia sú funkcie, ktoré sa následne aplikujú na množinu údajov. Vychádzanie z kmeňa je proces, ktorý odstraňuje časti konkrétneho slova, aby sa našlo kmeňové slovo. Lematizácia je v zásade podobná. Pri odvodzovaní (stemmatization) kmeňové slovo nemusí byť skutočným spisovným slovom alebo termínom, zatiaľ čo pri lemmatizácii je lemma existujúce slovo

V neposlednom rade ďalšou funkciou, ktorá by sa dala aplikovať na dataset, je Part-of-Speech (PoS) tagging. Ide o jednoduché prechádzanie množinou údajov a vhodné označovanie každého tokenu, či už ide o podstatné meno, zámeno, prídavné meno, determinant, sloveso, príslovku, predložku, spojku alebo citoslovce. To pomôže pochopiť kontext, pretože určité slová môžu mať v rôznych kontextoch rôzny význam.

Existujú ďalšie funkcie predbežného spracovania datasetu, vrátane odstránenia interpunkcie. Tieto funkcie riešia najmä čistotu, jednoduchosť a prehľadnosť údajov. Text je ďalej potrebné previesť na vektory (feature extraction). Čísla vektorov ilustrujú lingvistické črty textu a riešia otázku, ako sú slová reprezentované v NLP pipeline. Dve najobľúbenejšie metódy sú Bag of words a Word embeddings.

Takto rozumieme tomu ako fungujú vizualizačné nástroje, ktoré sme použili v projekte.

Na to ako funguje lematizácia, sme sa pozreli aj v Jupyter Labe. Na lemmatizaciu sme nainštalovali a importovali nástroj simplemma a naloadovali verziu pre český jazyk. Pozreli sme sa na lemmy niektorých slov a potom aplikovali lemmatizer na obsah celeho datasetu a vizualizovali to vo word cloude.

AKÝ JE ĎAĽŠÍ MOŽNÝ POSTUP NA PROJEKTE?

Náš projekt je len začiatkom, inšpiráciou pre možnú väčšiu a širšiu analýzu médií v súvislosti s vojnou na Ukrajine. Je možné ďalej scrapovat média a v dlhšom časovom období sledovať vývoj jazyka v médiách v súvislosti s vojnou. Tiež je možnosť pokračovať v prvom nápade na projekt a porovnať články dezinformačných médií s čekými internetovými spravodajskými portálmi. Tiež by sme sa mohli pozrieť špecificky a detailnejšie na každé jedno médium alebo sa zamerať na analýzu médií z iných krajín, či už Slovenska, alebo v zahraničia.

Scraping médií a textovú analýzu je možné využiť aj na podloženie tvrdení odborníkov o špecifikách mediálneho pokrytia vojny na Ukrajine.

Podľa Maria Manentiho z London School of Economics sa počas prebiehajúceho mediálneho pokrytia veľkých medzinárodných spravodajských kanálov objavil opakujúci sa vzorec, ktorý naznačuje, že ukrajinskí občania si viac zaslúžia súcit ako obete iných vojenských konfliktov mimo západného sveta. Zamýšľa sa, či ide o eurocentrický predsudok a analyzuje viacero psychologických mechanizmov, vrátane kmeňovej povahy ľudí, ktorá má predispozíciu na delenie my vs. oni. Preto máme tendenciu vyjadrovať prosociálne správanie, konkrétne pomocné a podporné správanie, voči ľuďom z našej vlastnej skupiny. Anglický moderátor Al-Džazíry Peter Dobbie opísal Ukrajincov utekajúcich pred vojnou ako „bežnú európsku rodinu, vedľa ktorej by ste vedeli žiť“.

Z iného uhla pohľadu sa na to pozerá Melissa de Witte zo Stanford University. Keď vypukne konflikt, záujem medzinárodných médií prudko rastie. Pokrytie prevláda, kým nedôjde k vyriešeniu konfliktu alebo nie je jasné, že sa konflikt rýchlo neskončí. Ukrajina je príbeh prvoradého významu a pre medzinárodných novinárov bolo ľahké dostať sa do krajiny, čo spôsobilo veľké mediálne pokrytie. Taktiež ak v krajine fungujú slobodné médiá a ide o demokratickú krajinu, mediálne pokrytie je väčšie. Neexistuje žiadna súvislosť medzi rozsahom humanitárnej katastrofy a rozsahom pokrytia príbehu v západných médiách. Je pravda, že Ukrajine sa práve teraz očividne dostáva veľa pozornosti, na rozdiel od iných vojen. Postupne sa však aj vojne na Ukrajine môže dostať len epizodické pokrytie, na čo nadväzuje aj financovanie zahraničného spravodajstva, ktoré je drahé.

Tvrdenia akademikov, sociológov či novinárov by mohli byť predmetom ďalšieho výskumu, pri ktorom by bolo možné využiť textovú analýzu a výskum podložiť dátami. Bolo by možné podrobnejšie sa zamerať na to, ako médiá pokrývajú rôzne vojnové konflikty vo svete alebo ako sa mení záujem médií v súvislosti s dĺžkou konfliktu.

Veríme, že textová analýza má obrovský potenciál, aj čo sa týka médií v inom ako anglickom jazyku.

Michaela Szilvásová

Prišla som s nápadom na projekt, pričom som sa inšpirovala knihou Sila Rozumu v bláznivej dobe od Jána Markoša. Keďže pracujem v Apify, v rámci projektu som mala na starosti zber dát a nastavenie scraperov. Zber dát nebol jednoduchý, pre každý portál som musela analyzovať webové stránky, ich HTML štruktúru a nastavit kód, ktorý sťahoval obsah článkov. Čistiť dáta a transformácie som sa učila na oscrapovaných datasetoch v Keboole, kde som nahrávala vstupné datasety z Apify a Google Drive, transformovala v Snowflake a výstupné súbory nahrala znova na Google Drive. Pracovala som najmä so zmenou formátu dátumu a spájaním datasetov. Cez Keboolu som spracovávala následne aj datasety v aplikácii Geneea, ktorá vygenerovala štyri výstupné súbory. S interpretáciou dát a vizualizáciami som pracovala v platforme Geneea a Sketch Engine.

Lucia Otiepková

V rámci projektu som sa venovala čisteniu dát v Pythone. Aby som vedela, ako postupovať, zapísala som sa na kurz Spracovanie a vizualizácia dát v Pythone, ktorý mi pomohol pri čistení, exploratívnej dátovej analýze a prvotnej vizualizácii dát. Využívala som Jupyter Lab notebooky na čistenie jednotlivých médií a finálneho datasetu. V prvej fáze projektu som úzko spolupracovala s Miškou počas scrapovania, keďže bolo potrebné z datasetu vyfiltrovať relevantné URL a k nim v druhej fáze doscrapeovať obsah. Po získaní obsahu zo všetkých médií som datasety spojila do jedného veľkého finálneho datasetu, ktorý som opäť vyčistila od chýbajúcich hodnôt, duplikátov či nerelevantných dát, chronologicky usporiadala podľa dátumu publikovania a venovala sa prvotným vizualizáciám a wordcloudom v rámci EDA. Zamerala som sa na frekvenciu rôznych kľúčových slov, ich porovnanie, vizualizácie zamerané na meniacu sa frekvenciu vydávania článkov v súvislosti s inváziou v čase a pod. Taktiež som preskúmala procesy NLP a možnosti aplikovania postupov v JL, zameraných na český jazyk. V poslednej faze som sa zamerala na vizualizácie v rámci Sketch Engine.

Za cenné rady k projektu, tip na Sketch Engine a celkové nasmerovanie k téme ďakujeme nášmu mentorovi Vítovi Baisovi. Za pomoc pri nahrávaní datasetu do Geneea ďakujeme Markéte Špinkovej.

--

--