Як журналістика даних може зробити великі графіки цікавішими

Розігнати хмари слів. DataViz vol.4 — про способи візуалізації тексту

Четвер, 3 Жовтня, 2024

Кейси й рішення

Євгенія Дроздова та Юлія Дукач

Це четвертий випуск із серії матеріалів про журналістику даних і візуалізації, де «Медіамейкер» розбирається в цих питаннях разом з Євгенією Дроздовою та Юлією Дукач — журналістками незалежного українського видання Тexty.org.ua, яке із 2010 року просуває українську журналістику даних як серед української авдиторії, так і за кордоном. Євгенія очолює відділ журналістики даних, спеціалізується на створенні інтерактивних візуалізацій і карт, багато працює з геопросторовою інформацію. Юлія очолює відділ дослідження російської дезінформації та спеціалізується на роботі з даними соцмереж, аналізі тексту й тому, як за допомогою машинних алгоритмів можна виявляти російську дезінформацію. У нас різний технічний бекграунд, але спільна пристрасть — постійно стежити за роботою дата-журналістів зі всього світу, помічати тренди та цікаві рішення у візуалізації даних. А також рефлексувати, що працює, а що ні, і що з цього всього можна взяти на озброєння в українських редакціях. Перший, другий і третій випуски за покликаннями.

Будемо чесними: до цієї теми підштовхнула нелюбов авторок до хмари слів. Попри те, що ми її теж час від часу використовуємо (наприклад, коли візуалізували використання різних хештегів російською ботофермою в TikTok), але все одно не любимо. Чому? Бо вона не дуже функціональна, не те щоб сильно красива й існує вже так давно, що, здається, нікого не вражає. Особливо невдалим цей вибір буде для авдиторії, що читатиме вашу статтю з мобільного екрану. Адже невеликий гаджет накладає обмеження на максимальний розмір шрифту, тому важко зробити помітну різницю між розмірами окремих слів.

Але чи справді в нас зовсім немає альтернатив, коли ми візуалізуємо результати аналізу тексту? Все ж є кілька ідей та лайфхаків, які допоможуть зробити матеріал цікавішим і таким, що запамʼятається навіть найвибагливішому читачу.

Коли можна просто дати весь текст (із виділеннями)

Часом, вириваючи для графіка лише окремі слова, ми власноруч позбавляємо читачів контексту й відчуття масштабу. 

Зверніть увагу на цей старенький проєкт від NYT, який підсвічує, кого хейтив Дональд Трамп у період 2015–2021-го. Він цілком міг би виглядати класичною хмаринкою слів, де найбільшим шрифтом були б написані імена Гілларі Клінтон і Джо Байдена, а поруч з ними були б «Демократи», «Популярні медіа», «CNN» та інші. Так ми б дізналися, що саме їх Трамп атакував найчастіше. Однак це завдання набагато краще виконує полотно його твітів навіть без натяку на агрегацію. Замість хмаринки з переліком осіб, читач проскролює екрани твітів, згруповані за імʼям особи чи назвою організації, й бачить, як багато хейту написано на адресу Гілларі Клінтон або, наприклад, на адресу кампанії, що звинувачувала його у звʼязках із Росією. Так, окрім власне інформації про частоту згадування, читач отримує кращі уявлення про масштаби проблеми й цікавий додатковий контекст, коли бачить, скільки дурних постів Трамп продукує в соцмережах.

І вже цієї осені, в розпал передвиборчої президентської кампанії у США, NYT і далі використовує цей прийом — тепер, коли аналізують промови Трампа та Гарріс і підсвічують всі перебільшення й відверту брехню.

Аналіз промови Трампа та Гарріс із підсвіченими всіма перебільшеннями й відвертою брехнею.

До слова, прийом подання даних без агрегації добре працює на підкреслення масштабу проблеми не лише з текстом, але і щоб передати масштаби трагедії. Наприклад, у випадку з візуалізацією, яка присвячена людям, померлим внаслідок коронавірусу. Замість того, щоб намалювати кілька графіків, що показують кількість загиблих по місяцях, регіонах, за віком, статтю чи расою, автори згенерували за допомогою ШІ обличчя, що відповідають даним померлих. Нескінченний скролінг буквально лякає кількістю смертей, а також нагадує, що за будь-якою знеособленою статистикою стоять людські життя та трагедії.

Коли можна перетворити текст на список

Але повернемося до аналізу текстів. Кажучи про повнотекстову візуалізацію, ми не завжди маємо на увазі публікацію абсолютно всього. Іноді, наслідуючи той же NYT (ми не упереджені — їхня редакція дійсно любить і часто використовує текстові візуалізації), ми можемо дати список обраних цитат. Як, наприклад, в їхньому проєкті зі списком всіх цитат, що в соцмережах писала Гарріс про особистість Трампа (2 випадки), і як на особисте переходив Трамп, пишучи про Гарріс (по кілька разів ледь не щодня). А поступова поява цитат під час скролінгу лише посилює в читачів ефект «ого як багато!» та відчуття нескінченності цього потоку образ.

Візуалізація у вигляді стилізованих списків також добре працює, коли маємо справу з жанрами чи стилями. Ось, наприклад, проєкт The Pudding про різноманіття та зміну з часом найпопулярніших жанрів Spotify. Він не тільки вчить нас експериментувати з типом взаємодії з текстом (там замість старого-доброго скролу — управління клавішами чи кліком), але й показує, як легко списки найпопулярніших жанрів перетворюються на графіки й навпаки.

Або старенький проєкт від the Pudding про історичне різноманіття (201 приклад!) використання слова Ass (англ. «сідниці») та інших лайливих англомовних слів. Тут немає змінної з розміром/частотою, проте всі слова та словосполучення структуровані за датою першого задокументованого слововжитку, частини мови відрізняються за кольором, а за кліком можна побачити, де саме зафіксована перша згадка. І скажіть нам, що після цього у вас не зʼявилося бажання зробити щось подібне для окремих українських слів 😉

Графіка про історичне різноманіття (201 приклад) використання слова Ass (англ. «сідниці») та інших лайливих англомовних слів

Коли можна повернутися до «класичних графіків»

Та, говорячи про візуалізацію тексту, насправді більше хочеться згадати про різноманіття форм його аналізу. Вони своєю чергою народжують і різноманіття візуальної подачі.

Хмара слів асоціюється з найбільш базовим підходом підрахунку найчастіше згадуваних слів у інтервʼю, книзі, чи дописах соцмереж. Головне тут — не забувати видаляти так звані «стоп слова» (вони ж «шумові слова»). Тобто ті слова, які не несуть смислового навантаження (себто прийменники, вигуки чи займенники).

Проте, якщо ми беремо до уваги не всі іменники чи дієслова в тексті, а досліджуємо в ньому згадки окремих персон, тем чи локацій, стандартний стовпчиковий графік може бути ефективніший за хмару слів. Як мінімум тому, що він чіткіше показує величини й у ньому їх легше порівнювати.

Саме через стовпчики те ж NYT ілюструє, скільки часу Трамп і Гарріс витрачали на виступи з 15 ключових питань і скільки — на нападки на свого опонента в межах кожної з цих тем.

Ми в щотижневих моніторингах російської дезінформації теж надаємо перевагу стовпчикам — коли серед ~500 000 статей виокремлюємо найпопулярніші теми або найбільш згадуваних у російських новинах політиків. 

Кількість можна привʼязати не до довжини стовпчика, а, наприклад, до позиції на осі x або y. Так на цьому графіку показали кореляцію між екранним часом, що отримали персонажі «Володаря перснів», проти кількості згадок цього персонажа у книгах.

На цьому графіку показали кореляцію між екранним часом, що отримали персонажі «Володаря перснів», проти кількості згадок цього персонажа у книгах.

Також гріх не використовувати дані про зміну досліджуваних термінів у часі. Якщо ж термінів забагато, точно не варто наносити їх різними кольорами на один графік. Натомість можна піти шляхом small multiples (маленьких окремих графіків для кожного окремого випадку). Або, як The Pudding, коли досліджували, які слова найчастіше зустрічаються в заголовках новин про жінок, використати графік Ridgeline. 

Можна не обмежуватися часом лише по осі x, а зробити як WSJ в аналізі твітів Ілона Маска (опублікованому ще далекого 2022-го, коли Маск ще не купив Twitter, не перейменував і не спотворив його). На візуалізації по осі x — дні, а по осі y — час доби, коли публікувалися конкретні емоджі. А отже читачі можуть перевірити, чи раптом час доби не впливав на адекватність Маска згадки Маском бренду Tesla, самого Twitter чи використання ним різних емоджі. 

На візуалізації по осі x — дні, а по осі y — час доби, коли публікувалися конкретні емоджі.

Ще один приклад — зі старенького проєкту The Pudding із візуалізацією всіх рядків із мюзиклу «Гамільтон». Один із графіків показує скільки тексту мають різні персонажі в кожній із пісень. Тобто іноді достатньо повернути питання від «Хто більше?» до «Хто скільки?» і ми вже маємо графік замість хмаринки слів.

Або ж можна піти зовсім іншим шляхом: не стільки рахувати згадувані слова чи емоджі, скільки дослідити саме багатство й різноманіття мови різних спікерів. Так зробило видання The Economist, щоб підкреслити характерний стиль Дональда Трампа під час дебатів. У пригоді став класичний лінійний графік, де на осі x — загальна кількість вимовлених слів, а на осі y — кількість унікальних слів. Погодьтеся, цікаво було б почитати щось схоже про українських політиків.

Класичний лінійний графік, де на осі x — загальна кількість вимовлених Трампом під час дебатів слів, а на осі y — кількість унікальних слів

Ну і, зрештою, як не згадати можливості для аналізу та візуалізації тексту, які відкриває розвиток машинних алгоритмів і ШІ. Адже будь-який текст можна векторизувати (перетворити на довгий рядок чисел), зменшити розмірність (перетворити цей довгий рядок, наприклад, на два числа) й візуалізувати у двовимірній площині. І тоді тексти, написані на схожу тему, будуть розташовані на цьому точковому графіку ближче.

Цим шляхом пішли у WSJ, коли створили «мапу» всіх твітів Маска (до речі, тут можна детальніше прочитати про методологію та як вони цю «мапу» зробили).

«Мапа» всіх твітів Маска

Але повернімося до хмари слів

Євгенія Дроздова: У мене було питання, як уникнути звичайної хмаринки слів, коли я працювала над матеріалом «Що найчастіше крадуть в АТБ». Ми проаналізували судові рішення й отримали список продуктів і товарів з АТБ, які там найчастіше фігурували. І щоб не зводити матеріал до самої лише хмаринки (хоча без неї не обійшлося), вирішили дати більше інформації. Ми показали не просто що саме крадуть, а як співвідносяться в одній крадіжці кількість і різноманітність товарів, які товари найчастіше опиняються в парі (наприклад, разом із віскі найчастіше крали лікер, а з шоколадом — ковбасу). Я вважаю, це хороше рішення, щоб не обмежувати всі дані хмаринкою слів, адже в більшості випадків інформація, з якої цю хмаринку роблять, є глибшою й цікавішою.

Ми проаналізували судові рішення про крадіжки й отримали список продуктів і товарів з АТБ, які там найчастіше фігурували.

Або ось, наприклад, цікавий спосіб використання хмаринки слів у матеріалі The Pudding про те, як у книжках пулітцерівських лавреатів описували зовнішність жінок і чоловіків. Тут розмір слова прив’язаний до загальної частоти використання, а позиція слова показує баланс між тим, як часто цим словом описували жінок, і як часто чоловіків. Якщо приблизно порівно, слово буде на лінії Split 50/50. 

Графік як у книжках пулітцерівських лавреатів описували зовнішність жінок і чоловіків.

Якщо ви робитимете хмаринку слів, то памʼятайте, що розмір шрифту не обовʼязково має бути напряму привʼязаний до значення в даних: ви можете нормалізувати наявні у вас значення до будь-якого потрібного діапазону. Онлайн сервіси та програми, ймовірно, зроблять це за вас. Наприклад, у Flourish, про який ми вже розповідали в одному з попередніх оглядів, є шаблон Word cloud. Проте, якщо ви вирішите намалювати хмаринку самостійно у векторному редакторі (з нашого досвіду автоматичний підбір позиції слів часто виглядає жахливо й хочеться його поправити ручками), часто виникає питання, як підібрати розмір шрифту й не спотворити дані.  

Для цього спочатку треба визначити, яке максимальне і мінімальне значення шрифту підійде. Уявімо, це 10px–50 px. У такому випадку ваші показники даних (наприклад, від 1 до 1000) необхідно розподілити між потрібними значеннями 10–50. Це можна зробити навіть у Google-таблицях, використовуючи формулу:

= ((value – data_min) / (data_max – data_min)) * (target_max – target_min) + target_min

У формулі:

Тоді різниця в розмірі шрифтів між словами коректно співвідноситиметься з реальною різницею між значеннями в даних. 

Якщо ж у вас немає «розміру», то завжди можна щонайменше погратись із формою. Наприклад, розважити читачів, перетворивши «хмару слів» на «купу слів» (як це зробило The Pudding у вже згаданому вище проєкті з аналізом жанрів Spotify).

Граємось із формою. Альтернатива хмарі слів — купа слів

Ми сподіваємося, що цей огляд наштовхне вас на альтернативні ідеї й допоможе вибрати цікавий спосіб аналізу й візуалізації тексту. 

Texty.org.ua | візуалізація даних | дата-журналістика | журналістика даних