goodatlas / zeroth

Kaldi-based Korean ASR (한국어 음성인식) open-source project
Apache License 2.0
349 stars 124 forks source link

G2P 문의 #4

Closed homink closed 6 years ago

homink commented 6 years ago

안녕하세요

좋은 자료에 감사드립니다. 페북 포스팅을 보고 G2P 및 LM을 어떻게 구성하셨는지 보다가 Morfessor에 대해 궁금한 점이 있어 문의를 드립니다.

우연히 형태소 인식단위 G2P와 단어 단위의 G2P 비교를 독일어에 대해 연구한 자료를 알게 되었습니다. https://nats-www.informatik.uni-hamburg.de/pub/SLP16/WebHome/POSTER-g2p.pdf

여기서는 단어 단위의 G2P가 더 좋은 성능으로 나오는 것으로 소개가 되어 있어 한국어는 어떻게 비교가 될지 무척 궁금해졌습니다.

관련 해서 혹시 비교해보신 경험이나 연구 내용이 있으신지요..

권호민 드림

jty016 commented 6 years ago

안녕하세요, 좋은 자료를 공유해 주셔서 감사합니다. 제가 빠르게 읽어본 바로는 독일어에서 Morfessor 를 이용한 morpheme analysis 를 했고 G2P 를 통해 phonemisation 하는경우 Morfessor가 성능이 별로 안좋은 것 같더라 하는 이야기 같습니다.

제 생각엔, 제로스 프로젝트에서도 마찬가지이지만 한국어 (음성인식)에서 꼭 G2P 를 사용해야 하는지 의문입니다. 한국어는 언어의 특성상 글자가 정해지면 소리가 정해지지요. 읽을 수있는 글자면 읽는 사람마다 소리가 달라지지 않습니다. 예를들면 아래 처럼요 Nebuchadnezzar --> 느부갓네살 Michelin --> 미슐랭

저도 Morfessor 를 사용해 보면 정확한 한국어 형태소를 찾지는 못하는 것으로 보입니다. 주어진 코퍼스를 가장 잘 설명하는 최소한의 morpheme을 찾는 방식이라 그럴 것이라 예상합니다.

그래서 저는 한국어 표준 발음법을 rule-base 로 짜두었고 Morfessor 가 찾는 morpheme boundary 정보를 활용해서 특정 형태소의 발음 다양성을 확보하는 방식으로 lexicon 을 만듭니다. https://github.com/goodatlas/zeroth/blob/master/s5/data/local/lm/buildLM/_scripts_/buildLexicon.sh#L54-L68

G2P를 통해 phonemisation 하는 것이 목적인 경우에는 제가 생각할 때도 Morfessor의 결과가 G2P 학습을 방해할 수 있을 것 같습니다.

감사합니다. 제로스 그룹 채널이 있으니 여기로 문의를 주시면 더 좋겠습니다. https://groups.google.com/forum/#!forum/zeroth-help