Ritim İstanbul A5 Blok No:46, D:112, 34846 Maltepe/İstanbul

Google’ın açık kaynak kodlu BERT algoritması nedir?

SEO ile ilgili yapılan en büyük hatalardan biri güncellemeler hakkında bilgi sahibi olmamak olabilir. Google tarafından geliştirilen açık kaynak kodlu BERT algoritmasını bilmemek de bir hata kabul edilebilir.

Her gün milyarlarca sorgunun gerçekleştirildiği ve bunların yüzde 15’lik bir kısmının daha önce hiç görmediğimiz sorgular olduğu göz önünde bulundurulduğunda algoritmalara neden daha çok önem vermemiz gerektiğini anlayabiliyoruz. Çünkü bu denli yüksek hacimli sorgularda kullanıcıları doğru içeriklerle buluşturabilmek gerçekten de hiç kolay değil.

- ADT Çözümleri -
Yönetilen Hizmetler Görseli
Advanced Dynamics Teknoloji'de işletmeler için dış kaynaktan hizmet modeliyle Yönetilen Hizmetler çözümleri sunuyoruz.

BERT nedir?

Google Arama Merkezi’nde 15 yıldan fazla tecrübeye sahip bir çalışanın kaleme aldığı blog yazısında BERT modellerinin Arama sonuçlarına nasıl uygulandığı açıklanıyor.

BERT, doğal dil işleme (NLP) için açık kaynaklı bir makine öğrenimi çerçevesidir. Açılımı Bidirectional Encoder Representations from Transformers, yani Dönüştürücü Bazlı Çift Yönlü Kodlayıcı Temsilleri anlamına geliyor. BERT, bağlam oluşturmak için çevreleyen metni kullanarak bilgisayarların metindeki belirsiz veya iki anlamlı dili anlamasına yardımcı olmak için tasarlanmıştır. BERT çerçevesi, Wikipedia’dan alınan metin kullanılarak önceden eğitilmiştir ve soru-cevap veri kümeleriyle ince ayar yapılabilir.

Örneğin İngilizce’de bank kelimesi hem bir bankayı hem de bir nehrin kıyısını ifade edebilir. Arama motorlarında daha iyi sonuç göstermek adına Google, bunun yerine bağlamsal modeller kullanıyor. Bununla cümledeki diğer kelimelere dayanan her kelimenin bir temsilini oluşturuyor. Örneğin, “Banka hesabına eriştim” (I accessed the bank account) cümlesinde, tek yönlü bir bağlamsal model olan “hesaba” eriştim” (I accessed the) ifadesini temel alıyor ve “banka”yı kastettiğini anlıyor.

Tarihsel süreçte dil modelleri metin girişini yalnızca sırayla – soldan sağa veya sağdan sola – okuyabilirdi, ancak ikisini aynı anda yapamazdı. BERT, aynı anda her iki yönde de okumak üzere tasarlandığı için farklılık arz ediyor. Dönüştürücülerin piyasaya sürülmesiyle sağlanan bu yetenek, çift yönlülük olarak bilinir.

BERT, derin bir sinir ağının en altından başlayarak hem önceki hem de sonraki bağlamını – “…hesaba eriştim” – kullanarak “bankayı” temsil eder ve onu derinden çift yönlü hale getirir.

BERT nasıl ortaya çıktı?

Dönüştürücüler ilk olarak Google tarafından 2017’de tanıtıldı. Tanıtımları sırasında, dil modelleri NLP görevlerini yerine getirmek için öncelikle tekrarlayan sinir ağlarını (RNN) ve evrişimli sinir ağlarını (CNN) kullanıyordu.

Yukarıda adı geçen modeller yetkin olmasına rağmen, dönüştürücüler önemli bir gelişme olarak kabul edilir, çünkü RNN’ler ve CNN’ler işlem yaparken sabit sırada işlenecek veri dizileri gerektirmez. Dönüştürücüler ise verileri herhangi bir sırayla işleyebilir, bu da veri üzerinde eğitime olanak tanır. Böylelikle piyasaya sürülmeden önce büyük miktarda dil verisi üzerinde eğitilmiş olan BERT gibi modellerin oluşturulması daha kolay hale gelir.

BERT nasıl öğrenir?

Herhangi bir NLP tekniğinin amacı, doğal olarak konuşulan insan dilini anlamaktır. BERT’in çalışma prensibinde bu genellikle bir kelimeyi boşlukta tahmin etmek anlamına gelir. Bunu yapmak için modellerin genellikle geniş bir özel, etiketli eğitim verisi deposu kullanarak eğitmesi gerekir. Bu, dilbilimci ekipleri tarafından zahmetli ve elle yapılmış veri etiketlemesini gerektirir.[1]

Ancak BERT, yalnızca etiketlenmekle kalmaz, aynı zamanda düz metin külliyatı (yani İngilizce Vikipedi’nin tamamı ve Brown Corpus’un[2] tamamı) kullanılarak önceden eğitilmiştir. Pratik uygulamalarda (örn. Google arama) kullanılsa bile etiketlenmemiş metinden denetimsiz olarak öğrenmeye ve gelişmeye devam etmektedir. Ön eğitimi, inşa edilecek bir “bilgi”nin temel katmanı olarak hizmet eder. BERT sürekli büyüyen aranabilir içerik ve sorgulara uyum sağlayabilir ve bir kullanıcının özelliklerine göre ince ayar yapabilir. Bu süreç transfer öğrenme olarak bilinir.

Yukarıda bahsedildiği gibi, BERT, Google’ın dönüştürücüler üzerine yaptığı araştırmayla ortaya çıkmıştır. Dönüştürücüler, BERT’e dilde bağlamı ve belirsizliği anlama kapasitesini arttıran modelin parçasıdır. Dönüştürücüler bunu, herhangi bir kelimeyi birer birer işlemek yerine, bir cümledeki diğer tüm kelimelere göre işleyerek yapar. Dönüştürücüler, çevreleyen tüm kelimelere bakarak, BERT modelinin kelimenin tam bağlamını anlamasını ve dolayısıyla arama amacını daha iyi anlamasını sağlar.

Google arama motorunda BERT uygulamaları

Arama motorunda kullanıcıların karşısına çıkan snippet’ler (makasla kesilmiş parçalar) BERT’in sayfa içerisinde kullanıcının aradığı içeriği arama motorunda öz bir cümleyle karşısına çıkarmasına olanak sağlıyor.

Yukarıdaki örnekten başka Brezilyalı bir gezginin arama motorunda kullandığı anahtar sözcükten hareketle bir örnek verilmiş. Gezgin 2019 brazil traveler to usa need a visa şeklinde bir sorgu gerçekleştiriyor ve bu sorgu da BERT uygulamasından önce ilk sırada karşısına Washington Post’tan bir haber çıkıyor. Ancak BERT uygulamasıyla birlikte kullanıcıya Amerikan konsolosluğunun ilgili sayfası gösteriliyor. Böylelikle kullanıcı daha ilgili sonuçlarla karşılaşıyor.


[1] Eğer diller hakkında bilgi sahibiyseniz bazılarının söz diziminin birbirine benzediğini, bazılarının eklemeli, bazılarının ise birbirinden ayrı edatlar kullandığını fark etmişsinizdir. Örneğin Türkçe’de “Eve gidiyorum” cümlesindeki -e eki bir yön tarif eder. İngilizce’de ise bu cümle “I’m going to home.” cümlesinde görülebileceği üzere to edatıyla yapılır. Dilbilimcileri tarafından yapılan etiketleme işte burada devreye giriyor.

[2] Brown Corpus Amerikan İngilizcesi metin örneklerinin elektronik bir koleksiyonudur.

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...

React ‘hook’ nedir ve ne için kullanılır?

React hook, React JavaScript kitaplığındaki bir özelliktir. Hook'lar, sınıf bileşenlerine ihtiyaç duymadan, fonksiyon bileşenlerinde durum (state) ve diğer React özelliklerini kullanmaya olanak tanır. İlk...

IPv4 ve IPv6 nedir? Aralarındaki farklar nelerdir?

Her gün internete bağlanıyoruz, ancak teknik olarak internete nasıl bağlandığımızla ilgili bir fikriniz var mı? İnternet, modern yaşamın ayrılmaz bir parçası haline geldi ve...

Daha fazla blog içerik

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...