Top / 自然言語処理 / 形態素解析エンジンMecab / Pythonから呼び出す

自然言語処理/形態素解析エンジンMecab にて、形態素解析エンジンであるMecabのセットアップを行いましたが、そのエンジンをこんどはPythonから呼び出してみます。

一式をGithubにアップしました。Vagrantを使って一通りの環境を構築します。自分でLinuxを用意した場合は適宜、Python環境をセットアップしてください。

やってみる

Vagrantで環境構築をつくる

$ git clone https://github.com/masatomix/mecab-python-samples.git
$ cd mecab-python-samples
$ vagrant up

ちなみにVagrantのprovision機能で、初回 up 時にpython3/pip3/mecabなどを自動的にセットアップするようにしてあるので、それなりに時間がかかります。

具体的には以下の通りです。

$ cat ./script/provision.sh
#!/bin/bash

sudo apt-get update
sudo apt install -y build-essential

# https://pip.pypa.io/en/latest/installing/
curl https://bootstrap.pypa.io/get-pip.py -O
sudo python get-pip.py
sudo apt install -y python-pip
sudo apt install -y python3-pip

# install mecab
sudo apt install -y mecab libmecab-dev mecab-ipadic-utf8

# install mecab-ipadic-neologd  -n(更新する) -y(聞かない)
git clone https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd/
sudo ./bin/install-mecab-ipadic-neologd -n -y

とにかく

$ vagrant ssh
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-130-generic x86_64)

Last login: Thu Jul 19 06:42:09 2018 from 10.0.2.2
vagrant@ubuntu-xenial:~$

となればOK。 自然言語処理/形態素解析エンジンMecab でやったコマンドは一通り動くと思います。

Pythonから呼び出し

さて、Pythonから呼び出します。そのまえにpip3を使って、MecabのPythonライブラリをセットアップします。

vagrant@ubuntu-xenial:~$ cd /vagrant/samples/
vagrant@ubuntu-xenial:/vagrant/samples$ sudo pip3 install -r requirement.txt -t ./

ここもそれなりに時間がかかります。気長に待ちましょう。

呼び出してみます。ソースはこんな感じ。

vagrant@ubuntu-xenial:/vagrant/samples$ cat mecab_sample.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import MeCab
import sys


# Mecabを用いて、形態素解析した結果を出力する
def main(args):
    m = MeCab.Tagger("-Ochasen -d /usr/lib/mecab/dic/mecab-ipadic-neologd")
    # m = MeCab.Tagger('-Ochasen')

    text = "Pythonから形態素解析エンジンMecabを呼び出してみました。"

    print(m.parse(text))


if __name__ == "__main__":
    main(sys.argv)
vagrant@ubuntu-xenial:/vagrant/samples$ sudo python3 mecab_sample.py
Python	パイソン	Python	名詞-固有名詞-一般
から	カラ	から	助詞-格助詞-一般
形態素解析	ケイタイソカイセキ	形態素解析	名詞-固有名詞-一般
エンジン	エンジン	エンジン	名詞-一般
Mecab	Mecab	Mecab	名詞-一般
を	ヲ	を	助詞-格助詞-一般
呼び出し	ヨビダシ	呼び出す	動詞-自立	五段・サ行	連用形
て	テ	て	助詞-接続助詞
み	ミ	みる	動詞-非自立	一段	連用形
まし	マシ	ます	助動詞	特殊・マス	連用形
た	タ	た	助動詞	特殊・タ	基本形
。	。	。	記号-句点
EOS

呼び出すことができましたー。


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / 自然言語処理 / 形態素解析エンジンMecab / Pythonから呼び出す

現在のアクセス:1480


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS