Mar 112017
 
5.375 views

Zemberek kütüphanesindeki bir kök sorunu

Zemberek kütüphanesindeki bir kök sorunuBir kaç gün önce zemberek kütüphanesiyle köklerini belirlemeye çalıştığım sözcüklerden birinin yanlış çözümlendiğini farkettim. Fiil olması gereken bir kök, İsim olarak tanımlanmıştı. Benzer sözcüklerin durumuna bakınca, bunun sistematik bir sorun olduğunu farkettim.

Zemberek kütüphanesini geliştiren arkadaşlar bu projeyi daha fazla sürdürmeme kararı aldıkları için sözkonusu hatayı gidermek – bu konuda bir gönüllü çıkmazsa- pek mümkün gibi görünmüyor. Yine de, bu kütüphaneyi kullanmakta olan arkadaşları uyarmış olayım.

Sorun, “edebil” ile başlayan sözcüklerle ilgili. Üstelik hepsi sorun yaratmıyor. Sorunlu olarak gördüğüm sözcüklerden bazılarını aşağıda listeledim. Bu sözcüklerinin hepsinin asıl kökü et ve tipleri fiil.

Sorunun, kodlamadaki küçük bir problemden kaynaklandığını sanıyorum.
Kullandığım kütüphane: zemberek-tum-2.0.jar
Çağrıları jpype aracılığıyla yaptım.

Zemberek-tum-2.0.jar dosyasını kullanan arkadaşların bu ayrıntıya dikkat etmelerini öneriyorum. Bu kütüphaneyi Python 3 üzerinde çalıştırmak isteyenler http://gurmezin.com/python-ile-zemberek-kutuphanesini-kullanmak/ adresindeki yazıma göz atabilirler.

Sorunlu çözümlenen sözcükler (Hepsi için kök=et, tip =FIIL olmalı)
edebiliyoruz,edebi,ISIM
edebiliyorumdur,edebi,ISIM
edebiliyorum,edebi,ISIM
edebiliyorsunuzdur,edebi,ISIM
edebiliyorsunuz,edebi,ISIM
edebiliyorsundur,edebi,ISIM
edebiliyorsun,edebi,ISIM
edebiliyorsanız,edebi,ISIM
edebiliyorsan,edebi,ISIM
edebiliyorsam,edebi,ISIM
edebiliyorsak,edebi,ISIM
edebiliyorsa,edebi,ISIM
edebiliyormuşuz,edebi,ISIM
edebiliyormuşum,edebi,ISIM
edebiliyormuşsun,edebi,ISIM
edebiliyormuş,edebi,ISIM
edebiliyorlarsa,edebi,ISIM
edebiliyorlarmış,edebi,ISIM
edebiliyorlardı,edebi,ISIM
edebiliyorlar,edebi,ISIM
edebiliyorken,edebi,ISIM
edebiliyordur,edebi,ISIM
edebiliyordunuz,edebi,ISIM
edebiliyordun,edebi,ISIM
edebiliyordum,edebi,ISIM
edebiliyordular,edebi,ISIM
edebiliyorduk,edebi,ISIM
edebiliyordu,edebi,ISIM
edebiliyor,edebi,ISIM

edebilince,edebi,ISIM

edebilen,edebi,ISIM
edebilemezsiniz,edebi,ISIM
edebilemez,edebi,ISIM
edebilemeyiz,edebi,ISIM
edebilemeyeceğimin,edebi,ISIM
edebilemenin,edebi,ISIM
edebilemem,edebi,ISIM
edebilemek,edebi,ISIM
edebileme,edebi,ISIM

Oysa aşağıdaki örneklerde ve benzer diğer yüzlerce örnekte herhangi bir sorun bulunmuyor:
edebilelim,et,FIIL
edebileceğiz,et,FIIL
edebileceğiyle,et,FIIL
edebileceğiydi,et,FIIL
edebileceğinizin,et,FIIL
edebileceğinizi,et,FIIL
edebileceğinize,et,FIIL
edebileceğinizdir,et,FIIL
edebileceğinizden,et,FIIL
edebileceğiniz,et,FIIL
edebileceğinin,et,FIIL
edebileceğini,et,FIIL
edebileceğine,et,FIIL
edebileceğinden,et,FIIL
edebileceğinde,et,FIIL
edebileceğin,et,FIIL
edebileceğimizin,et,FIIL
edebileceğimizi,et,FIIL
edebileceğimize,et,FIIL
edebileceğimizdir,et,FIIL
edebileceğimizdi,et,FIIL
edebileceğimizden,et,FIIL
edebileceğimizde,et,FIIL
edebileceğimiz,et,FIIL


Ahmet Aksoy

Linkler:
http://gurmezin.com/python-ile-zemberek-kutuphanesini-kullanmak/

Mar 072017
 
4.986 views

IBM Ticari Kuantum Bilgisayarlar Gerçekleşmek Üzere

Independent‘te yayınlanan bir makaleye göre IBM Q adıyla kurulan yeni bir bölüm ticari kuantum bilgisayarları hayata geçirmek için kolları sıvamış durumda.

IBM yetkilileri, klasik bilgisayarlarla ele alınamayan ve hala çözülememiş bazı karmaşık problemleri halledebilmek için kuantum bilgisayarlara ihtiyaç duyulduğunu belirtiyorlar.

Ticari Kuantum Bilgisayarlar

Foto: tr.wikipedia.org

Kuantum bilgisayarların üzerinde çalışacak uygulamalar klasik bilgisayarlar üzerinde koşan uygulamalardan farklı olmak zorunda. Bu yüzden IBM Q yetkilileri bu tür uygulamaların yıl sonuna doğru yayınlanacak simülatörler üzerinde geliştirilmeye başlanması gerektiğini vurguluyor. Bu çalışmalarla ilaç endüstrisi, malzeme geliştirme ve yapay zeka gibi alanlarda yeni çözümler üretilmesi bekleniyor.

Klasik bilgisayarlar elektronik devre kapılarının açık veya kapalı olmasına, yani sadece 0 ve 1’lerden oluşan iki tabanlı aritmetiğe dayanıyor. Sıfır veya bir konumunu belirten birim “bit” olarak adlandırılıyor. Halen 8 bitlik, 32 bitlik ve 64 bitlik sistemler yaygın olarak kullanılmakta.

Kuantum bilgisayarların temel birimine ise “qubit” (kübit) adı verilmiş. Bu sistem fotonların dikey ve yatay polarizasyonlarını kullanır ve iki fazlı kuantum sistemi (two-state quantum system) olarak anılır. Kübitler 0, bir ve bu ikisi arasında bir başka değer daha alabilir. Bunlara ek olarak daha fazla “durum”a sahip olabilen kuditler üzerinde de çalışmalar sürmektedir.

Rus Kuantum Merkezi’nden yapılan açıklamaya göre beş seviyeli bir kudit ile kuantum hesaplamalarının yapılabildiği gösterildi.

Öyle görünüyor ki, kuantum bilgisayarlarla tanışmamız için çok fazla beklememiz gerekmeyecek.

Ahmet Aksoy

Kaynaklar:

Mar 032017
 
5.527 views

Singularity – Tekillik Günleri Hızla Yaklaşıyor

Önce singularity kavramının anlamını netleştirelim.
Wikipedia, singularity (teknolojik tekillik) kavramını şu şekilde tanımlıyor: “gelecekte yapay zakanın ötesine geçerek, medeniyeti ve insan doğasını radikal bir biçimde değiştireceğine inanılan hipotezsel nokta. Böyle bir zeka, insanlığın tasavvur edebileceğinden daha üstün kabiliyetli olacağından, insanlığın geleceğini öngörülemez bir hale getireceği düşünülmektedir.”

Kurzweil, bu kavramı şu sözlerle daha da somutlaştırıyor: “İnsanlığın önünde iki seçenek var. Dünyaya geldiğimiz beden ve teknoloji sayesinde kavuştuğumuz beden. İnsan iskeletindeki kemiklerin malzemesi iyi değil. Çelik çok daha iyi. Çok etkin işleyen mekanik hücreler yakın gelecekte doğal hücrelerin yerini alacak. Bedene yerleştirilen yapay kol, bacak gibi organlar doğal uzuvlardan daha güçlü ve dayanıklı.”

Asıl kritik nokta, yapay zekanın yaptıklarının, insanoğlunun zekası tarafından anlaşılamayacak kadar gelişmesiyle ortaya çıkacak. Böyle bir durumda, yapay zeka tarafından yaratılacak olası olumsuz etkilere karşı -ne olup bittiğini anlayamayacağımız için- önlem alamaz duruma geleceğiz. Türümüze en yakın primatlardan şempanzeler için bile bizim konuşmalarımız, yazdıklarımız, teknolojik uygulamalarımız neyse, singularity aşamasına ulaşmış yapay zekanın iletişimi ve yaptıkları da bizler için benzer konumda olacaktır.

Konu, her ne kadar bir bilimkurgu teması gibi görünse de, yapay zekanın gelişme hızı artık bu düzeye ulaşmanın çok uzakta olmadığını gösteriyor.

Neanderthal insanın, homo sapiens tarafından ortadan kaldırılması gibi; yapay zeka ile donanmış robot veya insanımsı varlıklar karşısında “doğal” insanoğlu da büyük bir olasılıkla tarih sahnesinden silinecektir. Bu gelişmeler bir “hızlandırılmış evrim” mekanizmasına bağlı olabilir. Her ne kadar teknolojiyi kullanıyor olsak da, kolayca kontrol edemeyeceğimiz sayıdaki parametre yüzünden biyolojik yaşamımıza yaptığımız müdahalelerin pek çoğu bir mühendislik ürünü olmaktan çok “rasgele” deneme-yanılmalardan ibaret kalıyor. Günümüzün süper bilgisayarları bile hala yeterince hızlı değil. Kuantum bilgisayarlar bile ikili hesaplama sistemlerine kıyasla aşırı bir gelişme sağlayamayabilir. Şu anda öngöremediğimiz yeni teknolojiler devreye girmedikçe, teknolojimizin “tekillik” düzeyine ulaşacak yapay zekayı yaratmada yetersiz kalması mümkün.

Günümüz şartlarında asıl yapmamız gereken, teknolojik gelişmelerin doğal yaşantımıza her geçen gün daha fazla karıştığının bilincinde ve farkında olmak. Bu farkındalığı bilerek kendi lehine kullanabilenler kendilerine yepyeni bir dünya yaratırlarken, geride kalanlar kaynakları hızla tükenen ve doğal ortamları hızla kirlenen bir yaşamı paylaşmak zorunda kalacaklar.

Singularity - Tekillik Günleri Hızla Yaklaşıyor

Kaynak: content.time.com

content.time.com sitesinde yayınlanan yukarıdaki grafik 1900-2045 yılları arasındaki teknolojik gelişimi özetliyor. Geçmiş yıllara ilişkin gelişmeleri gündelik hayatımızda da yaşıyoruz. Geleceğe yönelik temel öngörülerin bazıları şöyle:

  • 2015: Bilgisayarlar fare beyin kapasitesini aştı: 10 Gigabyte (10^9)
  • 2023: Bilgisayarlar insan beyin kapasitesini aşıyor: 1 Petabyte (10^15)
  • 2045: Bilgisayarlar tüm insanların toplam beyin kapasitesini aşıyor: 100 Yottabyte (10^26)

Bu tarih, yani 2045, bazı görüşlere göre insanın “ölümsüzlüğün sırrına” eriştiği tarih olacak.

Ne dersiniz?

Ahmet Aksoy

Kaynaklar:

Mar 022017
 
5.900 views

Karar ağacı görselleştirilmesi örnek kodlar

Bu yazımda ele alacağım örnek kodların orijinali Josh Gordon’a aittir. Bu kodlar Python2 için düzenlenmiştir. Ben ise aynı kodların Python 3.5.2 altında çalışabilmesi için gereken düzeltmeleri yaptım. Özellikle pydot kütüphanesi yerine pydotplus kütüphanesinin yüklenmesi, kodların çalıştırılabilmesi açısından önemlidir.

Kullandığımız veritabanı, sklearn kütüphanesiyle birlikte gelmektedir ve sadece 150 kayda sahiptir. Dolayısıyla zayıf konfigürasyonlu makinelerde bile sonuçlar çok kısa sürede alınabilmektedir.

Kodları çalıştırdığım sistem ve gereken kütüphanelerin sürüm numaralarını herhangi bir olumsuzluk olasılığına karşı not ettim:
Ubuntu 16.04
Intel i5 4 çekirdek – 8GB bellek
Python 3.5.2
sklearn 0.18.1
numpy 1.12.0
pydotplus 2.0.2

VERİ TABLOSUNUN GENEL AÇIKLAMASI

Veritabanı İris çiçeği‘nin bilinen üç ayrı türüne ait çeşitli yaprak boyutlarını içermektedir.

Karar ağacı görselleştirilmesi

Iris sotosa Credits: en.wikipedia.org

Bu verisetinin ayrıntılarını https://en.wikipedia.org/wiki/Iris_flower_data_set adresinden inceleyebilirsiniz.

İngilizce bilmeyen okuyucularımız için kısa bir özet yapayım.
İris çiçeğinin setosa, versicolor ve virginica adları verilen 3 ayrı türü bulunmaktadır. Bu türlere ait farklı çiçeklerin çanak yaprak (sepal) ve taç yaprak (petal) ölçüleri en ve boy olarak saptanmıştır. Tablo yapısı şöyledir:

Sepal length Sepal width Petal length Petal width Species
Çanak yap. boy Çanak yap. en Taç yap. boy Taç yap. en Tür
5.1 3.5 1.4 0.2 I. setosa

Ölçüler, santimetre cinsinden verilmiştir. Tabloda 150 kayıt bulunmaktadır.

Aşağıdaki kodların karar ağacı grafik dosyalarını üretebilmesi için sisteminize graphviz uygulamasını yüklemiş olmanız gerekir. Kurulumu aşağıdaki gibi kolayca yapabilirsiniz.

KODLAR

[gist https://gist.github.com/ahmetax/16c62e1d10d66025ce99839051cc3045]

Sorularınızı yorum alanından bana iletebilirsiniz.

Ahmet Aksoy

Links:

Şub 262017
 
5.587 views

Elon Musk doğru mu söylüyor?

Elon Musk doğru mu söylüyor?

The Sun yazarı Zoe Naumann’ın haberine göre teknoloji milyarderi Elon Musk, “Yapay Zeka yaşamı anlamsızlaştıracak” uyarısını yapıyormuş. Ne dersiniz?

Elon Musk doğru mu söylüyor?

Resim: nypost.com: Elon Musk

Şahsen bu görüşe katılmıyorum.

Bir zamanlar havadan ağır cisimler uçamaz diyen yetkililer; inekler sütten kesilecek diye otomobillerin yasaklanmasını isteyenler vardı.

Ne kadar korkutucu olursa olsun, insanoğlu teknolojiyi hep kendi konforu için kullanabilmeyi başarmıştır.

Bu kez durum değişir mi? Sanımıyorum. Çünkü insanoğlu bir yandan kendisini de değiştirmeye devam ediyor.

Musk’ın kaygılarında haklı olduğu yanlar var. Örneğin insanların çok büyük bir kesimi yakın gelecekte “işsiz” kalmaya aday. Çünkü onların yerini doldurmaya hazır ve maaş bile istemeyecek, uzun mesai saatlerine itiraz etmeyecek bir robot ordusu hızla geliyor.

Musk’ın ve diğer ultra-zenginlerin bu konudaki asıl endişesi, üretilen malları satın alması gereken “müşterilerin” kaybedilmesi riskiyle ilgilidir. Musk buna da bir çözüm öneriyor: küresel düzeydeki işsizlere “evrensel gelir” sağlanması. Böylece temel müşteri kitlesi kaybedilmemiş olacaktır.

Robotların insanları işsiz bırakmasının kerşılığı olarak Bill Gates de “üretici robotlar için çalıştıranlardan vergi alınmasını” öneriyor.

Yapay zekanın “yaşamı anlamsızlaştıracağı” öngörüsüne katılmamakla beraber, her iki öneriyi de destekliyorum. Böylece yaratılan zenginliklerin toplumsal olarak bölüşümü açısından küçük de olsa bir adım atılmış olur.

Elbette bu “evrensel gelir” düzeyinin bizim “asgari ücret” kadar komik düzeyde olmaması gerekiyor. Amaç müşteri kaybetmemek olacağı için bu konuda daha iyimser olduğumu da itiraf edeyim.

Ben gelecekten korkmuyorum. Siz de korkmayın!

Ahmet Aksoy

Kaynaklar:

Şub 252017
 
5.749 views

DeepCoder internetten topladığı kodlarla program yazıyor

DeepCoder internetten topladığı kodlarla program yazıyor

Microsoft ve Cambridge Üniversitesinin işbirliğiyle geliştirilen DeepCoder sistemi internetten ve diğer kaynaklardan derlediği kod parçalarını kullanarak kendisine verilen sorunu çözen yazılımlar üretebiliyor.

DeepCoder internetten topladığı kodlarla program yazıyor

Resim: winbuzzer.com

Aslında bir yapay zeka (AI) çalışması olan DeepCoder, kod parçalarının depolandığı veritabanını tarayarak yapacağı işe uygun bileşenleri buluyor ve uygun şekilde bir araya getiriyor.

Bu teknik, bir çok programcının çalışma biçimini de yansıtıyor. Yeni yazılan bir çok uygulamanın önemli bir kısmı daha önce geliştirilmiş olan çeşitli kütüphaneler ve yordamları kullanarak geliştiriliyor. Doğal olanı da bu. Aksi halde her çalışmada Amerikayı yeniden keşfeder gibi, daha önce binlerce kez yeniden yazılmış olan ve geliştirilerek sorunsuz hale getirilen hazır kodları kullanmak yerine, sıfırdan bir çaba içine girmek gerekirdi. Modern çağın modüler sistemleri, yazılım dünyasında da aynen geçerli.

DeepCoder ve benzer şekilde çalışan diğer sistemler, bir yazılımcının çalışmasını benzer şekilde yineliyor. Üstelik kullandığı yapay zeka teknikleri sayesinde sürekli yeni şeyler öğreniyor ve kendini geliştiriyor.

Buna rağmen, bu sistemi geliştiren programcılar, “geniş kapsamlı projelerin, küçük kod parçalarını birleştirerek elde edilemeyeceği” görüşünü savunuyorlar.

Yapay zeka ve robot bilimi alanında yaşanan gelişmeler, bir çok mesleği doğrudan etkilemeye başladı bile. Yazılımcılar da kendi rakiplerini geliştirmek için var güçleriyle çalışıyorlar.

Ahmet Aksoy

Kaynaklar: