Skip to content

Conversation

@hanan-nana
Copy link

@hanan-nana hanan-nana commented Oct 24, 2025

안녕하세요, #89 와 관련된 조항들을 살펴보다가 일단 영어 문장 / 한글 문장 판별 여부를 확인하는 모듈을 구성했습니다. 병합을 요청드리려고 올린 것은 아니고, 같이 논의를 해봐야하는 부분들이 있을 듯 해서 pr을 먼저 올렸습니다!

이와 관련한 조항은 30항 다만, 39항이 있습니다. 이 조항들 때문에 문장 전체가 영어가 위주인지 한글이 위주인지 파악이 필요하게 됩니다.

image image

처음에는 문장 여부 판별 (30항 다만, 39항) -> 로마자 종료 규칙 적용 (31 ~ 35항) 순으로 진행하려고 했는데, 로마자 종료 규칙 적용과 관련된 PR #90 이 깔끔하게 정리된 상황이라, 해당 PR을 확인하신 이후에 39항 한글표 삽입 여부 로직을 추가할 수 있을 듯 하여 한글/영어 문장 판별 여부 모듈만 우선 공유드립니다.

구조

영어 문장, 한글 문장 판별 여부는 사실 주관적인 부분이 강하기 때문에 룰 베이스로 적용하기가 까다로워 고민 후에 아래와 같은 구조로 결정했습니다.

  • 기존처럼 공백 단위로 단어를 끊습니다.
  • 영어와 한글이 섞여나오는 단어가 한개라도 있다면 한글 문장으로 판별합니다.
  • 그렇지 않다면 영어 단어와 한글 단어의 비율을 비교해서 더 많은 쪽으로 판별합니다.

이렇게 진행한 이유는 한국어의 특성상 영어 단어나 문장이 끼어들어도 같은 단어 내에서 한글 등장 확률이 높기 때문입니다. 반대로 영어의 경우엔 영어 문장에 한글 단어가 껴있더라도 웬만하면 영어가 붙어서 나오지는 않습니다.

ex. 1차 세계 대전 당시 영국의 왕은 George V였다.
ex. be, his, was, were의 약자를 바르게 쓰시오.
ex. What is 김치 in English?

룰베이스로 진행하다보니 잠정적으로 안맞는 케이스가 나올 수 있을텐데, 이는 비율을 조정해서 최적화하는 방향으로 맞춰갈 수 있지 않을까 싶습니다. 특히 통일 영어 점자 규정이 영어 표기 방법도 일부 다르다보니 영어 여부 / 한글 여부는 결국 필요할 것으로 보이긴 해서 더 좋은 방법 있으면 제안 주셔도 좋을 거 같습니다!

@changeset-bot
Copy link

changeset-bot bot commented Oct 24, 2025

⚠️ No Changeset found

Latest commit: 420cbc1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

@owjs3901 owjs3901 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전체적으로 따져보았을 때 hanan-nana님께서 제안 주신 방식이 제가 그리고 있는 방식다 더욱 유사합니다

rust core에 관심이 있으신 분들이 없으실줄 알고 공유는 드리지 않았었지만 rule 기반으로 모듈화 및 인터페이스를 제공하고 원하는 룰을 삽입할 수 있는 형태로 만들고자 합니다

그렇게 진행하며 본인께서 제시하셨던 LanguageDominanceContext 라는 구조체 내에 포함하는 식이 될 것 같은데요

관련해서는 나중에 뵙고 Core를 진행하는 사람들끼리 더욱 많은 논의 후에 표준안을 도출하는 것이 옳은 방향이 아닐까 싶습니다

}

/// 문장의 언어 주체
#[derive(Debug, Clone, Copy, PartialEq)]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clone과 Copy는 제거해도 될 것 같습니다

@hanan-nana
Copy link
Author

안그래도 새롭게 리펙하신다고도 하셨던거 같아서 논의 필요할 때 불러주시면 참여하겠습니다! 저도 말씀주신 방향에 동의하는 것이 점자가 rule-base로 애초에 전부 정의되어있다보니 모호한 경우를 마주칠 때마다 개발자들이 핸들링하는게 최선이지 않을까 싶네요

@hanan-nana
Copy link
Author

이 pr 열어둘지 닫을지만 정해주시면 될 거 같습니다 @owjs3901

@owjs3901
Copy link
Contributor

일단 열어두는 것으로 유지해보겠습니다

@owjs3901 owjs3901 marked this pull request as draft November 4, 2025 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants