MATLAB Konuşma Tanıma – MATLAB’de Konuşma Tanıma
MATLAB Konuşma İnsan konuşmasının makine tarafından anlaşılması, ” Yapay Zekanın” ana hedeflerinden biridir .MATLAB Konuşma Bu doğrultuda yapılan araştırmalar arasında “Konuşma Tanıma” hem konuşma işlemeyi hem de metin işlemeyi kapsayan bu alanın çalışma kollarından biri olarak kabul edilebilir. Bu yazımızda konuşma tanıma konusuna kısa bir giriş yapıp bu sistemlerin kullanım alanları ile avantaj ve dezavantajlarını açıklamaya çalışıyoruz. Makalenin sonunda MATLAB’de derin öğrenme algoritmaları kullanarak bir konuşma tanıma sistemi gerçekleştireceğiz .
Bu bölümde öncelikle MATLAB’de konuşma tanıma için ön konular ve ön koşullar ele alınmış, ardından bir sonraki bölümde ana tartışma ele alınmıştır.
Konuşma tanıma nedir?
Konuşma tanıma, amacı insan sesini (konuşmayı) tanıyabilen ve onu makinenin anlayabileceği bir forma dönüştürebilen akıllı sistemler tasarlamak olan yapay zeka alanındaki sorunlardan biri olarak kabul edilmektedir. Siri, Alexa, Google ve Cortana gibi bazı şirketler konuşma tanıma programları geliştirmek için yapay zeka, ” Makine Öğrenimi ” , ” Derin Öğrenme” ve ” Neural Networks ” gibi yeni teknolojileri kullanıyorlar .
Bu, akıllı telefonlar, ev güvenlik araçları, arabalar ve bunun gibi donanım cihazlarının ve elektronik araçların kullanım biçiminde değişiklik ve dönüşümleri beraberinde getirdi.Burada konuşma tanıma probleminin “Ses Tanıma” probleminden farklı olduğunu unutmamak gerekir. Konuşma tanımada, farklı dil ve lehçelere sahip farklı kişilerin seslerini kaydedebilecek, ardından ses dosyasındaki kelimeleri tanıyabilecek ve son olarak tanınan sesli kelimeleri metne dönüştürebilecek bir sistem tasarlamayı düşünüyoruz.
Buna karşılık, ses tanıma probleminin amacı, sistem için halihazırda tanımlanmış olan sesleri tanımaktır. Yani ses tanıma sistemleri sadece sınırlı sayıda kişinin konuşmasını tanımak için tasarlanmıştır. Ayrıca bu sistemlerin tanıyabileceği kelime ve cümle aralığı da oldukça sınırlıdır.”Aç”, “Kapat”, “Hava sıcaklığını 25 santigrat dereceye değiştir” gibi sınırlı komutlarla çalışan elektronik sistemler, ses tanıma programı ile donatılmıştır.
Konuşma tanıma sistemi nasıl çalışır?
Konuşma tanıma sistemleri karmaşık bir süreç içerir ve 4 ana adımdan oluşur. İlk adımda, modelin konuşmadaki kelimeleri tanıması gerekir, bunun için giriş ses dosyasını daha küçük parçalara bölmek gerekir. Ardından, konuşma tanıma sistemi tanınan kelimeleri metne dönüştürmelidir. Bir sonraki adımda konuşma tanıma sistemi konuşulan cümlenin anlamını belirlemeli ve son adımda belirlenen anlama göre ilgili işlemi yapmalıdır.
Konuşma tanıma sistemlerinin uygulamaları
Konuşma tanıma sistemleri birçok kuruluşta kullanılmaktadır. Bu sistemleri kullanan merkezlerden biri de firmaların çağrı merkezidir. Bu merkezlerde bulunan konuşma tanıma sistemi müşterilerin sesli mesajlarını dinleyerek ihtiyaçlarına göre hizmet ve danışmanlık hizmeti vermektedir.
Bankalar ayrıca konuşma tanıma sistemini müşterilerin banka hesaplarıyla ilgili sorularına rehberlik etmek ve yanıtlamak için kullanabilen diğer kuruluşlardır.
Hastaneler ve tıp merkezleri de hastalara daha iyi hizmet verebilmek için konuşma tanıma sistemlerini kullanabilir. Yani hastalar doktor ve hemşirelerle iletişim kurmak için isteklerini konuşma tanıma sistemlerine gönderebiliyor. Ayrıca bu sistemler hasta öyküsünü kaydedebilmekte ve doktorlar bu sistemlerde kaydedilen bilgilerle hastaların fiziksel durumlarından haberdar olabilmektedir.Konuşma tanıma sistemlerinin bir diğer yaygın kullanımı ise internet ve sosyal medyadır. Kullanıcılar bu tür programları kullanarak konuşmalarını yazıya dökerek yazıya gerek duymadan arkadaşlarına gönderebilmekte veya sosyal medyada paylaşabilmektedir.
Konuşma tanıma sisteminin avantajları
Konuşma tanıma sisteminin uygulamaları ile ilgili bölümde, bu sistemlerin insan yaşamının farklı alanlarındaki olumlu etkileri ele alınmıştır. Aşağıda, bu sistemlerin en önemli avantajlarından bazılarına değineceğiz:
- Makine ve insan arasında iletişim : Konuşma tanıma sistemini kullanarak insan sistemle kendi dilinde iletişim kurabilir.
- Kolay erişim : Konuşma tanıma sistemlerine bilgisayar ve akıllı telefonlardaki çeşitli yazılım programları aracılığıyla kolayca erişilebilir.
- Kullanımı kolay : Kişiler konuşma tanıma sistemlerini akıllı telefon ve bilgisayar gibi kişisel cihazlarında rahatlıkla kullanabilirler ve bu sistemlerle çalışmak özel bir bilgi gerektirmez.
- İşi hızlandırmak : Konuşmak, yazmaktan çok daha hızlı gerçekleşir. Bu sayede bilgisayar sistemlerinden belirli bir eylemi mümkün olan en kısa sürede gerçekleştirmelerini istemek mümkündür.
- Fiziksel engelli kişilerin işini kolaylaştırmak : konuşma tanıma sistemleri, fiziksel engelli kişilerin çeşitli görevleri yerine getirmelerine yardımcı olabilir. Bu kişilerin bu sistemlerle konuşarak iletişim kurmaları isteklerinin yerine getirilmesi için yeterlidir.
Konuşma tanıma sisteminin dezavantajları
Konuşma tanıma sistemleri ile ilgili bahsedilen avantajların yanı sıra bu sistemlerin en önemli zayıf yönlerinden bazılarını sayabiliriz:
- Düşük performans : konuşma tanıma sistemleri, aksan ve lehçelerin çeşitliliği, bazı dillerin desteklenmemesi ve çevresel gürültülerin varlığı gibi çeşitli nedenlerle konuşmayı yüksek doğrulukla tanıyamayabilir.
- Kaynak dosyalarla ilgili sorunlar : Konuşma tanıma sistemleri, güçlü ses kayıt ekipmanlarına sahiplerse iyi çalışabilirler. Bu sistemler giriş konuşmasını düzgün bir şekilde kaydedemezlerse, konuşmayı doğru bir şekilde tanıyamazlar ve ardından kullanıcının isteğine göre doğru işlemi yapmazlar.
- Düşük sistem hazırlama hızı : Bazı konuşma tanıma sistemleri çok ağır ve karmaşıktır ve bunların kullanıcılara sunulması çok zaman alır.
konuşma tanıma algoritmaları
Bir konuşma tanıma sistemi tasarlamak ve gerçekleştirmek için aşağıda belirtilen farklı yöntemler kullanılabilir:
- “Gizli Markov Modeli” (HMM) : Bu yöntem, bir sistemi, modelin kararını vermek için tüm bilgilere sahip olmayacak şekilde tasarlamak istediğimizde kullanılır. Bu yöntem, konuşmayı tanımak için ses sinyallerinin her biri ile dil birimlerini eşleştirmek için konuşma tanıma sisteminde kullanılabilecek olasılıksal bir yöntemdir.
- N-gram yöntemi : Bu yöntem, bir cümlenin veya ifadenin olasılık dağılımını belirleyen bir dil modeli oluşturmak için en basit yöntem olarak kabul edilir . Mevcut verilere göre, bu dilbilimsel model, cümlenin devamında hangi kelimenin geçme olasılığının daha yüksek olduğunu belirler.
- Yapay zeka modelleri : derin öğrenme algoritmaları ve makine öğrenme algoritmaları, konuşma tanıma sistemlerinin uygulanmasında yaygın olarak kullanılmaktadır. Bu modeller, konuşmayı işlemek için dilbilgisi ve kelimelerin yapısal özellikleri ve ses sinyali bilgileri gibi bilgileri kullanır.
Bu yazımızda MATLAB’de ses tanıma sistemini gerçekleyebilmek için yapay zeka yöntemini kullanacağız. Aşağıda, bu sistemin uygulama adımlarını tartışacağız.
Örneklerle MATLAB’de konuşma tanımaya giriş eğitimi
Bu bölümde, derin öğrenme modelini kullanarak, MATLAB’de bir konuşma tanıma örneği sunuyoruz. MATLAB, tıpkı Python programlama dili gibi, yapay zeka alanında yaygın olarak kullanılan programlama dillerinden biri olarak kabul edilmekte ve kullanıcılarına yapay zeka modellerini gerçekleştirmeleri için çeşitli kolaylıklar ve araçlar sağlamaktadır. Aşağıda, programa veri yüklemeden model değerlendirmeye kadar konuşma tanıma sistemi tasarımının farklı aşamalarını tartışacağız.
veri yükleme
MATLAB’de bir Konuşma Tanıma sistemi uygulamak için, önce modelin eğitim verilerini programa yükleyin. Bu örnekte, Google Konuşma Komutlarından alınan verileri kullanıyoruz. Aşağıdaki kod parçacığını kullanarak verileri indiririz ve ardından sıkıştırılmış halden çıkarırız.
Yukarıdaki kodun çıktısını aşağıdaki görselde şema halinde görebilirsiniz:
Daha büyük boyutta görüntülemek için resmin üzerine tıklayın.
MATLAB’de konuşma tanıma modelinin öğretimi için veri hazırlama
MATLAB’deki mevcut konuşma tanıma örneğinde, ” Evrişimli Sinir Ağı ” (CNN) kullanıyoruz. Bu amaçla, ses verilerini “İşitsel Spektrogramlara” dönüştürmemiz gerekiyor. Bu bağlamda, aşağıdaki liste gibi parametrelerin tanımlanması gerekir:
- segmentDuration parametresi : Bu parametre, her bir ses dosyasının süresini saniye cinsinden belirtir.
- frameDuration parametresi : Bu parametre, spektrumu hesaplamak için her çerçevenin süresini belirler.
- hopDuration : Bu parametre, her spektrum arasındaki zaman adımını belirtir.
- numBands : Bu parametre, ses spektrogramı filtrelerinin sayısını tanımlar.
Aşağıdaki kod parçacığı, MATLAB’de tanımlanan parametrelerin her birinin değerini gösterir.
Daha büyük boyutta görüntülemek için resmin üzerine tıklayın.Bu amaçla MATLAB’de aşağıdaki kod parçası kullanılabilir:
Aşağıdaki kod parçacığında, işlevin nasıl kullanılacağı hepsini oku Gözlenir:
sayiHop = 98 sayıBantları = 50 kanal sayısı = 1 dosya sayısı = 28463
Ayrıca aşağıdaki kod parçacığını kullanarak dönüştürme ve boyut değiştirme katmanlarının adımlarını doğrulama verilerine uygularız:
Yukarıdaki kodun çıktısı aşağıdaki görselde görülmektedir.
MATLAB’de konuşma tanıma modelinin tanımı
MATLAB’de konuşma tanıma sistemini uygulamak için, 5 evrişimli sinir ağı ve tam bağlantılı bir katman içeren basit bir sinir ağı mimarisi kullandık.
Değişken numF Evrişimli sinir ağı filtrelerinin sayısını belirtir. Modelin doğruluğunu artırmak için sinir ağı katmanlarının sayısı arttırılabilir ve model için ReLU aktivasyon fonksiyonu kullanılabilir. Aşağıdaki resimde sinir ağı mimarisini görebilirsiniz.
Aşağıdaki kod parçacığını kullanarak, konuşma tanıma modeli MATLAB’de uygulanabilir:
MATLAB’de konuşma tanıma modelinin değerlendirilmesi
Eğitim modelini değerlendirmek için doğrulama verilerini kullanıyoruz. Bu amaçla MATLAB’de şu fonksiyonu kullanabilirsiniz: sınıflandırmak aşağıdaki gibi kullanılır:
"Eğitim hatası: %2,7263" "Doğrulama hatası: %6,3968"
“Karışıklık Matrisini” dikkate almak için işlevi kullanabilirsiniz karışıklık çizelgesi aşağıdaki gibi kullanılır:
Karışıklık matrisinin sonucunu aşağıdaki resimde görebilirsiniz.
Çözüm
Konuşma tanıma sistemleri, insan yaşamının çeşitli alanlarında etkin olarak kullanılan akıllı sistemlerden biridir. Bu sistemlerin kullanılması insanların çeşitli görevleri yapmasını kolaylaştırmıştır. Bu yazımızda konuşma tanıma sistemlerini kısaca tanıtıp işleyişini, avantaj ve dezavantajlarını incelemek istedik.