30 Nisan 2017 Pazar

Designing an Information Retrieval System for Learning Experiences in the Virtual Environments - Section 2 - SCREEN CAPTURE for LIFELOGGING

Sanal Ortamlardaki Öğrenme Deneyimleri İçin Bir Enformasyon Erişim Sistemi Tasarımı  - Bölüm 2
YAŞAM GÜNLÜĞÜ İÇİN EKRAN GÖRÜNTÜSÜ YAKALAMA


Arama motorları genellikle web içeriğini indekslemeyi hedeflemektedir. Kişisel enformasyon yönetiminde ise ağırlıklı olarak bireyin kullandığı bilgisayarlar üzerinden erişilen, düzenlenen ve depolanan enformasyona odaklanılır. Elektronik belgelerin günlüğünü oluşturan LifeStreams projesinin bireyin kişisel enformasyonunun zaman ekseninde yönetimi için önerilen ilk yaklaşımlardan biri olduğu görülmektedir (Freeman ve Fertig, 1995). Bu yaklaşımdan yola çıkarak, bireyin geleceğe yönelik niyetlerini (planları) saptayıp, gerçekleştirdiği etkinliklerle karşılaştırabilen bir sistemi 2010 yılında, öneren Picault ve arkadaşları, kişisel enformasyonun organizasyonu ve yapılandırılmasına yönelik yaklaşımların zaman bazlı, konum bazlı ya da bu ikisinin birleşimi şeklinde sınıflandırılabileceklerini ileri sürmüşlerdir (Picault ve diğ., 2010). Zaman bazlı yaklaşımlarda belgeler bir zaman çizgisi boyunca düzenlenmekte ve örnek olarak Microsoft’un MyLifeBits projesi verilmektedir. MyLifeBits projesinde Gordon Bell profesyonel bir ekibin yardımıyla 2000’lerin başından bu yana günlük yaşamında gördüğü, duyduğu, ürettiği, gönderdiği ya da aldığı bütün enformasyonu yakalayıp saklamakta ve kişisel ve profesyonel niteliklerine göre zaman ekseninde erişilebilir bir biçimde depolamaktadır (Bell ve Gemmell, 2009). Bu proje daha sonraki yıllarda “yaşam günlüğü” araştırmalarına ilham kaynağı olmuştur. 

Gurrin, Smeaton ve Doherty (2014)’e göre “yaşam günlüğü”, birey tarafından taşınan bir “yaşam günlüğü cihazı” tarafından çeşitli algılayıcılar yardımıyla bireyin yaşam deneyimlerine ait verilerin toplanması, işlemesi ve yansıtılması sürecidir. Günlük verileri görüntü, ses, video, konum verisi, hız verisi, sıcaklık, ışık düzeyi, vb. çok çeşitli algılayıcılardan elde edilebilir. Zaman günlüğü sistemleri kullanıldıkça zamanla kişisel büyük veri ortaya çıkar (Gurrin ve diğ., 2014). 

Yaşam günlüğü, yapısı gereği zamansal bir enformasyon yakalama sistemidir ve yakalanan günlük verileri mutlaka bir zaman verisiyle etiketlenirler. Algılayıcılardan elde edilen günlük verileri üzerinde örüntü tanıma teknikleri yardımıyla yer, kişi, olay vb. bağlamları elde edilir ve zaman bağlamıyla birlikte bireyin geçmiş deneyimlerine erişmek amacıyla kullanılırlar (Mutlu, 2015). 

Yaşam günlüğü araştırmalarında ağırlıklı olarak giyilebilir yaşam günlüğü kameralarına odaklanıldığı için bireylerin bilgisayar başında yaşadıkları deneyimlerin incelenmesine çok yer verilmemiştir. Bunun istisnası olarak, (Gurrin, 2012), (Chen ve Jones, 2009) ve (Mohamed, 2013)’de geliştirilen yaşam günlüğü sistemlerinde, ikincil amaçlarla, farklı zaman aralıklarında sürekli olarak bilgisayar ekranı görüntüsü yakalamaya da verilmiştir. Bilgisayar ekranı görüntülerinin giyilebilir kameralarla yakalanması durumunda, ekran görüntülerinin işlenmesini sağlayan bir sistem denenmiştir (Kimura ve diğ., 2013). Mutlu, kamera görüntülerinin yanı sıra ekran görüntülerini de düzenli olarak kaydeden bir yaşam günlüğü sistemi geliştirerek bu konuyu araştırmıştır (Mutlu, 2013). İlgili araştırmada yaşam günlüğü ile yakalanan ekran görüntüleri kullanıcı tarafından taranarak, görüntülerin anımsattığı etkinlikler ya da olaylar yine kullanıcı tarafından yorumlanmakta ve anlamlandırılmaktadır. Böylece kullanıcı yaşadığı öğrenme deneyimlerine tekrar erişme ve düzenleme olanağı elde etmektedir. 


Ekran Görüntüsünden Karakter Tanıma 


Optik karakter tanıma (OCR) yapay zekâ alanının en başarılı uygulamalarından birisidir. Genellikle kâğıt ortamındaki görüntünün bir tarayıcı yardımıyla görüntü dosyasına aktarılması ve bu görüntü dosyası üzerinde çalışarak kâğıt ortamındaki metnin tanınması şeklinde gerçekleşmektedir. Bu süreç genel olarak görüntünün ön işlemden geçirilmesi, karakterlerin belirlenmesi ve tanınması ile metnin yerleşim ve dil konularının ele alındığı son işlemeden geçirme şeklinde üç aşamada gerçekleştirilmektedir (Wikipedia, 2016b). Dijital görüntülerden metin elde edilmesi ise ayrı bir araştırma konusudur. Einsele-Aazami (2008) dijital görüntülerden metin elde etme işleminin dört alt alana ayırmaktadır: (1) web görüntüleri, (2) video görüntüleri, (3) dijital kameralarla yakalanmış görüntüler ve (4) ekran görüntüleri. Bu alanların her birinin kendisine ait özellikleri nedeniyle metin belirleme ve tanıma süreci farklılaşmaktadır. Bilgisayar ekranındaki görüntülerden metin elde etme işlemi ise metnin bilgisayar ekranındaki karmaşık yerleşim tasarımı, metnin karmaşık arka görüntüye sahip olabilmesi, küçük font boyutlarının kullanımı (<10 punto) gibi özelliklerden dolayı özel bir araştırma alanını oluşturmaktadır (Einsele-Aazami, 2008). Genellikle ekrandaki harflerin kenarlarının yumuşatılmış olması (antialiased) özel bir işlemden geçirilmesini gerektirebilmektedir (Gleichman ve diğ., 2011). Ekrandan metin yakalama konusunda çeşitli yaklaşımlar geliştirilmiş ve varolan yaklaşımlar karşılaştırılmıştır (Wachenfeld ve diğ., 2006; Rashid ve diğ., 2011). 


Yakalayıcı Uygulamanın Geliştirilmesi 


Bu çalışma kapsamında, sürekli olarak ekran görüntülerini yakalayan bir yaşam günlüğü yazılımıyla, ekran görüntülerindeki yazıları metne dönüştürecek bir açık kaynak kodlu optik karakter tanıma (OCR) yazılımı birleştirilerek yeni bir uygulama geliştirilmiştir. Bu uygulama ile görüntü kaydetme ve görüntüden elde edilen metni kaydetme işlemleri eş zamanlı olarak yapılmaktadır. Bu amaçla, önceki projelerde geliştirilmiş olan “LifeLoggingSC” ekran görüntüsü yakalama yazılımına bir açık kaynak kodlu ekran görüntüsünden metin elde etme ve saklama yazılımı entegre edilerek “LifeLoggingSC (OCR)” yazılımı oluşturulmuştur (Mutlu, 2016a). “LifeLoggingSC (OCR)” uygulaması, bu çalışmanın da dâhil olduğu, yürütülmekte olan bir TÜBİTAK projesinde geliştirilen/geliştirilecek bir dizi yazılımın ilk basamağıdır ve projenin isimlendirme kuralları doğrultusunda “MLevels1” üst başlığı ile yeniden isimlendirilmiştir. 

Ekran görüntüsünden optik karakter tanıma ile metin elde etme amacıyla Tesseract (Smith, 2007) tabanlı açık kaynak kodlu OCR yazılımları araştırılmış ve Christopher Brochtrup tarafından geliştirilmiş olan, komut satırı ile çalıştırılabilen ve ekran görüntülerinden başarıyla metin elde edebilen, AutoHotkey (AutoHotkey, 2016) ile kodlanmış, Tesseract tabanlı Capture2Text yazılımının kullanılmasına karar verilmiştir. Capture2Text yazılımında önce görüntü yakalama ve görüntü üzerinde Leptonica ile iyileştirme yapma şeklinde ön işlem, ardından Tesseract aracılığı ile metin yakalama (metin belirleme ve tanıma) ve son olarak da metin üzerinde dil işlemlerinin gerçekleştirildiği işlem-sonrası aşamalarının bulunduğu görülmektedir (Capture2Text, 2016). Leptonica, Dan Bloomberg tarafından, görüntü işleme ve görüntü çözümleme uygulamalarında kullanılan açık kaynak kodlu yazılımların eğitsel amaçlarla yayınlandığı bir sitedir (Bloomberg, 2016). Tesseract, 1984-1995 yılları arasında HP Laboratuvarlarında çalışan Ray Smith tarafından doktora tezi esnasında geliştirilmiş bir OCR motorudur. 2005 yılında HP firması Tesseract’ı açık kaynak koduyla birlikte yayınlamıştır (Tesseract, 2016). Tesseract aralarında Türkçe’nin de bulunduğu 50’den dili desteklemektedir. 


M-Levels1 Uygulamasının Kullanımı 


Microsoft Visual Studio 2013 geliştirme ortamında .Net 4.5 kitaplığı ile geliştirilmiş olan ve ekran görüntüsü yakalamak için System.Drawing.Imaging API'si kullananan M-Levels1 uygulaması çalıştırıldığında, önce ekran görüntüsünü yakalanmakta ve kaydetmekte, ardından “Capture2Text” yazılımı çağrılarak ekran yeniden taranmakta ve metinler çıkartılarak, görüntü dosyasının bulunduğu klasörden ayrı bir klasöre, metin dosyası biçiminde kaydedilmektedir. İlk denemelerde, yakalanan görüntünün kaydedildiği dosyadan Capture2Text ile metin elde edilmesi öngörülmüş olmasına rağmen, Capture2Text'in “jpeg” formatına göre daha fazla yer kaplayan yüksek duyarlıklı “TIFF” formatlı görüntü dosyası kullanması gereği nedeniyle, ekran görüntüsü yakalama ve ekran metni yakalama işleminin ayrı ayrı gerçekleştirilmesine karar verilmiştir. Görüntüler ve görüntülerin içerdiği metinler kullanıcının OneDrive klasörünün altındaki "Resimler\LifeLogging" klasörünün altındaki, yakalamanın gerçekleştiği yıl, ay ve güne ait klasörlerin altında tutulmaktadır. Aynı güne ait yakalanan görüntüler [kullanıcı adı-bilgisayar adı-"ScreenCapture"] ibaresini içeren klasörün altında, zaman etiketli görüntü dosyalarına; yakalanan görüntülere ait metinler ise [kullanıcı adı-bilgisayar adı-"ScreenCaptureOCR"] ibaresini içeren klasörün altında, zaman etiketli metin dosyalarına kaydedilmektedir. Yakalama işlemi, yakalayıcı yazılımda Start düğmesine tıklandıktan sonra Stop düğmesine tıklanana kadar varsayılan olarak her 30 saniyede bir tekrarlanmaktadır (Şekil 1).


Şekil 1: M-Levels1 Uygulamasının Arayüzü


Ekran Görüntülerinden Metin Elde Etmenin Özellikleri 


Yakalanan ekran metinleri ekran görüntüsüne göre oldukça az yer kaplamaktadır. Rassal olarak seçilen bir güne ait 2560x1440 ekran çözünürlüğüne sahip ekran görüntüleri dosyalarının büyüklüğü 29 KB ile 423 KB arasında olurken, aynı güne ait metin dosyalarının büyüklüğü 1 KB ile 9 KB arasında değişmektedir. Diskte kapladığı yer az olmasına rağmen M-Levels1 ile gerçekleştirilen yakalama işlemi uzun sürede toplamda çok büyük metinsel verinin elde edilmesine ve saklanmasına neden olacaktır. Olası en büyük değerler için; günde 2.880 görüntü/gün x 2.000 kelime/görüntü =5.760.000 kelime/gün; yılda 5.760.000 kelime/gün x 365 gün = 2.102.400.000 kelime öngörülmektedir. Bu değerlerin sadece bir bilgisayara ait olduğu, yaşam günlüğü sisteminin kullanıcıya ait birden fazla bilgisayardan görüntü alabildiği unutulmamalıdır. Bu aşamada bu sayıları bir ölçüde azaltmak amacıyla “ekranda değişiklik yoksa kayıt yapmama” benzeri iyileştirmeler gerçekleştirilebilir.


[*] Bu bölümün yazılmasında “Mutlu, M.E. (2016). Sanal Ortamlardaki Öğrenme Deneyimleri İçin Bir Enformasyon Erişim Sistemi Tasarımı, 7. Uluslararası Eğitimde Yeni Eğilimler Kongresi – ICONTE 2016, 13-15 Mayıs 2016 , Antalya“ kaynağından yararlanılmıştır.

(Not: Yararlanılan kaynaklar yazı dizisinin sonunda topluca verilecektir.)













23 Nisan 2017 Pazar

Seminar Notes on "Learning Experiences Management"

"Öğrenme Deneyimleri Yönetimi" Seminer Notları


12 Nisan 2017 tarihinde Anadolu Üniversitesi Açıköğretim Fakültesi'nde sunmuş olduğum "Öğrenme Deneyimleri Yönetimi" isimli seminerin notlarını SlideShare'de yayınladım: