「原作者へ」
連絡先を存じ上げませんでしたので、不本意ながら無断で翻訳しました。
正式に翻訳を許可されたいです。
gogyzzz@gmail.comでご連絡ください。
아래 포스트의 번역입니다.
http://work-in-progress.hatenablog.com/entry/2018/07/22/124409
인식 대상을 고립단어에서 발전시켜, 좀 더 실용적으로 예제를 테스트해보자.
일단 학습 대상의 발화를 음소로 분해한다.
원문
オススメの料理は何ですか (오스스메노료-리와난데스까: 추천 요리는 무엇입니까)
문장을 단어로 분해(나눠쓰기, 「MeCab」을 사용)
オススメ の 料理 は 何 です か (오스스메 노 료-리 와 난 데스 까)
단어를 음소열로 분해(「Julius」 내의 「yomi2voca.pl」를 사용)
オススメ o s u s u m e
の n o
料理 ry o u r i
は w a
何 n a N
です d e s u
か k a
음소에 대해서는, 무음(sp、sil)을 빼면 「40」종류.
음소 표
(인용처)
http://winnie.kuis.kyoto-u.ac.jp/dictation/doc/phone_m.pdf
이 안에, 「dy」(「ぢゃ」、「ぢゅ」、「ぢょ」)에 대해서는 제외하고,
「39」종류의 음소 전부를 사용한 20종류의 문장을 만들어, 각각 3회 발화한 음성 데이터 60개를 준비했다.
발화문장(20종류)
オススメ の 料理 は 何 です か (오스스메 노 료-리 와 난 데스 까: 추천 요리는 무엇입니까)
o s u s u m e n o ry o u r i w a n a N d e s u k a
百 十 番 テーブル へ どうぞ (햐꾸 쥬 방 테-브루 에 도오조: 10번 테이블에 모시겠습니다)
hy a k u j u u b a N t e: b u r u e d o u z o
ラーメン と 餃子 の セット を 1つ お願い し ます (라-멘 토 교-자 노 셋또 오 히토츠 오네가이 시 마스: 라멘과 교자 세트를 하나 주세요)
r a: m e N t o gy o u z a n o s e q t o o h i t o ts u o n e g a i sh i m a s u
メニュー お願い し ます (메뉴- 오네가이 시 마스: 메뉴판 부탁합니다)
m e ny u: o n e g a i sh i m a s u
禁煙 席 お願い し ます (킨넨 세키 오네가이 시 마스: 금연석 부탁합니다)
k i N e N s e k i o n e g a i sh i m a s u
お 水 4つ お願い し ます (오 미스 욧쯔 오네가이 시 마스: 물 4잔 부탁합니다)
o m i z u y o q ts u o n e g a i sh i m a s u
フォーク 2つ お願い し ます (호-크 후타츠 오네가이 시 마스: 포크 2개 주세요)
f o: k u f u t a ts u o n e g a i sh i m a s u
コーヒー は 食後 に お願い し ます (코-히- 와 쇼쿠고 니 오네가이 시 마스: 커피는 식후에 부탁합니다)
k o: h i: w a sh o k u g o n i o n e g a i sh i m a s u
ソフトドリンク は あり ます か (소후토도링쿠 와 아리 마스 까: 청량음료 있나요?)
s o f u t o d o r i N k u w a a r i m a s u k a
持ち帰り に でき ます か (모찌카에리 니 데키 마스 까: 포장 되나요?)
m o ch i k a e r i n i d e k i m a s u k a
別々 に でき ます か (베쯔베쯔 니 데키 마스 까: 따로따로 되나요?)
b e ts u b e ts u n i d e k i m a s u k a
ごちそうさま でし た (고치소-사마 데시 타: 잘 먹었습니다)
g o ch i s o u s a m a d e sh i t a
牛肉 に し て ください (규-니꾸 니 시 테 쿠다사이: 소고기로 해주세요)
gy u u n i k u n i sh i t e k u d a s a i
キャベツ は お 代わり 自由 です (캬베쯔 와 오 카와리 지유- 데스: 양배추는 무한리필 가능합니다)
ky a b e ts u w a o k a w a r i j i y u u d e s u
サプライズ は でき ます か (사프라이즈 와 데키 마스 까: 깜짝파티(?)는 가능한가요)
s a p u r a i z u w a d e k i m a s u k a
シャンパン を ください (샴빵 오 쿠다사이: 샴페인 주세요)
sh a N p a N o k u d a s a i
かんぴょう を ください (캄뾰- 오 쿠다사이: 칸뾰(음식?)를 주세요)
k a N py o u o k u d a s a i
食事 は ビュッフェ スタイル です (쇼쿠지 와 븃훼 스타이루 데스: 식사는 뷔페 스타일입니다)
sh o k u j i w a by u q f e s u t a i r u d e s u
みょうが を 添え て ください (묘-가 오 소에 떼 쿠다사이: 묘가(채소?)를 곁들여 주세요)
my o u g a o s o e t e k u d a s a i
コーヒー と 紅茶 どちら に し ます か (코-히- 토 코-챠 도찌라 니 시 마스 까: 커피와 홍차 어느 것으로 하시겠습니까?)
k o: h i: t o k o u ch a d o ch i r a n i sh i m a s u k a
(참고) data/lang/phones.txt
<eps> 0
sil 1
sil_B 2
sil_E 3
sil_I 4
sil_S 5
spn 6
spn_B 7
spn_E 8
spn_I 9
spn_S 10
N_B 11
N_E 12
N_I 13
N_S 14
a_B 15
a_E 16
a_I 17
a_S 18
<snip>
z_B 163
z_E 164
z_I 165
z_S 166
「禁煙 席 お願い し ます」(킨넨 세키 오네가이 시 마스: 금연석 부탁합니다) 라는 음성 데이터 1개 분을 테스트 데이터,
남은 59개의 음성 데이터를 학습용으로 사용해보니, 각 모델의 디코딩 결과는 아래와 같이 되었다.
Monophone
1-gram
utterance_id_053 禁煙 お願い し ます 킨넨 오네가이 시 마스
LOG (gmm-latgen-faster[5.3.106~1389-9e2d8]:DecodeUtteranceLatticeFaster():decoder-wrappers.cc:286) Log-like per frame for utterance utterance_id_053 is -8.01345 over 323 frames.
2-gram
utterance_id_053 禁煙 席 お願い し ます 킨넨 세키 오네가이 시 마스
LOG (gmm-latgen-faster[5.3.106~1389-9e2d8]:DecodeUtteranceLatticeFaster():decoder-wrappers.cc:286) Log-like per frame for utterance utterance_id_053 is -7.97456 over 323 frames.
gmm-info 실행 결과
gmm-info exp/mono/final.mdl
number of phones 166
number of pdfs 127
number of transition-ids 1116
number of transition-states 518
feature dimension 39
number of gaussians 1004
모델의 NUMPDFS(pdf-class 수) : 127 ( 5hmmstate * 2phone + 3hmmstate * 29phone )
Triphone (tri1)
1-gram
utterance_id_053 禁煙 お願い し ます 킨넨 오네가이 시 마스
LOG (gmm-latgen-faster[5.3.106~1389-9e2d8]:DecodeUtteranceLatticeFaster():decoder-wrappers.cc:286) Log-like per frame for utterance utterance_id_053 is -7.9652 over 323 frames.
2-gram
utterance_id_053 禁煙 席 お願い し ます 킨넨 세키 오네가이 시 마스
LOG (gmm-latgen-faster[5.3.106~1389-9e2d8]:DecodeUtteranceLatticeFaster():decoder-wrappers.cc:286) Log-like per frame for utterance utterance_id_053 is -7.92976 over 323 frames.
gmm-info 실행결과
gmm-info exp/tri1/final.mdl
number of phones 166
number of pdfs 152
number of transition-ids 1740
number of transition-states 830
feature dimension 39
number of gaussians 977
Triphone (tri2b、LDA+MLLT)
1-gram
utterance_id_053 禁煙 お願い し ます 킨넨 오네가이 시 마스
LOG (gmm-latgen-faster[5.3.106~1389-9e2d8]:DecodeUtteranceLatticeFaster():decoder-wrappers.cc:286) Log-like per frame for utterance utterance_id_053 is -4.92207 over 323 frames.
2-gram
utterance_id_053 禁煙 お願い し ます 킨넨 오네가이 시 마스
LOG (gmm-latgen-faster[5.3.106~1389-9e2d8]:DecodeUtteranceLatticeFaster():decoder-wrappers.cc:286) Log-like per frame for utterance utterance_id_053 is -4.89113 over 323 frames.
gmm-info 실행결과
gmm-info exp/tri2b/final.mdl
number of phones 166
number of pdfs 168
number of transition-ids 2246
number of transition-states 1083
feature dimension 40
number of gaussians 970
DNN(nnet4c)
1-gram
utterance_id_053 禁煙 お願い し ます 킨넨 오네가이 시 마스
LOG (nnet-latgen-faster[5.3.106~1389-9e2d8]:DecodeUtteranceLatticeFaster():decoder-wrappers.cc:286) Log-like per frame for utterance utterance_id_053 is -0.543315 over 323 frames.
nnet-am-info 실행결과
nnet-am-info exp/nnet4c/final.mdl
num-components 9
num-updatable-components 3
left-context 4
right-context 4
input-dim 40
output-dim 192
parameter-dim 446703
component 0 : SpliceComponent, input-dim=40, output-dim=360, context=-4 -3 -2 -1 0 1 2 3 4
component 1 : FixedAffineComponent, input-dim=360, output-dim=360, <snip>
component 2 : AffineComponentPreconditionedOnline, input-dim=360, output-dim=375, <snip>
component 3 : TanhComponent, input-dim=375, output-dim=375
component 4 : AffineComponentPreconditionedOnline, input-dim=375, output-dim=375, <snip>
component 5 : TanhComponent, input-dim=375, output-dim=375
component 6 : AffineComponentPreconditionedOnline, input-dim=375, output-dim=453, <snip>
component 7 : SoftmaxComponent, input-dim=453, output-dim=453
component 8 : SumGroupComponent, input-dim=453, output-dim=192
prior dimension: 192, prior sum: 1, prior min: 1e-20
(킨넨 세키 오네가이 시 마스: 금연석 부탁합니다)
"禁煙(킨넨)"의 뒤에 붙어있는 "席(세키)"가 탈락되어 있는 케이스가 있지만, 학습용 데이터수나 weight 파라미터에 따라 결과는 바뀔 것이라 예상된다.
또한 이번에 예를 들어 「料理(료-리)」라는 단어에 관해서는 「ry o u r i」(료우리)로 했지만, 「ry o: r i」(료-리)라도 인식가능하도록 하면 좋겠다고 생각한다. (일본어의 경우 '오우'를 '오-'로 발음함)
이즈음에 이르러서는 대화체 발화 분야의 깊이를 느끼게 된다.
댓글 없음:
댓글 쓰기