Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

목적

형태소 분석기 작성을 위한 데이터 수집/정리용 위키

필요

검색엔진의 구성요소는 다음과 같다.
  • crawl 모듈
  • Index 모듈
  • Search 모듈
이들 각각의 모듈을 위한 이론적 기술적인 문제들은 상용화 수준이 가능할 정도로 완성되었다고 볼 수 있다. 이 수준에서 또다른 문제는 이를 규모화 하기 위한 시도들이다. 처리해야할 문서가 100만건이라면 상관없겠지만 10억건이라면 문제가 발생할 수 있다.
  • 분산처리 시스템
  • Storage 가상화
이들에 대한 이론적 기술은 어느정도 완성되었으며, 상당부분 공개가 되었다. 이에 대한 내용은 mapreduce(:12)와 hadoop(:12) 파일시스템을 참고하기 바란다.

그렇다면 검색엔진을 위한 모든 기술이 완성되었다고 볼 수 있다. 그렇다면 품질을 높이는 문제가 남아있는데, 여기에 필요한 기술중 가장 중요한 요소가 형태소 분석이다.

다음과 같은 문장이 주어졌을 때, 형태소 분석이 없이 색인이 들어갈경우를 생각해보자.
리눅스파일시스템에서 가장 중요한점은 안정성과 효율, 속도가 될 것이다.
단지 스페이스 문자와 컴마등을 이용해서 토큰을 분리하고 색인을 한다면 다음과 같은 색인 테이블이 만들어 질 것이다.
리눅스파일시스템에서 : 가장 : 중요한점은 : 안정성과 : 효율 : 속도가 : 될 : 것이다
이렇게 색인을 할 경우 리눅스, 파일시스템, 안정성 등으로 검색했을 때, 이문서는 아예 검색이 안될 것이다. 조사를 제거해주면 그나마 좋은 결과를 보여줄 것이다.
리눅스파일시스템 : 가장 : 중요한점 : 안정성 : 효율 : 속도 : 될 : 것
이정도면 적어도 리눅스파일시스템, 안정성 으로는 검색이 될것이다. 그러나 역시 만족할 만한 수준에 이르지 못하고 있다. 가장 최적의 색인파일은 다음과 같이 구성되어야 할 것이다.
리눅스 : 파일 : 리눅스파일 : 시스템 : 파일시스템 : 가장 : 중요한 : 점 : 중요한점 : 
안정성 : 효율 : 속도 : 될 : 것
이렇게 되면, 쿼리에 대해서 다양하고도 비교적 정확한 검색이 가능하므로 품질이 향상될 것이다.

특히 한글과 같은 경우 얼마나 효율적인 형태소 분석을 가지느냐가 검색품질에 결정적인 영향을 미치게 될 것이다.