Doğal Dil İşleme (NLP)

0 Shares
0
0
0

Yazılı ya da sözlü, ifade ettiğimiz her şey çok büyük miktarda bilgi barındırmaktadır. Bahsettiğimiz konu, konuşurken kullandığımız ses tonu, seçtiğimiz kelimeler ve konuştuğumuz şey hakkında daha önceden öğrenmiş olduklarımız – ki bunları istesek de istemesek de, bilinçli ya da bilinçsiz kullanıyoruz – yorumlanabilir ve değerli bir bilgi yığını oluşturur. Teoride ise yalnızca bu bilgi yığınından faydalanılarak insan davranışını anlamak hatta öngörmek mümkündür.

Bu teorinin uygulanmasındaki en büyük problem bir kişinin ifade eylemi sırasında yüzlerce hatta binlerce kelime kullanması ve bu kelimelerin oluşturduğu yargıların (cümlelerin) her birinin kendi içerisindeki karmaşıklığıdır. Tam da bu noktada, belirli bir coğrafi sınır içerisinde olsa dahi binlerce ya da milyonlarca kişinin ifadelerini anlamsal düzeyde ölçmek ve analiz etmek istediğimizde, kendimizi içinde bulduğumuz durum her zaman “yönetilemez” olmuştur.

Analiz boyutunda monologlardan, diyaloglardan ve hatta tweetlerden elde edilen veri, yapılandırılmamış veri olarak tanımlanmaktadır. Yapılandırılmamış veriler ise ilişkisel veri tabanlarının geleneksel satır-sütün yapısına uymazlar ve aslında gerçek dünyada bulunan verilerin büyük çoğunluğunu temsil ederler. Yine de makine öğrenimi gibi insanın odak noktasında bulunduğu alanlarda gerçekleşen gelişmelerle birlikte, yakın zamanda makine – insan arası iletişimde devrim niteliğinde gelişmeler beklenmektedir.

Tüm bu problemlerin ortasında, makine öğrenimi alanının en önemli alt alanlarından biri olan “Doğal Dil İşleme” (Natural Language Processing – NLP) ortaya çıkmıştır.

Doğal Dil İşleme Nedir?

Doğal dil işleme, ana işlevi doğal bir dili çözümleme, anlama, yorumlama ve üretme olan bilgisayar sistemlerinin tasarımını ve gerçekleştirilmesini konu alan bilim dalıdır. DDİ, yapay zeka( bilgi gösterimi, planlama, akıl yürütme, vb. ), biçimsel diller kuramı (dil çözümleme), kuramsal dilbilim, bilişsel psikoloji gibi çok değişik alanlarda geliştirilmiş kuram, yöntem ve teknolojileri bir araya getirir. 

1950 ve 1960 ‘larda yapay zekanın küçük bir alt alanı olarak görülen bu konu, araştırmacıların ve gerçekleştirilen uygulamaların elde ettiği başarılar sonunda artık bilgisayar bilimlerinin temel bir disiplini olarak kabul edilmeye başlandı.

Doğal dil işleme sistemleri temel olarak beş ana seviyede gerçekleşir. Bu seviyeler ise şöyledir:

  • Sesbilim (Phonology)
  • Biçimbilim (Morphology)
  • Sözdizimbilim (Syntax)
  • Anlambilim (Semantics)
  • Edimbilim (Pragmatics)

Günümüzde doğal dil işleme biliminin kullanıldığı alanlar gittikçe genişlemektedir. Bu alanda gerçekleşen gelişmeler ile birlikte çoğunluğu hizmet ve teknoloji alanlarında faaliyet gösteren bir çok büyük şirket müşterilerine farklı alanlarda doğal dil işleme teknolojisi yardımıyla hizmet vermektedirler. 

Örnek olarak ise;

  • Google Translate gibi dil çeviri programları
  • Microsoft Work ve Grammarly gibi yazılı metni dil bilgili uygunluğu açısından analiz eden programlar
  • Özellikle çağrı merkezi aramalarında karşılaştığımız sesli yanıt sistemleri (interactive voice response)
  • Ve tabi ki OK Google, Siri, Cortana ve Alexa gibi kişisel asistanlar verilebilir.

Peki dilimizi bilgisayara anlatmakta neden zorlanıyoruz?

Doğal dil işleme hem bu alanda çalışan dilbilimciler hem de bilgisayar bilimcileri için her zaman en karmaşık ve zor alanlardan biri olarak değerlendirilmiştir. Bunun temelinde ise yazının başında değindiğimiz üzere insan dilinin karmaşıklığı yatmaktadır.

Bilgilerin doğal dilleri kullanarak aktarılmasını belirleyen kurallar (genel dil kuralları – gramer, noktalama, anlam değişmeleri, vb.), bilgisayarların anlaması için kolay değildir.

Bu kuralların bazıları üst düzey ve soyut olabilirken – ki bu duruma cümle içerisinde kullanılan ironi örnek gösterilebilir – bazıları ise “-ler, -lar” eklerinin Türkçe dilinde çoğulluğu temsil ettiği gibi düşük seviyeli olabilirler. Fakat yine buradan anlaşılacağı üzere, asıl zorluk fiziksel boyutta değil, anlam boyutunda yaşanmaktadır.

Dolayısıyla insan dilini kapsamlı bir şekilde anlamak, hem kelimeleri hem de kavramların amaçlanan mesajı iletmek için nasıl bağlandığını anlamayı gerektirir.

İnsanların yeni bir dil öğrenmesi göreceli olarak oldukça mümkün olmakla birlikte, doğal dillerin belirsizliği ve kesin olmayan karakteristikleri doğal dil işleme teknolojisinin uygulanması noktasındaki en büyük ve en önemli problemdir.

Makinelerin de kendilerine özgü bir dili olduğunu kabul edersek, aslında burada gerçekleşen işlem çeviriden başka bir şey değildir. Bu şekilde söylendiğinde her ne kadar kolay gibi gelse de bu durum çeviri eyleminin kapsam alanının genişliğini ve otomatize edilebilme noktasındaki en zor alanlardan biri olduğunu göz önüne sermektedir. Özellikle dini kitaplar, edebi eserler, mizah içeren ve retorik açısından zengin metinler gibi üst düzey dil kullanımının yaygın olduğu örneklerin çevirisi bugünün teknolojisi ile dahi ulaşılması gereken başarı noktasından çok uzaktadır.

Doğal Dil İşleme Süreci ve Dilbilimsel Teknikler

Daha önce doğal dil işlemenin beş ana seviyeden oluştuğunu ve bunların sesbilim, biçimbilim, sözdizimbilim, anlambilim ve edimbilim olduğunu söylemiştik. 

Bunlardan sesbilim, biçimbilim ve edimbilim alanlarında yapılan analizler nispeten daha risksiz ve kolay uygulanan seviyelerken, sözdizimbilimsel analiz ve anlambilimsel analiz, tüm bu sürecin kalbinin attığı iki temel dilbilim tekniğidir. 

Varlık felsefesinin de temelini oluşturan soyut ve somut metalar birliği konsepti düşünüldüğünde doğal dillerin de soyut ve somut varlıklardan oluştuğunu söylemek yanlış olmaz. Bu durumda dilin somut varlığı temelde sözdizimbilim tarafından ele alınırken, soyut varlığı ise anlambilim tarafından incelenmektedir.

Sözdizimbilim (Syntax)

Sözdizim en temel tanımıyla bir dildeki cümle yapısını, bir araya gelen kelimelerin nasıl ve ne şekilde kurallandığını ve bu kelimelerin cümle içerisindeki işleyişini inceleyen dilbilim dalıdır.

Bir cümle içerisindeki kelimeler anlam oluşturmak üzere birbirine zincirlenerek bir araya gelirler ve oluşan anlamda varlığını koruyan her kelime bir “dizim” meydana getirir. Bu kelimelerin bir araya geliş durumuna ait kurallar, birbiriyle olan ilişkileri ve hatta birbirlerini nasıl etkiledikleri sözdizimbilimin konusu olmakla beraber, bu bilgiler ancak sözdizimbilim analizi yöntemiyle açığa çıkarılabilirler.

En temelde bir cümle analizi aşağıdaki şekilde görülmektedir.

Kaynak: Gülşen Eryiğit, Joakim Nivre, Kemal Oflazer. 2008, Dependency Parsing of Turkish

Aynı cümlenin farklı dillerdeki versiyonlarının analizleri farklı şekilde görülmektedir. Bunun sebebi aynı dil ailesine ait olsa da her dilin kendine özgü kuralları olması ve var olduğu coğrafya içerisinde sürekli bir değişim durumunda bulunması, kısacası her dilin yapısının farklı olmasıdır. Aşağıda aynı cümlenin, farklı dillerde yazılmış versiyonlarında anlamı oluşturan kelimeler arasındaki bağlılık düzeninin nasıl değiştiği incelenebilir.

Kaynak: Eşref Adalı, Doğal Dil İşleme

Doğal dil işlemede sözdizimbilim analizi, doğal dilin dil bilgisi kurallarıyla nasıl işlendiğini incelemek için kullanılır. Elde edilen kurallar ise makine öğrenimi sayesinde bilgisayar algoritmaları tarafından belli kelime gruplarına uygulanarak anlam türetmeye hazır hale getirilirler.

Sözdizimbilim Analizinde Kullanılabilecek Teknikler

  • Normalleştirme: Yukarıdaki analizler sonucunda anlam için gereksiz bulunan kelimelerin ayıklaması-çıkarılması işlemidir.
  • Stemming: Kelimelerin aldığı ön (prefixes) ve son (suffixes) eklerin, kelimenin cümle içerisindeki anlamını bozmayacak şekilde ayıklanarak, kelimenin sözlük formuna yaklaştırılmasıdır. 
  • Kök Çözümleme (Lemmatization): Stemming işleminden sonra eklerinden arındırılan kelimelerin, bulundukları cümle içerisinde sahip oldukları anlam değerleri göz ardı edilmeden sözlük formuna (kök hali) ulaştırılmasıdır.
  • Cümle Çözümleme (Parsing): Cümle içerisinde bulunan kelimelerin anlam değerlerine ulaşmak için, o cümle içerisinde sahip oldukları rolü belirleme işlemidir.
  • Biçimbilimsel Segmentasyon (Morphological Segmentation): Her kelime için, kelimeyi oluşturan ve morfem (biçimbirim) adı verilen unitelerin belirlenmesi işlemidir.
  • Cümlelere Ayırma (Sentence Breaking): Uzun ve devam eden bir metin içerisinde, ilgili dilin sözdizim ve dil bilgisi kuralları gözetilerek, cümle sınırlarının tespit edilmesi işlemidir.
  • Kelimelere Ayırma (Word Segmentation):  Uzun ve devam eden cümleler içerisinde, ilgili dilin morfoloji ve dilbilgisi kuralları gözetilerek, kelime sınırlarının tespit edilmesi işlemidir.

Anlambilim

Dil yalnızca düşünceyi aktaran, ileten bir dizge değil, aynı zamanda onu oluşturan, biçimlendiren bir dizgedir. Bu gerçek defalarca bilim insanları tarafından makalelerle desteklenmiş, insan varlığının, konuştuğu dilden ne düzeyde etkilendiğini inceleyen araştırmalar yapılmış ve onlarca teori türetilmiş iken Fransız yazar Paul Valéry’nin “Dil, düşünceyi ister istemez düzenler.” sözü de tüm bu araştırmaları desteklerken, konuyu en basit ama en anlaşılır haliyle anlatmaktadır.

İnsanlar dünyayı anadillerinin penceresinden görür, onun kavramlarıyla düşünür ve evreni yine onun kavramlarıyla biçimlendirirler. Her bir dildeki kavramlaştırma eylemi, o dilin tarihi, sözcük varlığı gibi etmenlerle yakından ilgili olup yine her bir dilde farklı kavramlaştırma ve anlamlandırma eğilimleri görülmektedir. Bu duruma örnek olarak Türkçe ve Hint-Avrupa dillerindeki akrabalık kavramlarının bu bağlamda aynı olması ya da Güney Afrika’da yaşayan Zulu toplumunun dilinde “inek” sözcüğü bulunmamasına rağmen “kızıl inek” ve “beyaz inek” anlamına gelen sözcüklerin bulunması verilebilir.

Yukarıda kısaca değindiğimiz üzere de insanın doğal dilinin anlam boyutundaki karmaşıklığı ve öngörülemez oluşu, bir makinenin doğal bir dili işleme sürecindeki en büyük engeldir.

Bir makineye dil öğretebilmek, makinenin algoritmalar yardımıyla cümlenin yapısını kavraması, kelimelerin anlamlarını algılaması ve bu anlamları yorumlayabilmesi demek olduğundan, bugünün teknolojisi dahi, tam performans gösterebilecek bir yazılım üretmekten oldukça uzaktır.

Mevcut zamanda kullanılan NLP bazlı bazı teknolojik sistemlere bakıldığında nihai başarıya çok yaklaşılmış gibi durulsa da, buradaki başarının büyük bir çoğunluğu türetmeye ve senteze (dilde üretim) bağlı değil, tamamen kurallar bütününden oluşan ve tekrar eden bir eyleme dayalıdır.

Yine de göz ardı edilemeyecek kadar önemli ve büyük gelişmeler olarak tanımlanan bu teknolojiler, gelişmeye açık ve geleceği değiştirme potansiyeline sahipler. 

Anlambilim Analizinde Kullanılabilecek Teknikler

  • Varlık İsmi Tanıma (Named Entity Recognition – NER): Bir metin içerisinde bulunan kelimelerin, daha önceden belirlenmiş kurallara göre yine daha önceden belirlenmiş gruplara ayrıştırılması işlemidir. Oluşturulabilecek gruplara örnek olarak insan isimleri ya da yer isimleri gibi ayrıştırılması kolay durumlar verilebilirken, Fransızca insan isimleri ya da Côte d’Azur bölgesindeki yer isimleri gibi daha karmaşık ve daha fazla veri gerektiren durumlar da verilebilir.
  • Kelimenin Anlam Belirsizliğinin Giderilmesi (Word Sense Disambiguation): Sözdizimsel analiz tarafında elde edilen bilgilerden yola çıkılarak uygulamanın daha kolay olacağı bu teknik, bir kelimenin bir cümle içerisinde sahip olduğu anlam değerini ortaya çıkarmak üzerine kuruludur. Bu anlam kelimenin gerçek anlamı olabileceği gibi, yan anlamı ya da mecaz anlamı da olabilir. Bu, sade ve sadece kelimenin ilgili cümle içerisinde nerede bulunduğu, hangi diğer kelimelerle dilbilgisel ve anlamsal bağı bulunduğu ve o cümle içerisinde bulunduğu durumda sahip olduğu morfolojik özellikleriyle (yapım eki, çekim eki, ön ekler, büyük harf, vs gibi) ilgilidir.
  • Doğal Dil Üretimi (Natural Language Generation): Belirli veritabanları kullanılarak anlambilimsel tasarılar türetmek ve bunları insan diline evirerek anlaşılabilir hale getirme işlemidir.

Tüm bunlardan yola çıkarak, her basamağın kusursuz olarak işlenmesi ve gerçekleşmesi durumunda, tipik bir insan-makine interaksiyonu aşağıdaki basamaklar şeklinde gerçekleşmektedir;

  1. İnsanın makineye konuşması
  2. Makinenin sesi kaydetmesi
  3. Sesin makine tarafından metne dönüştürülmesi
  4. Metin verilerinin işlenmesi
  5. İşlenmiş verinin anlamlı bir metin bütünü haline getirilmesi
  6. Metnin ses dosyasına dönüştürülmesi 
  7. Makinenin ilgili ses dosyasını oynatarak insana cevap vermesi

Yapay zeka teknolojisinin en temel alt alanlarından biri olan makine öğrenimi, ve makine öğreniminin en temel alanı olan doğal dil işleme alanlarında günümüzde devam eden çalışmalar ile birlikte çok yakın gelecekte olmasa da gelecek yıllarda büyük gelişmeler planlanmakta, bu gelişmeler ile birlikte ise çeviri gibi temel bilgi ticareti gibi alanlar başta olmak üzere pazarlama, reklam, otomasyon gibi bir çok alanda büyük değişiklikler olması öngörülmektedir.

0 Shares
Bir cevap yazın

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

Bunlar da ilginizi çekebilir

SKAG METODU

Bisikletle Adana-Mersin Arkamda kamp malzemelerim de varken, 136 KM bisiklet sürebileceğimi, 29 Temmuz 2014 günü sabahı kesinlikle hayal…

Responsive Search Ads

Yeni doğan güneşin kızıl ışıkları, gözünü kamaştırmaya başlamıştı genç adamın. Penceresinden son bir kez daha aydınlanan havanın kokusunu…
firebase-analytics-console

Firebase Event Log’lama

Google’ın ücretsiz hesaplar için eski GA SDK’sını emekliye ayıracağını duyurmasının ardından Firebase’e geçişler daha da önem kazanmaya başladı.…