NLP'de Bağımlılık Ayrıştırma [Örneklerle Açıklamalı]

Yayınlanan: 2021-03-10

Doğal Dil İşleme, insan dillerinin teknolojiyle nasıl etkileşime girdiğini anlamak için hesaplamalı dilbilim ve Yapay Zekanın temellerini alan disiplinler arası bir kavramdır.

NLP, bunları gerçek dünya senaryolarına somut bir şekilde uygulamak için çeşitli terminoloji ve kavramların derinlemesine anlaşılmasını gerektirir. Bu temel kavramlardan bazıları, diğerleri arasında Konuşma Bölümü (POS) Etiketleme, İstatistiksel Dil Modelleme, Sözdizimsel, Semantik ve Duyarlılık Analizi, Normalleştirme, Belirteçleştirme, Bağımlılık Ayrıştırma ve Yapı Ayrıştırmayı içerir.

Bu yazıda, NLP'de nasıl uygulandığına dair bir bakış açısı kazanmak için Bağımlılık Ayrıştırmanın temellerine bakacağız.

İçindekiler

Bağımlılık Ayrıştırma

Bağımlılık Ayrıştırma (DP), dilbilgisel yapısını analiz etmek için bir cümlenin kelimeleri arasındaki bağımlılıkları incelemeyi ifade eder. Buna dayanarak, bir cümle birkaç bileşene ayrılır. Mekanizma, bir cümlenin her dil birimi arasında doğrudan bir bağlantı olduğu kavramına dayanmaktadır. Bu bağlantılar bağımlılıklar olarak adlandırılır.

Örneğin “ Denver üzerinden sabah uçuşunu tercih ederim cümlesini ele alalım .

Aşağıdaki şema cümlenin bağımlılık yapısını açıklamaktadır:

Kaynak

Cümlenin her dilsel birimi veya sözcüğü arasındaki ilişkiler, bir tür bağımlılık yapısında yönlendirilmiş yaylar kullanılarak belirtilir. Şemada belirtildiği gibi, “tercih” ağacının kökü yukarıdaki cümlenin başını oluşturur.

Herhangi iki kelime arasındaki ilişki bir bağımlılık etiketi ile işaretlenir. Örneğin, "uçuş" kelimesi "Denver" isminin anlamını değiştirir. Bu nedenle, uçuşun ana olduğu ve Denver'ın alt veya bağımlı olduğu uçuş -> Denver'dan bir bağımlılık fark edebilirsiniz. Nominal bir değiştiriciyi temsil eden nmod ile gösterilir .

Bu, birinin baş ve diğerinin bağımlı olduğu her iki kelime arasındaki bağımlılık durumunu oluşturur. Şu anda, Evrensel Bağımlılık V2 sınıflandırması, aşağıdaki tabloda belirtildiği gibi 37 evrensel sözdizimsel ilişkiden oluşur:

Bağımlılık Etiketi Tanım
acl bir ismin yan tümcesel değiştiricisi (adnominal tümce)
acl:relcl göreceli yan tümce değiştirici
advcl zarf yan tümcesi değiştiricisi
advmod zarf değiştirici
advmod:emph kelime vurgulama, yoğunlaştırıcı
advmod:lmod konum zarfı değiştiricisi
amod sıfat değiştirici
uygulama atama değiştirici
yardımcı ek
yardımcı:geçmek pasif yardımcı
durum vaka işaretleme
cc koordine edici bağlaç
bilgi: ön bağlantı ön bağlaç
derleme yan tümceli tamamlayıcı
clf sınıflandırıcı
birleştirmek birleştirmek
bileşik:lvc hafif fiil yapımı
bileşik: prt deyimsel fiil parçacığı
bileşik: redup çoğaltılmış bileşikler
bileşik:svc seri fiil bileşikleri
bağlantı konjonktür
polis kopula
csubj yan tümce konusu
csubj:geçmek yan tümceli pasif özne
dep belirtilmemiş bağımlılık
det belirleyici
det:numgov ismin durumunu yöneten pronominal niceleyici
det: nummod isim ile durumda anlaşma pronominal niceleyici
det: sahip Iyelik belirleyicisi
söylem söylem öğesi
yerinden çıkmış yerinden çıkmış elemanlar
açıklama küfür
açıklama:göstergeler kişisel olmayan küfür
açıklama:geçmek dönüşlü pasifte kullanılan dönüşlü zamir
açıklama:pv doğal olarak dönüşlü bir fiil ile dönüşlü klitik
sabit sabit çok kelimeli ifade
düz düz çok kelimeli ifade
düz:yabancı yabancı kelimeler
düz: isim isimler
birlikte gitmek ile gider
iobj dolaylı nesne
liste liste
işaret işaretleyici
nmod nominal değiştirici
nmod:sahip iyelik nominal değiştiricisi
nmod:tmod zamansal değiştirici
nsubj nominal konu
nsubj:geçmek pasif nominal özne
sayı modu sayısal değiştirici
sayısal mod: gov ismin durumunu yöneten sayısal değiştirici
nesne nesne
obl eğik nominal
obl: aracı aracı değiştirici
obl:arg eğik argüman
obl:lmod konum değiştirici
obl:tmod zamansal değiştirici
yetim yetim
parataksis parataksis
nokta noktalama
tazminat geçersiz kılınan akıcısızlık
kök kök
vokatif vokatif
xcomp açık yan tümceli tamamlayıcı

NLTK kullanarak Bağımlılık Ayrıştırma

Bağımlılık Ayrıştırma, insan dilinin istatistiksel Doğal Dil İşlemesinde (NLP) kullanılan kitaplıklar ve kodlardan oluşan bir koleksiyon olan Natural Language Toolkit (NLTK) paketi kullanılarak gerçekleştirilebilir.

NLTK'yı aşağıdaki yöntemlerden biriyle bağımlılık ayrıştırma elde etmek için kullanabiliriz:

  1. Olasılıksal, projektif bağımlılık ayrıştırıcı : Bu ayrıştırıcılar, yeni cümleleri tahmin etmek için elle ayrıştırılan cümlelerden toplanan insan dili bilgisini kullanır. Hata yaptıkları ve sınırlı bir dizi eğitim verisiyle çalıştıkları bilinmektedir.
  2. Stanford ayrıştırıcısı : Bu, Java'da uygulanan bir doğal dil ayrıştırıcısıdır. Bağımlılık ayrıştırma gerçekleştirmek için Stanford CoreNLP ayrıştırıcısına ihtiyacınız var . Ayrıştırıcı, İngilizce, Çince, Almanca ve Arapça dahil olmak üzere birçok dili içerir.

Ayrıştırıcıyı şu şekilde kullanabilirsiniz:

nltk.parse.stanford'dan StanfordDependencyParser'ı içe aktarın

path_jar = 'path_to/stanford-parser-full-2014-08-27/stanford-parser.jar'

path_models_jar = 'path_to/stanford-parser-full-2014-08-27/stanford-parser-3.4.1-models.jar'

dep_parser = StanfordDependencyParser(

path_to_jar = path_jar, path_to_models_jar = path_models_jar

)

sonuç = dep_parser.raw_parse('Uykumda bir fil vurdum')

bağımlılık = sonuç.sonraki()

liste(dependency.triples())

Yukarıdaki programın çıktısı aşağıdaki gibidir:

[

((u'shot', u'VBD'), u'nsubj', (u'I', u'PRP')),

((u'shot', u'VBD'), u'dobj', (u'fil', u'NN')),

((u'fil', u'NN'), u'det', (u'an', u'DT')),

((u'shot', u'VBD'), u'prep', (u'in', u'IN')),

((u'in', u'IN'), u'pobj', (u'uyku', u'NN')),

((u'sleep', u'NN'), u'poss', (u'my', u'PRP$'))

]

Seçim Bölgesi Ayrıştırma

Seçim Bölgesi Ayrıştırma, bağlamdan bağımsız gramerlere dayanır. Burada, ayrıştırma ağacı, her biri bir dilbilgisi kategorisine ait olan alt ifadelere bölünmüş cümleleri içerir. Bir cümledeki her dilsel birim veya kelime, üst düğümü ve konuşma parçası etiketi olan bir uç düğüm görevi görür.

Örneğin, “bir kedi” ve “yatak altında bir kutu” deyimleri isim tamlamaları iken, “mektup yazmak” ve “araba sürmek” fiil tamlamalarıdır.

Örnek bir cümle düşünelim Pijamayla bir fil vurdum.” Seçim bölgesi ayrıştırma ağacının grafiksel bir gösterimi:

Kaynak

Soldaki ayrıştırma ağacı, pijama giyen bir filin vurulmasını, sağdaki ayrıştırma ağacı ise öznenin pijama içindeyken bir fili vurduğunu gösterir.

Cümlenin tamamı, kalan terminal kelimelerimiz kalana kadar alt aşamalara ayrılır. VP bir fiil öbeğini, NP ise isim öbeklerini belirtir.

Bağımlılık Ayrıştırma ve Seçim Bölgesi Ayrıştırma

Seçim bölgesi ayrıştırma, Stanford ayrıştırıcı kullanılarak da uygulanabilir. Temel olarak belirli bir cümleyi seçim bölgesi ayrıştırıcısına göre ayrıştırır ve ardından seçim bölgesi ayrıştırma ağacını bir bağımlılık ağacına dönüştürür.

Amacınız bir cümleyi alt ifadelere bölmekse, seçim bölgesi ayrıştırma uygulamalısınız. Ancak, bir cümledeki kelimeler arasındaki bağımlılıkları keşfetmek istiyorsanız, bağımlılık ayrıştırmasını kullanmalısınız.

Ödeme: NLP Proje Fikirleri ve Konuları

Çözüm

Bu makaleyi faydalı bulduysanız, Flipkart, Gramener ve Zee5 sektör uzmanlarından kişiselleştirilmiş mentorluk sunan upGrad'ın Makine Öğrenimi ve NLP'de 6 aylık PG Sertifikasyonuna göz atmalısınız.

Program, Veri Bilimi ve Makine Öğreniminde bir yer edinmek isteyen mühendisler, yazılım/ BT, Veri ve diğer profesyoneller için tasarlanmıştır. IIIT BBangalorethe'nin bu Lisansüstü Sertifikası, en iyi şirketlerde Veri Analisti, Veri Bilimcisi, ML Mühendisi ve NLP Mühendisi gibi ileri düzey pozisyonlar elde etmek için ihtiyacınız olan tek şey %58'lik bir ortalama maaş artışına sahiptir. Koltuğunuzu bugün sadece Rs'de bloke edin. ayda 3.034!

NLP'de bağımlılık ayrıştırmanın kullanımı nedir?

Doğal dil işlemede, bağımlılık ayrıştırma, bir cümledeki kelimeler arasındaki anlamsal ilişkileri belirlemek için kullanılan bir tekniktir. Bağımlılık ayrıştırıcıları, bir cümledeki kelimeleri anlamsal rollere eşlemek için kullanılır, böylece kelimeler arasındaki sözdizimsel ilişkileri tanımlar. Bağımlılık ayrıştırma, doğal dil metinlerinin yüzey yapı düzeyinde sözdizimsel analizi için iyi bilinen bir yaklaşımdır. Bu yöntemde, bir cümlenin sözdizimsel yapısı, sözcükler arasındaki sözdizimsel bağımlılıkları analiz ederek ve her bir sözcüğün sözdizimsel kategorisini belirleyerek, sözcük belirteçlerinin doğrusal dizisinden kurtarılır.

Bağımlılık ayrıştırma uygulamaları nelerdir?

Bağımlılık ayrıştırmanın kullanıldığı çeşitli uygulama alanlarının listesi aşağıda verilmiştir. Bağımlılık ayrıştırmanın başlıca kullanımlarından biri, doğal dil işlemenin bileşenleri olan anlamsal rol etiketleme (SRL) ve bilgi çıkarmadır. Bağımlılık ayrıştırma, NLP görevlerinin dışında sözdizimsel yığınlama ve seçim bölgesi ayrıştırma için de kullanılır. Bağımlılık ayrıştırma, bir cümledeki kelimeleri karşılık gelen tümcecik işaretçisine veya ağaç yapısına eşleyen tümce yapısı ayrıştırmasından temel olarak farklıdır.

Sözdizimsel ayrıştırma ve bağımlılık ayrıştırma arasındaki temel fark nedir?

Sözdizimsel ayrıştırıcı ve bağımlılık ayrıştırıcı arasındaki fark, bir bağımlılık ayrıştırıcısının bir ayrıştırma ağacı oluşturması ve bir sözdizimsel ayrıştırıcının bir sözdizimi ağacı oluşturmasıdır. Sözdizimsel ayrıştırma, sözdizimini ve bir bağımlılık ayrıştırıcısını tanımlamak için önceden tanımlanmış kuralların kullanılmasını içerir, diğer yandan, her türlü ifadeyi anlayabilir ve ayrıca belirsiz girdilerle başa çıkabilir. Tümce tanıma, yığınlama, bağımlılık analizi, yığınlama ve ayrıştırma için bir bağımlılık ayrıştırıcı kullanılabilir.