whisper-small-dialect-ko
openai/whisper-small์ ํ๊ตญ์ด 4๊ฐ ์ง์ญ ๋ฐฉ์ธ(๊ฐ์๋, ๊ฒฝ์๋, ์ ๋ผ๋, ์ถฉ์ฒญ๋) ์์ฑ โ ํ์ค์ด ํ
์คํธ ๋ณํ ํ์คํฌ๋ก ํ์ธํ๋ํ ๋ชจ๋ธ์
๋๋ค.
์จ๋๋ฐ์ด์ค IoT ๊ธฐ๊ธฐ(ํ๊ฒ: ์ค๋ ์งํ์ด 5, RK3588)์์ "์ฌํฌ๋ฆฌ ์์ฑ ๋ช ๋ น โ ํ์ค์ด ๋ณํ" ๊ธฐ๋ฅ์ ์ํด ํ์ต๋์์ต๋๋ค.
ํ์ต ๋ฐ์ดํฐ
AIHub ํ๊ตญ์ด ๋ฐฉ์ธ ๋ฐํ ๋ฐ์ดํฐ์ (๊ฐ์๋/๊ฒฝ์๋/์ ๋ผ๋/์ถฉ์ฒญ๋)์์ ์ง์ญ๋ณ๋ก ์๋์ ๊ฐ์ด ์์งํ ๋ฐํ๋ฅผ ์ฌ์ฉํ์ต๋๋ค (์ ๋ผ๋๋ ๋ผ๋ฒจ ๋ฐ์ดํฐ๊ฐ ๊ตฌ์กฐ์ ์ผ๋ก ์ ์ด ์ํ์ ์ ๋๋ฌํจ).
| ์ง์ญ | ํ์ต ๋ฐํ ์ |
|---|---|
| ๊ฒฝ์๋ | 8,542 |
| ์ถฉ์ฒญ๋ | 6,310 |
| ๊ฐ์๋ | 4,290 |
| ์ ๋ผ๋ | 1,169 |
| ํฉ๊ณ | 20,151 |
์ฑ๋ฅ (CER, base whisper-small ๋๋น)
| ์ง์ญ | base | ํ์ธํ๋ |
|---|---|---|
| ๊ฐ์๋ | 0.140 | 0.058 |
| ๊ฒฝ์๋ | 0.183 | 0.070 |
| ์ ๋ผ๋ | 0.233 | 0.136 |
| ์ถฉ์ฒญ๋ | 0.331 | 0.121 |
| ์ ์ฒด ํ๊ท | 0.222 | 0.096 |
์๋ ค์ง ํ๊ณ
- CER ๊ฐ์ ์ ์ฃผ๋ก ์์ ์ธ์ ์ ํ๋ ํฅ์์์ ์จ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ, "๋จ๋โ๋จ๋จํ", "์ธ๋ฅ", "๊ทธ๋ฐ๋ค๋" ๊ฐ์ ๋ฐฉ์ธ ํน์ ์ดํยท์ด๋ฏธ์ ํ์ค์ด ์๋ฏธ ์นํ์ ๋ณ๋์ ์ฝ์ ์ผ๋ก ๋จ์ ์์ต๋๋ค.
- ์ ์ฃผ๋ ๋ฐฉ์ธ์ base CER์ด 0.8 ์์ค์ผ๋ก ๋ค๋ฅธ ์ง์ญ๊ณผ ์ด์ง์ ์ด์ด์ ์ด ๋ชจ๋ธ์ ํ์ต ๋ฒ์์์ ์ ์ธ๋์์ต๋๋ค.
์ฌ์ฉ ์์
from transformers import WhisperForConditionalGeneration, WhisperProcessor
model = WhisperForConditionalGeneration.from_pretrained("kimyh716/whisper-small-dialect-ko")
processor = WhisperProcessor.from_pretrained("kimyh716/whisper-small-dialect-ko")
input_features = processor(audio, sampling_rate=16000, return_tensors="pt").input_features
generated_ids = model.generate(input_features, language="korean", task="transcribe")
text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]