23
- 2月
2017
No Comments
CentOS7上でmecabを使い、日本語の品詞分解する
Advertisements
mecabを使いたい
やっぱりtwitterを分析対象として扱っているからには、ゆくゆくは日本語を対象に分析したい。
で、日本語を分析するなら、品詞分解が必要となりますね。
英語とかと違い、日本語はどこで単語が切れるのか、わからないですから。
まずはpythonの複数version環境を同居させる
大前提
まず大前提ですが、pythonを主な分析基盤とすることにします。
なので、大まかな作業の流れとして、
- CentOS7のpython環境整備
- CentOS7のpythonライブラリを準備
- MeCabをインストール
- MeCab用の追加辞書を導入
こんな流れになります。
CentOS7のpython環境整備
早速導入していきます。
まずは、pythonの複数バージョンを同居させることができるpyenvを導入します。
$ cd /hoge/fuga/pyenv
git clone https://github.com/yyuu/pyenv.git ./pyenv
それでは、環境変数を設定して、pyenvを使えるようにしましょう。
$ export PYENV_ROOT="/hoge/fuga/pyenv"
$ export PATH="$PYENV_ROOT/bin:$PATH"
$ eval "$(pyenv init -)"
pyenvが使えるようになったら、pythonを導入します。
CentOS7のデフォルトのpythonは2.x系なのですが、新しいものを使いたいので3.6.0をインストール。
(2017年2月10日現在)
$ eval "$(pyenv init -)"
$ pyenv install --list
2.1.3
2.2.3
2.3.7
2.4
・・・
3.5.3
3.6.0
・・・
$ pyenv install 3.6.0
$ python -V
Python 3.6.0
$ pyenv global 3.6.0
$ pyenv rehash
$ python -V
Python 3.6.0
ついでに、どうせ機械学習させるためなので、anacondaも入れちゃいます。
$ pyenv install anaconda3-4.3.0
mecabインストール
いよいよ、mecabをインストールしましょう。
まずはリポジトリの登録からです。
$ rpm -ivh http://packages.groonga.org/centos/groonga-release-1.2.0-1.noarch.rpm
$ yum makecache
$ yum install mecab mecab-devel mecab-ipadic mecab-jumandic.x86_64 -y
yumで入れられるので、簡単ですね。
これでもう、使えるようになっています。
早速、使って見ましょう。
$ mecab --version
mecab of 0.996
$ mecab
すもももももももものうち
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS
おお、すごいすごい。できてますね。
ipadic辞書登録
忘れないでやっておきたいことは、辞書の登録です。
デフォルトのままだと、微妙に違和感のある区切りかたをしたりするので、
より賢い辞書を使いましょう。
といっても、まずは何も考えずにipdicを使いましょう。
先ほどのyumでもう入っているはずなので、mecabの辞書として定義しましょう。
$ vi /etc/mecabrc
dirdic = /usr/lib64/mecab/dic/ipadic
pythonのライブラリを準備
それでは、最後にpythonから使うためにいろいろとライブラリを入れておきましょう。
$ pip install gensim
$ pip install argparse
$ pip install prettyprint
$ pip install print
$ pip install pp
$ pip install nltk
$ pip install tweepy
$ pip install scipy
$ pip install cython
$ pip install word2vec
$ pip install mecab-python3
実際にpythonからどう使うかは、今度にしましょう。
Advertisements