undulation

主にイベントで感じたうねりをログに残す場所

MeCabをPythonで使うメモ

形態素解析ライブラリのMeCabを試してみる。
まずは簡単なことだけやってみる。

環境

  • Windows10(64bit)
  • Python3.7.0

環境は以下の手順で構築したものを使う。
Python開発環境構築メモ [Windows] - undulation

MeCabインストール

以下のページからダウンロードする。
MeCab: Yet Another Part-of-Speech and Morphological Analyzer

ダウンロードした「mecab-0.996.exe」を実行する。
文字コードUTF-8を選択した。
Windows 版には コンパイル済みの IPA 辞書が含まれてるらしい。

パスを通す

環境変数>Pathを編集
インストールしたmecab.exeが置いてあるパスを新規追加する。

動作確認

テキストファイルの文章を読み込ませて解析結果を出力してみる。

test.txt

あなたを犯人です。
コマンド

>mecab test.txt -o analyze.txt
実行結果

あなた   名詞,代名詞,一般,*,*,*,あなた,アナタ,アナタ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
犯人  名詞,一般,*,*,*,*,犯人,ハンニン,ハンニン
です  助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。 記号,句点,*,*,*,*,。,。,。
EOS

解析対象の日本語は怪しいが解析はうまくいっている。
次はPythonで使えるようにしてみよう。

Pythonで使えるようにする

Windowsでは普通に入れようとすると詰まるらしいので、色々と参考にして以下のコマンドを実行。

>cd C:\dev\python\venv1\Scripts
>activate

(venv1)>pip install mecab-python-windows

自分の環境では一発で成功したが、参考元にも記載されていた様に
Visual Studio 2015 の Visual C++ 再頒布可能パッケージが必要になるかもしれない。

動作確認

適当にプロジェクトを作成して実行してみる。

TestMeCab.py

import MeCab

if __name__ == '__main__':
    mecab = MeCab.Tagger ("-Ochasen")
    print(mecab.parse("あなたを犯人です。"))
実行結果

あなた   アナタ   あなた   名詞-代名詞-一般     
を ヲ を 助詞-格助詞-一般     
犯人  ハンニン    犯人  名詞-一般       
です  デス  です  助動詞   特殊・デス 基本形
。 。 。 記号-句点       
EOS

とりあえずシンプルなExampleだが無事に実行できた。
次回は辞書追加を試してみる。

参考

Python3で形態素解析エンジンMeCabを使ってみた | Developers.IO

Windows で pip で mecab-python をいれる

RとPythonでMeCabを使う環境構築(Windows, Mac) - ★データ解析備忘録★

GitHub - SamuraiT/mecab-python3: mecab-python. you can find original version here //taku910.github.io/mecab/

MeCab: Yet Another Part-of-Speech and Morphological Analyzer