Python入門トップページ


目次

  1. 準備
  2. MeCab の第一歩
  3. 簡単な形態素解析
  4. TF-IDF を計算してみよう
  5. ワードクラウドを作成してみよう

Python で自然言語処理をしてみよう - MeCab 編

準備

ここでは,Windows や Mac に MeCab をインストールする方法を説明します.なお,学内の情報処理実習室でとりあえず形態素解析を行ってみたい場合は Janome の利用を検討してください.Janome の方がイントールは簡単です.一方で,MeCab は Janome と比較して圧倒的に処理速度が高速であるので,大量の文章を形態素解析する際には有利になります.また,MeCab で特に高機能な mecab-ipadic-NEologd 辞書が利用できればよりよい解析結果を得ることができるでしょう.

目次に戻る

Windows での準備

日本語の自然言語処理を行うために,まず形態素解析ツールのひとつである MeCab をインストールするしよう.MeCab はオリジナルサイト からダウンロードし,インストールする.ただし,Python で利用する場合は,以下に示すインストールの途中の画面で文字コードを UTF-8 に設定しておくこと.なお,UTF-8 に設定した場合は,コマンドプロンプトの文字コードが Shift-JIS (CP932) であるため,コマンドプロンプトで MeCab を実行すると文字化けしてしまいます.

mecab-install

目次に戻る

Windows では MeCab をインストールした後,Anaconda Prompt で pip を使って mecab-python3 をインストールする.これによって,Python から MeCab を利用することができるようになる(以前は pip でインストールできなかったので大変でしたが,2021年時点ではインストール可能になっています).なお,Jupyter Notebook のシェルコマンドを利用しても構いません.

(base) C:\Users\lecture>pip install mecab-python3 ⏎
Collecting mecab-python3
  Downloading mecab_python3-1.0.4-cp37-cp37m-win_amd64.whl (510 kB)
     |████████████████████████████████| 510 kB 2.2 MB/s
Installing collected packages: mecab-python3
Successfully installed mecab-python3-1.0.4

(base) C:\Users\lecture>

目次に戻る

Mac での準備 (1-1) ソースからコンパイル

Mac ではMeCab オリジナルサイトから (1) MeCab 本体,(2) IPA 辞書,の順にダウンロードしてインストールしたあと,mecab-ipadic-NEologd をオリジナルサイト に示された手順でインストールします.なお,Homebrew を使った方法がより簡単かもしれません.

MeCab 本体のインストール

まず,MeCab オリジナルサイトから MeCab 本体 (mecab-0.996.tar.gz) をダウンロードして,適当な作業フォルダに保存します.このとき,ルートフォルダから作業フォルダまでのフルパス名に空白が含まれないようにしてください.途中に空白があると作業に失敗します.ターミナルで作業フォルダに移動したあと,次のようなコマンドで MeCab 本体をインストールします.インストール時に文字コードを utf-8 に設定しておきます.

% tar -xvzf mecab-0.996.tar.gz ⏎
% cd mecab-0.996 ⏎
% ./configure --with-charset=utf8 ⏎
% make ⏎
% make check ⏎
% sudo make install ⏎

IPA 辞書のインストール

次に標準となる IPA 辞書をインストールします.MeCab オリジナルサイトから IPA 辞書 (mecab-ipadic-2.7.0-20070801.tar.gz) をダウンロードして,適当な作業フォルダに保存します.このとき,ルートフォルダから作業フォルダまでのフルパス名に空白が含まれないようにしてください.途中に空白があると作業に失敗します.ターミナルで作業フォルダに移動したあと,次のようなコマンドで IPA 辞書をインストールします.やはりここでもインストール時に文字コードを utf-8 に設定しておきます.

% tar -xvzf mecab-ipadic-2.7.0-20070801.tar.gz ⏎
% cd mecab-ipadic-2.7.0-20070801 ⏎
% ./configure --with-charset=utf8 ⏎
% make ⏎
% sudo make install ⏎

インストールができれば次の項目をスキップして,IPA 辞書を使った動作確認に進みます.

目次に戻る

Mac での準備 (1-2) Homebrew を使って

Mac ではパッケージ管理ツールの Homebrew を使うと様々なアプリケーションのインストールや更新が簡単にできるようになります.MeCab も Homebrew を使ってイントールすることが可能です.

目次に戻る

Homebrewのインストール

Homebrew のインストールがまだの場合は,まず Homebrew のオリジナルサイトを参考にインストールします.

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ⏎

MeCab のインストールをする前に curl と xz をインストールします.ここをスキップすると MeCab インストール時に「Error: No formulae or casks found for "unxz".」などのエラーが発生します.他のエラーが出てしまう場合は,同じような方法で適切なパッケージをインストールしてください.

% brew search curl⏎
==> Formulae
awscurl      curl         curlftpfs    curlie       curlpp       flickcurl    grpcurl
% brew search xz ⏎
==> Formulae
pixz                                     xz
% brew install curl xz ⏎

目次に戻る

MeCab のインストール

Homebrew を使うと,次のコマンドで MeCab と 標準の IPA 辞書をインストールできます.

% brew install mecab mecab-ipadic ⏎

目次に戻る

Mac での準備 (2) IPA 辞書を使った動作確認

ソースからのコンパイルHomebrew の利用に関わらず,MeCabのインストールが終わった時点で MeCab がとりあえず使えるようになっています.ターミナルで「mecab」と入力したあと,形態素解析したい文章を入力して return を押すと結果が得られます.終了するには ctrl + C を押します.このとき,標準の IPA 辞書では「メロンパン」が認識されず,「メロン」と「パン」に分割されてしまいます.

% mecab ⏎
今日はメロンパンを食べました. ⏎
今日	名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
メロン	名詞,一般,*,*,*,*,メロン,メロン,メロン
パン	名詞,一般,*,*,*,*,パン,パン,パン
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ	動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし	助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
.	記号,句点,*,*,*,*,.,.,.
EOS
^C    # 終了するには ctrl + C を押す
%

目次に戻る

Mac での準備 (3) mecab-ipadic-NEologd 辞書のインストールと動作確認

さらに mecab-ipadic-NEologd という高性能な辞書をインストールします.オリジナルサイトに示された手順どおりにインストールを進めていきます.まず,GitHub にあるソースコードをクローンします.

% git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git ⏎

上の作業で必要なソースコードがダウンロードされたので,ダウンロードされたフォルダに移動します.

% cd mecab-ipadic-neologd ⏎

移動したフォルダ内で次のコマンドを入力して辞書をインストールします.次のコマンドは標準インストールで 512MB 程度のメモリ空き容量が必要ですが,一部の辞書はインストールされません.全部入りの辞書を構築するには -a オプションを付与して,./bin/install-mecab-ipadic-neologd -n -a を実行します.このときには最低 2GB 程度のメモリが必要になります.インストール途中で「yes」を入力する必要があります.また,管理者権限で辞書をコピーするためにユーザのパスワードを入力する必要もあります.

% ./bin/install-mecab-ipadic-neologd -n ⏎
  ...(中略)...
[install-mecab-ipadic-NEologd] : Do you want to install mecab-ipadic-NEologd? Type yes or no.
yes ⏎
[install-mecab-ipadic-NEologd] : Sudo make install to /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd
Password: ここでパスワードを入力する ⏎

[install-mecab-ipadic-NEologd] : Install completed.
[install-mecab-ipadic-NEologd] : When you use MeCab, you can set '/opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd' as a value of '-d' option of MeCab.
[install-mecab-ipadic-NEologd] : Usage of mecab-ipadic-NEologd is here.
Usage:
    $ mecab -d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd ...

[install-mecab-ipadic-NEologd] : Finish..
[install-mecab-ipadic-NEologd] : Finish..
%

辞書のインストールが完了したときに使い方 (Usage) が表示されていることに注意してください.つまり,mecab を実行するときに「-d 辞書のパス」でオプションを指定することで今インストールした mecab-ipadic-NEologd が利用できるということです.実際に上と同じ文章を解析してみましょう.高性能な mecab-ipadic-NEologd 辞書を利用すると「メロンパン」が一つの単語として認識できています.

% mecab -d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd ⏎
今日はメロンパンを食べました ⏎
今日	名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン	名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ	動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし	助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS
^C
^C    # 終了するには ctrl + C を押す
%

毎回辞書を指定することが面倒であれば,標準辞書を mecab-ipadic-NEologd に変更することもできます.MeCab の設定は /usr/local/etc/mecabrc に次の通り記述されています.

/opt/homebrew/etc/mecabrc (標準設定)
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /opt/homebrew/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

このファイルを次のように管理者権限で修正し,標準の辞書を変更します.

% sudo vi /opt/homebrew/etc/mecabrc ⏎
/usr/local/etc/mecabrc (辞書を変更する)
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd

; 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 ⏎
今日はメロンパンを食べました ⏎
今日	名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
メロンパン	名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ	動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
まし	助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS
^C
^C    # 終了するには ctrl + C を押す
%

目次に戻る

Mac での準備 (4) mecab-python3 のインストール

Mac の場合も MeCab をインストール後,ターミナルから pip を使って mecab-python3 をインストールします.Jupyter Notebook のシェルコマンドを利用しても構いません.これによって,Python から MeCab を利用することができるようになります.

$ pip install mecab-python3 ⏎
Collecting mecab-python3
  Downloading mecab_python3-1.0.4-cp38-cp38-macosx_10_14_x86_64.whl (281 kB)
     |████████████████████████████████| 281 kB 2.7 MB/s
Installing collected packages: mecab-python3
Successfully installed mecab-python3-1.0.4
$

目次に戻る