Python

Mac OS X(Mojave)にMecab+mecab-ipadic-NEologdをインストールする方法(+Python)

こんにちは,しまさん(@nitkcdadon)です.

今回はMecabとMecab-ipadic,mecab-ipadic-NEologdをMacにインストールしていきます.

そしてPythonでMecabを扱えるまでを書いていきたいと思います.

最後にcronを使って辞書の自動更新をするまでを解説します.

環境

macOS Mojave(10.14)

pyenv Python 3.6

推奨空容量

標準インストール時(オプション未指定の場合)

必須: 空き 1.5GB

推奨: 空き 5GB

mecab,mecab-ipadicのインストール(Mac)

mecab,mecab-ipadicはHomebrewを使えば簡単にインストールできます.

brew install mecab
brew install mecab-ipadic

エラーが出た方はこれでインストールをしてください.

brew install mecab mecab-ipadic git curl xz

mecab-ipadic-NEologdのインストール(Mac)

愚直にGithub上のREADME通りにやりましょう.

想像の三倍は時間かかります.

git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
./bin/install-mecab-ipadic-neologd -n -a

インストール先の確認は以下のコマンドで行えます.

echo `mecab-config --dicdir`"/mecab-ipadic-neologd"

Terminalでの使い方(Mecab)

先程のmecab-ipadic-NEologdを使ってTerminal上でMecabを使うなら以下のコマンドを実行してください.

mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd

あとは文章を適当に入力すれば解析してくれます.

デフォルトの辞書を変更したい場合は以下のファイルをいじります.

vim /usr/local/etc/mecabrc
- dicdir = /usr/local/lib/mecab/dic/ipadic
+ dicdir = /usr/local/lib/mecab/dic/mecab-ipadic-neologd

自分で作成した辞書を有効にするのもこのファイルなので覚えていて損はありません.

デフォルトのファイルは以下.

; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir = /usr/local/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

変更するとmecabだけでmecab-ipadic-neologdを使ってくれます.

PythonでMecabを使うぞ!!

まずはpipでインストールしてきましょう.

pip install mecab-python3

サンプルコードを載せておきます.

import sys
import MeCab

m = MeCab.Tagger("-Ochasen")
print(m.parse("Youtuberの瀬戸弘司の動画を見るとApple製品欲しくなるんです."))

おぉ〜Python上でMeCab触れた〜〜〜〜!!!!

辞書の自動アップデートをする(cron)

mecab-ipadic-NEologdは週二回アップデートをしているようなので,そのアップデートを反映したいなと思いました.

Macでcron使えないかなぁって思ったら使えるんですね.

ならcronで自動アップデートするしかないです笑.

私は週一でいいので以下のように書きました.

export EDITOR=vim
mkdir ~/mecab_log
crontab -e

00 03 * * 2 /Users/あなたの名前/mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n -y -u -p /usr/local/lib/mecab/dic/mecab-ipadic-neologd > /Users/あなたの名前/mecab_log/m_change_log

そうしたらOperation not permittedっていわれました…

crontab: installing new crontab
crontab: tmp/tmp.49610: Operation not permitted
crontab: edits left in /tmp/crontab.W0hxIUxgtx

Mojave〜〜〜!!!って思ったのですが設定でなんとかなりそう.

システム環境設定から「セキュリティとプライバシー」を選択します.

「フルディスクアクセス」を選んで「+」を押し,iTerm.appを追加しましょう.

iTermを再起動して先程のcronをもう一度保存したら…

いけました!!!!!!!!!

さいごに

今回はMecabとMecab-ipadic,mecab-ipadic-NEologdをMacにインストールしました.

それにPythonでMecabを扱えるようになりました.

私の作りたいプログラムのために頑張ってほしいですね笑.

p.s.

というか辞書凄いですよね.瀬戸弘司とか認識してるんですから.

[入門]Python初心者が圧倒的成長するために使うサービス,本Python初心者向けの本,Webサービスについて網羅的に紹介をしています.Pythonの勉強で私が実際に使用した本です.入門書をさらに細分化し,学ぶならどのレベルがいいのかわかりやすくしています....
ABOUT ME
しまさん
てくてくぷれいす運営者のしまさんです. 高専→大学編入してから行動的な学生ブロガー? / 自身の変化を求めてブログを6月から開始 / グレープフルーツと本が好き / Distributed SNSやSecurity,プログラミングやVR等のIT系や自身の編入体験談や高専のこと,大学生活を書いてます(たまに小ネタ) / Progateで勉強中