12 Ocak 2024 |

Doğal Dil İşleme

Alex Knight adlı kişinin Pexels’daki fotoğrafı

Doğal Dil İşleme (NLP) Nedir?

NLP (Natural Language Processing), Türkçe ismiyle Doğal Dil İşleme (DDİ), yapay zekanın altında yer alan ve amacı insanların ürettiği doğal dilin işlenebilmesi, anlaşılabilmesi, analiz edilerek çıktılara dönüştürülebilmesi olan araştırma alanıdır. Halen tam anlamıyla çözülememiş problemler barındırması sebebiyle de aktif olarak üzerine çokça yatırım ve araştırma yapılmaktadır. Tarihi 1950’li yıllara dayanan doğal dil işleme zaman içinde diğer yapay zeka alanları gibi dalgalı bir seyir izlemiş, farklı metodolojiler ile çözülmeye çalışılmış problemleri ile tarihin belli dönemlerinde daha fazla yatırım yapmaya gerek olmadığı çıkarımı ile çözülemez bir alan olarak bile tanımlanmıştır. Ancak zaman içinde araştırmacıların NLP’yi farklı alt görevler üzerinden incelemeye başlaması, bilgisayar bilimleri (computer science) dünyasında ve algoritmalar tarafında yeniliklerin ortaya çıkması ile tekrar yoğun bir ilgi çekmeye başlamıştır. Son zamanlara gelindiğinde ise derin öğrenme (deep learning) çalışmalarının etkisini gösterdiği bir çok çalışma alanı gibi NLP de bu teknolojiden faydalanmak için yeni bir çağa başlamış, şu ana kadar en son teknoloji (state-of-the-art) çözümlerin pabucunu dama atacak olan derin öğrenme yöntemlerinin boy göstermesi ile altın çağına girmiştir.

Doğal Dil İşlemenin Başlıca Kullanım Alanları

Sanılanın aksine sayısal veriyi işlemekten çok daha zor olan bu görev için dil kurallarını, mecazi ifadeleri ve ifadelerin anlamlarını bilmek gerekir, aynı zamanda konuşulan konuya dair bir önbilgiye ve bağlama ihtiyaç duyulur. Sayısal verilerin işlenmesinde ise bağlam vb. bilgileri kullanmaksızın yalnızca matematiksel ifadeler ile çözümler üretilebilmektedir.

Örnek vermek gerekirse, suyun sıvı, buzun ise katı formda olduğunu bilgisayarın bilmesini bekleyemeyiz, ancak istatistiksel yöntemler (geçmiş verinin yardımı) ile bu iki terimin birbirleri ile ilgili olduğunu çıkarabileceğini düşünebiliriz.

Doğal dil işlemenin niçin bu denli ihtiyaç olduğu konusuna gelirsek, öncelikle günümüzdeki iletişim araçlarının ve üretilen verinin durumunun incelenmesi gerekir. 2025 yılına kadar, günlük üretilecek olan verinin 463 exabyte (212.765.957 DVD’ye eşdeğer) olması beklenmektedir.* Bu verinin büyük bölümünün yazılı içerikler ya da yazıya dönüştürülebilecek içeriklerden (video, ses) oluştuğunu düşünebiliriz. Bu boyutta, insanların kendi dilinde oluşturduğu içeriğin tüketilebilmesi, anlaşılabilmesi için bir operasyon kurmanın imkansızlığı hepimizin malumudur. Bu sebeple bu boyuttaki veriyi çeşitli seviyelerde analiz edebilecek anlamlı hale getirecek teknolojiler hayati bir ihtiyaç olarak ortaya çıkmaktadır.

Günümüzde NLP’nin sıkça hayatımıza dokunduğu bize katkı sunduğu örnekler nelerdir?

Google’da yaptığınız bir aramada, aramanıza uygun reklamı önerebilmek için arama motorunun önce yazdığınızı anlaması gerekir ki aradığınız ile ilişkili reklamları size sunabilsin. Bir lokasyon ile ilgili aramanızda, o destinasyona olan uçuşları, oradaki konaklama yerlerini ya da gidilebilecek restoranları önermesini somut bir örnek olarak düşünebiliriz. Bunun yanında sizin için gelen e-postalarınızdan istenmeyen (spam) e-postalarınızı ayırt edebilensistemler yine NLP kullanarak bunu yapmaktadır. Günlük hayatta artık sıkça başvurduğumuz akıllı asistanlarımız söylediklerimizi anlayıp ona göre cevaplar, çözümler üretmeyi de NLP teknolojilerini kullanarak yapmaktadır.

Anlamsal arama (https://www.http://artiwise.cloud/tr/wp-content/uploads/sites/2/2021/09/veri-analizi-2-scaled-1.jpg.com/dijital-medya-takibi/)

Klasik arama algoritmalarında aranacak anahtar kelimeler üzerinden ilerlenerek o kelimelerin geçtiği kaynaklar sıralama algoritmalarınca sıralanarak sonuçlar elde edilmektedir. Anlamsal arama ise sadece bu anahtar kelimeleri değil onların anlamlarını da dikkate alarak kaynaklarda o kelimelere yakın anlamlı kelimelerin aranmasına olanak vermektedir. Anlamsal arama yöntemi aranacak kaynaklar tarafında da özetleme ve konsept ağacı çıkarma tekniklerinden yararlanarak o kaynaklarda hangi terimlerin daha önemli olduğunun anlaşılmasını sağlayıp anahtar kelimelerin bu terimlerle eşleştiği durumlarda kaynağın arama sonucunda öne çıkmasını sağlamaktadır.

Chatbotlar (https://www.http://artiwise.cloud/tr/wp-content/uploads/sites/2/2021/09/veri-analizi-2-scaled-1.jpg.com/chatbot-analizi/)

Chatbotlar kullanıcılar ile doğal dilde iletişim kurabilen dijital asistanlardır. Çok genel konular üzerine bir sohbet arkadaşı gibi de eğitilebilen chatbotlar genellikle belirli bir alanda kullanıcıları yönlendirme, sorunlarını dinleme veya onlara bilgi verme amacıyla kullanılmaktadır. Chatbotlar sayesinde müşteri ile ilişkide harcanan efor önemli seviyede azaltılabilmektedir.

Chatbotların işleyişinde doğal dil anlama, niyet ve varlık tespiti, anahtar kelime çıkarımı tekniklerinden faydalanılarak kullanıcının ifadesinde ne anlatmak istediği, özel isim, marka, tarih, mekan gibi hangi bilgileri verdiği ve ifadenin hangi konu ile ilgili olduğu bilgileri elde edilmektedir.

Daha sonra chatbotun uygun bir yanıt oluşturması için de elindeki kaynaklardan bilgi üretmesine yarayacak özetleme, anlamsal arama gibi çeşitli metotlar kullanılmaktadır.

Elde edilen yanıtın ifade edilmesi kısmında ise doğal dil üretme teknikleri devreye girmektedir.

Sosyal medya analiz (https://www.http://artiwise.cloud/tr/wp-content/uploads/sites/2/2021/09/veri-analizi-2-scaled-1.jpg.com/sosyal-medya-analizi/)

Şirketler adına medya takibi yapan ajansların yerini online yayınların artışı ve doğal dil işlemedeki gelişmeler sonucunda otomatik takipte olan araçlar aldı. Bu araçlar hem online gazete ve dergilerden hem de sosyal medya uygulamalarından ilgili şirkete dair tüm veriler anlık olarak toplayabiliyor. Toplama sırasında hangi verilerin şirket ile ilgili olduğuna dair kararlarda yukarıda bahsettiğimiz anlamsal arama algoritmaları da oldukça etkili. Veriler toplandıktan sonra ise bu verilerin şirkete sunulması için doğal dil işleme tekniklerinden faydalanarak çeşitli analizler yapılıyor. Bu analizlerden birkaç örnek şu şekilde verebiliriz:

  • Toplanan veriler özetlenerek bir insan tarafından makul sürede okunabilecek önemli noktaların çıkarılması
  • Verilerin denetimli veya denetimsiz öğrenme yöntemleri ile konularına göre sınıflandırılması ile elde edilen en çok bahsedilen konu, bu ay geçen aya göre daha arka plana atılmış konular, bu ay öne çıkan yeni gündemler gibi analizler
  • Verilerin duygu analizi ile şirket hakkında hangi konularda olumlu hangi konularda olumsuz ifadelere yer verildiği bilgisi

Müşteri memnuniyet analizi (https://www.http://artiwise.cloud/tr/wp-content/uploads/sites/2/2021/09/veri-analizi-2-scaled-1.jpg.com/musterinin-sesi/)

Sosyal medya takibi kısmında belirttiğimiz birçok analiz müşteri memnuniyet analizi olarak da kullanılabilir. Müşteri memnuniyet analizinde şirketler online kaynaklarla beraber müşterileri ile birebir iletişimlerini yansıtan verileri de sıklıkla kullanırlar. Bu veriler şirketin chatbot konuşmalarının verisi, açık mail adresine gelen dilek/şikayet mailleri veya müşteri ile temas sonrasında gerçekleştirilen memnuniyet anketleri olabilir.

Müşteri memnuniyeti için anketlerle takip sık kullanılan bir yöntemdir. Bu verilerin sonucunun otomatik analiz edilebilir olması için genellikle çoktan seçmeli anketler tercih edilir fakat bu anketler müşterinin kendini tam olarak ifade etmesi için yeterli olamayabilir. Bu durumlarda açık uçlu sorular ve onların analizi için doğal dil işleme teknikleri devreye girer.

Çoktan seçmeli anket sorularından elde edilebilecek bilginin çok daha kapsamlı ve detaylı hali bu şekilde elde edilebilir.

Müşteri memnuniyetinde özellikle müşterinin yaptığı bir yorumun hangi sınıfta olduğu önemlidir. Doğal dil işleme teknikleri yeni gelen her bir yorumu anında sınıflandırıp bu yorumu ihtiyaca göre teşekkür, şikayet, talep gibi etiketlerle etiketleyebilir. Bu etiketleme sonucunda şirket öncelik vermesi gerektiğini düşündüğü yorumları hızla tespit edip onların işleme konulmasını önceleyerek olumsuz yorumların yayılmasının önünü kesebilir veya olumlu izlenimlerin kalıcılığını arttırabilir.

NLP için Çözüm Yaklaşımları:

NLP’de yer alan problemlerin büyük bölümü zaman içinde farklı yöntemler ile çözülmeye çalışılmıştır. Özellikle ilk dönemlerde sıkça başvurulan bir metodoloji olan kural tabanlı yaklaşımlar kendilerine oldukça yaygın yer bulmuş ve bu hegemonyalarını çok uzun süre devam ettirmişlerdir. Ancak kural tabanlı yaklaşımların kodlanması, geliştirilmesinin düşünüldüğü kadar kolay olmadığı araştırmacılar tarafından defalarca ortaya konmuştur. Çünkü dili tanımlamak onu formal bir kalıba sokabilmek için ortaya atılan kuralların birçoğu karmaşık örneklerde birbiri ile çelişmekte ve çözümler büyük oranda lokal çözümler olarak kalmaktadır. İşte bu sebeplerden ötürü kuralların daha rahat tanımlanabileceği, formal dilleri kabul eden otomataların** kullanımı yaygınlaşmıştır. Yine de NLP’ye dair tüm problemlerin bu tip kuralların tanımlanması ile kısmi çözümüne bile ulaşılamayacağı defalarca gösterilmiştir. Örneğin, bağlama dayalı bilgiye ihtiyaç duyulan görevlerin çözümünde kuralları kullanmak faydasızdır. Türkçe gibi sondan eklemeli dillerde sıkça karşılaşılan morfolojik*** seviyedeki belirsizliklerin giderilmesi tamamıyla cümle içindeki bağlama bağlı bir çözüm gerektirmektedir. “O elmayı alın ve yerine koyun.” cümlesindeki “alın” kelimesinin morfolojik çözümlemesi yapıldığında birden fazla sonuç ile karşılaşılmaktadır. İnsan yüzündeki bir bölgeyi tanımlayan “alın”, almak fiilinin ikinci tekil şahıs için emir kipi ile çekilmesinden oluşan “alın”, ya da alınmak fiilinin ikinci tekil şahıs ile çekilmesinden oluşan “alın”. İşte bu çözümlemeler arasından hangisinin doğru olduğunun kararlaştırılması tamamıyla cümledeki diğer elemanların analizine bağlı olarak değişmektedir. İşte bu gibi varyasyon sayısının sayısının çok yüksek olduğu ve ihtimallerin değerlendirildiği problemleri çözmek için kural tabanlı değil, veriye dayalı modellerin kullanımı zaruri bir ihtiyaçtır.

Veriye dayalı modeller deyince Makine Öğrenmesi (Machine Learning) teknolojisi ilk akla gelen yöntemleri barındırıyor. Genellikle geçmiş veriye dayalı bir tahminleme modelinin oluşturulmasını hedefleyen bu modeller, veri üzerinden istatistiksel ya da olasılıksal modeller üreterek bir karar verici oluşturulmasını sağlar. Kural tabanlı sistemlere göre çok daha rahat ve başarılı çözümler üreten makine öğrenmesi modelleri, verilerden kendi kendilerine öğrenerek herhangi bir insan müdahalesi ya da fikri efor harcamasına gerek duymaz. Ancak kural tabanlı modellere göre handikapları, veriye ihtiyaç duymalarıdır. Çünkü gold standard denilen insanlar tarafından işaretlenmiş referans verisine (eğitim verisine — training set) ulaşmak oldukça maliyetlidir. Ancak problemlere daha yüksek oranlarda başarılı çözümler üreten makine öğrenmesi modelleri günümüzde neredeyse tek çözüm gibi sunulmaktadır.

NLP’nin çözülmesindeki zorluklar nelerdir?

NLP’nin halen açık uçlu ve tam anlamıyla çözülememiş bir problemler bütünü olduğunu gösteren bazı örneklerden bahsetmek gerekirse:

Muğlaklık(Ambiguity)

Doğal dil işleme çalışmalarında çeşitli seviyelerde muğlaklık (belirsizlik) adını verdiğimiz problemler ile karşılaşılmaktadır. Belirsizlik, birden fazla cevabın olası olduğu ve hangisinin doğru seçenek olduğunun kararlaştırılamaması problemidir. Örnek vermek gerekirse kelime formunda aynı görünüme sahip ancak morfolojik çözümleme anlamında farklı niteliklere sahip kelimelerin cümle içinde doğru çözümlemeye sahip hallerinin seçimi. Bununla ilgili yazının önceki bölümlerinde “alın” örneği verilmişti. Yine cümle anlamında ortaya çıkan muğlaklığın örneği meşhur bir doğal dil işleme kitabı olan Speech & Language Processing (https://web.stanford.edu/~jurafsky/slp3/) şu şekilde verilmiştir.

I made her duck.****

  • I cooked waterfowl for her. (Ona ördek pişirdim)
  • I cooked waterfowl belong to her. (Onun ördeğini pişirdim)
  • I created the duck she owns. (Onun ördeğini ben yarattım)
  • I caused her quickly to lower her body or head. (Onun eğilmesini sağladım.)
  • I waved my magic wand and turned her into undiffrentiated waterfowl. (Sihirli değneğimle dokundum ve onu gerçeğinden ayırt edilemez bir ördeğe dönüştürdüm.)

Eş Anlamlılık (Synonym)

Doğal dillerin bir başka önemli fenomeni, aynı fikri belirli bir bağlama da bağlı olan farklı terimlerle ifade edebilmemizdir: büyük ve kocaman, bir nesneyi veya bir yapıyı tanımlarken eş anlamlı kelimeler olabilirler, ancak tüm bağlamlarda birbirlerinin yerine konulamazlar. Örneğin “büyük”, büyük kız-kardeş gibi ifadelerle daha yaşlı anlamına gelirken; kocaman bu anlamda kullanılamaz. Yine “kafa” ve “baş” kelimeleri eş anlamlı kelimelerken; “Başımdan geçenleri biliyorsun da kafamdan geçenleri nereden bileceksin? “ ifadesinde birbirleri yerine kullanılamazlar. Çünkü “baştan geçen” ifadesi yaşanan bir olayı anlatırken, “kafadan geçmek” ise bir düşünceyi ifade etmektedir.

NLP görevlerinde sistemin, eşanlamlı bilgilerini ve aynı nesneyi veya fenomeni adlandırmanın farklı yollarını, özellikle insan diyalogunu taklit eden üst düzey görevler söz konusu olduğunda kullanabiliyor olması gerekir.

Özdeşlik Çözümleme (Coreference Resolution)

Bir metinde aynı varlığa (entity) gönderme yapan tüm ifadeleri bulma işlemine özdeşlik çözümleme (coreference resolution) adı verilir. Bu adım, belge özetleme, soru cevaplama ve bilgi çıkarma gibi doğal dil anlayışını içeren birçok üst düzey NLP görevi için önemli bir adımdır. Son yıllarda NLP uygulayıcıları için oldukça zor olan bu sorun, en yeni derin öğrenme (Deep Learning) ve pekiştirmeli öğrenme (Reinforcement Learning) tekniklerinin tanıtılmasıyla bir canlanma yaşamıştır. Şu anda, RNN (Recurrent Neural Network- Yinelemeli Sinir Ağları) ve LSTM (Long-Short Term Memory — Uzun Kısa dönemli hafıza ağları) gibi NLP sinir mimarilerinin özdeşlik çözümünün performanslarının iyileştirilmesinde etkili olabileceği öne sürülmektedir.

Bu probleme dair bir örnek,

“Ahmet evine gitmişti. Onu orada babası karşıladı.” 

Bu örnekle ikinci cümlede kullanılan “O” zamiri bir önceki cümledeki bilgiye göre Ahmet’in yerine kullanılmıştır. Yalnızca ikinci cümleyi kendi başına analiz ettiğimizde bu bilgiye erişmek imkansızdır. 

NLP’nin Safhaları:

Doğal dil işleme çalışmaları diğer çalışma alanları gibi kendi içinde alt görevler barındırmaktadır. Bu alt alanların her biri halen üzerine çalışma yapılan ve neredeyse hiç biri tam anlamıyla çözülememiş problemlerdir. Çünkü dil yaşayan bir varlıktır ve yalnızca yazıldığı ana ait değil geçmişten gelen bir bilgi birikiminin eseridir. O sebeple dili tam anlamıyla çözebilmek uçtan uca bir insan bilişini çözmekle mümkün olabilmektedir.

Doğal Dil İşleme’nin alt alanları sesin analizinden başlayarak söylem analizine kadar giden bir yelpazede görevleri barındırmaktır. Ve aşağıdan yukarı doğru bu görevlerin başarıyla gerçekleştirilmesi ile ancak yüksek seviyeli bir analizin tamamlanmasından bahsedebiliriz.

  • Fonoloji: İnsanların dili kullanırken ne gibi sesler kullandıkları ve dili meydana getiren ses birlikteliklerini inceleyen safhadır.
  • Morfoloji : Kelimelerin yapılarını (ek-kök) inceleyen katmandır.
  • Sentaks : Cümleleri oluşturan kelimeler arası ilişkileri ve dizilimi inceleyen katmandır.
  • Semantik: Kelimelerin anlamlarını ve bir araya geldiklerinde cümle ve metin için oluşturdukları toplam anlamı inceleyen katmandır.
NLP İşleme Fazları

Doğal Dil işlemenin günümüzde çokça ilgi çekiyor olması, gelecek dönemler için insana destek olacak sistemlerin tamamında bu teknolojinin kullanılacak olmasındandır. İnsansı bir makine dediğimiz zaman onu tanımlayan en önemli özelliklerinden biri iletişim kurabiliyor olmasıdır. İnsanlar arası iletişimin en büyük bölümünü konuşma dilinin oluşturduğu düşünülürse Doğal Dil İşleme’nin araştırmacılar ve teknoloji takipçileri arasında edindiği yeri çok daha uzun süre koruyacağı herkesin malumu.

Notlar ve Referanslar

* https://www.weforum.org/agenda/2019/04/how-much-data-is-generated-each-day-cf4bddf29f/
** Otomatlar, bir dizi durum veya konfigürasyonda hareket ederek bir girdi üzerindehesaplamalar yapan makinelerin soyut modelleridir
*** Morfolojik çözümleme: Doğal dil işlemede, belirli bir sözcüğün oluşturulduğumorfemleri belirleme işlemidir. Ortografik kuralları ve morfolojik kuralları ayırtedebilmelidir. Örneğin, ‘tilkiler’ kelimesi ‘tilki’ (kök) ve ‘ler’ (çoğulluğu gösteren birsonek) olarak ayrılabilir.
**** Jurafsky, D. (2000). Speech & language processing. Pearson Education India.
https://medium.com/sciforce/biggest-open-problems-in-natural-language-processing-7eb101ccfc9
https://www.dataversity.net/everything-you-need-to-know-about-nlp-and-its-use-cases/#
https://arxiv.org/pdf/1706.01863.pdf

İlginizi Çekebilecek Diğer Postlar

12 Ocak 2024 |

Yapay zeka, görevleri yerine getirmek için insanların sahip olduğu yeteneklerin makineler (bilgisayarlar) tarafından taklit edilmesini hedefleyen teknolojidir ve temelde iki...

13 Mayıs 2024 |

Şirketler uzun bir süredir, müşteri deneyimi yaklaşımlarında reaktif bir tutum sergileyerek, müşteri geri bildirimlerine yanıt verme ve mevcut sorunları çözme...

12 Ocak 2024 |

Doğal dil işleme çoğunlukla NLP (Natural Language Processing) olarak bilinmektedir. Doğal dil işleme süreci, insanlar ve doğal dili çözümleyen bilgisayarlar...