.png)
Amazon Linux2에 형태소 분석 엔진 설치 (mecab, mecab-ipadic-NEologd)
2022-10-03 last update
7 minutes reading mecab 형태소 분석 mecab-ipadic-neologd 자연 언어 처리자연 언어 처리를 위해 형태소 해석 엔진의 mecab을 도입했기 때문에, 선정 이유와 인스톨 순서를 기재합니다.
Why Mecab?
옛날부터 사용되어 온 실적 충분한 형태소 해석 엔진
mecab-ipadic-NEologd 더 풍부한 어휘를 사용할 수 있습니다 비교적 자료가 많이 구축·운용이 용이
막히는 곳 2021년 현재 "헤매었을 때는 이것으로 해 두면 OK"인 철판의 형태소 해석 엔진입니다. 시용시의 결과도 양호했기 때문에, 그대로 채용했습니다.
Install
Why Mecab?
mecab-ipadic-NEologd 더 풍부한 어휘를 사용할 수 있습니다
막히는 곳 2021년 현재 "헤매었을 때는 이것으로 해 두면 OK"인 철판의 형태소 해석 엔진입니다. 시용시의 결과도 양호했기 때문에, 그대로 채용했습니다.
Install
mecab 본체, IPADIC, mecab-ipadic-NEologd를 설치합니다. OS는 AWS에서 사용하는 것을 기반으로 Amazon Linux2입니다.
Mecab 및 사전 설치
공식 문서는 여기 .
$ cd
$ sudo yum update -y
$ sudo yum groupinstall -y "Development Tools"
$ wget 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE' -O mecab-0.996.tar.gz
$ tar xzf mecab-0.996.tar.gz
$ cd mecab-0.996
$ ./configure --with-charset=utf8
$ make
$ make check
$ sudo make install
버전을 확인할 수 있으면 OK.
$ mecab --version
mecab of 0.996
그러나 이 시점에서 mecab을 시작해도 작동하지 않습니다. 사전이 없기 때문입니다.
$ mecab
param.cpp(69) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc
그런 다음 사전을 설치합니다.
$ cd
$ wget 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM' -O mecab-ipadic-2.7.0-20070801.tar.gz
$ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801/
$ ./configure --with-charset=utf8
$ make
$ sudo make install
이것으로 형태소 해석을 할 수 있습니다.
$ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab
8 名詞,数,*,*,*,*,*
月 名詞,一般,*,*,*,*,月,ツキ,ツキ
3 名詞,数,*,*,*,*,*
日 名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居 名詞,固有名詞,人名,姓,*,*,中居,ナカイ,ナカイ
正広 名詞,固有名詞,人名,名,*,*,正広,マサヒロ,マサヒロ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
金曜日 名詞,副詞可能,*,*,*,*,金曜日,キンヨウビ,キンヨービ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
スマイル 名詞,一般,*,*,*,*,スマイル,スマイル,スマイル
たち 名詞,接尾,一般,*,*,*,たち,タチ,タチ
へ 助詞,格助詞,一般,*,*,*,へ,ヘ,エ
」 記号,括弧閉,*,*,*,*,」,」,」
EOS
하지만 고유 명사가 필요 이상으로 분해되는 느낌이 있습니다.
mecab-ipadic-NEologd 설치
그래서 mecab-ipadic-NEologd를 설치합니다. 공식 문서는 여기 .
cd
git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
./bin/install-mecab-ipadic-neologd -n -a -y
끝나면 사전 위치를 얻고
$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
/usr/local/lib/mecab/dic/mecab-ipadic-neologd
기동시에 그 장소를 지정하면서 기동하면 이대로.
$ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
8月3日 名詞,固有名詞,一般,*,*,*,8月3日,ハチガツミッカ,ハチガツミッカ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居正広の金曜日のスマイルたちへ 名詞,固有名詞,一般,*,*,*,中居正広の金曜日のスマイルたちへ,ナカイマサヒロノキンヨウビノスマイルタチヘ,ナカイマサヒロノキンヨービノスマイルタチヘ
」 記号,括弧閉,*,*,*,*,」,」,」
EOS
매번 지정하는 것이 번거로울 때는 디폴트의 시스템 사전을 변경합니다.
$ sudo cp /usr/local/etc/mecabrc /usr/local/etc/mecabrc.back
$ sudo vi /usr/local/etc/mecabrc
; dicdir = /usr/local/lib/mecab/dic/ipadic <-- comment out
dicdir = /usr/local/lib/mecab/dic/mecab-ipadic-neologd
사전 지정을 하지 않아도 mecab-ipadic-neologd를 이용하게 됩니다.
$ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab
8月3日 名詞,固有名詞,一般,*,*,*,8月3日,ハチガツミッカ,ハチガツミッカ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居正広の金曜日のスマイルたちへ 名詞,固有名詞,一般,*,*,*,中居正広の金曜日のスマイルたちへ,ナカイマサヒロノキンヨウビノスマイルタチヘ,ナカイマサヒロノキンヨービノスマイルタチヘ
」 記号,括弧閉,*,*,*,*,」,」,」
EOS
이상.
$ cd
$ sudo yum update -y
$ sudo yum groupinstall -y "Development Tools"
$ wget 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE' -O mecab-0.996.tar.gz
$ tar xzf mecab-0.996.tar.gz
$ cd mecab-0.996
$ ./configure --with-charset=utf8
$ make
$ make check
$ sudo make install
$ mecab --version
mecab of 0.996
$ mecab
param.cpp(69) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc
$ cd
$ wget 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM' -O mecab-ipadic-2.7.0-20070801.tar.gz
$ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801/
$ ./configure --with-charset=utf8
$ make
$ sudo make install
$ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab
8 名詞,数,*,*,*,*,*
月 名詞,一般,*,*,*,*,月,ツキ,ツキ
3 名詞,数,*,*,*,*,*
日 名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居 名詞,固有名詞,人名,姓,*,*,中居,ナカイ,ナカイ
正広 名詞,固有名詞,人名,名,*,*,正広,マサヒロ,マサヒロ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
金曜日 名詞,副詞可能,*,*,*,*,金曜日,キンヨウビ,キンヨービ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
スマイル 名詞,一般,*,*,*,*,スマイル,スマイル,スマイル
たち 名詞,接尾,一般,*,*,*,たち,タチ,タチ
へ 助詞,格助詞,一般,*,*,*,へ,ヘ,エ
」 記号,括弧閉,*,*,*,*,」,」,」
EOS
cd
git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
./bin/install-mecab-ipadic-neologd -n -a -y
$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
/usr/local/lib/mecab/dic/mecab-ipadic-neologd
$ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
8月3日 名詞,固有名詞,一般,*,*,*,8月3日,ハチガツミッカ,ハチガツミッカ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居正広の金曜日のスマイルたちへ 名詞,固有名詞,一般,*,*,*,中居正広の金曜日のスマイルたちへ,ナカイマサヒロノキンヨウビノスマイルタチヘ,ナカイマサヒロノキンヨービノスマイルタチヘ
」 記号,括弧閉,*,*,*,*,」,」,」
EOS
$ sudo cp /usr/local/etc/mecabrc /usr/local/etc/mecabrc.back
$ sudo vi /usr/local/etc/mecabrc
; dicdir = /usr/local/lib/mecab/dic/ipadic <-- comment out
dicdir = /usr/local/lib/mecab/dic/mecab-ipadic-neologd
$ echo "8月3日に放送された「中居正広の金曜日のスマイルたちへ」" | mecab
8月3日 名詞,固有名詞,一般,*,*,*,8月3日,ハチガツミッカ,ハチガツミッカ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
放送 名詞,サ変接続,*,*,*,*,放送,ホウソウ,ホーソー
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
「 記号,括弧開,*,*,*,*,「,「,「
中居正広の金曜日のスマイルたちへ 名詞,固有名詞,一般,*,*,*,中居正広の金曜日のスマイルたちへ,ナカイマサヒロノキンヨウビノスマイルタチヘ,ナカイマサヒロノキンヨービノスマイルタチヘ
」 記号,括弧閉,*,*,*,*,」,」,」
EOS