HTK »ç¿ë¹ý Æ©Å丮¾ó v1.0
±è¼¼È¯, ±Ç¿À¿í
2005. 1. 7.
ÃæºÏ´ëÇб³ Àü±âÀüÀÚÄÄÇ»ÅͰøÇкΠÀ½¼º¾ð¾î¿¬±¸½Ç
< Â÷·Ê >
1. ¼·Ð 3
2. HTK ¼³Ä¡ ¹æ¹ý 4
2.1. »ç¿ë ȯ°æ 4
2.2. Xmanager ¼³Ä¡ 4
2.3. HTK ¼³Ä¡ 5
2.3.1. HTK ¼Ò½º ¾ÐÃà Ç®±â 5
2.3.2. ȯ°æ ¼³Á¤ 6
2.3.3. ÄÄÆÄÀÏ 7
3. µ¥ÀÌÅÍ Áغñ 10
3.1. ´Ü°è 1.1 : ¹®¹ýÀÛ¼º 10
3.2. ´Ü°è 1.2 : ¹ßÀ½»çÀüÀÛ¼º 12
3.3. ´Ü°è 1.3 : ´Ü¾î´ÜÀ§ Àü»çÆÄÀÏ ÀÛ¼º 13
3.4. ´Ü°è 1.4 : Ư¡ÃßÃâ 15
3.5. ´Ü°è 1.5 : ÈÆ·Ã ¹× Å×½ºÆ®ÆÄÀÏ ¸ñ·Ï ÀÛ¼º 17
4. À½¼Ò´ÜÀ§ Àνıâ ÈÆ·Ã 19
4.1. ´Ü°è 2.1 : Ư¡ÃßÃâ ¼³Á¤ÆÄÀÏ º¯°æ 19
4.2. ´Ü°è 2.2 : ¸ðµ¨ ÃʱâÈ 19
4.3. ´Ü°è 2.3 : ÃÊ±â ¸ðµ¨ ÈÆ·Ã 22
4.4. ´Ü°è 2.4 : sp ¸ðµ¨ ÀÛ¼º 24
4.5. ´Ü°è 2.5 : sp ¸ðµ¨ Ãâ·Â 25
4.6. ´Ü°è 2.6 : À½¼ºµ¥ÀÌÅÍ ·¹ÀÌºí¸µ 27
4.7. ´Ü°è 2.7 : Mixture Áõ°¡ 28
4.8. ´Ü°è 2.8 : sp Mixture Áõ°¡ 28
5. Æ®¶óÀÌÆù ´ÜÀ§ Àνıâ ÈÆ·Ã 29
6. Àνıâ Å×½ºÆ® 30
6.1. ´Ü°è 4.1 : ÀÎ½Ä±â Æò°¡ 30
6.2. ´Ü°è 4.2 : Àνķü °è»ê 31
7. ½Ç½Ã°£ À½¼ºÀÎ½Ä ¹æ¹ý 32
8. ºÎ·Ï 1 : À©µµ¿ì¿¡¼ HTK¸¦ ÀÌ¿ëÇÑ À½¼ºÀÎ½Ä ¹æ¹ý 33
8.1. À©µµ¿ì¿¡¼ HTK ¼³Ä¡ ¹æ¹ý 33
8.1.1. »ç¿ë ȯ°æ 33
8.1.2. HTK ¼Ò½º ¾ÐÃà Ç®±â 33
8.1.3. ȯ°æ ¼³Á¤ 33
8.1.4. ÄÄÆÄÀÏ 34
9. ºÎ·Ï 2 : Vi ÆíÁý±â »ç¿ë¹ý 37
9.1. vi ½ÇÇà ¹æ¹ý 37
9.2. vi ½ÇÇà ¸ðµå 37
9.2.1. ÀÔ·Â ¸ðµå Àüȯ Ű 37
9.2.2. vi ¸í·É ¸ðµå Ű 38
9.2.3. ex ¸í·É ¸ðµå 39
10. Âü°í¹®Çå 41
1. ¼·Ð
ÀÌ ¹®¼´Â HTK(Hidden Markov Model Toolkit)¸¦ ÀÌ¿ëÇÑ ¿¬°á¼ýÀÚÀ½Àνı⸦ ±¸Çö ¹æ¹ýÀ» ±â¼úÇÑ´Ù. HTK´Â HMM ±â¹ÝÀÇ À½¼º Àνı⸦ ±¸ÇöÇÏ´Â »ç½Ç»óÀÇ Ç¥ÁØ µµ±¸·Î¼, ¼¼°è ´ëºÎºÐÀÇ ¿¬±¸±â°ü, Çб³¿¡¼ »ç¿ëµÇ°í ÀÖ´Ù. ¿©±â¼´Â ¸®´ª½º°¡ ¼³Ä¡µÇ¾î ÀÖ´Â PC¿¡¼ ¿¬°á¼ýÀÚÀ½Àνı⸦ ±¸ÇöÇϱâ À§ÇÑ ÀýÂ÷¸¦ ¼³¸íÇÑ´Ù. ƯÈ÷ À½¼ºÀνÄÀ» Àü°ø ÇÑ »ç¶÷»Ó¸¸ ¾Æ´Ï¶ó óÀ½ Á¢Çغ¸´Â Ãʺ¸ÀÚµµ ½±°Ô µû¶ó ÇÒ ¼ö ÀÖ°Ô ¼³Ä¡ ¹× ÀνÄÀýÂ÷¸¦ ÀÚ¼¼ÇÏ°Ô ¼¼ú ÇÏ¿´´Ù. µû¶ó¼ HTK¸¦ ÅëÇØ À½¼ºÀÎ½Ä ½Ã½ºÅÛÀ» Á÷Á¢ üÇè ÇÒ ¼ö ÀÖ°í, ÀÎ½Ä ½Ã½ºÅÛ ÀÌÇØ¿Í Èï¹Ì¸¦ °¡Áú ¼ö ÀÖ´Â ÁÁÀº ±âȸ°¡ µÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¹®¼ÀÇ ¿¬°á¼ýÀÚÀ½Àνı⠱¸Çö¿¡ ´ëÇÑ ±¸¼ºÀº, ¸ÕÀú ¸®´ª½º¿¡¼ÀÇ HTK ¼³Ä¡ ¹æ¹ý, HTK¸¦ ÀÌ¿ëÇÑ ¿¬°á¼ýÀÚÀ½Àνıâ ÈÆ·Ã ¹× Å×½ºÆ® ¹æ¹ý, ½Ç½Ã°£ Àνı⠱¸Çö¹æ¹ý ¼øÀ¸·Î ±¸¼º ÇÏ¿´´Ù. À©µµ¿ì¿¡¼ÀÇ ¿¬°á¼ýÀÚÀ½Àνı⠱¸Çö ¹æ¹ý ¹× vi ¿¡µðÅÍ »ç¿ë¹ýÀº ºÎ·Ï¿¡ ÷ºÎÇÏ¿´´Ù.
2. HTK ¼³Ä¡ ¹æ¹ý
2.1. »ç¿ë ȯ°æ
Server OS : WOWLINUX Release 7.3(paran R2)
Client OS : MS-Windows XP Pro
FTP Client Software, Telnet(X-Manager2»ç¿ë)-Bash-Shell»ç¿ë
2.2.
±×¸² 2.1 Xmanager ÃÊ±â ¼ÂÆÃ.
¨ç ¼¼¼Ç : ¿¬°áÇÒ ¼¹ö À̸§
¨è È£½ºÆ® : ¿¬°áÇÑ ¼¹ö ÁÖ¼Ò
¨é ÇÁ·ÎÅäÄÝ : TELNET
¨ê »ç¿ëÀÚ : »ç¿ëÀÚ °èÁ¤
¨ë ºñ¹Ð¹øÈ£ : »ç¿ëÀÚ Password
¨ì ½ÇÇà¸í·É : Á¢¼Ó½Ã »ç¿ëÇÒ Å͹̳Πȯ°æ¼³Á¤
/usr/X11R6/bin/hanterm -ls -geometry 80x40+30+60 -display $DISPLAY
¢º HantermÀ» »ç¿ëÇϰí À§Ä¡´Â 80x40, Å©±â´Â °¡·Î 30±ÛÀÚ ¼¼·Î 60ÁÙ
¿ì¼± HTK »çÀÌÆ® http://htk.eng.cam.ac.uk/¿¡ Á¢¼ÓÇÏ¿© ÀÎÁõÀýÂ÷¸¦ °Åó ·Î±×ÀÎ ÇÑ ÈÄ¿¡ ¡®HTK-3.2.1.tar.gz¡¯ ÆÄÀÏÀ» ÃֽйöÀüÀ¸·Î ´Ù¿î·Îµå ÇÑ´Ù. À§ ÆÄÀÏÀ» ftp client s/w¸¦ »ç¿ëÇÏ¿© LINUX ¼¹öÀÇ ·çÆ® µð·ºÅ͸®·Î Àü¼ÛÇÑ´Ù. Windows ȯ°æ¿¡¼ UXIN·Î Á¢¼ÓÇÏ¿© ÀÛ¾÷Çϱâ À§ÇØ Xmanager »ç¿ëÀ» ±âÁØÀ¸·Î ¼³¸íÇÒ °ÍÀÌ´Ù. ¶ÇÇÑ ¸í·É ÇÁ·ÒÇÁÆ®¿¡¼µµ Á¢¼ÓÇÏ¿© ÀÛ¾÷ÀÌ °¡´ÉÇÏ´Ù. ±×¸² 2.2´Â X-manager·Î LINUX ¼¹ö¿¡ Á¢¼ÓÇÑ telnetâÀ̸ç, ls ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ftp·Î ¾÷·Îµå Çß´ø ¡®HTK-3.2.1.tar.gz¡¯ ÆÄÀÏÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
±×¸² 1).2 telnet ¿¡ óÀ½ Á¢¼ÓÇßÀ» ¶§ÀÇ Ãâ·Âȸé.
'tar' ¸í·É¾î¸¦ »ç¿ëÇÏ¿© 'tar -xvzf HTK-3.2.1.tar.gz' °ú °°ÀÌ ½ÇÇàÇÏ¿© ¹¿© ÀÖ´Â HTK-3.2.1.tar.gz ÆÄÀÏÀ» Ç®¾î³½´Ù.
±×¸² 2.3 ¡®tar -xvzf HTK-3.2.1.tar.gz' ¸¦ ½ÇÇàÇÑ Ãâ·Âȸé.
±×¸² 2.4 HTK-3.2.1.tar.gz ÆÄÀÏÀ» Ǭ ÈÄ »õ·Î »ý¼ºµÈ µð·ºÅ͸®ÀÇ ³»¿ë.
2.3.2. ȯ°æ ¼³Á¤
¸ÕÀú env µð·ºÅ͸®·Î À̵¿Çϸé exp.linux ÆÄÀÏÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. vi ¿¡µðÅ͸¦ »ç¿ëÇÏ¿© ÀϺΠ³»¿ëÀ» ÆíÁýÇØ¾ß ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ ¡®vi exp.linux' ¶ó°í ÀÔ·ÂÇÑ ÈÄ ¸ðµç ³»¿ëÀ» º¹»çÇØ¼ .bashrc¶ó´Â ÆÄÀÏ¿¡ ºÙ¿© ³Ö¾î¾ß ÇÑ´Ù. ±×·¯±â À§Çؼ´Â ´Ù½Ã ·çÆ® µð·ºÅ͸®·Î À̵¿ÇÏ¿© ¸¶Âù°¡Áö·Î .bashrcÀÇ ³»¿ëÀ» ÆíÁýÇØ¾ß ÇÑ´Ù. ¡®vi .bashrc¡¯ ¶ó°í ½ÇÇà ÇÏ¸é ±×¸² 2.5¿Í °°Àº ³»¿ëµéÀ» È®ÀÎ ÇÒ ¼ö Àִµ¥ exp.linux ¿¡¼ º¹»çÇß´ø ³»¿ëµéÀ» Çϴܺο¡ ºÙ¿© ³Ö´Â´Ù.
±×¸² 2.5 'vi exp.linux' ¸¦ ½ÇÇàÇÑ Ãâ·Âȸé.
±×¸®°í ±×¸² 2.6¿¡¼ ¸¶Áö¸· Çà¿¡ º¸ÀÌ´Â °Í°ú °°ÀÌ ÇÑ ÇàÀÌ Ãß°¡ µÇ¾ú´Âµ¥ ÄÄÆÄÀÏ ÈÄ¿¡ PATH¸¦ ¼³Á¤Çϱâ À§ÇÑ °ÍÀÌ´Ù. ¡®$PATH¡® ´Â »ç¿ëÀÚ¿¡°Ô ¼³Á¤µÇ¾î ÀÖ´Â PATH¸¦ ÀǹÌÇÏ°í ¡¯$HOME¡® ´Â »ç¿ëÀÚ È¨ µð·ºÅ͸®¸¦ ÀǹÌÇÑ´Ù. ¸ðµç ¼öÁ¤ÀÌ ³¡³µÀ¸¸é ÆÄÀÏÀ» ÀúÀå ÈÄ vi¸¦ Á¾·áÇÑ´Ù. ¿©±â¼ ÀØÁö ¸»¾Æ¾ß ÇÒ °ÍÀº .bashrc ÆÄÀÏÀ» Àû¿ëÇϱâ À§Çؼ ¹Ýµå½Ã ¡¯source .bashrc¡® ¶ó°í ½ÇÇàÇØ¾ß ÇÑ´Ù.
±×¸² 2.6 'vi .bashrc' ¸¦ ½ÇÇàÇÑ ÇϴܺΠÃâ·Â ȸé.
2.3.3. ÄÄÆÄÀÏ
ÀÌÁ¦ 'htk/HTKLib/' µð·ºÅ͸®·Î À̵¿Çؼ 'make'¶ó°í ½ÇÇàÇϸé ÄÄÆÄÀÏ µÇ´Â °ÍÀ» º¼ ¼ö ÀÖÀ¸¸ç, À̰ÍÀº MakefileÆÄÀÏ ¾È¿¡ ÀÖ´Â ÄÄÆÄÀÏ ½ºÅ©¸³Æ®°¡ ÀÛµ¿ÇÏ¿© ÄÄÆÄÀÏ ÇÏ´Â °ÍÀÌ´Ù.
À̹ø¿£ ¡®htk/HTKTools/' µð·ºÅ͸®·Î ÇØ¼ 'vi Makefile' °ú °°ÀÌ vi ¸í·É¾î·Î 'Makefile' ÆÄÀÏÀ» ¿¾î Edit ÀÛ¾÷ÇÑ´Ù. 'HBIN =./' ¶ó°í ÀÛ¼ºÇØ¾ß Çϴµ¥ À§Ä¡´Â ±×¸² 2.7ÀÇ Áß¾ÓºÎÂë¿¡ º¸ÀÌ´Â °Í°ú °°Àº À§Ä¡¿¡ ÀÛ¼ºÇÑ´Ù. ÀúÀå ¹× Á¾·á¸¦ Çϰí ÇöÀç µð·ºÅ͸®¿¡ 'mkdir bin.linux' ¶ó´Â mkdir ¸í·É¾î¸¦ »ç¿ëÇØ »õ·Î¿î µð·ºÅ͸® bin.linux ¸¦ »ý¼ºÇÑ´Ù. bin.linuxµð·ºÅ͸®¿¡ ÄÄÆÄÀÏÇÑ ÆÄÀϵéÀÌ ÀúÀåµÈ´Ù.
±×¸² 2.7 HBIN = ./ À» ÀÔ·ÂÇÑ Ãâ·Â ȸé.
ÇöÀç µð·ºÅ͸® HTKTools/ ¿¡¼ ´Ù½Ã ÇÑ ¹ø ÄÄÆÄÀÏÀ» ÇØ¾ß Çϴµ¥ ¸¶Âù°¡Áö·Î ¸í·É¾î´Â 'make'¶ó°í ½ÇÇàÇÏ¸é µÇ°í ÄÄÆÄÀÏ µÇ´Â »óŵµ º¼ ¼ö ÀÖ´Ù. ÄÄÆÄÀÏ Á¾·á ÈÄ ls ¸í·É¾î¸¦ »ç¿ëÇØ µð·ºÅ͸®¿¡ ³»¿ëÀ» È®ÀÎÇÏÀÚ. ±×¸² 2.8°ú °°ÀÌ »õ·Î »ý¼ºµÈ ÆÄÀϵéÀº HTK ½ÇÇà ÆÄÀϵéÀÌ´Ù.
±×¸² 2.8 bin.linux µð·ºÅ͸® ÆÄÀϵéÀ» Ãâ·ÂÇÑ È¸é.
¶ÇÇÑ, ¿Ã¹Ù¸¥ ½ÇÇèȯ°æÀ» ±¸Ãà Çß´ÂÁö Å×½ºÆ® ÇØº¸±â À§Çؼ´Â ½ÇÇàÆÄÀÏÀ» ½ÇÇà½ÃÄÑ º¼ ¼öµµ ÀÖÁö¸¸, ´õ Á¤È®ÇÑ ¹æ¹ýÀº HTK »çÀÌÆ®¿¡¼ ¡®HTK-samples-3.2.tar.gz¡¯ ¶ó´Â ÆÄÀÏ ´Ù¿î¹Þ¾Æ 'README.txt' ÆÄÀÏ ³»¿ë ±×´ë·Î ½Ç½ÃÇÏ¿© ¿Ã¹Ù¸¥ ½ÇÇèȯ°æÀ» È®ÀÎ ÇÒ ¼öµµ ÀÖ´Ù.
±×¸² 2.9 ÄÄÆÄÀÏÀÌ ¿Ï·áµÈ ÀÛ¾÷ µð·ºÅ͸®¸¦ Ãâ·ÂÇÑ È¸é.
3. µ¥ÀÌÅÍ Áغñ
º»ÀåÀº Àνıâ ÈÆ·Ã Àü±îÁöÀÇ µ¥ÀÌÅÍ Áغñ ´Ü°è·Î¼ ÃÑ 5´Ü°è·Î µ¥ÀÌÅÍ Æ¯Â¡ ÃßÃâ±îÁö ½Ç½ÀÇϰڴÙ. HTK ¸í·É¾î¸¦ ÀÔ·ÂÇÏ´Â °ÍÀ» º¸¿©ÁÙ ¶§, ÇÁ·ÒÇÁÆ® ¾ÕºÎºÐÀ» »ý·«ÇÏ°í °£´ÜÇÏ°Ô $·Î¸¸ ³ªÅ¸³»´Â °ÍÀ» ÁÖÀÇÇϱ⠹ٶõ´Ù. ¶ÇÇÑ ÀÓÀÇÀÇ ÆÄÀÏ¿¡ ´ëÇÑ ¿©·¯ µð·ºÅ͸®¸¦ º¸¿©Áִµ¥ ´ÜÁö ¿¹ÀÏ »ÓÀ̸ç ÀÚ½ÅÀÇ °èÁ¤ µð·ºÅ͸®¿¡ µû¶ó ´Ù¸£°Ô ·çÆ®¸¦ ÀÛ¼ºÇØ¾ß ÇÑ´Ù.
bin.linux µð·ºÅ͸®¿¡ ÀÖ´Â ³»¿ëÀº PATH·Î ¼³Á¤ µÇ¾îÀֱ⠶§¹®¿¡ htk µð·ºÅ͸® ¾îµð¼µç ½ÇÇà¸í·É¾î¸¦ »ç¿ë ÇÒ ¼ö°¡ ÀÖ´Ù. µû¶ó¼ »õ·Î¿î µð·ºÅ͸® ¡®work'¸¦ »ý¼ºÇØ À̰÷¿¡¼ ¸ðµç ÀÛ¾÷À» ½Ç½ÃÇϱâ·Î ÇÑ´Ù.
´Ü°è¸¦ °ÅÄ¡¸é¼ °¢ ÆÄÀϸ¶´Ù ÆíÁýÀ» ¿ä±¸ÇÏ°Ô µÇ´Âµ¥, À§ÀÇ HTK ¼³Ä¡¹æ¹ý¿¡¼ »ç¿ëÇÏ¿´´ø viÆíÁý±â·Î ÆíÁýÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, À½¼º DB¿¡ µû¶ó ¸î õ°³¿¡ ´ÞÇÏ´Â ÇàÀ» ÀÏÀÏÀÌ ÀÛ¼ºÇØ¾ß ÇÏ´Â °æ¿ìµµ Àִµ¥, ¼öÀÛ¾÷À¸·Î´Â ºÒ°¡´ÉÇϹǷΠ'perl' ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© °£´ÜÇÏ°Ô ÀÛ¾÷À» ¿Ï·áÇÒ ¼ö ÀÖ´Ù. ¡®perl' ÇÁ·Î±×·¥ÀÇ ÀÚ¼¼ÇÑ ³»¿ëÀº °ü·Ã ¼ÀûÀ» Âü°í Çϱ⠹ٶõ´Ù.
À½¼º µ¥ÀÌÅͺ£À̽º´Â KAIST Åë½Å¿¬±¸½Ç¿¡¼ Á¦°øÇÑ Çѱ¹ÀÇ ¿¬°á ¼ýÀÚÀ½ µ¥ÀÌÅͺ£À̽ºÀ̸ç, »ùÇøµ Á֯ļö°¡ 16kHzÀÎ ¿¬°á ¼ýÀÚÀ½ ¹ßÀ½ 5169°³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ¿´´Ù. Test´Â ¼ºÀÎ ³²¿© °¢°¢ 30¸í 17¸íÀ¸·Î ÃÑ47¸íÀÇ DB¸¦ »ç¿ëÇϰí, TrainÀº ³²¿© 60¸í 33¸íÀ¸·Î ÃÑ93¸íÀ¸·Î ±¸¼ºÇØ ÀÎ½Ä ½ÇÇèÇÏ¿´´Ù.
3.1. ´Ü°è 1.1 : ¹®¹ýÀÛ¼º
´Ü¾î ³×Æ®¿öÅ© Áغñ °úÁ¤À̸ç 'vi gram'¶ó°í ½ÇÇàÇÏ¿© »õ·Î¿î ¡®gram¡¯ ÆÄÀÏÀÌ »ý¼º Çϰí, ¾Æ·¡¿Í °°Àº ³»¿ëÀ» »ç¿ëÀÚ°¡ Á÷Á¢ ÀÔ·ÂÇÑ´Ù. ¡®wdnet¡¯´Â ÀÚµ¿ »ý¼º µÇ´Â ÆÄÀÏÀ̸ç, ´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù. ¡®gram' ÆÄÀÏ¿¡¼ ¼öÁ÷ ¹Ù ¡¯|¡®Àº ¼ýÀÚ ¾î´À °ÍÀ» ¼±ÅÃµÉ ¼ö ÀÖ´Â º´·ÄÀûÀÎ ±¸Á¶¸¦ ³ªÅ¸³½´Ù. ¡¯SENT-BEG'¿Í ¡®SENT-END'Àº ¹®Àå ¡¯½ÃÀÛ¡®°ú ¡¯³¡¡®À» ¸»ÇÑ´Ù. °ýÈ£¡¯<>¡®´Â ¸í½ÃÇÑ ¼ýÀÚµéÀ» ³ªÅ¸³½´Ù. ¿Ï¼ºµÈ ¹®¹ýÀº ±×¸² 3.1°ú °°ÀÌ ´Ü¾î ³×Æ®¿öÅ©·Î ¼¼úµÉ ¼ö ÀÖ´Ù.
HTK¿¡¼ ÇѱÛÀ» »ç¿ëÇϱâ À§Çؼ´Â ³×Æ®¿÷À» ¸¸µé°Å³ª µðÄÚµù ÇÒ ¶§ config ÆÄÀÏÀ» ÇÊ¿ä·Î Çϴµ¥, ±× ÆÄÀÏ¿¡ °£´ÜÇÑ 'NONUMESCAPES = T' ÆÄ¶ó¹ÌÅÍ Çϳª¸¸ ¼ÂÆÃÇØ ÁÖ¸é µÈ´Ù. ´ÙÀ½ÀÇ ¡®config¡¯ ÆÄÀÏ¿¡ ÁÖ¼® ó¸®ÇØ ³õ¾ÒÀ¸¹Ç·Î È®ÀÎÇϱ⠹ٶõ´Ù.
HTK SLF(Standard Lattice Format)´Â °¢°¢ÀÇ ´Ü¾î »ç½Ç°ú °¢°¢ÀÇ word-to-word º¯È¯Àº ¸í¹éÇÏ°Ô ¾²ÀÎ °Í À̶ó°í ºÒ¸®´Â Àú ·¹º§ Ç¥½Ã¹ýÀ¸·Î »ç¿ëµÇ¾î Á¤ÀÇµÈ ´Ü¾î ³×Æ®¿öÅ©¸¦ ½ÇÁ¦·Î ¿ä±¸ÇÑ´Ù. ÀÌ ´Ü¾î ³×Æ®¿öÅ©´Â ¡¯HParse¡® ÅøÀ» »ç¿ëÇÑ ¹®¹ýÀ¸·Î ºÎÅÍ ÀÚµ¿ÀûÀ¸·Î »ý¼ºµÇ¾î Áø´Ù. µû¶ó¼ ¹®¹ý¿¡ ³»Æ÷µÇ¾î ÀÖ´Â ¡¯gram¡®ÆÄÀÏÀ» °¡Á¤ÇÏ¿© ½ÇÇàÇÑ´Ù. ¾Æ·¡ ÀÖ´Â 'HParse' ¸í·É¾î¸¦ ½ÇÇàÇØ º¸ÀÚ.
±×¸² 3.2 ¿¡¼¿Í °°ÀÌ ¡®gram' ÆÄÀÏ ¾È¿¡¼ ´Ü¾î ³×Æ®¿öÅ©¿¡ ´ëÀÀÇÏ°Ô »ý¼ºµÉ °ÍÀÌ´Ù.
$ HParse gram wdnet
gram
$digit = ÀÏ | ÀÌ | »ï | »ç | ¿À | À° | Ä¥ | ÆÈ | ±¸ | ¿µ | °ø ;
(SENT-BEG<$digit>SENT-END)
wdnet
VERSION=1.0
N=16 L=36
I=0 W=SENT-END
I=1 W=°ø
I=2 W=!NULL
I=3 W=¿µ
I=4 W=±¸
I=5 W=ÆÈ
I=6 W=Ä¥
I=7 W=ˡ
I=8 W=¿À
I=9 W=ȍ
I=10 W=ȕ
I=11 W=ÀÌ
I=12 W=ÀÏ
I=13 W=SENT-BEG
I=14 W=!NULL
I=15 W=!NULL
J=0 S=2 E=0
J=1 S=2 E=1
J=2 S=13 E=1
J=3 S=1 E=2
J=4 S=3 E=2
J=5 S=4 E=2
J=6 S=5 E=2
J=7 S=6 E=2
J=8 S=7 E=2
J=9 S=8 E=2
J=10 S=9 E=2
J=11 S=10 E=2
J=12 S=11 E=2
J=13 S=12 E=2
J=14 S=2 E=3
J=15 S=13 E=3
J=16 S=2 E=4
J=17 S=13 E=4
J=18 S=2 E=5
J=19 S=13 E=5
J=20 S=2 E=6
J=21 S=13 E=6
J=22 S=2 E=7
J=23 S=13 E=7
J=24 S=2 E=8
J=25 S=13 E=8
J=26 S=2 E=9
J=27 S=13 E=9
J=28 S=2 E=10
J=29 S=13 E=10
J=30 S=2 E=11
J=31 S=13 E=11
J=32 S=2 E=12
J=33 S=13 E=12
J=34 S=15 E=13
J=35 S=0 E=14
±×¸² 3.1 ´Ü¾î ³×Æ®¿öÅ©.
±×¸² 3.2 HParse command.
¹ßÀ½»çÀüÀÛ¼ºÀº ¿ä±¸ÇÏ´Â ´Ü¾îµé¿¡ ´ëÇÑ ÀúÀåµÈ ¸®½ºÆ®¸¦ ¸¸µå´Â ´Ü°èÀÌ´Ù. °¢ »çÀüÀÇ ÀϹÝÀûÀÎ Çü½ÄÀº,
WORD [outsym] p1 p2 p3 .... ÀÌ´Ù.
´Ü¾î ¡®WORD¡¯´Â À½¼Ò p1 p2 p3 ÀÇ ¼ø¼´ë·Î ¹ßÀ½µÇ¾îÁö´Â °ÍÀ» ÀǹÌÇÑ´Ù. »ç°¢°ýÈ£¡®[]¡¯ ¾È¿¡ ÀÖ´Â ½ºÆ®¸µÀº ´Ü¾î°¡ ÀÎ½ÄµÉ ¶§ Ãâ·Â ½ºÆ®¸µÀ» ¸»ÇÑ´Ù. ¸¸¾à ±×°ÍÀÌ »ý·«µÇ¾î ÀÖÀ¸¸é ´Ü¾î ±×ÀÚü°¡ Ãâ·ÂÀÌ µÇ°í, °ø¹éÀ̶ó¸é, Ãâ·ÂÀÌ ¾ø´Ù´Â °ÍÀÌ´Ù. ¡®SENT-BEG¡¯¿Í ¡®SENT-END¡¯´Â ¹®Àå ½ÃÀÛ°ú ³¡À» ³ªÅ¸³»¾î ¹ßÀ½À¸·Î¼ ¹¬À½ ¸ðµ¨ ¡®sil¡¯À» °¡Áö¸ç, Ãâ·ÂÀº null ÀÌ´Ù. ¹ßÀ½»çÀü Áغñ·Î¼ vi·Î ¡®dict¡¯ÆÄÀÏÀ» »ý¼ºÇØ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù. ¾Æ·¡ 'dict' ÆÄÀÏ¿¡¼ '»ï s a m sp' ¶ó°í ÀÛ¼ºÇÑ °ÍÀº À½¼Ò´ÜÀ§ ¼ýÀÚÀ½ ÀνÄÀ» Çϱâ À§Çؼ ´ÙÀ½°ú °°ÀÌ ³ª¿ÇÑ °ÍÀÌ´Ù. Âü°í·Î ´Ü¾î´ÜÀ§ ¼ýÀÚÀ½ ÀνÄÀ» À§Çؼ´Â '»ï sam sp'¶ó°í ºÙ¿© ¾²¸é µÇ°Ú´Ù. ¡®sp¡¯´Â short-pause·Î¼ ÀÇ¹Ì ±×´ë·Î ¡®ÂªÀº ¸ØÃ㡯 ±¸°£ ÀÌ´Ù. Áï, ´Ü¾î¿Í ´Ü¾î »çÀÌ¿¡ ªÀº ÈÞÁö ½Ã°£À» ¸»ÇÑ´Ù.
dict
SENT-BEG [] sil
SENT-END [] sil
sil sil
ÀÏ i l sp
ÀÌ i sp
ȕ s a m sp
ȍ s a sp
¿À o sp
ˡ yu g sp
Ä¥ ch i l sp
ÆÈ p a l sp
±¸ g u sp
°ø g o ng sp
¿µ yeo ng sp
3.3. ´Ü°è 1.3 : ´Ü¾î´ÜÀ§ Àü»çÆÄÀÏ ÀÛ¼º
¿©±â¼ Á÷Á¢ ÀÛ¼ºÇØ ÁÖ¾î¾ß ÇÒ °ÍÀº ¡®words.mlf' »ÓÀÌ´Ù. º¸´Ù½ÃÇÇ, prompt labelsÀº °æ·Î À̸§À¸·Î º¯È¯ µÇ¾î¾ß Çϸç, °¢ ´Ü¾î´Â ÇÑ ¶óÀο¡ ½á¾ßÇϰí, °¢ ¹ß¼ºÀÌ ³¡³ °÷¿¡´Â ¸¶Ä§Ç¥ ¡¯.¡®¸¦ ³Ö¾î ÁÖ¾î¾ß ÇÑ´Ù. ÆÄÀÏÀÇ Ã¹ ° ¶óÀÎÀº Master Label File(MLF)À» Á¤ÀÇÇÑ´Ù. À̰ÍÀº ¿Ïº®ÇÏ°Ô Àü»çÆÄÀÏÀÌ ³»Æ÷ µÇ¾îÀÖ´Â ´ÜÀÏ ÆÄÀÏÀÌ´Ù. MLF¿¡¼ »ç¿ëµÇ´Â °æ·Î¸íÀº ½ÇÁ¦ ÆÐÅÏÀ» °¡¸®Å²´Ù. HTK°¡ À½¼º ÆÄÀϵéÀ» ¼öÇàÇÒ ¶§, ±×°ÍÀº °°Àº À̸§À» °¡Áø Àü»çÆÄÀÏÀ» ã´Â °ÍÀÌÁö¸¸, È®ÀåÇÒ ¶§´Â ´Ù¸£´Ù.
±×·¡¼, ¸¸¾à '/home/shkim/htk/Speech/TEST/f/dfahh/dfahh000.wav' ÆÄÀÏÀÌ ÇÁ·Î¼¼½º µÇ¾ú´Ù¸é, ¡®/home/shkim/htk/Speech/TEST/f/dfahh/dfahh000.lab¡®À̶ó ºÒ¸®´Â ·¹º§ÆÄÀÏÀ» ãÀ» °ÍÀÌ´Ù. MLF ÆÄÀÏÀÌ »ç¿ëµÉ ¶§, HTK´Â ¿ä±¸µÈ ·¹º§ ÆÄÀÏ À̸§°ú ´ëÀÀÇÏ´Â ÆÐÅÏ ÆÄÀÏÀ» °Ë»öÇÑ´Ù. ±×·¯³ª ¡¯*¡®°¡ ¾î¶² ¹®ÀÚ ½ºÆ®¸µ°ú ´ëÀÀµÇ°í, ¿¹Á¦¿¡¼ »ç¿ëµÈ ÆÐÅÏÀº µ¶¸³µÈ È¿°ú¸¦ ³ªÅ¸³½´Ù. ±×·¯¹Ç·Î ´Ù¸¥ À§Ä¡¿¡ »ç¿ëµÈ À½¼º µ¥ÀÌÅ͵éÀÌ ´Ù¸¥ ¹öÀüÀÇ °°Àº Àü»ç·Î »ç¿ëµÇ´Â °ÍÀ» Çã¿ëÇÏ°Ô ÇÑ´Ù.
´Ü¾î ·¹º§ MLF°¡ »ý¼ºµÈ, À½¼Ò ·¹º§ MLFÀº ·¹º§ ¿¡µðÅÍ ¡¯HLEd'·Î »ç¿ëÇÏ°Ô µÈ´Ù. ¿¹¸¦ µé¾î, À§¿¡ ´Ü¾î ·¹º§ MLP°¡ ¡®words.mlf'¾È¿¡ ÀúÀå µÇ¾ú´Ù°í °¡Á¤Çϸé, ¸í·É¾î´Â ´ÙÀ½°ú °°´Ù.
$ HLEd -l '*' -d dict -i phones0.mlf mkphones0.led words.mlf
'-l' ¿É¼ÇÀº Ãâ·Â ÆÐÅÏ¿¡¼ÀÇ °æ·Î ¡®*¡¯¸¦ ³ªÅ¸³»°í, ¡®-d dict'´Â dict ÆÄÀÏ¿¡¼ ¹ßÀ½»çÀüÀ» Àоî, EX¸í·ÉÀÌ »ç¿ëµÉ ¶§ ·¹À̺íÀ» È®ÀåÇϴµ¥ »ç¿ëÇÑ´Ù. ¡¯-i mlf'´Â Ãâ·Â Àü»ç°¡ ·¹º§ ÆÄÀÏ 'mlf'¿¡ ¾²´Â °ÍÀ» ÀǹÌÇÑ´Ù.
world.mlf
#!MLF!#
"/home/shkim/htk/Speech/TEST/f/dfahh/dfahh000.lab"
ÆÈ
¿µ
¿À
±¸
ÀÏ
ˡ
.
"/home/shkim/htk/Speech/TEST/f/dfahh/dfahh001.lab"
Ä¥
Ä¥
ÀÏ
±¸
ȍ
.
"/home/shkim/htk/Speech/TEST/f/dfahh/dfahh002.lab"
ÀÏ
¿µ
ˡ
ȕ
ÀÌ
ȕ
.
........
mkphones0.led
EX
IS sil sil
DE sp
EX(expand) ¸í·É¾î´Â »çÀüÆÄÀÏ ¡®dict¡¯¿¡ ÀÖ´Â ¹ßÀ½°ú ÀÏÄ¡ÇÏ´Â °ÍÀ» ¡®words.mlf'¿¡ °¢°¢ÀÇ ´Ü¾î¸¦ Àç¹èÄ¡ÇÑ´Ù. IS(insert) ¸í·É¾î´Â ¸Å ¹ß¼º¸¶´Ù ½ÃÀÛ°ú ³¡¿¡ ¹¬À½ ¸ðµ¨ ¡¯sil'À» »ðÀÔÇÑ´Ù. ¸¶Áö¸·¿¡ ÀÖ´Â DE(delete) ¸í·É¾î´Â ¸ðµç short-pause 'sp' ·¹º§À» »èÁ¦ÇÑ´Ù.
phones0.mlf
#!MLF!#
"*/dfahh000.lab"
sil
p
a
l
yeo
ng
o
g
u
i
l
yu
g
sil
.
"*/dfahh001.lab"
sil
ch
i
l
ch
i
l
i
l
g
u
s
a
sil
.
........
3.4. ´Ü°è 1.4 : Ư¡ÃßÃâ
µ¥ÀÌÅÍ ÁغñÀÇ ¸¶Áö¸· ´Ü°è´Â ¿øÀ½ À½¼º ¿þÀ̺êÇÁ·ÒÀ» Ư¡ º¤ÅÍÀÇ ¼ø¼ ¾È¿¡ ÆÄ¶ó¹ÌÅÍ·Î ³ªÅ¸³½´Ù. HTK´Â FFT¿Í LPC ¸ðµÎ ±â¹Ý ºÐ¼®À» Áö¿øÇÑ´Ù. ¿©±â¿¡ FFT ±â¹Ý log spectra·Î À¯µµµÇ¾î Mel Frequency Cepstral Coefficients (MFCCs)¸¦ »ç¿ëµÉ °ÍÀÌ´Ù. ÄÚµùÀ̶ó ÇÔÀº, ÀÔ·ÂÀ» MFCC º¤ÅÍ·Î ÀÚµ¿ÀûÀ¸·Î º¯È¯ÇÏ´Â HCopy ÅøÀ» »ç¿ëÇÏ¿© ¼öÇàÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. À̰ÍÀ» Çϱâ À§Çؼ ¡®config' ÆÄÀÏÀº º¯È¯ ÆÄ¶ó¹ÌÅÍÀÇ ¸ðµç ¸í½Ã°¡ ÇÊ¿äÇÏ´Ù. °£°áÇÏ°Ô target ÆÄ¶ó¹ÌÅÍ´Â ¿¡³ÊÁö ¿ä¼Ò·Î¼ C£ï¸¦ »ç¿ëÇÏ´Â MFCC À̰í, frame ÁÖ±â´Â 10msec À̰í, Ãâ·ÂÀº ¼ººÐ Çü½Ä¿¡ ¸Â°Ô ÀúÀå µÇ¾î¾ß ÇÑ´Ù. ±×¸®°í crc checksumÀÌ Ãß°¡µÇ¾î¾ß ÇÑ´Ù. FFT´Â Hamming window¸¦ »ç¿ëÇÏ°í ½ÅÈ£´Â 0.97 °è¼ö¸¦ »ç¿ëÇϴ ù ¸í·É preemphasis¸¦ °¡Á®¾ß ÇÑ´Ù. filterbank´Â 26°³ÀÇ Ã¤³Î°ú 12°³ÀÇ MFCC °è¼ö°¡ Ãâ·ÂÀÌ µÇ¾î¾ß ÇÑ´Ù. °¡º¯ÀûÀÎ ¡¯ENORMALISE'´Â µðÆÞÆ®°¡ trueÀ̰í, ³ìÀ½µÈ ¿Àµð¿À ÆÄÀÏ¿¡¼ ¿¡³ÊÁö Ç¥ÁØÈ¸¦ ¼öÇàÇÑ´Ù. target ½Ã½ºÅÛÀº live ¿Àµð¿À¸¦ »ç¿ëÇϱâ À§ÇÑ °ÍÀÌ´Ù. HCOPY ¸í·É¾î ½ÇÇàÀº, °¢ ¼Ò½º ÆÄÀÏÀÇ ¸®½ºÆ®¿Í, ±×°Í¿¡ ´ëÀÀÇÏ´Â Ãâ·Â ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. ¡®all.scp'°¡ ±×°ÍÀ» ³ªÅ¸³½´Ù.
'all.scp'ÀÇ wavÆÄÀÏÀº ÁöÁ¤ÇÑ µð·ºÅ͸®¿¡ À§Ä¡Çϰí ÀÖ¾î¾ß Çϰí, »ý¼ºµÇ´Â mfcÆÄÀϵµ ¿øÇÏ´Â µð·ºÅ͸®¸¦ ¹Ì¸® ¸¸µé¾î ÁÖ¾î¾ß ÇÑ´Ù. ¾Æ·¡¿Í °°ÀÌ Æ¯Â¡º¤Å͸¦ ÃßÃâÇÒ ¿øº» µ¥ÀÌÅÍ¿Í ÃßÃâµÈ °á°ú µ¥ÀÌÅÍ À̸§À» º´·Ä·Î Àû¾îÁÖ¸é µÈ´Ù.
ÆÄÀÏÀ» ³»Æ÷ÇÏ´Â ¸®½ºÆ® ÆÄÀÏÀº ½ºÅ©¸³Æ® ÆÄÀϷμ ¾ð±ÞµÇ°í, °áÁ¤Àº 'scp¡® È®ÀåÀ¸·Î ÁÖ¾îÁø´Ù. ½ºÅ©¸³Æ® ÆÄÀÏÀº Ç¥ÁØ ¡¯-S' ¿É¼ÇÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î ¸í½ÃµÈ´Ù.
$ HCopy -T 1 -C config-hcopy -S all.scp
config-hcopy
SOURCERATE = 625 # Sampling Rate = 16 kHz
SOURCEFORMAT = NOHEAD
SOURCEKIND = WAVEFORM # WAVEFORM
TARGETRATE = 100000 # Windowing Shift = 10 ms
TARGETFORMAT = HTK # HTK
TARGETKIND = MFCC_E
ZMEANSOURCE = T
WINDOWSIZE = 200000.0 # Window Size = 20 ms
USEHAMMING = T # Hamming Windowing
PREEMCOEF = 0.97 # Preamphasis = 0.97
NUMCHANS = 20 # Number of Filter Bank Channels: recommended=23
NUMCEPS = 12 # Number of Cepstral Coefficients : usually = 12
CEPLIFTER = 22 # Cepstral Liftering : recommended = 22
ENORMALISE = F # Energy Normalization
DELTAWINDOW = 2 # Delta/Delta-Delta coefficients window
SAVEWITHCRC = F
BYTEORDER = NONVAX
NONUMESCAPES = T # For Hangeul processing
all.scp
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh000.wav
/home/shkim/htk/Feature/TEST/f/dfahh/dfahh000.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh001.wav
/home/shkim/htk/Feature/TEST/f/dfahh/dfahh001.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh002.wav
/home/shkim/htk/Feature/TEST/f/dfahh/dfahh002.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh003.wav
/home/shkim/htk/Feature/TEST/f/dfahh/dfahh003.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh004.wav
/home/shkim/htk/Feature/TEST/f/dfahh/dfahh004.mfc
........
3.5. ´Ü°è 1.5 : ÈÆ·Ã ¹× Å×½ºÆ®ÆÄÀÏ ¸ñ·Ï ÀÛ¼º
feature ÃßÃâµÈ °á°ú µ¥ÀÌÅ͸¦ train ÆÄÀÏÀº ¡®train.scp'·Î test ÆÄÀÏÀº ¡®train.scp'¶ó°í °¢°¢ ¸í¸íÇÑ´Ù. À§¿¡ À½¼º DB¸¦ ¼³¸íÇÒ ¶§ ¾ð±ÞÇѹ٠°°ÀÌ trainÀº 93¸í, Å×½ºÆ®´Â 47¸í, ÃÑ 5159°³ÀÇ ¿¬°á ¼ýÀÚÀ½ÀÇ DB¸¦ »ç¿ë ÇÏ¿´´Ù. µû¶ó¼ trainÀº 3440°³ÀÇ À½¼º, Áï À½¼º °³¼ö¸¸ÅÀÇ ÇàÀ» »ý¼º ÇÏ¸é µÉ °ÍÀÌ´Ù. ¸¶Âù°¡Áö·Î testµµ ³ª¸ÓÁöÀÇ À½¼º 1729°³ÀÇ ÇàÀ» ¸¸µé¸é µÈ´Ù. ¾Æ·¡ÀÇ 'train.scp'¿Í ¡¯test.scp'¸¦ Âü°íÇϰí, µð·ºÅ͸®´Â »ç¿ëÀÚ¿¡ ¸Â°Ô ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.
train.scp
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash000.mfc
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash001.mfc
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash002.mfc
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash003.mfc
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash004.mfc
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash005.mfc
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash006.mfc
/home/shkim/htk/Speech/TRAIN/f/dfash/dfash007.mfc
........
test.scp
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh000.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh001.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh002.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh003.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh004.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh005.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh006.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh007.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh008.mfc
/home/shkim/htk/Speech/TEST/f/dfahh/dfahh009.mfc
........
À̹ø ¼½¼Ç¿¡¼´Â Àß ÈÆ·ÃµÈ ´ÜÀÏ °¡¿ì½Ã¾È ¸ð³ëÆù HMMÀÇ »ý¼º¿¡ ´ëÇØ ¼¼ú ÇÒ °ÍÀÌ´Ù. ½ÃÀÛÁ¡Àº Æò±Õ°ú ºÐ»êÀÌ ¸ðµÎ °°Àº ¸ð³ëÆù ÁýÇÕÀÌ µÈ´Ù. ÀçÈÆ·Ã µÉ ¶§, sp ¸ðµ¨Àº Ãß°¡µÇ°í ¹¬À½ ¸ðµ¨Àº È®Àå µÈ´Ù. ÀÌ ¶§, ¸ð³ëÆùµéÀº ÀçÈÆ·Ã µÇ°í, »çÀüÀÇ ÀϺκÐÀº ´Ù¾çÇÑ ¹ßÀ½À» °¡Áø´Ù. ±×·¯³ª, HLED°¡ À½¼Ò·¹º§ MLF¸¦ ¸¸µé±â À§ÇÑ ´Ü¾î·¹º§ MLF¸¦ È®ÀåÇÏ´Â µ¥ »ç¿ëµÉ ¶§, ±×°ÍÀº ù ¹øÂ° ¹ßÀ½À» ¼±ÅÃÇÑ´Ù.
Àû´çÇÑ ¸ð³ëÆùÀÌ ¸¸µé¾î Áø ÀÌÈÄ·Î, Àνıâ Åø HVITE´Â ÈÆ·Ã µ¥ÀÌÅÍÀÇ 'forced alignment'¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµÈ´Ù. Áï, »õ·Î¿î À½¼Ò ·¹º§ MLF´Â À½ÇâÀû Áõ°Å¿¡ ÀÇÁ¸ÇÑ ¹ßÀ½À» »ý¼ºÇÑ´Ù. ÀÌ »õ·Î¿î MLF´Â ¸ð³ëÆùÀÇ ¸¶Áö¸· ÀçÆò°¡¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµÈ´Ù.
4.1. ´Ü°è 2.1 : Ư¡ÃßÃâ ¼³Á¤ÆÄÀÏ º¯°æ
Ư¡ ÃßÃâÀ» À§ÇÑ ¼³Á¤ ÆÄÀÏÀ» ¡®config'¿Í °°ÀÌ º¯°æÇÑ´Ù.
config
SOURCERATE = 100000
SOURCEFORMAT = HTK
SOURCEKIND = MFCC_E
TARGETRATE = 100000
TARGETFORMAT = HTK
TARGETKIND = MFCC_E_D_A_Z
ZMEANSOURCE = T
WINDOWSIZE = 200000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 20
NUMCEPS = 12
CEPLIFTER = 22
ENORMALISE = F
DELTAWINDOW = 2
SAVEWITHCRC = F
BYTEORDER = NONVAX
NONUMESCAPES = T
4.2. ´Ü°è 2.2 : ¸ðµ¨ ÃʱâÈ
HMM ÈÆ·Ã¿¡¼ ù ¹øÂ° ½ºÅÜÀº ÇÁ·ÎÅäŸÀÔ ¸ðµ¨À» Á¤ÀÇ ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¸ðµ¨ÀÇ ÆÄ¶ó¹ÌÅÍ´Â Áß¿äÇÏÁö ¾Ê°í, ±×°ÍÀÇ ¸ñÀûÀº ¸ðµ¨ ÅäÇ÷ÎÁö¸¦ Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù. °¢°¢ÀÇ Æ¯Â¡ º¤ÅÍÀÇ ±æÀÌ´Â 39Â÷À̸ç, HMM ¸ðµ¨Àº 3 stateÀÇ left-to-right ·Î ¼³Á¤ÇÑ´Ù. ¿©±â¼ 39Â÷ÀÇ Àǹ̴ Á¤Àû º¤ÅÍ(MFCC_0 = 13) + µ¨Å¸ °è¼ö(13) + °¡¼Óµµ °è¼ö(13)À» ¸ðµÎ ´õÇÑ °ªÀÌ´Ù. HTK Åø 'HCompV'´Â µ¥ÀÌÅÍ ÆÄÀÏÀ» Á¶»ç ÇÒ °ÍÀ̰í, Àü¿ª Æò±Õ°ú ºÐ»ê °ª ±×¸®°í, °°Àº Æò±Õ°ú ºÐ»êÀ» °®´Â HMM¿¡¼ÀÇ ¸ðµç °¡¿ì½Ã¾ÈÀ» °è»êÇÑ´Ù. ¸ðµç ÈÆ·Ã ÆÄÀÏÀÇ ¸®½ºÆ®´Â ¡®train.scp'ÆÄÀÏ¿¡ ÀúÀå µÇ¾ú´Ù°í °¡Á¤ÇÏ¿©, ¾Æ·¡¿Í °°Àº ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù.
$ HCompV -C config -f 0.01 -m -S train.scp -M hmm0 proto
Æò±ÕÀÌ 0ÀÌ°í ´ÜÀÏ ºÐ»êÀ̸é, 'hmm0' µð·ºÅ͸®¿¡ »õ·Î¿î ¡®proto' ÆÄÀÏÀÌ »ý¼º µÉ °ÍÀ̰í, À§ÀÇ Àü¿ª À½¼º Æò±Õ°ú ºÐ»êÀ¸·Î ºÎÅÍ ÀçÁ¤ÀÇ µÈ´Ù. HMM ÇÁ·ÎÅäŸÀÔÀº MFCC_O_D_A·Î¼ ÆÄ¶ó¹ÌÅÍ Á¾·ù¸¦ Á¤ÀÇ ÇÑ´Ù ('oh'°¡ ¾Æ´Ñ ¡¯zero'ÀÓ¿¡ À¯ÀÇ).
¡®HCompV'´Â ¿©·¯ °¡Áö ¿É¼ÇÀ» °¡Áö°í ÀÖ´Ù. ¡¯-f' ¿É¼ÇÀº ¡®vFloors'¶ó ºÒ¸®´Â ¿©·¯ °¡Áö floor macro¸¦ ¹ß»ý½ÃŲ´Ù. ¾Æ·¡ÀÇ ¡¯varFloor'Àº ´ÙÀ½ ´Ü°è¿¡¼ Æò°¡µÇ¾îÁú ÆíÂ÷ÀÇ floor set¿¡¼ »ç¿ë µÇ¾îÁú º¤ÅÍ °ªÀÌ´Ù. '-m' ¿É¼ÇÀº Æò±Õ°ªÀÌ ÇÊ¿äÇÏ´Ù. 'sil'À» Æ÷ÇÔÇÏ´Â °¢°¢ ¿ä±¸µÈ ¸ð³ëÆùÀ» À§ÇØ ´Ù½Ã À̸§À» ºÙÀ̰í, ÇÁ·ÎÅäŸÀÔÀ» º¹»çÇØ¼ ¸¸µé¾îÁø ¸ð³ëÆù °¢°¢¿¡ ´ëÇÑ º¹»çº»À» °¡Áø MMF(hmmdefs¶ó°í ºÒ¸°´Ù)¿Í »çÀü hmm0¿¡ ÀúÀåµÈ »õ·Î¿î ÇÁ·ÎÅäŸÀÔ ¸ðµ¨ÀÌ ÁÖ¾îÁö°Ô µÈ´Ù.
°¢°¢ÀÇ ÆÄÀÏ¿¡ ´ëÇÑ ¿¡µðÅͰ¡ ÇÊ¿äÇѵ¥, ´ÙÀ½°ú °°ÀÌ µû¶óÇØ º¸ÀÚ. hmm0¶ó´Â »õ·Î¿î µð·ºÅ͸®¸¦ »ý¼ºÇؾßÇϸç ÈÆ·Ã°á°ú¸¦ ÀúÀåÇÏ´Â µð·ºÅ͸®°¡ µÈ´Ù. ´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇÏ·Á¸é À§¿¡¼ ÀÛ¼ºÇÑ ¡®train.scp' ÆÄÀϰú ¿©±â¼ ÀÛ¼ºÇÏ´Â ¡¯proto' ÆÄÀÏÀÌ ÇÊ¿äÇϸç hmm0 µð·ºÅ͸®¿¡´Â ¾÷µ¥ÀÌÆ®µÈ ¡®proto' ÆÄÀϰú ¡¯vFloors' ¶ó´Â ÆÄÀÏÀÌ »ý¼ºµÈ´Ù. ¾ÕÀ¸·Îµµ »õ·Î¿î µð·ºÅ͸®¸¦ ¸¸µé¾î°¡¸ç °è¼Ó ¾÷µ¥ÀÌÆ®µÈ ÆÄÀÏÀ» ÃÖÁ¾ÀûÀ¸·Î ¾ò°Ô µÉ °ÍÀÌ´Ù. Linux ȯ°æ¿¡¼´Â ¼öÀÛ¾÷À» ÆíÇÏ°Ô ÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºµÈ ÇÁ·Î±×·¥ÀÌ ÀÖÀ¸¸ç, ÀϹÝÀûÀ¸·Î ¼öÀÛ¾÷À¸·Î ÆÄÀÏÀ» ÆíÁýÇϰí ÀÖ´Ù.
¸¸ÀÏ, ÁÖ¾îÁø µ¥ÀÌÅͺ£À̽º¿¡ »ç¿ëµÈ monophonesÀÇ ¼ö°¡ sil Æ÷ÇÔ ¸ðµÎ 14°³¶ó¸é, À§ÀÇhmm0 µð·ºÅ͸®¿¡ ÀÖ´Â proto °á°úÁß ~h ¡®proto¡¯ ºÎºÐÀÇ proto¸¦ °¢°¢ÀÇ monophoneÀ¸·Î ¹Ù²Ù°í ¸ðµÎ 14°³¸¦ À̾î³õÀ¸¸é hmmdefsÀÌ µÈ´Ù. À̶§ ~oÀ» Æ÷ÇÔÇÑ Ã³À½ 3ÁÙÀº Á¦¿Ü½ÃÄÑ¾ß Çϸç, ÀÌ 3ÁÙÀº vFloors ÆÄÀÏÀÇ ¸Ç óÀ½ ½ÃÀۺκп¡ º¹»ç/Æ÷ÇÔ½ÃŲ´Ù. À̶§ varFloor ´Â ¡®macros¡¯·Î À̸§À» ¹Ù²Û´Ù. ÆíÁýµÈ °¢ ÆÄÀϵéÀº ´ÙÀ½°ú °°ÀÌ ³ª¿ ÇÏ¿´´Ù.
proto
~o
<STREAMINFO> 1 39
<VECSIZE> 39<NULLD><MFCC_E_D_A_Z><DIAGC>
~h "proto"
<BEGINHMM>
<NUMSTATES> 5
<STATE> 2
<MEAN> 39
-1.323271e-09 -3.649464e-09 7.621371e-10 5.555854e-09 -3.588745e-09 -6.260412e-09 2.652824e-09 -2.515157e-09 1.118080e-09 -5.640129e-10 8.762483e-10 7.176442e-10 1.834113e+01 2.370309e-02 1.417491e-02 2.330957e-02 1.424802e-02 1.529965e-02 2.058828e-02 1.109756e-02 4.361491e-03 9.609834e-04 -1.174028e-02 -9.849022e-03 1.170117e-03 1.061501e-02 -2.710617e-03 -3.016717e-03 -4.007452e-03 -6.173995e-04 -2.228994e-03 -1.920041e-03 -1.151150e-03 -3.325592e-04 1.291454e-03 1.723252e-03 2.082840e-03 4.363110e-04 -2.260872e-03
<VARIANCE> 39
3.922467e+01 3.469390e+01 5.757730e+01 5.811079e+01 4.666876e+01 3.753942e+01 3.935558e+01 3.533826e+01 3.803122e+01 3.424751e+01 3.164638e+01 2.151763e+01
........
varFloor
~v varFloor1
<Variance> 39
3.922467e-01 3.469390e-01 5.757730e-01 5.811079e-01 4.666876e-01 3.753942e-01 3.935558e-01 3.533826e-01 3.803122e-01 3.424751e-01 3.164638e-01 2.151763e-01 8.765900e-02 2.003058e-02 2.003152e-02 2.962882e-02 3.378824e-02 2.888997e-02 2.685643e-02 2.750625e-02 2.594367e-02 2.617251e-02 2.399169e-02 2.160116e-02 1.597385e-02 4.177385e-03 2.902057e-03 3.130759e-03 4.434302e-03 5.383763e-03 4.890393e-03 4.648606e-03 4.878893e-03 4.632448e-03 4.567801e-03 4.222652e-03 3.765465e-03 2.874190e-03 5.361866e-04
hmm0/macros
~o
<STREAMINFO> 1 39
<VECSIZE> 39<NULLD><MFCC_E_D_A_Z><DIAGC>
~v "varFloor1"
<Variance> 39
3.922467e-01 3.469390e-01 5.757730e-01 5.811079e-01 4.666876e-01 3.753942e-01 3.935558e-01 3.533826e-01 3.803122e-01 3.424751e-01 3.164638e-01 2.151763e-01 8.765900e-02 2.003058e-02 2.003152e-02 2.962882e-02 3.378824e-02 2.888997e-02 2.685643e-02 2.750625e-02 2.594367e-02 2.617251e-02 2.399169e-02 2.160116e-02 1.597385e-02 4.177385e-03 2.902057e-03 3.130759e-03 4.434302e-03 5.383763e-03 4.890393e-03 4.648606e-03 4.878893e-03 4.632448e-03 4.567801e-03 4.222652e-03 3.765465e-03 2.874190e-03 5.361866e-04
hmm0/hmmdefs
~h "sil"
<BEGINHMM>
<NUMSTATES> 5
<STATE> 2
<MEAN> 39
-1.323271e-09 -3.649464e-09 7.621371e-10 5.555854e-09 -3.588745e-09 -6.260412e-09 2.652824e-09 -2.515157e-09 1.118080e-09 -5.640129e-10 8.762483e-10 7.176442e-10 1.834113e+01 2.370309e-02 1.417491e-02 2.330957e-02 1.424802e-02 1.529965e-02 2.058828e-02 1.109756e-02 4.361491e-03 9.609834e-04 -1.174028e-02 -9.849022e-03 1.170117e-03 1.061501e-02 -2.710617e-03 -3.016717e-03 -4.007452e-03 -6.173995e-04 -2.228994e-03 -1.920041e-03 -1.151150e-03 -3.325592e-04 1.291454e-03 1.723252e-03 2.082840e-03 4.363110e-04 -2.260872e-03
<VARIANCE> 39
3.922467e+01 3.469390e+01 5.757730e+01 5.811079e+01 4.666876e+01 3.753942e+01 3.935558e+01 3.533826e+01 3.803122e+01 3.424751e+01 3.164638e+01 2.151763e+01
........
4.3. ´Ü°è 2.3 : ÃÊ±â ¸ðµ¨ ÈÆ·Ã
¾Æ·¡ÀÇ ¸í·É¾î¸¦ ½ÇÇàÇϸé, ¸ðµ¨¸®½ºÆ® ¡®monophones0'¿¡ ³ª¿µÈ hmm0¾ÈÀÇ ¸ðµç ¸ðµ¨µéÀÌ ·ÎµåµÈ´Ù.('monophones1'Àº short pause modelÀÌ ÁÙ¾îµé°Ô µÈ´Ù.) ÀÌ ¶§ ¡®train.scp'¾È¿¡ ¿°ÅµÈ µ¥ÀÌÅ͸¦ »ç¿ëÇÏ¿© ÀçÆò°¡ µÇ¾îÁö°í »õ·Î¿î ¸ðµ¨ ¼ÂÀº ¡¯hmm1' »çÀü¿¡ ÀúÀåµÈ´Ù. ÆÄÀÏÀÇ ´ëºÎºÐÀº HERESTÀ» »ç¿ëÇÑ´Ù. ´Ü, ¡®macros¡¯ ÆÄÀÏÀº ¿¹¿Ü´Ù. À̰ÍÀº global options macro¶ó°í ºÒ¸®°í, ÆíÂ÷ floor macroÀÎ ¡®varFloor'´Â º¸´Ù ¸ÕÀú ³ªÅ¸³´Ù. global options macro´Â °£´ÜÇÏ°Ô HMM ÆÄ¶ó¹ÌÅÍ Á¾·ù¿Í º¤ÅÍ Å©±â·Î Á¤ÀǵȴÙ.
À§ÀÇ ¿¹Á¦¿¡¼, pruningÀº º¸Åë 250.0ÀÌ´Ù. ¸¸¾à ÀçÆò°¡°¡ ¾î¶² Ưº°ÇÑ ÆÄÀϵµ ¾Æ´Ï¶ó¸é, threshold´Â 150.0À¸·Î Áõ°¡µÉ °ÍÀ̰í, ÆÄÀÏÀº ´Ù½Ã ÇÁ·Î¼¼½º µÈ´Ù. À̰ÍÀº ÆÄÀÏÀÌ ¼º°øÀûÀ¸·Î ÇÁ·Î¼¼½º µÇ°Å³ª pruningÀÇ ÇѰèÀÎ 1000.0 ³ÑÀ» ¶§±îÁö ¹Ýº¹µÈ´Ù. ÀÌ·± Á¡¿¡¼, ÈÆ·Ã ÆÄÀÏ¿¡ ½É°¢ÇÑ ¹®Á¦°¡ ÀÖ´Ù°í ÇØµµ ¾ÈÀüÇÑ °ÍÀÌ´Ù. ¡®hmm0' »çÀü ¾ÈÀÇ monophones ÁýÇÕ¿¡ À̸£°Ô ÇÏ´Â ÇÁ·Î¼¼½º°¡ ±×¸² 3.5¿¡ ³ªÅ¸³ª ÀÖ´Ù.
¡¯-t¡® ¿É¼ÇÀº ÈÆ·ÃÇÏ´Â µ¿¾È »ç¿ëµÉ ¼ö ÀÖ´Â pruning thresholds¸¦ ÁöÁ¤ÇÑ´Ù. pruning(°¡Áö)Àº Å©±âÀÇ ¸í·É¿¡ ÀÇÇØ ¿ä±¸µÇ´Â °è»ê·®À» ÁÙÀÏ ¼ö ÀÖ´Ù.
HEREST´Â¸Å¹ø ´ÜÀÏ ÀçÆò°¡¸¦ ¼öÇàÇÑ´Ù. °¢°¢ÀÇ »õ·Î¿î HMM ¼ÂÀº »õ·Î¿î »çÀü¿¡ ÀúÀåµÈ´Ù. HEREST ½ÇÇàÀº µÎ ¹øÀÌ»ó ¹Ýº¹µÇ°í, ¡®hmm3'(óÀ½ºÎÅÍ ¸¶Áö¸·±îÁöÀÇ monophoneÀ» Æ÷ÇÔÇÏ´Â)°¡ »ý±æ ¶§±îÁö »çÀüÀÇ ÀԷ°ú Ãâ·ÂÀÇ µð·ºÅ͸®¸íÀÌ º¯ÇÑ´Ù.
Baum-Welch algorithmÀ» ÀÌ¿ëÇØ¼ 3~5ȸ training ÇÑ´Ù. ÀÌÀü¿¡ »ý¼º µÇ¾ú´ø hmm0 µð·ºÅ͸®¿¡ ¡®hmmdefs¡¯, ¡®macros¡¯ ÆÄÀϰú ¹ßÀ½»çÀü¿¡ µî·ÏµÈ À½¼ÒµéÀÇ ³ª¿ÀÎ ¡®monophones0' ÆÄÀÏÀ» ÀÔ·ÂÀ¸·Î »ç¿ëÇÏ¿© training °á°ú·Î ¾÷µ¥ÀÌÆ®µÈ ¡¯hmmdefs' °ú ¡®macros' ÆÄÀÏÀ» ¾òÀ» ¼ö ÀÖÀ¸¸ç »õ·Î¸¸µç hmm1 µð·ºÅ͸®¿¡ »ý¼ºµÇ¸ç, µÎ ¹øÂ° trainingÀ¸·Î hmm1¿¡ ÀÖ´ø ÆÄÀϵéÀº ÀÔ·ÂÀ¸·Î µÇ°í ´ÙÀ½ hmm2 µð·ºÅ͸®¿¡´Â ¾÷µ¥ÀÌÆ®µÈ ÆÄÀϵéÀÌ »ý¼ºµÇ´Ù. ÀÌ·¸°Ô trainingÀ» 3~5ȸ ½Ç½ÃÇÏ¸é µÇ°Ú´Ù. ¿©±â¼± 3ȸ¸¸ training ÇÏ¿© ÃÖÁ¾ °á°ú´Â hmm3¿¡ ³²¾ÆÀÖ°Ô µÈ´Ù.
$ HERest -C config -I phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm0/macros -H hmm0/hmmdefs -M hmm1 monophones0
$ HERest -C config -I phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm1/macros -H hmm1/hmmdefs -M hmm2 monophones0
$ HERest -C config -I phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm2/macros -H hmm2/hmmdefs -M hmm3 monophones0
monophones0
sil
i
l
s
a
m
o
yu
g
ch
p
u
ng
yeo
±×¸² 3.5 HERest command.
4.4. ´Ü°è 2.4 : sp ¸ðµ¨ ÀÛ¼º
Àü ´Ü°è¿¡¼ °¢ À½¼Ò¸¦ À§ÇØ left-to-right 3 »óÅ·Π³ªÅ¸³»¾ú°í, ¹¬À½ ¸ðµ¨ ¡®sil'·Î ³ªÅ¸³Â´Ù. ´ÙÀ½ ´Ü°è´Â ¹¬À½ ¸ðµ¨ ¾ÈÀÇ »óÅ 4¿¡¼ 2·Î, »óÅ 2¿¡¼ 4±îÁö¿¡ ´ëÇÑ ³ª¸ÓÁö Àü»çµéÀ» Ãß°¡ ÇÏ´Â °ÍÀÌ´Ù. ÀÌ »ý°¢Àº ÈÆ·Ã µ¥ÀÌÅÍ¿¡¼ ÀÓÆÞ½º ³ëÀÌÁ Á¦°ÅÇϱâ À§ÇÑ °³°³ÀÇ »óŵé·Î ºÎÅÍ ´õ °ÀÎÇÑ ¸ðµ¨À» ¸¸µé±â À§ÇÑ °ÍÀÌ´Ù. ¶ÇÇÑ, »óÅ ¡¯sp' ¸ðµ¨ÀÌ »ý¼ºµÇ´Âµ¥, À̰ÍÀ» ¡®tee-model¡¯À̶ó°í ÇÑ´Ù. ¡®tee-model¡¯Àº Àüü·ÎºÎÅÍ ºüÁ®³ª°¡´Â Á÷Á¢ÀûÀÎ Àü»ç°¡ ÀÖ´Ù. ÀÌ ¡®sp'´Â ¼Ò¸®¸¦ ³»´Â »óŰ¡ ¹¬À½ ¸ðµ¨ÀÇ Áß°£ »óÅ·ΠµÇ´Â °ÍÀ» ¸»ÇÑ´Ù. µÎ ¹¬À½ ¸ðµ¨¿¡¼ ¿ä±¸µÇ´Â ÅäÆú·ÎÁö´Â ±×¸² 3.6¿¡¼ º¸¿©ÁØ´Ù.
»õ·Î¿î ¡®sp' ¸ðµ¨À» ¸¸µå´Â ¡¯sil' ¸ðµ¨ÀÇ Áß°£ »óŸ¦ º¹»çÇÏ´Â ¡®hmm3/hmmdefs'¿¡ ¹®¼ÆíÁý±â¸¦ »ç¿ëÇϰí, À̰ÍÀº ¡¯sp' ¸ðµ¨À» Æ÷ÇÔÇÏ¿© »õ·Î¿î »çÀü ¡¯hmm4'¾È¿¡ ÀÖ´Ù.
HMM ¿¡µðÅÍÀÎ HHEd´Â 'sil' »óÅ Áß°£¿¡ ¡®sp' »óŰ¡ ¿À°Ô Çϰí, ¿ä±¸µÇ´Â ³ª¸ÓÁö Àü»ç¸¦ ÷°¡Çϴµ¥ ½ÇÇàÇÑ´Ù.
HHEd´Â HHEd¿Í À¯»çÇÏ°Ô ÀÛµ¿ÇÑ´Ù. HMMÀ» ¼öÁ¤Çϱâ À§ÇÑ ½ºÅ©¸³Æ® ¾ÈÀÇ ¸í·ÉÀ» Àû¿ëÇÑ´Ù. À̰ÍÀ» ´ÙÀ½ ¸í·É¾î¿Í °°ÀÌ ½ÇÇà½ÃÄÑ º¼ ¼ö°¡ ÀÖ°í ½ÇÇà¿¡ ¾Õ¼ ÆÄÀÏ ÆíÁýÀ» ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
Hmm3¿¡ ÀÖ´ø ÃÖÁ¾ training ÆÄÀϵéÀ» ÀÌ¿ëÇÏ¿© »õ·Î¿î 'sp' ¸ðµ¨À» ¸¸µç´Ù. hmm3ÀÇ ¡®hmmdefs' ÆÄÀÏ¿¡¼ 'sp' ¸ðµ¨À» Ãß°¡ ½Ã۴µ¥ 'sil' ¸ðµ¨À» º¹»çÇÏ¿© 'sil' À» ¡¯sp'·Î ¹Ù²Ù¾î ÁÖ¸é µÈ´Ù. ¹Ù²Ù¾îÁØ ÆÄÀÏÀº hmm4 µð·ºÅ͸®¿¡ ³Ö¾îÁÖ¸é µÈ´Ù. ÀÔ·Â ÆÄÀÏ ¡®monophones0¡¯¿¡ ¡®sp'¸¸ Ãß°¡ÇÏ¿© »õ·Î¿î ¡¯monophones1'À» »ý¼ºÇϸç 'sil.hed'µµ ¾Æ·¡¿Í °°ÀÌ ¸¸µé¾î ÁØ´Ù. ´ÙÀ½ ¸í·É¾î ¼öÇà °á°ú ÃÖÁ¾ °ªÀº hmm5¿¡ ³²¾Æ ÀÖ°Ô µÈ´Ù.
$ HHEd -H hmm4/macros -H hmm4/hmmdefs -M hmm5 sil.hed monophones1
monophones1
sil
sp
i
l
s
a
m
o
yu
g
ch
p
u
ng
yeo
sil.hed
AT 2 4 0.2 {sil.transP}
AT 4 2 0.2 {sil.transP}
AT 1 3 0.3 {sp.transP}
TI silst {sil.state[3],sp.state[2]}
À§ÀÇ ¡®sil.hed' ÆÄÀÏ¿¡¼ AT ¸í·ÉÀº ÁÖ¾îÁø Àü»ç Çà·Ä¿¡ Àü»ç¸¦ ÷°¡ÇÏ´Â °ÍÀ̰í, ¸¶Áö¸· TI¸í·ÉÀº ¡®silst'¶ó ºÒ¸®´Â tied-state¸¦ »ý¼ºÇÑ´Ù. tied-stateÀÇ ÆÄ¶ó¹ÌÅ͵éÀº ¡¯hmmdefs' ÆÄÀÏ¿¡(°¢ ¹¬À½ ¸ðµ¨¾È¿¡) ÀúÀåµÇ°í, º»·¡ÀÇ »óÅ ÆÄ¶ó¹ÌÅÍ´Â ÀÌ ¸ÅÅ©·Î À̸§¿¡ ÀÇÇØ Àç ¹èÄ¡ µÈ´Ù. ¸ÅÅ©·Î´Â HTKµµ±¸ ÆÄ¶ó¹ÌÅÍ °øÀ¯¶ó´Â ¸ÅÄ¿´ÏÁòÀ¸·Î °£ÁÖµÉ ¼ö ÀÖ´Ù. ¿©±â¼ À½¼Ò ¸®½ºÆ®´Â º¯È½Ã۴µ¥ »ç¿ëµÇ´Âµ¥, ÀÌÀ¯´Â »õ·Î¿î ¡®sp' ¸ðµ¨¿¡ ÀÇÇØ È®ÀåµÈ º»·¡ÀÇ ¸®½ºÆ®°¡ ¡®monophones0'À̱⠶§¹®ÀÌ´Ù. »õ·Î¿î ÆÄÀÏ (monophones1 À̶ó ºÒ¸®´Â) À§ÀÇ HHEd ¸í·É¿¡¼ »ç¿ëµÈ´Ù.
4.5. ´Ü°è 2.5 : sp ¸ðµ¨ Ãâ·Â
±×¸² 3.6 Silence Models.
±×¸² 3.7 HHEd command.
$ HERest -C config -I phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm5/macros -H hmm5/hmmdefs -M hmm6 monophones1
$ HERest -C config -I phones0.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm6/macros -H hmm6/hmmdefs -M hmm7 monophones1
4.6. ´Ü°è 2.6 : À½¼ºµ¥ÀÌÅÍ ·¹ÀÌºí¸µ
¾Õ¿¡¼ º¸¾ÒµíÀÌ, »çÀüÀº ´Ü¾î¸¦ À§ÇØ ´Ù¾çÇÑ ¹ßÀ½À» °¡Áø´Ù. À½¼Ò ¸ðµ¨Àº ÈÆ·Ãµ¥ÀÌÅ͸¦ ÀçÆí¼ºÇϴµ¥ »ç¿ëµÇ°í, »õ·Î¿î Àü»ç¸¦ Çϴµ¥, À̰ÍÀº HTK ÀÎ½Ä ÅøÀÎ HVite¸¦ ½ÇÇàÇÑ °ÍÀÌ´Ù. Áï ´ÙÀ½°ú °°Àº ¸í·ÉÀº ÀÔ·Â ´Ü¾î ·¹º§ Àü»çÀÎ ¡®words.mlf'¸¦ »õ·Î¿î À½¼Ò ¸ðµ¨ Àü»ç ¡¯aligned.mlf'(»çÀü ¡®dict'¿¡ ÀúÀåµÈ ¹ßÀ½µéÀ» »ç¿ëÇÏ´Â)·Î º¯È¯ÇÏ´Â hmm7¿¡ ÀúÀåµÈ HMMÀ» »ç¿ëÇÑ´Ù.
´Ü°è 1.3¿¡¼ HLEd·Î ¼öÇàµÇ¾ú´ø º»·¡ÀÇ word-to-phone ¸ÅÇÎ ¹æ¹ý°ú ÀÌ ¹æ¹ý°úÀÇ Â÷ÀÌÁ¡Àº, ¿©±â¼ Àνıâ´Â °¢ ´Ü¾î¿¡ ´ëÇÑ ¸ðµç ¹ßÀ½À» °í·ÁÇϸç, À½ÇâÀû µ¥ÀÌÅÍ¿Í °¡Àå Àß ´ëÀÀµÇ´Â ¹ßÀ½À» Ãâ·ÂÇÑ´Ù´Â °ÍÀÌ´Ù.
¡®-b¡¯ ¿É¼ÇÀº °¢ ¹ß¼ºÀÇ Ã³À½°ú ³¡¿¡ ¹¬À½ ¸ðµ¨À» »ðÀÔÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù.
¡®-t¡® ¿É¼ÇÀº pruning ·¹º§À» 250.0À¸·Î ÇÑ´Ù.
¡¯-o¡® ¿É¼ÇÀº ¼Ò½º¸¦ Ãâ·Â MLF¿¡ ´Ü¾î À̸§°ú ½Ã°£ °æ°è¸¦ ÇÁ¸°Æ®ÇÏ´Â µ¥ »ç¿ëµÇ°í, »õ·Î¿î À½¼Ò Á¤·ÄÀÌ »ý¼ºµÈ ÀÌÈÄ·Î, HERestÀÇ ´Ù¸¥ 2°¡Áö ¹æ¹ýÀº hmm set ÆÄ¶ó¹ÌÅ͸¦ ´Ù½Ã ÀçÆò°¡ Çϴµ¥ »ç¿ëµÈ´Ù.
$ HVite -l '*' -b sil -C config -a -H hmm7/macros -H hmm7/hmmdefs -i aligned.mlf -m -t 250.0 -y lab -I words.mlf -S train.scp dict monophones1
±×¸² 3.8 HVite command.
4.7. ´Ü°è 2.7 : Mixture Áõ°¡
State 2¿¡¼ 4±îÁöÀÇ mixture °³¼ö¸¦ 4°³·Î Áõ°¡½ÃŲ´Ù.
$ HHEd -C config -H hmm7/macros -H hmm7/hmmdefs -M hmm8 m2.hed monophones1
$ HHEd -C config -H hmm8/macros -H hmm8/hmmdefs -M hmm9 m4.hed monophones1
m2.hed
MU 2 {*.state[2-4].mix}
m4.hed
MU 4 {*.state[2-4].mix}
4.8. ´Ü°è 2.8 : sp Mixture Áõ°¡
À̹ø¿£ À½¼Ò 'sp' ¸ðµ¨À» Baum-Welch algorithmÀ¸·Î 3¹ø training ÇÑ´Ù.
$ HERest -C config -I aligned.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm9/macros -H hmm9/hmmdefs -M hmm10 monophones1
$ HERest -C config -I aligned.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm10/macros -H hmm10/hmmdefs -M hmm11 monophones1
$ HERest -C config -I aligned.mlf -t 250.0 150.0 1000.0 -S train.scp -H hmm11/macros -H hmm11/hmmdefs -M hmm12 monophones1
ÃßÈÄ¿¡ Ãß°¡ÇÒ ¿¹Á¤ÀÌ´Ù.
6. Àνıâ Å×½ºÆ®
ÀνıⰡ ¼öÇà µÇ°í³ª¸é Æò°¡µÇ¾î¾ß ÇÑ´Ù. ÀÎ½Ä ³×Æ®¿öÅ©¿Í »çÀüÀº ±¸ÃàµÇ¾îÁ³´Ù. ±×·¡¼, HTK ºÐ¼® ÅøÀÎ REsults¸¦ »ç¿ëÇÏ¿© °á°ú¸¦ Æò°¡ÇÒ °ÍÀÌ´Ù.
6.1. ´Ü°è 4.1 : ÀÎ½Ä±â Æò°¡
'test.scp'°¡ ÄÚµåÈµÈ Å×½ºÆ® ÆÄÀÏ ¸ñ·ÏÀ» ¿¬´Ù°í °¡Á¤Çغ¸ÀÚ. ±× ¶§ °¢°¢ÀÇ Å×½ºÆ® ÆÄÀÏÀº ÀÎ½Ä µÉ °ÍÀÌ°í ´ÙÀ½°ú °°ÀÌ ¼öÇàµÇ´Â ¡®recout.mlf'¶ó ºÒ¸®´Â MLF¿¡ ±×°ÍÀÇ Àü»ç¸¦ Ãâ·ÂÇÒ °ÍÀÌ´Ù.
¡®-p¡¯, ¡®-s¡¯ ¿É¼ÇÀº word insertion penalty¿Í grammar scale factor ¼Â¿¡¼ÀÇ ¿É¼ÇÀÌ´Ù. word insertion penalty´Â ÇÑ ´Ü¾îÀÇ ³¡À¸·ÎºÎÅÍ ´ÙÀ½ ´Ü¾îÀÇ Ã³À½À¸·Î Àü»çµÉ ¶§ÀÇ °¢ ÅäÅ«¿¡ Ãß°¡µÈ Àû´çÇÑ °ªÀÌ´Ù. ¿©±â¼ ¡®test.scp' ÀÔ·Â, ¡®recout.mlf'´Â Ãâ·ÂÀÌ´Ù.
$ HVite -C config -H hmm12/macros -H hmm12/hmmdefs -S test.scp -i recout.mlf -w wdnet -p -8 -s 16 dict monophones1
recout.mlf
#!MLF!#
"/home/shkim/htk/Speech/TEST/f/dfahh/dfahh000.rec"
200000 2300000 ÆÈ -1568.338623
2300000 3900000 ÀÌ -779.553528
3900000 7400000 ¿µ -2250.353027
7400000 9700000 ¿À -1231.982422
9700000 13400000 ±¸ -2550.474121
13400000 16500000 ÀÌ -1759.799316
16500000 18000000 ˡ -1071.074463
.
"/home/shkim/htk/Speech/TEST/f/dfahh/dfahh001.rec"
200000 2500000 ÀÏ -1539.162964
.
"/home/shkim/htk/Speech/TEST/f/dfahh/dfahh002.rec"
400000 3300000 ÀÌ -1706.323364
3300000 6100000 ¿µ -1727.028931
6100000 7700000 ˡ -1263.290161
7700000 11700000 ȕ -2791.517578
........
6.2.
±×¸² 3.9 HVite, HResults command.
SENT ºÎºÐÀº 1729°³ÀÇ Å×½ºÆ® utterancesÁß¿¡, 1069(61.83%)°³°¡ Á¤È®ÇÏ°Ô ÀνĵǾú´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù.
WORD ºÎºÐÀº ´Ü¾î ·¹º§ Åë°è¸¦ º¸¿©Áִµ¥, ÃÑ ´Ü¾î 8872 Áß¿¡¼ 8126(91.59%)°¡ ÀνĵǾúÀ½À» º¸¿©ÁØ´Ù. 293°³ÀÇ ¿¡·¯(D), 453°³ÀÇ substitution error(S)¿Í 113°³ÀÇ »ðÀÔ ¿¡·¯(I)¸¦ ³ªÅ¸³½´Ù. 90.32%ÀÇ accuracy figure´Â correct ÆÛ¼¾Æ®º¸´Ù ¶³¾îÁø´Ù. ¿Ö³ÄÇϸé, ³ªÁß¿¡ »ðÀÔ ¿¡·¯´Â ¹«½ÃÇØµµ µÇ±â ¶§¹®ÀÌ´Ù.
$ HResults -I words.mlf monophones1 recout.mlf
7. ½Ç½Ã°£ À½¼ºÀÎ½Ä ¹æ¹ý
´ÙÀ½Àº ½ÇÁúÀûÀÎ À½¼º³ìÀ½À¸·Î Àνİá°ú¸¦ º¼ ¼ö ÀÖ´Â ¸í·É¾î·Î 'config.audio' ÆÄÀÏÀ» ´Ù½Ã ÀÛ¼ºÇØ ÁÖ¾î¾ß ÇÑ´Ù.
$ HVite -C config.audio -H hmm12/macros -H hmm12/hmmdefs -p -8 -s 16 -w wdnet dict monophones1
config.audio
SOURCERATE = 625
SOURCEFORMAT = HTK
SOURCEKIND = HAUDIO
TARGETRATE = 100000
TARGETFORMAT = HTK
TARGETKIND = MFCC_E_D_A
WINDOWSIZE = 160000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 20
NUMCEPS = 12
CEPLIFTER = 22
ENORMALISE = F
DELTAWINDOW = 2
BYTEORDER = VAX
NONUMESCAPES = T
USESILDET = T
MEASURESIL = F
8. ºÎ·Ï 1 : À©µµ¿ì¿¡¼ HTK¸¦ ÀÌ¿ëÇÑ À½¼ºÀÎ½Ä ¹æ¹ý
À©µµ¿ì ȯ°æ¿¡¼ HTK¸¦ ÀÌ¿ëÇÑ À½¼ºÀÎ½Ä ¹æ¹ýÀº À§¿¡¼ ´Ù·ç¾ú´ø, LINUX ȯ°æ°ú ºñ±³Çؼ ÄÄÆÄÀÏ °úÁ¤¸¸ ´Ù¸£°í ÀνÄÀýÂ÷, Áï 3ÀåÀÇ ¡®µ¥ÀÌÅÍ Áغñ¡¯ºÎÅÍ´Â ¸ðµÎ °°Àº ¹æ¹ýÀ¸·Î ÇÏ¸é µÈ´Ù. ÆíÁý±â´Â À©µµ¿ì¿ë vi ÆíÁý±â¸¦ »ç¿ë ÇÏ¿´´Ù.
OS´Â ¸¶ÀÌÅ©·Î ¼ÒÇÁÆ®ÀÇ Windows XP¸¦ »ç¿ë ÇÏ¿´°í, ÀÛ¾÷Àº Dos³ª ¸í·É ÇÁ·ÒÇÁÆ®¸¦ »ç¿ë ¸é µÈ´Ù. ¿©±â¼´Â ¸í·É ÇÁ·ÒÇÁÆ® »ç¿ëÀ» ¼³¸í ÇϰڴÙ.
8.1.2. HTK ¼Ò½º ¾ÐÃà Ç®±â
LINUX ȯ°æ¿¡¼ ¼³Ä¡ÇÑ °Í°ú ¸¶Âù°¡Áö·Î ¿ì¼± HTK »çÀÌÆ® http://htk.eng.cam.ac.uk/¿¡ Á¢¼ÓÇÏ¿© ÀÎÁõÀýÂ÷¸¦ °Åó ·Î±×ÀÎ ÇÑ ÈÄ¿¡ ¡®HTK-3.2.1.tar.gz¡¯ ÆÄÀÏÀ» ÃֽйöÀüÀ¸·Î ´Ù¿î·Îµå ÇÑ´Ù. ´Ù¿î ¹ÞÀº ÆÄÀÏÀ» »ç¿ëÀÚ°¡ ¿øÇÏ´Â µð·ºÅ͸®¸¦ ±¸¼ºÇÏ¿© ¾ÐÃàÀ» Ǭ´Ù.
8.1.3. ȯ°æ ¼³Á¤
À©µµ¿ì ȯ°æ¿¡¼ÀÇ ÄÄÆÄÀÏ·¯´Â Visual Studio C compiler¸¦ »ç¿ë ÇÒ °ÍÀ̸ç, ¹Ì¸® PATH ¼³Á¤À» Çϱâ·Î ÇÑ´Ù. PATH °æ·Î´Â ¡®C:\Program Files\Microsoft Visual Studio\VC98\bin¡¯°ú °°ÀÌ Çϸç, PATH ¼³Á¤µÈ °æ·Î¿¡ ÀÖ´Â ¡®NMAKE.EXE' ÆÄÀϰú 'VCVARS32.BAT'¶ó´Â ½ÇÇà ÆÄÀϵé·Î ÄÄÆÄÀÏÀ» ÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
ÄÄÆÄÀÏ ¸¶Áö¸· Áغñ ´Ü°è·Î ¡®bin.win32'¶ó´Â Æú´õ¸¦ ¸¸µé¾îÁÖ¾î ÄÄÆÄÀÏ ÈÄ¿¡ HTK ½ÇÇà ÆÄÀϵéÀÌ ÀúÀåµÉ °ø°£À» ¸¸µé¾î ÁØ´Ù. ¾Æ·¡¿Í °°ÀÌ ¸í·É ÇÁ·ÒÇÁÆ®¿¡¼ ¡¯mkdir bin.win32'¶ó°í ÀÔ·ÂÇÏ¸é Æú´õ°¡ »ý¼º µÉ °ÍÀÌ´Ù. ±×¸² 8.1Àº ÄÄÆÄÀÏ ÀüÀÇ µð·ºÅ͸® ±¸¼ºÀÌ´Ù.
> mkdir bin.win32
±×¸² 8.1 ÄÄÆÄÀÏ ÀÛ¾÷ µð·ºÅ͸® ±¸¼º.
¸ÕÀú HTKLib µð·ºÅ͸®·Î À̵¿ÇØ¾ß Çϴµ¥, ¡®cd HTKLib¡¯°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù. ±× µð·ºÅ͸®¿¡¼ ¡®VCVARS32¡®¶ó°í ÀÔ·ÂÇÑ´Ù. ½ÇÇà ÈÄ¿¡´Â ±×¸² 8.2°ú °°ÀÌ ¡¯Microsoft Visual C++Åø ȯ°æÀÌ setting¡® µÇ¾ú´Ù°í ¹®±¸°¡ ¶°¾ß ÇÑ´Ù.
> VCVAR32
±×¸² 8.2 ȯ°æ¼³Á¤ setting ¹®±¸.
¿©±â±îÁö°¡ ȯ°æ¼³Á¤ ´Ü°è¶ó ÇÒ ¼ö ÀÖ°í, ´ÙÀ½Àº ÄÄÆÄÀÏ ÀýÂ÷¿¡ ´ëÇØ ¼³¸íÇϰڴÙ.
8.1.4. ÄÄÆÄÀÏ
±×¸² 8.2ó·³ ¡®HTKLib' ÀÛ¾÷ µð·ºÅ͸®¿¡¼ ´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇϸé, ÄÄÆÄÀÏ µÇ´Â ÀÛ¾÷À» º¼ ¼ö ÀÖÀ¸¸ç, ÃÖÁ¾ÀûÀ¸·Î µð·ºÅ͸®¿¡ ¡®obj' ÆÄÀϵéÀÌ »ý¼ºµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
> nmake /f htk_htklib_nt.mkf all
À̹ø¿¡´Â ¡®HTKTools¡¯ µð·ºÅ͸®·Î À̵¿ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù. °á°ú ÈÄ ¸¶Âù°¡Áö·Î ¡®obj' ÆÄÀϵéÀÌ »ý¼º µÇ¾ú°í, »õ·Î ¸¸µç ¡¯bin.win32' Æú´õ¿¡´Â HTK ±¸µ¿¿¡ ÇÊ¿äÇÑ ½ÇÇà ÆÄÀϵéÀÌ »ý¼º µÇ¾ú´Ù. ±×¸² 8.3Àº »õ·Î »ý¼ºµÈ ½ÇÇà ÆÄÀϵéÀÇ ¸ñ·ÏÀ» º¸¿©ÁÖ°í ÀÖ´Ù.
> nmake /f htk_htktools_nt.mkf all
¡®HLMLib¡¯ Æú´õ·Î À̵¿ÇÏ¿© ´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù.
> nmake /f htk_hlmlib_nt.mkf all
µð·ºÅ͸® ¡®HLMTools'¿¡¼ ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù.
> nmake /f htk_hlmtools_nt.mkf all
ÀÌ¿Í °°ÀÌ °¢ ¸í·É¾î¸¦ ½ÇÇàÇÏ¸é °¢ Æú´õ¿¡ ¡®obj' ÆÄÀÏÀ» »ý¼ºÇÏ°Ô µÇ°í, ¡¯bin.win32' Æú´õ´Â ½ÇÇàÇÒ ¼ö ÀÖ´Â ÆÄÀϵéÀÌ »ý¼ºµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. »ç¿ë»ó ÆíÀǸ¦ À§ÇØ ½ÇÇàÆÄÀÏÀÌ ÀÖ´Â Æú´õ¸¦ PATH ¼³Á¤Çϱ⠹ٶõ´Ù.
Áö±Ý±îÁö°¡ À©µµ¿ì¿¡¼ HTK¸¦ »ç¿ëÇϱâ À§ÇÑ HTK ÄÄÆÄÀÏ ´Ü°è¿´À¸¸ç, ´ÙÀ½ ´Ü°è¼ºÎÅÍ´Â LINUX¿¡¼ HTK »ç¿ëÇϱ⸦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
9. ºÎ·Ï 2 : Vi ÆíÁý±â »ç¿ë¹ý
ÀÌ ¹®¼¿¡¼´Â ¸ðµç ÆíÁý ÀÛ¾÷À» vi ÆíÁý±â·Î »ç¿ëÇϹǷÎ, »ç¿ë¹ý ¹× ÆíÁý ¸í·É¾î¸¦ Âü°íÇÏ¿© ÆíÁý ÀÛ¾÷À» Çϱ⠹ٶõ´Ù.
9.1. vi ½ÇÇà ¹æ¹ý
Ä¿¸Çµå ¶óÀο¡¼ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇϸé, ÀÎÀÚ·Î ÀÔ·ÂÇÑ À̸§ÀÇ ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù.
$ vi ÆÄÀÏ_À̸§...
ÆÄÀÏÀÇ À̸§¿¡´Â ´Ù¼öÀÇ ÆÄÀÏ À̸§À» ³ÖÀ» ¼ö ÀÖÀ¸¸ç, vi ³»¿¡¼ :n ¸í·ÉÀ¸·Î ´ÙÀ½ ÆÄÀÏ·Î ³Ñ¾î °¥ ¼ö ÀÖ´Ù.
9.2. vi ½ÇÇà ¸ðµå
±×¸² 9.1 vi ÆíÁý±â ¸ðµå.
9.2.1. ÀÔ·Â ¸ðµå Àüȯ Ű
½ÇÁúÀûÀ¸·Î ¹®¼¿¡ ±ÛÀÚ¸¦ ÀÔ·ÂÇϱâ À§Çؼ´Â ¸í·É ¸ðµå¿¡¼ ÀÔ·Â ¸ðµå·Î ¸ðµå ÀüȯÀÌ ÀÌ·ç¾îÁ®¾ß ÇÑ´Ù. ÀÌ ¶§ »ç¿ëÇÒ ¼ö Àִ Ű°¡ ¿©·¯ °¡Áö°¡ Àִµ¥, ¿©±â¼´Â ±×°Íµé¿¡ ´ëÇØ ¼³¸íÇϰڴÙ. ´Ü¼ø ÀÔ·Â ÀÛ¾÷ÀÌ ³¡³ª°í, Ä¿¼ À̵¿À̳ª ÆíÁý ÀÛ¾÷ µîÀ» ÇÏ·Á°í ÇÒ ¶§´Â Esc۸¦ ´·¯¼ ÀÔ·Â ¸ðµå¿¡¼ ºüÁ® ³ª¿Í¾ß ÇÑ´Ù.
i : ÇöÀç Ä¿¼ À§Ä¡¿¡ ±ÛÀÚ »ðÀÔÀÌ °¡´ÉÇØ Áü, i ۸¦ ´©¸£°í ³ ÀÌÈÄ¿¡ ¾²´Â ±ÛÀº Ä¿¼ À§Ä¡¿¡ ¾²°Ô µÈ´Ù.
I : ÇöÀç Á٠óÀ½¿¡ »ðÀÔ.
a : ÇöÀç Ä¿¼ ´ÙÀ½ À§Ä¡¿¡ Ãß°¡.
A : ÇöÀç ÁÙ ¸¶Áö¸·¿¡ Ãß°¡.
o : ¾Æ·¡ ÁÙ¿¡ Ãß°¡.
O : À§ ÁÙ¿¡ Ãß°¡.
s : ÇöÀç Ä¿¼ ±ÛÀÚ Áö¿ì°í ÀÔ·Â ¸ðµå·Î Àüȯ.
r : ÇöÀç Ä¿¼ ±ÛÀÚ Áö¿ì°í ÇÑ ±ÛÀÚ ÀÔ·Â ¹Þ¾Æ ¸í·É ¸ðµå·Î µ¹¾Æ °¨.
Esc : ÀÔ·Â ¸ðµå ¶Ç´Â ex ¸í·É ¸ðµå¿¡¼ vi ¸í·É ¸ðµå·Î Àüȯ, vi ¸í·É ¸ðµå¿¡¼ Esc۸¦ ´©¸£¸é »à ¼Ò¸®°¡ ³².
9.2.2. vi ¸í·É ¸ðµå Ű
Esc۸¦ ´·¯¼ µé¾î ¿Ã ¼ö ÀÖ´Â ¸ðµåÀÌ´Ù. vi ¿¡µðÅÍ ½ÃÀÛÇÒ ¶§ÀÇ Ãʱ⠸ðµåÀ̱⵵ ÇÏ´Ù. Ű ¾Õ¿¡ ¼ýÀÚ¸¦ ÀÔ·ÂÇÏ¸é ±× ¸í·ÉÀÌ ¼ýÀÚ¸¸Å ¹Ýº¹µÈ´Ù. ÀÔ·Â ¸ðµå¿¡¼ ÀÔ·Â ÀÛ¾÷ ¿Ï·á ÈÄ, Ä¿¼ À̵¿À̳ª »èÁ¦, º¹»ç, ºÙ¿© ³Ö±â µîÀÇ ÆíÁý ÀÛ¾÷ µîÀ» ÇÒ ¶§´Â Esc۸¦ ´·¯ vi ¸í·É ¸ðµå·Î Àüȯ½ÃŲ ÈÄ¿¡ ÇØ¾ß ÇÑ´Ù.
¡ì Ä¿¼ À̵¿ ¡í
h : ÇÑ ¹®ÀÚ ¿ÞÂÊÀ¸·Î Ä¿¼ À̵¿.(µµ½º¿ëÀ̳ª À©µµ¿ìÁî¿ë vi ¿¡µðÅÍÀÇ °æ¿ì´Â ´ëºÎºÐ, Ä¿¼ À̵¿¿¡ ¹æÇâ۸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸³ª, ¹æÇâ۰¡ ¾ø´Â Å͹̳ΠŰº¸µå¿¡¼ vi ¿¡µðÅ͸¦ »ç¿ëÇϱâ À§Çؼ´Â ¿©±â¼ ¼³¸íÇϴ ŰµéÀ» ¾Ë¾ÆµÑ Çʿ䰡 ÀÖ´Ù.)
j : ÇÑ ÁÙ ¾Æ·¡ÂÊÀ¸·Î Ä¿¼ À̵¿.
k : ÇÑ ÁÙ À§ÂÊÀ¸·Î Ä¿¼ À̵¿.
l : ÇÑ ¹®ÀÚ ¿À¸¥ÂÊÀ¸·Î Ä¿¼ À̵¿.
w : ´ÙÀ½ ´Ü¾î ù ¹®ÀÚ·Î Ä¿¼ À̵¿.
b : ÀÌÀü ´Ü¾î ù ¹®ÀÚ·Î Ä¿¼ À̵¿.
Ctrl+f : ÇÑ ÆäÀÌÁö ¾Æ·¡·Î Ä¿¼ À̵¿.
Ctrl+b : ÇÑ ÆäÀÌÁö À§·Î Ä¿¼ À̵¿.
G : ¸¶Áö¸· ÁÙ·Î Ä¿¼ À̵¿, ¼ýÀÚG·Î ´·¶À» ¶§, ¼ýÀÚ¿¡ ÇØ´çµÇ´Â ÁÙ·Î Ä¿¼ À̵¿.
^ : °ø¹é ¹®ÀÚ°¡ ¾Æ´Ñ, ÇöÀç ÁÙÀÇ Ã¹ ¹®ÀÚ·Î Ä¿¼ À̵¿.
0 : °ø¹é ¹®ÀÚ¸¦ Æ÷ÇÔÇÑ, ÇöÀç Á٠ù ¹®ÀÚ·Î Ä¿¼ À̵¿.
$ : ÇöÀç ÁÙ ¸¶Áö¸· ¹®ÀÚ·Î Ä¿¼ À̵¿.
¡ì »èÁ¦ ¡í
»èÁ¦µÈ °ÍÀº ¹öÆÛ¿¡ ÀúÀåµÇ¹Ç·Î p³ª P ¸í·ÉÀ¸·Î ºÙ¿© ³Ö±â°¡ °¡´ÉÇÔ.
x : ÇöÀç Ä¿¼ À§Ä¡ ¹®ÀÚ »èÁ¦.
X : ÇöÀç Ä¿¼ À§Ä¡ ÀÌÀü ¹®ÀÚ »èÁ¦.
dw : ÇöÀç Ä¿¼ À§Ä¡ ´Ü¾î »èÁ¦, ¼ýÀÚdw·Î ¾²¸é ¼ýÀÚ¸¸ÅÀÇ ´Ü¾î°¡ »èÁ¦µÊ, ´Ù¸¥ »èÁ¦ ¸í·Éµµ ¸¶Âù°¡Áö·Î ¼ýÀÚ ÀÔ·Â ¹æ½ÄÀÌ Àû¿ëµÊ.
db : ÇöÀç Ä¿¼ À§Ä¡ ÀÌÀü ´Ü¾î »èÁ¦.
dd : ÇöÀç Ä¿¼ À§Ä¡ ÁÙ »èÁ¦, ¼ýÀÚdd·Î ¾²¸é ¼ýÀÚ¸¸ÅÀÇ ÁÙÀÌ »èÁ¦µÊ.
d^ : ÇöÀç ÁÙ¿¡¼ ÇöÀç Ä¿¼ À§Ä¡ ÀÌÀü ¹®ÀÚ¿ »èÁ¦.
d$ : ÇöÀç ÁÙ¿¡¼ ÇöÀç Ä¿¼ À§Ä¡ ÀÌÈÄ ¹®ÀÚ¿ »èÁ¦.
D : d$¿Í °°À½.
¡ì º¹»ç, ºÙ¿© ³Ö±â ¡í
¿©±â¼ÀÇ º¹»ç¶õ, ¹öÆÛ·ÎÀÇ º¹»ç¸¦ ¸»Çϸç, ½ÇÁ¦·Î ºÙ¿© ³Ö±â¸¦ ÇÏ·Á¸é p³ª P۸¦ ´·¯¾ß ÇÑ´Ù. ºÙ¿© ³ÖÀº ´Ù¸¥ ¹æ¹ýÀº ¿øÇÏ´Â À§Ä¡¿¡ Ä¿¼¸¦ À̵¿½ÃŲ ÈÄ ¸¶¿ì½º ¿ÞÂÊ ¿À¸¥ÂÊ ¹öưÀ» µ¿½Ã¿¡ Ŭ¸¯ÇÏ¸é ºÙ¿© ³Ö±â°¡ µÇ±âµµ ÇÑ´Ù.
yw : ÇöÀç Ä¿¼ ÀÌÈÄ ´Ü¾î º¹»ç, ¼ýÀÚyw·Î ¾²¸é ¼ýÀÚ¸¸ÅÀÇ ´Ü¾î°¡ º¹»çµÊ, ´Ù¸¥ º¹»ç ¸í ·É¿¡µµ ÀÌ¿Í °°Àº ¼ýÀÚ ÀÔ·Â ¹æ½ÄÀÌ Àû¿ëµÊ.
yb : ÇöÀç Ä¿¼ ÀÌÀü ´Ü¾î º¹»ç.
yy : ÇöÀç ÁÙ º¹»ç, ¼ýÀÚyy·Î ¾²¸é ¼ýÀÚ¸¸ÅÀÇ ÁÙÀÌ º¹»çµÊ.
p : º¹»çµÈ Ç׸ñÀ» ÇöÀç Ä¿¼ À§Ä¡ ÀÌÈÄ¿¡ ºÙ¿© ³Ö±â, »èÁ¦µÈ Ç׸ñµµ ºÙ¿© ³Ö±â °¡´É.
P : º¹»çµÈ Ç׸ñÀ» ÇöÀç Ä¿¼ À§Ä¡ ÀÌÀü¿¡ ºÙ¿© ³Ö±â, »èÁ¦µÈ Ç׸ñµµ ºÙ¿© ³Ö±â °¡´É.
¡ì °Ë»ö ¡í
/°Ë»ö¾î : ÀüÁø °Ë»ö.
?°Ë»ö¾î : ÈÄÁø °Ë»ö.
n : °Ë»ö ¹Ýº¹.
N : ¹Ý´ë ¹æÇâ °Ë»ö ¹Ýº¹.
¡ì µÇµ¹¸®±â ¡í
u : µÇµ¹¸®±â(undo). u۸¦ °è¼Ó Ä¡°Ô µÇ¸é, undo ¹öÆÛ°¡ ºô ¶§±îÁö °è¼Ó µÇµ¹¸®±â¸¦ ÇÒ ¼ö ÀÖÀ½.
U : ¶óÀÎ µÇµ¹¸®±â. ÇÑ ÁÙ¿¡ ´ëÇØ¼ ¸ðµç ÆíÁýÀ» ¾ø´ø °ÍÀ¸·Î ÇÏ°í ¿ø»óÅ·ΠµÇµ¹¸².
Ctrl+r : Redo(undo)
¡ì ±âŸ ¡í
J : Ä¿¼ À§Ä¡ ¾Æ·§ÁÙÀ» ÇöÀç ÁÙ¿¡ ºÙÀÓ. Ä¿¼ À̵¿ÀÇ j¿Í È¥µ¿µÉ ¼ö°¡ ÀÖÀ¸¹Ç·Î, ´ë¼Ò¹®ÀÚ ±¸º°¿¡ À¯ÀÇÇØ¾ß ÇÔ.
. : ÀÌÀü ½ÇÇà ¸í·É ¹Ýº¹. °°Àº ¸í·ÉÀ» ºü¸£°Ô ¹Ýº¹ÇϰíÀÚ ÇÒ ¶§ À¯¿ëÇÔ. Âü°í·Î, ¹®ÀÚ¿ ÀÔ·Â ÈÄ, ¸í·É ¸ðµå·Î µ¹¾Æ¿Í¼ .À» ÀÔ·ÂÇϸé ÀÔ·ÂµÈ ¹®ÀÚ¿ÀÌ Ä¿¼ À§Ä¡¿¡ »ðÀÔµÊ.
ZZ : ÇöÀç ¹®¼ ÀúÀåÇϰí, Á¾·áÇϱâ.
ex ¶óÀÎ ¿¡µðÅÍÀÇ ¸í·É¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. vi ¸í·É ¸ðµå »óÅ¿¡¼, : ۸¦ ´·¯¼ µé¾î°¡°í, Esc۸¦ ´·¯¼ ´Ù½Ã vi ¸í·É ¸ðµå·Î ºüÁ®³ª¿Â´Ù. °¢°¢ÀÇ ¸í·ÉÀ» ÀÔ·ÂÇÑ ÈÄ, ½ÇÇàÀ» Çϱâ À§Çؼ´Â ¿£ÅÍ۸¦ ´©¸£¸é µÈ´Ù.
½ÃÀÛÁÙ¹øÈ£,³¡ÁÙ¹øÈ£d : ½ÃÀÛÁÙ¹øÈ£¿¡¼ ³¡ÁÙ¹øÈ£±îÁöÀÇ ÁÙÀ» Áö¿ò, ºÙ¿© ³Ö±â °¡´É, ¹®¼ÀÇ Ã³À½ ÁÙÀº 1, ÇöÀç ÁÙÀº . , ¸¶Áö¸· ÁÙÀº $·Î ÁöÁ¤ °¡´É, ÁÙ¹øÈ£ ÀÔ·Â ¾øÀÌ d¸¸ ÀÔ·ÂÇßÀ» °æ¿ì¿¡´Â, ÇöÀç ÁÙÀ» Áö¿ò.
½ÃÀÛÁÙ¹øÈ£,³¡ÁÙ¹øÈ£y : ½ÃÀÛÁÙ¹øÈ£¿¡¼ ³¡ÁÙ¹øÈ£±îÁöÀÇ ÁÙÀ» º¹»ç.
½ÃÀÛÁÙ¹øÈ£,³¡ÁÙ¹øÈ£s/ãÀ»¹®ÀÚ¿/¹Ù²Ü¹®ÀÚ¿/g : ½ÃÀÛÁÙ¹øÈ£¿¡¼ ³¡ÁÙ¹øÈ£±îÁö 'ãÀ»¹®ÀÚ¿'À» ã¾Æ '¹Ù²Ü¹®ÀÚ¿'·Î ¹Ù²Þ, g¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é, ÇÑ ÁÙ¿¡ 'ãÀ»¹®ÀÚ¿'ÀÌ ¿©·¯ °³ ÀÖ´õ¶óµµ, ±× ÁÙ¿¡ ´ëÇØ¼´Â ÇÑ ¹ø¸¸ ¹Ù²ãÁü. À¯´Ð½º Á¤±Ô Ç¥Çö½ÄÀ» ½á¼ °·ÂÇÑ °Ë»ö ¹× ġȯÀÌ °¡´ÉÇÔ.
se nu : ÁÙ ¹øÈ£ Ç¥½Ã.
n : ´ÙÀ½ ÆÄÀÏ ÆíÁý, vi ½ÇÇàÇÒ ¶§ ÀÎÀÚ·Î ÀÔ·ÂÇÑ ÆÄÀÏÀÌ ¿©·¯ °³ÀÏ °æ¿ì¿¡ ÇØ´ç.
r ÆÄÀÏÀ̸§ : 'ÆÄÀÏÀ̸§'ÀÇ ÆÄÀÏÀ» ÀÐ¾î ¿Í¼ ÇöÀç Ä¿¼ ¾Æ·§ÁÙ¿¡ »ðÀÔ.
sh : ½©·Î Àá±ñ ºüÁ® ³ª°¡±â, ½©¿¡¼ exit Ä¡¸é, ´Ù½Ã vi·Î µ¹¾Æ¿È. vi¸¦ ¹é±×¶ó¿îµå·Î µ¹·Á¼(Ctrl+z), ½©·Î ³ª°¡ ´Ù¸¥ ÀÛ¾÷À» ÇÑ ÈÄ, fg·Î µ¹¾Æ¿À´Â ¹æ¹ýµµ ÀÖÀ½.
! ¸í·É : ¹ÛÀ¸·Î ºüÁ® ³ª°¡Áö ¾Ê°í ¹Ù·Î '¸í·É'À» ½ÇÇà½ÃÅ´.
w : ÀúÀåÇϱâ, w!·Î ¾²¸é, °Á¦·Î ÀúÀåÇϱâ.
w ÆÄÀÏÀ̸§ : 'ÆÄÀÏÀ̸§'À¸·Î ÀúÀåÇϱâ.
q : vi Á¾·áÇϱâ, q!·Î ¾²¸é °Á¦·Î Á¾·áÇϱâ.
wq : ÀúÀåÇϰí, Á¾·áÇϱâ. wq!·Î ¾²¸é °Á¦·Î ÀúÀåÇϰí Á¾·áÇϱâ.
¡ì ÆÄÀÏ ÆíÁý¿¡ À¯¿ëÇÑ ¸í·É¾î¸¦ ¿¹·Î ¼³¸í¡í
ÀÔ·Â |
¼³ ¸í |
:1,10 co 50 |
1 ÁÙºÎÅÍ 10 ÁÙ ±îÁö¸¦ 50 ÁÙ ÀÌÈÄ·Î º¹»ç. |
:34,50 d |
34 ÁÙºÎÅÍ 50 ÁÙ ±îÁö »èÁ¦. |
:100,150 m 10 |
100 ÁÙºÎÅÍ 150 ÁÙ±îÁö¸¦ 10 ÁÙ ÀÌÈÄ·Î ¿Å±è. |
:.,$ d |
ÇöÀç ÁÙºÎÅÍ ³¡±îÁö Áö¿ì±â. |
:1,30 s/old/new/g |
1 ÁÙºÎÅÍ 30 ÁÙ±îÁö old¸¦ new·Î ¹Ù²Ù±â. |
:g/pattern/ s/old/new/g |
patternÀÌ ÀÖ´Â ÁÙÀ» ã¾Æ¼ old¸¦ new·Î ¹Ù²Ù±â. |
:1,30 s/his/the/gc |
1 ÁÙºÎÅÍ 30 ÁÙ±îÁö his¸¦ the ·Î ¹Ù²Ù¸é¼ È®ÀÎÇϱâ. |
:g/BX/ s/Esc/ESC/g |
BX°¡ ÀÖ´Â ÁÙ¸¸ ã¾Æ¼ Esc¸¦ ESC ·Î ¹Ù²Ù±â. |
:% s/editer/editor/g |
óÀ½ ÁÙºÎÅÍ ¸¶Áö¸· ÁÙ±îÁö, editer¸¦ editor ·Î ¹Ù²Ù±â. |
:g/editer/ s//editor/g |
À§¿Í µ¿ÀÏ("s/" ´ÙÀ½¿¡ ÀÎÀÚ°¡ ¾ø¾î¼ ÀÁÙ°ú °°Àº È¿°ú) |
10. Âü°í¹®Çå
[1] Steve Young, The HTK Book, Cambridge University, ÇöÀç ¹öÀü 3.2
[2] À½¼ºÀνÄ, http://speech.chungbuk.ac.kr/~owkwon/srhome/index.html
[3] vi »ç¿ë¹ý, http://cafe.naver.com/cygpg/89, http://www.vim.org/