Основи на препознавање на говор во систем на диктат - спектар на наука
Основи на препознавање на говор во систем на диктат
Системот за препознавање говор IBM Speech Server Series (ISSS) го претвора говорениот текст во пишан текст во реално време и со исклучително висока точност на препознавање и го прикажува на екранот (Слика 1). Таа е развиена во последните неколку години во лабораториите за производи на IBM во Бока Ратон (Флорида) и Виена, како и во научните центри во Рим, Париз, Севилја, Харсли (Велика Британија) и Хајделберг. Истражувачка група предводена од Фредерик Јелинек, Роберт Мерсер и Лалит Бал во истражувачката лабораторија Томас W Вотсон на IBM во Јорктаун Хајтс (Newујорк) создаде основни предуслови за овој развој преку основни истражувања.

Во моментов, употребата на ISSS бара таканаречено дискретно зборување, т.е. диктирање со паузи (дури и скоро колку што сакате кратко) помеѓу зборовите. Ова ограничување беше задржано заради прецизност на препознавањето; тоа не е потребно од системски причини.
Препознавањето на говорен сигнал започнува со претходна обработка: Во согласност со обработката на звукот во човечкото уво, системот прво користи трансформација на Фурие за да пресмета колку интензивно се присутни одредени фиксни фреквенции во звучниот сигнал во соодветната временска точка - поточно: во малку подолг претходен временски интервал. Оваа информација се зема на секоја стотинка од секундата и се пренесува на следната фаза на обработка како т.н. вектор на одлики. Се покажа дека е корисно да се сумираат временските вредности на соседните точки и да се извлечат информациите што се важни за диференцијацијата со статистички метод, т.н. дискриминаторска анализа. Рафинираните вектори на овој начин добиени на овој начин веќе ги содржат основните информации во кондензирана форма.
Ако артикулираме одреден звук - на пример a - векторите на одликите откриени во ова време ќе бидат повеќе слични едни на други отколку вектор на одлики за друг звук. Ако некој ги замисли - како што е вообичаено со векторите - како точки во високо-димензионален простор, тогаш карактеристичните вектори или точки што припаѓаат на одреден звук формираат облак во овој простор. Нивната точна позиција и форма е различна за секој звучник; се одредува во фазата на обука специфична за звучници на системот.
Од причини на пресметковна економија, облаците се приближно опишани со помош на компјутерски особено едноставни стандардни форми. Се претпоставува, како што беше, дека облаците се сферични или елипсовидни и дека нивните главни оски лежат паралелно со оските на координатниот систем (нормални дистрибуции со дијагонална матрица на коваријанса). Облак што значително отстапува од стандардната форма може да се приближи со неколку стандардни облаци.
Пред-обработката го претвора говорот во временска низа на вектори на одлики; Во апстрактниот простор, една точка скока од облак до облак, како што беше. Во принцип, програмата за препознавање говор треба само да го идентификува точниот облак во секој случај врз основа на векторите на одликите. Редоследот на облаците пронајдени на овој начин тогаш директно ќе резултира со фонетска транскрипција на говорниот сигнал.
Во пракса, сепак, ситуацијата е далеку покомплицирана. Обично, по обуката, има значително повеќе облаци во просторот на векторите на одликите отколку што има звуци. Значи, нема јасна распределба на звуците (фонемите) на облаците во нашиот простор. Наместо тоа, секоја фонема користи точки од неколку облаци; нивниот редослед е само грубо одреден, но не и точната хронолошка низа. Значи, повеќето звучници прават заобиколен пат кон облакот за e на крајот на единечно изразено w; во тек на w, облакот u може да се користи накратко помеѓу нив и така натаму. На крајот на краиштата, облаците не се во фокусот и се преклопуваат едни со други.
Ланци Марков
Сепак, проблемот не е нерешлив, како што покажува нашата сопствена способност да го разбираме јазикот. Со цел математички да се формализира човечкото претходно знаење и со тоа да се стави на располагање на компјутерот, на лингвистички исказ (на пример, збор) му се доделува таканаречен Марков процес. Прво на сите, ова е индикација за веројатноста со која една состојба (карактеристичен вектор) од одреден сет дозволени состојби е проследена со друга. Ова обично е претставено со таканаречен ланец Марков (Слика 2). Една имплементација на Марков процес се состои во тоа што, почнувајќи од почетната состојба, последователната состојба се одредува случајно во согласност со веројатностите за транзиција важечки за почетната состојба, од оваа последователна состојба и така натаму.
Синџирите Марков се стандардно средство за статистика за моделирање на временски процеси. Она што е ново во врска со апликацијата за препознавање говор е дека состојбите не се вектори на одлики, туку облаци - поточно: дистрибуција на веројатност на вектори на одлики. Бидејќи векторот на карактеристиката може да припаѓа на неколку облаци, не е лесно да се заклучи поврзаната низа на состојби (облаци) од наб observedудуваната низа на вектори на одлики (видете ја рамката на страница 92); ова останува - првично - скриено, поради што поимот скриени модели на Марков стана вообичаен. Она што се чини како непотребна компликација е толку успешно затоа што скриените модели на Марков со вграденото замаглување можат многу добро да ја репродуцираат природната неточност на артикулацијата.
За фазата на учење, говорникот треба да прочита текст од околу три четвртини од час. Од бројните реализации на секој изговорен звук, системот потоа ги пресметува проценетите вредности за веројатноста на живеење и транзиција на поврзаниот процес на Марков. Во исто време, се проценуваат параметрите на облаците. Во извесна смисла, знаењето за тоа како се користи овој звучник за изговор на звук е зачувано во овие броеви.
За огромното мнозинство на зборови што не се појавија во текстот за обука, но сепак треба да бидат препознаени, поврзаниот процес на Марков мора да биде конструиран од достапните податоци. Со помош на систем базиран на знаење што го напишаа Клаус Вотке и другите компјутерски лингвисти во IBM во Хајделберг, редоследот на фонемите што ја сочинуваат говорената форма може да се изведе од пишаната форма на зборот; ланец Марков припаѓа на секоја фонема, од чие спојување се добива синџирот Марков за целиот збор.
Ако системот сега треба да го препознае точниот звук во контекст на исказ за време на работата, тој мора да одлучи кој од најголемиот број на можни синџири Марков има најголема веројатност за генерирање на сегашното набудување (секвенца на векторот). Тука се користи метод што беше предложен од американскиот инженер за комуникации Ендру V.Витерби во 1967 година во еден сосема поинаков контекст (види рамка на страница 92). Само со овие принципи и нивна имплементација во многу ефикасни алгоритми, беше можно прецизно да се разликуваат фонемите на човечкиот јазик во компјутерот.
Бидејќи системот работи со синџири на Марков не само за индивидуални фонеми, туку и за секвенци на фонеми - особено зборови -, прашањето не е едноставно која од неколкуте можни фонеми е најверојатно изговорена, туку кои, земајќи ги во предвид најверојатно се слушнати фрагменти од зборови.
Во оваа смисла, неговиот начин на работа наликува на перцепцијата на луѓето: Не се регистрираме непристрасно, туку се обидуваме да го вклопиме она што сме го согледале во веќе делумно однапред смислени хипотези. Преку оваа работа за реконструкција (за која беше измислена фразата „анализа преку синтеза“) можеме да ја исправиме нецелосноста и флуктуациите во обликот на предметите.
Оваа постапка може дополнително да се генерализира во препознавањето на машинскиот говор со комбинирање на фонетски модели на зборови во поголеми структури на податоци од кои најверојатната за голем број хипотези на зборови може да се одреди со рангирање на Витерби.
Рафинирани модели на јазик
Редовната врска помеѓу изговорот и правописот - предуслов за создавање на фонетски збор - е далеку покомплицирана на германски и англиски јазик отколку на шпански, на пример. Досега опишаната претстава на моделот е рафинирана, што придонесува за значително подобрување на точноста на препознавањето. Програмата ISSS продолжува во два чекора.
Досега опишаниот принцип беше да се поделат зборовите во фонеми и потоа да се формулира синџир Марков за секоја фонема. Зарем нема смисла воопшто да се изостави фонемата како ниво на опис за препознавање говор? Зарем не би било доволно едноставно да се проследи синџирот Марков низ облаците на карактеристичниот простор за фонетското претставување на зборот? Ова би имало предност што многу точно може да се сфатат суптилностите на изговорот, како што се замаглување и кратенки.
Додека Марков синџир за фонема обично има 7 состојби (облаци) и 13 транзиции, може да се формулираат доста долги, сепак многу едноставно структурирани синџири на Марков кои се однесуваат само на векторите и нивната низа: Постои транзиција за секој јазол до самиот јазол, до следниот јазол и до следниот, но еден во случај векторот на одликата што одговара на следниот јазол да недостасува во синџирот на податоци. Зборовиот модел добиен на овој начин се заснова само на директно набудуваните акустични феномени и затоа му е дадено името фенонска основна форма, што може да се преведе како „фенонска основна форма“.
Во оваа форма, сепак, зборот модел е сè уште непрактичен. Бидејќи секој збор е моделиран директно од вектори на одлики, веќе не е можно да се извлечат хипотези за неговата акустична реализација од пишаната форма на зборот. Значи, за секој збор треба да се обучи посебен фенонски модел. Ова е неекономично и не е погодно за вежбање.
Тука доаѓа вториот одлучувачки чекор, кој го разликува системот за препознавање говор на ISSS. Очигледно, фенонскиот модел има смисла ако се однесува на најмалите можни фонетски единици. Треба да се најде начин што е можно попрецизно да ги заклучиме овие најмали фонетски единици од пишаната форма на зборот. Пристапот кон ова се дрвјата за фонетска одлука.
Идејата е да се заменат традиционалните, прилично груби правила за изговор со правила кои се емпириски добиени од обемни податоци. Изговорот на напишана буква - поточно: низа од букви што претставуваат фонема, како што е sch - зависи од контекстот; s се изговара изразено во Амсел и изразено во Емсленд. Тука може да се сними и мешавина зависна од контекст.
Програмата сега го структурира множеството акустична реализација на фонемата (или која било фонема) со делење на вкупниот сет на две подмножества што се што е можно по хомогени (униформни само по себе) во зависност од контекстот. (Со цел да се утврди дали две низи на вектори на одлики се слични, може дури и да се игнорира нивната низа за многу кратки делови на говорниот сигнал - како што покажа искуството; доволно е да се споредат нивните фреквенции, што е многу помалку комплексно.) Критериумите за оваа поделба мора да никој не се преправа; тие автоматски се пресметуваат од програмата. Земени се во предвид контексти до пет фонеми пред и по оној што треба да се опише.
Секоја подмножество е за возврат поделена на две подмножества што се што е можно по хомогени и така натаму. Се применува статистичкиот критериум за максимално добивање информации. Поделбата продолжува сè додека веќе нема значителна добивка во информациите.
Генерално, се добива хиерархиска структура (како дрво), на чии краеви (т.н. лисја) се собрани голем број контексти со скоро ист изговор за фонемата. Таквиот статистички изведен фонемски изговор во англискиот жаргон се нарекува лимема, што може да се преведе како звук на лист. Искажаното, на пример, може да биде лист или звук што се јавува кратко кога се мешаат a и u.
На крајот од оваа постапка, секој збор може да се моделира како серија ливчиња. И сега има смисла да се опишат звуците на листовите со фенонски модел, односно само да се земат предвид векторите на одликите. Ова ја зачува екомонијата на моделот на фонетскиот збор, но направи значителен напредок во фино подесување на деталите за изговорот и варијантите на контекстот на фонемите. Резултатот е исклучително задоволителен квалитет на препознавачот на говор во реално време.
Јазични модели
Со помош на досега опишаните методи, препознавачот на говорот добива, поточно, број што покажува колку е веројатно присутниот говорен сигнал ако се претпостави одреден збор или низа на зборови. Да ја наречеме веројатност за синтеза. И обратно, ние всушност сакаме да знаеме која секвенца на зборови е најверојатно ако некој го земе сигналот за говор како што е даден.
За овој инверзен заклучок од една до друга условена веројатност, треба да се користи теорема на Бајезија од статистиката, која се враќа на англискиот математичар Томас Бејс (1702 до 1761 година) (споредете ги поглавјата 1 и 5 од мојата книга „Неизвесно знаење“, Хајделберг 1993). Во него се вели дека за даден сигнал за говор, веројатноста за низа на зборови е пропорционална на производот на синтезата и основната веројатност на низата на зборови. Ако, на пример, веројатноста за синтеза за зборот „Кант“ е поголема од онаа за „рака“, но системот за препознавање говор се користи во медицинското поле, каде што рацете се споменуваат многу почесто од филозофите, тогаш сепак треба да се заклучи „рака“.
Но, како ја наоѓате - надвор од сите акустични размислувања - основната веројатност за збор или фраза? Сите системи што се користат во моментов не користат пристапи базирани на знаење, ориентирани кон разбирање на текст, туку модели на статистички јазик. Овие снимаат врски со зборови засновани врз наб observedудуваните низи на зборови.
Во нашиот препознавач на говор, ние користиме наб observудувања на фреквенцијата на низи со три збора (триграми) во големи колекции на текстови, како што се оние што ги доставуваат клиенти. Тоа броење не е доволно овде станува очигледно кога ќе се земе предвид дека се сфаќаат повеќе од трилион триграми со 20.000 зборови. Дури и обемни текстови на текстот ретко ја достигнуваат оваа големина. Затоа, мора да се проценат фреквенциите на незабележаните триграми и, исто така, да се корегираат наб observedудуваните фреквенции со правење проценки. За да го направите ова, ние користиме процеси што првично доаѓаат од биостатистиката.
Правиме истражување во областа на јазичните модели. Затоа, се обидуваме да ги рафинираме моделите на фреквенција за триграми со вклучување на делот на говорот. Ова го прави сознанието, на пример, дека статијата за низа - именка е многу почеста од обратната, достапна за системот.
На германски јазик има многубројни соединенија на зборови (како што е „зглобната артроза“) во текстовите што го вложуваат непотребниот вокабулар, бидејќи нивните компоненти („зглоб“ и „артроза“) обично се веќе запишани во вокабуларот како посебни зборови. Во моментов развиваме нов пристап за проценка на фреквенциите на композитните компоненти.
Од друга страна, има смисла да се надополни разгледувањето на контекст на фиксна должина, како во случајот на триграмите, со набудување на зборови што се подалеку. Особено германски, многу често се случуваат широки зависности („Тој не пристигна до доцна вечерта“). Се чини дека тука ветува да се откријат релевантни контексти со статистички структури слични на правила и да се формулираат јазични модели врз нив.
Значи, сè уште има бројни и релевантни истражувачки задачи поврзани со практиката. Како и да е, веќе е вредно да се размисли за употреба на препознавање говор на работното место.