Monday, 10 October 2016

"Resimleri Anlayabilen Yapay Zeka" Problemi

Son zamanlarda Yapay Zeka (Artificial Intelligence) alanında yapılan çalışmalar insanın zeka sınırlarını zorlamaktadır.  Öyle ki artan veri boyutu ile birlikte bu çalışmaların  başarılı olması kaçınılmaz hale  gelmektedir.

Geçtiğimiz günlerde oldukça popüler konu haline gelen resimlerden otomatik obje tanıma olayını daha da ileriye taşımak isteyen Google ve Microsoft resimler üzerindeki objeleri tanıyıp anlamlandırabilen bir çalışma ortaya çıkardılar .  Google yaptığı çalışmada resimler için otomatik altyazı üretme olayını gerçekleştirmiştir. Bu çalışmaya ait görüntü aşağıda mevcuttur. (Bknz:Şekil 1)
Ayrıca çalışma hakkında detaylı bilgi Google Araştırma Grubu gönderisinde bulunmaktadır.

 
Google'dan resimleri anlayan yapay zeka!
Şekil 1.Google'ın resimleri anlama ve altyazılama çalışması
Öte yandan Microsoft da buna benzer bir çalışma gerçekleştirmiştir ve WEB üzerinden yayına koymuştur.(Bknz: CaptionBot)

Bu çalışmalardan bahsederken aklımıza gelen soru şu: "Acaba Türkçe olarak böyle bir çalışma yapılmış mıdır?"  cevabı gururla söylüyorum: "EVET!!!". Hacettepe Universitesi Computer Vision Labaratuvarlarında çalışan akademisyenler  geliştirdikleri algoritmaları sayesinde resimlerden çıkardıkları anlamlı ifadeleri sese dönüştürmeyi başardılar. Ancak çalışmanın daha da  başarılı seviyeye ulaşması için daha kapsamlı bir veri kümesi oldukça gereklidir. Bunun için araştırmacılar bu siteye girerek veri kümelerine yardımcı olmalarını istemekteler. İstenen şey oldukça basit: kısa bir üyelik formu ve  daha sonra sorulan sorulara kendince cevaplar vermek ...Ayrıca araştırmacılar temel amacının görme engellilerin yaşamı daha iyi anlamalarına yardım olmak olduğunu düşünürsek, bir sosyal sorumluluk olarak değerlendirip veri kümesine katkı yapmayı düşünebiliriz.(Bknz: TasvirET)

KAYNAKLAR:
* http://www.chip.com.tr/haber/googlein-resimleri-anlayan-yapay-zekasi-gelisti_65228.html
* https://research.googleblog.com/2016/09/show-and-tell-image-captioning-open.html
*https://www.captionbot.ai/
* http://tasviret.cs.hacettepe.edu.tr/
* http://www.ntv.com.tr/video/n-hayat/turk-muhendisler-goruntuyu-turkce-sese-donusturdu,tCWhDPHFrUa52V4i_qb31g








Thursday, 6 August 2015

Mobil Uygulama Analizi --Flurry

Mobil programlama ile uğraşanlar  için...

Geçenlerde Web'de gezinirken gözüme çarpan bu tool, yayına aldığınız mobil uygulamanın ;

* Hangi özelliği ne kadar kullanılmış?
* Hangi kullanıcıların kullanmış?
* Uygulama ne kadar kullanılmış?

gibi sorularınıza cevap vermekte...

Ayrıntılara  aşağıdaki adreslerden ulaşabilirsiniz...
İyi çalışmalar...

https://developer.yahoo.com/flurry/#get-started=
https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-301/mobil-uygulama-analizi-flurry



Tuesday, 28 July 2015

Window 8 veya 8.1 de kayıtlı Wifi şifresi öğrenme

Unutulan network şifreleri kullanıcılar için bir  sorun  teşkil etmektedir..

Kısaca fazla uzatmadan , Komut istemcisi kullanarak kayıtlı Wifi şifrelerini nasıl öğrenebileceğimizi adım adım anlatalım:

1. ADIM: Komut istemcisi admin modunda açılır...

2. ADIM: "netsh wlan show profiles" komutu ile kayıtlı wifi SSID leri listelenecekir..

3.ADIM: "netsh wlan show profile name=[SSID] key=clear"  şeklindeki komut yazılır.([SSID] yazılan kısıma şifresini öğrenmek istediğimiz networkün SSID sini yazmalıyız...)

NOT: 2 .adımda nasıl SSID lerin bulunacağı belirtilmişti..


Kolay gelsin ... İyi çalışmalar..


REFERANS:
http://8.enpedi.com/2013/12/windows-8-ve-81-kaytl-kablosuz-ag.html



Monday, 27 July 2015

Eğlenceli ANDROİD Programlama Geliştirme...

Yaklaşık olarak 2 aydır Android programlama ile ilgilenmekteyim.Bu konuda giriş seviyesinde tutorialları(ders) takip ettim. TURKCELL firması tarafından başlatılan ve akademi projesi kapsamında  https://gelecegiyazanlar.turkcell.com.tr/konu/android adresindeki dersleri takip edip , sertifika sınavlarına girdim. (İlgilenenlere tavsiye ederim..)

Gelelim asıl konumuza... Soru şu: "Kod yazmadan Android uygulaması geliştirilebilir mi?" ...
Cevap, 2010 yılından beri EVET...

Google ve MIT tarafından geliştirilen "APP INVENTOR" projesi sayesinde...

http://appinventor.mit.edu/explore/

 adresinden her türlü bilgi ve dökümana sahip olabilir, KOD YAZMADAN Android uygulaması geliştirebilirsiniz...

Son olarak türkçe kaynak olarak; TURKCELL GELECEĞİ YAZANLAR projesi kapsamında https://gelecegiyazanlar.turkcell.com.tr/konu/app-inventor/egitim/app-inventor-101 adresinde  gayet güzel ve açıklayıcı anlatım ile bulabilirsiniz...
 
İyi çalışmalar...




Saturday, 21 February 2015

Doğal dil işleme....

Son 5 aydır , en büyük ilgi alanlarımdan birisi olan bu konu Yapay Zeka alt bilim dalı olarak ortaya çıkmıştır..
Ülkemizde Bilgisayar Bilimcilerinin de önemli bir ilgi odağı haline gelmiştir...
En önemlisi Zemberek NLP Library dir....
Araştırmanızı tavsiye ederim...Başarılar..


Wednesday, 13 August 2014

PHP DE RESİM DOĞRULAMA

    İnternette gezinirken birçok login sitelerinde güvenlik amaçlı olarak resim doğrulama kullanılmaktadır.Temel amaç kullanıcının bir spam botu gibi veya sanal kişilikler gibi olmadığını sağlamaktadır.


Öncelikle index.php sayfamızı oluşturalım...

index.php

<!-- Tarayıcı ön belleğinde tutulmaması için no-cache -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//TR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="TR" lang="tr">
    
<meta http-equiv="Pragma" content="no-cache" />
    
<meta http-equiv="Expires" content="-1" />
    
<title>wmturk.net - Resim doğrulama uygulamasına ait demo</title>
    
<form method="post" action="result.php">
        Dogrulama Kodu: 
<img src="img.php" height="25" width="75" />
        Doğrulama Kodunu Giriniz: 
<input size="6" maxlength="6" name="kod" type="text" />
        
<input value="Test et" type="submit" />
    
</form>
</body>
</html>

Şimdi oluşturacağımız img.php ile resmi alacağız..

img.php

/*Öncelikle oturumu başlatmamız gerekiyor ki sayfalar arası veri transferi yapılabilsin...*/
<?php
session_start();
...
?>

/*Rasgele bir sayı üretip md5 şifreyelim.Bu şifreli veri 32 digit olacağı için bunun 6 digitini alalım...*/

...
$uret=md5(rand(0,999));//0-999 arası sayı üretilip md5 şifrelendi...

$dogrulama_kod=strtoupper(substr($uret,3,6)); // bu şifreli verinin 3. indisinden itibaren 6 digit al ve büyük harfe çevrildi...

/*Session variable ları atayalım...Bu değeri diğer sayfalarda kullanabileceğiz...*/

$_SESSION['d_kod']=$dogrulama_kod;

/*Şimdi ise resmin boyutları belirleyerek oluşturalım..*/

$en=75;
$boy=25;

$img=imagecreate($en,$boy);

/*Kullanabileceğimiz renkleri oluşturuyoruz...*/

$beyaz = ImageColorAllocate($img, 255, 255, 255);
$siyah = ImageColorAllocate($img, 0, 0, 0);
$kirmizi = ImageColorAllocate($img, 242, 0, 0);

/*Arka planı da beyaz yapalım...*/

ImageFill($img, 0, 0, $beyaz);// 2. ve 3. parametreler x,y koordinatlarını ifade eder.

/* Kodu  resmin üzerine entegre edelim...*/

ImageString($img, 6, 9, 5, $_SESSION["kod"], $siyah);

/*Görüntüyü zorlaştırmak adına resmin içerisine çizgiler çizebiliriz...*/

imageline($img, 0, 2, $en, 2, $kirmizi);
imageline($img, 0, 25, $boy, 0, $kirmizi);
imageline($img, $en, $boy, 40, 0, $kirmizi);
imageline($img, 0, 23, $en, 23, $kirmizi);

/*Resmin formatı belirtilir...*/

header("Content-Type: image/jpeg");
ImageJpeg($img);

/*Oturumu bir defaya mahsus kullandığımız için kapatalım..ve çıkış yapalım...*/

session_destroy($img);
exit();



Bu  aşamada sayfanın güvenlik kodları oluşturulmuş oldu...

Son olarak kod doğrulaması yapalım. 

result.php :

/*Oturumu başlatalım öncelikle...*/

<?php
session_start();
// Eger form doldurulmussa
if (isset($_POST['kod'])) {
    
if (strtoupper($_POST['kod']) == $_SESSION['d_kod']) {//güvenlik kodu ve girilen kod karşılatırılır...
        
echo '<h4>Tebrikler, Doğru kodu girdiniz: <code>' . $_POST['kod'] . '</code></h4>';
    
} else {
        
echo '<h4><code>' . $_POST['kod'] . '</code>Hatali giris, tekrar deneyiniz. ' .$_SESSION['d_kod'] . '</h4>';
    
}
    
echo '<a href="index.php">Tekrar _fcksavedurl=""index.php">Tekrar" _fcksavedurl=""index.php">Tekrar" dene?</a>';
} else {
    
?>
    <a href="index.php">Sadece post verileri ile calisan bir sayfadir. Giris sayfasina donebilirsiniz.?</a>
<?php
}
?>

 şeklinde kodlanırsa girilen guvenlik kodunu testi yapılmış olur...

  Bu arada dikkat edilmesi gereken bir nokta ise; kullanıcının güvenlik kodunu doğru fakat küçük harflerle girmesi durumunda da güvenlik kodu doğru kabul edilecektir..






Friday, 18 July 2014

LİNUX SÜRÜMLERİNİN ARASINDAKİ FARKLAR...





*Açık kaynak kodlu olduğu bilinen Linux , günümüzde Windows işletim sisteminin en önemli rakibi olarak görülmekteedir.
*Linux'un birbirinden çok sürümü vardır.Bu sürümlerin temel ortak özelliği Linux çekirdeği üzerine inşa ediliyor olmasıdır.
*Günümüzde kullanıcıların çoğu (Türkiye'de) Windows işletim sisteminin farklı sürmlerini tercih etmektedirler..
*Ancak bu işletim sisteminin free(ücretsiz) olmaması ve lisanslı olması  kullanıcıları free olan Linux'a yönlendirmektedir.
*Linux'a geçmeye karar veren kullanıcıların da seçim yapması gerekiyor..
"Hangi Linux sürümünü kullanmalıyız???"...

*Bu yazıda bu soruya cevap verebilmek adına değerlendirme yapılmaya çalışalım...
http://teknolojidefteri.com/linux-surumleri-arasindaki-farklar.html

                                                            1.UBUNTU

*Linux dağıtımları içerisinde en  fazla populariteye sahip olan sürümdür.Bunun temel nedeni sürekli güncellenmesi  ve hızlı bir biçimde çalişmasıdır.

*Kullanıcılar için masaüstü versiyonları olmakla birlikte  ve aynı zamanda cloud  ve server versiyonları da bulunmaktadır.




2.LINUX MINT
*Linux sürümleri içerisinde donanım gereksinimi olarak en az kaynak tüketen Linux sürümüdür.     

*Sürekli güncellemelerin olması ve kolay kullanımı sebebiyle Ubuntu ile benzerlik göstermektedir.   

* Windows'tan Linux a geçmek isteyen kullanıcıların bu sürümü kullanması  tavsiye edilir..               

*Aynı zamanda Türkçe dil desteği de bulunmaktadır.                                                                       

3.DEBİAN
*Linux sürümleri içerisinde desteklediği kullanıcı profili  en yüksek olansürümüdür..

*Bu sürümde kullamıcıların donanımları çok iyi şekilde yönetmeleri gerekmektedir.
 
4.FEDORA
*
  
5.PARDUS
*En önemli özelliği milli işletim istemi olması özelliğidir.Tübitak 
tarafından geliştirilmiştir..

*Sürekli günecellenememesi    bu sürüm için dezavantajdır.