Hizalanma ve Çeviriyi Birlikte Öğrenen Sinirsel Makine Çevirisi
2014'te yayımlanmış popüler “Neural Machine Translation by Jointly Learning to Align and Translate” makalesinin Türkçe çevirisidir.
Basit Açıklama
Diyelim ki bir cümleyi bir dilden diğerine çevirmeyi öğreniyorsunuz. Ama yalnızca bir sözlük kullanmak yerine, cümlenin tamamını anlamaya çalışıyorsun ki her bir kelimenin ne anlama geldiğini bağlam içinde çözebilesiniz. İşte bu makale, bunu bir bilgisayarın nasıl yapabileceği hakkında yazılmış bir araştırmadır. Eskiden, bir bilgisayarın bir cümleyi çevirmeyi öğrendiğini düşünelim, mesela “I love pizza” cümlesini İngilizceden Fransızcaya çevirmek istiyoruz. Eski yöntem, bilgisayarın tüm cümleye bir kerede bakıp, her şeyi birden hatırlamaya çalışmasını içerirdi. Ama bu zor bir iştir çünkü her şeyi aynı anda hatırlayıp doğru şekilde çevirmek pek kolay bir iş değildir.
Bu makalenin yazarları yeni bir fikir ortaya atmıştır. Peki ya bilgisayar, çeviri yaparken cümlenin farklı bölümlerine, birer birer odaklanabilseydi ne olurdu? Bu, bir insanın bir cümleyi çevirmeyi öğrenirken, her kelimeye tek tek odaklandığını düşünmeye benzer. Örneğin, “I love pizza” cümlesini çevirirken, bilgisayar önce “I” kelimesine, sonra “love” kelimesine ve ardından “pizza” kelimesine bakarak her kelimeye ayrı ayrı odaklanabilir. Bu, bilgisayarın daha iyi bir çeviri yapmasına yardımcı olur çünkü cümlenin tamamını bir kerede hatırlamaya çalışmak yerine, her kelimenin anlamını bağlam içinde düşünebilir.
Nasıl Çalışıyor:
- Dikkat Mekanizması: Makale, çevirideki her kelimeyi oluştururken modelin kaynak cümlenin farklı bölümlerine odaklanmasına izin veren bir dikkat mekanizması önerir. Bu, tüm kaynak cümleyi sabit boyutlu bir bağlam vektörüne kodlayan önceki “diziden diziye” modellere göre önemli bir gelişmeydi. Bu, bilgisayarın sonraki odaklanması gereken kelimeyi seçme yöntemidir.
- Çift Yönlü Düşünme: Yazarlar, girdi cümlesini kodlamak için çift yönlü yinelemeli sinir ağlarını (RNN’ler) kullanmış ve hem geçmişteki hem de gelecekteki kelimelerden bilgi toplamıştır. Bu yapıda bilgisayar cümleyi hem saklar hem de geriye doğru okur. Bu, bir kitabı önce baştan sona ve sonra sondan başa okumak gibidir, böylece hikayeyi daha iyi anlayabiliriz.
- Hizalanmanın ve Çevirinin Ortak Öğrenimi: Makalede, kaynak cümlenin ilgili kısımlarına odaklanarak daha iyi çeviriler üretmesini sağlayan, hizalanma ve çeviriyi ortaklaşa öğrenen bir model sunulmuştur.
Bu çeviri yöntemi çok daha iyi çalışmaktadır çünkü bilgisayar her şeyi bir anda hatırlamaya çalışmamaktadır. Bilgisayarın, cümledeki en önemli kelimelere odaklanmasını sağlayan bir süper gücü varmış gibi düşünürsek, böylece en iyi çeviriyi yapabildiğini anlamış oluruz. Kısacası, bu makale, bilgisayarlara cümleleri çevirirken, cümledeki en önemli kelimelere tek tek odaklanmayı öğreten ve böylece çevirileri çok daha iyi hale getiren bir yöntemi tanıtmaktadır.
Öz
Sinirsel makine çevirisi, makine çevirisine yönelik yakın zamanda önerilen bir yaklaşımdır. Geleneksel istatistiksel makine çevirisinin aksine, sinirsel makine çevirisi, çeviri performansını en üst düzeye çıkarmak için tek bir sinir ağı oluşturmayı ve bu ağı birlikte optimize etmeyi hedefler. Son zamanlarda sinirsel makine çevirisi için önerilen modeller genellikle bir kodlayıcı-çözücü (encoder-decoder) ailesine aittir ve bir kaynak cümleyi sabit uzunlukta bir vektöre kodlayarak, çözücünün bu vektörden bir çeviri üretmesini sağlar. Bu makalede, sabit uzunlukta bir vektör kullanmanın bu temel kodlayıcı-çözücü mimarisinin performansını artırmada bir darboğaz olduğunu öne sürüyoruz ve bu modele, bir hedef kelimeyi tahmin ederken bir kaynak cümlenin ilgili bölümlerini otomatik olarak (yumuşak bir şekilde) aramasına izin vererek bu mimariyi genişletmeyi öneriyoruz. Bu yeni yaklaşımla, İngilizce’den Fransızca’ya çeviri görevinde mevcut en iyi ifade tabanlı sistemle karşılaştırılabilir bir çeviri performansı elde ediyoruz. Ayrıca, niteliksel analizler, modelin bulduğu (yumuşak) hizalanmaların sezgilerimizle iyi bir şekilde örtüştüğünü gösteriyor.
1. Giriş
Sinirsel makine çevirisi, son zamanlarda Kalchbrenner ve Blunsom (2013), Sutskever ve diğerleri (2014) ve Cho ve diğerleri (2014b) tarafından önerilen, makine çevirisine yönelik yeni bir yaklaşım olarak ortaya çıkmaktadır. Geleneksel, birçok küçük alt bileşenden oluşan ve ayrı ayrı ayarlanan ifade tabanlı çeviri sisteminin (örneğin, bkz. Koehn ve diğerleri, 2003) aksine, sinirsel makine çevirisi, bir cümleyi okuyup doğru bir çeviri üreten tek ve büyük bir sinir ağı oluşturmayı ve eğitmeyi amaçlamaktadır.
Önerilen sinirsel makine çeviri modellerinin çoğu, her dil için bir kodlayıcı ve çözümleyici içeren bir kodlayıcı-çözücü ailesine (Sutskever ve diğerleri, 2014; Cho ve diğerleri, 2014a) aittir veya çıktıları daha sonra karşılaştırılan, her cümleye uygulanan dil spesifik bir kodlayıcı içerir (Hermann ve Blunsom, 2014). Bir kodlayıcı sinir ağı, bir kaynak cümleyi okuyup sabit uzunlukta bir vektör olarak kodlar. Ardından çözümleyici, bu kodlanmış vektörden bir çeviri üretir. Bir dil çifti için kodlayıcı ve çözümleyiciden oluşan tüm kodlayıcı-çözücü sistemi, bir kaynak cümle verildiğinde doğru bir çevirinin olasılığını maksimize etmek için birlikte eğitilir.
Bu kodlayıcı-çözücü yaklaşımının potansiyel bir sorunu, bir sinir ağının bir kaynak cümlesinin tüm gerekli bilgilerini sabit uzunlukta bir vektöre sıkıştırabilmesi gerektiğidir. Bu durum, sinir ağının özellikle eğitim verisindeki cümlelerden daha uzun olan cümlelerle başa çıkmasını zorlaştırabilir. Cho ve diğerleri (2014b), temel bir kodlayıcı-çözücünün performansının, bir girdi cümlesinin uzunluğu arttıkça hızla kötüleştiğini göstermiştir.
Bu sorunu çözmek için, aynı anda hizalama ve çeviri yapmayı öğrenen bir kodlayıcı-çözücü modeline bir eklenti ekliyoruz. Önerilen model, çeviride her kelime oluşturduğunda, kaynak cümlede en ilgili bilginin yoğunlaştığı bir dizi konumu (yumuşak) arar. Model daha sonra, bu kaynak konumlarıyla ilişkilendirilen bağlam vektörlerine ve daha önce oluşturulan tüm hedef kelimelere dayanarak bir hedef kelime tahmin eder.
Bu yaklaşımın temel kodlayıcı-çözücü yönteminden en önemli ayırt edici özelliği, tüm girdi cümlesini tek bir sabit uzunluktaki vektöre kodlamaya çalışmamasıdır. Bunun yerine, girdi cümlesini bir dizi vektöre kodlar ve çeviri işlemi sırasında bu vektörlerin bir alt kümesini adaptif olarak seçer. Bu sayede, bir sinirsel çeviri modeli, kaynak cümlenin uzunluğu ne olursa olsun, tüm bilgiyi tek bir sabit uzunluktaki vektöre sıkıştırmak zorunda kalmaz. Bu yaklaşım ile modelin uzun cümlelerle daha iyi başa çıktığını gösteriyoruz.
Bu çalışmada, hizanlama ve çeviriyi birlikte öğrenmeyi öneren yaklaşımın, temel kodlayıcı-çözücü yaklaşımına göre çeviri performansını önemli ölçüde geliştirdiğini gösteriyoruz. Bu iyileşme, daha uzun cümlelerde daha belirgin olmakla birlikte, her uzunluktaki cümlede gözlemlenebilir. İngilizce’den Fransızca’ya çeviri görevinde, önerilen yaklaşım, tek bir modelle, geleneksel deyim tabanlı sisteme benzer veya ona yakın bir çeviri performansı elde etmektedir. Ayrıca, nitel analizler, önerilen modelin kaynak cümle ile karşılık gelen hedef cümle arasında dilbilimsel olarak makul bir (yumuşak) hizanlama bulduğunu ortaya koymaktadır.
2. Arkaplan: Nöral Makine Çevirisi
Olasılıksal bir bakış açısıyla, çeviri, x kaynak cümlesi verildiğinde y hedef cümlesinin koşullu olasılığını maksimize eden y cümlesini bulmakla eşdeğerdir, yani argmax_y p(y | x). Nöral makine çevirisinde, paralel bir eğitim korpusu kullanarak cümle çiftlerinin koşullu olasılığını maksimize etmek için parametreli bir model uydururuz. Bir çeviri modeli tarafından koşullu dağılım öğrenildiğinde, verilen bir kaynak cümlesi için bu koşullu olasılığı maksimize eden cümleyi arayarak bir çeviri oluşturulabilir.
Son zamanlarda, birkaç makale, bu koşullu dağılımı doğrudan öğrenmek için sinir ağlarının kullanılmasını önermiştir (örneğin, Kalchbrenner ve Blunsom, 2013; Cho ve diğerleri, 2014a; Sutskever ve diğerleri, 2014; Cho ve diğerleri, 2014b; Forcada ve Neco, 1997). Bu sinirsel makine çevirisi yaklaşımı genellikle iki bileşenden oluşur; bunlardan ilki bir kaynak cümle x’i kodlar ve ikincisi bir hedef cümle y’yi çözümler. Örneğin, (Cho ve diğerleri, 2014a) ve (Sutskever ve diğerleri, 2014) tarafından iki yinelemeli sinir ağı (RNN) kullanılarak değişken uzunluktaki bir kaynak cümlesi sabit uzunlukta bir vektöre kodlanmış ve bu vektör değişken uzunluktaki bir hedef cümleye çözülmüştür.
Oldukça yeni bir yaklaşım olmasına rağmen, sinirsel makine çevirisi şimdiden umut verici sonuçlar göstermiştir. Sutskever ve diğerleri (2014), uzun-kısa süreli bellek (LSTM) birimlerine sahip RNN’lere dayanan sinirsel makine çevirisinin, İngilizce’den Fransızca’ya çeviri görevinde geleneksel deyim tabanlı makine çevirisi sisteminin en güncel performansına yakın bir başarı elde ettiğini bildirmiştir. Mevcut çeviri sistemlerine, örneğin deyim tablosundaki deyim çiftlerini puanlamak (Cho ve diğerleri, 2014a) veya aday çevirileri yeniden sıralamak (Sutskever ve diğerleri, 2014) için sinirsel bileşenler eklemek, önceki en güncel performans seviyesinin aşılmasını sağlamıştır.
2.1 RNN Kodlayıcı-Çözücü
Burada, Cho ve diğerleri (2014a) ve Sutskever ve diğerleri (2014) tarafından önerilen RNN kodlayıcı-çözücü olarak adlandırılan ve aynı anda hizalamayı ve çevirmeyi öğrenen yeni bir mimari üzerine inşa ettiğimiz temel çerçeveyi kısaca tanımlıyoruz.
Kodlayıcı-çözücü çerçevesinde, bir kodlayıcı, girdi cümlesini, vektörlerden oluşan bir dizi x = (x1, · · ·, xTx) olarak okuyarak bir vektör c’ye dönüştürür. En yaygın yaklaşım şu şekilde bir RNN kullanmaktır:
ve
Burada, h_t ∈R^n zaman t de bir gizli durumdur ve c, gizli durumların dizisinden oluşturulan bir vektördür. f ve q bazı doğrusal olmayan fonksiyonlardır. Örneğin, Sutskever ve diğerleri (2014), f ve q olarak bir LSTM kullanmış ve bunu {h1,⋅⋅⋅,hT}=hT şeklinde tanımlamışlardır.
Çözücü (decoder) genellikle, bağlam vektörü c ve daha önce tahmin edilen tüm kelimeler {y1,⋅⋅⋅,yt0−1} verildiğinde, sonraki kelime yt0’ı tahmin etmek üzere eğitilir. Başka bir deyişle, çözücü , çeviri y üzerinde bir olasılığı, bileşik olasılığı sıralı koşullulara ayırarak tanımlar:
Bir RNN (Yinelemeli Sinir Ağı) ile, her koşullu olasılık şu şekilde modellenir:
Burada g, yt’nin olasılığını çıktılayan, doğrusal olmayan, potansiyel olarak çok katmanlı bir işlevdir ve st, RNN’in gizli durumudur. Bir RNN ve bir ters evrişimli (de-convolutional) sinir ağının hibriti gibi diğer mimarilerin de kullanılabileceği unutulmamalıdır (Kalchbrenner ve Blunsom, 2013).
3. Hizalanmayı ve Çevirmeyi Öğrenme
Bu bölümde, sinirsel makine çevirisi için yeni bir mimari öneriyoruz. Yeni mimari, bir kodlayıcı olarak iki yönlü bir RNN’den (Bölüm 3.2) ve çeviri sırasında bir kaynak cümlede arama yapmayı taklit eden bir çözümleyiciden (Bölüm 3.1) oluşmaktadır.
3.1 Çözümleyici: Genel Açıklama
Yeni bir model mimarisinde, Denklem (2)’deki her koşullu olasılığı şu şekilde tanımlıyoruz:
Burada s_i, i zamanı için RNN gizli durumudur ve şu şekilde hesaplanır:
Mevcut kodlayıcı-çözücü yaklaşımının aksine (bkz. Denklem (2)), burada olasılığın her hedef sözcük y_i için ayrı bir bağlam vektörü c_i'ye bağlı olduğu belirtilmelidir.
Bağlam vektörü ci, bir kodlayıcının girdi cümlesini eşlediği bir dizi açıklamaya (h1, · · ·, hTx) bağlıdır. Her bir açıklama hi, girdi dizisinin tamamı hakkında bilgi içerir, ancak özellikle girdi dizisinin i’inci kelimesinin çevresindeki bölgelere odaklanır. Açıklamaların nasıl hesaplandığını bir sonraki bölümde ayrıntılı olarak açıklıyoruz.
Bağlam vektörü c_i, daha sonra, bu h_i açıklamalarının ağırlıklı toplamı olarak hesaplanır:
Her h_j açıklamasının ağırlığı α_ij şu şekilde hesaplanır:
e_ij, j konumu etrafındaki girdilerin ve i konumundaki çıktıların ne kadar iyi eşleştiğini puanlayan bir hizalama modelidir.
Puan, RNN’in gizli durumu si−1'e (y_i’yi yaymadan hemen önce, Denklem (4)) ve girdi cümlesinin j-inci açıklaması hj’ye dayanmaktadır.
Önerilen sistemin tüm bileşenleriyle birlikte ortak olarak eğitilen hizanlama modelini, bir ileri beslemeli sinir ağı olarak parametrize ediyoruz. Geleneksel makine çevirisinin aksine, hizalanmanın gizli bir değişken olarak kabul edilmediğini unutmayın. Bunun yerine, hizalanma modeli, maliyet fonksiyonunun gradyanının geri yayılmasına olanak tanıyan yumuşak bir hizalanma hesaplar. Bu gradyan, hem hizalanma modelini hem de tüm çeviri modelini ortak olarak eğitmek için kullanılabilir. Tüm açıklamaların ağırlıklı bir toplamını almayı, olası hizalanmalar üzerinden bir beklenen açıklama hesaplama olarak anlayabiliriz. α_ij, yi hedef kelimesinin bir kaynak kelime x_j ile hizalandığı veya ondan çevrildiği olasılık olsun. O zaman, i’nci bağlam vektörü ci, α_ij olasılıklarıyla tüm açıklamalar üzerindeki beklenen açıklamadır.
α_ij olasılığı veya buna bağlı enerji e_ij, s_i−1 önceki gizli duruma ilişkin olarak hj açıklamasının s_i bir sonraki durumu belirlemede ve y_i’yi oluşturmada önemini yansıtır. Sezgisel olarak, bu, çözümleyicinin dikkat mekanizmasını uygulayan bir mekanizma sağlar. Çözümleyici, kaynak cümlede dikkat edilmesi gereken kısımlara karar verir. Çözümleyicinin bir dikkat mekanizmasına sahip olmasına izin vererek, kodlayıcının tüm bilgileri sabit uzunluktaki bir vektöre kodlama yükünü hafifletmiş oluruz. Bu yeni yaklaşımla, bilgi açıklamalar dizisi boyunca yayılabilir ve çözümleyici tarafından buna uygun olarak seçici bir şekilde geri alınabilir.
3.2 Kodlayıcı: Dizileri Açıklamak için İki Yönlü RNN (Bidirectional RNN for Annotating Sequences)
Genelde RNN’ler, Denklem (1)’de açıklandığı gibi, bir girdi dizisini ilk sembolden (x₁) son sembole (x_T_x) kadar sırayla okur. Ancak, önerilen şemada, her kelimenin anotasyonunun sadece önceki kelimeleri değil, aynı zamanda sonraki kelimeleri de özetlemesini istiyoruz. Bu nedenle, son zamanlarda konuşma tanımada başarıyla kullanılan çift yönlü bir RNN (BiRNN, Schuster ve Paliwal, 1997) kullanmayı öneriyoruz (bkz. örneğin Graves ve diğerleri, 2013).
Bir BiRNN, ileri ve geri RNN’lerden oluşur. İleri RNN → f, girdi dizisini verildiği sırada okur (x₁’den x_T_x’e kadar) ve ileri gizli durumlar dizisini (→h₁, …, →h_Tₓ) hesaplar. Geri RNN ←f ise diziyi ters sırayla (x_T_x’ten x₁’e kadar) okur ve bir geri gizli durumlar dizisi (←h₁, …, ←h_Tₓ) elde eder.
Her kelime x_j için bir anotasyon, ileri gizli durum →h_j ile geri gizli durum ←h_j’yi birleştirerek elde edilir, yani h_j = [→h_j; ←h_j]. Bu şekilde, h_j anotasyonu hem önceki kelimelerin hem de sonraki kelimelerin özetlerini içerir. RNN’lerin son girdileri daha iyi temsil etme eğiliminden dolayı, h_j anotasyonu x_j etrafındaki kelimelere odaklanacaktır. Bu anotasyon dizisi, daha sonra bağlam vektörünü hesaplamak için kodlayıcı ve hizalanma modeli tarafından kullanılır (Denklemler (5)–(6)).
Önerilen modelin grafiksel gösterimi için Şekil 1'e bakın.
4. Deney Ayarları
Önerilen yaklaşımı İngilizce’den Fransızca’ya çeviri görevinde değerlendiriyoruz. ACL WMT ’14 tarafından sağlanan çift dilli, paralel metinleri kullanıyoruz. Karşılaştırma amacıyla, yakın zamanda Cho ve diğerleri (2014a) tarafından önerilen bir RNN Kodlayıcı-Çözücü modelinin performansını da rapor ediyoruz. Her iki model için de aynı eğitim prosedürlerini ve aynı veri kümesini kullanıyoruz.
4.1 Veri Kümesi
WMT ’14, aşağıdaki İngilizce-Fransızca paralel metinleri içermektedir: Europarl (61 milyon kelime), haber yorumu (5,5 milyon), BM (421 milyon) ve sırasıyla 90 milyon ve 272,5 milyon kelimelik iki taranmış metin, toplamda 850 milyon kelime. Cho ve arkadaşlarının (2014a) açıkladığı prosedürü izleyerek, Axelrod ve arkadaşlarının (2011) veri seçimi yöntemini kullanarak birleştirilmiş metnin boyutunu 348 milyon kelimeye düşürdük. Belirtilen paralel metinler dışında herhangi bir tek dilli veri kullanmadık, ancak bir kodlayıcıyı önceden eğitmek için çok daha büyük bir tek dilli metin kullanmak mümkün olabilir. 2012 ve 2013 haber testlerini birleştirerek bir geliştirme (doğrulama) seti oluşturduk ve WMT ‘14’ten 3003 cümle içeren ve eğitim verisinde bulunmayan test seti (haber testi 2014) üzerinde modelleri değerlendirdik.
Alışılmış biçimde yapılan tokenlemenin ardından, modellerimizi eğitmek için her dilde en sık kullanılan 30.000 kelimelik bir kısa liste kullanıyoruz. Kısa listede yer almayan herhangi bir kelime, özel bir token’a ([UNK]) dönüştürülüyor. Veriye herhangi bir başka özel ön işleme, örneğin küçük harfe çevirme veya kök bulma gibi işlemler uygulamıyoruz.
4.2 Modeller
İki tür model eğitiyoruz. İlki bir RNN Kodlayıcı-Çözücü (RNNencdec, Cho ve diğerleri, 2014a) modelidir ve diğeri, RNNsearch olarak adlandırdığımız önerilen modeldir. Her modeli 2 kez eğitiyoruz: ilk olarak 30 kelimeye kadar olan cümlelerle (RNNencdec-30, RNNsearch-30) ve ardından 50 kelimeye kadar olan cümlelerle (RNNencdec-50, RNNsearch-50).
RNNencdec’in kodlayıcısı ve çözücüsü 1000'er gizli birime sahiptir. RNNsearch’ün kodlayıcısı, her biri 1000 gizli birime sahip ileri ve geri yönlü yinelenen sinir ağlarından (RNN) oluşur. Her iki durumda da, her hedef kelimenin koşullu olasılığını hesaplamak için tek katmanlı bir maksimum (Goodfellow ve diğerleri, 2013) gizli katmana sahip çok katmanlı bir ağ kullanıyoruz (Pascanu ve diğerleri, 2014).
Her modeli eğitmek için Adadelta (Zeiler, 2012) ile birlikte bir mini toplam stokastik gradyan iniş (minibatch SGD) algoritması kullanıyoruz. Her SGD güncelleme yönü, 80 cümlelik bir mini toplam kullanılarak hesaplanır. Her model yaklaşık 5 gün boyunca eğitilmiştir.
Bir model eğitildikten sonra, koşullu olasılığı yaklaşık olarak maksimize eden bir çeviri bulmak için bir ışın araması (beam search) kullanıyoruz (bkz. örneğin, Graves, 2012; Boulanger-Lewandowski ve diğerleri, 2013). Sutskever ve diğerleri (2014) bu yaklaşımı sinirsel makine çeviri modellerinden çeviri üretmek için kullanmışlardır.
Deneylerde kullanılan modellerin mimarileri ve eğitim prosedürleri hakkında daha fazla ayrıntı için Ek A ve B’ye bakınız.
5. Sonuçlar
5.1 Nicel Sonuçlar
Tablo 1'de, BLEU puanı ile ölçülen çeviri performanslarını listeledik. Tabloya bakıldığında, önerilen RNNsearch’in her durumda geleneksel RNNencdec’i geride bıraktığı açıktır. Daha da önemlisi, yalnızca bilinen kelimelerden oluşan cümleler dikkate alındığında, RNNsearch’in performansı, geleneksel ifade tabanlı çeviri sistemi (Moses) kadar yüksektir. Bu, Moses’in RNNsearch ve RNNencdec’i eğitmek için kullandığımız paralel korpuslara ek olarak ayrı bir tek dilli korpus (418M kelime) kullandığı düşünüldüğünde önemli bir başarıdır.
Önerilen yaklaşımın arkasındaki motivasyonlardan biri, temel kodlayıcı-çözücü yaklaşımında sabit uzunlukta bir bağlam vektörünün kullanılmasıydı. Bu sınırlamanın, temel kodlayıcı-çözücü yaklaşımının uzun cümlelerle yetersiz performans göstermesine neden olabileceğini düşündük. Şekil 2'de, cümlelerin uzunluğu arttıkça RNNencdec modelinin performansının dramatik bir şekilde düştüğünü görüyoruz. Öte yandan, hem RNNsearch-30 hem de RNNsearch-50, cümlelerin uzunluğuna karşı daha dayanıklıdır. Özellikle, RNNsearch50, 50 veya daha fazla uzunluktaki cümlelerde bile performans kaybı göstermemektedir. Önerilen modelin temel kodlayıcı-çözücüye karşı üstünlüğü, RNNsearch-30'un RNNencdec-50'yi bile geride bırakmasıyla (bkz. Tablo 1) daha da doğrulanmaktadır.
5.2 Niteliksiz Analiz
5.2.1 Hizalanma
Önerilen yaklaşım, üretilen bir çevirideki kelimeler ile kaynak cümledeki kelimeler arasındaki (yumuşak) hizalanmayı incelemek için sezgisel bir yol sunar. Bu, Şekil 3'teki gibi, Denklem (6)’dan alınan α_ij anotasyon ağırlıklarının görselleştirilmesiyle yapılır. Her bir grafikteki matrisin her bir satırı, anotasyonlarla ilişkilendirilen ağırlıkları gösterir. Buradan, hedef kelimeyi oluştururken kaynak cümledeki hangi pozisyonların daha önemli görüldüğünü anlarız.
Şekil 3'teki hizalamalardan, İngilizce ve Fransızca arasındaki kelime hizalamasının büyük ölçüde monotonik olduğunu görebiliyoruz. Her matrisin köşegeni boyunca güçlü ağırlıklar görüyoruz. Ancak, aynı zamanda bazı önemsiz olmayan, monotonik olmayan hizalanmalar da gözlemliyoruz. Sıfatlar ve isimler genellikle Fransızca ve İngilizce arasında farklı sıralanır ve Şekil 3 (a)’da bir örnek görüyoruz. Bu şekilden, modelin [European Economic Area] ifadesini doğru bir şekilde [zone économique européenne] olarak çevirdiğini görüyoruz. RNNsearch, [zone] kelimesini [Area] ile doğru şekilde hizalanmayı başardı, iki kelimenin ([European] ve [Economic]) üzerinden atladı ve ardından tüm ifadeyi tamamlamak için her seferinde bir kelime geri bakarak [zone économique européenne] ifadesini oluşturdu.
Yumuşak hizalanmanın, sert hizalanmaya karşı olan gücü, örneğin Şekil 3 (d)’den açıkça görülmektedir. [the man] kaynak ifadesinin [l’homme] olarak çevrildiğini düşünün. Herhangi bir sert hizanlama, [the] kelimesini [l’] ve [man] kelimesini [homme] ile eşleştirir. Bu, çeviri için faydalı değildir çünkü [le], [la], [les] veya [l’] olarak çevrilmesi gerektiğini belirlemek için [the] kelimesini takip eden kelimenin de dikkate alınması gerekir. Bizim yumuşak hizalamamız, modelin hem [the] hem de [man] kelimelerine bakmasına olanak tanıyarak bu sorunu doğal olarak çözer ve bu örnekte modelin [the] kelimesini doğru bir şekilde [l’] olarak çevirdiğini görmekteyiz. Şekil 3'te sunulan tüm durumlarda benzer davranışlar gözlemliyoruz. Yumuşak hizalamanın ek bir avantajı, kaynak ve hedef ifadelerin farklı uzunluklarını doğal olarak ele almasıdır, bu da bazı kelimeleri hiçbir şeye ([NULL]) eşlemeden içgüdüsel olmayan bir şekilde eşleştirmeyi gerektirmez (bkz. örn. Koehn, 2010, Bölüm 4 ve 5).
5.2.2 Uzun Cümleler
Şekil 2'den açıkça görüleceği üzere, önerilen model (RNNsearch) uzun cümleleri çevirme konusunda geleneksel modelden (RNNencdec) çok daha iyidir. Bunun muhtemel sebebi, araştırmanın uzun bir cümleyi sabit uzunlukta bir vektöre mükemmel bir şekilde kodlamayı gerektirmemesi, bunun yerine yalnızca belirli bir kelimenin etrafındaki girdi cümlesinin bölümlerini doğru bir şekilde kodlamayı gerektirmesidir.
Örneğin, test kümesindeki bu kaynak cümleyi ele alalım:
An admitting privilege is the right of a doctor to admit a patient to a hospital or a medical centre to carry out a diagnosis or a procedure, based on his status as a healthcare worker at a hospital.
RNNencdec-50 bu cümleyi şöyle çevirir:
Un privilege d’admission est le droit d’un m’edecin de reconna ‘ıtre un patient a’ l’hopital ou un centre m’edical d’un diagnostic ou de prendre un diagnostic en fonction de son etat de sante.
RNNencdec-50, kaynak cümleyi [bir tıp merkezi] kısmına kadar doğru bir şekilde çevirmişti. Ancak, bundan sonra (altı çizili), kaynak cümlenin orijinal anlamından sapmaya başlaıştır. Örneğin, kaynak cümledeki [bir hastanede sağlık çalışanı olması durumuna dayanarak] ifadesini [en fonction de son état de santé] (“sağlık durumu temelinde”) olarak değiştirmiştir.
Öte yandan, RNNsearch-50 ise girdi cümlesinin tamamını eksiksiz bir şekilde koruyarak, aşağıdaki doğru çeviriyi üretti.
Un privilege d’admission est le droit d’un m ` edecin d’admettre un patient ´ a un ` hopital ou un centre m ˆ edical ´ pour effectuer un diagnostic ou une procedure, ´ selon son statut de travailleur des soins de sante´ a` l’hopital.
Test kümesinden başka bir cümleyi ele alalım: “Bu tür bir deneyim, Disney’in “serilerinin ömrünü uzatmak ve dijital platformlar aracılığıyla izleyicilerle yeni ilişkiler kurmak için giderek daha önemli hale gelen” çabalarının bir parçasıdır, diye ekledi.”
RNNencdec-50 tarafından yapılan çeviri şudur:
Ce type d’experience fait partie des initiatives du Disney pour prolonger la duree de vie de ses nouvelles et de developper des liens avec les lecteurs numeriques qui deviennent plus complexes.
Önceki örnekte olduğu gibi, RNNencdec yaklaşık 30 kelime ürettikten sonra kaynak cümlenin aslında anlamından sapmaya başladı (altı çizili ifadeye bakınız). Bu noktadan sonra, kapanış tırnak işareti eksikliği gibi temel hatalarla çevirinin kalitesi bozuluyor. Yine, RNNsearch-50 bu uzun cümleyi doğru bir şekilde çevirmeyi başardı:
Ce genre d’experience fait partie des efforts de Disney pour ”prolonger la duree de vie de ses series et crer de nouvelles relations avec des publics via des plateformes numeriques de plus en plus importantes”, a-t-il ajoute.
Zaten sunulmuş olan nicel sonuçlarla birlikte, bu nitel gözlemler, RNNsearch mimarisinin, standart RNNencdec modeline kıyasla uzun cümlelerin çevirisinde çok daha güvenilir olduğunu doğrulamaktadır. Ek C’de, RNNencdec-50, RNNsearch-50 ve Google Çeviri tarafından üretilen uzun kaynak cümlelerin birkaç örnek çevirisini ve referans çevirileri sunuyoruz.
6. Alakalı Çalışmalar
6.1 Hizalanmayı Öğrenmek
Çıktı sembolünü bir girdi sembolüyle hizalanması yaklaşımına benzer bir yöntem, yakın zamanda Graves (2013) tarafından el yazısı sentezi bağlamında önerilmiştir. El yazısı sentezi, modelin belirli bir karakter dizisinin el yazısını üretmesinin istendiği bir görevdir. Graves, çalışmasında, hizanlama modelinden her bir çekirdeğin konumunun, genişliğinin ve karışım katsayısının tahmin edildiği, Gaussian çekirdeklerinin karışımını kullanarak açıklamaların ağırlıklarını hesaplamıştır. Daha spesifik olarak, hizalaması, konumun monoton bir şekilde artacak şekilde tahmin edilmesiyle sınırlıdır.
Bizim yaklaşımımızla arasındaki temel fark, Graves (2013) çalışmasında, açıklamaların ağırlıklarının modlarının yalnızca bir yönde hareket etmesidir. Makine çevirisi bağlamında, bu ciddi bir sınırlamadır çünkü dilbilgisel olarak doğru bir çeviri üretmek için (uzun mesafeli) yeniden sıralama genellikle gereklidir (örneğin, İngilizce’den Almanca’ya çeviri yaparken). Öte yandan, bizim yaklaşımımız, çevirideki her kelime için kaynak cümledeki her kelimenin açıklama ağırlığının hesaplanmasını gerektirir. Çoğu girdi ve çıktı cümlesinin yalnızca 15–40 kelime olduğu çeviri görevi için bu dezavantaj ciddi değildir. Ancak, önerilen yöntemin diğer görevlere uygulanabilirliğini sınırlayabilir.
6.2 Makine Çevirisi için Sinir Ağları
Bengio ve diğerleri (2003) sabit sayıda önceki kelimelere bağlı olarak bir kelimenin koşullu olasılığını modellemek için bir sinir ağı kullanan bir sinirsel olasılıksal dil modeli tanıttığından beri, sinir ağları makine çevirisinde yaygın olarak kullanılmaktadır. Ancak, sinir ağlarının rolü büyük ölçüde mevcut bir istatistiksel makine çevirisi sistemine tek bir özellik sağlamak veya mevcut bir sistem tarafından sağlanan aday çeviriler listesini yeniden sıralamakla sınırlı kalmıştır.
Örneğin, Schwenk (2012), bir kaynak ve hedef cümle çiftinin skorunu hesaplamak ve bu skoru ifade tabanlı istatistiksel makine çeviri sisteminde ek bir özellik olarak kullanmak için ileri beslemeli bir sinir ağı kullanmayı önermiştir. Daha yakın zamanda, Kalchbrenner ve Blunsom (2013) ve Devlin ve diğerleri (2014), sinir ağlarının mevcut çeviri sisteminin bir alt bileşeni olarak başarılı bir şekilde kullanıldığını bildirmiştir. Geleneksel olarak, hedef taraflı bir dil modeli olarak eğitilmiş bir sinir ağı, aday çeviriler listesini eski haline getirmek veya yeniden sıralamak için kullanılmıştır (bkz. örn. Schwenk ve diğerleri, 2006).
Yukarıdaki yaklaşımlar, çeviri performansını en gelişmiş makine çeviri sistemleri üzerinde iyileştirdiğini gösterse de, biz daha iddialı bir hedef olan sinir ağlarına dayalı tamamen yeni bir çeviri sistemi tasarlamakla daha çok ilgileniyoruz. Bu makalede ele aldığımız sinirsel makine çevirisi yaklaşımı bu nedenle önceki çalışmalardan köklü bir ayrılıştır. Sinir ağını mevcut sistemin bir parçası olarak kullanmak yerine, modelimiz kendi başına çalışmakta ve doğrudan bir kaynak cümleden çeviri üretmektedir.
7. Sonuç
Sinirsel makine çevirisi için geleneksel yaklaşım, bir kodlayıcı-çözücü yaklaşımı olarak adlandırılır ve tüm girdi cümlelerini, çevirinin çözüleceği sabit uzunlukta bir vektöre dönüştürür. Cho ve arkadaşlarının (2014b) ve Pouget-Abadie ve arkadaşlarının (2014) yakın zamanda yaptığı bir ampirik çalışmaya dayanarak, sabit uzunlukta bir bağlam vektörünün uzun cümlelerin çevrilmesi için sorunlu olduğunu düşündük.
Bu makalede, bu sorunu ele alan yeni bir mimari önerdik. Temel kodlayıcı-çözücü yapısını, modelin her hedef kelimeyi üretirken bir dizi girdi kelimesini veya bir kodlayıcı tarafından hesaplanan açıklamalarını (yumuşak bir şekilde) aramasına izin vererek genişlettik. Bu, modelin tüm kaynak cümlesini sabit uzunlukta bir vektöre kodlama zorunluluğunu ortadan kaldırır ve modelin yalnızca bir sonraki hedef kelimenin üretilmesiyle ilgili bilgilere odaklanmasını sağlar. Bu durum, sinirsel makine çeviri sisteminin uzun cümlelerde iyi sonuçlar elde etme yeteneği üzerinde büyük bir olumlu etkiye sahiptir. Geleneksel makine çeviri sistemlerinden farklı olarak, hizalama mekanizması da dahil olmak üzere çeviri sisteminin tüm parçaları, doğru çeviriler üretme olasılığını artırmaya yönelik ortaklaşa eğitilir.
Önerilen model olan RNNsearch’ü İngilizce-Fransızca çeviri görevinde test ettik. Deney, önerilen RNNsearch’ün geleneksel kodlayıcı-çözücü modeline (RNNencdec) kıyasla, cümle uzunluğundan bağımsız olarak önemli ölçüde daha iyi performans gösterdiğini ve kaynak cümlenin uzunluğuna karşı çok daha dayanıklı olduğunu ortaya koydu. RNNsearch tarafından üretilen (yumuşak) hizalamayı araştırdığımız nitel analizden, modelin hedef kelimenin her birini doğru şekilde kaynak cümledeki ilgili kelimelerle veya onların açıklamalarıyla hizalayabildiği ve doğru bir çeviri üretebildiği sonucuna vardık.
Belki de daha da önemlisi, önerilen yaklaşım mevcut deyim tabanlı istatistiksel makine çevirisiyle karşılaştırılabilir bir çeviri performansı elde etti. Önerilen mimarinin veya tüm sinirsel makine çevirisi ailesinin bu yıl kadar yakın bir zamanda önerilmiş olduğu düşünüldüğünde, bu çarpıcı bir sonuçtur. Burada önerilen mimarinin, daha iyi makine çevirisi ve genel olarak doğal dillerin daha iyi anlaşılması yolunda umut verici bir adım olduğuna inanıyoruz.
Gelecek için kalan zorluklardan biri, bilinmeyen veya nadir kelimeleri daha iyi ele almak olacaktır. Bu, modelin daha yaygın olarak kullanılması ve mevcut en son makine çeviri sistemlerinin performansını her bağlamda eşlemesi için gerekecektir.
Kaynak
[1] Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio, (1 Sep 2014), Neural Machine Translation by Jointly Learning to Align and Translate