티스토리 뷰
필요한 패키지 설치
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
'serverSide > PHP' 카테고리의 다른 글
php 배열 싱글쿼테이션 치환 (0) | 2024.06.25 |
---|---|
[PHP] ZipArchive 이용한 폴더 압축 (0) | 2021.12.14 |
[PHP] cURL error 60: Peer’s Certificate issuer is not recognized (0) | 2021.12.09 |
asp euc-kr 에서 php utf-8 로 한글전송 (0) | 2021.07.01 |
[PHP] php + ci3 메모리 사용량 (0) | 2021.03.31 |