MySQL에 MeCab, 은전한닢 설치
개요
- 도커로 centos7을 띄어 설치하고 테스트해보았지만, 설치해야 되는 리스트가 많아 별도로 쓰게 되었다.
1. 서버제원
-
Docker image
$ docker pull centos:centos7.9.2009 $ docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 centos:centos7.9.2009
-
OS 정보
[root@3ae62c03f268 ~]# grep . /etc/os-release NAME="CentOS Linux" VERSION="7 (AltArch)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (AltArch)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7:server" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
-
CPU 정보
[root@3ae62c03f268 ~]# lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 1 Core(s) per socket: 8 Socket(s): 1 Model: 0 BogoMIPS: 48.00 L1d cache: unknown size L1i cache: unknown size L2 cache: unknown size Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
2. 설치
-
yum 설치 및 확인
$ yum --version
yum 사용 시 “curl#6 - “Could not resolve host: mirrorlist.centos.org;…” 에러 발생 시 아래 명령어 사용,
dns, 포트 등 다양한 원인으로 에러가 발생함, 에러 발생 저장소를 변경하는 형태로 사용
$ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* $ sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
-
linux 기본 유틸 설치
yum install wget yum install make
-
C, C++ 컴파일러 설치
# c complier gcc install yum install gcc # gcc install check gcc --version # c++ compiler g++ install Yum install gcc-c++ # g++ install check g++ --version
-
MeCab 설치
$ wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz $ tar xvfz mecab-0.996-ko-0.9.2.tar.gz $ cd mecab-0.996-ko-0.9.2/ $ ./configure --prefix=/path/to/mecab $ make $ make install
make 명령어 사용 시 arm64인 경우 make 커맨드에서 아래 오류발생..
aarch64 configure: error: cannot guess build type;…
configure에서 cpu 아키텍쳐를 명시하면 됨.
$ ./configure --prefix=/path/to/mecab --build=aarch64-unknown-linux-gnu
-
은전한닢 설치
$ wget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.1.1-20180720.tar.gz $ tar xvfz mecab-ko-dic-2.1.1-20180720.tar.gz $ cd mecab-ko-dic-2.1.1-20180720/ $ ./configure --with-mecab-config=/path/to/mecab/bin/mecab-config $ make $ make install
은전한닢은 가장 최근 사전으로 추가하여 사용, 2024.09 기준 최근 사전 추가함.
-
MeCab에 은전한닙 사전 등록
vi /path/to/mecab/etc/mecabrc # 경로변경 dicdir = /path/to/mecab/lib/mecab/dic/mecab-ko-dic/
-
라이브러리 경로 등록
$ vi ~/.bash_profile #내용추가 export PATH=/path/to/mecab/bin/:$PATH export LD_LIBRARY_PATH=/path/to/mecab/lib/:$LD_LIBRARY_PATH
-
설정 동기화
$ source ~/.bash_profile
-
테스트
$ echo "꽁꽁 얼어붙은 한강위를 고양이가 걸어다닙니다." |mecab 꽁꽁 MAG,*,T,꽁꽁,*,*,*,*,* 얼어붙 VV,*,T,얼어붙,*,*,*,*,* 은 ETM,*,T,은,*,*,*,*,* 한 MM,~가산명사,T,한,*,*,*,*,* 강위 NNG,*,F,강위,Compound,*,*,강+위,강/NNG/*/1/1+강위/Compound/*/0/2+위/NNG/*/1/1 를 JKO,*,T,를,*,*,*,*,* 고양이 NNG,*,F,고양이,*,*,*,*,* 가 JKS,*,F,가,*,*,*,*,* 걸 VV,*,T,걸,Inflect,VV,VV,걷/VV,* 어 EC,*,F,어,*,*,*,*,* 다닙니다 VV+EF,*,F,다닙니다,Inflect,VV,EF,다니/VV+ᄇ니다/EF,* . SF,*,*,*,*,*,*,*,* EOS
위 토큰에서 더 필요하다고 생각되는 토큰은 사용자 사전에 추가하여 사용하면 된다.