bab2min / Kiwi

Kiwi(지능형 한국어 형태소 분석기)
https://lab.bab2min.pe.kr/kiwi
Other
396 stars 46 forks source link

연철에 대한 오타 교정 추가 #158

Closed bab2min closed 2 months ago

bab2min commented 3 months ago

기존의 오타 교정 기능은 형태소 내의 오타만 처리가 가능하였기에 형태소 간의 경계에서 발생하는 오타들(예: 사람이 -> 사라미, 없어요 -> 업써요)은 교정하지 못하는 문제가 있었음. 형태소 간 경계에서 발생하는 모든 오타 유형을 다루려면 분석기의 탐색 범위가 너무 넓어져 비효율적이므로, 주로 자주 발생하는 유형인 연철을 우선적으로 처리하면 좋을듯. 이 기능이 구현되면 단순히 오타뿐만 아니라 연철이 널리 쓰이던 근대 이전 한국어 텍스트를 분석하는데에도 꽤 도움이 될것으로 보임.

구현 방법

연철이 발생할 수 있는 모든 형태소 조합을 Form 사전에 등록하는 것은 사실상 불가능하므로 splitByTyie 단계에서 동적으로 처리해야 한다. 다행히 연철이 발생하는 지점은 뒷 형태소의 초성이 ㅇ/ㅎ인 경우와 앞 형태소의 초성이 ㅎ인 경우밖에 존재하지 않기 때문에 동적으로 탐색할 범위가 크게 늘어나지는 않을 것.

없어요 -> 업서요 / 업써요 처럼 이중 받침에 대해서는 어ㅂㅅ, 어ㅂㅆ에 대응하도록 Form 사전에 어ㅄ의 이형태로 어ㅂㅅ어ㅂㅆ를 등록하는 작업이 필요.

bab2min commented 2 months ago

0.17.1에 적용 완료.