티스토리 뷰

필요한 패키지 설치

yum install gcc-++

 

mecab 설치

cd /usr/local/src/

다운받을 파일 경로
https://bitbucket.org/eunjeon/mecab-ko/downloads

최신버전 다운로드

wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz

압축해제

tar zxvf mecab-0.996-ko-0.9.2.tar.gz

폴더 이동

cd mecab-0.996-ko-0.9.2

폴더 생성

mkdir /usr/local/mecab

설치

./configure --prefix=/usr/local/mecab
make
make install

 

mecab-ko 설치

cd /usr/local/src/

다운받을 파일 경로

https://bitbucket.org/eunjeon/mecab-ko-dic/downloads
최신버전 다운로드

wget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.1.1-20180720.tar.gz  

압축해제

tar zxvf mecab-ko-dic-2.1.1-20180720.tar.gz

폴더 이동

cd mecab-ko-dic-2.1.1-20180720

설치
./configure --prefix=/usr/local/mecab/dic --with-mecab-config=/usr/local/mecab/bin/mecab-config   --with-dicdir=/usr/local/mecab/dic   --libexecdir=/usr/local/mecab/libexec/mecab
make

make 실행 시  `AM_INIT_AUTOMAKE(mecab-ko-dic, 2.0.0)' 가 뜨면 

$ ./autogen.sh
$ make
$ make install

순으로 진행

 

 

형태소 실행 테스트

cd /usr/local/mecab/bin

./mecab -d /usr/local/mecab/dic

동해물과 백두산이 마르고 닳도록

실행 종료

ctrl + c

 

실행 결과

동해    NNP,지명,F,동해,*,*,*,*
물      NNG,*,T,물,*,*,*,*
과      JC,*,F,과,*,*,*,*
백두산  NNP,지명,T,백두산,Compound,*,*,백두/NNG/*+산/NNG/*
이      JKS,*,F,이,*,*,*,*
마르    VV,*,F,마르,*,*,*,*
고      EC,*,F,고,*,*,*,*
닳      VV,*,T,닳,*,*,*,*
도록    EC,*,T,도록,*,*,*,*
EOS

 

 

php-mecab 설치

cd /usr/local/src/

파일 다운로드
wget https://github.com/rsky/php-mecab/archive/master.zip

압축해제

unzip master.zip

폴더이동
cd php-mecab-master/mecab/

설치
phpize
./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/mecab/bin/mecab-config
make

make test

make test 실행시 100% 안나오고 3개인가 failed 뜨는데 그냥 진행 했음

make install

 

php 모듈 추가

cd /usr/lib64/php/modules

위 폴더에 mecab.so 파일 있는지 확인

ls -al

파일 생성

echo "extension=mecab.so" > /etc/php.d/mecab.ini

 

apachectl restart / systemctl restart php-fpm

 

위 실행 후 phpinfo() 확인해 보면

모듈정보 확인 됨

 

모듈설치 참조

내가뭘 :: CentOS7 - php - mecab 형태소 분석 (tistory.com)

 

CentOS7 - php - mecab 형태소 분석

1. centos7 기본설정 및 apm 설치   yum install gcc-c++ 2. mecab 다운로드/설치  cd /usr/local/src/  https://bitbucket.org/eunjeon/mecab-ko/downloads 최신버전 다운로드  wget https://b..

requireme.tistory.com

 

 

php 코드에서 테스트

php7.0으로 올라오면서 함수가 아니고 클래스로 변경됨

$mecab = new \MeCab\Tagger(['-d', '/usr/local/mecab/dic']);
$result = $mecab->parse('동해물과백두산이마르고닳도록');
$mecab_array = array();
$code = array('NNG','NNP');
//결과값에서 줄단위로 분리
preg_match_all('/[^EOS](.*)\n/', $result, $find_code);
//각줄별로 루프를 돌며 텍스트와 태그(코드)값분리
for($i=0; $i < count($find_code[0]); $i++)	{
	preg_match('/(.*)(?=\t)/', $find_code[0][$i], $find_text); // text
	preg_match('/(?<=\t)([^\,]+)/', $find_code[0][$i], $find_tag); // tag
	//걸러내고자하는 코드가 있을시
	if(count($code) > 0)
	{
		//걸러내려는 코드안에 태그가 포함되는지
		if(in_array($find_tag[0],$code)
		//중복되는 텍스트가 있는지
		&& in_array($find_text[0],$mecab_array) === false)
		{
			$mecab_array[] = $find_text[0];				
		}
    } else {
        //중복되는 텍스트가 있는지
        if(in_array($find_text[0],$mecab_array) === false)
        {
            $mecab_array[] = $find_text[0];
        }
    }
}
var_dump($mecab_array);

 

위 php 코드 참조

php용 형태소 분석기 설치 및 바인딩과 실사용 - CodeIgniter 한국사용자포럼 (cikorea.net)

 

php용 형태소 분석기 설치 및 바인딩과 실사용

형태소분석 php용 입니다. 여러 블로그들에 잘 정리 되어있네요. 최신dic파일로 변경하셔서 사용하시면 될듯 합니다. 검색시에 유용하네요.   # 설치 참고 : http://gogoke1.blog.me/220211846966 # 바인딩 및

www.cikorea.net

 

 

댓글