세로형
Recent Posts
Recent Comments
Link
12-25 01:01
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

Python Mecab 사용자 사전 추가 에러(no such file or directory: /../dicrc) 해결하기 본문

python

Python Mecab 사용자 사전 추가 에러(no such file or directory: /../dicrc) 해결하기

이수진의 블로그 2020. 5. 13. 21:45
반응형
728x170

포스팅 목적

이번 포스팅은 Python 형태소 분석기 중 하나인 Mecab(은전한닢)에서 나오는 에러를 해결하는 방법에 대해 정리합니다.

해당 에러는 Mecab에서 사용자 사전(user dictionary)를 추가할 때 ./tools/add-userdic.sh을 실행 했을 때 나는 오류입니다. 


포스팅 본문

Python으로 텍스트 데이터 특히, 자연어 처리를 할 때 형태소 분석기를 많이 사용합니다. 

그리고 다양한 형태소 분석기 중 인기 있는 형태소 분석기 Mecab(은전한닢 이라고도 불리웁니다.)이 있습니다.

Mecab은 속도도 빠르고, 다른 konlpy 형태소 분석기보다 정확하여 많이 사용합니다. 또한, 사용자 단어(user dictionary)를 쉽게 추가할 수 있기 때문에 매우 유용합니다. 

하지만, Mac OS 환경에서 Mecab 사용자 단어 사전 추가할 때 아래와 같은 에러가 나올 수 있습니다.

  • Mecab 사용자 사전 추가 시 에러 메세지 : [param.load(DCONF(DICRC))] no such file or directory: /../dicrc

위 사진과 글 처럼 ./tools/add-userdic.sh을 입력 했을 때 [param.load(DCONF(DICRC))] no such file or directory: /../dicrc 라는 에러 문구가 나옵니다. 

Mecab에서 [param.load(DCONF(DICRC))] no such file or directory: /../dicrc 라는 에러 문구가 나오는 이유는 다음과 같다고 합니다.

  • add-userdic.sh 스크립트 내에서 실행되는 readlink가 Mac OS에서 일반적인 linux와 동작이 다르다
  • 따라서, 변수 경로 등이 꼬여서 실패하는 것으로 보임

 

그러면 이 에러를 어떻게 해결할까요? 생각보다 간단합니다.

일단 혹시 모르니 brew를 이용해서 brew install coreutils를 설치해줍니다.

그러면 위와 같이 쭉쭉 설치가 될 것입니다.

그런 다음 Mecab에 tools/add-userdic.sh 파일을 vi로 열어줍니다.

vi add-userdic.sh으로 파일을 열어주면 아래 사진과 같이

else 절에 readonly PROG_DIR=$(readlink -m $(dirname $0)) 구문이 있을겁니다.

이 문구를 아래와 같이 수정해주면 됩니다.

즉, readlink에서 앞에 g만 붙여서 greadlink로 바꿔주기만 하면 [param.load(DCONF(DICRC))] no such file or directory: /../dicrc 에러는 해결됩니다!

그 다음 tools/add-userdic.sh을 실행시키면

위와 같이 잘 동작하는 것을 볼 수 있을겁니다. 

반응형
그리드형
Comments