Alet ÇantasıVeri gazeteciliği

Veri haberciliği süreçleri için geliştirilen Workbench nedir? Nasıl kullanılır?

0
Veri gazeteciliği süreçlerinde veri kazıma, analiz etme ve veri görselleştirme vb. imkânlar sunan web tabanlı araçlar ve yazılımlar, programlama veya kod yazma bilgisine sahip olmayan gazeteciler için cazip geliyor. Ne var ki veri haberciliğinin çalışma akışı gereği, bu durumda gazeteciler birden çok araç kullanmak zorunda kalıyorlar. Veriyi kazımak için bir eklentiyi, temizlemek için ayrı bir aracı, görselleştirmek için ise farklı bir programı veya yazılımı kullanmak hem zaman alıyor hem de birden çok aracı kullanmak veri ile çalışma akışını olumsuz etkileyebiliyor. Halbuki R veya Python gibi gerekli ihtiyaçlara çözüm sunabilecek ve aynı zamanda öğrenilmesi az zaman alan ve programlama bilgisine gerek duyulmayan yeni araçlara ihtiyaç var. O araçlardan biri veri gazeteciliği süreçleri için geliştirilmiş Workbench. Peki Workbench nedir ve nasıl kullanılır? Bu yazıda bir kaç uygulamayla anlatmaya çalışacağım.

Veri ile çalışma platformu

Workbench, daha sofistike, şeffaf ve yeniden üretilebilir veri gazeteciliği pratiklerini desteklemek için Columbia Üniversitesi Gazetecilik Okulu tarafından hayata geçirilen bir veri gazeteciliği projesi. Her ne kadar araç desem de Workbench kendisini veri gazeteciliği ve veri ile çalışma platformu olarak tanımlıyor. 2018 yılının başlarında beta sürümüyle kullanıcılara sunulan Workbench ücretsiz ve açık kaynak olarak geliştiriliyor. Şuradan GitHub sayfasına göz atabilirsiniz.

Kazı + Analiz Et + Görselleştir

Workbench kendini veri gazeteciliği platformu olarak tanımlıyor çünkü web’den veri kazıma (import.io), veri temizleme (open refine) ve veri görselleştirme (Tableau, Data Wrapper, Flourish, Infogram vb.) işlevlerinden sadece birine sahip araçların aksine tüm bu fonksiyonları aynı çalışma ekosisteminde kombine olarak sunuyor. Kısaca R ve Python gibi programlama diliyle gerçekleştirilebilecek işlemleri web tabanlı ve kullanıcı arayüzüyüyle yapma imkânı sağlıyor. Bunun yanı sıra platformda Python desteği de var.

Workbench’in arayüzünü tanıyalım

Workbench ile neler yapabileceğimize geçmeden önce kısaca Workbench arayüzünü tanıyalım. Workbench’in çalışma prensibi veri gazeteciliği süreçlerinden (veri kazıma, temizleme, analiz etme ve görselleştirme) oluşuyor. Yapacağımız işlemlere çalışma akışı (workflow) oluşturarak başlıyoruz.

Çalışma akışı oluşturduğumuzda ekranın sağ köşesinde tablolar, sol köşesinde ise veri kazıma, temizleme, görselleştirme işlemlerini gerçekleştirebileceğimiz artı butonu yer alıyor. Google tablolarda olduğu gibi çalışma akışını adlandırıp ayrıca paylaşıma da açabiliyoruz.

Adım eklemek (add step) için tıkladığımızda Workbench’in sunduğu işlevler ortaya çıkıyor. Veri ekleme, Kazıma, Temizleme, Analiz ve Görselleştirme kategorilerine sol menünün altında ulaşılabiliyor. Workbench link yardımı ile veri içeri aktarılabilir. Google Drive’daki veri setlerine kolaylıkla erişilebilir. Ve sanırım en önemlisi Twitter’dan veri çekebiliyor olması. Sadece Twitter hesabı ile bir hesabın 3200 tweetine ve belirli etiketlerde paylaşılan tweetlere erişilebiliyor.

Diğer taraftan Workbench web sitelerinden veri kazıma da yapabiliyor. Veri setini içeri aktardıktan sonra değişkenlerin formatı değiştirilebiliyor. Boş veya birbirinin ikizi değerler ortadan kaldırılabiliyor. Analiz kısmı filtreleme, belirli fonksiyonlar (toplama, çıkarma, ortalama alma vb.) kullanma imkânı tanıyor. Üstelik İngilizce metinlerde duygu analizi de yapabilirsiniz. Bu 5 kategori içinde diğerlerine oranla eksik olduğunu düşündüğüm tek kısım görselleştirme kısmı. Workbench aşağıda görüldüğü üzere az sayıda grafik tipini destekliyor. Şu an için sadece sütun grafik, histogram, çizgi grafik, dağılım grafiği ve kelime bulutu oluşturulabiliyor.Şimdi Workbench ile nasıl tweet verisi çekilir ve analiz edilir, web’den veri nasıl kazınır uygulamalı olarak görelim:

1. Trump’ın Twitter’da en çok kullandığı kelimeler

İlk olarak artı butonundan Veri Ekleme (add data) kategorisi altında yer alan “Twitter”ı seçelim. Karşımıza aşağıdaki görselde görüldüğü gibi boş bir veri tablosu ve sol tarafta Twitter hesabımızı bağlamamızı isteyen bir buton çıkıyor. Önce Twitter hesabımız ile bağlantıyı sağlıyoruz. Bu bağlantı Workbench tarafından oluşturulmuş Twitter API’sine erişimemizi sağlayan bir uygulama. Hatırlarsanız aynısını R ile nasıl tweet verisi çekilir yazımda da anlatmıştım.

Bu analizde Trump’ın tweetlerinde sıklıkla kullandığı ifadelerden kelime bulutu oluşturacağımız için Trump’ın kullanıcı adını kullandık. Güncelle (update) butonuna tıkladığımızda sağ tarafta görüldüğü üzere Workbench Trump’ın 3192 tweetini çekti.

Workbench çalışma akışı üzerine kurulu olduğu için her işlemin altında bir artı butonu bulunuyor. Bu artı butonlarıyla veri ekleme + kazıma + temizleme + görselleştirme işlemlerini birbirine bağlıyoruz. Yani aslında bu süreçler sonuca giden yolda zincirin bir halkasını temsil ediyor. Bu sayede programlama diliyle yapılan analizlerde olduğu gibi veri seti üzerinde nasıl işlemler yapıldığı açık ve şeffaf bir şekilde sol menüde gösteriliyor.

Analize geçmeden önce Trump’ın Retweet ettiği tweetleri veri setinden çıkaralım. Çekilen tweet verisinde Retweet edilenlerin kullanıcı adının bulunduğu (retweet_status_screen_name) sütunda hücreler boş (null) ise bu tweetler Trump tarafından paylaşılmış demektir. Koşullu filtreleme (filter by condition) işleviyle Workbench’e boş olan hücreleri filtrelemesi komutunu veriyoruz. Aşağıda görüldüğü üzere 3192 tweetten geriye Trump’ın hesabından paylaşılan 2595 tweet kaldı.

İlginizi çekebilir:  Türkiye ve dünyadan örneklerle veri görselleştirme hataları

Kelime bulutu yapacağımız için öncelikle gereksiz noktalama işaretleri ve emoji gibi özel karakterlerden kurtulmamız gerekiyor buna çalışma akışına yeni bir zincir (3) ekleyerek başlayabiliriz. Aşağıdaki görseldeki gibi metin verilerini temizlemek için Temizleme (Clean) kategorisi altında yer alan metni temizle (clean text) komutuyla Trump’ın tweetlerindeki noktalama işaretleri ve karakterleri temizledik. Üstelik tüm kelimeleri küçük harfli (lowercase) yazıma çevirdik. Çalışma akışındaki her zincirin sonunda yer alan “keep” ve “delete” kısmı yapacağımız işleme göre ayrıca bir esneklik sunuyor.

Son olarak temizlediğimiz metin verisini kelime bulutu hâline getirelim. Yapmamız gereken çalışma akışına görselleştirme kategorisinden kelime bulutu (word cloud) görselleştirme tekniğini seçmek. Workbench eldeki metin verisinden bir kelime bulutu oluşturdu. Görüldüğü üzere Trump tweetlerinde “great”, “border”,”people”, “democrats” vb. ifadeleri sıklıkla kullanmış.

Bu görseli embed edebilir. Veya statik olarak dışarı aktarabiliriz. Bununla birlikte sadece görseli değil, tweet verisi üzerinde yaptığımız tüm işlemleri çalışma akışı olarak bir kod dokümantasyonu gibi paylaşabilir veya çalışma arkadaşlarımızla bu çalışmaya erişim yetkisi vererek iş birliği yapabiliriz.

Workbench’in görselleştirme kategorisi şimdilik temel grafikleri desteklediği için her adımın sağ üzerinden bulunan butonla düzenlediğimiz verileri dışarı aktarabilir, alternatif araçlar kullanarak da görselleştirmeler yapabiliriz.

2. Web’den veri kazıma

İkinci pratikte Newzoo sitesinden ülkelerin video oyun sektöründeki pazar büyüklüğünü içeren bir veri tablosunu kazıyacağız. Veriler tablo olarak paylaşıldığı için Scrape kategorisinden tabloyu kazı (scrape table) işlevini seçiyoruz. Karşımıza çıkan kısımda ilk kutucuğa verinin bulunduğu web sitesinin adresini yapıştırıyoruz. Alt tarafında yer alan kutucuğa ise sayfadaki ilk tabloyu kazımak istediğimizi belirtmek için sayı ile 1 ekliyoruz ve Scrape butonuna tıklıyoruz. Görüldüğü üzere sayfadaki veriyi kazıdık.

Veriyi kazımak kolaydı fakat analiz yapabilmemiz için veri setindeki bazı kısımları düzenlemeliyiz. Yukarıdaki görselde de görüldüğü gibi sayısal veriler içeren son 3 sütun metin (text) verisi olarak tanımlanmış. Ayrıca sütunlarda rakamsal değer olarak M ve $ gibi metinsel ifadeler var. Öncelikle işe hücrelerdeki metinsel ifadeleri temizleyerek başlayalım.İlk pratikte olduğu gibi sütunlarda metin verisi var ise bu verileri temizlemek için Temizleme (Clean) kategorisinden Clean text (Metni temizle) işlevini kullanacağız. Bu işlemde ilk kutucuğa temizleyeceğimiz sütunların ismini ekliyoruz. İşlemde verideki boşluklar (Space) ve harflerin büyük veya küçük olmasıyla (Capitalisation) ilgilenmediğimiz için hiç dokunmuyoruz. Son olarak karakterler (Characters) kısmında harfler (Letters) ve özel karakterler (Custom) kutucuğunu işaretleyip beliren kutucuğa dolar ($) sembolünü ekliyoruz. Sütunlardaki M ve $ sembolünü temizleyeceğimiz için Workbench’e Sil (Delete) komutu veriyoruz ve sağ alttaki buton ile işlemi gerçekleştiriyoruz. Görüldüğü gibi gereksiz M ifadesinden ve $ işaretinden kurtulduk. Şimdi sayısal veri bulunduran üç sütunun veri formatını sayı verisine dönüştürelim.

Veri formatını değiştirmek de bir nevi veri temizleme işlemi olduğu için Temizle (Clean) kategorisi altından sayıya dönüştürme (convert to numbers) işlevini kullanacağız. İlk kutucuğa her zamanki gibi dönüştürme işlemini yapacağımız sütun isimlerini ekliyoruz. Ve sağ alttaki butona tıklıyoruz. Sayı verisine göre Sergile (Display as) kısmından yüzde işareti (%) veya para birimleri ($, €, ₺) de sayılara eklenebiliyor.

Temizleme işlemini tamamladık. Son olarak video oyun pazarı büyüklüğüne göre ilk 10 ülkenin durumunu çubuk grafik yardımıyla görselleştirelim. Daha önceki görsellerde sol tarafta yer alan sayılar aslında ülkelerin sıralamasını gösteren verilerdi. Sütun’u Rank (sıralama) olarak adlandırdım ve Koşullu Filtrele (filter by condition) işlevi ile 11’den küçük değerleri yani ilk 10 ülkeyi filtreledim.

Filtrelenen veriyi, Görselleştirme (Visualization) kategorisinden çubuk grafik yardımıyla görselleştirelim. İşlemdeki ilk kısma grafiğin başlığı ve kaynağını ekliyoruz. İkinci kısımda Yatay X eksenine (X Axis) Ülkeler (Country) sütununu, dikey Y eksinine (Y Axis) ise gelir verilerinin bulunduğu sütunu ekleyerek sağ alttaki buton yardımıyla video oyun pazarı büyüklüğüne göre ilk 10 ülkeyi görselleştirebiliriz.

Görüldüğü üzere Çin en çok oyun gelirine sahip ülke olarak göze çarpıyor, ABD, Çin’i yakından takip ediyor. Oyun pazarı büyüklüğünde Türkiye ise 18. sırada. Yaptığımız çalışmayı aynı zamanda sitemize embed edebiliyor veya statik formatta (png veya svg) indirebiliyoruz.

Ve daha fazlası

Workbench sadece anlattıklarımdan ibaret değil, bu yazıda Workbench’i pratik kullanımı hızlandırması açısından incelemeye çalıştım. Detaylı olarak incelemek için Workbench’in kendi sitesinde yer alan interaktif derslerine ve uygulamalarına göz atabilirsiniz. Her ne kadar görselleştirme kısmında benim nazarımda sınıfta kalmış olsa da ileride görselleştirme tarafının geliştirileceğini ümit ediyorum. Çünkü Workbench diğer araçların aksine veri gazeteciliğinin tüm süreçleri için kombine çözümler sunabilecek bir platform. Orijinal bir fikir ve belki de veri haberciliğinin çetrefilli süreçlerinden muzdarip olan gazeteciler için potansiyel bir çözüm.

Bu yazıdaki çalışma akışlarına aşağıdaki bağlantılardan ulaşabilir, kendi hesabınızı oluşturarak kopyalayabilir üzerinde oynamalar yapabilirsiniz.
Sadettin Demirel
Veri muhabiri & eğitmen - veri gazeteciliği ve veri görselleştirme ile ilgileniyor. Veri Okuryazarlığı Derneği (VOYD) yönetim kurulu üyesi. Kadir Has Üniversitesi'nde Yeni Medya; Gothenburg Üniversitesi'nde ise Gazetecilik alanlarında yüksek lisans yaptı. Şu sıralar İstanbul Üniversitesi'nde Gazetecilik alanında doktora eğitimine devam ediyor.

Güneş Duru: Müzik listeleri dinleyicinin keşfetme dürtüsünü azaltıyor

Önceki içerik

50:50 projesi, stil kılavuzları, Fransa medyasında kutuplaşma

Sonraki içerik