Günümüzde, teknolojinin hızla geliştiği bu çağda, bilgisayarlar artık veri depolamaktan çok
daha fazlasını yapabiliyorlar. İnsan gibi doğal bir şekilde iletişim kurmak da buna dahil. NLG, yani
Natural Language Generation, yapay zeka içinde özel bir alt kategori olarak nitelendirilebilir ve
bilgisayarların insan gibi doğal dil üretme yeteneği olarak tanımlanır. Dili anlama ve dil üretmeyi
hedefler. Bu teknoloji iş dünyası, eğitim, oyun geliştirme, sağlık sektörü gibi pek çok alanda kullanılır.
Örneğin müşteri hizmet botlarının daha doğal ve insansı konuşmalarını sağlamak için, müşterinin
alışveriş geçmişine göre kişiselleştirilmiş reklamlar üretmek için kullanılabilir. NLG, karmaşık ve çok
miktarda veriyi anlamlı hikayelere, raporlara, metinlere dönüştürerek hayatımızı kolaylaştırıyor. Peki
bu teknoloji tam olarak nasıl çalışıyor? Gelecekte hangi alanlarda kullanılabilir? Ve son olarak, etik
olarak doğru mu?
Devamı...
Günümüzde de sıkça adını duyduğumuz Yapay zekâ, -literatürde- bir
bilgisayarın veya bilgisayar kontrollü robotun, genellikle akıllı varlıklarla ilişkili
görevleri yerine getirme yeteneğidir. Yapay zekâ, özellikle son zamanlarda
sürekli kullanılan ve bilinen bir öğe haline gelmiştir. Eskiden sadece yazılımla
uğraşan kişiler tarafından bilinirken, ChatGPT ve benzeri yapay zekâ siteleri ve
programları sayesinde herhangi bir insanın bile hayatında en az bir kez duyduğu
bir araç olmuştur. Yapay zekâ, bir insanın yapabileceği görevleri daha fazla veri
aracılığıyla daha hızlı bir şekilde yapılmasına imkân tanıyarak, hayatımızı
kolaylaştırmaktadır. Bu sebepten ötürü bir sürü kullanım alanı vardır. Yapay
zekâ; sesli asistanlar, dil çevirileri, öneri sistemleri, navigasyon, sosyal güvenlik,
sağlık hizmetleri, e-ticaret ve yardımcı robot uygulamalarıyla birçok insanın
günlük hayatında yer almaktadır. Siber güvenlik ve savunma sanayi gibi sektöre
özel stratejik çalışmalarda da sıkça kullanılmaktadır. Tabi bunları; doğal dil
işleme, veri işleme, görüntü işleme, ses işleme, metin işleme, sağlık verilerinin
analizi ve tedavi planlaması, sigortacılık ve finans, büyük veri analitiği, tarım ve
hayvancılıkta akıllı uygulamalar, siber güvenlik gibi ana başlıklara ayırabiliriz.
Yapay zekâ kavramının geçmişi modern bilgisayar bilimine dayanır. Fikir
babası, Makineler düşünebilir mi? sorusunu sorarak makine
zekâsını tartışmaya açan Alan Mathison Turing’dir. 1943’te II. Dünya
Savaşı sırasında bazı gereksinimler ile üretilen cihazlar sayesinde bu iki kavram
-bilgisayar bilimi ve yapay zekâ- doğmuştur.
Devamı...
Nintendo Wii, 2006 yılında tanıtılan bir ev tipi oyun konsoludur. Bu oyun konsolunun, ana makineyle Bluetooth kullanarak veri alışverişi yapan kumandaları vardır. Bu kumandada kızılötesi sensör ve ivmeölçer mevcuttur. Daha sonra, Nintendo tarafından tanıtılan Wii Sports Resort adlı oyunla beraber Wii Motion Plus adlı bir uzantı tanıtılmıştır. Bu uzantı, “Tuning fork gyroscope” adı verilen bir jiroskopa sahiptir ve bu jiroskop, daha hassas dönme bilgisi içerir. 2009’da Volker Fritzsch tarafından geliştirilen “motej” kütüphanesi ile bu kumandalara bağlantı sağlanabilir ve belirli veriler alınabilir.
Daha önce yapmış olduğum “Roller Game” adlı projede motej kütüphanesini kullandım, ve bu sayede kumandalardan aldığım ivmeölçer verilerini LibGDX oyun motoru ile kullanarak basit bir oyun geliştirdim. Bu yazıda ise motej kütüphanesini en kolay şekilde nasıl kullanabileceğimizi açıklayacağım.
Devamı...
Büyük veri (big data), geleneksel veri yönetim sistemleriyle depolanması, yönetilmesi ve analizi mümkün olmayan verilerdir. Büyük veri, analiz edilmesi ve verimliliği arttırması için toplanan, anlamlı ve işlenebilir veriler bütünüdür.
Devamı...
Daha büyük veri (big data) nedir ne değildir derken son yıllarda ortalıkta bir de veri bilimi, “datascience“, tabiri dolaşmaya başladı. Ülkemizin her ne kadar bu kavramlarla tanışıklığı yeni yeni olsa da dünyada epey bir yaygınlık kazanmaya başladığını görüyoruz. Aslında bu yaygınlık doğal bir gelişimin sonucu, yani kimse yapmacık yere veri bilimi, veri bilimci, “datascientist”, büyük veri, “big data” kavramlarını üretmiyor. Bu kavramlar şöyle bir doğal serüvenin sonunda patlamaya başladı: Bilgi sistemlerinde teknolojik ilerleme tüm hızıyla devam ediyor. Her geçen gün veriyi üretmek daha kolaylaşıyor. Üretilen bu verilerin bir yerden başka yere taşınması konusunda ağ teknolojilerinin veri iletim performansları fiber teknoloji ile birlikte akıl almaz hızlara ulaşmaya başladı. Veriyi saklamak için disk birim alan maliyeti oldukça düşük bir seviyeye inmiş durumda. Ayrıca şunu da belirtmeden geçmek istemem o da veri üreten kaynakların bolluğudur. Bilgi sistemleri gittikçe yaygınlaştı ve insan hayatının girmedik köşesini bırakmadı. Müşteri işlemleri, bankacılık işlemleri, e-ticaret işlemleri, ürün yorumları, RFID verileri, elektronik sağlık kayıtları, sigorta geri ödeme kayıtları, sensörler tarafından üretilen veriler gibi bir çok veri kaynağı bulunmaktadır. Hal böyle olunca dünyada bir veri bolluğu yaşanmaya başlandı.
Devamı...

Devamı...
Gündelik hayatta elde ettiğimiz sonuçlar veya verdiğimiz kararlar sıklıkla “koşullardan” etkilenir. Örnek olarak hava yağmurluysa dışarı çıkarken şemsiyenizi alırsınız veya güneşliyse tişört giyerek dışarı çıkarsınız. Elinizdeki veriyi koşullara göre yeniden düzenleyebilmek ve sorgulayabilmek için SQL’de CASE WHEN ifadesi kullanılır.
Devamı...

Devamı...
Python dilindeki yield deyimini anlamak için, generator’ları bilmek gerekiyor, generator’ları anlamak için de, iterator ve iterable kavramlarını anlamak gerekiyor. İngilizcede “iterate” kelimesi, tekrar tekrar uygulanmak veya işlenmek anlamına geliyor. Python’daki iterable ve iterator kavramları bu kelimeden türetilmiş. Python’da iter()
yerleşik fonksiyona argüman olarak verebildiğimiz objelere iterable diyoruz. iter() fonksiyonu bize bir iterator döndürüyor. Iterator, objenin elemanları ne şekilde tanımlanırsa tanımlansın, bir koleksiyon içindeki tüm elemanlara sırasıyla erişebilmemiz için ortak bir arayüz oluşturan bir mekanizma. Kısacası, elemanları üzerinde sırasıyla gezinebildiğimiz, listeler ve demetler gibi objelere iterable diyoruz. Bu objeler, iter()
fonksiyonu ile çağrıldığında, birer iterator döndürüyor, ve bu iterator’lar bir koleksiyondan sırasıyla eleman almak için kullanılıyor.
Devamı...
Bir duruma bağlı olarak tekrarlayan işlemleri gerçekleştirmek için js while döngüsünü kullanırız.
Devamı...