Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: standardizePronunciation의 사용 중 오류 발생 #263

Open
yunseop-dev opened this issue Nov 5, 2024 · 3 comments
Open

[Bug]: standardizePronunciation의 사용 중 오류 발생 #263

yunseop-dev opened this issue Nov 5, 2024 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@yunseop-dev
Copy link

yunseop-dev commented Nov 5, 2024

Bug description

안녕하세요, 좋은 라이브러리를 만들어주셔서 감사합니다.

standardizePronunciation 사용 중 몇가지 버그가 있어서 리포트 드립니다.

  1. '군을 전역하다' 할 때 '전역'을 '전녁' 으로 변환합니다. 왜 '전녁'으로 변환하나 살펴보니, '전 역'에 대한 발음이 '전녁' 으로 발음되는 것이 표준이고, 군 '전역' 은 '저녁'으로 발음해야합니다. 띄어쓰기에 따른 예외처리가 필요할 것 같습니다.
  2. 'ㄹㅁ' 받침이 있는 경우에도 잘못된 변환이 발생합니다. '힘듦' 의 발음은 '힘듬' 인데, '힘뜸'으로 변환합니다.
  3. 'ㄹㅁ' 받침이 있는 문장을 변환하는 경우도 의도하지 않은 오류가 발생합니다. '힘듦이 있다' 를 작성하면 Error: Invalid hangul Characters: ㄹㅁ, ㅣ, 오류가 발생합니다.
  4. 그러나 모든 ㄹㅁ 받침이 오류 발생하는 것은 아니네요. '삶은 계란'은 정상 변환을 합니다. 🧐

Expected behavior

1. standardizePronunciation('전역'); // 저녁
2. standardizePronunciation('전 역'); // 전녁
3. standardizePronunciation('힘듦'); // 힘듬
5. standardizePronunciation('힘듦이 있다'); // 힘드미 읻따

To Reproduce

상동

Possible Solution

No response

etc.

No response

@yunseop-dev yunseop-dev added the bug Something isn't working label Nov 5, 2024
@po4tion po4tion self-assigned this Nov 5, 2024
@po4tion
Copy link
Collaborator

po4tion commented Nov 5, 2024

오류 찾아주셔서 감사합니다!

@okinawaa
Copy link
Member

@po4tion 님 이 이슈 현재 진행상황을 코맨트로 공유주실 수 있나요?

@po4tion
Copy link
Collaborator

po4tion commented Nov 28, 2024

@okinawaa 님 진행상황 공유드립니다.
@yunseop-dev 님이 남겨주신 이슈 중 2번, 3번에 해당하는 오류는 해결 방법 파악이 끝났으나, 1번에 해당하는 오류의 경우에는 시간이 좀 더 걸릴 것 같습니다. 이유는 다음과 같습니다. 현재 standardizePronunciation의 로직에 적용되어 있는 표준어 변환 순서는 'ㄴ/ㄹ이 덧나는 경우'가 먼저 적용되고 '제 13,14항'이 적용됩니다. 그런데 '전역'이라는 단어는 '단일어'에 속해 'ㄴ/ㄹ이 덧나는 경우'에 해당되지 않고 연음규칙(제 13, 14항)이 적용되어야 합니다.

여기서 우리는 '단일어'를 파악할 수 있는지에 대한 여부가 굉장히 중요해집니다. 이유는, 한국어 어문 규범의 "제 7장 음의 첨가 제 29항"을 보면 '합성어 또는 파생어'에서 '뒤 단어나 접미사의 첫음절이 이, 야, 여, 요, 유인 경우에 ㄴ/ㄹ이 덧나는 현상'이 보여지게 된다고 설명하고 있습니다. 이 말에 따르면 "전역"은 합성어나 파생어가 아니기에 제 29항이 적용되지 않는다고 볼 수 있습니다. 그 외로 '간암', '산악', '진압', '반응' 등의 연음규칙이 적용되는 단일어의 경우에는 문제없이 변환이 되고 있습니다.

현재 제가 봉착한 문제는 JavaScript 로직(외부 API 사용없이)으로만 '이, 야, 여, 요, 유'로 끝나는 단어들의 '파생어/합성어/단일어'를 정확히 구분할 수 있어야 1번 오류를 완벽히 잡아낼 수 있게 됩니다.

따라서 해당 부분이 AI의 도움없이 가능한 부분인지에 대해서 현재 알아보고 있는 상황입니다. 만약 AI의 도움이 필요한 부분이라면 따로 예외처리 목록을 만들어서 로직을 처리해야 할 것으로 보여집니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants