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

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

MeCab

 

この記事ではMeCabについていろいろ書いていきます。

 

インストール

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

Ubuntu

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

Google Colaboratory

> !apt install aptitude
> !apt install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y
> !pip install mecab-python3

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

私は 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)

結果

['今日', '天気']

自分でカスタマイズした辞書を追加する。

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

www.pytry3g.com