티스토리 뷰
1. 형태소 분석이 왜 필요한데?
"..."
"참외를 먹으면 참 외롭고, 태연은 벌에 쏘여도 태연함" 이런 말장난 같은 검색결과가 실제라면 문제가 있다.
하지만, 우리가 알고있는 색인기법에는 실제로 저런 결과가 나올수 있는 한계점을 가졌다.
그럼 어떻하지??
2. 형태소 분석
2.1 형태소분석은 뭐임?
형태소란? "뜻은 가진 가장 작은 말의 단위" 말한다. 이제 약간의 국문학 지식이 필요한 시점이다 ㅠ
형태소라고 하는것도 사실 여러가지가 존재하는데, 예를 들어 보겠다.
1. 자립형태소 : 혼자서 쓸 수 있는 경우를 의미한다. (산, 매우)
2. 의존형태소 : 혼자서 쓸수없는 경우, 즉 다른말에 기대어 쓰면 의존형태소라고 한다. (-이, 푸르-, -다)
3. 실질형태소 : 혼자쓰던, 기대어 쓰던 실질적인 뜻을 갖고 있는 형태소를 의미한다 (산, 매우, 푸르다)
4. 문법형태소 : 문법상 필요한 형태소를 의미한다. 보통 조사가 해당되는 편이다 (~이, ~다)
위와 같은 문장을 여러개의 형태소로 분류할 수 있다.
하지만, 검색엔진에서 색인어로 사용할 형태소는 3번. 즉,실질형태소(=의미형태소)를 의미한다.
그렇다면 이런 실질 형태소는 어떻게 찾을수 있을까?
2.2 실질형태소는 어떻게 뽑지?
내가 직접 눈으로 보면 "산" 이 명사 인것도 알겠고, 의미가 있는 실질형태소라는 것도 알겠다.
그러면 컴퓨터는 어떻게 실질형태소만 뽑아 낼 수 있을까?
가장 기본이 되는것은 바로 "사전"이다. 우리가 생각하는 그 사전 맞다.
물론, 검색을 위해서는 그 단어의 뜻에 대한 설명은 사실 필요없고,
어떤 품사를 지녔고 어떤 형태소에 속하는지 아는것에 촛점이 맞춰진다.
예를 들어, "산" 은 명사이고 실질적인 뜻을 가졌으니 실질형태소 이므로 색인어로 뽑혀야 한다.
"-이"는 의존형태소로 혼사서 쓸수없고, 의미가 없으므로 제외되어야 한다는것을 알 수 있다.
2.3 생각보다 복잡한 형태소 분석
하지만, 생각보다 그리 간단하지 않다.
"산이 매우 푸르다" 에서 "이"라는것이 사실 의존형태소라는것을 아는건 사전만으로는 알 수 없다.
네이버 국어사전에서 '이' 라고 검색하면 꽤 많은 결과가 나온다. 단순히 사전만으로 어떤건지 판단할 수 없다는것이다.
http://krdic.naver.com/search.nhn?kind=all&scBtn=true&query=%EC%9D%B4
그래서 형태소 분석을 할때는 영어 배울때 문법을 배우듯이 규칙이 추가된다.
명사뒤에는 의존형태소가 올 수 있고, 명사뒤에는 명사가 올 수 있는게 복합명사인데 이 조합가능한 단어는 무엇인지...쩜쩜쩜.... 생각보다 복잡한 규칙들을 존재하고 예외 사항도 정의해야 한다.
참고로, 형태소분석기 프로젝트중 "꼬꼬마 형태소 분석기" 의 품사에 대한 정보를 정리한것이 있는데 참고해보면 다양한 품사의 조합이 있구나 하고 느낄테니 참고하기 바란다.
http://kkma.snu.ac.kr/documents/index.jsp?doc=postag
형태소 분석기를 만드는게 어려운 이유는, 품질을 위해서는 이런 사전작업과 규칙정의가 필요한데 검색엔진을 만드는 사람은 엔지니어들이고, 이런 규칙을 만들어 낼 수 있는 사람은 국문학과 출신이라는 점이다.
3. N-Gram과 형태소 분석의 비교
'개발이야기 > 검색이야기' 카테고리의 다른 글
검색 그리고 프로젝트 이야기 -외전1. 오타교정, 동의어, 연관단어- (4) | 2015.12.10 |
---|---|
검색 그리고 프로젝트 이야기 -3부 1편. 재현률과 정확도- (0) | 2015.12.10 |
검색 그리고 프로젝트 이야기 -2부 3편, 문장색인기술 - (0) | 2015.12.10 |
검색 그리고 프로젝트 이야기 -2부 2편. 문자열 색인기법- (4) | 2015.12.10 |
검색 그리고 프로젝트 이야기 -2부 1편, 색인,인덱스 - (4) | 2015.12.10 |