• Sonuç bulunamadı

Saklı Markov Modelleri ve Sürekli Konuşma Tanıma Tekniğiyle Rakam Dizisi Tanıma Alper Tunca YÜKSEK LİSANS TEZİ Elektrik-Elektronik Mühendisliği Anabilim Dalı Temmuz 2010

N/A
N/A
Protected

Academic year: 2022

Share "Saklı Markov Modelleri ve Sürekli Konuşma Tanıma Tekniğiyle Rakam Dizisi Tanıma Alper Tunca YÜKSEK LİSANS TEZİ Elektrik-Elektronik Mühendisliği Anabilim Dalı Temmuz 2010"

Copied!
77
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Saklı Markov Modelleri ve Sürekli Konuşma Tanıma Tekniğiyle Rakam Dizisi Tanıma Alper Tunca

YÜKSEK LİSANS TEZİ

Elektrik-Elektronik Mühendisliği Anabilim Dalı Temmuz 2010

(2)

Digit Sequence Recognition Using Hidden Markov Models and Continuous Speech Recognition Technique

Alper Tunca

MASTER OF SCIENCE THESIS

Department of Electrical-Electronics Engineering July 2010

(3)

Saklı Markov Modelleri ve Sürekli Konuşma Tanıma Tekniğiyle Rakam Dizisi Tanıma

Alper Tunca

Eskişehir Osmangazi Üniversitesi Fen Bilimleri Enstitüsü Lisansüstü Yönetmeliği Uyarınca

Elektrik-Elektronik Mühendisliği Anabilim Dalı Telekomünikasyon Bilim Dalında

YÜKSEK LİSANS TEZİ Olarak Hazırlanmıştır

Danışman: Yrd. Doç. Dr. Rifat EDİZKAN

Temmuz 2010

(4)

Elektrik-Elektronik Mühendisliği Anabilim Dalı Yüksek Lisans öğrencisi Alper Tunca’nın YÜKSEK LİSANS tezi olarak hazırladığı “Saklı Markov Modelleri ve Sürekli Konuşma Tanıma Tekniğiyle Rakam Dizisi Tanıma” başlıklı bu çalışma, jürimizce lisansüstü yönetmeliğin ilgili maddeleri uyarınca değerlendirilerek kabul edilmiştir.

Danışman : Yrd. Doç. Dr. Rifat EDİZKAN

İkinci Danışman : -

Yüksek Lisans Tez Savunma Jürisi:

Üye : Yrd. Doç. Dr. Rifat EDİZKAN

Üye : Prof. Dr. Atalay BARKANA

Üye : Prof. Dr. M.Bilginer GÜLMEZOĞLU

Üye : Yrd. Doç. Dr. Erol SEKE

Üye : Yrd. Doç. Dr. Kemal ÖZKAN

Fen Bilimleri Enstitüsü Yönetim Kurulu’nun ... tarih ve ...

sayılı kararıyla onaylanmıştır.

Prof. Dr. Nimetullah BURNAK Enstitü Müdürü

(5)

ÖZET

Son yıllarda sürekli konuşma tanıma konusunda büyük ilerlemeler kaydedilmiştir. Birçok alanda uygulamalar geliştirilmiştir. Türkçe için de bazı uygulamalar ve çalışmalar yapılmıştır. Türkçe’nin, sondan eklemeli bir dil olarak, dağarcık boyutu çok fazladır. Dağarcık boyutu yüksek bir uygulama geliştirmek için fonem tabanlı bir konuşma tanıma sisteminin geliştirilmesi gerekir. İleride yapılacak karışık ve kapsamlı uygulamalara bir kaynak ve altyapı teşkil etmesi amacıyla bu tez kapsamında fonem tabanlı bir sürekli konuşma tanıma sisteminin geliştirilmesi yapılmıştır. Bu sistem üzerinde üç basamaklı sayı ve dörtlü rakam dizisinin tanınması uygulaması geliştirilmiştir. Bu uygulama not girişi, haberleşme sistemlerinde frekans girişi, otomatik telefon numarası çevirimi gibi gerçek uygulamalar için bir temel oluşturabilir. Rakam dizisi tanıma uygulaması için gerekli tüm fonemler için, kelime içindeki durumlarına göre üçlü fonem (trifon) bazında Saklı Markov Modelleri (Hidden Markov Models) oluşturulmuş ve eğitilmiştir. Eğitim sonucu elde edilen SMM’ler ile rakam dizisi tanıma uygulamaları yapılmış ve elde edilen başarımlar değerlendirilmiştir.

Anahtar Kelimeler: Sürekli konuşma tanıma, Saklı Markov Modeli.

(6)

SUMMARY

Recently, there are many improvements in continuous speech recognition systems. Several applications have been developed in various fields. Also many practical applications have been developed in Turkish. Turkish, as an agglunative language, it has a vast vocabulary. Phoneme based training should be performed for large vocabulary speech recognition systems. In this thesis, in order to assist and to be background for more complex and comprehensive applications, an application about digit sequence recognition was developed. This application can be utilized in many practical applications like grade entry, frequency selection in communication systems, phone number dialing. For digit sequence recognition application, Hidden Markov Models were developed and trained for phonemes in Turkish, as context dependent triphones. At the end of training several recognition tests are performed and results were evaluated.

Keywords: Continuos Speech Recognition, Hidden Markov Model, Hidden Markov Tool Kit

(7)

TEŞEKKÜR

Yüksek Lisans tez çalışmalarımda, bana danışmanlık ederek, beni yönlendiren ve her türlü olanağı sağlayan danışmanım Yrd. Doç. Dr. Rifat EDİZKAN’a ayrıca katkılarından dolayı tüm çalışma arkadaşlarıma ve bu dönemde bana gösterdiği sabır ve desteklerinden dolayı sevgili eşim Tuba’ya ve kızım Zeynep Yağmur’a sonsuz teşekkürlerimi sunarım.

(8)

İÇİNDEKİLER

Sayfa

ÖZET……….………..v

SUMMARY………vi

TEŞEKKÜR………..vii

ŞEKİLLER DİZİNİ………x

ÇİZELGELER DİZİNİ………xi

KISALTMALAR……….………xii

1 GİRİŞ ... 1

2 KONUŞMA TANIMA... 3

2.1 İstatistiksel Konuşma Tanıma... 3

2.1.1 Ön-uç parametreleme... 5

2.1.2 Saklı Markov Modelleri... 7

2.1.3 SMM’ler için üç temel problem... 9

3 HTK... 18

3.1 Giriş ... 18

3.2 Araçlar ve Modüller... 18

3.2.1 Veri Hazırlama Araçları: ... 20

3.2.2 Eğitim Araçları: ... 20

3.3 Dosya Tipleri ... 22

3.3.1 Etiket dosyaları: ... 22

3.3.2 Sözlük dosyası: ... 22

3.3.3 SMM tanım dosyası:... 23

3.3.4 Konfigürasyon dosyası: ... 23

3.3.5 Skript dosyası:... 24

3.3.6 Toplu işlem dosyası: ... 24

3.3.7 HTK ile İstatistiksel Konuşma Tanıma ... 25

3.3.8 Akustik modelleme ... 28

3.4 Dil Modelleme ... 34

3.4.1 Çözümleme (Decoding)... 36

3.4.2 Türkçe için yapılan diğer çalışmalar... 38

(9)

Sayfa

4 TÜRKÇENİN SES YAPISI ... 39

4.1 Türkçenin Ses Özelikleri ... 39

4.1.1 Türkçede ünlüler ve ünsüzler... 39

4.1.2 Seslerin süreleri... 40

4.2 Türkçedeki Fonem Yapısı... 41

4.3 METUbet ... 41

5 SÜREKLİ KONUŞMA TANIMA SİSTEMİ GELİŞTİRME ... 43

5.1 Gramerin Oluşturulması: ... 43

5.2 Veritabanının Hazırlanması ... 44

5.3 Eğitim İçin Ön Hazırlık: ... 45

5.3.1 MFCC parametrelerini çıkarılması ... 46

5.4 Eğitim... 46

5.4.1 Fonemlerin eğitimi... 46

5.4.2 Üçlü fonemlerin (trifon) eğitimi ... 47

5.5 Rakam Dizisi Tanıma ... 48

5.6 Değerlendirme ... 51

6 SONUÇ VE ÖNERİLER... 53

7 EK AÇIKLAMALAR... 54

8 KAYNAKLAR DİZİNİ ... 63

(10)

ŞEKİLLER DİZİNİ

Şekil Sayfa

2.1 Sürekli konuşma sistemi ... 4

2.2 Ön-Uç işlemci blok şeması ... 5

2.3 Mel-Scale filtre kümesi... 7

2.4 Birinci derece 3 durumlu Saklı Markov modeli ... 8

2.5 P(O/λ)'yı elde etmek için ileri geri olasılık fonksiyonları... 12

2.6 Viterbi akış algoritması... 15

3.1 HTK yazılım mimarisi ... 19

3.2 HTK işlem basamakları ... 19

3.3 HTK ile eğitim ... 21

3.4 İstatistiksel konuşma tanıma... 25

3.5 MFCC tabanlı ön-uç işlemci (Young, 1996) ... 27

3.6 SMM-tabanlı fonem modeli... 29

3.7 Durum bağlama... 33

3.8 Dil modelinin öncel uygulamaları ... 37

5.1 Test grameri ... 44

5.2 Basitleştirilmiş test grameri ... 44

(11)

ÇİZELGELER DİZİNİ

Çizelge Sayfa

3.1 Türkçe'de en sık karşılaşılan üçlü fonemler... 32

3.2 TurCo veritabanındaki ilk sekiz mono-, bi- ve trigramlar. ... 35

4.1 METUbet'in diğer fonetik alfabelerle karşılaştırılması ... 42

5.1 Deneylerde kullanılan veritabanının detayları... 44

5.2 Yapılan deneylerin sonuçları ... 50

5.3 Basit gramer kullanılarak elde edilen tanıma oranları ... 51

(12)

KISALTMALAR

Kısaltma Açıklama

ASR Automatic Speech Recognition

DCT Discrete Cosine Transform

DTW Dynamic Time Warping

HTK Hidden Markov Tool Kit

FFT Fast Fourier Transform

IPA International Phonetic Alphabet LPC Linear Predictive Coefficient

LVCSR Large Vocabulary Continuos Speech Recognition (Geniş Dağarcıklı Sürekli Konuşma Tanıma) METUbet Middle East Technical University Alphabet MFCC Mel Frequency Cepstral Coefficient

(Mel Frekans Dağılım Katsayıları)

SAMPA Speech Assessment Method Phonetic Alphabet SMM Saklı Markov Modeli (Hidden Markov Model)

(13)

BÖLÜM 1 1 GİRİŞ

Konuşma, insanların birbirleri ile iletişim için ses telleri, gırtlak, dil, dudak gibi organların beraber koordineli çalışarak ürettikleri anlamlı sesli mesajlara denir.

Hayvanların kısıtlı bazı mesajlar iletmek için kullandığı farklı seslere kıyasla, insanoğlunun hayal gücü ve ihtiyaçları ile paralel olarak konuşma çok daha karmaşıktır ve çok daha kapsamlı mesajlar iletir.

İlk olarak tüm insan toplulukları belki tek bir dille konuşurken, değişik coğrafyalara yayılarak, birbirlerinden uzaklaşarak değişik kuralları ve dağarcıkları olan dilleri oluşturmuşlardır. İlk önce belki çok basit olan, doğadaki sesleri taklit olan diller, yüzyıllarca süren bir süreç içinde belli bir gramer yapısına, geniş bir sözcük dağarcığına kavuşmuştur. Diller hala gelişmeye devam etmektedir. Teknolojik ilerleme ile dile hergün yeni terimler girmektedir.

Bilgisayarlar geliştikçe insanların bilgisayarlı sistemlerle konuşarak iletişim kurma gerekliliği ortaya çıkmıştır. Klasik klavye veya fare gibi yöntemler yerine konuşmayı anlayan akıllı sistemler geliştirmek için çalışmalar yapılmış olup, bu konu üzerindeki ilk çalışmalar 1950’lere dayanır. (Rabiner and Juang, 1993).

Ses tanıma sisteminin geliştirilmesi zorlu bir süreçtir. İlk çalışmalar İngilizce dilinde yapılmıştır. Her dil için farklı ses tanıma yazılımları oluşturulması gerekir. Her dilin özelliklerine göre sorunların ele alınması, çözüm bulunması gerekir. Sondan eklemeli bir dil olan Türkçe için geniş dağarcıklı bir konuşma tanıma sistemi geliştirmek zordur. Türkçe üzerine de üniversitelerimizde değişik çalışmalar yapılmaktadır. Hatta bu konuda çalışan ticari firmalar da vardır (örneğin SESTEK, 2010 ve DİCTE, 2010).

Konuşma tanıma sistemleri tanıma yetenekleri yönüyle birbirinden ayrılırlar. Bu ayrım bir konuşmacının kullandığı sözcüklerin başlangıç ve bitiş yerlerinin tespitine göre değişir. Temel sistemler yalıtık konuşma tanıma, bağlantılı konuşma tanıma ve sürekli konuşma tanımadır. Yalıtık konuşma tanımada her sözcük arasında duraklama

(14)

gerekmektedir. En basit sistemdir ve uç belirleme teknikleriyle kelimeler teker teker tanınır. Bu şekilde kelime tanıma daha kolay yapılır. Bağlantılı konuşma tanıma ise yalıtık konuşma tanımaya benzer. Kelimeler arasında duraklama olması gerekli değildir. Bağlantılı konuşma tanıma sisteminde gramer yapısı oluşturularak dizi veya cümle tanınabilir. Gramer üzerinden hangi dizi veya cümlenin söylendiğini belirleme süresi uzundur. Sürekli konuşma tanıma ise birçok yönden zordur. Bu tanıma şekli büyük kelime kütüphanesine sahip uygulamalarda kullanılır. Kelimler fonetik sesbirimleri kullanılarak modellenir. Bu şekilde yüksek kelime tanınması istenilen uygulamalar gerçeklenebilir. Burada kelimler doğal olarak söylenir ve bu nedenle aralarında duraklama yoktur. Burada kelime sınırlarının belirli olmaması sürekli konuşma tanıma işlemi için önemli bir problemdir. Sürekli konuşma tanımada sözcük sınırlarının tespiti için değişik metotlar kullanılması gerekir. Sözcük içindeki her fonem, önündeki ve arkasındaki fonemlere göre değişim gösterir. Benzer şekilde sözcükler de cümle içinde önündeki ve arkasındaki sözcüklere göre değişim gösterir.

Ayrıca konuşmanın hızı da tanımayı zorlaştırır. Tezin düzeni şu şekildedir:

Bölüm 2’de sürekli konuşma tanıma sistemi tanıtılmakta, daha sonra bölüm 3’de HTK sistemi tanıtılmakta, bölüm 4’de Türkçe’nin ses yapısı, bölüm 5’de ise yapılan uygulama hakkında bilgi verilmektedir. Son olarak bölüm 6’da yer alan sonuç ve öneriler kısmı ile aldığımız sonuçlar ve değerlendirmeler sunulmaktadır.

(15)

BÖLÜM 2

2 KONUŞMA TANIMA

Konuşma tanıma sistemleri, ses sinyalini oluşturan sıralı sembol dizinini çözmeyi amaçlar. Ana amaç, iletilen mesajı çözme,, daha sonra yazıya veya işlem yapmak üzere komutlara çevirmektir.

Konuşma tanımaya üç farklı yaklaşım vardır (Rabiner and Juang, 1993).

1. Akustik-fonetik yaklaşım

2. Örüntü (pattern) tanıma yaklaşımı 3. Yapay zeka yaklaşımı.

Akustik fonetik yaklaşımda, konuşulan dilde ayrı fonetik öğelerin var olduğu düşünülür. Fonetik öğe, sahip olduğu birçok özelliğe göre birbirlerinden ayrılır.

Örüntü tanıma yaklaşımında, iki basamaklı bir yapı vardır: İlk olarak konuşma örüntülerinin eğitimi ve daha sonra test örüntülerinin kıyaslama yoluyla tanınması. Sisteme, eğitim yoluyla konuşma bilgisi sağlanır. Mevcut ASR sistemleri istatistiksel örüntü tanıma metoduyla çalışır.

Yapay zeka yaklaşımı ise, ilk iki metodu birleştirir. Bu yaklaşım, insanın akustik bilgisi ve tecrübesiyle zekasını kullanarak konuşmayı tanımasına benzer.

2.1 İstatistiksel Konuşma Tanıma

Konuşma tanıma için istatistiksel örüntü tanıma yaklaşımı en son gelinen teknolojide en sık kullanılan metottur. Bu yaklaşımda, konuşma tanıma problemini, bir ses verisindeki akustik bilgiyi kullanma ve buradan söylenilen kelime dizisini elde etmek olarak tanımlayabiliriz. Konuşma tanıma sistemleri içinde en gelişmişi ve karmaşığı olan sürekli konuşma tanıma sistemi Şekil 2.1’de gösterilmektedir.

(16)

Ön-Uç Parametreleme

Konuşma

P(W1..W N)P(O

1..O T\W

1..W N) Maksimum olması için En muhtemel sözcük dizimi

W1..WN

Akustik Modelleri

O1..OT

Fonem Modelleri

Sözlük

Dil Modeli

P(O\W)

Ön-Uç Parametreleme

Eğitim Amaçlı Konuşma Sinyalleri

P(W)

Tanınan sözcük dizini [W1..WN]

Şekil 2.1 Sürekli konuşma sistemi

Bilinmeyen konuşma sinyalinin Y=y1, y2, ... , yT akustik vektörlerden oluştuğu düşünülebilir. Bunlar konuşma verisinden özellik çıkarma ile elde edilir. Ayrıca, bu akustik vektörler W=w1, w2,.., wN olarak gösterilen belli bir kelime sırasını oluşturmakta ve bunlar üzerinden olasılığı en yüksek kelime dizisi Ŵ elde edilmektedir. Denklem 2.1 ile en yüksek olasılığı veren kelime dizisi W’yi bulmak için, P(W) ve P(Y|W) çarpımının en büyük yapacak kelime sırası tespit edilmelidir. Bunu yapmak için Bayes kuralı ile P(W|Y) iki birime ayrılır.

) (

) ( ) ) (

( P Y

W Y P W Y P

W P

Wˆ = argwmax = argwmax ( 2.1 )

İlk terim W’nin gözlenen sinyalden bağımsız olan ve dil modeli ile tespit edilen önsel olasılığıdır. İkinci terim ise belli bir W kelime sırası için Y vektör sırasının görülme olasılığıdır ve akustik model ile tespit edilir.

(17)

2.1.1 Ön-uç parametreleme

Ön uç parametrelemenin amacı konuşma sinyalinden özellik vektörleri çıkarmaktır.

Özellik vektörleri konuşmacıdan ve ortamdan bağımsız olmalıdır. Bu nedenle, bir filtre olarak görülen insanın ses üreten gırtlak yapısı modellenmeye çalışılmıştır. Bu modeller bu filtrenin parametrelerini tahmini olarak hesaplar. Hesaplama kolaylığı açısından, mevcut tanıyıcı sistemlerde konuşma sinyalinin 10-20 milisaniye boyunca durağan olarak kabul edilmektedir. Ön-uç işlemci blok şeması Şekil 2.2’de görülmektedir.

Ön-Vurgu 1-az-1 Konuşma

Bloklardan

çerçevelere Pencereler

Cepstral Analiz Delta

Spectrum Özellik

Vektörleri

Şekil 2.2 Ön-Uç işlemci blok şeması

2.1.1.1 Kısa zaman analizi

Konuşmanın kısa zaman aralıkları ile işlenmesine kısa zaman analizi adı verilir.

Temel olarak konuşma, bölümlere ayrılır ve bu bölümler birbirinden bağımsız olarak işlenir.

Konuşma sinyali x[n]’nin m’deki kısa zamanlı durumu aşağıdaki gibidir (Huang et al., 2001).

Bu ifadede wm[n] pencereleme fonksiyonudur.

[ ] [ ] [

n xn wm n

]

xm = − ( 2.2 )

(18)

Hamming penceresi, konuşma sinyalinin kısa-zamanlı analizinde kullanılır. N boyutunda bir Hamming penceresi Denklem (2.3) ile verilir.

⎪⎩

⎪⎨

⎧ − ≤ ≤

=

diger N N n

n n

h

0

0 ) 2 cos(

46 . 0 54 . ] 0

[

π

( 2.3 )

Kısa zamanlı discrete Fourier tanımı aşağıda şekilde tanımlanır (Quatieri, 2002):

−∞

=

=

n

Nkn

e j

n x n m w k

m X

π 2

] [ ] [

) ,

( ( 2.4 )

2.1.1.2 Mel-Frekans Dağılım Katsayıları

İnsanın kulağı ses sinyalinin temel frekanslarını doğrusal algılayamaz. İnsanın duyma algısı 1 kHz ’e kadar doğrusal, 1 kHz’nin üzerinde ise logaritmiktir. “Mel-frequency cepstral coefficients” (Davis and Mermelstein, 1980) adı verilen Mel-frekans dağılım katsayıları (MFCC) bu algılama düzeyi için geliştirilmiştir.

Ayrık kısa zamanlı Fourier Transform, ses sinyallerinin MFCC’leri çıkarmak için kullanılır. Ayrık kısa-zamanlı Fourier dönüşüm alındıktan sonra, mel-scale adı verilen, insanların algısına yakın doğrusal olmayan frekans boyutuna indirgenir. Denklem 2.5’de mel- scale’in nasıl hesaplandığı gösterilmektedir. Frekans f’nin mel-scale’i Mel(f)’dir. İnsan kulağı algılama yapısına uygun olarak ses sinyali Mel ölçüsüne göre yerleştirilmiş M adet filtreden geçirilir. Daha sonra DCT (Discrete Cosine Transform) uygulanarak MFCC parametreleri elde edilir.

) 700 1

ln(

1125 )

(f f

Mel = + ( 2.5 )

(19)

Şekil 2.3 Mel-Scale filtre kümesi

MFCC’leri elde etmek için M adet üçgen filtreden oluşan bir filtre kümesi oluşturulur.

Şekil 2.3’de filtre kümesi genel yapısı görülmektedir. Her filtrenin log-enerji çıkışı hesaplanır ve M adet filtre çıkışının DCT uygulanarak MFCC’ler elde edilir. MFCC aşağıdaki şekilde hesaplanır.

=

= 1

0

0 ) 2 ) ( 1 cos(

] [ ]

[ M

m

M M n

n m m

S n

c

π

( 2.6 )

2.1.2 Saklı Markov Modelleri

Saklı Markov Modeli konuşma gibi istatistiksel özellikleri zamanla değişkenlik gösteren dizilerin modellenmesinde kullanılır. Saklı Markov modelinde durumlar doğrudan gözlenemez. Gözlem dizilerine en iyileme teknikleri uygulanarak en yüksek olasılıklı durum dizisi elde edilir. Konuşma tanımada yaygın olarak kullanılması 1980’lerden sonra başlamıştır (Edizkan, 1999). Konuşma sinyali istatistiksel özellikleri zamanla değişen bir sinyaldir. Herhangi bir anlamlı ses dizisi üretmek istediğimizde gırtlak ve dil gibi ses organlarımız hava basıncını ve hava akışını duyulabilecek ses dizileri üretecek şekilde modüle ederler. Bazı sesler kHz’ler düzeyinde spektral bileşenler içerebilir. Buna rağmen ses organlarımızın yapısı saniyede en fazla 10 kere değişir. Ses modelleme, belirli seslerin kısa zaman spektral özelliklerinin analizini içerir ve bu modelleme farklı seslere karşılık gelen ses

(20)

organ yapısının uzun zaman değişimini tanımlamamızı sağlar. Zamanla değişkenlik gösteren ve spektral gözlem dizileri ile temsil edilen ses dizilerini tanımlayabilmenin bir yolu bu diziyi bir sesten diğer bir sese geçiş şeklinde Markov zincirleri ile göstermektir. Şekil 2.4’de görülen birinci derece 3 durumlu Markov zincirinde, sistemin bir t anında N farklı durumdan birinde (S1, S2, S3, S4, SN) olacak şekilde tanımlanabilir.

Şekil 2.4 Birinci derece 3 durumlu Saklı Markov modeli

Sistemin t anındaki durumu qt durum değişkeni ile gösterelim. Markov zinciri durum geçiş olasılığı A={aij} matrisi ile gösterilir. Durum geçiş olasılık matrisindeki elemanlar ise aşağıdaki gibi tanımlanır.

N i i S

q S q P

aij = ( t = j t1 = i) 1≤ , ≤ ( 2.7 )

(21)

Denklem ( 2.7 )’de geçiş olasılıklarının zamana bağımlı olmaması için markov zinciri homojen olduğu kabul edilmiştir. Geçiş olasılıklarında tüm i’ler için aij ≥0 ve

1 =1

= N

j aij kısıtlaması vardır. Sistemin başlangıç durumu olan t =0anında

[ π π π

N

]

π

' = 1, 2,..., başlangıç durumu olasılık vektörü ile gösterilir.

SMM’nin sahip olduğu tüm parametreler aşağıda listelenmiştir.

1. Durum (state) sayısı N, S={S1, S2, …., SN} 2. Gözlem sembolleri, bunlar V={V1,V2, …., VM} 3. Durum geçiş olasılığı, A={aij}

4. Gözlem sembolü olasılık dağılımı, B={bj(k)}.

5. İlk durum olasılığı π={πi}.

Model parametreleri aşağıdaki şekilde ifade edilir.

) , ,

(

π

λ

= A B ( 2.8 )

Burada t=1’den t=T’ye kadar gözlem (observation) dizisi aşağıdaki gibi gösterilecektir.

1 2... T O O O

O= ( 2.9 )

2.1.3 SMM’ler için üç temel problem

Saklı Markov model’in uygulanmasında üç ana problemin çözümü ile ilgilenilir (Rabiner, 1989). Birinci problem, verilen gözlem dizisi O ile

λ

modeli için gözlemin model tarafından üretilme olasılığı P(O

λ

)’nın etkin olarak hesaplanmasıdır. İkinci problem ise verilen gözlem dizisi O ile

λ

modeli için en yüksek olasılıklı q durum dizisinin bulunmasıdır. Yani modelin gizli kalmış yapısının keşfedilmesidir. Üçüncü problem ise,

) (O

λ

P olasılığını en yüksek hale getirmek için model parametrelerinin tayin edilmesidir.

(22)

Bu üç problem sırasıyla değerlendirme problemi, model yapısını öğrenme ve kestirim (estimation) problemi olarak tanımlanır.

2.1.3.1 Değerlendirme problemi- İleri geri işlem (Forward-backward)

Değerlendirme problemi bir modelle gözlemlerin ne kadar uyuştuğunu gösteren bir değerdir. Eğer çeşitli modeller arasında en iyi olanı seçilmeye çalışılıyorsa, değerlendirme probleminin çözümü gözlemle uyuşan en iyi modeli verecektir. İki kısımdan oluşur. İleri işlem için, ileri değişkeni αt(i) aşağıdaki gibi tanımlanır.

) ,

...

( )

( 1 2

λ

α

t i = P OO OT qt = Si ( 2.10 )

Böylece, αt(i) , t’ye kadar olan kısmi gözlem sırasının i durumu ve t zamanında verilen λ modeli için olasılığını gösterir. Bunu αi(t) için tümevarım yöntemiyle aşağıdaki gibi çözeriz.

1. Başlangıç:

N i O

b i i i

t( )=

π

( 1), 1≤ ≤

α

( 2.11 )

2. İşlem:

. 1

1 1

), ( ) ( )

( 1

1

N j

T t O

b a i

j N i t

t i

ij t t

⎥ ≤

⎢ ⎤

= ⎡ +

=

+

α

α

( 2.12 )

3. Sonuçlandırma:

).

( )

(

1

i O

P

N

t

t

=

=

α

λ

( 2.13 )

(23)

Benzer şekilde geri işlem de tanımlanabilir. Burada geri değişken βt(i) dikkate alınmalıdır. Burada değişken t+1’den T’ye kısmi gözlemin olasılığını hesaba katmaktadır.

Aşağıdaki gibi yazılabilir:

) , ,

...

( )

( 1 2

λ

β

t i = P Ot+Ot+ OT qt = Si ( 2.14 )

βt(i) için aşağıdaki gibi çözeriz.

1. Başlangıç:

N i

t(i)=1, 1≤ ≤

β

( 2.15 )

2. İşlem:

. 1

1 ,..., 2 , 1 ),

( ) ( )

( 1 1

1

N i

T T t j O

b a

i N i t t

j ij t

=

= + +

=

β

β

( 2.16 )

3. Sonuçlandırma:

).

( )

(

1 1 i O

P N

i

=

=

β

λ

( 2.17 )

Şekil 2.5’de P(O/λ)'yı elde etmek için ileri geri olasılık fonksiyonları verilmektedir.

(24)

a1i

aNi a

jN

aj1

Şekil 2.5 P(O/λ)'yı elde etmek için ileri geri olasılık fonksiyonları

2.1.3.2 Model yapısını öğrenme-Viterbi algoritması

SMM’lerde model yapısı gizlidir. Genelde O gözlem dizisini üreten en yüksek olasılıklı durum dizisinin ne olduğunun tespit edilmesi ile ilgilenilir. Saklı Markov modelde tanımlanan olasılık değeri, durum dizisinin ne olduğuna doğrudan bağlı olarak hesaplanmamasına rağmen, birçok uygulamada en yüksek olasılıklı durum dizisinin ne olduğunun bilinmesi çeşitli nedenlerden gereklidir. Örneğin, bir kelime içindeki sesleri göstermek için bir kelime modelinin durumları kullanılırsa, kelime içindeki sesler ile ses bölütleri arasındaki benzerlik bilinmek istenebilir. Belli ses bölütlerinin devam süreleri ses tanıma amaçları için faydalı bir bilgi sağlar. Ayrıca en yüksek olasılıklı durum dizilerine bakılarak model topolojisinde değişiklik yapılabilir.

Bu problemin çözümünde, mümkün olan q dizileri üzerinden, P(qO,

λ

)olasılığını en büyük hale getirmek amaçlanır. İkinci problemin çözümünde, verilen modele göre gözlem dizisini en yüksek olasılıkla veren durum dizisinin belirlenmesinde Viterbi gibi dinamik programlama metotları kullanılır (Edizkan, 1999). P(qO,

λ

)’nın en büyük olması

(25)

) , (q O

λ

P ’nın en büyük olması demektir, çünkü eniyilemede P(O

λ

) ifadesi bulunmaz.

Bu problemin çözümünde, mümkün olan q dizileri üzerinden, P(qO,

λ

)olasılığını en büyük hale getirmek amaçlanır. Bunun için Viterbi gibi dinamik programlama metotları kullanılmalıdır. P(qO,

λ

)’nın en büyük olması P(q,O

λ

)’nın en büyük olması demektir, çünkü eniyilemede P(O

λ

) ifadesi bulunmaz. Onun yerine aşağıdaki denklemden

) ,..., ,

, ,..., ,

(q1 q2 qt O1 O2 Ot

λ

P

) ( )

,..., ,

, ,..., ,

(q1 q2 qt 1 O1 O2 Ot 1 aq 1qbq Ot

Pt t t

=

λ

( 2.18 )

olduğu görülmektedir.

İlk tgözlemini hesaba katan ve Sidurumunda sonlanan tek bir yol boyunca en yüksek olasılığı

δ

t(i)olarak tanımlayalım.

) ,..., ,

, ,...,

, ( max )

( 1 2 1 2

,.., 1

2 , 1

λ

δ

t i t

q q

t i q P q q q S O O O

t

=

=

( 2.19 )

Bu ifadeden yola çıkarak

δ

t+1(i)aşağıdaki gibi ifade edilir.

) ( ] ) ( max [ )

( 1

1 +

+ = t ij j t

t i i

δ

i a b O

δ

( 2.20 )

Böylece en iyi durum dizisi,

δ

T(qT)değeri ile biten bir durum dizisidir. Üstteki denklem Viterbi algoritması için uygun bir denklemdir.

Viterbi algoritması, en iyi durum sırasını bulur, böylece üstteki denklemin her t zamanı ve j durumu için geçerli olmasını sağlar. Bu amaçla, ψ1(i) terimi tanımlanır.

1. Başlangıç:

(26)

0 ) (

1 ), ( )

(

1 1 1

=

=

i

N i O

b j i i

ψ π

δ

( 2.21 )

2.Yineleme

. 1

2 ) ( ] ) ( [ max )

( 1

1 j N

T t O

b a i

j t ij j t

N t i

=

δ

δ

. 1

2 ] ) ( [ max arg )

( 1

1 j N

T t a

i

j t ij

N t i

=

δ

ψ

( 2.22 )

3. Sonuçlandırma:

*

max[ ( )]1 T

P i N

δ

i

= ≤ ≤

)]

( [ max arg1

* i

q T

N

T i

δ

=

( 2.23 )

4. Yol (durum sırası) tahsisi

1 ,..., 2 , 1 ),

( *1

1

* = + q+ t =TT

qt

ψ

t t ( 2.24 )

Viterbi algoritması, ileri ileri işlemine benzer. İki arasında fark sadece toplam yerine maksimumun alınma işleminin yapılıyor olmasıdır. Viterbi ile en yüksek olasılığı veren yol üzeriden P(O|λ) olasılığı elde edilir. Bu olasılık değeri (P*) sınıflamada da kullanılabilir.

Şekil 2.6’de N=4 durumlu bir SMM’de T=5 için en yüksek olasılıklı yol koyu olarak gösterilmektedir.

(27)

Şekil 2.6 Viterbi akış algoritması.

2.1.3.3 Kestirim- Baum-Welch metodu

Verilen bir gözlem dizisi için tahmin probleminin çözümü bu diziyi en yüksek olasılıkla üretecek doğru model parametrelerini bulmamızı sağlar. Ses tanımada bu işlem eğitim olarak adlandırılır. Model parametrelerini elde etmek için kullanılan gözlem dizisi de eğitim dizisi olarak tanımlanır. Tahmin problemi için gözlem dizisinin model tarafından üretilme olasılığını en yüksek yapan analitik bir çözüm mevcut değildir. Bununla beraber

) (O

λ

P olasılığını yerel olarak en yüksek olarak elde eden Baum-Welch yöntemi veya gradient tekniği gibi özyineleme işlemleri kullanılarak

λ

=

( π

, A,B

)

model parametreleri seçilebilir. Tahmin probleminin çözümünde en büyük olabilir yöntemi kullanılır.

Baum-Welch uygulamasında bazı olasılık değerlerinin bulunması gerekir. Bu olasılık değerleri bulunduktan sonra model parametrelerini eniyilenmiş değerleri hesaplanabilir. ξt(i,j) olasılığı t zamanında Si durumunda, t+1 zamanında ise Sj durumunda bulunma olasılığı olarak tanımlanır.

) , ,

( ) ,

( 1

λ

ξ

t i j = P qt = Si qt+ = SiO ( 2.25 )

(28)

İleri geri değişkenler kullanarak ξt(i,j) terimi aşağıdaki şekilde ifade edilir:

) (

) ( ) ( ) ) (

,

( 1 1

λ β ξ α

O P

j O

b a j i

i t ij j t t

t

+

= +

∑∑

= = + + +

= N + i

N

j

t t j ij t

t t j ij t

j O

b a i

j O

b a i

1 1

1 1

1 1

) ( ) ( ) (

) ( ) ( ) (

β α

β

α

( 2.26 )

Buna ek olarak, verilen gözlem dizisi için t zamanında Si durumunda bulunma olasılığı γt(i), ξt(i,j) ile aşağıdaki şekilde ilişkilendirilir.

=

= N

j t

t i i j

1

) , ( )

(

ξ

γ

( 2.27 )

Zaman ekseni boyunca terimleri toplarsak, aşağıdakiler elde edilir.

Si’den beklenen geçiş sayısı

= 1 1

) (

T

t t i

γ

Beklenen Si’de kalması sayısı

= T

t t i

1

)

γ

(

Si’den Sj’ye beklenen geçiş sayısı

= 1 1

) , (

T

t

t i j

ξ

Kesikli SMM parametrelerinin ( π, A ve B ) eniyilenmesi aşağıdaki ifadeler kullanılarak yapılır. Sürekli yoğunluk SMM için eniyilemenin nasıl yapılacağı Rabiner’de (1989) verilmektedir.

i'

i = S

π de (t=1) anında bulunma sayısı 1(i)

Si’den Sj’ye beklenen geçiş sayısı a = ij

Si’den beklenen geçiş sayısı

(29)

=

= =T t

t T

t t ij

i j i a

1 1

1

) (

) , (

γ ξ

( 2.28 )

Sj’de beklenen buluma sayısı ve gözlem sembolü vk

) (k bj =

Sj’de beklenen bulunma sayısı

=

=

=

= T

t t T

v O

t t

j

i j k

b t k

1 1 1

) (

) ( )

(

γ γ

( 2.29 )

Yeni model parametreleri λ =(A,B,π) ile gösterilir. Baum-Welch metodu, verilen gözlem dizisinin model tarafından üretilme olasılığın artışı garanti eder. Eğitime yeni ve bir önceki modelden elde edilen olasılık arasındaki fark belli bir değere yakınsayıncaya kadar devam edilir.

(30)

BÖLÜM 3

3 HTK

3.1 Giriş

HTK, konuşma tanıma sistemleri oluşturmak için kullanılır. Sürekli veya yarı sürekli yoğunluklu, ya da kesikli olasılıklı SMM tabanlı işlemler gerçekleştirir.

Cambridge University Speech Group tarafından geliştirilmiş ve 1990’ların başından beri güncellenmektedir. HTK kaynak kodları açık kaynak kodunda olup platforma göre derlenmektedir (HTK web sitesi, http://htk.eng.cam.ac.uk ).

HTK, SMM sistemlerinin araştırılması ve geliştirilmesini destekleyecek şekilde esnek olarak tasarlanmıştır. Yazılım komutlar ve seçenekler ile gerekli işlemleri yapacak şekilde kontrol edilir. Yalıtık veya sürekli konuşma tanıma sistemleri kelime tabanlı veya alt-kelime tabanlı modeller kullanarak yapılır. HTK data kodlama, Baum- Welch yinelemeli metodu (reestimation), Viterbi çözümlemesi (decoding) metodlarını kullanan SMM eğitim işlemlerini yapan birçok araç içerir.

HTK aynı zamanda dil modeli oluşturmayı desteklemektedir. Dil modeli n-gram tabanlıdır. Versiyon 3.4.1 ile HDecode trigram dil modelini destekler hale gelmiştir.

3.2 Araçlar ve Modüller

Konuşma tanıma sistemi dört aşamada gerçeklenir: veri hazırlama, eğitim, test ve analiz. HTK’yı ve yan modülleri kullanmak için bu aşamalar için hazırlanmış komutlar vardır. Komutlar kısaltılmış komut formundadırlar. Bu formlar işletim sistemi ortamında çalıştırılan komutları simgeler. Komutlar bir işlemi yaparken modülleri kullanır. Bir açıdan modüller iç içe geçmiş durumdadır. Kullanıcı komut satırında veya metin dosyasında seçenekleri kullanarak bu modülleri yönetir. Şekil 3.1 ve Şekil 3.2’de HTK’deki modüller görülmektedir.

(31)

Temel olarak HTK metin ve konuşma veri dosyası olarak iki tip dosya ile çalışır.

Metin dosyaları işlem komutlarını, yapılandırma parametrelerini, konuşma dosyalarının transkripsiyonlarını veya işlem yaparken kullanılacak dosyaların listesini içerir.

Şekil 3.1 HTK yazılım mimarisi

Şekil 3.2 HTK işlem basamakları

(32)

3.2.1 Veri Hazırlama Araçları:

Konuşma tanıma sistemi geliştirme için, konuşma verisi ve ilişkili transkripsiyonlar gerekmektedir. Veritabanının Saklı Markov Modelleri (SMM'leri) eğitmek için kullanılmasından önce, uygun formata dönüştürülmesi gerekir.

HCopy: Ses dosyalarını parametrelere dönüştürmek için kullanılır. Ses dosyası üzerinde kopyalama işlemi yapar ve kopyalarken gerekli parametrik forma dönüştürür.

Tüm dosyayı kopyalama yanında, uygun yapılandırma parametreleri ile ilgili segmentlerin ve dosyaların bitiştirilmesine olanak sağlar.

HList: Konuşma dosyalarının ve parametrik çevrimin içeriğini kontrol eder.

HLed: Transkripsiyon dosyalarının HTK etiket dosyalarına dönüştürülmesi için kullanılır.

3.2.2 Eğitim Araçları:

Konuşma tanıyıcı sistemlerde bir sonraki adım, her SMM'nin ilk örnek olarak tanımlanması gerekir. HTK, SMM'lerin rastgele topolojide üretilmesine olanak sağlar.

HMM prototipleri metin dosyası formatındadır ve basit bir metin editörü ile düzenlenebilir. Prototipler, SMM'leri genel karakteristikleri ve topolojisi ile gerçek parametrelerin eğitim araçları ile hesaplanması için düzenlenmiştir. Geçiş olasılıkları kabul edilebilir değerlerden seçilir. Fakat eğitim işlemi bunlardan çok fazla etkilenmez.

Basit bir yaklaşım tüm geçiş olasılıklarını eşit almak olabilir. SMM'lerin eğitilmesi birçok basamaktan oluşur. HTK ile eğitim basamakları Şekil 3.3’de görülmektedir.

(33)

Şekil 3.3 HTK ile eğitim

İlk adım olarak modellerin başlangıç değerleri atanır. Fonem sınır değerleri mevcut ise bu önyükleme verisi olarak kullanılabilir. Bu durumda HInit ve HRest araçları kullanılır. SMM'ler ayrı ayrı oluşturulur. HInit, önyükleme verisini okur ve istenen fonemleri ses verisinden bulur ve yinelemeli olarak bir parametre kümesini hesaplar. İlk yinelemede eğitim verisi eşit dağılımlı (flat start) olarak bölünür, ilgili veri bölümü ile her model durumu eşlenir. Bu eşleşme sonucu durumlardaki gözlemlerin ortalaması ve varyansı hesaplanır. Daha sonraki yinelemelerde eşit dağılım yerine Viterbi hizalaması kullanılır. HInit ilk değerleri hesapladıktan sonra, HRest ile değerler tekrar hesaplanır. HRest de önyükleme verisini kullanır. Eğitimde yukarıda bahsedilen Baum-Welch yinelemeli metodunu kullanır. Eğer önyükleme verisi mevcut değil ise, düz bir başlangıç için HCompV kullanarak yapılabilir. Bu durumda, tüm SMM’ler genel bir ortalama ve varyans değeri ile ortak başlangıç ile eğitime girer. İlk değerler atandıktan sonra, tüm eğitim seti kullanılarak HERest aracı ile gömülü bir eğitim yapılır. HERest, tüm SMM’ler için aynı ayda bir tek Baum-Welch hesaplaması ile yeni değerleri hesaplar. Her eğitim ifadesi için, ilgili fonem modelleri birbirine eklenir ve daha sonra ileri-geri algoritma ile sıralamadaki tüm SMM’ler için durum işgali istatistikleri, ortalamaları, varyansları vs., hesaplanır. Tüm eğitim verisi işlendikten sonra, toplanan istatistikler SMM parametrelerinin yeni değerlerinin atanması için kullanılır.

HERest, ana HTK aracıdır ve değişik seçenekler ile kullanılabilir. Genel anlamda, ilk olarak metinden bağımsız modeller üretilir. Daha sonra yinelemeli olarak metin-bağımlı ikili ve üçlü fonemler (bifon, trifon vs.) fonemler sisteme dahil edilir.

(34)

3.3 Dosya Tipleri

Konuşma verisi içeren dosyalar dışında HTK tamamiyle metin dosyaları ile çalışır. Fonksiyonlarına göre değişik uzantılara sahip olsalar bile herhangi bir editör programı ile değiştirilebilirler.

Konuşma dosyaları A-law/μ-law 8-bit (CCITT standard) “wav” formatında olmalıdır.

HSLab aracı kullanıcının konuşmayı kaydetmesine ve etiketlemesine olanak sağlar. Etiketlemek konuşmaya bir transkript atamak demektir.

3.3.1 Etiket dosyaları:

Bir etiket dosyası bir konuşmanın içeriğini tutar. Konuşmanın özellik vektörleri bir kelime veya fonem ile ilişkilendirilmesi ve SMM’in oluşturulması için etiketlemek mutlaka gereklidir. Etiket dosyaları eğitim esnasında veya tanıma sonuçlarında kullanılabilir. HTK’de tanınacak cümle ve tanıma sonucu elde edilen cümle kıyaslanır ve tanıma oranları hesaplanır.

Etiketleme dört seviyede olabilir: Kelime, fonem, üçlü-fonem veya ikili-fonem, ve hece. Etiket dosyasında etikete ait konuşma bölümü tanımlanabilir. Etiket dosyasındaki her satır etiketlenmiş bölümün başlangıç ve bitiş zamanlarını içerir.

3.3.2 Sözlük dosyası:

Sözlük dosyasının her satırda bir kelime ve onun okunuşu yer alır. Bazen aynı kelimenin farklı okunuşları olacağından, her farklı okunuş da dosyada listelenir.

sil [] SIL

SENT-START [] SIL SENT-END [] SIL

bir B IY RH

iki IY KK IY

iki IY K IY

UC UE CH

(35)

dOrt D OE R T beS B E SH

3.3.3 SMM tanım dosyası:

HTK’de akustik modele karşılık gelen SMM tanım dosyaları vardır. HTK’da tanım dosyalarının belli bir formatı vardır. Aşağıda A fonemine ait SMM tanım dosyasının baş kısmını görülmektedir.

~o <VecSize> 39 <MFCC_E_D_A_Z>

~h "A"

<BeginHMM>

<NumStates> 5

<State> 2

<Mean> 39

3.3.4 Konfigürasyon dosyası:

Kullanıcı tarafından belirlenen parametreleri içerir. Burada SOURCEKIND ve SOURCE FORMAT ile kayıtların WAV dosyası olduğunu belirtilir. MFCC_0_D_A ise MFCC’leri oluştururken MFCC’nin sıfırıncı katsayısının,delta ve acceleration değerlerinin kullanılacağını gösterir. FFT, hamming pencerelenmiş ve 0.97 değeri ile önvurgulanmış veriler üzerine uygulanır. 25 milisaniye uzunluğunda pencerede 10 milisaniyelik (HTK 100 nanosaniyelik birimleri kullanır) kayma kullanılacağı belirtilmektedir. Filtre sayısı 26’dır ve 12 MFCC katsayısı çıkarılacaktır.

ENORMALISE değişkeni kayıtlı ses dosyalarında enerji düzenlenmesi sağlar.

SOURCEKIND=WAVEFORM

SOURCEFORMAT=WAV

TARGETKIND = MFCC_0_D_A TARGETRATE = 100000.0 SAVECOMPRESSED = T

(36)

SAVEWITHCRC = T WINDOWSIZE = 250000.0 USEHAMMING = T PREEMCOEF = 0.97 NUMCHANS = 26 CEPLIFTER = 22 NUMCEPS = 12 ENORMALISE = T USEPOWER=T 3.3.5 Skript dosyası:

Birden fazla dosya ismi isteyen araçlar için, içinde dosya isimlerini listeleyen metin dosyalarıdır.

Konuşma verilerinin MFCC’lerini çıkarmak için hazırlanmış bir skript dosyası aşağıdaki gibidir:

data/train/wav/s1075-000.wav data/train/mfcc/s1075-000.mfcc data/train/wav/s1075-001.wav data/train/mfcc/s1075-001.mfcc data/train/wav/s1075-002.wav data/train/mfcc/s1075-002.mfcc

3.3.6 Toplu işlem dosyası:

Tekrar tekrar kullanılan araçlar için (HInit veya HRest gibi) toplu işlem dosyaları oluşturulur içerisinde aşağıdakine benzer uzun komutlar sırasıyla yer alır.

$HOME/bin/HRest -A -D -T 1 -S training/trainlist.txt -M model/HMM1 -H model/SMM0/HMM_A.txt -L data/train/lab A

$HOME/bin/HRest -A -D -T 1 -S training/trainlist.txt -M model/HMM1 -H model/SMM0/HMM_AA.txt -L data/train/lab AA

$HOME/bin/HRest -A -D -T 1 -S training/trainlist.txt -M model/HMM1 -H model/SMM0/HMM_B.txt -L data/train/lab B

(37)

3.3.7 HTK ile İstatistiksel Konuşma Tanıma

Bu bölümde, Cambridge Üniversitesi Hidden Markov Tool Kit (HTK) (Young et al., 2009) sisteminde konuşma tanıma sisteminin nasıl olduğu anlatılmaktadır.

Bilinmeyen konuşma sinyali ön-uç sinyal işlemcisi tarafından Y=y1, y2, ... , yT

gibi akustik vektörlere dönüştürülür. Bu vektörlerin her biri 10 msn’lik kısa-süreyi kapsayan konuşma spektrumunu simgeler. Böylece 3 saniye süren 10 kelimelik ifade yaklaşık 3 saniye sürmekte ve T=300 akustik vektör ile gösterilmektedir.

Şekil 3.4 bu ilişkilerin nasıl hesaplandığını göstermektedir. Şekilde kelime dizisi W=“Yüz on dört” için dil modeli P(W) olasılığını hesaplar. Daha sonra, kelime dizisindeki her kelime telaffuz sözlüğü kullanılarak temel ses veya fonem sırasına dönüştürülür. Her temel ses veya fonem Saklı Markov Model (SMM) ile istatistiksel olarak modellenir.

Ön-Uç Parametreleme

Y UE ZH O NN D OE RR T

Akustik Modeller

yüz on dört

Dil Modeli P(W).P(Y|W)

Telaffuz Sözlüğü

Parametrize edilmiş Konuşma Dalga Şekli Y

W

Şekil 3.4 İstatistiksel konuşma tanıma

(38)

Örnek ifadeyi oluşturmak için SMM dizileri birleştirilerek tek bir bileşik oluşturulur, daha sonra gözlenen Y dizisi için modelin olasılığı hesaplanır. Bu olasılık P(Y|W) değerini verir. Teoride bu işlem her muhtemel kelime sırası için tekrarlanır.

Yukarıda tanımlanan tasarım felsefesini pratik bir sisteme dönüştürmek, bir miktar zorlu problemin çözümüne ihtiyaç duyar.

İlk olarak, konuşma sinyalinden SMM–tabanlı akustik modelleri ile uyumlu gerekli akustik bilgiyi oluşturacak ön-uç parametrelemeye ihtiyaç vardır.

İkinci olarak, SMM modellerinin her sesin dağılımını, sesin geçtiği her cümle parçası için doğru olarak temsil etmesi zorunludur. Ayrıca, SMM parametreleri veriden tahmin edilmelidir. Ancak tüm muhtemel cümle parçalarını kapsayacak yeterli veri elde etmek mümkün değildir.

Üçüncü olarak, doğru kelime tahmini oluşturacak dil modeli tasarlanmalıdır.

Yine de SMM’ler için, veri seyrekliği her zaman mevcut bir problemdir. Dil modeli eğitim verisinde yer almayan kelime dizileri ile uğraşmak zorunda kalır.

Son olarak, Ŵ’yi elde etmek yukarıda listelenen iş adımlarının, tüm muhtemel kelime sıraları için uygulanması pratik değildir. Bunu yerine, potansiyel kelime dizileri aynı anda incelenerek, muhtemel olmayanları atarak işlem yapılmaktadır. Bu işleme

“kodçözme (decoder)” adı verilmekte olup verimli bir decoder’in tasarımının pratik konuşma tanıma sisteminin gerçekleştirilmesi açısından önemi büyüktür.

Bundan sonraki bölümlerde bu dört kısım daha ayrıntılı olarak açıklanmaktadır.

3.3.7.1 HTK’da ön-uç parametreleme

HTK’da yapılan işlemlerin ilki olan ön-uç parametreleme adımının ilk işlevi konuşma girdisini bloklara bölme ve her bloktan düzgün bir spektral kestirim oluşturmaktır. Bloklar 25 msn’lik uzunlukta ve aralarında 10 msn örtüşme olacak şekilde seçilir.

Bu tip işlemlerde kullanılan uçlara doğru incelen pencereler (Örnek: Hamming) her bloğa uygulanır. Ayrıca insan dudağından ışınım nedeniyle oluşan zayıflamanın etkisini gidermek için genelde konuşma sinyaline frekans yükseltmesi (preamphasis) uygulanır.

(39)

Spektral tahminler doğrusal kestirim veya Fourier analiz ile yapılır. Akustik vektörleri oluşturmak için birçok ilave dönüşümler mevcuttur. Örnek olarak Şekil 3.5’de MFCC’leri oluşturan HTK tanıma ön-uç birimi görülmektedir.

Konuşma

FFT Tabanlı Spectrum

39 Elemanlı Akustik Vektörler Mel-Scale Üçgen

süzgeçler

FFT

Log DCT

2

Şekil 3.5 MFCC tabanlı ön-uç işlemci (Young, 1996)

MFCC katsayılarını hesaplamak için, üçgen frekans kutularının doğrusal olmayan ve mel-scale adı verilen ölçüde düzenlenmesi neticesinde spektral katsayıların integralinin alınması ile Fourier spektrum düzeltilir.

HTK tanıyıcı 8 kHz’lik konuşma için bu üçgen kutulardan 24 tane kullanır.

Tahmin edilmesi istenen konuşma güç spektrumunun istatistiğini Gaussian’a yakın hale getirmek için süzgeç çıktısına log-sıkıştırma uygulanır. Son olarak da süzgeç çıktılarına Ayrık Kosinüs Dönüşümü -DCT (Discrete Cosine Transform) uygulanır. DCT bize spektral bilginin düşük mertebeli katsayılara sıkıştırılmasını sağlar. Ayrıca köşegen ortak değişinti matrisleri (diagonal covariance matrices) kullanılmasını sağlar.

(40)

HTK tanıyıcı içinde, sinyal enerjisine ilave ilk 12 cepstral katsayılar, temel 13- elemanlı akustik vektörü oluşturur. Cepstral katsayılar benzer ilişki etkisi elde edilen LP(linear prediction) katsayılardan da türetilebilir. LP katsayıları ile iyi sonuçlar da alınmıştır. Bundan sonraki bölümde de görüleceği gibi, akustik modelleme, her vektörün komşuları ile ilintisiz yani bağımsız olduğunu kabul eder. Bu zayıf bir kabuldür, çünkü insan ses üretme organları takip eden spektral kestirimler arasında devamlılık olmasını sağlar. Yine de temel statik katsayılarından elde edilen birinci ve ikinci türevler bu problemi büyük oranda azaltır. Onüç elemanlı akustik vektöre birinci ve ikinci türevler eklenerek akustik vektör eleman sayısı 39’a çıkar. Bu şekilde her pencere 39 elemanlı özellik vektörü ile temsil edilir.

3.3.8 Akustik modelleme

Akustik modellemenin amacı herhangi bir vektör Y’nin verilen W kelimesi ile olasılığını hesaplama metodunu sağlamaktır. Teoride gerekli olasılık dağılımının tespiti, her W için birçok örnek bulma ve bunlara denk gelen vektör sıralarını bir araya getirme ile yapılmaktadır. Ancak geniş-kelime hazineli sistemlerde bu pratik değildir, bunun yerine kelimeler fonem adı verilen temel seslere ayrılır. Her bir fonem bir SMM ile temsil edilir. SMM oklar ile birbirine bağlanan belli sayıda durumdan oluşmaktadır.

SMM fonem modeli genelde başlangıç ve bitiş durumları ile birlikte 5 durumdan oluşmakta ve basit bir soldan sağa gösterim Şekil 3.6’de görülmektedir.

Giriş ve çıkış durumları ise modelleri birbirine bağlamayı kolaylaştırmayı sağlar.

Bir fonemin çıkış durumu, diğer fonemin giriş durumu ile birleşerek bileşik SMM oluşturur. Modellerin birleşimi ile kelimeleri, kelimelerin birleşimi ise tam ifadeleri oluşturur. SMM en kolay vektör dizisi oluşturucu olarak anlaşılır. SMM bir sınırlı- durum makinesidir. Her t zaman biriminde j durumuna geçer, yt akustik vektörü bj(yt) olasılık yoğunluğu ile beraber oluşturulur. Ayrıca i durumundan j durumuna geçiş de olasılıklıdır ve kesikli olasılık aij ile sağlanır. Şekil 3.6 bu işlemin bir örneğini göstermektedir. Burada model X=1, 2, 2, 3, 4, 4, 5 durumlarında y1’den y5’e dizileri oluşturmak için hareket etmektedir.

(41)

1

a12

2

a23

3

a34

4

a45

5

a22 a33 a44

Markov Model

M

Akustik Vektör

Sırası

b2(y1) b2(y2) b3(y3) b4(y4) b4(y5)

Y = y1 y2 y3 y4 y5

Şekil 3.6 SMM-tabanlı fonem modeli

Vektör dizisi Y’nin (Young 1996) ve durum dizisi X’in birleşik olasılığı, M modeli verildiğinde, geçiş olasılıklarının ve çıkış olasılıklarının çarpımı olarak ifade edilir.

Şekil 3.6’daki X için:

)....

( ) ( ) ( )

,

(Y X M a12b2 o1 a22b2 o1 a23b2 o1

P | = ( 3.1 )

Yani Y ve X=x(1),x(2),x(3),...,x(T) için

= +

= T

t

t x t x t t x x

x b y a

a M X Y P

1

) 1 ( ) ( )

( )

1 ( ) 0

( ( )

)

| ,

( ( 3.2 )

Burada x(0) model giriş, x(T+1) ise çıkış durumudur.

Uygulamada sadece gözlem sırası Y bilinir ve X gizlidir. Bu yüzden saklı Markov modeli olarak adlandırılır. P(Y|M) olasılığı tüm muhtemel durum sıraları için

(42)

denklem 3.2’den elde edilen olasılıklar toplanarak kolayca bulunur. İleri-geri (Forward- Backward) algoritma, bu iş için etkili özyinelemeli bir yöntemdir. Bu model belli bir zamanda belli bir durumda olmaya da olanak sağlar. Bu bizi Baum-Welch algoritmasına götürür. SMM, a ve b parametre setlerinin maksimum olasılıklarını basit ve etkili bir şekilde hesaplar.

P(Y|M) olasılık hesabı için Viterbi algoritması da kullanılabilir. Bu çözümlemede çok önemlidir.

SMM tabanlı fonem modelleri ile akustik ayrışım zengin kelime hazineli- konuşmacıdan bağımsız sistemler için çok önemlidir.

Denklem 3.2 logaritmik olarak a ve b terimleri ayrılarak şu şekilde yazılır.

= + + =

= T

t

t t x T

t

t x t

x b y

a M

X Y P

0

) ( 0

) 1 ( )

( log ( )

log )

| , (

log ( 3.3 )

Geçiş olasılıkları olan ax(t)x(t+1) verinin geçici yapısını modeller. Denklem (3.3)’deki her log olasılığını skor olarak alırsak, her geçiş terimi bir durumdan diğer duruma geçişin maliyeti olarak görülebilir. Bu gerçekte gerçek konuşmanın süresi için zayıf bir model sağlar. Ama bu çok önemli değildir, çünkü pratikte üstteki tanım bx(t)y(t)

çıkış olasılığı tarafından domine edilmiştir. Her SMM durumu bir prototip akustik vektör sağlar ve log çıkış olasılığı fonksiyonu gerçek akustik vektörlerin prototip ile kıyaslanmasına olanak sağlayan bir uzaklık ölçütü verir.

İlk SMM sistemleri bir Vektörel Nicemleme (Vector Quantizer-VQ) ile birlikte kesikli bir çıkış olasılık fonksiyonu kullanmıştır. Her giren akustik vektör daha önceden hesaplanan kod kitabındaki en yakın vektörün indeks numarası ile yer değiştirmekte ve çıkış olasılık fonksiyonları sadece muhtemel VQ indexleri içeren tablolardan (look–up table) oluşmaktadır. Hesaplama olarak bu yaklaşım çok verimlidir, fakat niceleme gürültüye neden olur ve elde edilen hassasiyeti sınırlar. Bu nedenle, modern sistemler akustik vektörleri doğrudan modelleyen parametrik sürekli-yoğunluklu çıkış dağılımları kullanmaktadır. En çok kullanılan dağılım çok değişkenli karışım Gaussian denklem 3.4’de verilmektedir.

(43)

=

= T

t

jm jm t jm t

j c N

b

0

) ,

; ( )

(y y

μ

( 3.4 )

Burada cjm karışım elemanı m’nin j durumunda ağırlığını , N(y;μ,Σ) ise μ ortalamaya ve Σ kovaryansa sahip çoklu değişken Gaussian’ı göstermektedir.

Buraya kadar her fonem için tek bir SMM gerektiği varsayımıyla işlem yapıldı.

Türkçe için 39 (Salor Ö. vd. 2002) fonem ihtiyacı olduğu için sadece 39 SMM’nin eğitilmesi gerektiği ortaya çıkmıştır. Bazı uygulamalarda fonem sayısı 29 olarak da alınmıştır(Arslan L.M., 1999). Fakat uygulamada, metine bağlı etkiler değişik seslerin üretiminde büyük değişkenlikler oluşturur. Bu nedenle iyi bir fonetik ayrım elde etmek için her farklı kelime içi konum için farklı SMM’lerin eğitilmesi gerekir. En basit ve yaygın yaklaşım üçlü fonem’leri (trifon) kullanmaktır. Burada her fonemin ayrı sağ ve sol komşularına göre ayrı ayrı bir SMM modeli vardır. Mesela, x-y+z gösterimi x’den sonra ve z’den önce yer alan fonem y’yi göstermektedir. “Ara” ifadesi SIL A R A SIL fonem sırası ile gösterilmektedir, ve eğer üçlü fonem SMM’ler kullanılmış olsa idi SIL SIL-A+R A-R+A R-A+SIL SIL olarak modellenecekti.

Yukarıdaki örnekte üçlü fonem bağlamaları kelime ve cümle sınırlarını gösteren SIL yani “silence-sessizlik” fonemini de kapsamıştır ve A foneminin iki durumu da farklı SMM’ler tarafından temsil edilmiştir. Bu çapraz kelime üçlü fonemler en hassas modellemeyi sağlar, fakat daha sonra bahsedileceği şekilde kod-çözüçü’de karmaşıklığa yol açar. Daha basit sistemler kelime içi üçlü fonemlerden oluşturulur ve yukarıdaki örnek, SIL A+R A-R+A R-A SIL olarak ikili ve üçlü fonemlerden oluşacak şekilde modellenir.

Gaussian karışım çıkış dağılımlarını kullanmak her durum dağılımlarının çok hassas olarak modellemeye olanak sağlar. Yine de, üçlü fonemler kullanılırsa sistemin eğitmesi gereken çok fazla parametre ortaya çıkar. Örneğin geniş kelime hazineli çapraz kelime üçlü fonem sisteminin 60000 üçlü foneme ihtiyacı vardır (39 fonemle, 393=59319 muhtemel üçlü fonem vardır, ama dilin fonetik yapısı sonucu bir kısmı hiç görülmez.) Türkçe’deki mevcut üçlü fonemlerin tespitine yönelik yapılan bir çalışmada, günlük gazetelerden oluşturulan bir veri tabanında üçlü fonem sayısı 29266

Referanslar

Benzer Belgeler

Beklenti- enbüyütme algoritması saklı de˘gi¸sken modelleri için en sık kullanılan parametre kestirimi algoritmalarından biri olmakla beraber, yerel maksimumlara takılma

Biz bu çalışmada koroner bypass operasyonuna alınan olgularda preoperatif doppler USG ile normal venöz fonksiyon tesbit edilen olgularda safenektomi sonrası alt ekstremite

The range of random variable or possible value in stochastic process is referred to state spaces of the process... 2.4.3

The approach by Robertson &amp; Ye (2013) is not only econometrically determining whether the tested country is in the middle-income trap, but this approach also

“ Cemaat dışındaki beni tanımayan insanlar için ciddi olan bu iddialar, cemaat içindeki beni tanıyanlar için komik” diyen M utafyan bu yayın organları hakkında

during this paper we've got shown that Vulnerability Assessment and Penetration Testing (VAPT) as a cybersecurity technology, on however we are able to give effective

1 Ayrıntılı bilgi için bkz.: Mustafa Şahin, Hasan Tahsin Uzer’in Mülki İdareciliği ve Siyasetçiliği, Atatürk Üniversitesi, Sosyal Bilimler Enstitüsü,

Basınç reaktörü kullanılarak fruktozdan HMF üretimi için optimum şartlar 50 g/l fruktoz konsantrasyonu, 40 g/l katyonik iyon değiştirici reçine (Amberlysts 15 hydrogen