Linear Predictive Coding ve Dynamic Time Warping Teknikleri Kullanılarak Ses Tanıma Sistemi Geliştirilmesi Murat Kemal BAYGÜN Egecom Ltd. mbaygun@egecom.net Yard. Doç. Dr. A. Kadir YALDIR Pamukkale Üniversitesi akyaldir@pau.edu.tr Akademik Bilişim 2006 9-11.02.2006 DENİZLİ
Ses Rabiner ve Juang: Akciğerlerden havanın dışarı atılması sonucunda oluşan hava akımının, ses sisteminde bir yerlerde sıkıştırılarak karıştırılmasından yayılan akustik dalgalardır[1]. Rabiner ve Juang, tarafından ses, akciğerlerden havanın dışarı atılması sonucunda oluşan hava akımının, ses sisteminde bir yerlerde sıkıştırılarak karıştırılmasından yayılan akustik dalgalardır şeklinde tanımlanmıştır
Ses Tanıma Cole vd: Mikrofon ya da telefon tarafından alınmış akustik bir sinyalin, kelime kümesine olan çevrim işlemi olarak tanımlanmaktadır [2]. Ses Tanıma ise, Cole vd. tarafından, mikrofon ya da telefon tarafından alınmış akustik bir sinyalin, kelime kümesine olan çevrim işlemi olarak tanımlanmaktadır.
İnsanlar arası sesli iletişim İnsanlar arası sesli iletişim modeli; Huang vd. tarafından Şekil 1’ de görüldüğü gibi verilmiştir. Konuşmanın oluşturulması süreci bir kişinin beyninde dinleyiciye konuşma yoluyla iletilecek bir mesajın düşüncesi ile başlar. Bu mesaj bir seri kelimeye dönüştürülür. Dilsel kodlama yardımıyla, bu kelime serisi, kelimelerin telaffuzuna karşılık gelen bir seri foneme dönüştürülür. Bu eşleştirme sonrasında mesajın konuşma şeklinde dinleyiciye aktarılması için ses sistemine gönderilecek sinirsel dönüşümler gerçekleştirilir. Ses sistemi bu sinirsel dönüşümler sayesinde uyarılarak konuşma gerçekleştirilir. Konuşmanın anlaşılması süreci ise dinleyicideki, işitme sistemi ile başlar. Huang vd’ nin aktardığına göre ses ilk olarak, bir filtreler bankası şeklinde frekans analizi gerçekleştiren iç kulaktaki salyangoz‘ a iletilir. Bunu izleyen sinirsel dönüşüm süreci ile spektral sinyaller, işitsel sinirlere iletilen akitivite sinyallerine dönüştürülür. Sinirsel dönüşümlerin, dilsel sistemde nasıl eşleştirildiği ve beyinde anlamanın nasıl gerçekleştiği henüz tam olarak açıklanamamıştır. Şekil 1: Huang vd tarafından verilen, İnsanlar arası sesli iletişim modeli [3].
Ses Tanıma Sistemleri Nasıl Çalışır? Şekil 2’ de ‘İnsanlar Arası Sesli İletişim Sürecindeki Dinleyici’ kesimi ile ‘Örnek bir Ses Tanıma Sistemi Modeli’ eşleştirilmesi görülmektedir. Ses Tanıma sistemleri, insanlar arası sesli iletişim sürecinde dinleyicinin yaptığı işlevleri yapay olarak gerçekleştirmeye çalışır. Şekil 2: Ses Tanıma sistemleri, insanlar arası sesli iletişim sürecinde dinleyicinin yaptığı işlevleri yapay olarak gerçekleştirmeye çalışır.
Ses Tanıma Süreci Sesin kaydedilmesi ve ifadenin saptanması Sesin işlenmesi Karşılaştırma ve eşleştirme İşlevin gerçekleştirilmesi Ses tanıma süreci, sesin kaydedilmesi ile başlar, ifadenin saptanması, sesin işlenmesi, karşılaştırma ve eşleştirme yapılması ile sürer, son olarak ta algılanan kelimeye karşılık gelen işlevin gerçekleştirilmesi ile son bulur. Ses tanıma sürecinin aşamalarına, bu aşamalarda yürütülen işlevlere ve genel olarak kullanılan tekniklere değinilecek olursa;
Sesin kaydedilmesi ve ifadenin saptanması Mikrofon veya telefon ile kayıt işleminin gerçekleştirilmesi Konuşma başlangıç ve bitişinin belirlenmesi Bir çerçevedeki RMS değeri ve Sıfırı geçiş sayısı İlk aşama, ‘Sesin kaydedilmesi ve ifadenin saptanması’ şeklindedir. Bu aşamada, ses tanıma sisteminin yapısına göre mikrofon veya telefon ile kayıt işlemi gerçekleştirilir. Sonrasında ‘Konuşma başlangıç ve bitişinin belirlenmesi’ gerçekleştirilir. Konuşma başlangıç ve bitişi belirlenirken genel olarak kullanılan teknikler bir çerçevedeki ‘RMS hesabı’ ve ‘Sıfırı geçiş sayısı’ dır. Bir çerçevedeki genliklerin kareleri toplamının aritmetik ortalamasının karekökü; genliklerin RMS değeri olarak ifade edilmektedir. (1) nolu eşitlikte RMS değerinin hesabı verilmektedir. (1)
Sesin işlenmesi Pencereleme Filtreleme Sesin kodlanması (Özellik çıkarımı) Sesin işlenmesi aşamasında genel olarak uygulanan işlemler Pencereleme, Filtreleme ve Sesin kodlanmasıdır. Sesin kodlanması, ‘Özellik Çıkarımı’ olarak ta ifade edilmektedir.
Sesin işlenmesi – Pencereleme Şekil 3: Geliştirilen uygulama ile 8000 Hz ile örneklenerek kaydedilmiş ‘sıfır’ kelimesi için başlangıç ve bitişi saptanarak belirlenmiş ses sinyali. (2) Şekil 2’ de, geliştirilen uygulama ile kaydedilmiş ‘sıfır’ kelimesi için ‘RMS değeri’ hesabı ve ‘Sıfırı geçiş sayısı’ kullanılarak başlangıç ve bitişi ile birlikte belirlenmiş ses sinyali görülmektedir. Geliştirilen uygulamada Pencereleme fonksiyonu olarak, sıkça kullanılan Hamming Pencereleme fonksiyonu seçilmiştir. Hamming penceresi yardımıyla ses sinyalinin merkezi belirginleştirilmektedir. Hamming Pencereleme fonksiyonu, 2 nolu eşitlikle verilmiştir. Şekil 3’ deki ses sinyalinin Hamming Pencereleme fonksiyonu çıkışı Şekil 4’ te görülmektedir. Şekil 4: Hamming penceresinden geçirilmiş ‘sıfır’ kelimesi için ses sinyali.
Sesin işlenmesi – Sesin kodlanması PCM (Linear Pulse Code Modulation) APCM (Adaptive Pulse Code Modulation) DPCM (Differential Pulse Code Modulation) ADPCM (Adapted Differential Pulse Code Modulation) DM (Delta Modulation) Ses tanıma sistemlerindeki bir diğer işlem de, sesin işlenmesi aşamasında yürütülen sesin kodlanmasıdır. Sesin kodlanması için kullanılan pek çok teknik bulunmaktadır. Bunların bir kısmı PCM, APCM, DPCM, ADPCM, DM olarak verilebilir. PCM (Linear Pulse Code Modulation) APCM (Adaptive Pulse Code Modulation) DPCM (Differential Pulse Code Modulation) ADPCM (Adapted Differential Pulse Code Modulation) DM (Delta Modulation)
Sesin işlenmesi – Sesin kodlanması Bank-of-Filters LPC (Linear Predictive Coding) CELP (Code-Excited Linear Prediction) PLP (Perceptual Linear Prediction) RASTA-PLP (RelAtive SpecTrAl Technique - Perceptual Linear Prediction) Diğer bazı teknikler ise, bir seri filtreden geçirerek ses sinyalinin farklı frekanslardaki analizini gerçekleştiren Bank-of-Filters. İnsan gırtlağı ve ağız yapısı özelliklerinin yanısıra, ses özelliklerini de dikkate alması bakımından sıkça kullanılmakta olan LPC. Geliştirilen uygulamada bu kodlayıcıdan yararlanılmış ve Andy Fingerhut tarafından geliştirilmiş olan LPC10 kodlayıcısı kullanılmıştır. CELP, VSELP, PLP ve RASTA-PLP gibi daha gelişmiş tekniklerde bulunmaktadır. Bank-of-Filters LPC (Linear Predictive Coding) CELP (Code-Excited Linear Prediction) PLP (Perceptual Linear Prediction) RASTA-PLP (RelAtive SpecTrAl Technique - Perceptual Linear Prediction)
Karşılaştırma ve eşleştirme HMM (Hidden Markov Model) DTW (Dynamic Time Warping) Yapay Sinir Ağları Ses tanıma sürecinin diğer bir aşaması ise ‘Karşılaştırma ve Eşleştirme’ dir. Bu aşamada, sistemde kayıtlı şablonlar veya dil kurallarından yararlanılarak sesli ifadenin kelime karşılığı belirlenmektedir. Bu aşamada sıkça kullanılan teknikler ise, Hidden Markov Model, Dynamic Time Warping ve Yapay Sinir Ağlarıdır.
İşlevin gerçekleştirilmesi Ses tanıma sisteminin, giriş olarak aldığı ses sinyalinden çıkarımını yaptığı, eşleştirilen kelimeye karşılık gelen işlevin gerçekleştirilmesi. Ses tanıma sürecinde en son aşama ise ‘İşlevin gerçekleştirilmesidir.’ Bu aşamada, ses tanıma sisteminde giriş olarak alınan ses sinyalinden eşleştirilen kelimeye karşılık gelen işlev gerçekleştirilir.
LPC – Linear Predictive Coding (3) (4) (5) (6) Lineer Predictive Coding, insan gırtlağı ve ağız yapısı özelliklerinin yanısıra, ses özelliklerini de dikkate alır. Doğrusal önkestirim temel olarak, sesin, periyodik dürtü veya rastgele gürültü ile uyarılan, doğrusal ve zamana göre değişen bir sistemin çıktısı ile modellenebileceği prensibine dayanır. Bu model doğrusal bir filtre olarak (3) nolu eşitlikteki transfer fonksiyonu ile ifade edilmektedir. Bu eşitlikte ters z-dönüşümü yapılacak olursa (4) nolu eşitlik elde edilir. LPC, sıradaki örneğin, önceki bir seri örnekten yaklaşık olarak elde edilebileceği prensibine dayanır. Bu eşitlik 5’ te (x ^ n) ile gösterilmektedir. Eşitlik 4’ ten Eşitlik 5’ in çıkarılması ile (6) nolu eşitlik elde edilmektedir. 6 nolu eşitliğin çözümü ile p adet parametre hesaplanmaktadır. Bu parametreler LPC parametreleri; p ise, LPC kodlayıcının seviyesi olarak ifade edilir. LPC, sıradaki örneğin, önceki bir seri örnekten yaklaşık olarak elde edilebileceği prensibiyle çalışır (Eş. 5). p : LPC kodlayıcı seviyesi a1, a2, ... , ap : LPC Parametreleri
DTW – Dynamic Time Warping Belirli bir sözcüğün seslendirilmesi, kişiden kişiye hatta aynı kişinin farklı zamanlarda seslendirmesi ile zaman içinde farklılık gösterebilmektedir. Aynı sözcüğün seslendirilmesi, bir seslendirmede uzun, bir seslendirmede ise daha kısa zamanda gerçekleştirilebilir. Aynı zamanda, ses sinyalinde kimi fonemler daha uzun, kimileri ise daha kısa yer almaktadır. Dynamic Time Warping algoritması yardımıyla, bu iki seslendirme, zaman içinde yayılarak ya da daraltılarak birbirine yaklaştırılmaya çalışır. Yani bu iki seslendirmenin, zaman olarak örtüştürülmesi işlevi gerçekleştirilir. Şekil 5’ te konuşma sinyaline doğrudan DTW algoritmasının uygulanması görülmektedir. DTW, sözcük tabanlı ses tanıma sistemlerinde etkin ve sıkça kullanılan bir yöntemdir. Bu yaklaşımla, çalışma anında tespit edilen sözcük kesimlemesi, sistemde kayıtlı sözcük şablonları ile seslendirme zamanları örtüştürülerek karşılaştırılması gerçekleştirilebilir. Şekil 5: Konuşma sinyaline doğrudan DTW algoritmasının uygulanması [8].
LPC Parametreleri üzerine DTW uygulanması Bu algoritmanın bir diğer kullanılma şekli ise; şablon olarak kayıtlı birden çok parametrenin ayrı ayrı DTW algoritması yardımıyla karşılaştırma işlemi için hazırlanması ve beraberce değerlendirilmesidir. LPC Parametreleri üzerine DTW uygulanması Şekil 6’ da gösterilmektedir. Şekil 6: LPC Parametreleri üzerine DTW algoritmasının uygulanması.
Geliştirilen Ses Tanıma Sistemi Modeli Geliştirilen Ses Tanıma Sistemi Modeli 1. Seviye diyagramı, Şekil 7’ de verilmektedir. Şekil 7: Geliştirilen Ses Tanıma Sistemi Modeli 1. Seviye diyagramı
Geliştirilen Ses Tanıma Sistemi – İş parçacıkları Ana İş Parçacığı Kuyruk Analizcisi İfade Kuyruğu Analizcisi LPC Kuyruğu Analizcisi Ana İş Parçacığı, kullanıcı grafik arabirimi olup, sesin kaydedilmesi, işlevin gerçekleştirilmesi ve şablonların kaydedilmesi aşamalarını içerir. Kuyruk Analizcisi, ses kuyruğunun izlenmesinden sorumlu olup, aynı zamanda sesli ifadelerin başlangıç ve bitişini belirleyerek İfade kuyruğuna eklemektedir. İfade Kuyruğu Analizcisi, ifade kuyruğunun izlenmesinden sorumlu olup, sesin işlenmesi aşamasını yürütmektedir. LPC ile kodlama bu iş parçacığında yapılmaktadır. LPC Kuyruğu Analizcisi, LPC kuyruğunun izlenmesinden sorumludur, karşılaştırma ve eşleştirme bu iş parçacığı tarafından yapılmaktadır.
Kaynaklar [1] Rabiner, L., Juang, B., 'Fundamentals of Speech Recognition', ISBN: 0-13-015157-2, 1993. [2] Cole, R.A., Mariani, J., Uszkoreit, H., Zaenen, A. and Zue, V., ‘Survey of the State of the Art in Human Language Technology’ http://cslu.cse.ogi.edu/HLTsurvey/HLTsurvey.html, 1995 [3] Huang, X., Acero, A. and Hon, H.W., ‘Spoken Language Processing: A Guide to Theory, Algorithm and System Development’(1st Ed.) Prentice Hall PTR, ISBN 0-13-022616-5, 2001. [4] Coleman, J., ‘Introducing Speech and Language Producing’, Cambridge University Press, ISBN 0-52-153069-5, 2005.
Kaynaklar [5] Smith, S.W., ‘The Scientist’s and Engineer’s Guide to Digital Signal Processing’(2nd Ed.) California Technical Publishing, ISBN 0-96-601764-1, 1999 [6] Robinson, T., ‘Speech Anaylsis Tutorial’, http://svr-www.eng.cam.ac.uk/~ajr/ SpeechAnalysis/, 1998. [7] Fingerhut, A., ‘U.S. Department of Defense LPC-10 2400 bps Voice Coder’, http://www.arl.wustl.edu/~jaf/lpc/lpc10-1.5.tar.gz, 1997. [8] Kale K. R., ‘Dynamic Time Warping’, http://www.cnel.ufl.edu/~kkale/dtw.html, 2006.
Teşekkürler... Murat Kemal BAYGÜN Egecom Ltd. mbaygun@egecom.net Yard. Doç. Dr. A. Kadir YALDIR Pamukkale Üniversitesi akyaldir@pau.edu.tr Katılımınızdan dolayı hepinize teşekkür ederim.