ASR (Automated Speech Recognition)

μ˜€ν”ˆμ†ŒμŠ€ μŒμ„±μΈμ‹ 엔진쀑 μ™œ Kaldiλ₯Ό 써야 ν•˜λŠ”μ§€?

Kaldi둜 μŒμ„± μΈμ‹μ˜ κΈ°μˆ λ“€μ΄ 많이 ν†΅ν•©λ˜μ—ˆμœΌλ©°, μŒμ„±μΈμ‹κΈ°μ— μ΅œμ ν™”λœ TensorFlow같은 ν”„λ ˆμž„μ›Œν¬λ‘œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 지속적인 μ½”λ“œ μ—…λ°μ΄νŠΈλ₯Ό ν•˜κΈ° λ•Œλ¬Έμ— μ΅œμ‹  κΈ°μˆ λ„ follow-up κ°€λŠ₯ν•©λ‹ˆλ‹€. λΉ„μš©μ μœΌλ‘œλ„ Open Source이기 λ•Œλ¬Έμ— λΉ„μš©μ  μš°μœ„λ₯Ό λ…Όν•  수 μ—†μŠ΅λ‹ˆλ‹€.

ν˜„μž¬ λ§Žμ€ μ—”μ§€λ‹ˆμ–΄λ“€μ΄ μ‚¬μš©ν•˜κ³  성곡적인 recipe듀이 μžˆλ‹€λŠ” κ²ƒμœΌλ‘œ 기술적으둜 증λͺ…λ˜μ—ˆμŠ΅λ‹ˆλ‹€. (졜근 Kaldi κΉƒν—ˆλΈŒ 곡식 μ½”λ“œμ— Zerothκ°€ ν•œκ΅­μ–΄ 곡식 recipe둜 등둝됨)

관련기사 : https://biz.chosun.com/site/data/html_dir/2017/03/06/2017030601112.htmlarrow-up-right

kaldi μ˜€ν”ˆμ†ŒμŠ€ μŒμ„±μΈμ‹μ˜ ν’ˆμ§ˆμ— λŒ€ν•΄ κ°κ΄€μ μœΌλ‘œ 평가 ν•  수 μžˆλŠ” 데이터가 μžˆλŠ”μ§€? μƒμš©μ œν’ˆ(ETRI, 마인즈랩, μ…€λ°”μŠ€AI, λ‰˜μ•™μŠ€λ“±)λ“±κ³Ό λΉ„κ΅λœ λ‚΄μš©μ΄λ‚˜ 평가 데이터가 μžˆλŠ”μ§€?

각 νšŒμ‚¬μ˜ μŒμ„±μΈμ‹κΈ°λ“€μ€(ETRI, 마인즈랩, μ…€λ°”μŠ€AI, λ‰˜μ–‘μŠ€ λ“±) κ°μžκ°€ κ°€μ§„ λ°μ΄ν„°λ‘œ μ΅œμ ν™” ν•™μŠ΅μ΄ λ˜μ–΄μžˆμœΌλ‹ˆ νŠΉμ • μƒν™©μ—μ„œ μ€€λΉ„λœ λ°μ΄ν„°μ…‹μœΌλ‘œ λΉ„κ΅ν•˜λŠ” 것 λ§κ³ λŠ” 객관적인 λΉ„κ΅λΌλŠ” 것이 성립이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

CER을 λΉ„κ΅ν•œλ‹€κ³  예λ₯Ό λ“€λ©΄ A사가 10%, B사가 15%κ°€ λ‚˜μ™”λ‹€κ³  ν•΄μ„œ A사가 B사 보닀 μŒμ„±μΈμ‹κΈ° μ„±λŠ₯이 μ’‹λ‹€κ³  말할 수 μ—†μŠ΅λ‹ˆλ‹€. λ™μΌν•œ μ‘°κ±΄μ—μ„œ μΆ©λΆ„ν•œ μ‹œκ°„μ˜ 데이터λ₯Ό λΉ„κ΅ν–ˆλ‹€κ³  ν•˜λ©΄ A사가 μ„±λŠ₯이 더 μ’‹λ‹€κ³  μΆ”μ •ν•  μˆ˜λŠ” μžˆκ² μ§€λ§Œ 보톡 PoC 및 μž…μ°° μ™Έμ—λŠ” 이런 쑰건 성립이 λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 비ꡐλ₯Ό ν•  μˆ˜κ°€ μ—†μŠ΅λ‹ˆλ‹€.

μŒμ„±μΈμ‹κΈ°κ°€ μ œλŒ€λ‘œλœ μ„±λŠ₯을 보이고 개발 ν›„ ν˜„μ—…μ— μ μš©ν•  수 μžˆλŠ” μˆ˜μ€€μ΄ λ˜λŠλƒμ˜ μ—¬λΆ€λŠ” ν•΄λ‹Ή 도메인 데이터λ₯Ό μ–Όλ§ˆλ‚˜ 효과적으둜 λ°˜μ˜ν•˜μ—¬ μŒμ„±μΈμ‹κΈ° 전체λ₯Ό ν•™μŠ΅ν•  수 μžˆλŠλƒμ˜ λ¬Έμ œμž…λ‹ˆλ‹€. 이런 λ°©μ‹μœΌλ‘œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” μ˜€ν”ˆμ†ŒμŠ€λŠ” kaldi μ™Έ μ—λŠ” μ—†μŠ΅λ‹ˆλ‹€.

핡심 ν¬μΈνŠΈλŠ” κ΅¬κΈ€μ΄λ‚˜ μ• ν”Œ λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈμ²˜λŸΌ 일반적인 일상 μƒν™œμ—μ„œ μ“°λŠ” μŒμ„±μΈμ‹κΈ°λ₯Ό λͺ©ν‘œλ‘œ ν•˜λŠ” 것이 μ•„λ‹ˆλΌλ©΄ μŒμ„±μΈμ‹λ₯  λΉ„κ΅λŠ” ν˜„μž¬ μ˜λ―Έκ°€ μ—†μŠ΅λ‹ˆλ‹€. μ™œλƒν•˜λ©΄ μŒμ„±μΈμ‹κΈ°λ₯Ό μƒμš©ν™”ν•΄μ„œ μ“°λ €λ©΄ νŠΉμ • 도메인(ν¬μŠ€μ½” ICT의 경우 λΉ„μ¦ˆλ‹ˆμŠ€ 회의, μ‚°μ—… ν˜„μž₯ λ“±)μ—μ„œ 잘 μž‘λ™ν•  수 μžˆλ„λ‘ λ²”μœ„λ₯Ό μ œν•œν•˜κ³  μΆ©λΆ„ν•œ ν•΄λ‹Ή 도메인 데이터λ₯Ό μ΄μš©ν•œ Customization이 ν•„μˆ˜μ΄κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

μ•„ν‹€λΌμŠ€λž©μŠ€μ˜ λ°μ΄ν„°μ˜ μˆ˜μ§‘ ν™˜κ²½μ΄ μ–΄λ–»κ²Œ λ˜λŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€?

맀우 λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ μˆ˜μ§‘λœ λ°μ΄ν„°λ“€μž…λ‹ˆλ‹€. λ¬Όλ‘  λͺ¨μ–΄μ½”μΈμ΄λΌλŠ” 저희가 직접 κ΅¬μΆ•ν•œ ν¬λΌμš°λ“œμ†Œμ‹± 방식 λͺ¨λ°”μΌμ•±μœΌλ‘œ μˆ˜μ§‘λœ 데이터듀은 λ‹€μ–‘ν•œ μ‚¬λžŒλ“€μ˜ ν•Έλ“œν° λ§ˆμ΄ν¬λ‘œλΆ€ν„° 맀우 λ‹€μ–‘ν•œ λ…Έμ΄μ¦ˆ ν™˜κ²½μ—μ„œ μˆ˜μ§‘λ˜μ—ˆμ§€λ§Œ, κ·Έ 외에도 전문적인 λ…ΉμŒ ν™˜κ²½μΈ κ²½μš°λ„ 있으며 μ‹€μ œ ν™˜κ²½λ“€μ—μ„œ λ…ΉμŒλœ ν›„ μ „μ‚¬λœ 데이터듀도 μžˆμŠ΅λ‹ˆλ‹€. 유튜브 크둀링 데이터도 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

자체 κ°œλ°œν•˜μ‹  Long Audio Segmentation(aligning reference to hypothesis)이 μ–ΈκΈ‰λ˜λŠ”λ°, 좔가적인 μ„€λͺ…이 μ—†μ–΄μ„œ, ν˜Ήμ‹œ μ–΄λ– ν•œ hypothesis 에 μ˜ν•΄μ„œ μ μš©λœκ±΄μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

Long audio segmentation 을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄μ„œ μΌλ°˜μ μœΌλ‘œλŠ” μŒμ„±μΈμ‹κΈ°μ— μ˜ν•΄ λ””μ½”λ”©λœ κ²°κ³Ό(hypothesis )λ₯Ό 원본 λ¬Έμž₯에 λ§žμΆ”μ–΄(align) λΉ„μŠ·ν•œ μœ„μΉ˜λ₯Ό μ°ΎλŠ” 방법을 μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λŠ” 경우 λ””μ½”λ”© κ²°κ³Ό 쀑, μΆ©λΆ„νžˆ 믿을 λ§Œν•˜μ§€ μ•ŠλŠ” 곳은 ν•™μŠ΅λ°μ΄ν„°μ—μ„œ λ°°μ œν•˜κΈ° λ•Œλ¬Έμ— λ°μ΄ν„°μ˜ 손싀을 κ°μˆ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ•„ν‹€λΌμŠ€λž©μŠ€μ—μ„œλŠ” 상기 방법에 λ”ν•΄μ„œ λ°˜λŒ€λ‘œ 원본 λ¬Έμž₯을 λ””μ½”λ”© 결과에 λ§žμΆ”μ–΄ μ„Έκ·Έλ¨ΌνŠΈλ₯Ό μ§„ν–‰ν•˜λŠ” 방식도 μ‚¬μš©ν•©λ‹ˆλ‹€. ν›„μžμ˜ 경우 전사 κ²°κ³Όκ°€ μΆ©λΆ„νžˆ λ―Ώμ„λ§Œν•˜λ‹€κ³  μ—¬κ²¨μ§€λŠ” 경우 ν•™μŠ΅ λ°μ΄ν„°μ˜ 손싀을 쀄이고, λ³Όλ₯¨μ΄ μž‘μ•„ 전사λ₯Ό μˆ˜ν–‰ν•œ μ‚¬λžŒμ—κ²ŒλŠ” λ“€λ¦¬μ§€λ§Œ κΈ°μ‘΄ 인식기가 λ°˜μ‘μ„ ν•˜μ§€ μ•ŠλŠ” κ²½μš°μ—λ„ μ„±λŠ₯을 λŒμ–΄μ˜¬λ¦¬λŠ” λ°©μ•ˆμœΌλ‘œ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Telephone-environment tandem filtering이 λ‚˜μ˜€λŠ”λ° μ–΄λ–€ κΈ°μˆ μΈμ§€ κΆκΈˆν•©λ‹ˆλ‹€.

ν•™μŠ΅μ„ μœ„ν•œ 원본 μ˜€λ””μ˜€κ°€ μ „ν™”μ„  데이터가 μ•„λ‹Œ 경우 전화선에 μ‚¬μš©λ˜λŠ” 코덱 (G.711, G.729, AMR-NB λ“±)을 μ‚¬μš©ν•΄μ„œ Encoding&Decoding 과정을 거쳐 μ΅œλŒ€ν•œ μ „ν™”μ„  데이터와 λΉ„μŠ·ν•œ λ°©μ‹μœΌλ‘œ λ°”κΎΈλŠ” κ³Όμ •μž…λ‹ˆλ‹€.

Lexicon design으둜 발음 닀양성을 μ»€λ²„ν–ˆλ‹€κ³  λ˜μ–΄μžˆλŠ”λ°, μ–΄λ– ν•œ κΈ°μˆ μΈμ§€ μ•Œμˆ˜ μžˆλŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

Zeroth μ˜€ν”ˆμ†ŒμŠ€μ—μ„œλΆ€ν„° μ‚¬μš©λœ κ°œλ…μœΌλ‘œ, ν•œκ΅­μ–΄λŠ” νŠΉμ„±μƒ κΈ€μžκ°€ μ •ν•΄μ§€λ©΄ 발음이 μ •ν•΄μ§€λŠ” 언어이며, λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€. λ˜ν•œ ν•œκ΅­μ–΄λŠ” 띄어쓰기 λ‹¨μœ„μ˜ μ–΄μ ˆμ΄ μ•„λ‹Œ ν˜•νƒœμ†Œκ°€ κΈ°λ³Έ λ‹¨μœ„μž…λ‹ˆλ‹€. μŒμ„±μΈμ‹ μ—­μ‹œ 이 ν˜•νƒœμ†Œ λ‹¨μœ„λ‘œ ν•  λ•Œ 쒋은 μ„±λŠ₯을 λ³΄μž…λ‹ˆλ‹€.

μ–΄μ ˆ λ‹¨μœ„μ—μ„œ λ°œμŒμ„ μƒμ„±ν•˜κ³  ν˜•νƒœμ†Œ λ‹¨μœ„μ—μ„œ λ‹€μ‹œ μ΅œμ’…μ μΈ ν˜•νƒœμ†Œμ˜ λ°œμŒμ„ ν™•μΈν•˜λŠ” 과정을 거치면, ν˜•νƒœμ†Œ λ‹¨μœ„μ—μ„œ 발음의 닀양성을 data-driven λ°© μ‹μœΌλ‘œ μ°Ύμ•„λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„ν‹€λΌμŠ€λž©μŠ€μ˜ Base Model에 λŒ€ν•œ ν•™μŠ΅ 데이터가 λŒ€λž΅ μ–΄λŠ 정도인지 κΆκΈˆν•©λ‹ˆλ‹€

λ‚΄λΆ€μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” Base model 에 λŒ€ν•œ ν•™μŠ΅ λ°μ΄ν„°μ˜ ν¬κΈ°λŠ” μ˜€λ””μ˜€ 3000 μ‹œκ°„ 그리고 ν…μŠ€νŠΈ 데이터 50GB μž…λ‹ˆλ‹€. (2021. 1)

μŒμ„± 인식λ₯ μ΄ μ–΄λŠμ •λ„ λ˜λ‚˜μš”?

ν˜„μž¬ 도메인에 μ΅œμ ν™”ν•˜μ§€ μ•Šμ€ general model을 κΈ°μ€€μœΌλ‘œ JTBC, KBS, SBS 같은 λ°©μ†‘μ—μ„œ 액컀듀이 μ •ν™•ν•˜κ²Œ λ°œμŒν•˜λŠ” 1인 낭독 ν˜•μ‹μ˜ μ˜€λ””μ˜€μ˜ 경우 97% μ •λ„λ‘œ ν‹€λ¦¬λŠ” 뢀뢄이 거의 μ—†μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 고객μͺ½μ—μ„œ μ§ˆλ¬Έν–ˆλ‹€κ³  ν•΄μ£Όμ…¨κΈ° λ•Œλ¬Έμ— λ‹Ήμ—°νžˆ μ½œμ„Όν„°μͺ½ 8kHz 음ν–₯λͺ¨λΈ 인식λ₯ μ— λŒ€ν•œ 질문일 κ²ƒμœΌλ‘œ μƒκ°λ˜λ©° μ „ν™”μ„  코덱을 거쳐 음질이 λ–¨μ–΄μ§€κΈ° λ•Œλ¬Έμ—, 이 경우 μ•„ν‹€λΌμŠ€λž©μŠ€λΏλ§Œ μ•„λ‹ˆλΌ μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  ν•œκ΅­μ–΄ μŒμ„±μΈμ‹κΈ° 인식λ₯ μ΄ 16kHz λͺ¨λΈλ³΄λ‹€ λ–¨μ–΄μ§‘λ‹ˆλ‹€.

ν˜„μž¬ μ½œμ„Όν„° μ‹œμž₯ 평균을 보면 λŒ€λž΅ transfer learning μ§„ν–‰ν•˜κΈ° μ „ 85% 정도 λ‚˜μ˜¬ 수 있으며 μ΅œμ ν™” μž‘μ—… μ§„ν–‰ν›„μ—λŠ” 87~ 89% κΉŒμ§€ λ‚˜μ˜¨λ‹€κ³  μƒκ°ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€. μ΄λŠ” 고객μͺ½κ³Ό 상담원을 λΆ„λ¦¬ν•˜μ§€ μ•Šκ³  κ·Έλƒ₯ 평균을 λ‚Έ 것이며 뢄리할 경우, 상담원은 μ •ν™•ν•œ 발음으둜 슀크립트λ₯Ό 보고 μ½λŠ” 즉 낭독 ν˜•νƒœκ°€ 많기 λ•Œλ¬Έμ— μ΅œλŒ€ 94% κΉŒμ§€λ„ μ˜¬λΌκ°‘λ‹ˆλ‹€. λ°˜λŒ€λ‘œ 고객μͺ½μ˜ μŒμ„±μΈμ‹λ₯ μ€ λ‹€μ–‘ν•œ μ „ν™”κ±°λŠ” κ³³μ—μ„œ λ‚˜μ˜€λŠ” λ°°κ²½ λ…Έμ΄μ¦ˆ(μ§€ν•˜μ² , 길거리 λ“±), 노인, μ‚¬νˆ¬λ¦¬, κΈ‰λ°•ν•œ μƒν™©μ΄λ‚˜ 격해진 κ°μ •μœΌλ‘œ 인해 λ­‰κ°œμ§€λŠ” 발음 등을 κ³ λ €ν•˜λ©΄ 평균 80%λ₯Ό λ„˜κΈ° νž˜λ“­λ‹ˆλ‹€.

μ•„ν‹€λΌμŠ€λž©μŠ€λŠ” 고객μͺ½ 데이터 90% 인식λ₯  달성을 λͺ©ν‘œλ‘œ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ§€μ›ν•˜λŠ” μ˜€λ””μ˜€ 포맷 μœ ν˜•μ΄ λ”°λ‘œ μžˆλŠ”μ§€μš”?(flac, wav, mp3, 코덱은 μƒ˜ν”Œλ§μ€ 24bitλŠ” μ•ˆλ˜κ³  16bit만 인식 λ“±λ“± κ°€μ΄λ“œκ°€ μžˆλŠ”μ§€μš”?)

기본적으둜 KaldiλŠ” 16bit wav 포맷 ν˜•μ‹λ§Œμ„ μ§€μ›ν•©λ‹ˆλ‹€. μΈμ½”λ”©λœ μž…λ ₯듀을 μ²˜λ¦¬ν•˜κ³  μ‹ΆμœΌμ‹œλ‹€λ©΄ pre-processing 이 ν•„μš”ν•©λ‹ˆλ‹€.

Last updated