루씬 한국어 형태소 분석기 사전 구성 및 팁.
Elastic/Elasticsearch 2013. 1. 22. 14:25원본출처 : http://cafe.naver.com/korlucene
형태소사전은 모두 8개로 구성되어 있습니다. 그 중 하나는 음절정보이므로 실제로는 7개로 봐야 하겠군요.
사전은 org/apache/lucene/analysis/kr/dic 아래에 있습니다.
이 사전은 모두 jar 에 함께 패키징되어 있는데, KoreanAnalyzer 는 우선 classpath 에 있는 파일에서 찾고
없으면 jar 에 패키징되어 있는 것을 읽어 옵니다. 따라서 커스터마이징된 사전을 사용하고자 한다면
%CLASSPATH%/org/apache/lucene/analysis/kr/dic 아래에 각자의 사전을 저장해서 사용하면 됩니다.
각 사전에 대한 자세한 설명은 다음과 같습니다.
1. total.dic : 기본사전
용언과 체언을 포함한 기본사전입니다. 사전의 형식을 보면 다음과 같이 구성되어 있습니다.
================
납부,10011X
================
콤마(,)를 중심으로 좌측은 단어이고 우측은 단어정보입니다.
단어정보는 6글자로 구성되어 있는데 각 글자는 단어의 사용규칙을 나타내며 아래와 같습니다.
=========================================================
1 2 3 4 5 6
명사 동사 기타품사 하여동사 되어동사 불규칙변형
=========================================================
1~3은 품사에 대한 정보이며, 위에 기술한 각 품사 여부를 나타냅니다.
4~5는 명사인 경우 "하다"와 "되다"가 붙을 수 있는 경우를 나타납내다. 주의)동사는 반드시(0)이어야 합니다.
6은 동사인 경우 불규칙변형의 종류를 나타내며 종류는 아래와 같습니다.
B:ㅂ 불규칙, H:ㅎ 불규칙, L:르 불규칙, U:ㄹ 불규칙, S:ㅅ 불규칙, D:ㄷ 불규칙, R:러 불규칙, X:규칙
2. extension.dic : 확장사전
기본사전은 가능한 그 대로 사용하는 것이 좋을 것입니다. 그런데 사전을 조금 보완하여야 할때 확장사전을
사용하면 됩니다. 사전을 구성하는 규칙은 기본사전과 동일합니다.
3. josa.dic : 조사사전
조사들만 모아둔 사전입니다. 각 조사는 한줄씩 구분되어 있습니다.
4. eomi.dic : 어미사전
어미들만 모아둔 사전입니다. 각 어미는 한줄씩 구분되어 있습니다.
5. prefix.dic : 접두어 사전
복합명사를 분해시 2글자 이상의 단어로만 분해합니다. 그러나 "과소비" 같은 경우 "과"를 접두어로 분리해 내어
"과소비"와 "소비"를 색인어로 추출하기 위해 만든 사전입니다.
6. suffix.dic : 접미어 사전
복합명사를 분해 시 "현관문" 같은 경우 "문"을 접미어로 분해하여 "현관문"과 "현관"을 색인어로 추출하기 위해
만든사전입니다.
7. compounds.dic : 기분석 복합명사 사전
복합명사는 명사 사전을 기반으로 최장일치법에 의해 분해를 합니다. 그런데 "근로자의날" 같은 경우 중간에 조사가
포함되어 있으므로 분해가 불가능합니다. 이런 경우 복합명사 사전에 등록을 합니다. 규칙은 아래와 같습니다.
=========================================
근로자의날:근로자,날
=========================================
콜론(:)을 중심으로 좌측은 복합명사이고 우측은 함께 추출될 색인어입니다. 따라서 위의 경우는 색인어로
"근로자의날","근로자","날" 이렇게 3개가 추출됩니다.