はじめに
何番煎じかわかりませんが、MacにおけるMecabの環境構築方法についてまとめておきます。
OSのバージョンはOS X High Sierraです。
Mecabについて
MeCabはオープンソースの日本語の形態素解析器です。
形態素解析の分析において必須のソフトウェアとなっています。
なお、形態素解析の精度を大きく左右するものに、日本語の辞書があります。
利用する辞書によって形態素解析の結果が大きく変わります。
特に、Twitterのツイート本文や検索ワードなど新語が多く登場することが想定される文章ではその性能差が顕著に出ます。
この記事では、MeCabで用いられる代表的な辞書であるIPA辞書とIPA辞書を拡張して開発されたneologd辞書をインストールして利用できるようにするところまでを解説します。
MeCabのインストール
MeCabはHomebrewからインストールできます。
一緒にMeCabで利用する中で最もメジャーな辞書の一つ、IPA辞書をインストールしましょう。
予めHomeBrewをインストールした上で、下記のコマンドを実行しましょう
$ brew install mecab
$ brew install mecab-ipadic
MeCabをPythonから利用する
続いて、下記のコードをターミナル上で実行して、PythonからMeCabを呼び出せるようにしましょう。
$ pip install mecab-python3
インストールが完了した後コマンドラインで下記を実行し、エラーが出なければpythonからMecabを呼び出す準備ができています。
$ python -c "import MeCab"
neologdのインストール
ここまで完了したら、MeCabの性能を実用レベルまで引き上げるために、neologd辞書をインストールしましょう。
インストールの前には、下記が利用できることを確認しましょう。
- MeCab
- IPA辞書
- git
- curl
- xz
ただし、標準的なMacの環境であればgitとcurlはすでに利用できるはずですし、MeCabとIPA辞書のインストールはこの記事ですでに解説済みなので、問題になるのはxzくらいかと思います。
これらは全てHomeBrewからインストールできますので、足りないものがあればインストールしてください。
$ brew install mecab mecab-ipadic git curl xz # 必要なもののみインストールする
さて、neologdをインストールしていきましょう。
neologdのGitHubリポジトリからcloneし、MeCabコマンドから呼び出せるところに辞書を配置するところまで実行します。
git clone --depth 1 git@github.com:neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
./bin/install-mecab-ipadic-neologd -n
形態素解析の結果にneologdを利用する場合には下記のようにMeCabに-d /usr/local/mecab/lib/mecab/dic/mecab-ipadic-neologd
というオプションをつけて実行する必要があります。
念のため、neologdの性能の違いを確かめてみましょう。
これだけでもneologdを利用することで、新語や固有名詞を的確に抜き出すことができるのが理解できるかと思います。
# 通常の実行結果
$ echo "インスタ映え" | mecab
インスタ 名詞,一般,*,*,*,*,*
映え 名詞,一般,*,*,*,*,映え,ハエ,ハエ
EOS
# neologdによる実行結果
$ echo "インスタ映え" | mecab -d /usr/local/mecab/lib/mecab/dic/mecab-ipadic-neologd
インスタ映え 名詞,固有名詞,一般,*,*,*,インスタ映え,インスタハエ,インスタハエ
EOS
おまけ:標準で利用する辞書をneologdに変更する
最後に、標準で利用する辞書をneologdに置き換える方法を説明します。
設定には/usr/local/mecab/etc/mecabrc
(※)というファイルを編集します。
※ここに同名のファイルがない場合、mecabをインストールしたディレクトリを探してください。(mecabをインストールしたディレクトリ)/etc/
以下に存在するはずです。
最初に開いた際は、以下のようになっているはずです。
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir = /usr/local/mecab/lib/mecab/dic/ipadic
; userdic = /home/foo/bar/user.dic
; output-format-type = wakati
; input-buffer-size = 8192
; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n
これの6行目を以下のように書き換えましょう。
dicdir = /usr/local/mecab/lib/mecab/dic/mecab-ipadic-neologd
これで、先ほどのように形態素解析を実施し、新語が正しく抽出でできていれば設定が正常に完了しています。
$ echo "インスタ映え" | mecab
インスタ映え 名詞,固有名詞,一般,*,*,*,インスタ映え,インスタハエ,インスタハエ
EOS