연구/형태소 분석

공개된 형태소 분석기가 필요하다!

락끄 2007. 11. 26. 18:02

상당히 오래 전부터 형태소 분석기를 구현하고 있었다. 초기에는 단지 문서에 대한 색인어를 추출하기 위해서 색인어 추출기를 만들었었는데, 그러다 보니 형태소 분석기가 필요하다는 생각이 들어 많은 시행착오 끝에 이를 구현했다. 사실 프로토 타입으로 구문 분석에도 적용하여 Opinion Mining에도 사용해 봤다. 아직은 국내에서 적용되는 Opinion Mining이나 구문 분석보다는 형태소 분석기가 더 어렵고 필요한 기술이라 생각이 든다. 물론 많은 자연어 처리 연구실에서 훌륭한 프로그램을 만들었지만, "공개"되어 사용할 수 있는 것은 없다. 물론 소스 수준에서 공개되어 필요에 따라 소스도 수정할 수 있는 것을 말한다.

실재로 Opinion Mining이나 구문 분석을 해보니 논문에 있는 내용을 적용하는 것이 그리 어렵지 않았다. 통계적 방법을 활용하는 것도 그렇고, 기본 개념만 잘 파악하면 좀 노력이 필요하겠지만, 그리 어려움을 겪지는 않는 일이었던 것 같다. 그러나 그런 것들을 하기 위한 기초를 마련하는 것은 정말 어려웠다. 그 기초데이터라는 것이 결국 구문 분석을 위해서는 각 단어를 분석하고 품사가 무엇인지 확인하고, 단어를 파악하는 것이며, Opinion Mining같은 경우 통계적 방법을 적용한다면 단어의 원형을 복원하고 적절히 인덱싱을 해 놓는 것이다.

관련된 많은 논문에는 단지 '전처리 한다(Preprocessing)', '특질 추출한다'라고 간단히 나와 있지만, 막상 구현해 본 사람들은 이것들이 얼마나 어려운지 알 것이다. RDB를 기반으로 한다고 해도 인덱스 잘 걸어놔야 되고 정말로 어려운 일이다. IR을 위한 몇몇 알고리즘들을 봤지만, 결국 개념도 개념이지만, 그 모델이 잘 적용되도록 좋은 feature들을 잘 뽑아낼 수 있어야 한다고 생각한다.

많은 사람들이 검색 엔진을 구현하기 위해서 형태소 분석기가 필요하다고 하지만, 이를 구해서 사용하지는 못하고 있다. 단지 n-gram방식으로 인덱스를 만들어 둔다거나, 아주 간단한 몇가지 형태소 분석 방법을 적용하여 일부 문제에만 대응하는 식이다. 검색 뿐만 아니라, 형태소 분석이 된다면 한글을 분석해서 할 수 있는 유익한 일은 정말로 많은 것 같다. Auto Tagging이나 Opinion Mining등에도 적용될 수 있을 것이다.

다양한 분야에 좋은 아이디어를 가지고 있음에도, 기본적인 자료 처리가 제대로 되지 않아 쓴맛을 보는 사람들이 많기에 누군가는 자신이 가진 노하우를 공개하고, 서로 교류를 하여 공개된 상태로 형태소 분석기가 발전할 수 있어야 한다고 생각한다.

다음 글에서는 형태소 분석기 구현과 관련된 계획을 세우고 이를 공유해보자