Dr. Volkan Tunalı'nın Kişisel Blogu

Bilgisayar, Teknoloji, Bilim, Sanat

Matlab ile Örnek Bir Konuşma Tanıma Uygulaması – Giriş

9 comments

Konuşma Tanıma alanında proje yapmak isteyen öğrenciler sanıyorum ki sıklıkla benim tezimle ilgili sayfaya ulaşıyorlar ve benden bu konuda yardım istiyorlar. Genellikle de konuyla ilgili yardım istekleri şu şekilde oluyor:

  • Nereden başlayalım?
  • XYZ programlama diliyle yapmayı düşünüyorum, ne dersiniz?
  • Şöyle bir uygulama gerekiyor, yapılabilir mi?
  • Tezinizin Türkçe’si var mı?

Çok fazla zaman ayıramasam da bana ulaşan kimseyi yanıtsız ve yardımsız bırakmamak için en azından görüşlerimi paylaşıp yönlendirici bilgiler vermeye çalışıyorum. Genellikle de isteyen olursa tezimin Matlab kodlarını ve kullandığım Voicebox ve HMM toobox’larını veriyorum. Kodlardan ne kadar yararlanılabildi bu güne kadar pek bilemiyorum ama zaman zaman kodlardan da bir çıkış yolu ya da başlangıç noktası bulamayanlar oluyor. Bu nedenle ben de bu toolbox’ların nasıl kullanılabileceğini, basit bir konuşma tanıma uygulamasının nasıl yapılabileceğini örnek yaparak göstermeye karar verdim. Böylece pek çok kişi için başlangıç aşamasında daha büyük bir yardım sağlamış olurum diye düşünüyorum. Umarım bu, kopyala-yapıştır proje yapma meraklılarını fazla heveslendirmez.

Örnek uygulamayı kısa süre içerisinde hazırlayıp yayınlayacağım ve adım adım anlatacağım. Ancak, bunun öncesinde, özellikle konuşma tanıma alanında proje hazırlamayı düşünen arkadaşlarıma yönelik değinmek istediğim şeyler var.

Bazen lisans bitirme tezi, bazen de bir dersin dönem projesi olarak konuşma tanıma ile ilgili uygulamalar yapmak isteyenleri görüyorum. Şunun bilinmesini isterim ki basit, birkaç sözcük tanıması yeterli olan bir sistemi yapmak nispeten kolay, ama işin kapsamı genişledikçe, uygulamadan beklenen şeylerin çapı arttıkça zor bir yola girilmekte. Bu nedenle bu tür bir projeyi seçmeden önce buna dikkat edilmesini öneririm. Hatta, eğer akademik hayatınızın ileriki dönemlerinde benzer bir alanda çalışmayı düşünmüyorsanız bence yolun başındayken ileride de çalışmak isteyebileceğiniz başka bir konu seçin. Çok ciddiyim.

Matlab, sadece konuşma tanıma alanında değil, çok çeşitli bilim ve mühendislik alanlarında hızlı prototip geliştirme ve çabuk deneme yapma olanağı sağlayan mükemmel bir araç (hiç abartmıyorum). Yüksek lisans tezimi yaparken Matlab kullandım ve bunun çok avantajını gördüm. Sonrasında da pek çok projemde ve çalışmamda sıkça kullandım, halen doktora tezimle ilgili çalışmalarda da yoğun bir biçimde kullanmaktayım. Eğer başka bir dil kullanarak proje yapmanız gerekiyorsa biraz zorlanabilirsiniz, ses sinyali işleme ve örüntü tanıma (pattern recognition) alanında hazır kütüphanelere ihtiyacınız olacak. Eğer bir kısıtlamanız yoksa Matlab’ı tercih etmenizi öneririm. Herhangi bir programlama dilini biliyorsanız, Matlab’da program yazmayı birkaç örnek yaparak işinize yarayacak ölçüde öğrenebilirsiniz.

Konuşma Tanıma ile ilgili çalışacakların en başında şu 2 temel alandan bilgiler edinmeleri çok yararlı olacaktır:

  • Ses Sinyali İşleme: Temel bilgilere sahip olmanız çalışmanız ve araştırmanız sırasında karşılacağınız terimleri, yazıları, örnekleri daha rahat anlamanızı sağlar. Frekans, pencereleme, spektrum vs. bilinmesinde fayda var.
  • Örüntü Tanıma ve Sınıflandırma (Pattern Recognition & Classification): Genellikle Yapay Zeka başlığı altında incelenen bu konuda çok çeşitli yöntemler/algoritmalar geliştirilmiştir. Örneğin, HMM, Yapay Sinir Ağları, vs. Efektif olması ve hazır toolbox’a sahip olduğum için ben HMM kullanmayı tercih ettim. Konuşma Tanıma alanda çalışacakların bu konularda en azından ön bilgi sahibi olması çok yerinde olur.

Son olarak, benim tezim 2005 yılındaydı. O günden bugüne Türkçe veya değil, konuşma tanımayla ilgili pek çok tez yapıldığını tahmin ediyorum. Ben hiç takip etme fırsatı bulamadım ve zaten tamamen başka bir alanda çalışıyorum. YÖK’ün tez tarama sayfalarından mutlaka araştırma yapılmalı ve ilgili tezler incelenmeli. Hatta bu tezlerin sahipleriyle de iletişim kurularak bilgi alınması yararlı olabilir, akıl akıldan üstündür, yeni teknikler geliştirilmiş olabilir. Ayrıca, benim tezimin referanslar bölümünde çok yararlı kitaplar ve tezler yer alıyor, onlara bakılmasını da tavsiye ederim. Bundan 5-6 sene önce kitap bulmak zordu ama şimdi rahatlıkla pek çok kitabı e-book olarak bulabilirsiniz. Bulamadığınız olursa, ben Boğaziçi Üniversitesi’nin kütüphanesinden çok yararlanmıştım, oraya bakabilirsiniz. Tezimin Türkçe hali yok, orijinali İngilizce.

Bu yazdıklarımın Konuşma Tanıma alanında çalışmak isteyenlere az da olsa fikir verebildiğini umarım. Herkese çalışmalarında başarılar dilerim.

Not: Sorusu olan arkadaşlar, burada yorum bırakarak sorarlarsa, yapacağımız diyaloglar sonradan gelecek arkadaşlara da yararlı olabilir.

Written by vtunali

Aralık 3rd, 2010 at 12:29 am