한글 형태소 분석기 RHINO
2016.05.03 20:31
한글 형태소 분석기 RHINO
Korean Morphological Analyzer, RHINO
한글 형태소 분석기 RHINO를 공개합니다.
소스 코드도 공개하니 본인의 프로젝트에 자유롭게 이식할 수 있습니다.
RHINO는 입력된 문장을 어절(띄어쓰기 단위) 별로 끊어서 각 어절의 형태소와 품사를 분석합니다.
분석에 사용된 사전은 국립국어원에서 공개한 1200만 어절 규모의 한국어 현대문어형태분석 말뭉치를 기초로 했습니다. 말뭉치는 각 어절을 품사 분석 해놓았기 때문에 이 자료들을 추출하여 비교적 큰 규모의 사전(stem 330,000 이상, ending 85,000 이상)을 빠르게 만들 수 있었습니다. 그래도 말뭉치에서 자료를 추출, 정제, 통합하는 데 1년 이상의 시간이 걸렸습니다.
이 프로그램은 동적사전(Dynamic Dictionary)이라는 것을 사용합니다. 동적사전은 프로그램된 사전입니다. 분석 대상이 들어오면 주위의 문맥을 판단하여 가장 최적의 분석 결과를 제시합니다. 현재는 많은 단어가 최고 빈도 분석 결과만을 내어놓고, 후보 분석 결과는 코딩을 기다리며 기록만 되어 있지만, 차츰 차츰 단어의 코딩을 늘려가고 있습니다. 모든 단어를 모든 경우에 대해 완벽하게 대응하게 하기 위해서는 많은 시간이 필요하겠지요.
본 프로그램의 특징은 다음과 같습니다.
- 교착어로서 어근과 접사가 복잡하게 얽혀 있는 한국어의 어절을 잘 분석합니다.
- 문맥에 맞는 가장 좋은 분석 결과 하나만 제시할 수 있도록 설계되었습니다.
- 오픈 소스입니다.
프로그램 사용법은 간단해서 별도의 설명서를 만들지 않았습니다. 그러나 사전에 새로운 어휘를 추가하는 것은 다소 어려울 수 있어서 그 방법을 이 포스트 뒤에 기록해 둡니다. 만약 프로그램의 전체 구조에 대하여 알고 싶으시다면 아래의 논문을 참고하세요.
- 최석재(2014), "집단지성을 이용하는 개방형 형태소 분석기의 설계와 구현", 언어와 정보 사회 22.
이 프로그램은 sourceforge.net에 올려놓았습니다.
- https://sourceforge.net/projects/koreananalyzer/
폴더 안의 "RHINO.bat" 파일을 더블 클릭하면 아래와 같은 GUI가 실행됩니다.
입력문 창에 텍스트를 넣거나, [파일] 탭을 이용하여 파일을 불러오고, [분석] 버튼을 누르면 됩니다.
명사 또는 동사의 리스트만 원한다면 하단의 체크박스를 선택하고, [분석] 버튼을 누르면 됩니다.
* RHINO는 Real Hangul INput Object의 약자입니다.
어휘를 메소드로 만들고, 메소드의 이름을 한글 그대로 사용하였기에 이러한 이름을 붙였습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.