NLP'de Bağımlılık Ayrıştırma [Örneklerle Açıklamalı]
Yayınlanan: 2021-03-10Doğ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:
- 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.
- 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.