Bir bilgisayar, insanı kendisinin bir insan olduğuna inandıracak şekilde aldatabilirse, işte o zaman gerçekten zeki olarak adlandırılabilir.
-Alan Turing
OpenAI, Kasım 2022'de GPT-3 dil modelini temel alarak geliştirdiği sohbet robotu ChatGPT 3'ü tanıttığından bu yana, yapay zekâ teknolojilerindeki ve özellikle büyük dil modellerindeki gelişmeler, sadece bilim ve mühendislik çevrelerinin değil, farklı mesleklerden ve ilgi alanlarından birçok kişinin ilgisini çekmeyi başardı. OpenAI'ın ChatGPT 3’ü ücretsiz olarak kullanıma sunma kararı, çok sayıda kullanıcının geri bildirimlerini toplayarak dil modelini geliştirmek ve yeteneklerini daha iyi anlamak amacını taşıyordu. Şirket, bu amaç doğrultusunda, modelin farklı sürümlerini aşamalı olarak kullanıcıların geri bildirimlerine açarak modelin yeteneklerini, kullanışlılığını ve güvenilirliğini sürekli olarak test ediyor.
Örneğin, ChatGPT 3 tarafından verilen yanıtların değerlendirilip ince ayara (fine tuning) tabi tutulması sonucunda ChatGPT 3.5 sürümü geliştirildi ve bu sürüm 2023 yılının mart ayında ücretsiz kullanıma sunuldu.[1] Bu güncellemenin hemen ardından, GPT 3 dil modelinden yaklaşık 580 kat daha fazla parametreye sahip olan, GPT 4 dil modeli temelli oluşturulan ChatGPT 4 sohbet robotu deneme kullanımına açıldı.[2] Şu an ChatGPT'nin ücretsiz kullanmayı tercih eden kullanıcılar sadece ChatGPT 3.5 sürümüne erişim sağlayabiliyorlar. Öte yandan aylık 20 $ karşılığında ChatGPT Plus’a abone olan kullanıcılar daha zengin ve gelişmiş bir yapay zekâ deneyimi yaşama şansına sahip. ChatGPT Plus, kullanıcılarına birçok farklı formattaki dosyaları sohbet robotuna ekleme ve bu dosyalardaki verileri Advanced Data Analysis (öncesinde Code Interpreter) modu ile analiz ettirme, ayrıca yüzlerce eklenti (plugin) aracılığıyla üçüncü taraf uygulamaları kullanabilme gibi önemli avantajlar sunuyor. (Şekil 1 ve 2) Sağladığı tüm bu avantajların yanı sıra ChatGPT 4’ün daha karmaşık sorulara daha doğru, tutarlı ve özgün cevap verebilmesi onu özellikle kod yazımında ve veri analizinde öne çıkaran ayırt edici yeteneklerinden.
Şekil 1: ChatGPT4 Arayüzü
Şekil 2: ChatGPT Plus kullanıcılarına sunulan Plugin Store
Gelişmiş dil modellerinin yaygınlaşmasıyla birlikte, bilginin erişilebilirliğinin artması ve makale formatına dönüştürülmesinin kolaylaşması, özellikle akademik dünyada önemli bir endişe kaynağı olarak öne çıkıyor. Eğitimciler ChatGPT, Google Bard ve Microsoft Bing gibi sohbet robotlarının öğrencilerin özgün metin üretme ve eleştirel düşünme motivasyon ve becerilerini azaltabileceği tartışırken, OpenAI gibi önde gelen yapay zeka geliştiricileri, piyasaya sürdükleri yeniliklerle bu tartışmaları daha da körüklüyorlar. Örneğin, şirketin bu yılın temmuz ayında sadece plus kullanıcılarına beta versiyonunu sundukları Code Interpreter Mode, ChatGPT’yi sorulan sorulara cevap üreten bir sohbet robotu olmaktan çıkarıp, verilen komut uyarınca kod yazan ve bu kodu kendi ara yüzü içerisinde işleterek sonucu paylaşan bir yapay zeka aracısına dönüştürüyor. Bunu yaparken de Python programlama dilini ve yine onun 300’den fazla kütüphanesini kullanıyor.
OpenAI yaklaşık iki hafta önce Code Interpreter modunun daha fazla Python kütüphane ve paketi ile geliştirilmiş son versiyonu olan Advanced Data Analysis Mode’u ChatGPT Plus kullanıcılarının hizmetine sundu. Bu modun en önemli özelliği kullanıcının verdiği komut uyarınca Python programlama dilinde bir kod yazması ve bunu bir sandbox yani güvenlik duvarı ortamında çalıştırarak, kendi içinde test edip, hataları düzeltmesidir. Bir diğer deyişle, sadece verilen komutlar uyarınca kod yazımından değil aynı zamanda yazdığı kodların sorunsuz çalışmasından da sorumludur. Bu özellik, herhangi bir kodlama deneyimine sahip olmayan biri için bile ChatGPT’yi yazılımcı asistanı olarak kullanabileceği bir araç haline geliyor. Peki Advanced Data Analaysis Mode büyük veri ile uğraşan araştırmacılara hangi konularda ne vadediyor?
Literatür Analizi, Araştırma Soruları Hazırlama
ChatGPT Plus ayrıntılı bir literatür taraması yapmak ve araştırma sorularını oluşturmasından başlayarak verilerin farklı yöntemlerle analiz ettirmesi, görselleştirmesi ve rapor çıktısının alınması gibi bir çok aşamada araştırmacılara destek sunuyor. ChatGPT’nin ücretsiz sürümünden bir konu hakkında literatür taraması yapmasını istediğinizde çoğu zaman yanıltıcı halüsinatif cevaplar vermektedir. Yani bir yazarın olmayan makalesini size varmış gibi sunmaktadır. Bu sorun ücretli sürüme geçildiğince literatür taraması üzerine özelleştirilmiş eklentilere erişim ile aşılabiliyor. Özellikle Scholar AI, Litmaps ve Scholarly adlı eklentiler, araştırma konunuzla ilgili çalışmaları bulmak ve eğer açık kaynak şeklindeyse indirebilmenize olanak tanıyor. Fakat bu eklentilerin çoğu aynı zamanda web tabanlı olrak da hizmet verdiklerinden sadece literatür taraması yapmak amacı ile ChatGPT Plus üyeliğine geçmek mantıklı gözükmüyor.[3]
Araştırmacılarının üzerinde çalıştıkları konu üzerinde beyin fırtınası yapmak için şu an ChatGPT’nin en hızlı versiyonu olan ücretsiz sürümünü kullanılabilirler. Dil modeli araştırmacılara çalıştıkları konu özelinde öneriler sunabilir, eleştirel düşünmeyi teşvik edebilir ve araştırmacılara yeni bakış açıları ile ilham verebilir. Bunun yanında örneğin belirli bir araştırma için hangi analizlerin uygun olacağını sorabilir veya araştırmanızın başlığı için ondan fikir isteyebilirsiniz. Burda önemli olan dil modeli ile diyaloğa girildiğinde doğru soruların sorulması ve sohbet robotunun verdiği cevapların eleştirel bir gözle değerlendirmesidir. Araştırmacının çalıştığı konuya hakimiyeti ve dil modeli ile diyaloğa girme şekli ne kadar doğru ise alacağı sonuçlar o kadar faydalı olacaktır. Örneğin, çok da hakim olunmayan bir konuda sohbet robotunun ürettiği metinlere güvenmek araştırmayı yanlış yönlendirebileceği gibi ChatGPT’nin ürettiği metinleri referans göstermeden kullanmak intihale dolayısıyla akdemik etik sorunlara yol açacaktır. Bu noktada önemli olan ChatGPT'nin araştırmacıları yaratıcı düşünmeye teşvik edip etmediğidir. Dil modeli, yeni bakış açıları sunabilir, ancak bu bakış açılarını geliştirmek araştırmacının görevidir.
Nicel Analiz ve Görselleştirme
Araştırmacı elindeki sayısal veriyi analize başlamadan önce kullanacağı yaklaşım ve metodolojiyi belirlenmelidir. İkinci adımda Advanced Data Analaysis Mode kısmına verilerin bulunduğu dosyalar yüklenmeli ve ChatGPT’nin yüklenen veriyi keşfetmesi istenmelidir. Sohbet robotu yüklenen dosyadaki verileri gözden geçirdikten sonra veriyi hangi yöntemle analize tabi tutmak istediğinizi soracaktır. Bu aşamada, hangi istatistiksel yöntemi (örneğin regresyon, sınıflandırma, kümeleme, zaman serileri vb.) kullanacağınızı sohbet robotuna danışabilir veya özellikle tercih ettiğiniz yöntemi belirtebilirsiniz. Advanced Data Analaysis Mode analiz sonuçlarını aşağıda gösterilen grafik türlerini kullanarak görselleştirme imkanı verir. (Şekil 3)
Şekil 3: Bu görsel hangi grafik türleri ile çalışabidiğine dair sorulan sorunun cevabı olarak ChatGPT 4 tarafından üretilmiştir.
Örneğin, küresel çapta tüm havalimanları ile ilgili ayrıntılı bilgiler içeren bir verisetini sisteme yüklediğinizde, bir havalimanının yüksekliği ile büyüklüğü (büyük, orta, küçük) arasındaki ilişkiyi incelemesini isteyebilirsiniz.[4] İlk olarak, bu ilişkiyi belirlemek amacıyla korelasyon değerini hesaplayacak ve çıkan değeri yorumlayacaktır. Ardından, elde ettiği sonuçları görselleştirmesini isteyebilirsiniz. (Şekil 4) Bir sonraki adımda, her ülkenin kilometrekare başına düşen havaalanı sayısını hesaplamasını ve havaalanı yoğunluğu en yüksek on ülkeyi sizin seçeceğiniz veya uygun bulduğunuz bir grafik türüyle görselleştirmesini talep edebilirsiniz. Bu sayede, havaalanlarının ülkeler arasındaki dağılımını daha açık ve anlaşılır bir şekilde ifade etmesini sağlayabilirsiniz. (Şekil 5)
Şekil 4: Havaalanlarının deniz seviyesinden yükseklikleri ile büyüklükleri arasındaki korelasyon ilişkisini yansıtan grafik.
Şekil 5: Ülkelerin toplam yüzölçümüne orantılı olarak havaalanı dağılım yoğunluğunu temsil eden bar grafiği.
Kullandığımız veri seti her havaalanının koordinat bilgisini içerdiği için, istediğimiz veriyi sadece tek bir komutla dakikalar içinde harita üzerinde görselleştirebiliriz. Örneğin veri setinde yer alan havaalanı türlerinden biri olan “büyük havalimanaları”nı harita üzerinde göster dediğimde ilgili kodu yazıp işleterek aşağıdaki haritayı üretecektir. (Şekil 6) Böyle bir haritanın oluşturabilmesi için veri setinde yer alan mekanların koordinatlarının mutlaka eksiksiz girilmiş olması gerekmektedir. Aksi halde ChatGPT 4, en günceli 2021 yılının eylül ayına kadar olan kendi verilerine dayanarak her bir mekan için bir koordinat atayacaktır. Ancak bu durumda, verilerin güvenilirliği ve doğruluğu sorgulanmalıdır, çünkü bu tür otomatik atamalar her zaman doğru sonuçlar vermeyebilir.
Şekil 6: Büyük Havalimanlarının Coğrafi Dağılımı.
Python'ın coğrafi veri görselleştirmesi için en çok kullanılan Folium ve Geopandas kütüphaneleri aracılığıyla interaktif haritalar üreten ChatGPT 4, yine bu kütüphanelerin izin verdiği ölçüde haritaları kişiselleştirmeye olanak tanır. Örneğin haritadaki konum işaretlerini değiştirme, farklı bir harita şablonu kullanma veya haritaya legend (açıklama tablosu) ekleme gibi isteklerinizi dile getiren komutlar vererek haritaları yeniden dizayn edebilirisiniz. Akılda bulundurulması gereken bir diğer husus, ChatGPT 4’ün grafikler gibi basit görselleştirmeleri kendi arayüzünde gösterebilirken, oluşturduğu interaktif haritaları görüntüleyememesidir. Bu yüzden haritaları öncelikle HTML dosyası olarak kaydedecek indirme bağlantıları oluşturacak ve haritaları bu indirme bağlantıları üzerinden kullanıcılarla paylaşacaktır.
Şekil 7: Büyük Havalimanlarının Coğrafi Dağılımı. Kişiselleştirilmiş harita.
2) Nitel Analiz ve Görselleştirme
Advanced Data Analysis Mode’un güncel versiyonu metin analizi konusunda bünyesinde bulundurduğu ilgili kütüphane ve paketlerin yetersiz olması sebebiyle çoğunlukla işlevsiz kalmaktadır. Örneğin metin içindeki kelime sıklığını tespit etme, kelime bulutu görselleri oluşturmak, tematik analiz ve duygu analizi yapmak için metin analizi için özelleştirilmiş programlar, Python veya R gibi programlama dilleri veya programlama bilgisi gerektirmeyen Voyant Tools gibi ücretsiz web tabanlı araçlar kullanılabilir.[5]
Bu Advanced Data Analysis Mode’un metin analizi yapmadığı anlamına değil daha basit yöntemlerle yaptığı ve bunun hatalara yol açabileceği anlamına gelir. Örneğin bir metnin frekans analizini yapması için en temel adımlardan biri olan tokenizasyon (tokenization) işlemini yapabilmesi için gerekli NLTK kütüphanesinin ilgili modülleri olmadığı için bu işlemi split() metoduyla yapacaktır. Bu metod basit analizlerde kullanılabilir, fakat sadece tek bir ayırıcı (boşluk, nokta, virgül vb.) üzerinden tokenizasyon yaptığı ve dillere özgü kelime yapısını dikkate almadığı için hatalı sonuç verme olasılığı vardır. Advanced Data Analysis Mode’un bu eksikliğini gidermek için ilgili kütüphanelerdeki modüllerin tespit edilip indirilmesi ve sisteme yüklenmesi gerekmektedir. Örneğin başarılı bir tokenizasyon işlemi için NLTK kütüphanesinin sisteme tanıtılması ve işleme bu şekilde devam edilmesi gerekir. Her analiz için uygun kütüphane ve modüllerin bulunması ve yüklenmesi zahmetli ve analiz süresini uzatan bir yoldur.
Advanced Data Analysis Mode’un bu kısıtlarını göz önünde bulundurularak temel düzeyde frekans analizi, metin kodlama, tematik analiz ve duygu analizi yaptırılabilir. Bu analizlerde doğru sonuçlara ulaşmak özellikle metnin ingilizce olmasına ve komutların doğru şekilde ve sırada yazılmasına bağlıdır.Örneğin üniversite öğrencilerileri ile yapılan ve COVID-19 pandemisinin ilk aylarında yaşadıkları tecrübeleri içeren bir metnin frekans analizinde ChatGPT 4 bize şöyle sonuçlar verir.
Şekil 8: Advanced Data Analaysis Mode ile oluşturulan kelime bulutu. Bu analizde kullanılan görüşme metni yine ChatGPT 4 tarafından kurgusal olarak oluşturulmuştur.
Frekans analizi ile hangi kelimelerin metinde sıkça geçtiğinin belirlenmiş olması, metnin kodlanması ve tematik analiz için ön adım görevini görür. En çok kullanılan kelimeler üzerinden temalar belirlendikten sonra, Advanced Data Analysis Mode her bir tema için önerdiği kodları ve örnek cümleleri listeler. Eğer istenirse, bu analiz sonuçları grafik olarak da sunabilir. (Şekil 9) ChatGPT mülakat metni üzerinde duygu analizi yapmakta da belli oranda başarıya ulaşır. Analiz sırasında metni öncelikle split() metoduyla tokenize eder, yani metni kelimelerine ayırır. Bir sonraki adımda Python’ın TextBlob kütüphanesi yardımıyla her görüşmenin veya görüşmelerinin bütününün -1 ile 1 arasında değişen duygu polaritesini hesaplar. Skorun -1'e yakın olması analiz katılımcıların tecrübelerinin negatife daha yakın olduğunu gösterirken, 1'e yakın bir puan pozitife, 0’a yakın bir puan ise nötr duyguya yakın olduğuna işaret eder. (Şekil 10) Analizin son adımı olarak ChatGPT’den size analizin kapsamını, yöntemini ve amacını tanıtan ve bulguları sırasıyla analiz eden bir rapor vermesini isteyebilirsiniz.
Şekil 9: Ana temalara göre cümle sayısını gösteren bar grafiği.
Şekil 10: Duygu Analiz sonuçlarını gösteren bar grafiği. Duygu polaritesi: 0,15, Öznellik: 0,46
ChatGPT Advanced Data Analysis Mode’un Limitleri
Kişisel tecrübelerime dayanarak ChatGPT 4’ün veri analizi alanındaki sınırları ve eksiklikleri şu şekilde sıralanabilir.
● ChatGPT coğrafi veri analizi, metin analizi veya istatistik analiz için tasarlanmış bir program olmadığı için bu vaatleri tam anlamıyla karşılamaz. Analiz yetenekleri bünyesinde bulundurduğu Python eklentileri, ve plugin’lerin izin verdiği analiz ve görselleştirmeler ile sınırlıdır.
● ChatGPT Plus kullanıcıları üç saat içerisinde sadece elli adet komut yazabilme hakkına sahipler. Bu kısıtlama özellikle detaylı analizler veya uzun süreli interaktif oturumlar gerektiren projelerde sınırlayıcı olabilir.
● GPT modellerinin eğitildiği metinler çoğunlukla İngilizce olduğu için farklı dillerde yapılan analizler daha az tutarlı ve ayrıntılı sonuçlar vermektedir.
●ChatGPT’nin internete doğrudan erişimi olmadığı için analiz esnasında gereken kütüphaneleri anlık olarak indirme imkanına sahip değildir. Bu yüzden analizler belli bir noktada tıkanabilir.
●Advanced Data Analysis Mode, yüklenen veri setleri hakkında temel analizleri gerçekleştirme yeteneğine sahiptir, ancak bu yeteneklerinden en iyi şekilde faydalanabilmek için Python ile eşzamanlı olarak kullanılması gerekmektedir. Bu iki programın birbirleriyle etkileşimde bulunması, kullanıcının hem ilgili kütüphanelere erişim sağlamasına hem de kod yazma sürecini ChatGPT'nin asistanlığında daha da kolaylaştırmasına yardımcı olacaktır, bu da süreci daha hızlı ve verimli hale getirecektir.
Sonuç olarak şu an için ChatGPT'nin veri analiz kabiliyeti, sahip olduğu Python kütüphaneleri ile sınırlıdır. Bu sınır, onun belirli veri setleri üzerinde basit analizler yapabildiği anlamına geliyor. Ancak bu durum, onun potansiyelini sınırlayan bir faktör değil. Aksine, gelen her yeni güncelleme ile ChatGPT'nin veriyi işleme kapasitesinin artacağına dair bir işaret. Daha kapsamlı analizler yapabilme yeteneği, ChatGPT'yi sadece metin tabanlı soruları yanıtlayan bir yapay zeka modelinden, derinlemesine veri analizleri yapabilen güçlü bir araç haline getirebilir. Bu olasılık da onu veri biliminin yakın geleceğinde potansiyel bir oyun değiştirici haline getiriyor.
Not: ChatGPT ile veri analizine ilişkin değerli görüşlerini benimle paylaştığı için Arif Yasin Kavdır'a teşekkürler.
Emine Öztaner
Koç University, ARHA, Ph.D. Candidate
İlgili kaynaklar:
https://www.unite.ai/exploring-openais-chatgpt-code-interpreter-a-deep-dive-into-its-capabilities/
https://dev.to/ppiova/advanced-data-analysis-in-chatgpt-replaces-code-interpreter-3lil
https://www.ipl.org/div/chatgpt/data-science-and-chatbots-chatgpts-advanced-data-analysis-plugin
https://medium.com/@Keenious/chat-gpt-in-the-academic-world-c21ecc6888fe
[1] https://help.openai.com/en/articles/6825453-chatgpt-release-notes [2] https://openai.com/gpt-4 [3] Literatür taraması üzerine özelleştirilmiş web tabanlı yapay zeka araçlarından bazıları. www.elicit.org, www.concensus.app, www.litmaps.com. [4] Açık kaynak olarak paylaşılan veri setine bu linkten ulaşabilirinsiz. https://ourairports.com/data/ (airports.csv) [5] https://voyant-tools.org/
Comments