• Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan Python programlama dili ile akıllı asistan geliştirme eğitim serisinin bir bölümüdür. Eğitmen, daha önce yaptığı bir akıllı asistan projesini nesne yönelimli programlama yapısına dönüştürmektedir.
    • Video, mevcut procedural programın class'lara ayrılması, Google Speech Recognition ve Google Text to Speech kütüphanelerinin kullanımı, kullanıcı arayüzü oluşturma ve yapılandırma dosyası yönetimi gibi konuları kapsamaktadır. Eğitmen, uygulamanın temel yapısını adım adım göstererek, ses tanıma, metinleri ses dosyalarına dönüştürme ve kullanıcı girişi kontrolü gibi temel özelliklerin nasıl ekleneceğini anlatmaktadır.
    • Eğitim serisi, Star TV ile çalışan bir asistan uygulamasının geliştirme sürecini göstermekte ve ileride eklenecek özelliklerin temelini atma amacıyla hazırlanmıştır. Video, bir sonraki bölümlerde devam edileceği bilgisiyle sonlanmaktadır.
    00:01Akıllı Asistan Projesinin Geliştirilmesi
    • Daha önce yapılan akıllı asistan projesi ilgi görüyor ve bu video serisi şeklinde geliştirilecek.
    • Proje tamamen procedural bir program şeklinde olup, daha sonra class'lara ayrılacak.
    • Main dosyası sadece asistanı konfigüre etmek için kullanılacak, diğer fonksiyonlar "core" ve "skills" adlı class'lara taşınacak.
    00:51Class'ların Oluşturulması
    • "core" class'ı asistanın yeteneklerini ve fonksiyonlarını içerecek.
    • "skills" class'ı asistanın yeteneklerini ve fonksiyonlarını içerecek.
    • "asistan.py" dosyası oluşturulacak ve içine komutlar yerleştirilecek.
    02:16Object Programlama Şekline Çevirme
    • Projenin amacı object programlama şekline çevirmek.
    • "init" fonksiyonu oluşturulacak ve "print devices" fonksiyonu ile mevcut mikrofon cihazları yazdırılacak.
    • "recognizer" sınıfı oluşturulacak ve "detect speed" fonksiyonu ile ses tanıma işlemi yapılacak.
    07:25Arayüz Oluşturma
    • Tamamen command line'ın içindeyken, arayüz için "ui" adlı yeni bir dosya oluşturulacak.
    • "ui" class'ı oluşturulacak ve "tk" kütüphanesi ile pencere başlatılacak.
    • Pencereye "Asistan" başlığı verilecek ve padding eklenerek düzenlenecek.
    09:52Buton ve Arayüz Tasarımı
    • Pencereye "Konuşmak için bas" butonu eklenecek.
    • Butonun stilini "config" fonksiyonu ile ayarlayacaklar.
    • Butona basıldığında yazısı "Dinliyorum" olarak değişip, ses tanıma işlemi tamamlandıktan sonra tekrar "Konuşmak için bas" olarak dönecek.
    14:19Ses Tanıma Fonksiyonu
    • Ses tanıma işlemi için "do-catch block" kullanılacak.
    • "recognizer" sınıfı kullanılarak ses alınacak ve "definition_assistant_uwnard" fonksiyonu ile asistan uyandırılacak.
    • Mikrofon bulunamazsa "except" bloğu ile uyarı mesajı gösterilecek.
    20:36Ses Üretme Kütüphanesiyle Karşılaşılan Sorunlar
    • Speed generator için kullanılan kütüphane, konuşmayı sağlayan loop'uyla TK Inter'ın main loop'u arasında çakışma sorunu yaratıyor.
    • Syncronous function, nested loop ve farklı thread atma yöntemleri denenmiş ancak sorun çözülememiş.
    • Bu sorun muhtemelen macOS'in son sürümlerinde karşılaşılan bir sorun olup, Google'ın text to speech kütüphanesine geçilecek.
    21:52Google Text to Speech Kütüphanesinin Kullanımı
    • Google Text to Speech kütüphanesi indirilip, text'i ses dosyasına dönüştürme işlemi gerçekleştiriliyor.
    • Bu kütüphane, ses dosyasını MP3 formatında kaydedebiliyor ve başka projelerde kullanılabilir.
    • Ses dosyası oluşturulduktan sonra çalınıyor, sonra siliniyor ve dosya isimleri karışmaması için "tempmp3" gibi bir klasör oluşturuluyor.
    25:27Konfigürasyon Dosyası Oluşturma
    • Uygulamanın konfigüre edilebilir olması için bir JSON dosyası kullanılacak.
    • Main dosyasında "mac configuration" adında bir fonksiyon oluşturulup, tüm uygulamayı configure edip başlatan fonksiyon olarak kullanılacak.
    • JSON dosyası bulunamazsa, "default configuration" adı verilen varsayılan bir dosya otomatik olarak oluşturulacak.
    29:41Configuration Dosyası Oluşturma
    • Uygulama çalıştırılarak configuration dosyası oluşturuluyor.
    • Yeni oluşturulan JSON dosyasına dört space'lik indentation eklenerek configuration öğeleri daha rahat okunabilir hale getiriliyor.
    • Configuration dosyasından "lang" ve "tl" değerleri get metodu kullanılarak alınıyor ve asistan dosyasına unlimited positional argüman olarak gönderiliyor.
    32:23Konfigürasyon Parametreleri
    • Konfigürasyon parametreleri opsiyonel değil, mutlaka kullanılması gerekiyor.
    • "turner" parametresi varsa kullanılıyor, yoksa default olarak "tr" (Türkçe) atanıyor.
    • Konfigürasyon dosyası ileride Wikipedia, arama, hava durumu gibi farklı özellikler eklendiğinde işe yarayacak.
    33:35Mikrofon Erişimi ve Hata Yönetimi
    • Mikrofona erişim sağlanamadığında kullanıcıya mesaj göstermek için "show mic error" fonksiyonu oluşturuluyor.
    • MessageBox kullanılarak "Erişim sağlayamadım" mesajı kullanıcıya gösteriliyor.
    • UI'ı konsola print etmek yerine bu hatayı göstererek kullanıcı deneyimini iyileştiriyor.
    34:54Asistanı Çalıştırma
    • Asistanı çalıştırıp cevap almak için "merhaba, nasıl yardımcı olabilirim" mesajı kullanılıyor.
    • Kullanıcı girdisi "merhaba" ile eşleştiğinde asistan cevap veriyor, aksi halde girdiyi ekrana yazdırıyor.
    • Bu bölümde sıkıcı şeylerle uğraşılmış olsa da ileride eklenecek özelliklerin temeli atılmış oluyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor