Doğal Dil İşleme Temelleri
Doğal dil işleme (Natural Language Processing, kısaca NLP) Yapay Zeka ile Dil Bilimini bir araya getiren bir Bilgisayar Bilimleri dalıdır. Yazılım ile yazı veya konuşma gibi bir dil öğesinin analiz edilerek bilgiye dönüştürülmesini amaçlar. NLP’nin birçok kullanım alanı bulunmaktadır.
Örneğin Soru Cevaplama (Question Answering, kısaca QA), kendisine sorulan karmaşık bir soruyu anlayıp cevap veren bir yazılım olan IBM’in Watson Projesi bunun en bilinen örneklerinden birisidir. Bilgi Çıkarımı (Information Extraction, kısaca IE), bir metni analiz ederek içindeki bilgiyi çıkartma, örneği olarak bir e-posta içerisindeki düz metinden toplantının nerede ve ne zaman olacağını tespit etmek verilebilir.
Bilgi Çıkarımı ile beraber kullanılan Duygu Analizi‘nde (Sentiment Analysis, kısaca SA) ise çıkartılan verilerin neyle ilgili olduğunun dışında, olumlu mu olumsuz mu olduğunun analizidir. Örnek vermek gerekirse, ürün yorumlarının analiz edilerek yorumlarda bir kameradan bahsedildiği, bu kameranın çözünürlük özelliğinin iyi (olumlu) ancak fiyatının pahalı olduğu (olumsuz) NLP yardımıyla analiz edilerek elde edilebilir.
Yazılım yoluyla bir dilden başka bir dile çeviri yapmak (Machine Translation, MT) bir başka NLP örneğidir, Google Translate buna örnek verilebilir. MT tamamen otomatik olabileceği gibi, kullanıcıya öneriler yaparak çeviri yapma konusunda yardımcı olmak amacıyla da kullanılabilir.
Günümüzde NLP geldiği noktada zararlı e-postaların belirlenmesi, cümle içerisindeki özne, yüklem, sıfat gibi öğelerin tespit edilmesi (Part-of-speech Tagging), metin içerisindeki kelimelerin kişi, mekan, marka, model vs olarak ayrıştırılması (Named-Entity Recognition, kısaca NER) gibi konulardaki sorunlar neredeyse tamamen çözülmüş durumdadır.
Sözcük Anlamı Açıklaştırma (“Ofisteki fare için pil almam gerekiyor” cümlesindeki “fare” kelimesinin hayvan olan fare mi yoksa bilgisayar ile kullanılan fare mi olduğunun anlaşılması, Word Sense Disambiguation, kısaca WSD), Duygu Analizi, Bilgi Çıkarımı konularında ise oldukça yol katedilmiş durumdadır. Fakat kompleks soruları algılayıp cevaplama ya da değişik ekonomi haberlerini analiz edip ekonominin iyi ya da kötü gittiği sonucuna varabilme gibi konularda halen aşılması gereken sorunlar bulunmaktadır.
İnsan dillerindeki belirsizliklerin yaygın oluşu NLP için en büyük zorluktur. Deyimler, kısaltmalar, yeni türeyen kelimeler, twitter mesajları gibi dil standartlarına uymayan internet jargonu, kelime gibi algılanabilecek film, kitap isimleri bunlara örnektir. NLP bunları aşabilmek için dil verilerinden oluşturulmuş olasılık modellemelerinden faydalanır. Bu teorilerden bazıları Viterbi, Naive Bayes, N-gram dil modelleme, Statistical Parsing, Inverted Index gibidir.
NLP konusunda internette bir çok kaynak ve kitap bulabileceğiniz gibi, Stanford Üniversitesi‘nin başlattığı çevirimiçi kurs ile NLP konusunda kendinizi geliştirebilirsiniz.
Eclipse Pig Entegrasyonu Apache Cassandra JDBC Bağlantısı
Gerçekten çok güzel bir konu NLP.Çok teşekkürler makale için.Eline sağlık.
Elinize sağlık. Çok güzel, açıklayıcı, net ve öz bir makale olmuş; tebrikler ve teşekkürler!
Burada anlatılanlar genel literatür ve giriş olarak gerçekten faydalı. Fakat ülkemiz ve sevgili Türkçemiz kapsamında düşünürsek durumumuzu da yansıtıyor. Türkçeye özgü bu tür çalışmaların zorluğunu, sadece ingilizce-türkçe türkçe-ingilizce kelime karşılıklarının olduğu dosyalar ekleyerek Türkçe dil desteği olduğu söylenen veri kalitesi ve text mining ürünleri ile ilgilenmiş kişiler bilirler. Verdiğiniz algoritmalardan istatistiki olanlar dilden bağımsız olmaya en yakın olanlar olduğundan en çok doğrudan kullanılabilenler. Fakat dilin yapısını analize dayanan yöntemlerde Hint-Avrupa dil ailesi için geliştirilmiş yöntemler için aynını söyleyemeyeceğiz. Bunun için google daki bir sayfayı Türkçeye çevir hizmetini kullanmak yeterli.
http://www.microsofttranslator.com/bv.aspx?from=en&to=tr&a=http%3A%2F%2Fwww.nytimes.com%2F
Türkçe için bir güncelleme yaparsanız çok faydalı olur. Teşekkürler.