Եկեք հասկանանք, որ իրականում մի քանի տարբեր բանի մասին ենք խոսում:
Սկզբի համար մեզ պետք է միկրոֆոնի լսած հնչյունները վերածել տառերի:
Լիարժեք speech to text ունենալու համար պետք կլինի նաև հաշվի առնել, որ մեր արտասանությունը ոչ միշտ է կոնսիստենտ, ոչ միշտ է պաուզան նշանակում բառի ավարտ և այլն: Այսինքն՝ մեզ պետք է միկրոֆոնի լսածը համեմատել լեզվի բառարանի հետ, որ վստահ լինենք՝ մարդն ասել է «բարև, ապ, ուշ եմ գալու տուն», ոչ թե «բարև, ապուշ եմ գալու տուն»: Ու որ, ասենք, «հարփել» չի, «հարբել» է: Ու հիշեք՝ եթե առանձին տառերը ճանաչելը հեշտ է (հաճախականային կոնկրետ պատկեր ունեն), ապա ակցենտներն ու կետադրությունն՝ էնքան էլ չէ:
Որտեղից մենք աստիճանաբար անցնում ենք մի տեղ, որը կոչվում է natural language processing (NLP): Մեզ պետք կլինի հա՛մ տվյալ լեզվի բառարան, որը տեղ է զբաղեցնելու ու պիտի արագ հասանելի լինի, հա՛մ մի հատ ուրիշ, մի քիչ ավելի բարդ բան:
Որ մենք hardcode չանենք լեզվի բոլոր հնարավոր ստրուկտուրաները մեր ծրագրի մեջ, սովորաբար machine learning ենք օգտագործում: Կարճ ասած, ճիշտ ձևի սեփական պարամետրերը փոխող ծրագիր: Տալիս ենք մուտք՝ մեր խոսացածը: Ստանում ենք ելք: Ելքի մեջ ուղղումներ ենք մտցնում: Ծրագիրն իր պարամետրերը փոխում է, որ մուտքը համապատասխանեցնի ելքին: Էս ծրագրավորման շատ լուրջ խնդիր է՝ ինչ պարամետրեր պիտի կարողանա ծրագիրը կարգավորել, որ ստանա էն, ինչ ուզում է: Բայց եթե ծրագիրը ճիշտ է գրած, աստիճանաբար իր ելքն ավելի ու ավելի հաճախ կլինի ավելի մոտ նրան, ինչ մենք ուզում էինք ստանալ: Սրան ասում ենք AI training: Եդ training data-ն (պարամետրերի հավաքածուն) հետո կարող են առանձին օգտագործել՝ կարիք չկա ամեն անգամ train անել ծրագիրը, ու այն կարող է շարունակել ինքն իրեն train անել, հարմարվել լեզվի փոփոխվող թրենդներին ու առանձին մարդու խոսքային մոդելներին:
NLP-ի հաջորդ մակարդակում խոսքը վերլուծել ու ասածի իմաստը հասկանալն է, օրինակ՝ ձայնային հրամանների համար, բայց էդ երևի մեր սպեկտրից դուրս է:
Սա նույնպես թե՛ բավականին շատ ինֆորմացիա է, որը պետք է արագ հասանելի լինի, թե՛ հաշվողական մեծ հզորություն է ուզում:
Դրա համար շատ դեպքերում հաշվողական մասը փոխանցվում է cloud՝ data center-ների վրա:
Կան կազմակերպություններ, որոնք սրանով զբաղվում են, ու պրոդուկտներ ունեն, Google Voice API-ի նման:
Որոշ դեպքերում պարզագույն մասը կարելի է օֆլոուդ անել սարքի վրա, ու էդ ամենն անել օֆլայն, բայց հիշեք՝ էդ սարքից զգալի հզորություն կպահանջի, ու համեմատաբար վերջերս են սմարտֆոնները սկսել նման բան անել (Siri-ն iPhone 4S-ից առաջ չափազանց շատ հզորություն կպահանջեր, դրա համար էլ հասանելի չէր):
Հիշեք՝ հին հեռախոսների վրա կարողանում էիք մարդկանց անուններին voice tag-եր կցել: Արտասանում էիք մարդու անունը, ձայնային ֆայլ էր սարքում հեռախոսը, ու հետո, երբ ճիշտ կոճակը սեղմում էիք, արտասանում էիք մարդու անունը, հեռախոսը նոր ձայնային ֆայլը համեմատում էր իր գրադարանի հետ, եթե նման բան էր գտնում, զանգում էր դրան կպցրած համարին: Ահավոր ինկոնսիստենտ ու անհարմար բան էր: Հետո՝ կարողանում էիք թելադրել տեքստ, ինքը մոտավորապես T9-ի չափ անհամբեր պինգվին: T9-ի autocorrect-ը մղձավանջային բան է:
Այ դրա համար էլ ամեն ինչ գնացել է էս ուղղությամբ. օգտագործել machine learning, բայց հաշվարկային հզորության պահանջները տեղափոխել cloud:
"Sir, do you have a moment to talk about our lords and saviors the Daleks?"
Voice of the Nightingale - իմ բլոգը
Աթեիստ (06.12.2020)
Ժող, էս հարցում ի՞նչ առաջընթաց կա: Վերջապես հայերենի որևէ խոսքի մշակման գործիք, թեկուզ թերություններով ստեղծվե՞լ ա։ Մենք հիմա լիքը դատա ունենք, որ կարանք օգտագործենք գոյություն ունեցող որևէ գործիք բարելավելու համար։ Ավելին՝ կարող ա նույնիսկ ֆինանս ճարենք որևէ մեկին վարձատրելու համար, որ վրան աշխատի։
Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)
Էջանիշներ