오래된 문헌이나 옛 신문, 공문서 등 국한문(國漢文) 혼용 텍스트를 한글 전용으로 변환하는 Rust/JavaScript 라이브러리 '국한문(Gukhanmun)'이 새롭게 공개되었습니다. 이 라이브러리는 단순히 한자 독음을 나열하는 방식이 아닌, 한국어의 복잡한 규칙과 예외를 정확히 반영하여 자연스러운 한글 변환을 가능하게 합니다. 개발자는 이를 통해 방대한 국한문 자료를 현대적인 한글 텍스트로 쉽게 처리할 수 있게 됩니다.
'국한문' 라이브러리는 변환 과정에서 발생하는 다양한 난제를 해결하는 데 집중했습니다. 예를 들어, 같은 한자라도 단어 첫머리에서는 두음법칙이 적용되고(예: 「勞動」→노동), 여러 글자가 모여 하나의 단어를 이룰 때 글자별 독음과 다른 발음이 나는 경우(예: 「庫間」→곳간, 「標識」→표지)를 처리합니다. 또한, 한자와 한글이 섞인 단어에 사이시옷이 붙는 경우(예: 「汽車길」→기찻길)와 한자 숫자 표기(예: 「二〇一六年」→2016년, 「一千二百三十四」→1234)까지 정확하게 판단하여 변환합니다. 이를 위해 표준국어대사전을 내장하고 래티스(lattice) 위에서 동적 계획법(Viterbi 알고리즘)을 활용한 분할 알고리즘을 적용하여, '자본논리'와 같이 복합적인 단어도 올바르게 인식하고 변환합니다.
이 라이브러리는 일반 텍스트는 물론 HTML, Markdown 형식도 처리하며, 출력 방식은 한글 전용, 한자 병기(漢字), HTML 루비 마크업 등 다양하게 선택할 수 있습니다. 남한/북한 맞춤법 프리셋과 동음이의어가 있을 때 한자를 병기하는 옵션도 제공하여 활용도를 높였습니다. Rust로 개발되어 여러 언어에서 쉽게 사용할 수 있도록 설계되었으며, WebAssembly 기반의 JavaScript 라이브러리와 Node.js 네이티브 애드온 형태로도 제공되어 웹 환경과 서버 환경 모두에서 유연하게 적용 가능합니다. 심지어 'no_std + alloc' 환경도 지원하여 임베디드 시스템에서도 활용할 수 있는 확장성을 갖추고 있습니다.
'국한문' 라이브러리의 등장은 한국어 텍스트 처리 분야에 중요한 진전을 의미합니다. 방대한 양의 국한문 자료를 디지털화하고 분석하는 데 있어 수작업의 부담을 크게 줄여줄 수 있으며, 역사 연구, 고문헌 디지털 아카이빙, 옛 신문 기사 분석 등 다양한 분야에서 활용될 잠재력이 큽니다. 또한, AI 학습 데이터 전처리 과정에서 국한문 혼용 텍스트를 정제하는 데도 유용하게 사용될 수 있어, 한국어 자연어 처리(NLP) 기술 발전에도 기여할 것으로 기대됩니다. 개발자들은 이 라이브러리를 통해 한국어 텍스트 데이터의 접근성과 활용성을 크게 향상시킬 수 있을 것입니다.