Selamlar TurkHackTeam ailesi! Ben @an0un ve bugün sizlere Python ile nasıl Başlangıç Seviyesinde Yapay Zeka yapabileceğinizi göstereceğim. Hadi vakit kaybetmeden başlayalım!
Peki, Nedir Bu Yapay Zeka?
Yapay zeka (YZ), bilgisayarların ve yazılımların insan benzeri zeka fonksiyonlarını taklit etme yeteneği olarak tanımlanır. Kısaca, makinelerin öğrenme, akıl yürütme, problem çözme ve karar verme gibi karmaşık görevleri yerine getirme yeteneğini ifade eder. Yapay zeka, geniş bir yelpazede teknolojileri ve yöntemleri kapsar, bunlar arasında makine öğrenmesi, derin öğrenme, doğal dil işleme ve bilgisayarla görme gibi alanlar bulunur.
Makine öğrenmesi, yapay zekanın bir alt dalıdır ve bilgisayarların deneyimlerden öğrenmesini sağlar. Bu süreçte algoritmalar, verileri analiz ederek ve bu verilerden çıkarımlar yaparak kendilerini geliştirebilirler. Derin öğrenme ise, sinir ağları kullanarak daha karmaşık ve soyut verileri işleme yeteneğine sahip bir öğrenme yöntemidir.
Yapay zekanın uygulama alanları oldukça geniştir. Sağlık sektöründen finansal hizmetlere, eğitimden otomotive kadar pek çok alanda yapay zeka teknolojileri kullanılmaktadır. Örneğin, sağlık alanında hastalık teşhisi, kişiselleştirilmiş tedavi planları ve görüntü analizi gibi uygulamalar mevcutken, finans sektöründe ise risk analizi, portföy yönetimi ve dolandırıcılık tespiti gibi alanlarda yapay zeka kullanılmaktadır.
Yapay zeka, teknolojik ilerlemelerle birlikte hayatımızın her alanında daha da yaygınlaşmakta ve iş yapma biçimlerimizi köklü bir şekilde değiştirmektedir. Python gibi programlama dilleri, yapay zeka projeleri geliştirmek için geniş kütüphaneler ve araçlar sunarak bu teknolojilerin erişilebilirliğini artırmaktadır.
Artık yazdığımız koda geçebiliriz!
Python:
import json
from difflib import get_close_matches as yakin_sonuclar
def veritabanini_cek():
with open('veritabani.json', 'r') as dosya:
return json.load(dosya)
def veritabanina_yaz(veriler):
with open('veritabani.json', 'w') as dosya:
json.dump(veriler, dosya, indent=2)
def yakin_sonuc(soru, sorular):
eslesen = yakin_sonuclar(soru, sorular, n=1, cutoff=0.6)
return eslesen[0] if eslesen else None
def cevap_ver(soru, veritabani):
for soru_cevaplar in veritabani["sorular"]:
if soru_cevaplar["soru"] == soru:
return soru_cevaplar["cevap"]
def ai_sohbet():
veritabani = veritabanini_cek()
while True:
soru = input("Siz: ")
if soru == 'çık':
break
gelen_sonuc = yakin_sonuc(soru, [soru_cevaplar["soru"] for soru_cevaplar in veritabani["sorular"]])
if gelen_sonuc:
verilecek_cevap = cevap_ver(gelen_sonuc, veritabani)
print(f"Bot: {verilecek_cevap}")
else:
print("Bot: Bunu nasıl cevaplayacağımı bilmiyorum. Öğretir misiniz?")
yeni_cevap = input("Öğretmek için yazabilir veya 'geç' diyebilirsiniz. ")
if yeni_cevap != 'geç':
veritabani["sorular"].append({
"soru": soru,
"cevap": yeni_cevap
})
veritabanina_yaz(veritabani)
print("Bot: Teşekkürler, sayenizde yeni bir şey öğrendim.")
if __name__ == '__main__':
ai_sohbet()
Ben dosyaya HetrAI.py adını verdim. Kod okuyabiliyorsanız farketmişsinizdir ki kodda veritabani.json diye bir dosya daha geçiyor. Kodumuzun olduğu dizinde veritabani isimli .json uzantılı bir JSON dosyası oluşturuyoruz. Biz bu veritabani.json dosyasını sorular için oluşturduk. Sorular ve cevaplar burada kayıt edilecek. JSON dosyamızın kodu ise bu:
JSON:
{
"sorular": []
}
Şimdi her zaman ki gibi kodların açıklamasına geçelim.
HetrAI.py
Python:
import json
from difflib import get_close_matches as yakin_sonuclar
def veritabanini_cek():
with open('veritabani.json', 'r') as dosya:
return json.load(dosya)
def veritabanina_yaz(veriler):
with open('veritabani.json', 'w') as dosya:
json.dump(veriler, dosya, indent=2)
Python:
def yakin_sonuc(soru, sorular):
eslesen = yakin_sonuclar(soru, sorular, n=1, cutoff=0.6)
return eslesen[0] if eslesen else None
def cevap_ver(soru, veritabani):
for soru_cevaplar in veritabani["sorular"]:
if soru_cevaplar["soru"] == soru:
return soru_cevaplar["cevap"]
Python:
def ai_sohbet():
veritabani = veritabanini_cek()
while True:
soru = input("Siz: ")
if soru == 'çık':
break
gelen_sonuc = yakin_sonuc(soru, [soru_cevaplar["soru"] for soru_cevaplar in veritabani["sorular"]])
if gelen_sonuc:
verilecek_cevap = cevap_ver(gelen_sonuc, veritabani)
print(f"Bot: {verilecek_cevap}")
else:
print("Bot: Bunu nasıl cevaplayacağımı bilmiyorum. Öğretir misiniz?")
yeni_cevap = input("Öğretmek için yazabilir veya 'geç' diyebilirsiniz. ")
if yeni_cevap != 'geç':
veritabani["sorular"].append({
"soru": soru,
"cevap": yeni_cevap
})
veritabanina_yaz(veritabani)
print("Bot: Teşekkürler, sayenizde yeni bir şey öğrendim.")
ai_sohbet() adında bir fonksiyon oluşturduk. veritabani_cek() fonksiyonumuzu ai_sohbet() fonksiyonumuzun içerisindeki veritabani adlı değişkene bağladık. Sonsuz bir while döngüsü açtık ve kullanıcıdan bize soru sormasını istedik. Bu veriyi soru değişkenine kaydettik. Eğer soru değişkeninde çık yazıyorsa kodu kapatmasını sağladık. gelen_sonuc diye bir değişken oluşturduk. Bu gelen_sonuc değişkenimiz veritabanımızda bu sorunun cevabının olup olmadığına bakıyor. Eğer veritabanında sorunun cevabı varsa cevap_ver fonksiyonumuzun dışardan alacağı soru ve veritabani değişkenlerini sırasıyla gelen_sonuc ve veritabani olarak belirliyor. Daha sonra verilecek_cevap değişkenimizi yazdırdık. Eğer sorunun cevabı veritabanımızda yoksa Bunu nasıl cevaplayacağımı bilmiyorum. Öğretir misiniz? yazdırmasını sağladık. yeni_cevap değişkeninde kullanıcıdan bir veri istedik. Bu veride eğer geç yazılmadıysa verimiz veritabanımıza geçerli sorunun cevabı olarak kaydedilir. Eğer geç yazsaydı HetrAI'a yeni bir şey öğretmeyecektik. Öğrettiyse bunu veritabanına kaydettik ve Teşekkürler mesajı yazdırdık.
Python:
if __name__ == '__main__':
ai_sohbet()
ai_sohbet fonksiyonumuzu çalıştırdık.
Kodu çalıştırın ve sorunuzu sorun. Eğer HetrAI size soruyu bilmediğini söylerse sorunun cevabını yazın. Artık o sorunuzun cevabını öğrendi. Bu kendi kendine öğrenen bir yapay zekadır.
Evet dostlarım kodumuz bu kadar. Bana vakit ayırdığınız için teşekkür ederim.

an0un
(Grafiker Olmaya Çalışan Bir Yazılımcı)



