Anlam Benzerliği vs. Kelime Benzerliği


Yapay zeka doğal dil işleme konusunda bir soru işareti ile karşılaştım. Geliştirilecek yapay zeka soruyu anlayıp anlam benzerliğine göre soru listesinden cevapları mı getiriyor?

Yoksa Kelime/Cümle Benzerliğine göre mi soru listesinden soruyu bulup cevabı getiriyor?

Pratikte ikincisi olduğunu göreceksiniz. Mevcut Google yapay zeka hizmetleri “Nerelisin?” ve “Hemşerim memleket neresi?” sorularının aynı anlamda olduğunu tespit edemiyor. Bu şaşırtıcı sıkıntıyı gidermek için soruları varyasyonları ile birlikte giriyorsunuz ve benzerliğe göre soruyu buluyor.

Yani doğal dil işleme hizmetleri gerçekte ne dediğimizi anlamıyorlar. Dolayısıyla kelime benzerliğinden soruyu ve ilişkili cevabı getiriyoruz.

Bu ilkel algoritmayı aslında ikilik sistemlerde herhangi bir programlama dili ile kendimiz de implemente edebiliriz. Tabi bu durumu ilk izlenimlerime göre farkettim, zamanla konu daha da anlaşılır hale gelecektir.

Ancak bize sunulan servislerin ilkel boyutta olduğuna inanıyorum. Bence Google’ın elinde dediğimizi anlayan türden yapay zekalar da var, ancak bize basit algoritmalarla çalışan sürümleri sunulmuşa benziyor.

Elbette dediğimizi insan gibi anlayan türden yapay zeka geliştirmenin yararı ne diye sormak lazım. İnsan mı yapıyoruz, insan zaten var, yeni bir insan yapmaya ne gerek var diye düşünebiliriz. O yüzden yapay zekanın kendi benliğini keşfederek insana üstünlük iddiasında bulunmaması için işimize yarayacak kadar az gelişmiş sürümleriyle idare etmek yapay zeka regülasyonlarını dikkate almak insan lehinedir.

Bu bağlamda metin benzerliği üzerine çalışan Dialogflow benzeri bir sistemi biz de geliştirebiliriz. Bunun için Kuantum Bilgisayarlara da çok gerek yok. Böyle bir sistem Firebase ile çok rahat geliştirilebilir.

Kuantum bilgisayar kullanmanın getirisi nedir? Kuantum bilgisayarlar yakın gelecekte geleneksel bilgisayarlara göre çok hızlı olacağı için sınıflandırma işlemleri sıradan bilgisayarlara göre çok daha hızlı yapılabiliyor. Böylece yapay zekaların daha az büyük veri ile daha hızlı eğitilebilmesini mümkün kılıyor. Bu da 2. dereceden yapay zeka ya da 2. dereceden yapay insan üretebilmek demek. Elbette Kuantum Yapay Zeka halen bir araştırma konusu. Biz de bu işin içinde olmak için hazırlayacağımız yapay zeka projesinde

  1. Hibrit Ionic mobil uygulama
  2. Firebase veritabanı ve Google Bulut Hizmetleri
  3. Hibrit Kuantum Yapay Zeka Uygulaması

teknolojileri kullanmaya karar verdik. 3. maddede aslında çok gerekli değil gibi görünse de bizi geleceğe hazırlayacağından projeye dahil edilmesi gerektiğine karar verdik. Ayrıca 3. madde ile Google Bulut Hizmetlerinin kota sınırlarını aşabileceğimizi biliyoruz. Belki de böylece Google Bulut Hizmetlerindeki çözümlerin Kuantum sürümlerini de hazırlama fırsatına kavuşacağız.

Mutlu kodlamalar 🙂

Hibrit Kuantum Uygulamalar


DWave’in bu sıralarda duyurularını yaptığı Hibrit Kuantum Bulut sistemi sayesinde pratik ve kullanılabilir Hibrit Kuantum Uygulamalar geliştirilebilir hale geldi.

Bu durumda eğer yapay zeka entegre bir proje yapıyorsanız kullanmanızı önereceğim teknolojiler şöyle:

  1. Hibrit Ionic Angular Cordova PWA frontend
  2. Google Firebase veya Parse backend (Parse projesini Facebook kapattığı için Firebase yükselişte)
  3. Hibrit Kuantum Hizmetler (2. dereceden yapay zeka ve kuantum servislerinizi geliştirmek için)

Dikkat ederseniz Microsoft teknolojileri burada bulunmuyor.

Peki yerelleştirme yapmak istersek, yani KVKK gereği bilgilerin yurtdışına gönderilmesini istemiyorsak ne yapabiliriz?

  1. maddedeki frontend için yerli mobil işletim sistemleri geliştirilirse, 2. maddede Firebase yerine Parse ya da yerli bir BaaS tercih ederseniz ve 3. maddedeki Hibrit Kuantum Hizmetleri Türkiye’de sağlanmaya başlanırsa bu mümkün olabilir. Gördüğünüz üzere katedilmesi gereken çok yol var daha.

Diğer bir alternatif yerel sunucuda 1. dereceden bir yapay zeka geliştirip backendi yerel sunucuda bulundurmak. Ancak bu kez 1. dereceden çözümler kullandığınız için bi düşük seviyeye -ki bu bugün zaten herkesin yapabildiği çözüm- projeyi indirgemiş oluyoruz.

Dolayısıyla yerelleştirme için yerli mobil işletim sistemine, yerli BaaS ve yerli Hibrit Kuantum Bulut çözümlerine ihtiyacımız var.

Merhaba PWA


Artık web uygulamaları Progressive Web Application’lara (PWA)’lara evriliyor. PWA olarak hazırlanmış web uygulaması ile hem web sitesi, hem mobil uygulama, hem de masaüstü uygulama çıktıları alabiliyorsunuz.

Backend’te ise ister .NET Core Web API’leri kullanın, ister NodeJS ile MEAN uygulama hazırlayın. Sonuç olarak Frontend için Angular ya da React ile bir PWA uygulama hazırlamanızı öneririm.

İş-Kur eğitimlerinde de müfredat belirleme şansımız olsaydı eğitim müfredatını şu şekilde hazırlamayı önerirdim:

  1. Frontend: PWA Uygulama
  2. Backend: .NET Core ya da NodeJS uygulama

MVC artık eskidi diyebiliriz, çünkü MVC ile hazırladığımız dinamik sayfalar backend tarafından işlenmek zorunda dolayısıyla backend ile frontend ayrışmadığı için mobil uygulamaya dönüştürme şansımız yok.

PWA uygulamalarında Üyelik sisteminde JWT kullanımı öneriliyor. Arzu ederseniz Backend’i Firebase, Parse Platform ya da Back4App ile de çözebiliyorsunuz. Veritabanı olarak SQL Server, MongoDb ya da Firebase gibi bir çok seçenekte özgürüz.

PWA uygulamaları klasik Angular ve React projeleridir. Cordova ile entegre ederek hibrit mobil uygulama haline geliyor ve App Store ve Play Store’a gönderebiliyoruz. Electron ile de yüklenebilir masaüstü uygulamaya dönüşüyor.

Mutlu kodlamalar 🙂