Help us understand the problem. What is going on with this article?

MacにMeCabを利用できる環境を整える

More than 1 year has passed since last update.

はじめに

何番煎じかわかりませんが、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
paulxll
データ分析周りのなんでも屋。 だいたい日々の技術メモ。
folio-sec
誰もがかんたんに資産運用することができるサービス「フォリオ」を作っているFinTech系スタートアップ
https://corp.folio-sec.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした