Çoğunlukla NLP (Natural Language Processing) olarak kullanılan Doğal Dil İşleme süreci, insanlar ve doğal dili çözümleyen bilgisayarlar arasındaki ilişkiyi anlamlandıran bir yapay zekâ fonksiyonudur. Doğal Dil İşleme çalışmalarında kullanılan veri setleri konuşma dillerine göre farklılık gösterir. Bu anlamda doğal dil işleme teknolojisi modern dillerin incelenmesi açısından, diğer yapay zeka alanlarından farklı bir yere sahiptir. Bu popülarite ise Google Translate gibi sistemlerden dolayı çok daha fazla ilgi çekici bir öğrenme konusu olmaktadır.

doğal dil işleme
doğal dil işleme nedir

Doğal Dil İşleme Nedir | NLP için Mutlu Başlangıç : Doğal dil işleme yapay zekada kullanılan bir dilbilim disiplinidir. Konuşma dillerinin işlenmesi ve makinelerce de kullanılması için yapılan çalışmaları kapsamaktadır. Natural Language Process olarak bilinir. Dilimize de çevirisi tam anlamını ifade eder. Kısaltması NLP olarak kullanılır.

İnsan, varlığı bilindiği dönemlerden itibaren kendisini ifade etmeyi öncelik olarak sosyal ilişkilerde hedeflemiştir. Kişi kendisini ne kadar iyi ifade ederse o kadar çok gelişim gösterdiği söylenir. Bu sebeple toplumlar mağara duvarlarından başlayarak, matbaaya ve çeşitli yazı araçlarına ve konuşma araçlarına ulaşmışlardır.

Asıl amaç insan dillerinin anlamlandırmak için yapılandırılmış bir şekilde okuyabilme, deşifre etme ve dilbilim alanında üzerine çalışılan yapay zeka algoritmalarına girdi sağlamaktır. Genel olarak NLP tekniği anlamlandırma sürecinde makine öğreniminden yararlanır. Doğal dil işleme tekniklerini yapay zeka boyutuna taşımadan, NLP temellerinden bir uygulamayı projenize katmayı düşünebilirsiniz. Bu durumda bag of words yazımı okumanızı tavsiye ederim.

NLP (Doğal Dil İşleme) nerelerde kullanılıyor?

Aslında NLP ile geliştirilmiş birçok teknolojik uygulama hayatımızın tam da içinde, bizimle birlikte gelişmeye devam etmekte. Bunlar;

  • Google, Yandex Çeviri gibi dil çeviri uygulamaları
  • Metinlerin gramer doğruluğunu kontrol etmek için Microsoft Word ve Grammarly gibi uygulamalar
  • Paraphrasing, Word spinner gibi cümlelerdeki anlamsal bütünlüğü bozmadan değişiklik yapan kelime işlemcileri
  • Çağrı merkezlerinde kullanılan Sesli Yanıt (IVR) uygulamaları
  • OK Google, Siri, Cortana ve Alexa gibi kişisel asistan uygulamaları olarak örneklendirilebilir.

Doğal Dil İşleme süreci bilgisayar ve yazılım biliminde zor bir alan olarak görülüyor.  Doğal dillerin kullanımında insan zekâsı ile birleştiğinde birçok değişken aynı anda işlemektedir. Doğal dillerin işlenmesinde kuralları kodlarken; alaycı cümleleri ya da kinayeli esprilerin kuralını yapay zekâya aktarabilmek ve makine öğrenimini sağlamak zor bir süreçken çoğul kelimeleri ifade eden “s” harfi kullanımını makineye öğretmek ise basit bir kuraldır.

A to Z natural language processing
nlp natural language processing

NLP’i zorlaştıran en önemli faktör insanların bir mesajı iletirken sadece kelimelerin sözlük anlamlarını değil, kelimenin kullanıldığı bağlama ve söylenme amacına yönelik bağlantılar kurarak dili kullanmasıdır. Belirsizlik, değişkenlik ve kesin olmayan anlamsal farklılıklar NLP’yi makinelerin uygulamasını zorlaştırmaktadır.

NLP Nasıl Çalışıyor?

NLP’de yapılandırılmamış dil verilerinin makine tarafından bir forma dönüştürülecek şekilde doğal dil kurallarına göre tanımlamak ve çözümlemek amacıyla algoritmaların uygulanması adımlarını içerir.

Bir yazılıma metin girdisi verildiğinde, bilgisayar her cümle ile ilişkili anlam çıkarmak ve bunlardan gerekli verileri toplamak için algoritmalar kullanır.

Ve bazen bilgisayar zekası bu anlamlandırmayı yaparken başarısız olabilir.

Makine öğreniminde karmaşık bir anlam çıkartmak için genellikle bir pipeline – ardışık düzen oluşturmak gerekir. Bunun için probleminizi çok küçük parçalara ayırmak ve daha sonra her küçük parçayı ayrı ayrı anlamlandırmak gereklidir ki bu süreçte de makine öğrenimini gerekmektedir. Daha sonra, birbirini besleyen birkaç makine öğrenme modelini bir araya getirerek daha karmaşık şeyler yapabilirsiniz.

doğal dil işleme 101
doğal dil işleme 101

Bu NLP için kullanılan stratejinin özetidir.  Bu süreçte dili anlama sürecini küçük parçalara ayrılmaktadır ve adım adım bir düzen oluşturulmaktadır.

Doğal Dil İşleme Alanında Kullanılan Teknikler

1. Syntax (Sözdizimi)

Syntax, kelimelerin dil bilimi açısından anlamlı olacakları şekilde bir cümleyle düzenlenmesi anlamına gelir. NLP’de syntax analizi, doğal dilin dilbilgisi kurallara uygunluğunu değerlendirmek için kullanılır.

Bilgisayar algoritmaları, bir grup kelimeye dilbilgisi kurallarını uygulamak ve onlardan anlam çıkarmak için kullanılır.

doğal dil işleme teknikleri
doğal dil işleme teknikleri

Kullanılan bazı Syntax tekniklerine göz atalım:

  • Lemmatizasyon (Lemmatization): Bir kelimenin çeşitli şekillerde değiştirilmiş formlarını kolay analiz için tek bir forma indirgemeyi kapsar.
  • Morfolojik bölümleme (Morphological segmentation): Kelimelerin morfem adı verilen ayrı birimlere bölünmesini içerir.
  • Kelime bölümleme (Word segmentation): Büyük ve uzun bir metin parçasının farklı kelime ya da cümle birimlerine bölünmesini ifade eder.
  • Konuşma bölümü etiketleme (Part-of-speech tagging): Her sözcük için konuşmanın bir bölümünü tanımlamayı içerir.
  • Ayrıştırma (Parsing): Verilen cümle için dilbilgisi açısından çözümleme yapılmasına denir.
  • Cümle kırma (Sentence Breaking): Cümle sınırlarının büyük bir metnin içerisinde yerleştirilmesi anlamına gelir.
  • Kökleşme (Stemming): Biçimleri değiştirilmiş, kıvrılmış kelimelerin kök biçimlerine kesilmesini ifade eder.

2. Semantik

Semantik kelimesinin sözlük karşılığı anlam bilimdir.  Ve bir metnin aktardığı anlamı ifade eder. Anlam bilimsel analiz, Doğal Dil İşlemenin henüz tam olarak çözülmemiş alanlarından biridir ve bilgisayar öğrenmesi için zor bir adımdır.

Semantik alanında kullanılan bazı teknikler şu şekilde sıralanabilir:

  • Adlandırılmış varlık tanıma (NER): bir yazıyı önceden ayarlanmış kategorilere sınıflandırılabilmeyi sağlayan ve kategorilere ayrılabilen yöntemdir. Bu tür kategorilerin tanımları, bireylerin adlarını ve yer adlarını içerir.
  • Optik karakter tanıma (OCR): Basılı metni temsil eden bir görüntüye sistem üzerinden karşılık gelen metni belirleme tekniğidir.
  • Doğal dili anlamak: Bilgisayar programlarının daha kolay işleyebilmesi ve anlamlandırabilmesi için belirli metinleri,  birinci dereceden mantıklı yapılar gibi daha formal gösterimlere dönüştürmektir.
  • Metin içeriğini tanıma: İki metin parçası verildiğinde, birinin doğruluğunu diğerini içerip içermediği üzerinden ya da diğerinin karşıtını içerip içermediği üzerinden analiz etme sürecidir.
  • Kelimelerde anlam ayrımı yaratma: Birçok kelimenin birden fazla anlamı olduğu için kullanıldığı bağlamda en anlamlı anlamın seçilmesidir.

3. Söylem(Discourse)

Söylem Analizi:

Söylem analizi bir değerlendirme listesi ve onunla ilgili birkaç görevi içerir. Görevlerden biri, bağlı bir metnin söylem yapısını tanımlamaktır.

Eş Referans Çözümü:

Verilen cümlede ya da daha uzun kalıp metinlerde hangi kelimelerin (“ifadeler”) aynı objelere (“varlıklar”) referans olduğunu göstermektir.

4. Konuşma

Konuşma Tanıma:

Bir kişinin ya da bir grup kişinin konuşma kaydı üzerinden metinsel gösterimlerinin çıkarılmasıdır. Yazıdan konuşmaya çevirme sürecinin tersidir ve makine öğrenmesi sürecinde oldukça zor çözülen problemlerden biri olarak görülmektedir.

Konuşmaları Bölümleme

Bir kişinin ya da bir grup kişinin konuşma kaydı üzerinden metin grubunun kelimelere ayrılmasıdır ve konuşma tanıma sürecinin bir alt işlemidir.

Metinden Konuşma Oluşturma

Metin üzerinden birimlerin konuşma sesi haline dönüştürülmesidir. Şuanda mevcut teknoloji görme engellilere destek için kullanılmaktadır.

Sonuç olarak, bu alanda daha çok araştırma gerçekleştikçe adım adım makine öğrenmesini geliştiren ve yaşadığımız hayatı kökünden değiştirebilecek uygulamalar ortaya çıkmaktadır. Makineler insan dilini anlamada ve çözümlemede daha akıllı hale gelmekte, bize yardım etmekte, sanal asistanlarımız olmakta ve hatta birçok konuda bizden daha başarılı sonuçlar elde edebilmektedir.

Doğal dil işleme süreci ile ilgili Github örneklerinde, Python ile yapılmış örnekleri Github hesabım üzerinden paylaşacağım.

Doğal dil işlemenin gelişmiş uygulamalarına ulaşmak istiyorsanız, aşağıdaki linkleri ziyaret etmenizi öneririm.

https://www.sas.com/en_us/insights/analytics/what-is-natural-language-processing-nlp.html
https://www.ibm.com/watson/natural-language-processing
https://developer.amazon.com/en-US/alexa/alexa-skills-kit/nlu

Faydalı içerikleri lütfen takip etmeye devam edin

3 YORUMLAR

CEVAP VER

Please enter your comment!
Please enter your name here