📚Makale Okumaları — volm.3

Başak Buluz Kömeçoğlu
5 min readJul 29, 2020

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İ — Natural Language Processing) çalışıyor olsam da, çalışma alanımı Bilgisayarlı Görü (BG — Computer Vision) 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!

Resim Kaynağı

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 hem de aynı disiplin içerisindeki farklı çalışma alanları da hiç olmadığı kadar birbirlerine yaklaşıyor!

Görüntü alt yazılama problemi de, Bilgisayar Biliminin iki önemli çalışma alanı olan DDİ ve BG’ yi bir araya getiren, zorlu bir görev 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ımlanabilen bu görev, 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ğini 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 görüntü ve her görüntüye 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 görüntü ve her görüntüye 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 görüntü/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 görüntü ve her görüntüye 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ın 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 bulunmaktadır. 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 siz de 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 kullanılarak Türkçe’ye otomatik çevrilmiştir. Bu veri kümesi, TasvirEt veri kümesine oranla daha büyük hacimli 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 DDİ 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 öğ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 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, eğitim kümesinde yer alan sözcükler ilk olarak n-gram istatistikleri kullanılarak Pair Encoding (BPE) algoritması ile 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 amaç, eğitim kümesi içerisindeki en sık kullanılan karakter n-gramlarının birleştirilerek 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.

Yapılan çalışmada; BPE modeli ile 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 uygulanmıştır. Ardından da altsözcüklerden oluşan bir sözlük oluşturularak, bu sözlüğe dayalı 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🤗

Keyifli okumalar ☕

--

--

Başak Buluz Kömeçoğlu

Research Assistant at Information Technologies Institute of Gebze Technical University | Phd Candidate at Gebze Technical University