м
ма
м'ә
м'е
м
o
о
м'
o
ө
м
o
ұ
м'
o
ү
мы
м'і
н
на
н'ә
н'е
н
o
о
н'
o
ө
н
o
ұ
н'
o
ү
ны
н'і
ң
ңа
ң'ә
ң'е
ң'
o
ө
ң
o
ұ
ң'
o
ү
ңы
ң'і
п
па
п'ә
п'е
п'
o
ө
п
o
ұ
п'
o
ү
пы
п'і
р
ра
р'ә
р'е
р'
o
ө
р
o
ұ р'
o
ү
ры
р'і
с
са
с'ә
с'е
с
o
о
с'
o
ө
с
o
ұ с'
o
ү
сы
с'і
т
та
т'ә
т'е
т
o
о
т'
o
ө
т
o
ұ т'
o
ү
ты
т'і
у
уа
у'ә
у
o
о
у'
o
ө
у
o
ұ ұ'
o
ү
ш
ша
ш'ә
ш'е
ш
o
о
ш'
o
ө
ш
o
ұ
ш'
o
ү
шы
ш'і
Возникает вопрос, «а как быть с дифонами с согласно-согласным звукосочетанием?»
Можно ли, например, один и тот же дифон «ст» применить для синтеза эталонов слов
«астау» и «үстөу»? Или же применить каждому свой: твердый, негубной «ст» для «астау», а
мягкий, губной «ст» для «үстөу»? И сколько вариантов «ст» может быть вообще?
Мы решили разбить казахские дифоны, состоящие из исключительно согласных звуков на
следующие группы по сингармоническим тембрам:
1)
Твердый негубной/ Твердый негубной;
2)
Твердый негубной /Мягкий негубной;
239
3)
Твердый негубной/ Твердый губной;
4)
Твердый негубной/ Мягкий губной;
5)
Мягкий негубной/ Твердый негубной;
6)
Мягкий негубной/ Мягкий негубной;
7)
Мягкий негубной/ Твердый губной;
8)
Мягкий негубной/ Мягкий губной;
9)
Твердый губной / Твердый негубной;
10)
Твердый губной / Мягкий негубной;
11)
Твердый губной / Твердый губной;
12)
Твердый губной / Мягкий губной;
13)
Мягкий губной / Твердый негубной;
14)
Мягкий губной / Мягкий негубной;
15)
Мягкий губной / Твердый губной;
16)
Мягкий губной / Мягкий губной.
Таким образом, один и тот же дифон может иметь 16 вариантов (таблица 5).
Таблица 4. Дифоны с согласно-согласным звукосочетанием с учетом всех признаков
тн/т
н
тн/
мн
тн/
тг
тн/
мг
мн/
тн
мн/
мн
мн/
тг
мн/
мг
тг/
тн
тг/
мн
тг/
тг
тг/
мг
мг/
тн
мг/
мн
мг/
тг
мг/
мг
б
д
бд
бд'
бд
o
бд'
o
б'д
б'д'
б'д
o
б'д'
o
б
o
д б
o
д' б
o
д
o
б
o
д'
o
б'
o
д б'
o
д' б'
o
д
o
б'
o
д'
o
б
ж
бж
бж' бж
o
бж'
o
б'ж
б'ж' б'ж
o
б'ж'
o
б
o
ж б
o
ж' б
o
ж
o
б
o
ж
'
o
б'
o
ж б'
o
ж
'
б'
o
ж
o
б'
o
ж
'
o
б
з
бз
бз'
бз
o
бз'
o
б'з
б'з'
б'з
o
б'з'
o
б
o
з б
o
з' б
o
з
o
б
o
з'
o
б'
o
з б'
o
з' б'
o
з
o
б'
o
з'
o
г
б
гб
гб'
гб
o
гб'
o
г'б
г'б'
г'б
o
г'б'
o
г
o
б г
o
б' г
o
б
o
г
o
б'
o
г'
o
б г'
o
б' г'
o
б
o
г'
o
б'
o
г
д
гд
гд'
гд
o
гд'
o
г'д
г'д'
г'д
o
г'д'
o
г
o
д г
o
д' г
o
д
o
г
o
д'
o
г'
o
д г'
o
д' г'
o
д
o
г'
o
д'
o
г
ж
гж
гж'
гж
o
гж'
o
г'ж
г'ж'
г'ж
o
г'ж'
o
г
o
ж г
o
ж' г
o
ж
o
г
o
ж'
o
г'
o
ж г'
o
ж' г'
o
ж
o
г'
o
ж
'
o
гз гз
гз'
гз
o
гз'
o
г'з
г'з'
г'з
o
г'з'
o
г
o
з
г
o
з' г
o
з
o
г
o
з'
o
г'
o
з г'
o
з' г'
o
з
o
г'
o
з'
o
ғ
б
ғб
ғб'
ғб
o
ғб'
o
ғ'б
ғ'б'
ғ'б
o
ғ'б'
o
ғ
o
б ғ
o
б' ғ
o
б
o
ғ
o
б'
o
ғ'
o
б ғ'
o
б' ғ'
o
б
o
ғ'
o
б'
o
…
ш
т
шт
шт' шт
o
шт'
o
ш'т
ш'т' ш'т
o
ш'т'
o
ш
o
т ш
o
т' ш
o
т
o
ш
o
т
'
o
ш'
o
т ш'
o
т
'
ш'
o
т
o
ш'
o
т
'
o
ш
ш
шш шш' шш
o
шш'
o
ш'ш ш'ш' ш'ш
o
ш'ш
'
o
ш
o
ш
ш
o
ш'
ш
o
ш
o
ш
o
ш'
o
ш'
o
ш
ш'
o
ш'
ш'
o
ш
o
ш'
o
ш'
o
Но в ходе эксперимента выяснилось, что учитывание всех этих признаков при
распознавании не обязательно. Для качественного распознавания достаточно учесть
мягкость/твердость дифонов. В результате в базе для каждого дифона с согласно-согласным
звукосочетанием оставили всего 4-х варианта.
Таблица 5. Дифоны с согласно-согласным звукосочетанием с учетом мягкости и
твердости составляющих звуков
тн
/тн
тн/
мн
мн
/тн
мн/
мн
б
бд
бд'
б'д
б'д'
240
д
б
ж
бж
бж'
б'ж
б'ж'
б
з
бз
бз'
б'з
б'з'
г
б
гб
гб'
г'б
г'б'
г
д
гд
гд'
г'д
г'д'
г
ж
гж
гж'
г'ж
г'ж'
г
з
гз
гз'
г'з
г'з'
ғ
б
ғб
ғб'
ғ'б
ғ'б'
...
ш
т
шт
шт'
ш'т
ш'т'
ш
ш
ш
ш
ш
ш'
ш'
ш
ш'
ш'
В итоге, дифонная база казахского языка составила около 1000 дифонов.
2. Фонетический транскриптор
Для разработки фонетического транскриптора были исследованы орфоэпические правила
казахского языка. Для удобства читателя в данном тексте правила разбиты на группы,
которые занумерованы:
1) В казахском языке, если слово начинается на гласное «е», то при произношении перед
ней слышится «й», если слово начинается на гласные «о», «ө», то при произношении перед
ними образуется краткая вставка «у», например, «ет» – «йет», «он» – «уон», «өнер» –
«уөнер».
2) Если слово начинается на согласные «р» или «л», то при произношении перед этими
звуками слышится гласные «ы», «і», в зависимости от твердости или мягкости согласных,
здесь «r», «l» означает мягкие аналоги «р» и «л», например, «рас» – «ырас», «рет» – «ірет»,
«лас» – «ылас», «лезде» – «ілезде».
3) При произношении заимствованного звука «ю» в составе слова слышится «йүу», «йұу»,
в зависимости от твердости или мягкости гласных в остальных слогах. Например: «қою» –
«қойұу», «түю» - «түйүу»;
4) При произношении заимствованного звука «я» в составе слова слышится «йа», «йә», в
зависимости от твердости или мягкости гласных в остальных слогах. Например: «аян» –
«айан», «әлия» – «әлійә»;
5) При произношении заимствованного звука «и» в составе слова слышится «ый», «ій», в
зависимости от твердости или мягкости гласных в остальных слогах. Например, «ине» –
«ійне», «жина» – «жыйна». Если перед или после «и» идут согласные «қ», «ғ», то при
произношении звука «и» всегда слышится «ый». Например, «қиын» – «қыйын», «қиғаш» –
«қыйғаш».
6) При произношении дифтонга «у» в составе слова слышится «ұу», «үу», в зависимости
от твердости или мягкости гласных в остальных слогах. Например, «туыс» – «тұуыс», «күту»
– «күтүу».
7) Гласные звуки «ұ», «ү», «о», «ө» в начале или в первом слоге слова при произношении
изменяют в следующих слогах гласные звуки «ы», «і» на гласные звуки «ұ», «ү»
241
соответственно. Например, «қолтық» – «қолтұқ», «құлын» – «құлұн», «күлкі» – «күлкү»,
«көлік» – «көлүк»;
8) Гласные звуки «ү», «ө» в начале или в первом слоге слова при произношении изменяют
в следующих слогах гласный звук «е» на гласный «ө», например, «үлкен» – «үлкөн», «өнер»
- «өнөр».
9) Гласные звуки «ә», «ү», «і» в начале или в первом слоге слова при произношении
изменяют в следующих слогах гласный звук «а» на его аллофон «ә», например, «ләззат» –
«ләззәт», «діндар» – «діндәр».
10) Если в слове звуки «с» и «ш», «с» и «ж» или «з» и «ш» встречаются подряд, вместо
них произносится двойной звук «шш». Также вместо заимствованного звука «щ»
произносится «шш». Например: «досжан» - «дошшан», «басшы - башшы», «сөзшең –
сөшшөң», «көшсең»-«көшшөң», «ащы»-«ашшы».
11) Если в слове звуки «з» и «ж» встречаются подряд, то вместо них произносится
двойной звук «жж», а а если звуки «з» и «с» встречаются подряд, то вместо них
произносится двойной звук «сс». Например: «бозжорға» - «божжорға», «азсыну - ассынұу».
12) Если в слове после звука «н» встречается «б» или «п», то при произношении звук «н»
заменяется на «м». Например: «мінбер – мімбер», «ойынпаз» – «ойымпаз».
13) Если в слове после звука «н» встречается «г», «ғ», «к» или «қ» то при произношении
звук «н» заменяется на «ң». Например: «түнгі» – «түңгү», «қашанғы» - «қашаңғы», «зиянкес»
– «зыйаңкес», «сәнқой» – «сәңқой».
14) При произношении в составе слова звукосочетний мл, ғн, ғл между двумя звуками
образовавется краткая вставка гласных «ы», «і», в зависимости от твердости и мягкости
слога соответственно. Например, «мемлекет» – «мемілекет», «бағлан» – «бағылан», «яғни» –
«йағыный».
15) Не сочетаемые звуки, встречающиеся во многих сложных словах заменяется звуком
по произношению, например, «шашбау» - «шашпау», «атбегі»-«атпегі», «атжалман» -
«атшалман», «Көпбосын» - «Көппосұн», «түпдерек» - «түбдөрөк», «көпжиын» -
«көбжыйын», «көпмүше – «көбмүшө», «түпнегіз» - «түбнегіз», «тасбауыр» - «таспаұуұр» и
т.д.
Транскриптор реализован как программа, заменяющая одни символы другими в
соответствии с правилами, содержащимися в управляющем файле. Правила написаны в
соттветствии с вышеуказанными орфоэпическими правилами казахского языка по каждому
пункту:
1) #е=йе, #о=уо, #ө=уө;
2) #л^а=ыл^а, #л^о=ыл^о, #л^ұ=ыл^ұ, #л^ә=іл^ә, #л^ү=іл^ү, #л^е=іл^е, #л^і=іл^і,
р^а=ыр^а, #р^о=ыр^о, #р^ұ=ыр^ұ, #р^ә=ір^ә, #р^ү=ір^ү, #р^е=ір^е, #р^і=ір^і;
3) аю=айұу, ою=ойұу, ұю=ұйұу, ыю=ыйұу, үю=үйүу, ею=ейүу, қию=қыйұу, #тию#=тійүу,
кию=кійүу, #сию#=сыйұу, #жию#=жыйұу, а^ию=а^ыйұу, о^ию=о^ұйұу, ұ^ию=ұ^ұйұу,
ы^ию=ы^ыйұу, ә^ию=ә^ійүу, ө^ию=ө^үйүу, ү^ию=ү^үйүу, і^ию=і^ійүу, е^ию=е^ійүу;
4) ая=айа, оя=ойа, ұя=ұйа, ыя=ыйа, қия=қыйа, #сия=сыйа, #жия=жыйа, #мия=мыйа,
#зия=зыйа, а^ия=а^ыйа, о^ия=о^ұйа, ұ^ия=ұ^ұйа, ы^ия=ы^ыйа, ә^ия=ә^ійә, ү^ия=ү^үйә,
ия^а=ыйа^а;
5) #ми=мый, #жи=жый, а^и=а^ый, о^и=о^ый, ұ^и=ұ^ый, ы^и=ы^ый, ә^и=ә^ій, ө^и=ө^ій,
ү^и=ү^ій, і^и=і^ій, е^и=е^ій, и^а=ый^а, и^о=ый^о, и^ұ=ый^ұ, и^ы=ый^ы, и^ә=ій^ә, и^ө=ій^ө,
и^ү=ій^ү, и^і=ій^і, и^е=ій^е, қи=қый, ғи=ғый, иқ=ыйқ, иғ=ыйғ;
6) а^у=а^ұу, о^у=о^ұу, ұ^у=ұ^ұу, ы^у=ы^ұу, ә^у=ә^үу, ө^у=ө^үу, ү^у=ү^үу, і^у=і^үу,
е^у=е^үу, у^а=ұу^а, у^о=ұу^о, у^ұ=ұу^ұ, у^ы=ұу^ы, у^ә=үу^ә, у^ө=үу^ө, у^ү=үу^ү, у^і=үу^і,
у^е=үу^е;
7) о^ы=о^ұ, ұ^ы=ұ^ұ, ө^і=ө^ү, ү^і=ү^ү;
8) ө^е=ө^ө, ү^е=ү^ө;
9) і^а=і^ә, ү^а=ү^ә, ө^а=ө^ә;
10) сш=шш, сж=шш, зш=шш, шс=шш, щ=шш;
242
11) зж=жж, зс=сс;
12) нб=мб, нп=мп;
13) нг=ңг, нғ=ңғ, нк=ңк нқ=ңқ;
14) мл = міл, ғн=ғын, ғл=ғыл;
15) шб=шп, тб=тп, тж=тш, пб=пп, пд=бд, пж=бж, пм=бм, пн=бн, сб=сп, сд=ст, қб=қп,
қг=кг, қд=ғд, қж=ғж, қз=ғз, қм=ғым, қн=ғын, кб=кп, кг=кк, кд=кт, кж=гж, кз=гз, км=гм,
кн=гн, зк=зг, зп=зб, зт=ст, қл=ғыл.
Каждое правило подстановки состоит из двух частей, разделенных между собой знаком
«=». Слева от этого знака стоят исходные символы буквенной записи слова, справа –
символы которыми они должны замениться в транскрипции.
Для транскрибирования заданного слова последовательно ищется в нем вхождение левой
части очередного правила, и если таковое обнаруживается, то вместе неё подставляется
правая часть этого правила.
В качестве транскрипционных знаков для гласных звуков использованы в основном
соответствующие казахские буквы. Твердые казахские согласные транскрибируются также
казахскими буквами, а соответствующие мягкие согласные аналогичными латинскими
буквами.
Знак «#» означает начало или конец слова в зависимости от местоположения: если «#»
стоит перед символами, то это начало слова; если «#» стоит после символов, то это конец.
Знак «^» означает любые символы в любом количестве между двумя звуками.
Каждое правило подстановки состоит из двух частей, разделенных между собой знаком
«=». Слева от этого знака стоят исходные символы буквенной записи слова, справа –
символы которыми они должны замениться в транскрипции.
Для транскрибирования заданного слова последовательно ищется в нем вхождение левой
части очередного правила, и если таковое обнаруживается, то вместе неё подставляется
правая часть этого правила.
Знак «#» означает начало или конец слова в зависимости от местоположения: если «#»
стоит перед символами, то это начало слова; если «#» стоит после символов, то это конец.
Знак «^» означает любые символы в любом количестве между двумя звуками.
Рекомендуется внести в управляющий файл эти группы в порядке номеров, не меняя
порядка правил в группах, поскольку порядок замен, очевидно, важен.
Кроме орфоэпических правил, в транскриптор были включены правила, определяющие
мягкость и огубленность согласных:
16) әб=әb, әг=әg, әд=әd, әж=әv, әз=әz, әй=әj, әк=әk, әл=әl, әм=әm, ән=әn, әң=әq, әп=әf,
әр=әr, әс=әs, әт=әt, әу=әu, әш=әw, еб=eb, ег=eg, ед=ed, еж=еv, ез=ez, ей=ej, ек=ek, ел=el,
ем=em, ен=en, ең=еq, еп=ef, ер=er, ес=es, ет=et, еу=eu, еш=ew, іб=іb, іг=іg, ід=іd, іж=іv, із=іz,
ій=іj, ік=іk, іл=іl, ім=іm, ін=іn, ің=іq, іп=іf, ір=іr, іс=іs, іт=іt, іш=іw, бә=bә, гә=gә, дә=dә,
жә=vә, зә=zә, йә=jә, кә=kә, лә=lә, мә=mә, нә=nә, ңә=qә, пә=fә, рә=rә, сә=sә, тә=tә, уә=uә,
шә=wә, бе=bе, ге=gе, де=dе, же=vе, зе=zе, йе=jе, ке=kе, ле=lе, ме=mе, не=nе, ңе=qе, пе=fе,
ре=rе, се=sе, те=tе, ше=wе, бі=bі, гі=gі, ді=dі, жі=vі, зі=zі, йі=jі, кі=kі, лі=lі, мі=mі, ні=nі,
ңі=qі, пі=fі, рі=rі, сі=sі, ті=tі, ші=wі.
17) өб=өb, өг=өg, өд=өd, өж=өv, өз=өz, өй=өj, өк=өk, өл=өl, өм=өm, өн=өn, өң=өq, өп=өf,
өр=өr, өс=өs, өт=өt, өу=өu, өш=өw, үб=үb, үг=үg, үд=үd, үж=үv, үз=үz, үй=үj, үк=үk, үл=үl,
үм=үm, үн=үn, үң=үq, үп=үf, үр=үr, үс=үs, үт=үt, үу=үu, үш=үw, бө=bө, гө=gө, дө=dө, жө=vө,
зө=zө, йө=jө, кө=kө, лө=lө, мө=mө, нө=nө, ңө=qө, пө=fө, рө=rө, сө=sө, тө=tө, уө=uө, шө=wө,
бү=bү, гү=gү, дү=dү, жү=vү, зү=zү, йү=jү, кү=kү, лү=lү, мү=mү, нү=nү, ңү=qү, пү=fү, рү=rү,
сү=sү, тү=tү, уү=uү шү=wү;
Поясним знаки, использованное в правилах замены. Латинские знаки в группе 16
означают, что звук является мягким и негубным, в группе 17 цифра «2» после согласного
означает, что этот согласный – твердый губной, а в группе 18 цифра «3» после согласного
означает, что этот согласный – мягкий губной.
В общем счете фонетический транскриптор составил около 400 правил.
243
3. Синтез эталонов слов
Эталоны слов распознаваемого словаря формируются из эталонов дифонов, полная база
которых в объеме приблизительно трех тысяч создается для каждого диктора заранее [9].
Отметим, что создание такой базы в дальнейшем избавляет пользователя от необходимости
создавать какие-либо эталоны голосом.
Под дифоном, соответствующим межфонемному переходу внутри слова, будем понимать
участок стандартной длины: 3 окна в 368 отсчетов слева от метки между звуками и 3 таких
же окна справа от той же метки. Эталон дифона – набор 6-ти соответствующих векторов.
Кроме того, мы используем участок в 3 окна в начале слова и участок в 3 окна в конце слова,
условно называя их соответственно начальным и конечным полудифоном слова (переход от
молчания к речи и наоборот). Все вектора, входящие в эталоны дифонов, играют роль
кодовых векторов и образуют кодовую книгу B. Все эталоны дифонов нумеруются,
нумеруются также все кодовые вектора.
Каждое слово словаря автоматически транскрибируется, по транскрипции строится
цепочка имен дифонов. Каждое из них заменяется эталоном соответствующего дифона.
Полученная цепочка векторов образует эталон слова [9].
Тестирование
В результате работы была построена система, распознающая слова по эталонам,
синтезированных из дифонов.
В тестировании данной системы участвовали 5 дикторов. Для каждого из них были
созданы собственные дифонные базы двух видов: база состоящая из 500 дифонов, в которой
каждое звукосочетание имеет только один аналог, и полная база, состоящая из 1000 дифонов,
в которой согласные звукосочетания имеют по 4 варианта. После создания дифонной базы,
дикторы произносили по 50 слов по два раза: для распознавания слов на основе неполной
дифонной базы и для распознавания слов на основе полной дифонной базы. В результате
распознавание слов на основе полной дифонной базы оказалось надежнее примерно на 15%.
Полный результат эксперимента представлен в таблице 6.
Таблица 6. Результаты распознавания слов
Звук
Полная база
Неполная
база
Диктор 1
95,4%
80,1%
Диктор 2
94,8%
78,8%
Диктор 3
95,5%
79,4%
Диктор 4
93,5%
77,5%
Диктор 5
94,2%
75,5%
Таким образом, выяснилось, что использование расширенной базы дифонов эффективнее
и надежнее.
Заключение
Что означают полученные результаты? Во-первых, мы получили возможность
распознавать сверхбольшие словари, так как автоматическое генерирование эталонов
облегчает обучение системы. Алгоритм DTW вполне надежен для этого. Полагаем, что
дикторонезависимости можно добиться через усреднение эталонов. Но даже пока она
дикторозависима, создание дифонной базы займет максимум 2-3 часа.
Наиболее сложной в этой технологии является переход к слитной речи, так как сложно
определить границы слов в непрерывной речи. Затем вместо обычного словаря нужен
текстовый корпус со всевозможными предложениями и словосочетаниями. Можно
распознавать сочетании фраз как целые слова, но таких сочетаний будет много. Поэтому,
эффективно использование такой системы для определенной предметной области.
244
Но раз уж мы сделали шаг в сторону больших словарей, то возможно при кропотливой
работе эту проблему можно решить.
Достарыңызбен бөлісу: |