どん底から這い上がるまでの記録

どん底から這い上がりたいけど這い上がれない人がいろいろ書くブログ(主にプログラミング)

pythonでMeCabを使う(各OSでのインストール、NEologd、辞書のカスタマイズなど)

 

この記事ではMeCabのインストール方法、使い方、NEologd、辞書のカスタマイズなどについてまとめている記事になります。

 

各OSでのインストール

環境によってインストール方法は違ってくるので、注意してください。

Ubuntu

sudo apt install aptitude
sudo aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils swig file
pip install mecab-python3

Google Colaboratory

!apt-get -q -y install sudo file mecab libmecab-dev mecab-ipadic-utf8 git curl python-mecab swig > /dev/null
!pip install mecab-python3 > /dev/null

以前はこちらのやり方でインストールできたのですが、今は上のやり方でインストールしないとインストールに失敗します。

Mac

Macでインストールしようとしたら下のようなエラーがでた。

  MeCab_wrap.cpp:3051:10: fatal error: 'stdexcept' file not found 
#include <stdexcept>
^~~~~~~~~~~
1 warning and 1 error generated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Failed building wheel for mecab-python

結局解決方法がわからないので、natto-pyを使うことにする。

pip install natto-py

以下のように使う。

from natto import MeCab
tagger = MeCab()
print(tagger.parse("今日は良い天気ですね"))
"""結果
今日	名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
良い	形容詞,自立,*,*,形容詞・アウオ段,基本形,良い,ヨイ,ヨイ
天気	名詞,一般,*,*,*,*,天気,テンキ,テンキ
です	助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
ね	助詞,終助詞,*,*,*,*,ね,ネ,ネ
EOS
"""

Windows

ここで紹介しているやり方は python3.6+ を使っている方を対象としています。

以下の環境で動作確認済みです。

  • Windows10 64bit
  • python 3.6
  • Anaconda

1 - MeCabインストーラをダウンロードする。

 1-1 https://github.com/ikegami-yukino/mecab/releases/tag/v0.996に行く。

 1-2 mecab-0.996-64.exeをダウンロード。

 1-3 インストーラを起動して任意の場所にインストールする。

2 - libmecab.libをコピペする。

libmecab.libは C:\任意の場所\MeCab\bin\ にあります。なので、MeCabをProgram Filesにインストールした場合、C:\Program Files\MeCab\bin\ にlibmecab.libがあるはずです。

これを、site-packages にコピペします。

私はAnacondaを使っているので、C:\Users\username\Anaconda3\Lib\site-packages\

私の場合はここにコピペしました。

※site-packagesがどこにあるかわからないときは以下のコードを対話型シェルにて実行してみてください。

>python
>>> import site
>>> site.getsitepackages()

3 - パッケージのインストール。

以下のサイトからパッケージをダウンロードします。

https://pypi.org/project/mecab-python-windows/#files

私の環境はpython3.6なので、 mecab_python_windows-0.996.0-cp36-cp36m-win_amd64.whl をダウンロードしました。

次にコマンドプロンプトを開いて、ホームディレクトリから Downloads に行き、MeCabのインストールをします。

> cd Downloads
> pip install "mecab_python_windows-0.996.0-cp36-cp36m-win_amd64.whl"

これでMeCabのインストールは完了です。

NEologdのインストール

mecab-ipadic-NEologdをWindowsにインストールするには

www.pytry3g.com

分かち書き

MeCabを使った分かち書きの例。

まずはインポート

import MeCab

 

今日はいい天気ですね。分かち書きしてみる。

sample = "今日はいい天気ですね。"
tagger = MeCab.Tagger("-Owakati")
result = tagger.parse(sample).strip()
print(result)

分かち書きの結果

今日 は いい 天気 です ね 。

名詞のみを取り出す

tagger = MeCab.Tagger("-Ochasen")
def tokenizer(sentence):
    tag = tagger.parseToNode(sentence)
    morphemes = []
    while tag:
        features = tag.feature.split(",")
        pos = features[0]
        if pos == "名詞":
            morphemes.append(tag.surface)
        tag = tag.next
    return morphemes

result = tokenizer(sample)
print(result)

結果

['今日', '天気']

辞書のカスタマイズ

ipadicとNEologdの併用

www.pytry3g.com

自分でカスタマイズした辞書(ユーザー辞書)を追加する。

ユーザ辞書を追加してみました。

www.pytry3g.com