Natural Language Generation (NLG)

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ı...

Yapay Zeka Üzerine Derleme

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ı...

Java ve moteJ kullanarak Nintendo Wii kumandalarından veri alma

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) nedir?

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ı...

Veri bilimi nedir? Veri bilimcisi kimdir

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ı...

SQL’de CASE WHEN Kullanımı

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ı...

Python yield kullanımı nasıldır? yield nerede kullanılır?

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ı...