blog image

Bağlılık Analizi (Dependency Parsing) Nedir?

Hesaplamalı dilbilimin yanı sıra doğal dil işleme uygulamalarında da sıklıkla bahsi geçen bağlılık analizi (dependency parsing) hakkında merak ettiğiniz bütün soruların cevaplarını bu makalemizde derledik.

Metin analizi, makine öğrenmesi, doğal dil işleme gibi pek çok uygulamada faydalanılan bir öbek yapısı dilbilgisi (phrase structure grammar) modeli olan bağlılık analizi, cümleyi oluşturan elemanların birbiri ile olan ilişkisini göstermekte kullanılır. Bağlılık analizi nasıl yapılır? Bağlılık analizi ne işe yarar? Bağlılık analizinin doğal dil işlemede kullanım alanları nelerdir? Tüm bu soruların cevabını öğrenmek için okumaya devam edin!

Bağlılık Analizi Nedir?

Bağlılık analizi, verilen cümledeki kelimeler arasında cümlenin gramer yapısını yansıtacak biçimde ikili ilişkiler kurma işlemidir. Bu işlemde kelimeler “bağlanılan” (head) ve “bağlanan” (dependent) olarak ikiye ayrılır ve ikili ilişkiler bu iki eleman arasında gerçekleşir. İkili ilişkilerin insanlar veya algoritmalar tarafından belirlenmesinin ardından bağlılık analizi tamamlanır ve ortaya cümlenin bağlılık ağacı (dependency tree) çıkar.

Bağlılık Analizinde İkili İlişkiler Hangi İki Öge Arasında Kurulur ve İlişkinin İsmi Neye Göre Belirlenir?

İkili ilişkiler kurulurken bağlanılan kelimeden çıkarılan bir ok bağlanan kelimeye götürülür. Bu okun yönünü, o ikilide sözdizimsel olarak hangi kelime ana kelime (head) ise o belirler. Okun üzerine bu ikili arasındaki ilişkiyi ve bağlanan kelimenin bağlandığı kelimeyi nasıl nitelendirdiğini anlatan bir etiket konulur. Bu etiket yapısal argüman ilişkisi, isim nitelendirme ilişkisi veya diğer ilişkileri (örneğin bağlaçların cümleyi bağlaması gibi) belirtebilir.

Örnek verecek olursak “kırmızı araba” tamlamasında “kırmızı” bir sıfat ve “araba” bir isimdir. Bu yüzden “kırmızı” sıfatı “araba” ismine bir nitelik kazandırdığı için “araba” kelimesinden “kırmızı” kelimesine üzerinde sıfatlık ilişkisini belirten etiketiyle bir ok çizeriz. Böylece “kırmızı” kelimesi “araba” kelimesine “sıfat” ilişkisiyle bağlanmış olur. Bu işlemi tüm cümle üzerinde gerçekleştirdiğimizde elimizde cümledeki tüm kelimelerin bağlı oldukları kelime ile olan ilişkisini gösteren bir ağaç olacaktır.

Aşağıda örnek bir cümlenin bağlılık ağacını görebilirsiniz. Bağlılıklar, bağlananların cümledeki sözdizimsel görevine (syntactic role) göre özne, nesne, zarf ve sıfat olarak etiketlenmiştir. Bu bağlılık ağacına göre “okudu,” cümlenin yüklemidir. “Büşra,” “kitabı” ve “dikkatle,” “okudu”nun bağlananlarıdır (dependent). “kapaklı,” “kitabı”nın bağlananıdır, “kırmızı” ise “kapaklı”nın bağlananıdır.

Yukarıdaki bağlılık ağacından da anlaşılabileceği üzere, bağlılık ağaçları sözdizimi ağaçları (syntactic tree) ile paralellik göstermektedir. 

Bağlılık Analizi Yapmak Bize Ne Kazandırır?

Türkçe, sözdizimi açısından esnek davranan diller arasındadır. Diğer bir deyişle Türkçede, cümlenin ögelerinin farklı sıralamalar ile söylendiği devrik cümleleri sıklıkla kullanırız. Örneğin yukarıda bağlılık ağacını çizdiğimiz cümleyi aşağıdaki şekillerde de söylememiz mümkündür:

  • Kırmızı kapaklı kitabı Büşra dikkatle okudu. (nesne, özne, yüklem)
  • Dikkatle okudu Büşra kırmızı kapaklı kitabı. (yüklem, özne, nesne)
  • Kırmızı kapaklı kitabı dikkatle okudu Büşra. (nesne, yüklem, özne sıralaması)

Tüm bu kullanımlar, Türkçenin farklı sözdizimlerine izin vermesi sebebiyle dilbigisi açısından doğrudur. Türkçenin sözdizimindeki bu esnek tutumuna bağlı olarak, doğal dil işleme alanında kullanılan veri tabanlarında (corpus ya da derlem) yer alan cümlelerin ciddi bir kısmı devriktir, fakat bağlılık analizi bu esnekliğe uyum sağlayabilmektedir. Çünkü bahsedilen ikili ilişkiler, devrik cümlelerde dahi kurulabilmektedir. Böylece algoritmalar, cümlelerin sözdizimi ne kadar alışılmışın dışında olursa olsun ellerindeki veriyi anlamlandırabilmektedir. Bu sebeple Türkçe gibi esnek cümle yapısına sahip bir dilin gramer yapısını algoritmaya dökmek için en etkili çözüm bağlılık analizidir.

Bağlılık analizinin diğer bir avantajı ise bağlılık analizinin ardından elde edilen ikili ilişkilerin bilgisi ile eşgönderge (coreference) çözümlemesi, soru cevaplama ve veri madenciliği yapmanın mümkün olmasıdır.

Bağlılık analizi kullanılarak yapılan doğal dil işleme uygulamaları, Türkçe gibi sözdizimi açısından esnek dillerde dahi tutarlı ve doğru sonuçlar vermektedir.

Bağlılık analizi ve uygulama alanları hakkında daha detaylı bilgi edinmek için Daniel Jurafsky ve James H. Martin tarafından kaleme alınan Speech and Language Processing kitabının ilgili bölümünü okuyabilirsiniz.

Bir cevap yazın

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