Open e9t opened 10 years ago
사실상 이 문제는 자연언어처리 문제는 아니기도 하고 복잡한 문제가 많으니 처음부터 이것 때문에 너무 힘을 빼지는 않았으면 좋겠습니다. 문자 처리 관련한 문제들을 생각해보면
전각(fullwidth)/반각(halfwidth) 변환. 공백문자, 문장부호 등이 전각으로 된 것을 반각으로 변환할 필요가 있을 때가 종종 있는데요. 정확하게 무엇을 어떻게 해야하는지는 잘 모르겠지만 영어 처리할 때 tolower(), toupper() 처럼 tohalfwidth(), tofullwidth() 같은 게 있으면 좋지 않을까 합니다.
유니코드 Hangul의 compostion/decompostion 관련 참조: http://www.unicode.org/reports/tr15/tr15-18.html#Hangul
관련해서 세부 사항은 생각해야 할게 좀 있을 거 같습니다. decompose('한')을 했을 때 리턴값도 여러가지가 될 수 있구요. 예를 들어, Hangul Jamo로 분해할 수도 있고 Hangul Compatibility Jamo로 분해할 수도 있습니다.
한자/한글 변환 관련한 자료로는 다음 정도가 있는 것 같습니다.
한자/한글 변환을 translit이라고 하는 것은 제 생각에는 별로 좋은 명칭이 아닌 것 같습니다. transliteration은 문자를 일대일로 옮겨 적는 것을 뜻하는데 한자의 음을 읽는 문제는 그것과는 좀 달라 보입니다. hanja2hangul()과 같은 식의 인터페이스는 어떨까요? 좀 다른 문제겠지만 hangul2hanja() 같은 것도 나중에 생각해 볼 수도 있구요.
아래와 같은 추가 모듈을 고려하고 있습니다. 의견 있으신 분은 자유롭게 댓글을 달아주시기 바랍니다.
hangul 모듈
hanja 모듈