Doğal dil işleme (DDİ), bilgisayarların insan dilindeki metin veya konuşmayı sınıflandırması, anlamlandırması, dönüştürmesi ya da yeni metin üretmesi için kullanılır. En yaygın uygulamalar duygu analizi, spam ve konu sınıflandırma, varlık tanıma, arama, metin özetleme, çeviri ve sohbet sistemleridir. Uygun örneği seçmek için önce girdiyi belirleyin; ardından sistemin üreteceği çıktıyı ve bu çıktının hangi kararı destekleyeceğini tanımlayın.
Bir DDİ uygulaması genellikle şu akışla çalışır: Metin veya konuşma sisteme girer, metin temizlenir ve parçalara ayrılır, model ya da kurallar girdiyi işler, son olarak sınıf, etiket, özet, yanıt veya dönüştürülmüş metin üretilir. Örneğin müşteri mesajı “Kargo çok geç geldi, ancak ürün sağlam” olduğunda sistem bu metni hem olumsuz hem olumlu ifadeler içeriyor şeklinde değerlendirebilir. Tek bir olumlu ya da olumsuz etiketi zorlamak yerine karışık duygu sonucunu desteklemek daha doğru olabilir.
Aşağıdaki uygulamalar, girdiden çıktıya kadar en sık karşılaşılan kullanım biçimlerini gösterir:
Tablodaki uygulamalar birbirinin aynısı değildir. Duygu analizi bir metnin tonunu tahmin eder; metnin gerçek anlamını veya kullanıcının niyetini kesin olarak kanıtlamaz. Varlık tanıma kişi, kurum, tarih veya konum gibi parçaları bulur; bu parçaların doğru olduğunu dış bir kaynaktan doğrulamaz. Özetleme ise ayrıntıları azaltır; hukuki, teknik veya kritik kararlar için insan kontrolünün yerine geçmemelidir.
Aşağıdaki örnek, makine öğrenmesi modeli kullanmadan yalnızca belirlenmiş sözcüklere göre çalışan varsayımsal bir uygulamadır. Amacı, DDİ uygulamasında girdinin nasıl işlendiğini ve sonucun nasıl üretildiğini göstermektir; gerçek bir duygu modeli olarak değerlendirilmemelidir.
İlk çıktı “olumlu”, ikinci çıktı ise “belirsiz veya karışık” olur. İkinci sonuç, metinde hem olumlu hem olumsuz sözcük bulunduğunu gösterir; ürünün genel olarak kesin biçimde iyi ya da kötü olduğunu kanıtlamaz. Gerçek bir uygulamada yazım hataları, eş anlamlılar, alay, olumsuzluk ifadeleri ve bağlam dikkate alınmadığı için bu yaklaşımın başarımı sınırlı kalır.
Önce görev türünü doğru belirleyin. “Bu yorum olumlu mu?” sorusu duygu analizidir. “Bu e-posta fatura mı, destek talebi mi?” sorusu metin sınıflandırmadır. “Metinde hangi kişi ve kurumlar geçiyor?” sorusu varlık tanımadır. “Bu uzun metnin kısa hâli nedir?” sorusu özetlemedir. “Kullanıcı ne yapmak istiyor?” sorusu ise niyet sınıflandırma veya sohbet sistemi tasarımına yakındır.
Sonucun hata maliyetini de hesaba katın. Bir haber sitesinde konu etiketi yanlış seçildiğinde sonuç yalnızca arama ve sıralamayı etkileyebilir. Buna karşılık güvenlik, finans veya müşteri hesabı işlemlerinde yanlış sınıflandırma doğrudan insan incelemesi gerektirebilir. Bu nedenle model çıktısını kesin gerçek gibi kullanmak yerine güven puanı, eşik değeri ve gerektiğinde insan onayı eklenir.
Başlangıç için küçük ve ölçülebilir bir görev seçmek daha uygundur: örneğin binlerce farklı isteği karşılayan bir sohbet robotu yerine, destek mesajlarını “fatura”, “teslimat” ve “teknik sorun” olarak ayıran bir sınıflandırma. Her sınıf için örnek metinler hazırlanır, eğitim dışında bırakılan yeni metinlerle sonuçlar kontrol edilir ve yanlış sınıflandırılan örnekler incelenir. Başarı yalnızca toplam doğru sayısıyla değil, hangi sınıflarda hata yapıldığıyla birlikte değerlendirilmelidir.
Önemli sınır: Doğal dil işleme, dildeki anlamı insan gibi kesin ve eksiksiz biçimde kavradığını garanti etmez. Eğitim verisindeki önyargılar, eksik örnekler, farklı yazım biçimleri ve bağlam eksikliği hatalı sonuçlara yol açabilir. Hassas metinlerle çalışırken gereksiz kişisel verileri toplamamak, erişimi sınırlamak ve çıktıyı gerçek bir işlemden önce uygun insan kontrolünden geçirmek gerekir.
Doğal dil işleme hangi işlerde kullanılır?
Bir DDİ uygulaması genellikle şu akışla çalışır: Metin veya konuşma sisteme girer, metin temizlenir ve parçalara ayrılır, model ya da kurallar girdiyi işler, son olarak sınıf, etiket, özet, yanıt veya dönüştürülmüş metin üretilir. Örneğin müşteri mesajı “Kargo çok geç geldi, ancak ürün sağlam” olduğunda sistem bu metni hem olumsuz hem olumlu ifadeler içeriyor şeklinde değerlendirebilir. Tek bir olumlu ya da olumsuz etiketi zorlamak yerine karışık duygu sonucunu desteklemek daha doğru olabilir.
Aşağıdaki uygulamalar, girdiden çıktıya kadar en sık karşılaşılan kullanım biçimlerini gösterir:
| Uygulama | Örnek girdi | Beklenen çıktı | Kullanım amacı |
|---|---|---|---|
| Duygu analizi | “Ürün beklediğimden iyi.” | Olumlu | Müşteri geri bildirimlerini izlemek |
| Metin sınıflandırma | “Hesabımdan şüpheli işlem yapıldı.” | Güvenlik veya destek | Mesajı doğru kuyruğa yönlendirmek |
| Varlık tanıma | “Ayşe, Ankara’da çalışıyor.” | Ayşe: kişi; Ankara: konum | Metinden yapılandırılmış bilgi çıkarmak |
| Özetleme | Uzun bir rapor | Kısa ana fikirler | Okuma süresini azaltmak |
| Soru-cevap veya sohbet | “Siparişim nerede?” | Sipariş durumunu açıklayan yanıt | Kullanıcı desteği sağlamak |
| Makine çevirisi | Türkçe metin | Başka dilde karşılığı | Diller arasında içerik aktarmak |
Basit bir duygu analizi örneği
Aşağıdaki örnek, makine öğrenmesi modeli kullanmadan yalnızca belirlenmiş sözcüklere göre çalışan varsayımsal bir uygulamadır. Amacı, DDİ uygulamasında girdinin nasıl işlendiğini ve sonucun nasıl üretildiğini göstermektir; gerçek bir duygu modeli olarak değerlendirilmemelidir.
Python:
def duygu_analizi(metin):
olumlu = {"iyi", "harika", "memnun", "başarılı", "hızlı"}
olumsuz = {"kötü", "geç", "sorun", "memnuniyetsiz", "başarısız"}
kelimeler = set(metin.lower().replace(".", "").split())
olumlu_sayi = len(kelimeler & olumlu)
olumsuz_sayi = len(kelimeler & olumsuz)
if olumlu_sayi > olumsuz_sayi:
return "olumlu"
if olumsuz_sayi > olumlu_sayi:
return "olumsuz"
return "belirsiz veya karışık"
print(duygu_analizi("Ürün hızlı ve iyi geldi."))
print(duygu_analizi("Kargo geç geldi, ürün iyi."))
İlk çıktı “olumlu”, ikinci çıktı ise “belirsiz veya karışık” olur. İkinci sonuç, metinde hem olumlu hem olumsuz sözcük bulunduğunu gösterir; ürünün genel olarak kesin biçimde iyi ya da kötü olduğunu kanıtlamaz. Gerçek bir uygulamada yazım hataları, eş anlamlılar, alay, olumsuzluk ifadeleri ve bağlam dikkate alınmadığı için bu yaklaşımın başarımı sınırlı kalır.
Uygulamayı seçerken hangi ayrımlar önemlidir?
Önce görev türünü doğru belirleyin. “Bu yorum olumlu mu?” sorusu duygu analizidir. “Bu e-posta fatura mı, destek talebi mi?” sorusu metin sınıflandırmadır. “Metinde hangi kişi ve kurumlar geçiyor?” sorusu varlık tanımadır. “Bu uzun metnin kısa hâli nedir?” sorusu özetlemedir. “Kullanıcı ne yapmak istiyor?” sorusu ise niyet sınıflandırma veya sohbet sistemi tasarımına yakındır.
Sonucun hata maliyetini de hesaba katın. Bir haber sitesinde konu etiketi yanlış seçildiğinde sonuç yalnızca arama ve sıralamayı etkileyebilir. Buna karşılık güvenlik, finans veya müşteri hesabı işlemlerinde yanlış sınıflandırma doğrudan insan incelemesi gerektirebilir. Bu nedenle model çıktısını kesin gerçek gibi kullanmak yerine güven puanı, eşik değeri ve gerektiğinde insan onayı eklenir.
Başlangıç için küçük ve ölçülebilir bir görev seçmek daha uygundur: örneğin binlerce farklı isteği karşılayan bir sohbet robotu yerine, destek mesajlarını “fatura”, “teslimat” ve “teknik sorun” olarak ayıran bir sınıflandırma. Her sınıf için örnek metinler hazırlanır, eğitim dışında bırakılan yeni metinlerle sonuçlar kontrol edilir ve yanlış sınıflandırılan örnekler incelenir. Başarı yalnızca toplam doğru sayısıyla değil, hangi sınıflarda hata yapıldığıyla birlikte değerlendirilmelidir.
Önemli sınır: Doğal dil işleme, dildeki anlamı insan gibi kesin ve eksiksiz biçimde kavradığını garanti etmez. Eğitim verisindeki önyargılar, eksik örnekler, farklı yazım biçimleri ve bağlam eksikliği hatalı sonuçlara yol açabilir. Hassas metinlerle çalışırken gereksiz kişisel verileri toplamamak, erişimi sınırlamak ve çıktıyı gerçek bir işlemden önce uygun insan kontrolünden geçirmek gerekir.