İçeriğe geç

Doğal Dil İşlemenin Yakın Tarihi

Last updated on 25 Nisan 2020

Yapay Sinir Ağı Temelli Doğal Dil İşleme

Bu yazı DeepMind’da araştırmacı olarak çalışan Sebastian RuderveStellenbosch University’de öğretim görevlisi olan Herman Kamper tarafından Deep Learning Indaba 2018 ‘da yapılan Doğal Dil İşlemenin Sınırları oturumunda sunulduktan sonra kaleme alınan A Review of the Neural History of Natural Language Processing’ makalesinin çevirisi ve yorumlanması ile oluşturulmuştur. ⭐

Yapay Zeka uygulamalarının iyiden iyiye hayatımızda yer aldığı bu günlerde çalışmaların içerisinde yer alan şanslı geliştiriciler olarak, her gün akıl almaz bir uygulamayla karşılaşıyoruz. Görüntü işlemeden, doğal dil işlemeye hemen her alandaki bu gelişmeler heyecanımızı artırırken, takip etmeyi de bir hayli zorlaştırıyor 🤖

İşleri biraz daha kolaylaştıralım ve bir çırpıda (kendi çalıştığım alana pozitif ayrımcılık yaparak😊) doğal dil işleme alanında son zamanlarda sinir ağları temelli gelişmelere göz gezdirelim o zaman 👀

🎯 Hatırlatmakta fayda var ki, bu yazı yaklaşık son 15 senelik süreçte ortaya çıkmış 8 kilometre taşını ele almaktadır! Bu süreçte burada bahsedilenlerin haricinde de araştırmacılar tarafından ortaya konmuş birçok önemli çalışma mevcuttur. Bakış açısı olarak yalnızca sinir ağı temelli çalışmalardan bahsedilmiştir ve bu tutumun diğer yöntemlerin önemli olmadığı yönünde bir anlamla eş değer olmadığı Ruder tarafından özellikle belirtilmiştir. Zira bahsi geçen sinir ağı temelli gelişmelerin birçoğu döneminin sinirsel olmayan yaklaşımlarına dayanıyor 😊


📌 2001 — Sinirsel Dil Modelleri (Neural Language Models)

Dil modellemesi nam-ı diğer language modelling, metin içerisinde verilen bir kelimeden sonra gelecek olan kelimenin tahmin edilmesi görevidir. Akıllı klavyeler, e-posta yanıt önerisi (Kannan et al., 2016), yazım denetimi, vb. somut pratik uygulamaları olan en basit dil işleme görevlerindendir.

Hal böyle olunca, bu görevle ilgili zengin bir çalışma geçmişi olması da beklenen bir durum olarak karşımıza çıkıyor 😊

Klasik yaklaşımlar n-gramlara dayanırken, görünmeyen n-gramlar ile başa çıkabilmek için ise yumuşatma(smoothing) kullanılır (Kneser & Ney, 1995).

Şekil-1’de gösterilen, 2001 yılında Bengio ve arkadaşları tarafından geliştirilen ilk sinirsel dil modeli, bir ileri beslemeli sinir ağı örneğidir.

Şekil 1: İleri beslemeli bir sinir ağı dili modeli (Bengio ve diğ., 2001; 2003)

Bu modelde, C tablosuna bakılarak önceki n kelimenin vektör temsilleri girdi olarak alınır. Günümüzde, bu tür vektörler kelime gömme (word embedding) olarak bilinir. Bu kelime gömmeleri bir gizli katmanı beslemek üzere bir araya getirilir. Gizli katmanın çıktısı ise Softmax katmanının girdisi olur.

Model hakkında daha fazla bilgi için bu yazıya bir göz atabilirsiniz 

Daha sonraları dil modelleme görevinde ileri beslemeli sinir ağlarının yerini tekrarlayan sinir ağları (RNN’ler; Mikolov ve diğ., 2010) ve uzun kısa süreli bellek ağları (LSTM’ler; Graves, 2013) almaya başlamıştır.

Son yıllarda klasik LSTM’in genişletilmiş hali ile oluşturulmuş birçok yeni dil modelinin önerildiği görülse de, klasik LSTM güçlü bir temel olmaya devam etmektedir (Melis ve diğ., 2018).

Hatta Bengio ve arkadaşlarının klasik ileri beslemeli sinir ağı bile bazı ortamlarda daha sofistike modellerle rekabet edebiliyor, çünkü bunlar tipik olarak sadece en son sözcükleri göz önünde bulundurmayı öğreniyor. (Daniluk ve diğ., 2017).

“Sonuçta bu dil modelleri hangi bilgileri yakalıyor?” sorusunun cevabını daha iyi anlamak ise aktif bir araştırma alanı olarak karşımıza çıkıyor (Kuncoro ve diğ., 2018Blevins ve diğ., 2018).

Dil modellemesinde Tekrarlayan Sinir Ağlarının (Recurrent Neural Networks) tercih edilmesi sıklıkla tercih edilen bir yaklaşımdır ve bu yaklaşım birçok kişi tarafından ilk kez Andrej Karpathy’nin blog yazısında anlattığı Resim Yorumlama (Image Captioning) görevindeki başarılı sonucu ile tanınmıştır.

 Resim yorumlama ile ilgili Türkçe dilinde Hacettepe Bilgisayarlı Görü Laboratuvarı araştırmacıları tarafından geliştirilen uygulamayı incelemek için buyrun 😊

Dil modellemesi, Yann LeCun’un kestirimci öğrenme dediği ve sağduyuyu kazanmanın ön şartı olduğunu belirttiği denetimsiz bir öğrenme şeklidir.

Şüphesiz ki dil modellemeyle ilgili en dikkat çekici husus ise basit yapısına karşın, bu yazıda ele alınan daha sonraki ilerlemelerin birçoğunun çekirdeğini oluşturuyor olmasıdır:

🔸 Kelime gömmeleri (word embeddings): Word2vec’in amacı, dil modellemenin basitleştirilmesidir.

🔸 Sıradan sıraya modeller(sequence-to-sequence models): Bir seferde bir kelimeyi tahmin ederek bir çıktı dizisi oluşturur.

🔸 Önceden eğitilmiş dil modelleri (Pre-trained language models): Bu yöntemler, transfer öğrenme (transfer learning) için dil modellerinden temsilleri kullanır.

Tersten bakacak olursak, aslında NLP’deki en önemli sayılan gelişmelerin birçoğu, bir dil modellemesi biçimine indirgenmiştir.

Gerçek bir doğal dil anlayışı ile hareket edebilmek için, sadece ham metinin biçiminden öğrenmek yeterli olmayacağı ve yeni yöntemlere, modellere ihtiyacımız olacağı aşikar!


📌2008 — Çoklu Görev Öğrenme (Multi-tasking learning)

Çoklu görev öğrenme, birden çok görevde eğitilmiş modeller arasında parametre paylaşımı için genel bir yöntemdir. Yapay sinir ağlarında bu işlem, farklı katmanların ağırlıklarını bağlayarak kolayca yapılabilir.

Fikir ilk olarak 1993 yılında Rich Caruana tarafından önerilen çoklu görev öğrenme, yol takip ve zatürree tahmininde kullanılmıştır (Caruana, 1998).

Sezgisel olarak, modellerin birçok görev için faydalı olan temsillerini öğrenmeye teşvik edilmesi olarak nitelendirilebilir. Bu yaklaşım sınırlı sayıda eğitim verisi olan ortamlarda genel bir öğrenmenin sağlanması için oldukça faydalıdır 👍

Çoklu Görev Öğrenme için detaylı bilgi edinmek için bu blog yazısına buyrun 

Collobert ve Weston, çoklu görev öğrenme yaklaşımını NLP için sinir ağlarına ilk uygulayan araştırmacılar olarak literatürde yer edinmişlerdir. Modellerinde, arama tabloları (veya kelime gömme matrisleri), aşağıdaki Şekil 2’de gösterildiği gibi, farklı görevlerde eğitilen iki model arasında paylaşılmaktadır.

Şekil 2: Kelime gömme matrislerinin paylaşımı (Collobert ve Weston, 2008; Collobert ve diğ., 2011)

Kelime gömmelerinin paylaşımı modellerin ortak bir yaklaşımla hareket etmelerine ve genellikle bir modeldeki en büyük parametre sayısını oluşturan kelime gömme matrisindeki genel düşük seviyeli bilginin paylaşımına olanak sağlar.

2008 yılında Collobert ve Weston tarafından yayınlanan makale ile ortaya atılan fikrin aslında çoklu görev öğrenmenin kullanımının dışında, son zamanlarda yaygın olarak benimsenen önceden eğitilmiş kelime gömmeleri ve metinler için evrişimsel sinir ağlarının (CNN’ler) kullanılması gibi fikirlere de öncülük etmesi bakımından önemli bir kilometre taşı olduğunu söyleyebilmek mümkündür. NitekimICML 2018’de verilen Test of Time ödülü de bu söylenenin ispatı niteliğindedir 🏅

Şimdilerde çok farklı doğal dil işleme görevlerinde kullanılan çoklu görevli öğrenme, mevcut veya “yapay” görevlerden yararlanmak suretiyle oldukça faydalı bir araç haline gelmiştir.

Farklı yardımcı görevler hakkında ayrıntılı bilgi için blog yazısına göz atabilirsiniz 

Parametrelerin paylaşımında genelde parametreler önceden tanımlanmış olsa da, optimizasyon sürecinde farklı parametre paylaşım örüntüleri de öğrenilebilir (Ruder ve diğ., 2017). Modellerin genelleme yeteneğini ölçmek için birden fazla görev üzerinde değerlendirilmesinin artmasıyla beraber, çok görevli öğrenme de önem kazanmakta ve son zamanlarda çoklu görev öğrenme için özel ölçütler önerilmektedir (Wang ve diğ., 2018McCann ve diğ., 2018).


📌2013 —Kelime Gömmeleri (Word embeddings)

Metnin ayrık vektör gösterimi (sparse vector representation), diğer bir deyişle kelime-çantası modeli (bag-of-words) doğal dil işleme alanında uzun bir geçmişe sahiptir. Kelimelerin veya sözcük gömmelerinin yoğun vektör gösterimleri (dense vector representation) ise yukarıda da bahsedildiği gibi 2001 kadar eski tarihlerden itibaren kullanılmıştır.

2013 yılında Mikolov ve diğ. gizli katmanı kaldırarak ve hedefe yaklaştırarak bu kelime gömmelerinin eğitimini daha verimli hale getirecek bir çalışmayaimza attılar. Önerdikleri bu değişiklikler çok basit olmasına rağmen — verimli word2vec uygulaması ile birlikte — büyük ölçekli bir kelime gömme eğitimini gerçekleştirmelerine olanak sağladı.

Word2vec Şekil 3’te görülebileceği iki şekilde sağlanır: continuous bag-of-words (CBOW) ve skip-gram. Amaçlarında farklılık gösteren bu 2 yaklaşımdan biri çevreleyen kelimelere dayanarak merkez kelimeyi öngörürken, diğeri ise tam tersini yapar.

Şekil 3: Continuous bag-of-words ve skip-gram mimarileri (Mikolov et al., 2013a; 2013b)

Bu gömmeler kavramsal olarak ileri beslemeli bir sinir ağı ile öğrenilenlerden farklı olmasa da, çok büyük bir korpus üzerinde eğitim ile birlikte Şekil 4’te görüldüğü gibi cinsiyetler, fiillerin zamana göre çekimleri, ülkeler-başkentler gibi kelimeler arasındaki özel ilişkilerin de yakalanmasına olanak tanır.

Şekil 4: word2vec tarafından yakalanan ilişkiler (Mikolov ve diğ. 2013a; 2013b)

Bu ilişkiler ve bunların arkasındaki anlam, kelime gömmelerine karşı ilgi uyandırdı ve araştırmacılar birçok çalışmada bu doğrusal ilişkilerin kökenini araştırmak konusunda efor sarf etti. (Arora ve diğ., 2016Mimno ve Thompson, 2017Antoniak ve Mimno, 2018Wendlandt ve diğ., 2018). Ancak daha sonraki çalışmalarda görüldü ki, öğrenilen ilişkiler ön yargı içeriyordu (Bolukbaşı ve diğ., 2016) 😒

Word2vec’in yakaladığı ilişkiler sezgisel ve neredeyse sihirli olarak ifade edilebilecek nitelikler kazandırırken sonraki çalışmalar, aslında bu durumun word2vec ile ilgili özel bir durum olmadığını göstermiştir. Öyle ki, kelime gömmeleri matris faktorizasyonu yoluyla da öğrenilmekteydi (Pennington ve diğ., 2014; Levy ve Goldberg, 2014) ve dahası uygun düzenlemeler ile SVD ve LSA gibi klasik matris faktorizasyon yaklaşımları da benzer sonuçlar elde edebilmekteydi (Levy ve diğ., 2015).

Bu tarihten itibaren artık araştırmacılar kelime gömmelerinin farklı yönlerini görmek üzere birçok çalışmada bulundular.

Bu konudaki trendler ve geleceğe doğru bir bakış için blog postuna göz atabilirsiniz ✨.

Ancak birçok gelişme olmasına rağmen, word2vec hala en popüler seçim olarak karşımıza çıkmakta ve günümüzde yaygın olarak kullanılmaktadır 😎

Word2vec’e erişim artık kelime düzeyinin ötesine geçilmesine yol açtı ve bu kez de negatif örneklemli skip-gram kullanılarak cümle temsilleri elde edildi (Mikolov ve Le, 2014Kiros ve diğ., 2015). Ötesine geçilen yalnızca kelime düzeyi de değildi, bu yaklaşımla doğal dil işlemenin de ötesine geçilerek ağlarda (Grover ve Leskovec, 2016) ,biyolojik dizilerde (Asgari ve Mofrad, 2015) daha birçok farklı uygulama alanında da gelişmelerin önü açıldı ✌

Heyecan verici bir diğer nokta ise, çapraz dilde aktarımı etkinleştirmek için farklı dillerin kelime gömmelerini aynı uzaya yansıtılması! Böylelikle en azından benzer diller için -tamamen gözetimsiz bir şekilde- iyi bir öngörüye sahip olmak mümkün hale geliyor (Conneau ve diğ., 2018Artetxe ve diğ., 2018; Søgaard ve diğ., 2018) ve böylelikle düşük kaynak dilleri ve denetlenmeyen makine çevirisi uygulamalarının yolu açılıyor (Lample ve diğ., 2018Artetxe ve diğ., 2018). Genel bir bakış için (Ruder ve diğ., 2018)değerlendirme makalesini de okuyabilirsiniz.


📌 2013 — Doğal Dil İşleme için Sinir Ağları

2013–2014 yıllarında artık sinir ağı modelleri doğal dil işleme görevleri için kullanılmaya başlarken, temelde üç ana tür sinir ağı en yaygın kullanılanlar halini aldı. Bunlar; tekrarlayan sinir ağları, evrişimli sinir ağları ve öz yinelemeli sinir ağlarıdır.

✅ Tekrarlayan sinir ağları (Recurrent Neural Networks- RNN)

Tekrarlayan sinir ağları, doğal dil işlemede sürekli karşılaşılan dinamik giriş dizileriyle başa çıkmak için aşikar bir seçimdir. Vanilla RNN’ler (Elman, 1990)kaybolan ve patlayan gradyan sorununa karşı daha dayanıklı olduklarını kanıtlayarak, çok kısa bir sürede klasik uzun süreli bellek ağlarının yerini almayı başarmışlardır (Hochreiter & Schmidhuber, 1997).

2013’ten önce RNN’lerin eğitilmesinin zor olduğu düşünülüyordu, ancak Ilya Sutskever’in doktora tezi ise bu itibarı değiştirmenin yolunda önemli bir örnekti.

Şekil 5: Bir LSTM ağı (Kaynak: Chris Olah)

Çift yönlü bir LSTM (Graves ve diğ., 2013), tipik olarak hem sol hem de sağ bağlamla başa çıkmak için kullanılır.

✅ Evrişimli Sinir Ağları (Convolutional Neural Networks)

Evrişimli sinir ağları (CNN’ler) bilgisayarlı görüde yaygın olarak kullanılırken, aynı zamanda doğal dile de uygulanmaya başlamışlardır (Kalchbrenner ve diğ., 2014Kim ve diğ., 2014). Metin için bir evrişimli sinir ağı yalnızca iki boyutta çalışır ve filtrelerin sadece zaman boyutunda hareket etmeleri gerekir.

NLP’de kullanılan tipik bir CNN Şekil 6’da göstermektedir.

Şekil 6: Metin için bir Evrişimli Sinir Ağı (Kim, 2014)

Evrişimli sinir ağlarının bir avantajı, RNN’lerden daha fazla paralelleşebilmeleridir. Çünkü her zaman dilimindeki durum, RNN’deki tüm geçmiş durumlardan ziyade yalnızca yerel bağlama (evrişim işlemi yoluyla) bağlıdır.

CNN’ler, daha geniş bir bağlamı yakalamak için genişlemiş evrişimler kullanılarak daha geniş alıcı alanlar ile genişletilebilir (Kalchbrenner ve diğ., 2016).

CNN’ler ve LSTM’ler de birleştirilebilir ve istiflenebilir (Wang ve diğ., 2016), hatta evrişimler bir LSTM’i hızlandırmak için de kullanılabilir (Bradbury ve diğ., 2017).

✅ Öz yinelemeli Sinir Ağları (Recursive Neural Networks)

RNN’ler ve CNN’ler dili bir dizi olarak ele alır. Dilsel bir bakış açısına göre, dil doğası gereği hiyerarşik bir yapıdadır: Kelimeler, bir dizi üretim kuralına göre öz yinelemeli olarak birleşerek yüksek dereceli ifadeler ve cümlecikler oluştururlar.

Dil bilimsel bir ilham kaynağı olarak, cümleleri bir diziden ziyade ağaç olarak ele alma fikri Şekil 7’de gösterilen öz yinelemeli sinir ağlarına (Socher ve diğ., 2013) yol açar.

Şekil 7: Özyinelemeli bir sinir ağı (Socher ve diğ., 2013)

Öz yinelemeli sinir ağları, cümleyi soldan sağa veya sağdan sola işleyen RNN’lerin aksine aşağıdan yukarıya doğru bir dizilimin gösterimini oluşturur. Ağacın her düğümünde, alt düğümlerin temsillerini oluşturarak yeni bir gösterim hesaplanır. Bir ağaç RNN’de farklı bir işlem emri empoze ettiği şeklinde görülebildiğinden, LSTM’ler doğal olarak ağaçlara genişletilmiştir. (Tai ve diğ., 2015).

Hiyerarşik yapılarla çalışmak için yalnızca RNN’lerin ve LSTM’lerin genişletilmesi söz konusu değildir. Sözcük gömme işlemleri sadece yerel değil, gramer bağlamında da öğrenilebilir (Levy ve Goldberg, 2014); dil modelleri söz dizimsel bir yığına dayanan kelimeler üretebilir (Dyer ve diğ., 2016) ve çizge evrişimli sinir ağları bir ağaç üzerinde de çalışabilir (Bastings diğ., 2017).


📌2014 — Seq2Seq Modeller

Sutskever ve arkadaşları tarafından 2014 yılında önerilen Seq2Seq öğrenme, bir sinir ağı kullanarak bir diziyi diğerine eşlemek için önerilen genel bir çerçeve olarak tanımlanabilir.

Bu çerçevede öncelikle bir şifreleyici (encoder) sinir ağı bir cümleyi sembol sembol işler ve bir vektör şeklinde temsil edecek şekilde sıkıştırır. Ardından şifre çözücü sinir ağı (decoder) Şekil 8’de görülebileceği gibi önceden tahmin edilen sembolü her adımda girdi olarak alarak, kodlayıcı durumuna göre çıktıyı sembol sembol tahmin eder.

Şekil 8: Seq2Seq model (Sutskever et al., 2014)

Makine çevirisi bu çerçevenin katil uygulaması olarak ortaya çıktı. 2016’da Google, monolitik cümle temelli makine çevirisi modellerini sinirsel makine çevirisi modelleriyle değiştirmeye başladığını duyurdu (Wu ve diğ., 2016)Jeff Dean’e göre, bu 500.000 satırlık cümle tabanlı makine çevirisi kodunun 500 satırlık bir sinir ağı modeli ile değiştirilmesi demekti!

Esnekliği nedeniyle bu çerçeve, artık kodlayıcı ve kod çözücünün rolünü üstlenen farklı modellerle birlikte doğal dil üretme görevlerinin kurtarıcı çerçevesidir. Önemli noktalardan biri ise kod çözücü modelinin sadece bir dizide değil, aynı zamanda isteğe bağlı gösterimlerle de koşullandırılabilmesidir. Bu, örneğin Şekil-9’da görüldüğü gibi bir görüntüye dayalı başlık (Vinyals ve diğ., 2015) , bir tabloya dayalı metin (Lebret ve diğ., 2016) ve kaynak koddaki değişime dayalı bir açıklama oluşturmaya olanak sağlar (Loyola ve diğ., 2017).

Şekil 9: Resme dayalı bir başlık oluşturma (Vinyals et al., 2015)

Seq2Seq göre öğrenme, çıktıların belirli bir yapıya sahip olduğu doğal dil işlemede yaygın olan yapılandırılmış tahmin görevlerine uygulanabilir. Biraz daha basitleştirmek için çıktı, seçim bölgeleri Şekil 10’da görülebileceği gibi doğrusallaştırılmıştır.

Yapay sinir ağları yeterli miktarda eğitim verisi verildiğinde, seçim bölgelerinin ayrıştırılması için bir doğrusallaştırılmış çıktı üretmeyi (Vinyals ve diğ., 2015) ve bunun yanı sıra adlandırılmış varlık tanımayı(Gillick ve diğ., 2016) öğrenebildiğini kanıtladı.

Şekil 10: Bir seçim bölgesi ayrıştırma ağacını doğrusallaştırmak (Vinyals et al., 2015)

Diziler için kodlayıcılar ve kod çözücüler genel olarak RNN’lere dayanır, ancak elbette diğer modellerde kullanılabilir. Yeni mimarilerin ağırlıklı olarak, Seq2Seq mimarileri için Petri kabı görevi gören makine çevirisi görevi için ortaya çıktığı görülüyor.

Son modellere bakıldığında derin LSTM’ler (Wu ve diğ., 2016), evrişimli kodlayıcılar (Kalchbrenner ve diğ., 2016Gehring ve diğ., 2017), sonraki bölümde tartışılacak olan dönüştürücü (Transformer) (Vaswani ve diğ., 2017) ve LSTM -Transformer kombinasyonu (Chen ve diğ., 2018) karşımıza çıkmaktadır.


📌2015 — Dikkat (Attention)

Dikkat (Bahdanau ve diğ., 2015), nöral makine çevirisindeki (NMT) temel yeniliklerden biridir ve NMT modellerinin klasik ifade tabanlı makine çevirisi sistemlerinden daha üstün performans göstermesini sağlayan temel fikirdir.

Seq2Seq öğrenmenin bilinen en temel darboğazı, kaynak dizinin tüm içeriğinin sabit boyutlu bir vektöre sıkıştırılmasını gerektirmesidir. Dikkat, kod çözücünün gizli durumlardaki kaynak dizisine geri dönmesine izin vererek bunu hafifletir. Bu daha sonra, aşağıdaki Şekil 11’de görülebileceği gibi kod çözücüye ek girdi olarak ağırlıklı bir ortalama olarak sunulur.

Şekil 11: Dikkat(Bahdanau et al., 2015)

Farklı türde dikkat mekanizmalarının mevcut olduğunu söyleyebilmek mümkündür (Luong ve diğ., 2015). Hızlıca bir göz atmak isterseniz burayabuyrun 😊

Dikkat, girdilerin belirli bölümlerine göre karar verilmesini gerektiren herhangi bir görev için yaygın olarak uygulanabilir ve faydalı olabilme potansiyeli oldukça yüksektir.

Seçim bölgesi ayrıştırma (consituency parsing)(Vinyals ve diğ., 2015), okuduğunu anlama (Hermann ve diğ., 2015) ve tek adımda öğrenme (one-shot learning) (Vinyals ve diğ., 2016) gibi farklı uygulamalarda kullanılmıştır.

Girdinin bir dizi (sequence) olması gerekmez, ancak Şekil 12’de görülebilen resim yazısı oluşturmada (Xu ve diğ., 2015) olduğu gibi diğer gösterimlerden oluşabilir.

Dikkatin faydalı bir yan etkisi olarak, girdilerin hangi kısımlarının dikkat ağırlıklarına göre belirli bir çıktı için uygun olduğunu inceleyerek nadiren — — sadece yüzeysel olarak — modelin iç çalışmalarına bir bakış açısı kazandırdığı gözlenebilir.

Şekil 12: “Frizbi” kelimesini oluştururken modelin nelere dikkat ettiğini gösteren resim yazılama modelinde görsel dikkat. (Xu ve diğ., 2015)

Dikkat, sadece giriş sırasına bakmakla da sınırlı değildir; daha fazla bağlamsal olarak hassas kelime gösterimleri elde etmek için cümle veya belgedeki çevreleyen kelimelere bakmak için self-attention kullanılabilir. Sinirsel makine çevirisi için mevcut en son model olan Transformer mimarisinin özünde de çoklu dikkat katmanları vardır (Vaswani ve diğ. 2017).


📌2015 — Bellek tabanlı ağlar (Memory-based Network)

Dikkat(attention) modelin geçmiş gizli durumlarından oluşan bulanık bellek olarak görülebilir ve bu mekanizmada bellekten neyin alınacağını model seçer. Dikkat hakkında ayrıntılı bilgi almak ve bellek ile bağlantısını kavrayabilmek için bu makaleye göz atabilirsiniz. Daha açık bir belleğe sahip birçok model önerilmiştir. Sinirsel Turing Makineleri (Graves diğ., 2014), Bellek Ağları (Weston diğ., 2015), Uçtan Uca Bellek Ağları (Sukhbaatar ve diğ., 2015), Dinamik Bellek Ağları(Kumar diğ., 2015), Sinirsel Diferensiyellenebilen Bilgisayar (Graves ve diğ., 2016), ve Tekrarlayan Varlık Ağı (Henaff ve diğ., 2017) gibi birçok farklı varyantları mevcuttur.

Hafızaya, dikkat ile benzer şekilde güncel duruma benzerlik temelinde erişilir ve genellikle üzerine yazılabilir ve okunabilir. Modeller, hafızayı nasıl uyguladıkları ve kullandıkları konusunda farklılık gösterir. Örneğin, Uçtan Uca Bellek Ağları (End-to-end Memory Networks) girişi birden çok kez işler ve çoklu çıkarım adımlarını etkinleştirmek için hafızayı günceller. Sinirsel Turing Makineleri ayrıca sıralama gibi basit bilgisayar programlarını öğrenmelerini sağlayan lokasyon bazlı bir adresleme sistemine sahiptir. Bellek tabanlı modeller genellikle, uzun zaman dilimlerinde bilginin tutulmasının dil modellemesi ve okuduğunu anlama gibi yararlı olması gereken görevlere uygulanır. Hafıza kavramı çok yönlüdür: Bir bilgi tabanı veya bir tablo hafıza işlevi görebilir ve bir hafıza da girdinin tamamına veya belirli kısımlarına göre doldurulabilir.


📌 2018 — Önceden Eğitilmiş Dil Modelleri (Pretrained language models)

Önceden eğitilmiş kelime gömmeleri bağlamdan bağımsızdır ve sadece modellerdeki ilk katmanı başlatmak için kullanılır. Son yıllarda, bir çok denetimsiz öğrenme görevi için de önceden eğitilmiş sinir ağları kullanılmıştır.(Conneau ve diğ.., 2017McCann ve diğ., 2017Subramanian ve diğ., 2018) Buna karşılık, dil modelleri sadece etiketsiz metin gerektirir; böylece eğitim milyarlarca belirteçe (tokens), yeni alana ve yeni dile ölçeklenebilir. Önceden eğitilmiş dil modelleri ilk kez 2015 yılında önerildi (Dai ve Le, 2015); ancak son zamanlarda birçok görev için de oldukça faydalı oldukları görüldü. Dil modeli gömmeleri bir hedef modelde öznitelikler olarak kullanılabilir (Peters ve diğ., 2018) veya bir dil modeli hedef görev verilerine göre ayarlanabilir (Ramachandran ve diğ., 2017Howard ve Ruder, 2018). Dil modeli gömmelerinin eklenmesi Şekil 13’te görüldüğü gibi birçok farklı görevde state-of-the-art’a göre büyük bir gelişme sağlar.

Şekil 13: State-of-the-art’a göre dil modeli gömmelerinde gelişmeler (Peters ve diğ., 2018)

Önceden eğitilmiş dil modellerinin daha az veri ile öğrenmeyi mümkün kıldığı görülmüştür. Dil modelleri yalnızca etiketsiz veri gerektirdiğinden, etiketlenmiş verilerin az olduğu durumlar için özellikle faydalıdır.

Önceden eğitilmiş dil modellerinin potansiyeli hakkında daha fazla bilgi için bu yazıyı okuyabilirsiniz✨.


📌Diğer kilometre taşları

Yukarıda bahsedilenler kadar yaygın olmasa da, yinede geniş etkiye sahip olan diğer çalışmalardan da burada bahsedelim 😊

✅ Karakter tabanlı gösterimler

Karakter tabanlı bir kelime gösterimi elde etmek için karakterlerin üzerinde bir CNN veya LSTM kullanmak, özellikle morfolojik bilgilerin zengin olduğu veya çok fazla bilinmeyen kelime içeren görevler için oldukça yaygındır. Karakter tabanlı gösterimler ilk önce part-of-speech tagging, dil modellemesi için(Ling ve diğ., 2015) ve dependency parsing (Ballesteros diğ., 2015) için kullanılmıştır. Daha sonraki yapılan çalışmalara bakıldığında ise artık dizi etiketlemesi (Lample ve diğ., 2016Plank ve diğ., 2016) ve dil modellemesi (Kim ve diğ., 2016) görevleri için temel bileşen haline geldiği görülmüştür. Karakter tabanlı gösterimler, artan hesaplama maliyetiyle sabit bir kelime hazinesiyle başa çıkma gereksinimini azaltır ve tamamen karakter tabanlı sinirsel makine çevirisi gibi uygulamaları mümkün kılar (Ling ve diğ., 2016Lee ve diğ., 2017).

✅ Çekişmeli öğrenme (Adversarial Learning)

Çelişmeli öğrenme makine öğrenmesi alanında fırtınalar estirirken, doğal dil işlemede de farklı şekillerde kullanılmıştır. Yalnızca modelleri araştırmak ve başarısızlık sebeplerini anlamak için bir araç olarak değil, aynı zamanda onları daha sağlam hale getirmek için de giderek daha yaygın bir şekilde kullanılmaktadır (Jia & Liang, 2017). En kötü durumdaki bozulmalar (Miyato ve diğ., 2017Yasunaga ve diğ., 2018) ve etki alanı ile ilgili kayıplar (Ganin ve diğ., 2016Kim ve diğ., 2017), modelleri daha sağlam hale getirebilecek kullanışlı düzenleme yöntemleri olarak karşımıza çıkıyor. Çekişmeli üretici ağlar(GAN) henüz doğal dil üretimi için çok etkili olmasa da(Semeniuta ve diğ., 2018), dağılımların eşleştirilmesinde etkili olduğu görülmüştür(Conneau ve diğ., 2018).

✅ Pekiştirmeli öğrenme (Reinforcement Learning)

Pekiştirmeli öğrenmenin zaman bağımlılığı olan eğitim sırasında veri seçimi (Fang ve diğ., 2017Wu ve diğ., 2018) ve dialog modelleme (Liu ve diğ., 2018)gibi görevler için yararlı olduğu gösterilmiştir . Pekiştirmeli Öğrenme ayrıca özetleme (Paulus ve diğ, 2018Celikyilmaz ve diğ., 2018) ve makine çevirisinde (Ranzato ve diğ., 2016) çapraz entropi gibi bir taşıyıcı kaybı optimize etmek yerine ROUGE veya BLEU gibi diferansiyellenemeyen bir bitiş metriğini doğrudan optimize etmek için oldukça etkili olduğu da görülmüştür(Wang ve diğ., 2018).


📌 Sinirsel olmayan (Non-neural) kilometre taşları

1998 ve sonraki yıllarda, halen aktif olarak araştırılan bir sığ semantik ayrıştırma biçimi olan anlamsal rol etiketleme görevini sağlayan FrameNetprojesi tanıtılmıştır (Baker ve diğ., 1998).

2000’li yılların başında ise, Doğal Dil Öğrenimi Konferansı (CoNLL) ile birlikte düzenlenen bölümleme (chunking) (Tjong Kim Sang ve diğ., 2000), isimlendirilmiş varlık tanıma (named entity recognition) (Tjong Kim Sang ve diğ., 2003), bağımlılık ayrıştırma(dependency parsing) (Buchholz ve diğ., 2006) gibi temel NLP görevlerindeki araştırmalar alanda katalizör etkisi yarattı. CoNLL için paylaşılan görev veri kümelerinin birçoğu, bugün hala alan çalışmalarının değerlendirmesi için standarttır.

2001 yılında en hızlı dizi etiketleme yöntemlerinden biri olan koşullu rastgele alanlar (conditional random fields/CRF; Lafferty ve diğ., 2001) tanıtıldı ve bu yöntem ICML 2011’de Test-of-time ödülüne layık görüldü. CRF katmanı, adlandırılmış varlık tanıma(named entity recognition) gibi etiket bağımlılıklarıyla ilgili dizi etiketleme problemleri için son teknoloji modellerin çekirdek bir parçası olarak kullanılmaktadır(Lample ve diğ., 2016).

2002 yılında, makine çevirisi sistemlerinin ölçeklenmesini sağlayan ve bugünlerde makine çevirisi değerlendirmesinde standart metrik olan iki dilli değerlendirme alt ölçeği (BLEU; Papineni ve diğ., 2002) önerilmiştir. Aynı yıl, yapılandırılmış preceptron (Collins, 2002) tanıtıldı ve böylelikle bugün ki yapılandırılmış perceptron çalışmalarının temeli atılmış oldu. Aynı konferansta en popüler ve en çok incelenen doğal dil işleme görevlerinden biri olan duygu analizi de tanıtıldı (Pang ve diğ., 2002). Bu üç bildiri de NAACL 2018’de Test-of-time ödülünü almaya hak kazandı. Ayrıca, dilsel kaynak (linguistic resource) PropBank (Kingsbury ve Palmer, 2002) da aynı yıl tanıtıldı. PropBank, FrameNet’e oldukça benzer, ancak fiillere odaklanan bir yapıya sahiptir ve anlamsal rol etiketlemede sıklıkla kullanılır.

Bugün hala konu modellemede (topic modelling) standart bir yöntem olan ve makine öğrenmesinde sıklıkla kullanılan Latent Dirichlet Allocation (LDA; Blei ve diğ., 2003) geliştirildi.

2004 yılında yapılandırılmış verideki korelasyonu yakalamak için SVM’lerden daha uygun olan maksimum marj modelleri (max-margin model) önerildi (Taskar ve diğ., 2004a2004b)

2006 yılında, çoklu açıklamalara ve yüksek etkileşimli anlaşmalara sahip çok dilli bir korpus olan OntoNotes (Hovy ve diğ., 2006) tanıtıldı. OntoNotes, bağımlılık ayrıştırma (dependency parsing) ve eşdeğerlik çözümlemesi (coreference resolution) gibi çeşitli görevlerin eğitimi ve değerlendirilmesi için kullanılmıştır.

Milne ve Witten 2008’de Wikipedia’nın makine öğrenmesi yöntemlerini zenginleştirmek için nasıl kullanılabileceğini açıkladı. O tarihlerden bugüne kadar, Wikipedia varlık bağlama ve netleştirme, dil modelleme, bilgi tabanı olarak veya başka çeşitli birçok görev için makine öğrenmesi metotlarının eğitimi için en faydalı kaynaklardan biri olarak kullanılmış ve kullanılmaya devam etmektedir.

2009 yılında uzak denetim (distant supervision) fikri (Mintz ve diğ., 2009) önerildi. Uzak denetim, büyük korpuslardan otomatik olarak örnekler çıkarmak için kullanılabilecek gürültülü kalıplar üretmek için buluşsal bilgilerden veya mevcut bilgi tabanlarından gelen bilgileri kullanır. Uzak denetim, yoğun bir şekilde kullanılmış olan diğer görevlerin yanı sıra özellikle ilişki ve bilgi çıkarma ve duygu analizinde yaygın kullanılan bir tekniktir.

2016 yılında, çok dilli bir treebanks koleksiyonu olan Evrensel Bağımlılıklar (Universal Dependencies) v1 (Nivre ve diğ., 2016) tanıtıldı. Evrensel Bağımlılıklar projesi, birçok dilde tutarlı bağımlılığa dayalı açıklamalar oluşturmayı amaçlayan bir topluluk çabası olarak değerlendirilebilir. Ocak 2019 yılı itibari ile Evrensel Bağımlılıklar v2, 70’den fazla dilde 100’den fazla ağaçtan oluşan bir yapıdadır.


Doğal dil işleme alanında sinir ağları tabanlı kilometre taşları diye bahsedilebilecek çalışmaların derlendiği bu yazının orjinaline buradan erişebilirsiniz.

💎 Bu kapsamlı derlemi bizlere sunan ve Türkçeleştirmem esnasında desteği için Sebastian Ruder’e çok teşekkür ederim.

💎 I would like to thank awfully Sebastian Ruder for presenting this comprehensive review and for his support during the Turkish translation.


🍀 Yazı hakkında görüşleriniz, önerileriniz ve katkılarınız için şimdiden teşekkürler! Keyifli okumalar 

Tarih:Doğal Dil İşlemeTeknik YazılarYapay Öğrenme

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir