Image Captioning in Turkish with Subword Units
Altsözcük Ögeleri ile Türkçe Görüntü Altyazılama
Her ne kadar Doğal Dil İşleme (DDİ) çalışıyor olsam da, çalışma alanımı Bilgisayarlı Görü (BG) ile ortak bir noktada birleştiren uygulamalar heyecanımı ve hevesimi gerçekten fazlasıyla artırıyor! Hele bir de bu uygulamaların anadilde gerçekleştiriliyor olması muazzam bir duygu!
Bu kez tam da bu söylediğim 2 özelliği barındıran, 2018 yılında Hacettepe Üniversitesi Bilgisayarlı Görü Laboratuvarı (HUCVL- Hacettepe University Computer Vision Lab.) araştırmacıları Menekşe Kuyu, Aykut Erdem, Erkut Erdem tarafından 26. Sinyal İşleme ve İletişim Uygulamaları (SİU) Kurultayı’nda sunulan “Image Captioning in Turkish with Subword Units” bildirisini ele alacağım!
💎Görüntü Altyazılama Problemi Nedir?
Veriler çoğalıyor, karmaşıklaşıyor ve işte bu noktada değişim ve dönüşüm başlıyor. Birden fazla görevin aynı anda gerçekleşmesini gerektiren problemlerin sayısı günden güne artıyor ve böylece hem farklı disiplinler hemde aynı disiplin içerisindeki farklı çalışma alanları da hiç olmadığı kadar birbirlerine yaklaşıyor!
Görüntü alt yazılama problemi de Bilgisayar Bilimi içerisinde yer alan iki önemli çalışma alanı DDİ ve BG’i bir araya getiren, zorlu bir problem olarak karşımıza çıkıyor.
Bir görüntünün içeriğinin açıklanması amacıyla otomatik olarak cümle ya da ifade üretme problemi olarak tanımlanabilir. BG ile görüntü içeriğinin yakalanmasını ve yakalanan bu içeriğin DDİ modeli tarafından en doğru şekilde ifade edilmesini gerektirmektedir. Görüntünün içeriğinin anlamanın yanı sıra metin üretme gibi zorlu bir görev sonunda elde edilecek çıktının başarılı olmasında, eğitim kümesindeki görüntü açıklamalarının doğruluğu, görüntüyü yeterince iyi ifade edebiliyor olması ve gürültü düzeyi doğrudan etkili unsurlardır.
🧨Veri Kümeleri
Çalışmada kullanılan veri kümelerinden bahsetmeden önce İngilizce dili için oluşturulmuş, literatürde en fazla kullanılan ve oldukça büyük boyutlu veri kümelerinden kısaca bahsedelim.
🌻Flickr8k: 2013 yılında “Framing Image Description as a Ranking Task: Data, Models and Evaluation Metrics” isimli çalışmada sunulmuş olan veri kümesi 8.000 resim ve her resme ait 5 farklı açıklama barındırır. Görüntüler altı farklı Flickr grubundan seçilmiş ve çok tanınan kişileri veya yerleri içermemeye özen gösterilerek manuel olarak bir araya getirilmiştir.
🌻Flickr30k: 2016 yılında “ Flickr30k Entities: Collecting Region-to-Phrase Correspondences for Richer Image-to-Sentence Models” isimli makale ile tanıtılmış olan bir benchmark veri kümesidir. 31,783 resim ve her resime ait 5 tane olmak üzere toplamda 158,915 açıklama barındırır. Ancak bu kez açıklamalar cümle şeklindedir.
🌻 Google Conceptual Captions: ACL 2018’de Google araştırmacıları tarafından “Conceptual Captions: A Cleaned, Hypernymed, Image Alt-text Dataset For Automatic Image Captioning” isimli çalışma ile sunulan veri kümesi yaklaşık 3.3 milyon resim/açıklama çiftini barındırır. Bu veri kümesinde her resime ait 1 açıklama bulunur.
🌻 MS COCO: 2015 yılında “Microsoft COCO: Common Objects in Context” makalesi ile yayınlanan, 120.000 resim ve her resme ait 5 farklı açıklama barındıran ve birçok farklı bilgisayarlı görü görevi için literatürde sıkça kullanılan bir veri kümesidir.
🌸Görüntü Altyazılama Probleminde Türkçe Veri Kümeleri
🌻TasvirEt
Türkçe görüntü altyazılama için önerilmiş olan ilk veri kümesi, Hacettepe Üniversitesi Bilgisayarlı Görü Laboratuvarı araştırmacıları tarafından sunulan TasvirEt veri kümesidir. Bu veri kümesi, Flickr8k veri kümesindeki tüm görüntüler için Türkçe altyazılar toplanması ile oluşturulmuştur. Toplam 8 bin görüntü ve her görüntü için 2 altyazı barındırır.
💥 Bu görev için anadilimizde oluşturulmuş oldukça az sayıda veri kümesi var. Büyük bir özveri ile oluşturulmuş ve açık olarak diğer araştırmacılara da sunulan bu veri kümesinin genişletilmesinde ise insan gücüne ihtiyaç duyulmaktadır. Görüntüler için Türkçe açıklama yazarak ve/veya yazılan açıklamaların kalitesini oylayarak sizde gönüllü olarak destek olmak ve adınızı liderlik tablosuna yazdırmak isterseniz, buyrun✌🏻
🌻MS-COCO (Türkçe)
Türkçe altyazılama için kullanılabilecek bir diğer veri kümesi 2017 yılında “Görüntü Altyazılama için Otomatik Tercümeyle Eğitim Kümesi Oluşturulabilir mi?” akademik çalışmasının çıktısı olarak sunulmuştur. Bu çalışmada MS-COCO veri kümesindeki görüntüler kullanılmış ve onlara ait İngilizce açıklamalar Google Translate kullanarak Türkçe’ye otomatik çevrilmiştir. TasvirEt veri kümesine oranla daha büyük hacimli bir veri kümesi oluşturulmuş olmasına karşın otomatik tercüme sisteminin getirdiği dilbiçimsel ve anlamsal açıdan gürültülü açıklamalar içermektedir.
💎 Ele alınan akademik makalede ise TasvirEt, MS-COCO ve Flickr30k veri kümeleri kullanılmıştır.
🎯 Altsözcük Modeli Nedir?
Türkçe‘nin sondan eklemeli dil yapısına sahip olması, kullanılan farklı ekler ile farklı sözcük türetme konusunda oldukça büyük avantaj sağlar. Ancak doğal dil işleme bakış açısından bakıldığında, bu avantaj üstesinden gelinmesi gereken ciddi zorluklara da sebep olmaktadır. Türkçe sözlüğün diğer birçok dile oranla fazla sayıda kelime içermesi de diğer taraftan modellerin bellek kullanımını ve çalışma süresini arttırmaktadır.
Tüm bu zorlukların yanı sıra, eğitim kümesinde çok az geçen kelimeleri barındıran açıklamaların öğrenimi kötü yönde etkilemektedir. Bu noktada çözüm olarak sözlüğün sadece sık geçen kelimelerden oluşturulması yoluna gidilmektedir. Türkçe özelinde böyle bir yaklaşımın sergilenmesi birçok kelimenin açıklamalarda kullanılamayacak olmasını beraberinde getirir. Bu çalışmada ise bu anlatılan sorunların çözümüne yönelik basit ve doğal bir çözüm getiren altsözük modeli önerilmiştir.
Çalışmada kullanılan eğitim kümesinde yer alan sözcükler ilk olarak n-gram istatistikleri kullanılarak Pair Encoding (BPE) algoritması kullanılarak alt sözcüklere ayrıştırılmıştır. BPE modeli eğitim kümesindeki sözcükleri, karakterlerine ayrıştırmakla göreve başlar. Her bir ayrık karakter, bir sembol olarak düşünülerek veri kümesinde ikili karakterlerin yan yana geçme sıklığı hesaplanır. Yan yana geçme sıklığı en yüksek olan iki karakter birleştirilir ve böylece iki karakter uzunluğunda yeni bir sembol yaratılır. Birleştirme işlemi, yinelemeli olarak tüm semboller için belirli sıklıkta ve belirli sayıda alt sözcükler elde edilene kadar tekrarlanır.
Temelde ki amaç, eğitim kümesi içerisindeki en sık karakter n-gramlarının birleşerek sonunda bir altsözcüğe dönüştürülmesidir.
BPE algoritmasının diğer kodlama algoritmalarından en büyük farkı, sözcüklerden oluşturulan değişken uzunluklu karakter dizilerini hala alt sözcük birimleri olarak yorumlayabilmesidir. Böylelikle eğitim aşamasında karşılaşılmayan sözcüklerin üretilebilmesi de sağlanabilmektedir.
Çalışmada BPE modelini anadildeki sözcüklerin altsözcüklerine ayrıştırılmasının öğrenilmesinde Wikipedia’dan toplanan Türkçe metin veri kümesi kullanılmış ve 30 bin farklı altsözcük öğrenilmiştir.
🐱🚀Görüntü Altyazılama için Yinelemeli Sinir Ağı Modeli
Çalışma kapsamında önerilen modelin eğitimine başlamada önce veri kümesindeki alt yazılar BPE ile altsözcüklerine ayrılmış ve altyazılara ait bir sözlük oluşturulmuştur. Ardından görüntüler ve önişlemde altsözcüklerine ayrıştırılmış olan alt yazılar ile kodlayıcı- kod çözücü tabanlı Uzun Kısa Süreli Bellek (Long ShortTerm Memory — LSTM) mimarisi kullanılan model beslenmiştir. Bu modelde, öncelikle görüntü içeriğini belirlemek için evrişimsel sinir ağları ile girdi görüntüsünün anlamsal bir gösterimi oluşturulmuş ve ardından LSTM tabanlı bir dil modeli kullanmıştır. Araştırmacılar, önerdikleri bu dil modelini eğitirken CVPR 2015’de sunulan “Show and tell: A neural image caption generator” isimli çalışmanın açık kaynak kodlu bir gerçekleştiriliminden faydalanmışlardır.
🐱🐉 Sonuçlar
Çalışmada önerilen derin öğrenme modelinin eğitiminde 3 farklı veri kümesinden faydalanılmıştır. Eğitim kümesindeki altyazılara öncelikle altsözcük modeli uygulanmaksızın, sözcük tabanlı bir derin öğrenme modeli uygulanarak ve ardından da altsözcüklerden oluşan bir sözlük oluşturularak, bu sözlüğe dayalı olarak derin öğrenme modelinde eğitimler gerçekleştirilmiştir. Elde edilen deneysel sonuçlar aşağıdaki tabloda görülmektedir.
TasvirEt test kümesinden örnek bir görüntüye ait orijinal altyazı ve eğitilen iki farklı model için tahmin edilen altyazılar aşağıda gösterilmiştir. Üretilen altyazılar incelendiğinde, altsözcük modelinin sözcük modeline göre anlamsal olarak orijinal altyazıya yakın sonuç ürettiği gözlenmektedir.
Başarılı olduğu kadar başarısız olan sonuçları da paylaşmaktan çekinmeyen araştırmacıların elde ettiği sonuçlardan birkaç örneğe bakarak bitirelim🤗