LoginSignup
3
0

More than 1 year has passed since last update.

Amazon Linux2に形態素解析エンジンをインストール(mecab, mecab-ipadic-NEologd)

Last updated at Posted at 2021-10-05

自然言語処理のため形態素解析エンジンのmecabを導入したため、選定理由とインストール手順を記載します。

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

以上。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0