kakao / khaiii

Kakao Hangul Analyzer III
Apache License 2.0
1.41k stars 284 forks source link

음성인식 결과를 발음표기대로 산출할 수 있을까요? #46

Closed shim-hyunju closed 5 years ago

shim-hyunju commented 5 years ago

안녕하세요. 초보라 도움을 구합니다. 음성인식을 이용하면 발음이 아니라 맞춤법에 따라 변환되어 결과를 제시하는데요. 예를 들어 /닭고기/는 발음상 [닥꼬기]로 실현되지만 STT를 활용하면 결과가 /닭고기/로 나타납니다. 저는 발음 그대로 산출해주는 게 필요한데요. 혹시 이렇게 하는 게 가능할까요? 저의 짧은 생각으로는 음성 전처리 부분에서 입력값을 사전에 있는 어휘로 바꾸는 것 같은데,,, 도와주세요,, ㅜㅜ

krikit commented 5 years ago

죄송합니다만, 제가 잘 알지 못하는 분야라 도와드리기 힘들 것 같네요.. ㅠ.ㅠ

dancing-with-coffee commented 5 years ago

안녕하세요. 초보라 도움을 구합니다. 음성인식을 이용하면 발음이 아니라 맞춤법에 따라 변환되어 결과를 제시하는데요. 예를 들어 /닭고기/는 발음상 [닥꼬기]로 실현되지만 STT를 활용하면 결과가 /닭고기/로 나타납니다. 저는 발음 그대로 산출해주는 게 필요한데요. 혹시 이렇게 하는 게 가능할까요? 저의 짧은 생각으로는 음성 전처리 부분에서 입력값을 사전에 있는 어휘로 바꾸는 것 같은데,,, 도와주세요,, ㅜㅜ

발음상 표현인 [닥꼬기]가 하나의 형태소로 나오는걸 말씀하시는건가요? 아니면 STT를 이용해서 [닥꼬기] -> [닭고기]가 되는걸 원하시는건가요?

shim-hyunju commented 5 years ago

제가 원하는 건 음성을 발음대로 산출해 주는 것입니다. 예를 들어 '국물'의 경우 제대로는 [궁물]이지만 [국물]로 한 글자씩 정확히 발음할 수도 있잖아요. 그래서 '궁물'로 발음했으면 '궁물'로, '국물'로 발음했음 '국물'로 결과를 보여주는 것을 원합니다. 마찬가지로 '물고기'를 [물고기]라고 했는지 [물꼬기]라고 했는지 알고 싶은 거예요.

dancing-with-coffee commented 5 years ago

제가 원하는 건 음성을 발음대로 산출해 주는 것입니다. 예를 들어 '국물'의 경우 제대로는 [궁물]이지만 [국물]로 한 글자씩 정확히 발음할 수도 있잖아요. 그래서 '궁물'로 발음했으면 '궁물'로, '국물'로 발음했음 '국물'로 결과를 보여주는 것을 원합니다. 마찬가지로 '물고기'를 [물고기]라고 했는지 [물꼬기]라고 했는지 알고 싶은 거예요.

아하 그러면 텍스트셋 자체가 이미 발음열 그대로 STT를 마친 텍스트인가요? '물고기'를 [물고기]로 했는지 [물꼬기]로 했는지 알 수 있는 방법은 제가 이해한 바가 맞다면, '형태소 분석기' 랑은 상관없는 것 같네요. 형태소 분석기는 주어진 텍스트를 형태소 단위로 tokenizing 해주는 툴을 말합니다.

shim-hyunju commented 5 years ago

네, 말씀하신 것처럼 형태소 분석은 아니고요. 오히려 그 전까지의 과정이라 보는 게 좋겠네요. 제가 봤을 때 지금의 stt api는 '발음입력(국물) -> 음소로 인식(궁물 또는 국물) -> 사전검색 -> 유의미 어휘로 산출(국물)인 거 같습니다. 제가 필요한 건 음소로 인식된 단계에서 결과를 출력하는 거고요. 다시 말해서, 입력된 음성이 어떠한 한글 자모음인지 판단해주는 그런 거지요. 의미와 무관하게 소리값으로만요... 근데 음성인식, 음성검색 앱들은 보통 유의미어로 찾아주고, 그러다 보니 '녈, 갇'처럼 무의미한 한 어절의 경우에는 결과가 제대로 안 나오더라고요... 단순히 소리값 자체로만 텍스트를 제공해주면 좋겠는데,,,ㅎ

dancing-with-coffee commented 5 years ago

네, 말씀하신 것처럼 형태소 분석은 아니고요. 오히려 그 전까지의 과정이라 보는 게 좋겠네요. 제가 봤을 때 지금의 stt api는 '발음입력(국물) -> 음소로 인식(궁물 또는 국물) -> 사전검색 -> 유의미 어휘로 산출(국물)인 거 같습니다. 제가 필요한 건 음소로 인식된 단계에서 결과를 출력하는 거고요. 다시 말해서, 입력된 음성이 어떠한 한글 자모음인지 판단해주는 그런 거지요. 의미와 무관하게 소리값으로만요... 근데 음성인식, 음성검색 앱들은 보통 유의미어로 찾아주고, 그러다 보니 '녈, 갇'처럼 무의미한 한 어절의 경우에는 결과가 제대로 안 나오더라고요... 단순히 소리값 자체로만 텍스트를 제공해주면 좋겠는데,,,ㅎ

아, 그러면 Text Normalization이 되지 않은 날 것 자체의 STT가 필요하신거군요! STT API를 열어보면 중간에 TN 하는 단계가 있을 텐데, 그 전의 데이터를 얻으면 되지 않을까요? 제가 지금 STT에서의 TN을 사용할 때 khaiii를 사용하고 있어서요. 저는 오히려 현주님이 하시고자 하는 다음 단계를 구현하고 있습니다.