Mecab 사용자 사전 추가하기

<aside> 💡 “핫플”, “피큐레잇”과 같은 단어의 경우 mecab 사전에 등록된 단어들로 쪼개어지기 때문에 “핫”과 “플”로 원하지 않는 방식으로 분해되는 문제가 발생하였다. 이러한 문제를 해결하기 위해서 mecab에 사용자 사전을 추가하는 방법을 알아보자

</aside>

다음은 mecab-ko-dict의 폴더 구조이다.

mecab-ko-dic-2.1.1-20180720
├── ...
├── user-dic/
│   ├── person.csv
│   ├── nnp.csv
│   └── place.csv
├── ...
└── ...

단어 추가하기

단어의 추가는 csv 파일에 각 항복별로 요구하는 내용을 집어넣으면 된다. 각 필드별 의미하는 바는 아래와 같다.

단어, 좌문맥ID, 우문맥ID, 가중치(단어비용), 품사태그, 의미분류, 종성유무, 타입, 첫 품사, 마지막 품사, 표현

컴파일 및 가중치 수정

단어에 사전을 추가하였을 경우 다시 컴파일 하여 등록된 단어를 mecab이 인식하도록 해야 한다.

# mecab-ko-dic-2.1.1-20180720/
tools/add-userdic.sh
make install

하지만 사용자 사전에 등록한 단어라도 토큰화를 해보면 원하는 방식으로 쪼개지지 않는 것을 볼 수 있는데, 이는 단어에 설정된 가중치에 의해서 우선순위에 밀려 제대로 토큰화가 이루어지지 않은 것이다.