Doğal dil işleme ve sentiment analiz (duygu analizi) çalışmaları veri ve bilgisayar bilimleri başta olmak üzere araştırmacıların gündemindeki bir konu. Sektördeki rekabet dağılımı ise çok ilginç, bir tarafta Google, Microsoft dünyanın en büyük firmaları sektörün bilimsel çalışmalarının ve temel itici motorlarının ağır ar-ge maliyetlerini üstlenirken, diğer tarafta bu temeller üzerine çarpıcı ürünler geliştiren binlerce küçük ve orta ölçekli firma bulunuyor.
Dünyada sentiment analiz bazlı ürün geliştiren, geliştirici firmaların hemen hepsi genellikle vektör bazlı ilkel modelleri ya da Google’ın kullanıma açtığı BERT, ALBERT gibi kütüphanaleri kullanarak ürünlerini geliştirdi. SaaS ya da hizmet bazlı hangi ürün olursa olsun geliştirici genellikle ilk olarak bu tercihi yapıyor. İlkel modeller hesaplama maliyetlerini düşürse de, isabet oranlarını bir miktar azaltıp çıktı kalitesini zayıflatıyor, diğer taraftan BERT/ALBERT gömmeleri ile geliştirilen modellerde hesaplama maliyeti yüksek olsa da çıktıların isabeti artıyor. Ürünün fonksiyonuna, geliştiricinin sahip olduğu verilere ya da diğer imkanlarına göre bu tercihler yapılıyor.
Bu durum halen devam etse de artık seçim gamını genişleten yeni bir uygulama ile karşı karşıyayız: ChatGPT. Geliştirici firma Google gibi doğal dil işleme motorunun farklı ölçeklerde kullanımını henüz kullanıcılara açmadı ancak ChatGPT’nin sentiment analizde kullanımı için bu gerekli görünmüyor. Nedeni ise ürünün Google’dan farklı olarak daha fonksiyonel ve responsive olması ve üçüncü parti kullanımında bile istenen bağlama yönlendirilebilmesi.
Bununla kast ettiğimiz sentiment analizi ChatGPT’ye doğrudan kullanıcı arayüzü üzerinden yaptırmak :
Kompleksiteyi arttırmadan üç tane verilen basit cümlenin ChatGPT tarafından istenen, isabetli sentiment değerlerini döndürdüğünü görebilirsiniz. Burada daha önemlisi ürünün aynı zamanda kümeleme/clustring algoritmasına da ihtiyaç duymamasıdır. Normal şartlarda kendi imkanlarımızla bir sentiment analiz modülü tasarlıyor olsaydık, içeriğin konteksini de ayıracak bir model geliştirmemiz gerekecekti. Çünkü aynı cümleler farklı bağlamlarda karşıt sonuçlar yüklenebilirler ancak ChatGPT doğrudan bunu da ayırarak sonuç üretiyor.
Peki kompleksiteyi arttırsak :
Bu sorgulamada sadece sonucu döndürmesi gerektiğini belirtmedim. Böylece yargı üzerine daha fazla bilgi de edinebiliriz, sizinde bildiğiniz gibi ekstra bir müdahalede bulunmazsanız ChatGPT hayli geveze ve teferruatlı açıklamalar yapmayı pek seviyor. Karmaşıklığı arttırsak dahi gördüğünüz gibi sonuç muazzam. Hatta değerleri basit üç kategoride binary bir sisteme yakın gibi seçmeme rağmen program ara katmanları oldukça güçlü yorumluyor.
Olası Geliştirme Senaryoları
İlk aklımıza gelen fikir şu: Mevcut ürünlere basit bir köprü yazarak sentiment sorgularını doğrudan ChatGPT’ye yaptırmak. Ürün mutlaka otomasyon kullanımlarını kısıtlayacaktır ama hangi ölçüde? Web üzerinden doğrudan kullanılabilen bir ürünün bu kısıtlamaları istenen seviyede yapması pek kolay görünmüyor. Geliştirici burada ilk olarak basit bir Java Script uygulaması ile cevap verme sürelerini (response time) ve sıklığını test edebilir. Böylece ürünün otomasyona tepkilerini tespit ederek ne yoğunlukta kullanım yapılabileceğini bulabilir.
Peki bloklanma sorun olacak mı? Bunu tam bilmesek de sürekli dns değiştirmek ve vekil kullanıcılar üzerinden sorguların dağıtarak yapılması mevcut altyapıyla pek engellenebilir gibi görünmüyor. Bu şekilde bir mimari kullanarak sentiment analizlerin tümü ChatGPT üzerinden yapılabilir. Bu mimari elbette sistem stabilitesi açısından kuşkular barındırıyor.
Diğer hibrit bir yol ise verilerin etiketlenmesine ilişkin süreleri radikal bir biçimde azaltabilir Kendi sentiment altyapısı için dikey olarak özelleştirilmiş ya da daha farklı bir model üretmek isteyen geliştiriciler sıklıkla verileri kendileri etiketleyerek oluşturmaya çalışıyor. Peki bu verileri doğrudan ChatGPT’ye etiketletsek?
Bu işleme bir köprü geliştirilse isabetli bir şekilde sentiment için etiketlenen veri miktarını çok hızlı arttırmak mümkün olabilir. Ek olarak SaaS ya da benzeri online çalışan bir ürünün stabilitesi de ChatGPT sorgularından izole olacaktır. Geliştirici halen kendi etiketlenmiş veri kütüphanesine sahiptir ve bu verileri BERT/ALBERT ya da istediği farklı vektör modelleriyle eğitebilir. İsabetin başarısının etiketli veri sayısıyla büyük ölçüde (tümüyle değil) bağlantılı olduğu düşünülürse verilerin çoğaltılması için ChatGPT kullanmak faydalı olacaktır. Ek olarak ChatGPT çıktıları bir JSON dosyası ya da istenen formatta Python kodu olarakta döndürerek doğrudan istenen makine öğrenimi altyapısına entegre edilmesi sağlanabilir.